錢亞冠 何念念 郭艷凱 王 濱 李 暉 顧釗銓 張旭鴻 吳春明
1(浙江科技學院大數據學院 杭州 310023) 2(海康威視&浙江科技學院邊緣智能安全聯合實驗室 杭州 310023) 3(西安電子科技大學網絡與信息安全學院 西安 710071) 4(廣州大學網絡空間先進技術研究院 廣州 510006) 5(浙江大學控制科學與工程學院 杭州 310058) 6(浙江大學計算機科學與技術學院 杭州 310058)
深度神經網絡(deep neural network, DNN)目前已被成功地應用于圖像分類[1]、語音識別[2-3]、自然語言處理[4-5]等領域.由于訓練深度神經網絡需要大量的計算資源,很多使用者沒有條件訓練自己的模型.在這種情況下,攻擊者開發出模型竊取技術,非法獲取已訓練好的目標模型的相關信息[6].例如,攻擊者通過向目標模型發起大量樣本的迭代查詢,利用目標模型反饋的預測結果來推斷模型參數[6]、超參數[7-8]、架構[7]、訓練數據[9]、決策邊界等[10],最后仿制出替代模型[11-12].攻擊者把仿制出的替代模型部署為自己的云服務或者客戶端軟件,讓客戶付費使用預測應用程序接口(application programming interface, API),獲得不當收益.
目前針對模型知識產權的保護主要有水印和模型指紋這2種策略.水印技術[13]是在訓練或微調目標模型的過程中,將水印嵌入到目標模型的參數或訓練樣本的標簽中,但這類方法會影響模型的預測準確率.最近提出的指紋比對方法[13-14],利用目標模型決策邊界附近的指紋樣本及其指紋(標簽),對模型竊取攻擊得到的替代模型進行比對.該方法的優點是不會影響目標模型的預測準確率.
本文針對模型指紋的保護策略,提出了一種基于生成對抗網絡(generative adversarial network, GAN)[15]的逃避算法.該算法的基本思路是設計一種可以檢測指紋樣本的網絡,本文將其命名為Fingerprint-GAN,利用生成對抗網絡學習正常樣本在隱空間的特征表示及其分布,依據隱空間特征表示的差異性來檢測指紋樣本.當目標模型所有者向替代模型發送指紋樣本,用以查驗模型是否被竊取,替代模型為了不被發現,故意返回與預測結果不一致的標簽,混淆目標模型的比對算法.

本文的實驗結果表明:目前保護DNN知識產權的模型指紋比對方法是不可靠的,仍然可以被模型竊取者所逃避;在CIFAR-10,CIFAR-100數據集上,逃避算法對指紋樣本的檢測率分別可達95%和94%,而模型所有者的指紋比對成功率最高僅為19%,證明了本文提出的逃避算法的有效性.

Fig. 1 Attacker and defender interact scenarios圖1 攻擊者和防御者交互場景
模型竊取[6,10-11,16-18],也稱為模型提取或者逆向工程.在黑箱環境下,攻擊者首先通過API不斷查詢目標模型,得到一系列的預測輸出,利用獲得的輸入-輸出對來訓練重構本地模型,稱之為替代模型.攻擊者的目的主要包括推斷超參數[7-8]、恢復精確參數[6,19-20]、竊取黑盒模型的功能[11-12].文獻[19]通過竊取簡單線性模型,用于過濾垃圾郵件.文獻[6]是竊取復雜深度神經網絡模型,特別是基于卷積神經網絡(convolutional neural network, CNN)的圖像分類器.文獻[11-12]通過提取黑盒模型信息構建訓練集,訓練替代模型來模仿目標黑盒模型的功能.
水印技術被廣泛應用于保護DNN模型的知識產權[21-27],包括基于參數的水印和基于標簽的水印.基于參數的水印[22,26],是在目標模型訓練時向損失函數添加正則化項,將水印嵌入到模型的參數中,要求模型所有者能夠訪問其他模型的模型參數,才能驗證水印.基于標簽的水印[21,23-25,27],是將水印嵌入到某些數據樣本的預測標簽或神經元激活層中,帶有水印的樣本和其他樣本一同訓練,通過查詢替代模型進行水印驗證.
由于水印會帶來模型精度的損失,最近提出利用對抗樣本標識模型的唯一性[13,28].文獻[13]在目標模型的決策邊界附近尋找對抗樣本,利用這些對抗樣本的標簽對模型的唯一性,區分目標模型和盜版的替代模型.文獻[28]通過構造目標性的對抗樣本,并利用對抗樣本的可轉移性,生成可協商性對抗樣本,用其標簽來唯一標識目標模型,從而區分目標模型和替代模型.
雖然水印技術一定程度上保護了模型的知識產權,但仍存在缺陷[29-32].文獻[29]表明基于參數的水印技術改變了模型的統計分布,攻擊者可以導出嵌入的水印長度并去除水印.文獻[31]通過構建一個檢測器判斷查詢樣本是否帶有水印.當判定為帶有水印時,替代模型返回隨機標簽,從而避免模型所有者的驗證.文獻[32]利用正則化和微調技術去除水印,從而逃避驗證.與這些針對水印保護的逃避算法不同,本文主要逃避利用對抗樣本進行比對的保護技術,在算法中我們采用GAN檢測模型指紋.

