吳 瑕,鄭洪英,肖 迪
(重慶大學(xué)計(jì)算機(jī)學(xué)院,重慶 401331)
訓(xùn)練一個(gè)成功的深度學(xué)習(xí)DL(Deep Learning)模型,需要大量的時(shí)間、資源和人力。因此,需要采取措施來保護(hù)模型免受非法復(fù)制、重新分發(fā)或?yàn)E用,以確保模型版權(quán)得到保護(hù)。神經(jīng)網(wǎng)絡(luò)水印是一個(gè)有效的模型保護(hù)措施,借鑒傳統(tǒng)的數(shù)字水印[1]方法,由負(fù)責(zé)訓(xùn)練的模型發(fā)送方在模型訓(xùn)練中添加一個(gè)額外的訓(xùn)練目標(biāo)來嵌入水印,且不影響模型的原任務(wù)功能。在發(fā)生版權(quán)糾紛時(shí),通過提取出嵌入水印,驗(yàn)證模型版權(quán)的歸屬,從而保護(hù)模型版權(quán),避免受到非法用戶的威脅。
但是,在現(xiàn)有的模型版權(quán)保護(hù)工作中,模型水印的嵌入與驗(yàn)證通常都由模型發(fā)送方完成。在模型發(fā)送方,如云端,由于同時(shí)具備模型結(jié)構(gòu)、數(shù)據(jù)集和計(jì)算資源,所以能夠較好地完成模型的訓(xùn)練與水印嵌入工作。然而,在端-邊-云聯(lián)邦學(xué)習(xí)系統(tǒng)[2]中,如圖1所示,模型結(jié)構(gòu)、數(shù)據(jù)集和計(jì)算資源是分布式的,而非中心化。數(shù)據(jù)不離開本地,邊緣節(jié)點(diǎn)作為服務(wù)器通過聚合本地模型更新來學(xué)習(xí)公共模型[3]。當(dāng)對(duì)接收到的模型的可信度存在疑慮時(shí),為接收方添加一次模型驗(yàn)證工作就顯得十分必要。目前已有大量研究表明[4,5],存在惡意用戶試圖獲取模型而不做出貢獻(xiàn),甚至有惡意用戶通過向數(shù)據(jù)集中引入惡意樣本來降低模型的性能。因此,一次成功的模型驗(yàn)證工作不僅有助于接收方追溯模型的發(fā)送來源,篩選掉來源不明的模型,而且還可以防止惡意發(fā)送方的搭便車和投毒行為。
Figure 1 Client-edge-cloud hierarchical federated learning system
因此,急需一個(gè)可供端-邊-云聯(lián)邦學(xué)習(xí)系統(tǒng)中模型收發(fā)雙方進(jìn)行版權(quán)驗(yàn)證工作的模型水印方案。受文獻(xiàn)[6]啟發(fā),本文針對(duì)上述問題提出了一種基于認(rèn)證文件的雙方驗(yàn)證模型水印方案,本文工作如下所示:
(1)為了確保模型的發(fā)送和接收雙方都持有相同的認(rèn)證文件,并且要求認(rèn)證文件具備信息隱藏功能,同時(shí)不對(duì)模型訓(xùn)練造成干擾,本文方案添加了一個(gè)認(rèn)證文件生成步驟,引入了基于小波變換的盲水印嵌入方法,用于將版權(quán)標(biāo)識(shí)符嵌入認(rèn)證文件。此外,本文方案還結(jié)合了高級(jí)加密標(biāo)準(zhǔn)AES(Advanced Encryption Standard)和安全散列算法SHA-3(Secure Hash Algorithm 3)進(jìn)行加密及驗(yàn)證,以保護(hù)版權(quán)標(biāo)識(shí)符信息的隱私性和完整性。
(2)為了提高水印嵌入速率,本文方案引入了基于均方誤差MSE(Mean Square Error)的損失函數(shù)使模型快速收斂,并添加了L2范數(shù)正則化項(xiàng)以預(yù)防過擬合。
(3)為了實(shí)現(xiàn)模型接收方的驗(yàn)證功能,抵御惡意行為威脅。本文方案以模型的結(jié)構(gòu)調(diào)整來進(jìn)行所有權(quán)驗(yàn)證,成功檢測(cè)嵌入的版權(quán)標(biāo)識(shí)字符串以驗(yàn)證所有權(quán),并添加了保真度評(píng)估過程對(duì)惡意行為進(jìn)行抵御。
DL模型通過在訓(xùn)練階段嵌入數(shù)字水印實(shí)現(xiàn)模型版權(quán)IP(Intellectual Property)保護(hù)?,F(xiàn)有的水印嵌入方法可以分為2類:(1)基于特征的方法,即通過附加正則化項(xiàng),將指定的水印嵌入深度神經(jīng)網(wǎng)絡(luò)DNN(Deep Neural Network)權(quán)重[7];(2)基于后門的方法,依賴于帶有特定標(biāo)簽的對(duì)抗訓(xùn)練樣本(即后門觸發(fā)器集)[8]。Uchida等人[9]首次嘗試將水印嵌入到模型中,使用參數(shù)正則化器在模型參數(shù)中嵌入水印。雖然這項(xiàng)工作沒有損害模型在Cifar10數(shù)據(jù)集上的性能和推理速度,但它僅適用于待驗(yàn)證的模型內(nèi)部參數(shù)是公開的,即白盒驗(yàn)證情況下。然而,在實(shí)際應(yīng)用中,DL模型通常作為在線服務(wù),通過遠(yuǎn)程應(yīng)用程序編程接口API(Application Programming Interface)提供服務(wù)。針對(duì)這種場(chǎng)景,Rouhani等人[10]提出了DeepSigns,這是一個(gè)端到端的IP保護(hù)框架,允許開發(fā)人員在相關(guān)的深度學(xué)習(xí)模型中系統(tǒng)地插入數(shù)字水印。該方法對(duì)于模型的刪除攻擊具有一定的魯棒性。然而,由于水印的可逆性,它無法抵御模糊攻擊。因此,Fan等人[6]提出了一種基于護(hù)照的模型所有權(quán)驗(yàn)證方案,該方案對(duì)刪除攻擊具有較強(qiáng)的魯棒性,并能夠有效抵御模糊攻擊。
為了克服白盒驗(yàn)證的限制,文獻(xiàn)[11]提出在觸發(fā)器集中的對(duì)抗示例分類標(biāo)簽中嵌入水印,以便通過API服務(wù)遠(yuǎn)程提取水印,而無需訪問網(wǎng)絡(luò)權(quán)重,該方法只需要輸入和輸出接口來驗(yàn)證所有權(quán)。Guo等人[12]提出了一種適用于嵌入式應(yīng)用程序的黑盒水印方法,其中版權(quán)所有者的簽名被嵌入到數(shù)據(jù)集中,用于訓(xùn)練帶有水印標(biāo)記的DNN。Shafieinejad等人[13]提出了一種通過后門方式向DNN嵌入水印的方法,并證明了嵌入水印對(duì)于微調(diào)和修剪等刪除攻擊具有相對(duì)的魯棒性。文獻(xiàn)[14-16]還提出了如何嵌入對(duì)白盒和黑盒驗(yàn)證都適用且對(duì)各種類型的攻擊都魯棒的水印(或指紋)。
此外,基于硬件的DNN IP保護(hù)工作也逐漸受到關(guān)注。文獻(xiàn)[17]設(shè)計(jì)了一種名為AutoDNN芯片的DNN芯片生成器,它可以根據(jù)指定應(yīng)用程序和數(shù)據(jù)集的DNN自動(dòng)產(chǎn)生基于現(xiàn)場(chǎng)可編程門陣列FPGA(Field Programmable Gate Array)和專用集成芯片ASIC(Application Specific Integrated Circuit)的DNN芯片,為物聯(lián)網(wǎng)終端設(shè)備提供高效的DNN推理能力。而文獻(xiàn)[18]則針對(duì)資源受限的邊緣設(shè)備,考慮到參數(shù)加密方法的高功耗問題,提出了一種名為ChaoPIM(Chao Processing In Memory)框架的高效的解決方案。該框架利用混沌加密和內(nèi)存處理技術(shù)來保護(hù)DNN模型的安全性。
在聯(lián)邦學(xué)習(xí)系統(tǒng)中,也有關(guān)于模型版權(quán)保護(hù)的研究被提出。文獻(xiàn)[19]針對(duì)協(xié)作學(xué)習(xí)環(huán)境中保護(hù)有價(jià)值的訓(xùn)練數(shù)據(jù)的需求,考慮到半誠(chéng)實(shí)的對(duì)手可能試圖監(jiān)視參與者的隱私信息,提出了一個(gè)安全聯(lián)邦學(xué)習(xí)框架,以協(xié)作訓(xùn)練聯(lián)邦深度神經(jīng)網(wǎng)絡(luò)FedDNN(Federal Deep Neural Network),從而不泄露隱私訓(xùn)練數(shù)據(jù)和數(shù)據(jù)特征分布。文獻(xiàn)[20]研究了在聯(lián)邦學(xué)習(xí)情況下的深度學(xué)習(xí)模型知識(shí)產(chǎn)權(quán)保護(hù),并提出在聯(lián)邦學(xué)習(xí)環(huán)境中每個(gè)參與方應(yīng)能獨(dú)立驗(yàn)證其對(duì)模型的所有權(quán),同時(shí)不侵犯其他所有者的隱私。文獻(xiàn)[21]引入了一種名為WAFFLE(WAtermarking in FEderated LEarning)水印架構(gòu),每次將本地模型聚合到全局模型之后引入一個(gè)再訓(xùn)練步驟為模型生成后門,通過后門對(duì)模型進(jìn)行所有權(quán)驗(yàn)證。文獻(xiàn)[22]考慮到為客戶端提供經(jīng)過訓(xùn)練的模型所有權(quán)驗(yàn)證,提出了一種FedDNN所有權(quán)驗(yàn)證框架FedIPR(Federated Iearning model intellectual Property Rights)。該框架允許客戶端對(duì)模型嵌入私有水印并進(jìn)行驗(yàn)證,從而獲得FedDNN模型的合法知識(shí)產(chǎn)權(quán)。
盡管近些年模型水印的研究工作越來越多,但已有模型都是針對(duì)模型發(fā)送者驗(yàn)證版權(quán)設(shè)計(jì)的,本文研究的模型水印將擴(kuò)展到可由接收方辨別模型版權(quán)。為此,本文設(shè)計(jì)了一種基于認(rèn)證文件的雙方驗(yàn)證模型水印方案,為模型接收方添加一次模型驗(yàn)證工作,幫助接收方追溯發(fā)送來源,篩除來源不明的模型。
本文提出了一種基于認(rèn)證文件的雙方驗(yàn)證模型水印方案,如圖2所示,云端將版權(quán)標(biāo)識(shí)字符串不可見地嵌入認(rèn)證文件中,本地設(shè)備群使用認(rèn)證文件參與模型訓(xùn)練,使模型的性能與認(rèn)證文件強(qiáng)相關(guān)。邊緣節(jié)點(diǎn)以歸一化層作為模型驗(yàn)證的必要結(jié)構(gòu),通過檢測(cè)模型權(quán)重中嵌入的版權(quán)標(biāo)識(shí)字符串與認(rèn)證文件中的版權(quán)標(biāo)識(shí)字符串的相似度來驗(yàn)證模型版權(quán)。為了便于闡述,本文定義了用于表示方案中主要流程的元組V=(C,G,E,V,F),即認(rèn)證文件生成過程C、模型簽名生成過程G、模型水印嵌入過程E、水印驗(yàn)證過程V和保真度評(píng)估過程F。結(jié)合端-邊-云聯(lián)邦學(xué)習(xí)系統(tǒng)模型,方案3個(gè)部分的功能表示如下:
Figure 2 Dual-verification model watermarking scheme based on certification files
(1)云端:考慮到由本地設(shè)備群向邊緣節(jié)點(diǎn)發(fā)送認(rèn)證文件可能會(huì)帶來額外的成本,以及增加邊緣節(jié)點(diǎn)處理認(rèn)證文件的工作負(fù)擔(dān),本文方案采用云端作為一個(gè)客觀公正的第三方,負(fù)責(zé)生成認(rèn)證文件并將其發(fā)送至邊緣節(jié)點(diǎn)和本地設(shè)備群。這一方法確保了認(rèn)證文件的一致性和可用性,同時(shí)維護(hù)了版權(quán)標(biāo)識(shí)符信息的隱私性和完整性。
認(rèn)證文件生成C:C(M,B,key)→{CF}。認(rèn)證文件是達(dá)到雙方可驗(yàn)證的必要條件。以云端作為客觀公正的第三方來完成認(rèn)證文件生成。方案采用盲水印方法生成認(rèn)證文件,其中,M為云端選取的一張載體圖像,通常為個(gè)人標(biāo)識(shí)圖片或企業(yè)標(biāo)識(shí),B為需嵌入的版權(quán)標(biāo)識(shí)字符串,key為AES加密過程所需的密鑰。認(rèn)證文件CF的生成過程如圖3所示。圖3中,P為生成的認(rèn)證文件圖像,h表示SHA-3哈希值。
Figure 3 Generation process of certification file
為了確保盲水印具有較高的隱蔽性、魯棒性和提取精度,本文方案對(duì)載體圖像進(jìn)行了一次基于小波變換的盲水印嵌入,將版權(quán)標(biāo)識(shí)符隱匿地嵌入到圖像中,得到盲水印嵌入圖像。隨后,本文方案采用AES加密來提升圖像的隱私性,同時(shí)引入SHA-3哈希驗(yàn)證過程,以確保圖像的完整性得到有效保護(hù)。
認(rèn)證文件生成后,云端將其發(fā)送至模型收發(fā)雙方,即邊緣節(jié)點(diǎn)和本地設(shè)備群。在邊緣節(jié)點(diǎn)和本地設(shè)備群完成AES解密與SHA-3完整性驗(yàn)證后,認(rèn)證文件將繼續(xù)參與后續(xù)工作流程,如圖4所示。本地設(shè)備群將認(rèn)證文件輸入到DL模型架構(gòu),收集輸出的特征圖pi,其中i表示層數(shù),在后續(xù)使用訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練時(shí),以特征圖作為每層的認(rèn)證參數(shù)參與訓(xùn)練。邊緣節(jié)點(diǎn)通過檢測(cè)模型權(quán)重中嵌入的版權(quán)標(biāo)識(shí)字符串和認(rèn)證文件中的版權(quán)標(biāo)識(shí)字符串進(jìn)行相似度對(duì)比來驗(yàn)證模型版權(quán)。
Figure 4 Certification file participation process
(2)本地設(shè)備群:作為本地模型的發(fā)送方,本地設(shè)備群從邊緣節(jié)點(diǎn)下載公共模型,在訓(xùn)練中添加一個(gè)額外的訓(xùn)練目標(biāo)來嵌入水印,且不影響模型的主任務(wù)功能。模型水印方案一般分為生成、嵌入、驗(yàn)證和評(píng)估過程。方案采用了多任務(wù)學(xué)習(xí)方法,通過交替最小化2個(gè)目標(biāo)來實(shí)現(xiàn)。首先,訓(xùn)練致力于最小化主任務(wù)的損失;其次,同時(shí)尋求最小化組合損失函數(shù)的損失,即主任務(wù)損失和水印損失。
①模型簽名生成過程G:G(P,B,Lγ(·))→{s}。其中,s={s1,…,sk}為生成的k比特簽名字符串,Lγ(·)是與可訓(xùn)練參數(shù)γ相關(guān)的水印損失函數(shù)。通過聯(lián)合主任務(wù)損失函數(shù)和式(1)所示的水印損失函數(shù)Lγ(·),使歸一化層的可訓(xùn)練參數(shù)γ按照認(rèn)證文件中B的二進(jìn)制組成取指定的正或負(fù)號(hào)(1為“+”/0為“-”),從而以γ的符號(hào)形成一個(gè)獨(dú)特的簽名字符串s,來完成簽名生成過程。本文方案中所使用的水印損失函數(shù)Lγ(·)是在基于MSE的損失函數(shù)中添加了L2范數(shù)正則化項(xiàng),δ0為控制參數(shù),δ為控制規(guī)模因子,α為設(shè)定常數(shù)。水印損失函數(shù)如式(1)所示:
Lγ(γ,P,s)=
(1)
過程1 水印損失計(jì)算偽代碼1.fori≤n do//對(duì)卷積結(jié)果進(jìn)行平均池化2. γi←Average Pooling F(WC*Piγ);//使用激活函數(shù)對(duì)si的取值進(jìn)行調(diào)整3. si←ReLU(δ0-γi*si)控制參數(shù)δ0=0.1,α=0.000014. Lr_loss +←α*si+δ*(γi)2;5.end for6.returnLr_loss
②水印嵌入過程E:E(D,s,N[·],L)→N[W,s]。其中,D是訓(xùn)練數(shù)據(jù)集,L為聯(lián)合損失函數(shù),N[·]表示預(yù)訓(xùn)練模型或模型架構(gòu),W為經(jīng)過訓(xùn)練的模型權(quán)重。在模型簽名生成后,將以γ的符號(hào)形成的簽名字符串嵌入模型歸一化層權(quán)重,以形成模型水印。本文方案采用批歸一化對(duì)歸一化層的可訓(xùn)練參數(shù)γ、β進(jìn)行學(xué)習(xí),如式(2)所示:
(2)
算法1 水印嵌入算法輸入:{WC,XC,Piγ,Piβ}。輸出:YC。1.fori≤n do2. γi←Average Pooling F(WC*Piγ);3. βi←Average Pooling F(WC*Piβ);//XC表示卷積層的輸入4. XiP←WC*XiC;//可訓(xùn)練參數(shù)γ、β進(jìn)行學(xué)習(xí)5. YiP←γi*O(XiP)+βi;6.end for7.return YiP
③水印驗(yàn)證過程V:V(N[W,s],εV)={True,False}。其中,N[W,s]為給定模型,εV為檢測(cè)誤差閾值。水印驗(yàn)證過程用于檢查給定的模型N[W,s]是否成功驗(yàn)證了嵌入的簽名s。本文方案采用漢明距離來衡量二進(jìn)制字符串的相似度,當(dāng)相似度大于1-εV時(shí),水印驗(yàn)證返回True,表示驗(yàn)證成功;否則,返回False,表示驗(yàn)證失敗。
模型發(fā)送方,即本地設(shè)備群,擁有經(jīng)過訓(xùn)練的模型,模型所有權(quán)將由認(rèn)證文件自動(dòng)驗(yàn)證。
④保真度評(píng)估過程F:F(N[W,s],N[W],εF)={True,False}。其中,N[W,s]是嵌入水印的模型,N[W]是未嵌入水印的模型,εF是一個(gè)預(yù)定義的閾值。保真度評(píng)估過程用于評(píng)估嵌入水印的模型N[W,s]與未嵌入水印的模型N[W]之間的性能差異是否小于預(yù)定義的閾值εF。評(píng)估的判斷依據(jù)是通過計(jì)算2個(gè)模型的性能差的絕對(duì)值是否小于或等于閾值εF,即|N[W,s]-N[W]|≤εF。如果不等式成立,則表示通過了保真度評(píng)估。
本地設(shè)備群的保真度評(píng)估不僅考察了水印對(duì)模型性能的影響,也為邊緣節(jié)點(diǎn)進(jìn)行保真度評(píng)估提供了協(xié)助。本地設(shè)備在完成保真度評(píng)估后,將包含發(fā)送方署名與模型性能表現(xiàn)的評(píng)估信息Z與模型N[W,s]一同發(fā)送至邊緣節(jié)點(diǎn)。
(3)邊緣節(jié)點(diǎn):本文方案在邊緣節(jié)點(diǎn)設(shè)立了2道防線,以抵御搭便車攻擊和投毒攻擊,即水印驗(yàn)證過程V和保真度評(píng)估過程F。搭便車攻擊指存在惡意攻擊者想從全局模型中獲益而又不想?yún)⑴c學(xué)習(xí)過程,主要分為基于前一輪模型與基于高斯噪聲2種類型。投毒攻擊主要指數(shù)據(jù)投毒,以破壞全局模型性能為目的。水印驗(yàn)證過程V與保真度評(píng)估過程F對(duì)這2種攻擊都具有一定的防范作用。
①水印驗(yàn)證過程V:V(N[W,s],P,εV)={True,False}。邊緣節(jié)點(diǎn)以歸一化層作為模型驗(yàn)證的必要結(jié)構(gòu),取出歸一化層,模型可以繼續(xù)參加訓(xùn)練而不影響性能,添加歸一化層,模型成功檢測(cè)嵌入的版權(quán)標(biāo)識(shí)字符串,以驗(yàn)證所有權(quán)。
模型的版權(quán)驗(yàn)證通過檢測(cè)模型權(quán)重中嵌入的版權(quán)標(biāo)識(shí)字符串B′與認(rèn)證文件中的版權(quán)標(biāo)識(shí)字符串B的相似度來進(jìn)行。水印的驗(yàn)證過程能夠很好地避免搭便車攻擊和部分投毒行為,沒有正確水印的模型將會(huì)首先被邊緣節(jié)點(diǎn)篩除。即使惡意用戶為模型嵌入了正確的水印,方案也可以通過后續(xù)保真度評(píng)估過程將性能不良的模型篩除,達(dá)到抵御攻擊的效果。
②保真度評(píng)估過程F:F(N[W,s],Z,εF)={True,False}。邊緣節(jié)點(diǎn)的保真度評(píng)估過程是抵御搭便車攻擊和投毒攻擊的最后防線。在進(jìn)行水印驗(yàn)證后,查驗(yàn)發(fā)送方的評(píng)估信息,篩除來源不明、性能不良的模型,對(duì)搭便車攻擊和投毒攻擊都具有抵御效果。如果存在惡意用戶發(fā)送的模型既通過了水印驗(yàn)證過程也通過了保真度評(píng)估過程,則本文認(rèn)為惡意攻擊者的攻擊行為是不必要的。
本節(jié)闡述了基于認(rèn)證文件的雙方驗(yàn)證模型水印方案的實(shí)驗(yàn)與結(jié)果分析,以下簡(jiǎn)稱為認(rèn)證方案。本文實(shí)驗(yàn)包括3方面考察:(1)認(rèn)證方案在端-邊-云分層聯(lián)邦學(xué)習(xí)系統(tǒng)中應(yīng)用的可行性考察,包括接收方模型所有權(quán)驗(yàn)證并抵御搭便車行為和投毒攻擊的可行性,以及模型繼續(xù)訓(xùn)練的可行性。(2)考察認(rèn)證方案對(duì)抗刪除攻擊、抗歧義攻擊和抗翻轉(zhuǎn)攻擊的魯棒性。(3)考察引入基于MSE的水印損失函數(shù)對(duì)模型嵌入水印的速率影響。實(shí)驗(yàn)的網(wǎng)絡(luò)包括AlexNet和ResNet-18,使用3個(gè)公共數(shù)據(jù)集Cifar10、Cifar100和ImageNet2012。
本文實(shí)驗(yàn)將從2方面對(duì)認(rèn)證方案在端-邊-云分層聯(lián)邦學(xué)習(xí)系統(tǒng)的可行性進(jìn)行考察。其一考察邊緣節(jié)點(diǎn)上接收的模型繼續(xù)參加訓(xùn)練的可行性;其二考察邊緣節(jié)點(diǎn)對(duì)模型進(jìn)行所有權(quán)驗(yàn)證以及抵御搭便車行為和投毒攻擊的可行性,包括模型水印的提取正確率及模型性能評(píng)估。
4.1.1 接收方模型繼續(xù)訓(xùn)練可行性
在端-邊-云分層聯(lián)邦學(xué)習(xí)系統(tǒng)中,邊緣節(jié)點(diǎn)作為服務(wù)器通過聚合本地模型更新來學(xué)習(xí)公共模型。為了考察模型在邊緣節(jié)點(diǎn)上是否能滿足繼續(xù)參與模型聚合的需求,本文對(duì)后續(xù)公共模型的性能進(jìn)行了考察。在不同本地設(shè)備數(shù)量下考察公共模型的主任務(wù)精確度,以FedAvg作為聚合算法[23],以未嵌入水印的模型聚合為基線(括號(hào)內(nèi)為基線),實(shí)驗(yàn)結(jié)果如表1所示。公共模型性能依然可用,與基線性能相比較,模型性能僅僅下降2%以內(nèi),表明本文方案不影響模型繼續(xù)參與聯(lián)邦學(xué)習(xí)訓(xùn)練。這是因?yàn)槟P偷耐评砼c水印嵌入的結(jié)構(gòu)并不關(guān)聯(lián),取出模型中與嵌入水印相關(guān)的網(wǎng)絡(luò)結(jié)構(gòu)(即嵌入了水印的歸一化層),模型依然可以獲得良好的推理性能。
Table 1 Average main tasks accuracy of common models
4.1.2 接收方模型抵御攻擊可行性
當(dāng)對(duì)接收到的模型的可信度存在疑慮時(shí),有必要讓接收方對(duì)模型進(jìn)行驗(yàn)證。本文方案為接收方增加模型的所有權(quán)驗(yàn)證和保真度評(píng)估過程,有助于抵御搭便車行為,即惡意參與者不提供任何貢獻(xiàn)而獲取資源;也有助于抵抗投毒攻擊,防止公共模型被惡意污染,導(dǎo)致模型性能下降。
實(shí)驗(yàn)考察了邊緣節(jié)點(diǎn)將歸一化層添加到模型中后,模型水印的提取正確率,以及對(duì)比認(rèn)證文件中提取的版權(quán)標(biāo)識(shí)字符串二進(jìn)制相似度。實(shí)驗(yàn)結(jié)果如表2所示,結(jié)果表明模型的水印提取正確率與對(duì)比相似度均高達(dá)100%,模型的水印可驗(yàn)證性依然良好,有助于邊緣節(jié)點(diǎn)對(duì)模型進(jìn)行篩選。
Table 2 Extraction correct rate and contrast similarity of model watermarks
在此基礎(chǔ)上,本文實(shí)驗(yàn)對(duì)搭便車行為和投毒攻擊行為進(jìn)行了模型性能對(duì)比和水印提取正確率檢測(cè),實(shí)驗(yàn)結(jié)果如表3和表4所示。將搭便車攻擊記為FA(Free-riding Attack),FA1表示無數(shù)據(jù)搭便車的攻擊行為,FA2表示使用之前模型進(jìn)行搭便車的行為,投毒攻擊行為記為PA(Poisoning Attack),基于對(duì)方法的魯棒性分析,實(shí)驗(yàn)將水印驗(yàn)證過程V中水印正確提取率的誤差閾值設(shè)置為εV=0.05,保真度評(píng)估過程F中性能差閾值設(shè)置為εF=0.05。
Table 3 Resisting free-riding behavior表3 抗搭便車行為
Table 4 Resisting poisoning attack
對(duì)于FA1,通常不涉及對(duì)模型本身的修改或植入,而是攻擊者試圖獲取已部署模型的性能和功能,而不提供有效或真實(shí)的數(shù)據(jù),FA1無法通過邊緣節(jié)點(diǎn)的水印驗(yàn)證過程。對(duì)于FA2,使用隨機(jī)認(rèn)證文件訓(xùn)練本地模型作為惡意模型,邊緣節(jié)點(diǎn)對(duì)此類模型的水印提取正確率取決于訓(xùn)練中認(rèn)證文件的相似度,因此具有極大的隨機(jī)性,當(dāng)設(shè)置每一輪認(rèn)證文件使其相似度遠(yuǎn)低于檢測(cè)誤差閾值時(shí),邊緣節(jié)點(diǎn)能夠?qū)@類搭便車攻擊進(jìn)行有效防御。
本文實(shí)驗(yàn)采用惡意數(shù)據(jù)對(duì)本地模型進(jìn)行投毒攻擊,修改訓(xùn)練數(shù)據(jù)標(biāo)簽使其取隨機(jī)值,并設(shè)置修改比例為u=0.1和u=0.2這2種情況,其主任務(wù)精確度量化如表4所示,被投毒模型與正常模型的性能差絕對(duì)值大于閾值,無法通過方案的保真度評(píng)估過程。
認(rèn)證方案不僅是為了幫助接收方驗(yàn)證模型所有權(quán),也是為了保護(hù)模型版權(quán)。因此,水印的魯棒性考察十分必要。在本文實(shí)驗(yàn)中,將對(duì)本地設(shè)備經(jīng)過訓(xùn)練的模型從刪除攻擊、歧義攻擊和翻轉(zhuǎn)攻擊3方面進(jìn)行魯棒性考察。
4.2.1 抗刪除攻擊
刪除攻擊是指對(duì)模型水印進(jìn)行刪除,使所有權(quán)驗(yàn)證無法進(jìn)行。刪除攻擊包括剪枝攻擊和微調(diào)。
剪枝攻擊的目的是在不影響模型推理性能的情況下,減少冗余參數(shù),降低網(wǎng)絡(luò)復(fù)雜度,從而提高網(wǎng)絡(luò)泛化能力,并防止過擬合。攻擊者也可以使用模型剪枝來破壞模型嵌入的水印,使模型的所有權(quán)驗(yàn)證受到影響。本文采用類盲修剪方案,在不同剪枝率的情況下測(cè)試方案中的水印提取正確率,并對(duì)剪枝后的模型進(jìn)行主任務(wù)保真度評(píng)估。實(shí)驗(yàn)結(jié)果如表5所示,括號(hào)內(nèi)為水印提取正確率,括號(hào)外為主任務(wù)精確度,以ResNet-18為例,在剪枝率60%的情況下,水印提取正確率均保持在90%以上,能夠較好地抵抗剪枝攻擊。
Table 5 Resisting pruning attack
微調(diào)是指將預(yù)訓(xùn)練好的模型在其他數(shù)據(jù)集上進(jìn)行使用。本文實(shí)驗(yàn)采用重新訓(xùn)練最后一層的微調(diào)方法,分別對(duì)2種模型在不同數(shù)據(jù)集中微調(diào)后水印的提取正確率進(jìn)行考察。實(shí)驗(yàn)證明,即使在新任務(wù)對(duì)模型進(jìn)行微調(diào)后,水印的提取正確率依然很高,能夠提供所有權(quán)驗(yàn)證。表6為增加實(shí)驗(yàn)對(duì)比之后的結(jié)果,實(shí)驗(yàn)使用新數(shù)據(jù)集Caltech-101對(duì)模型進(jìn)行微調(diào),水印的提取正確率依然為100%。推測(cè)水印對(duì)抗刪除攻擊的良好魯棒性來源于水印的嵌入位置,即可訓(xùn)練參數(shù)γ中,若可訓(xùn)練參數(shù)γ值降低到0,輸出值也將接近于0。
Table 6 Comparison of watermark extraction correct rate after fine tuning
4.2.2 抗歧義攻擊
歧義攻擊是指攻擊者使用偽造的認(rèn)證文件圖像對(duì)模型進(jìn)行攻擊,分為隨機(jī)攻擊和逆向工程攻擊。隨機(jī)攻擊是指認(rèn)證文件圖像是隨機(jī)獲得的;逆向工程攻擊是指假設(shè)對(duì)手可以訪問原始數(shù)據(jù)集,并試圖通過固定模型權(quán)重,逆向工程獲得認(rèn)證文件圖像,并使用其對(duì)模型進(jìn)行攻擊。
水印抗歧義攻擊結(jié)果如圖5所示,縱軸表示主任務(wù)精確度,橫軸表示攻擊輪次。以AlexNet為例,對(duì)于隨機(jī)攻擊偽造的認(rèn)證文件圖像,模型具有較好的魯棒性,在50次攻擊中,模型的性能均不佳,即便使用逆向工程偽造的認(rèn)證文件圖像,模型的主任務(wù)精確度也不超過70%。在Cifar10訓(xùn)練集下,逆向工程攻擊使主任務(wù)精確度下降33%,模型性能下降到不可用的地步。在Cifar100訓(xùn)練集下,對(duì)比主任務(wù)原始精確度(基線)下降30%,模型性能仍不可用。因此,模型水印對(duì)歧義攻擊具有魯棒性。推測(cè)模型水印抗歧義攻擊的良好魯棒性來源于可訓(xùn)練參數(shù)與模型權(quán)重的強(qiáng)依賴性,當(dāng)認(rèn)證參數(shù)發(fā)生變化,可訓(xùn)練參數(shù)γ也發(fā)生變化,導(dǎo)致模型的推理結(jié)果發(fā)生極大改變。
Figure 5 Experimental comparison results of resist ambiguous attack
Figure 6 Experimental comparison results of resist flipping attack
4.2.3 抗翻轉(zhuǎn)攻擊
由于模型水印的嵌入位置在歸一化層的可訓(xùn)練參數(shù)γ的符號(hào)中,因此針對(duì)可訓(xùn)練參數(shù)γ的符號(hào)進(jìn)行翻轉(zhuǎn),以達(dá)到攻擊模型水印的效果。在實(shí)驗(yàn)中,通過隨機(jī)翻轉(zhuǎn)可訓(xùn)練參數(shù)的符號(hào)來模擬隨機(jī)攻擊,分別對(duì)翻轉(zhuǎn)10%~100%可訓(xùn)練參數(shù)符號(hào)進(jìn)行實(shí)驗(yàn),并對(duì)模型進(jìn)行保真度評(píng)估??狗D(zhuǎn)攻擊實(shí)驗(yàn)對(duì)比結(jié)果如圖6所示,橫軸表示翻轉(zhuǎn)符號(hào)百分比,縱軸表示主任務(wù)精確度。在符號(hào)翻轉(zhuǎn)40%的情況下,模型主任務(wù)精確度下降到20%以下,此時(shí)模型性能不可用,達(dá)到模型版權(quán)保護(hù)的目的。因此,本文方案抗翻轉(zhuǎn)攻擊效果良好。
在模型的水印嵌入工作中,水印損失函數(shù)應(yīng)該與模型的主要任務(wù)無關(guān),以避免對(duì)模型性能造成不必要的干擾。因此,本文方案引入了基于MSE的水印損失函數(shù)并添加L2范數(shù)正則化項(xiàng)以預(yù)防過擬合,使模型水印信息被嵌入到模型參數(shù)中,而不干擾模型的正常任務(wù)學(xué)習(xí)。
基于MSE的水印損失函數(shù)具有連續(xù)、處處可導(dǎo)的優(yōu)點(diǎn),配合使用梯度下降算法,有利于快速收斂,有效地找到最優(yōu)解。對(duì)比原文獻(xiàn)[4]方案中所采用的損失函數(shù),本文方案所引入的模型水印損失函數(shù)有明確的全局最小值,不存在多個(gè)局部最小值問題,因此更利于任務(wù)迅速找到最優(yōu)解,推測(cè)方案改進(jìn)后的精度提升也源于此。其次,MSE損失的計(jì)算僅涉及平方差和平均值,而原文獻(xiàn)[4]方案所采用損失函數(shù)涉及到了非線性部分,因此在同樣硬件和算法的條件下,使用MSE損失使得模型水印嵌入的速率得到提升。
通過實(shí)驗(yàn)對(duì)比,記錄每一輪訓(xùn)練與測(cè)試的起始時(shí)間,可以由時(shí)間差體現(xiàn)引入的模型水印損失函數(shù)對(duì)比原文獻(xiàn)[6]方案帶來的速率提升。從表7中可知,對(duì)比原文獻(xiàn)[6]方案中所采用的模型水印損失函數(shù),認(rèn)證方案在保持模型水印的提取正確率不變,主任務(wù)精確度上升約3%~8%(AlexNet)和6%~12%(ResNet-18)的情況下,對(duì)于每輪次的平均訓(xùn)練時(shí)長(zhǎng)縮短約40%,測(cè)試時(shí)長(zhǎng)縮短約20%~40%。認(rèn)證方案幾乎不影響主任務(wù)精確度和水印提取正確率,并訓(xùn)練速度獲得極大的提升。
Table 7 Comparison of average rate improvement
為了在端-邊-云分層聯(lián)邦學(xué)習(xí)系統(tǒng)中保護(hù)模型版權(quán),并為模型收發(fā)雙方的模型版權(quán)驗(yàn)證工作提供幫助,本文提出了一種基于認(rèn)證文件的雙方驗(yàn)證模型水印方案。通過實(shí)驗(yàn)驗(yàn)證了本文方案水印的良好可驗(yàn)證性以及抵御搭便車行為、投毒攻擊的可行性;并分析驗(yàn)證了本文方案水印不影響模型繼續(xù)參與接收端的模型訓(xùn)練;大量的實(shí)驗(yàn)驗(yàn)證了本文方案水印的魯棒性以及速率改進(jìn)的優(yōu)勢(shì)。