定義1.目標模型(target model).目標模型是指部署在現實應用中的商業DNN,需要大量的時間、金錢和人工來開發,是攻擊者竊取的對象,記為MT.
定義2.替代模型(substitute model).替代模型是攻擊者通過API查詢目標模型,利用獲得的信息在本地構建與目標模型相似功能的DNN,記為MS.
攻擊者把替代模型部署為自己的云服務或者客戶端軟件,讓客戶付費使用預測API,剝奪了目標模型所有者的商業優勢.替代模型后續可以進一步使用查詢來改進模型;也可以構建可轉移的對抗樣本[33]來欺騙目標模型,使其做出錯誤的預測.

受生物指紋唯一性的啟發,模型所有者可以通過某種算法提取模型的指紋,從而判斷一個模型是否為目標模型或盜版的替代模型.本文借鑒文獻[13,28]的方法,采用指紋樣本對應的預測標簽來表示目標模型的指紋.此處指紋樣本是指模型決策邊界附近一些樣本,可利用對抗樣本來實現[13].
定義3.對抗樣本[33].對于每一個x,存在一個小的擾動η,使得第i個輸出Fi(x)滿足:
arg maxFi(x)=ytrue∧ arg maxFi(x+η)≠ytrue,
(1)
其中,ytrue表示輸入x的真實標簽,稱η為對抗擾動,x+η為對抗樣本.
若使模型產生特定的錯誤標簽,則稱其為目標性對抗樣本,即:
arg maxFi(x+η)=ytarget.
(2)
定義4.指紋樣本.指紋樣本是指目標模型決策邊界附近的一些樣本,由目標性對抗樣本構成.模型決策邊界的集合BM為

(3)



(4)
其中,i和j是隨機采樣的標簽,x′是被初始化預測標簽為i的指紋樣本,φ是調節指紋樣本對目標模型的唯一性以及對替代模型魯棒性的參數.
獲得目標模型的指紋樣本和指紋后,利用指紋樣本查詢替代模型,將替代模型返回的預測標簽和目標模型的指紋進行比對,從而確定替代模型是否竊取了目標模型.具體地,目標模型指紋比對過程通過提取函數和比對函數來實現:

定義7.比對函數.假設替代模型n個指紋樣本

(5)

針對第2節給出的基于模型指紋的保護策略,本文提出一種逃避算法,目的是使保護方的指紋匹配率盡可能低,從而實現竊取模型同時不被發現的目的.逃避算法對查詢替代模型的樣本(包含正常樣本和指紋樣本)先進行檢測,辨別該樣本是否為指紋樣本.如果判斷為指紋樣本,則意味著該樣本具有取證功能,因此逃避算法返回不同于替代模型預測的標簽,從而混淆保護方的指紋比對算法.
我們提出基于GAN的逃避算法,設計了稱為Fingerprint-GAN的指紋樣本檢測器,它利用GAN的策略來檢測指紋樣本.Fingerprint-GAN僅在正常樣本上訓練,重構正常樣本的分布特征,訓練階段的參數不適用于指紋樣本.正常樣本與其重構樣本在隱空間(latent space)中的特征表示不會相差很大,理想情況下是相同的;而當輸入的樣本是指紋樣本時,解碼器不能很好地在隱空間中對其重構,重構后的樣本丟失了特征信息,導致隱空間中的特征表示相差很大[35].因此Fingerprint-GAN依據隱空間中特征表示的差異來判斷當前查詢樣本是否為指紋樣本.
具體而言,當模型合法所有者利用指紋樣本查詢替代模型進行指紋比對時,指紋樣本首先經過替代模型的附加網絡Fingerprint-GAN,由Fingerprint-GAN檢測當前查詢樣本是否為指紋樣本.替代模型根據檢測結果故意返回不同于預測的標簽.模型所有者在比對替代模型返回的預測標簽和目標模型指紋后得到不匹配的結果,從而使模型指紋比對失敗.基于Fingerprint-GAN的逃避算法如圖2所示:

Fig. 2 Evasion algorithm flowchart based on Fingerprint-GAN圖2 基于Fingerprint-GAN的逃避算法流程圖

Fig. 3 GAN structure圖3 GAN結構圖
生成對抗網絡GAN是Goodfellow等人[15]提出的一種由生成器和判別器共同構成的動態博弈模型.如圖3所示,生成器G接收隨機噪聲t,生成樣本數據G(t),生成器的目的是盡可能使得生成的樣本和真實樣本一樣.判別器D的輸入是真實數據x和生成器生成的數據G(t),輸出真或假.
生成器和判別器可以看成是博弈中的2個對手.在模型訓練的過程中,生成器和判別器會各自更新自身的參數使得損失最小,通過不斷迭代優化,最終達到一個納什均衡狀態,此時模型達到最優.博弈過程可用優化問題描述:

(6)
受文獻[35-36]在異常檢測問題中應用GAN的啟發,本文提出的Fingerprint-GAN將指紋樣本看作異常樣本,其余樣本看作正常樣本.Fingerprint-GAN本質上是一個特征提取器或重構器,進行3次映射,將輸入樣本空間映射到隱空間;再映射到樣本空間,這個過程稱為重構;重構后的樣本空間再映射到隱空間.在訓練階段僅使用正常樣本,這樣能更好地提取正常樣本在隱空間中的特征,以此辨別指紋樣本,逃避目標模型指紋比對.
如圖4所示,Fingerprint-GAN結構由生成器G和判別器D組成.生成器G由2個結構相同的編碼器GE1,GE2和一個解碼器GD組成.編碼器和解碼器都有一個自動編碼器結構,用于學習訓練樣本的真實分布以及在隱空間中的分布.這樣的設置可以更好地重構訓練樣本并且控制隱空間.
編碼器GE1由卷積層、批歸一化層、Leaky-ReLU激活層構成.假設輸入樣本為x∈Rw×h×c,經編碼器GE1編碼后輸出t1,即:
t1=GE1(x),
(7)
其中,t1∈Rd,是GE1壓縮x后的低維向量,并具有x的最佳特征表示,也稱為瓶頸特征(bottleneck feature).


(8)


(9)
式(9)中的t2和式(7)中的t1維數相同.

為了使Fingerprint-GAN更好地學習樣本特征,我們定義生成器和判別器的損失函數,用于訓練Fingerprint-GAN.借鑒文獻[35],將欺詐損失、上下文損失和潛在損失加權求和定義為生成器的損失,利用文獻[37]的特征匹配損失作為判別器的損失.
定義8.欺詐損失.為了欺騙判別器D,向D輸入


(10)
其中,σ為二分類交叉熵損失函數,h是D中間層的函數,用于提取輸入樣本的特征表示,取權重參數α=1.


(11)
定義10.潛在損失.通過引入潛在損失L3,使得G更好地對正常樣本進行編碼,最小化隱空間特征表示損失.使用隱空間中t1和t2之間的距離(2范數)定義L3為

(12)
基于損失函數的定義,我們將生成器G的損失函數LG定義為它們的加權之和:
LG=λ1L1+λ2L2+λ3L3,
(13)
其中,λ1,λ2,λ3是3種損失的權重.
定義判別器損失LD為

(14)

算法1.訓練Fingerprint-GAN模型.
輸入:epoch、α=1、batchsize=32;
輸出:經過訓練的Fingerprint-GAN.
① 初始化Fingerprint-GAN的超參數λ1=1,λ2=50,λ3=1;
② fori=1,2,…,epochdo
③t1←GE1(x);




⑧ 使用Adam更新生成器G、判別器D的網絡參數;
⑨ end for
對于模型保護方發來的查詢樣本x,我們定義指紋樣本異常分數為
C(x)=λL2(x)+(1-λ)L3(x),
(15)
L2衡量輸入樣本和重構樣本之間的相似性,見式(11);L3衡量隱空間特征表示之間的差異性,見式(12).λ是控制異常分數相關重要性的參數,本文采用λ2和λ3比率作為λ.


算法2.Fingerprint-GAN檢測算法.
輸出:異常分數.
① fori=1,2,…,Bdo
②t1←GE1(xi);



⑥C(xi)←λL2(xi)+(1-λ)L3(xi);
/*計算異常分數*/

A={ai|ai=C(xi)};
/*異常分數歸一化*/

⑨xi為指紋樣本;
⑩ end if
其中,B取值取決于實驗數據集的樣本量.
本文采用數據集CIFAR-10,CIFAR-100評估Fingerprint-GAN的有效性.
CIFAR-10.CIFAR-10共有10個類別,包含60 000張大小為32×32的圖像.其中,50 000張正常圖像用于訓練Fingerprint-GAN;10 000張正常圖像以及生成的7 925張指紋樣本圖像用于測試.
CIFAR-100.CIFAR-100共有100個類別,包含60 000張大小為32×32圖像.其中,50 000張正常圖像用于訓練Fingerprint-GAN;10 000張正常圖像以及生成的8 173張指紋樣本圖像用于測試.
我們以廣泛使用的ResNet[38]作為目標模型,分別訓練了2個目標模型:ResNet20和ResNet50.表1展示了目標模型的參數.由于CIFAR-10類別較少,我們使用ResNet20;而CIFAR-100數據集類別較多,為了提高模型在CIFAR-100上的預測精度,我們修改原始的ResNet50,將第1層卷積由7×7改為3×3,并去掉最大池化層.修改后的卷積結構在CIFAR-100上性能表現更好,測試精度更高.

Table 1 ResNet20, ResNet50 Model Parameters表1 ResNet20,ResNet50模型參數
本實驗選擇的替代模型網絡架構與目標模型相同,但網絡權重和其他超參數采用隨機方式初始化.采用Knockoff[11]模型竊取方法,使用CIFAR-10,CIFAR-100數據集訓練替代模型,得到4個替代模型,記為ResNet20-TF,ResNet20-TW,ResNet50-TF,ResNet50-TW.其中,TF表示微調模型的最后一層全連接層,其他層保持不變;TW表示重新初始化模型最后一層的權重,其他層保持不變,如ResNet20-TF表示微調ResNet20網絡最后一層全連接層,其他層保持不變,以此類推ResNet20-TW,ResNet50-TF,ResNet50-TW.
Fingerprint-GAN由生成器和判別器構成,如圖4所示.生成器中的編碼器是一個CNN,輸入32×32的圖像,卷積層由LeakyReLU激活層、Batch-Norm層構成,卷積核大小為4×4、步長為2.解碼器是反卷積神經網絡,由BatchNorm層、ReLU激活層、tanh激活層構成,卷積核大小為4×4、步長為1.
判別器也是一個卷積神經網絡,允許輸入32×32的圖像,卷積層的卷積核大小為4×4、步長為2,使用LeakyReLU激活層、BatchNorm層,最后一層為Sigmoid激活層.
Fingerprint-GAN的訓練采用PyTorch深度學習框架,Adam優化器.初始學習率r=2exp(-4),動量β1=0.5,β2=0.999,生成器的權重參數初始化為λ1=1,λ2=50,λ3=1,分別在CIFAR-10,CIFAR-100數據集上取epoch=15進行訓練.實驗環境為Ubuntu20. 04.1LTS,運行在4個Geforce RTX 2080Ti GPU上.
ROC曲線通常被用于評估二分類器的性能,而本文提出的Fingerprint-GAN本質上是檢測正常樣本和指紋樣本的二分類器.因此,我們使用ROC曲線下的區域面積AUC[39]從整體上評估Fingerprint-GAN檢測的性能.AUC值越大,表明Fingerprint-GAN的性能越好.由于AUC值不是針對單個類別的評估指標,為進一步評估指紋樣本的檢測率,本文又使用精確率(Precision)和召回率(Recall)的調和平均F1分數.F1分數越接近1,表明Fingerprint-GAN區分正常樣本和指紋樣本的能力越強.
ROC曲線中的每一對(TPR,FPR)對應一個閾值.給定多種不同的閾值,ROC曲線描繪出所有(TPR,FPR)對.AUC取值范圍是[0,1],AUC值越接近1,模型的性能越好.TPR,FPR定義為

(16)

(17)
其中,TP為正確地預測的正例數,TN為正確地預測的負例數,FN為錯誤地預測的負例數,FP為錯誤地預測的正例數.
F1分數定義為

(18)

我們首先在CIFAR-10,CIFAR-100上評估目標模型的準確率.如圖5所示,目標模型ResNet20在CIFAR-10上取epoch=200進行訓練,其TOP-1準確率穩定在91%;相比ResNet20,ResNet50層數更多,網絡結構更復雜,在類別數較多的CIFAR-100上同樣取epoch=200訓練,得到ResNet50的TOP-1準確率穩定在78%.使用CIFAR-10,CIFAR-100測試集中10 000張圖像分別對ResNet20,ResNet50進行測試,準確率分別達到92%,79%,這也保證了后文生成的模型指紋對目標模型的唯一性,更好地驗證替代模型是否為目標模型的盜版.

Fig. 5 The TOP-1 accuracy of ResNet20 and ResNet50 on CIFAR-10 and CIFAR-100 respectively圖5 ResNet20,ResNet50模型分別在CIFAR-10, CIFAR-100上的TOP-1準確率
目標模型ResNet20和ResNet50分別在CIFAR-10和CIFAR-100數據集上生成指紋樣本及對應的模型指紋.生成模型指紋樣本的參數:超參數c=1,迭代步長steps=1000,學習率r=0.01.CIFAR-10上部分正常樣本和指紋樣本、指紋如圖6所示:

Fig. 6 Visualization of partial normal examples and fingerprint examples on CIFAR-10圖6 CIFAR-10上部分正常樣本和指紋樣本可視化圖
表2是4個替代模型分別在CIFAR-10,CIFAR-100測試集上的準確率.在CIFAR-10測試集上,ResNet20-TF準確率達到93%,ResNet20-TW略低1個百分點;在CIFAR-100測試集上,ResNet50-TF和ResNet50-TW準確率分別為78%和75%.4個替代模型在測試集上的準確率和目標模型ResNet20,ResNet50的準確率基本一致,表明替代模型成功地仿制了目標模型.

Table 2 The Test Accuracy of Alternative Models onCIFAR-10 and CIFAR-100
圖7表示Fingerprint-GAN檢測得到的ROC曲線,中間的虛線表示純隨機分類的ROC曲線.在CIFAR-10上,由ROC曲線可以看出,AUC值達到0.96(最大值為1),表明Fingerprint-GAN在CIFAR-10上能夠很好地檢測指紋樣本.CIFAR-100上的AUC值略小于CIFAR-10,為0.93,表明Fingerprint-GAN的檢測性能有所下降.這是由于CIFAR-100數據集類別更多、更復雜.比如海豚和海豹比較相似,對應的指紋樣本差異性也較小,在隱空間的特征表示差異性也較小,檢測時可能把對應的正常樣本和指紋樣本歸為一類,導致AUC值降低.

Fig. 7 ROC curves of normal examples and fingerprint examples on CIFAR-10 and CIFAR-100圖7 CIFAR-10,CIFAR-100上正常樣本和指紋樣本的 ROC曲線圖
AUC值從整體上說明了Fingerprint-GAN的有效性,表明其在訓練階段充分學到了輸入的正常樣本分布特征以及隱空間中的特征表示.
取epoch=15訓練Fingerprint-GAN,將指紋樣本視為正例,正常樣本視為負例,在CIFAR-10,CIFAR-100測試集上得到的Precision,Recall,F1分數如表3所示:

Table 3 Precision,Recall, and F1 Scores of Normal and Fingerprint Examples
由表3可以看出,Fingerprint-GAN在測試時,無論是對正常樣本還是指紋樣本,分類精確率達到93%以上,召回率達到92%以上,F1分數最高達到了96%,表明Fingerprint-GAN能很好的區分正常樣本和指紋樣本,具有良好的檢測性能.
本節從指紋樣本的檢測精確率、替代模型逃避的成功率以及目標模型的指紋比對成功率這3個方面進行評估,結果如表4所示:

Table 4 Performance Evaluation of Evasion Algorithm Based on Fingerprint-GAN表4 基于Fingerprint-GAN的逃避算法性能評估
將CIFAR-10測試集中10 000個正常樣本以及生成的7 925個指紋樣本輸入Fingerprint-GAN進行測試,得到圖8(a)所示的正常樣本和指紋樣本在隱空間上的異常分數分布圖;同樣將CIFAR-100測試集中10 000個正常樣本以及生成的8 173個指紋樣本輸入Fingerprint-GAN進行測試,得到圖8(b)所示的正常樣本和指紋樣本在隱空間上的異常分數分布圖.分布圖中相交部分表示未被正確分類的樣本.

Fig. 8 Histogram of abnormal score of normal examples and fingerprint examples圖8 正常樣本和指紋樣本的異常分數直方圖
由圖8(a)可以看到,CIFAR-10測試集上正常樣本和指紋樣本的分布近似呈高斯分布,兩者分布的橫軸交點為0.2,表明異常分數為0.2.因此,取閾值θ=0.2.保護方共發送7 925個指紋樣本,以替代模型ResNet20-TF為例,Fingerprint-GAN檢測到7 512個指紋樣本,替代模型對這7 512個指紋樣本返回不同于預測的標簽.由于指紋樣本本質是對抗樣本,替代模型仿制目標模型的功能無法達到百分百,因此對于目標模型生成的指紋樣本,統計得到替代模型返回的標簽中有6 577個與指紋不同,最終的替代模型逃避成功率為6 577/7 925≈83%,模型所有者進行指紋比對的成功率約為17%.同樣,圖8(b)表示CIFAR-100上正常樣本和指紋樣本的分布,橫軸交點為0.27,因此,取閾值θ=0.27.其他替代模型的結果見表4.
本文提出的逃避算法在CIFAR-10,CIFAR-100上對指紋樣本的檢測精度分別達到95%,94%,4個替代模型的逃避成功率在81%~83%之間,而模型所有者的指紋比對成功率最高僅為19%,證明了該算法的有效性.
本節討論損失函數式(13)的權重超參數.實驗最初使用文獻[35]中的權重值λ1=1,λ2=50,λ3=1,是由經驗取得的參考值.圖9展示了式(13)損失函數中不同的權重取值對AUC值產生的影響.以數據集CIFAR-10上的正常樣本和指紋樣本為例,目標模型為ResNet20,替代模型為ResNet20-TF,可以看到,當取λ1=1,λ2=20,λ3=1時,AUC值取得最高,Fingerprint-GAN檢測正常樣本和指紋樣本效果最佳,逃避模型指紋比對成功率最高.

Fig. 9 Influence of weight parameters of Fingerprint-GAN on CIFAR-10圖9 權重參數對Fingerprint-GAN的影響- CIFAR-10為例
本文提出基于Fingerprint-GAN的逃避算法,在CIFAR-10,CIFAR-100上對模型指紋樣本的檢測率分別達到95%,94%,逃避的成功率為81%~83%,證明了逃避算法的有效性,同時也揭示了當前基于模型指紋保護策略的脆弱性.后續工作我們將繼續研究針對圖神經網絡的模型竊取技術,以及如何保護圖神經網絡的知識產權.
貢獻說明:錢亞冠提出論文理論方法和思路及論文撰寫;何念念、郭艷凱進行論文實驗和實驗部分撰寫;王濱指導論文思路與撰寫;李暉、顧釗銓、張旭鴻、吳春明對論文提出修改建議.