張穎君 陳 愷 周 賡 呂培卓 劉 勇 黃 亮
1(中國科學院軟件研究所可信計算與信息保障實驗室 北京 100190) 2(信息安全國家重點實驗室(中國科學院信息工程研究所) 北京 100195) 3(中國科學院大學網絡空間安全學院 北京 100049) 4(中國科學院大學計算機科學與技術學院 北京 100049) 5(奇安信科技集團股份有限公司 北京 100015)
數字水印[1]是嵌在其他數據(宿主數據)中具有可鑒別性的數字信號或模式,同時不應影響宿主數據的可用性[2].水印技術的應用主要包括版權保護、數據監控和數據跟蹤等[3].隨著計算機技術的發展和需要保護對象的變化和增加,數字水印技術經歷了多媒體水印、軟件水印到機器學習算法/模型水印的發展過程.
最早,數字水印主要針對電子廣告、數字圖書、網絡音視頻等數字產品內容進行版權保護.這些多媒體數字產品往往可以通過低廉的成本進行未授權的復制或傳播.因此,通過添加水印可以保護其在非法拷貝、再次傳播和盜用時的知識產權[2].多媒體水印是主要針對圖像、視頻、音頻、文本文檔等媒體的水印技術.多媒體水印可由多種模型構成,如隨機數字序列、數字標識、文本以及圖像等.從穩健性和安全性考慮,常常需要對水印進行隨機化以及加密處理[4].多媒體水印中常用到的2種關鍵技術包括擴頻水印和量化水印[5].擴頻水印[6]是通過擴頻通信技術,將載體信號視為寬帶信號,水印信號視為窄帶信號,把一個水印的能量譜擴展到很寬的頻帶中,從而分配到每個頻率分量上的水印信號能量較小且難以檢測.量化水印[7-8]根據水印信息的不同將原始載體數據量化到不同的量化區間,而檢測時根據數據所屬的量化區間來識別水印信息.
隨著軟件應用的普及,軟件代碼的重用問題越發突出,而軟件水印是解決軟件版權問題的重要手段.軟件水印主要是指在代碼中植入一個特殊的標識符(水印),該水印可以承載軟件作者、版權等信息,事后通過特殊的提取器將其從被告軟件中識別或抽取出來作為證據以達到檢測目的[9].根據水印的加入位置,軟件水印可以分為代碼水印和數據水印[10].代碼水印隱藏在程序的指令部分中,而數據水印則隱藏在包括頭文件、字符串和調試信息等數據中.根據水印被加載的方式,軟件水印可分為靜態水印和動態水印.靜態水印[11]主要是將水印植入到可執行程序的代碼或數據中,其提取過程不需要運行程序.通過靜態分析完成識別或提取,主要分為代碼替換法[12]、靜態圖法[13]和抽象解釋法[14]等.動態水印是將水印植入到程序的執行過程或運行狀態中,即根據程序某個時刻運行的狀態進行信息的編碼,主要包括基于線程[15]、基于圖[16]和基于路徑[17]等水印技術.
近幾年,機器學習(machine learning, ML),尤其是深度學習,已成為計算機領域發展最迅速的技術之一[18],越來越多的領域用到了機器學習相關模型和算法.機器學習方法主要通過統計技術構建數據模型,這些數據模型可以從數據樣本(訓練集)中進行學習,訓練完后可以用于后續的推斷.目前,鑒于有效訓練這些模型需要大量的專業知識、數據和計算資源,訓練后的模型可以認為是重要的資產,并作為服務MLaaS(machine learning as a service)提供給用戶使用[19].一種典型的方式是MLaaS平臺為用戶提供應用程序編程接口(application program-ming interface, API),該接口與位于云服務中經過訓練的專有模型進行交互,用戶通過API可以使用模型,并支付相關費用.雖然這種服務方便了開發人員,但也成為惡意用戶關注的重點[20].他們企圖非法使用甚至竊取相關機器學習模型及數據.此外,一些公司將機器學習模型直接進行出售,但是又擔心該模型會被非授權轉售或泄露.因此,水印概念被擴展到機器學習模型領域,嵌入需保護的模型,并用來保護機器學習模型,尤其是訓練成本較高的神經網絡模型.一旦模型擁有者發現可能被竊取的模型,就可以通過隱藏在模型中的水印信息來驗證其是否被盜用,以此來保護模型的版權.本文將重點對近年來神經網絡相關水印技術展開綜述.
當前的機器學習水印主要針對深度神經網絡(deep neural network, DNN)進行研究,包括卷積網絡[21]、生成對抗網絡[22]以及用于自然語言處理[23]等.因此,本文將重點對神經網絡水印相關技術展開介紹.
水印用于保護某種資產.傳統水印保護紙質印刷品(如書籍)、數字媒體、軟件資產等.我們以書籍為例,圖1展示了水印的植入過程.在一本正版書籍上,出版社貼上水印,從而保證了該書籍為正版書籍.通常情況下,書籍水印應該滿足于4條基本性質,使得攻擊者(盜版商)難以對其進行復制,從而保護正版書籍的版權.

Fig. 1 Implant a watermark (for books)圖1 水印的植入(用于書籍)
1) 保真度.即添加的水印不應影響原有書籍的閱讀.
2) 安全性.即水印本身不易偽造,否則盜版書籍也能貼上相似的水印從而欺騙讀者. 然而,在媒體水印安全性方面,攻擊者可以在媒體上嵌入類似的水印,從而使得攻擊者也可以宣稱該媒體的擁有權.因此,媒體水印的高安全性很難得到保障.
3) 魯棒性.即水印不易去除.如強行去除后會損壞水印本身.隨著保護對象的改變,水印會增加不同的性質或需求,或者對原有特性進行些許改變.例如在保護多媒體水印時,如強行去除后會損壞媒體本身.注意攻擊者此時不關心水印是否會損壞;但如果媒體損壞,則會影響用戶觀看/收聽媒體的體驗.
在保護軟件等代碼時,考慮到軟件本身的代碼易被去除,魯棒性很難達到.因此多數研究人員嘗試隱藏軟件水印.即增加隱蔽性特性.
4) 隱蔽性.即水印隱藏在軟件中,不易被發現,通過隱蔽性達到不易去除的效果.
表1對比了多種被保護對象以及其對水印相關特性的需求.

Table 1 The Requirement of Different Protection Objects for Watermark Characteristics
表1中第5列是神經網絡模型水印的相關需求.典型地,加入模型的水印不應該影響原始模型的準確性(保真度).水印本身不易偽造,否則攻擊者也可以宣稱對模型的所有權.水印應該足夠魯棒,不易被移除或者破壞.但考慮到若模型被發現后易被移除,因此隱蔽性也常常作為模型擁有者考慮的因素.
神經網絡是一種模仿動物神經網絡行為特征,進行分布式并行信息處理的算法數學模型.這種網絡依靠系統的復雜程度,通過調整內部大量節點之間相互連接的關系,從而達到處理信息的目的[24].
DNN[25]與傳統的單層神經網絡不同,是由多個隱藏層組成.這種基于層次結構的結構使其能夠處理大量的高維數據.通常認為,在DNN中堆疊更多層可以使用戶從輸入數據中識別和提取更復雜的特征.大量多樣的、信息豐富的訓練數據對于DNN的成功至關重要.此外,還需要進行大量的訓練來找到合適的網絡結構和參數.如圖2所示:

Fig. 2 Deep neural network圖2 深度神經網絡
如圖2所示,深度神經網絡一般由輸入層,隱藏層和輸出層組成.輸入層和輸出層是單層的,而隱藏層可以根據信號處理的復雜程度擴展到多層算法.每個層包含多個節點,并且僅對相鄰層施加效果.
神經網絡可以被嵌入后門:給定這類神經網絡一個或一組特殊的實例(通常稱為觸發器Trigger),神經網絡執行分類任務時,會執行特殊的分類任務,將特殊的實例分類到預設的目標標簽中(通常情況下會違背用戶的感知)[26].后門攻擊可能引發很多安全問題,例如自動駕駛模型一旦被嵌入后門[27],則當遇到某個特殊圖案時,很可能發生交通意外.
神經網絡后門原理如圖3所示:
圖3顯示了一個后門攻擊的例子.觸發器是右上角的白色正方形,目標標簽為“car”.在訓練過程中,修改一部分訓練集使其具有觸發器印記,并將其對應的標簽指定為目標標簽.訓練好的模型將會把帶有觸發器的樣本識別為目標標簽,同時仍能正確識別良性圖像的標簽.
神經網絡后門攻擊(或植入)主要通過2種方式實現:
1) 主要通過對訓練集進行中毒攻擊實現[27-29]:通過創建小部分后門觸發數據集,滿足預設后門條件——該部分數據集通過神經網絡輸出攻擊者指定的結果;然后將觸發數據集加入到正常訓練集中一起進行訓練;最終訓練后的神經網絡分類結果中包含后門.該方法主要用于在訓練階段之前,通過調整相關參數或采用替代模型,完成攻擊[26].
2) 通過對訓練后神經網絡進行調整加入后門.文獻[30]先將找到神經網絡影響較大的某個模式(也稱為trojan trigger),繼而通過逆向攻擊獲得該模型的部分訓練集數據,最后使用該模式結合逆向得到的訓練集進行再次訓練.該方法可以不使用模型原始的訓練集進行后門的植入.
在神經網絡后門基礎上,文獻[31]提出將后門用作神經網絡水印的方法,實現了對神經網絡版權的保護(詳見第2節).神經網絡后門的植入相對容易,但發現和移除卻非常困難.針對神經網絡后門移除,文獻[32]提出了一個分2步的過程來刪除后門.該方法首先修剪網絡,然后對修剪的網絡進行微調,可以成功地從不同的深度神經網絡實現中刪除后門.文獻[33]可以識別后門并重建可能的觸發器,主要通過輸入過濾器識別具有已知觸發條件的輸入、基于神經元修剪的模型修補算法和基于無學習的模型修補算法來清除后門觸發器.通常情況下,對于基于后門的神經網絡水印,文獻[32-33]中移除方法是其重要的威脅.
神經網絡后門和基于其的水印都是利用神經網絡的過度參數化來學習多個任務.非法用戶可以將后門用于惡意目的(例如將駕駛過程中的“停止”標志誤分類為“限速”標志),但合法用戶可以利用水印防止其部署模型被非法盜用.
剪枝(pruning)、蒸餾(distillation)與微調(fine-tuning)是模型壓縮中常用的方法[34].它們通過刪除不重要的參數和修剪神經元之間的連接來實現.這會對水印的魯棒性造成影響,因此也常用來攻擊水印(具體參見3.1節介紹).同時,由于微調可以對模型進行修改,因此也常用來嵌入水印(具體參見2.4節介紹).
模型剪枝[2]主要用來刪除網絡中冗余參數,降低網絡復雜度,從而提高網絡泛化能力,并防止過擬合[35].通常用于模型壓縮,以生成更小,內存效率更高和執行效率更高的模型,且損失誤差可忽略不計.通常,它通過在不更改網絡結構的情況下將部分神經元歸零,特別是關注于神經網絡中連接較少,不重要的神經元.該方法不涉及任何重新訓練,那些缺乏訓練能力的攻擊者可以使用模型剪枝來破壞其竊取的模型中的嵌入的水印,極有可能會影響水印提取/檢測.

Fig. 4 Neural network pruning圖4 神經網絡剪枝

Fig. 5 Three steps to DNN watermark圖5 DNN水印3個步驟
蒸餾[36],其目的是將一個大型網絡的知識轉移到另一個小型網絡上,小型網絡性能接近于大網絡的性能,2個網絡可以是同構或者異構.做法是先訓練一個教師網絡,然后使用這個教師網絡的輸出和數據的真實標簽去訓練學生網絡.通常攻擊者可以不斷查詢大網絡,得到輸出結果,針對一些異常輸出結果(可能是后門水印觸發結果),攻擊者可以剔除或者重新打標簽,利用這些數據和真實標簽訓練小模型,最終得到清除水印的模型.然而這種攻擊往往針對一些有足量訓練資源的攻擊者.
微調(fine-tuning)是遷移學習中常用的調參方法.遷移學習是將在解決一個問題時獲得的知識應用到解決另一個不同但相關問題中,目的是在新的任務中獲得更好的學習效果[37].微調主要是應用于神經網絡的遷移,通過微調可以在類似任務之間進行轉換,但是在無關領域之間可能會失敗[38].模型微調這種攻擊包括重新訓練原始模型以更改模型參數并找到新的局部最小值,同時保持準確性[39].
本節將針對深度神經網絡水印基本概念、技術對比等方面展開介紹.
神經網絡水印添加過程主要是通過在模型中添加一個額外的訓練目標來注入水印.如1.1節所述,神經網絡水印加在神經網絡模型上,盡可能滿足表1中保真度、安全性、魯棒性和隱蔽性等需求.圖5顯示了神經網絡水印典型應用場景中的3個步驟,包括生成水印、嵌入水印和驗證水印.
生成水印是指模型所有者設計特殊的水印形式,例如一個比特串或者一些經過特殊設計的訓練樣本,以便模型在驗證水印階段能夠以某種特殊的方式驗證水印的存在性.嵌入水印是指將生成的水印信息插入到神經網絡模型中.在驗證水印時,需要輸入特定數據,然后觀察模型的反饋或者輸出,與預期結果進行匹配,從而驗證水印的存在性.
圖5中,首先DNN模型所有者為想要保護的模型生成定制的水印和預定義的水印觸發條件①.在生成水印后,該框架通過訓練將生成的水印嵌入到目標DNN中②.嵌入后,新生成的模型能夠在給定水印觸發條件的情況下進行水印的驗證③.例如在模型被盜用并部署來提供服務時,模型所有者可以利用水印觸發條件作為輸入來檢查服務的輸出,從而進行水印的驗證,向可信第三方證明該模型的所有權.
目前市場上的服務多以深度神經網絡為主,且其結構復雜,保護價值相對較高,因此,國內外研究工作多圍繞深度神經網絡展開,本文也主要側重于深度神經網絡水印的研究.
2017年Uchida等人[21]發表基于白盒的深度神經網絡水印,通過將比特串嵌入模型進行水印植入,但是由于需要知道深度神經網絡模型參數等具體細節才能進行水印驗證.因此,在實際應用中受限較多.此后,很多研究人員開始展開黑盒水印的研究,提高水印的實用性.
深度神經網絡水印相關技術已經得到多方面的發展,本文將對深度神經網絡水印技術從多個維度進行對比,如表2所示:

Table 2 The Comparison of DNN Watermarking Technology表2 DNN水印技術對比
根據表2,我們按照DNN模型是否公開,分為白盒水印和黑盒水印2類進行介紹和對比分析.白盒水印和黑盒水印主要是根據在水印插入和驗證時是否需要獲取模型本身進行劃分.具體地,白盒水印是指需要獲取模型相關參數;黑盒水印是指水印的執行過程不需要訪問模型本身,該方法主要通過機器學習服務中API對黑盒水印進行提取測試[20].
白盒水印是將生成的水印信息嵌入到DNN模型參數中[21,40-41],然后從模型中提取標記進行驗證.
文獻[21]是較早提出的水印方案,該方案通過顯式的水印來保護DNN模型的知識產權.作者將水印解釋為T位的字符串{0,1}T,為了將其包含在模型中,使用了包含參數正則化器(parameter regularizer)的組合損失函數.該正則化器在某些模型參數上施加統計偏差,以表示水印.與文獻[21]將水印嵌入到模型的靜態內容不同,文獻[40]提出將字符串嵌入到不同網絡層的概率密度函數(pdf)中.由于水印信息被嵌入DNN的動態內容中.生成水印同時依賴于數據和模型,即只能通過將特定的輸入數據傳遞給模型來觸發,使得水印更加靈活且不易被檢測.然而,這2種方法都會導致水印權重的分布發生變化.文獻[41]基于有水印和無水印模型權重的不同,提出了一種屬性推理攻擊,能夠檢測出文獻[21]和文獻[40]提出2種方法的水印.在此基礎上,文獻[41]又提出了一種基于生成對抗網絡(GAN)的白盒水印方法,使得最終的參數分布與無水印版本無法區分,因此很難被檢測出來.3個方法都是針對模型而非某個用戶添加水印,因此無法判斷以用戶為單位分發的模型是否泄漏版權.針對多用戶的情況,文獻[42]提出水印不應只取決于模型本身,而是由模型和用戶共同確定.同時,提出了一種端到端的共謀安全水印框架.它為每個用戶分配一個唯一的二進制代碼矢量(也稱為指紋),在保證準確性的前提下,將指紋信息嵌入DNN權重的概率分布中,能夠有效地跟蹤每個用戶模型的使用情況.此外,盡管一些方案在抵御水印去除攻擊時保持了較高的魯棒性,但是未解決敵手的欺詐性所有權聲明.即如果敵手使用被稱作歧義攻擊的方式,為模型偽造額外的水印,此時原始水印和新增水印都可以被驗證程序檢測,則無法判斷模型所有權的歸屬.
由于白盒水印在驗證環節需要模型擁有者知道可疑模型的內部細節(如結構、參數等),才能提取其完整水印,并與嵌入的水印對比位錯誤來完成驗證,因此適用性受到了很大限制.因此,有學者提出了以黑盒的方式為模型添加水印的方法,從而在無需知曉模型參數等細節的情況下進行水印的驗證.
文獻[31]提出了在黑盒場景下,將后門技術應用于所有權保護的水印方法.通過在模型的訓練或微調的過程中,模型擁有者將抽象樣本(與訓練樣本具有不同分布)作為后門樣本加入模型訓練集,如此保證模型在原始任務上的準確率,抽象樣本作為后門水印進行所有權的認證.與此同時,通過commit加密方法生成的密鑰進一步保證了水印在公開場景下驗證所有權.相比于文獻[31],文獻[43]提出了基于文本觸發器、噪聲、不相關樣本的后門樣本方法,通過特定觸發器來觸發后門水印驗證所有權.在此基礎上,為了將后門技術應用于嵌入式系統,文獻[44]提出了一種保護嵌入式系統神經網絡模型的所有權的水印方法,將由比特數組生成的特定信息(mask)作為觸發器設計后門水印.文獻[31,43]所提出的方法只能實現0比特(zero-bit)水印嵌入,而白盒水印能夠嵌入更多位的信息.為提升水印的容量,文獻[39]提出了多比特(multi-bit)的黑盒水印方法,作者提出了一種模型相關的編碼方案,將所有者的二進制簽名包含在輸出激活中作為模型的水印.
上述基于模型后門的水印方案中,分類帶有錯誤標簽的關鍵樣本,會不可避免的對模型在原始任務上的決策邊界產生影響.文獻[45]提出了為關鍵樣本新增標簽的方法,嘗試設計不會扭曲原始決策邊界的水印.考慮到部分模型水印應對剪枝微調并不具備很強的魯棒性,文獻[46]提出了一種指數加權的后門水印方法,將后門水印對參數的影響施加在較大值的權重參數上(指數加權實現),保證水印在剪枝微調更具魯棒性.同樣,為了增加應對蒸餾攻擊的魯棒性,文獻[47]提出的水印部署在模型的預測API中,通過改變客戶端的預測響應來動態地為部分查詢添加水印.
但是,先前水印[31,43]中的后門樣本的空間很大,由于神經網絡能夠接受增量訓練和微調,攻擊者可以基于此特性構造對抗樣本,適當嵌入自己的水印來聲明此神經網絡的所有權,但這是一種偽造的所有權.文獻[48]提出了一種空嵌入(null embedding)的方法,將水印包含在模型的初始訓練中.由于空嵌入不依賴于增量訓練,只能在初始化時期訓練為模型,因此對手很難再嵌入自己盜版水印.文獻[31,40,43-44]中后門水印和干凈樣本的數據分布具有很大的差異,隱蔽性較弱.因此,文獻[49]提出了一種通過編碼器生成盲(blind)的后門水印方法,能夠躲避人肉眼或部分檢測器的檢測,更具隱蔽性.
除了應用后門水印來做黑盒情境下所有權驗證,文獻[50]提出對抗樣本作為水印的方法.然而由于對抗樣本的遷移性[31],在沒有此水印的模型上,對抗樣本也可能會以較高概率被判別錯誤,被誤識別為水印,從而發生誤報.
由此可見,當前DNN水印方法中,白盒水印需要對模型參數進行訪問和驗證,應用中受限較多.黑盒水印只需要通過API訪問相關服務來驗證深度神經網絡的所有權[53],目前應用較為廣泛.
攻擊者對于機器學習水印的攻擊多是圍繞著表1中的魯棒性、隱蔽性和安全性3個特性展開,但同時攻擊應保持原有模型的保真度(攻擊者不愿意失去原有模型的準確性,因其也需要使用去除水印后的模型進行服務).分別對其展開論述,如表3所示.為了方便描述,形式化地,我們定義原有未含水印的模型是M,水印為W,模型M的擁有者O將W嵌入M得到MW,攻擊者試圖偽造W.

Table 3 The Comparison of DNN Attack Methods表3 DNN水印攻擊方法對比
魯棒性(robustness)指水印不易去除.如強行去除后會損壞模型的保真度.攻擊者的目標是在保持一定保真度的情況下,使得模型水印失去其作用,即模型擁有者O無法確認模型中水印的存在.一個簡單的方法去除模型中的水印即重訓練一個新的模型,但該方法需要大量的訓練數據和計算能力.若攻擊者有此能力,無需再剽竊其他人的水印.因此攻擊者嘗試使用少量的訓練樣本甚至不使用訓練樣本進行水印的去除.
常用的技術包括微調(fine-tuning)[32,54]、剪枝(pruning)[32,43,46]和蒸餾(distill)[47,55]等.這幾類方法的基本思想是通過對含有水印的模型MW進行部分調整,嘗試去除水印W;但考慮到模型本身的保真度可能下降,因此仍然需要拿出部分帶有標簽的數據(如訓練集或者測試集中的數據)對模型進行訓練,從而盡量使模型恢復到原有的準確性.具體來說:
1) 微調.微調方法不對原始模型的結構進行操作,直接采用帶有標簽的數據進行模型的重訓練.考慮到模型本身包括2部分任務(水印任務W和原始任務T),而重訓練僅使用T相關的數據進行訓練.因此隨著訓練的進行,原始W會在模型中逐漸遺忘[30],但T會盡量保持不變或增強.從而使得模型中的W逐漸去除.這類方法被對水印[31]具有一定效果.
2) 剪枝.剪枝方法通過改變模型結構,從而迫使原始模型“遺忘”部分已有的任務(包括水印任務W和原始任務T).但同時使用訓練數據進行任務T的增強.改變模型結構的常用方法包括剪神經元和剪邊.前者直接去除神經元(通常選擇任務T中激活值最小的神經元[32]);后者對神經元間的邊進行修建[62],通常也將神經網絡中的權重參數的絕對值小的參數(被認為是對任務T不重要的參數)值置0,修剪連接.這類方法對部分類型的W會有一定效果.但事實上,由于神經網絡的難以解釋性,任務W和T激活的神經元很難區分,因此文獻[32,62]等剪枝方法經常對任務T具有較大影響.
3) 蒸餾.蒸餾方法常用于將大型網絡使用小型網絡進行功能性替代(如選擇不同的網絡或者更為簡化的網絡)[55],在替代過程中保持原始任務T,但不對W進行保存,因此較大概率能夠去除T.這類方法可以看作是剪枝的衍生,但可能需要更多地訓練數據集,否則可能對原始模型T的準確性造成影響.
4) 其他方法.現有部分方法將微調、剪枝、蒸餾3種方法進行結合,如fine-pruning[32]方法,融合了剪枝和微調,先進行神經元的剪枝,然后進行微調.也有部分方法進行針對性的攻擊,如知曉神經網絡M中某一層含有水印[21],攻擊者可對這層進行重新初始化再訓練.
隱蔽性(stealthiness)指水印隱藏在模型中,不易被發現,通過隱蔽性達到不易去除的效果.從攻擊者角度,可嘗試發現水印,從而移除水印或者宣稱對水印的所有權.隱蔽性水印的設計被用來防止此類攻擊.
目前有2類方法可以進行隱蔽性的攻擊:1)發現模型水印(尤其是后門類水印)的觸發條件異常;2)發現水印中模型參數的異常.以圖片分類任務為例,前者的任務是發現帶有觸發圖案的圖片與其他正常圖片分布上的區別.例如文獻[31]中提到可以使用抽象圖案作為觸發圖片,易被攻擊者發現與其他圖片的區別,從而進行過濾,導致該觸發圖片無法有效對黑盒狀態下的模型進行測試.文獻[43]雖然將觸發圖案貼在正常的圖片中或者使用分布不同的圖案或者噪點圖案等,但仍然可以被細致的分析發現其與正常圖片的不同.文獻[49]設計盲水印,使用編碼器和判別器設計與正常圖片類似且分布也類似的觸發圖片,使其難以被檢測.
后者嘗試在模型中發現水印部分相關的參數,例如文獻[56]通過分析DNN模型的參數分布,發現水印及其長度,可以將水印去除并加入新的水印.文獻[57]中,通過重構水印,對DNN模型中水印圖片與非水印圖片學習中各神經元及連接的進行比較,識別水印圖片關鍵的神經元及連接并進行刪除,之后對模型進行重新訓練,實現對水印刪除.
根據1.1節定義,安全性(security)指水印本身不易偽造,否則攻擊者也能偽造水印從而宣稱對嵌入水印模型的所有權.這里有2類方法:1)攻擊者嘗試發現W的構造,從而宣稱擁有W,這類攻擊我們已在3.2節論述,主要講述如何發現W;2)攻擊者再次嵌入類似的水印W′到MW中,得到含2個水印的模型MW+W′,從而宣稱對M的所有權.
對于直接改變神經網絡參數的水印,如文獻[21]所述,攻擊者可以采用同樣的方法在其中植入水印.對于通過后門類植入的水印,如文獻[31,40,43-44,46],攻擊者仍然可以使用同樣的方法加入后門水印.考慮到神經網絡參數數量巨大,新植入的水印很難正好破壞掉原有水印的參數信息,導致2個水印會同時存在于模型上.此時攻擊者A與原始模型擁有者O難以區分.例如文獻[49]提出的盲水印,人的肉眼或部分檢測器難以發現其水印觸發樣本與正常樣本的區別.攻擊者可以使用對抗樣本作為某種觸發器(與正常樣本非常接近),使模型作出某種預期的行為(如分類異常),從而模仿模型的擁有者,宣稱對模型的所有權.
除上述3類攻擊外,還有部分其他方法用于對水印的攻擊.文獻[59]提出2種方案,針對水印的查詢,設計方案嘗試輸出正常的結果(非攻擊者預期的水印結果):1)通過投票機制(ensemble attack),改變輸出,躲避水印檢測;2)通過區分觸發水印的實例和正常數據(detector attack),躲避對水印檢測.即使在水印難以刪除的情況下,惡意攻擊者仍可以逃避合法所有者對版權侵權的驗證,從而避免了模型盜竊的發現.
從目前來看,機器學習模型水印技術還處于發展前期,在理論上和實際使用過程中并不完善.攻擊者仍然有多種方法能夠對已有的保護方法進行攻擊.在未來的研究過程中,主要有5個方面值得探索:
1) 更為魯棒的神經網絡模型水印.目前的水印方法,尤其是黑盒方法,還受限于模型的微調等攻擊.未來的模型水印應加強該方面的保護,使得模型能夠對抗傳統攻擊,尤其是較為簡單的傳統攻擊.
2) 水印應減少對原始模型的影響.目前的水印對原始模型具有一定影響,例如會使得原始模型任務的準確性降低.雖然部分方法在一定的測試集上能夠做到準確性降低不明顯,但難免會影響模型的原始任務.由于模型的不可解釋性,也難以從理論對模型的影響進行刻畫.對比傳統的書籍水印,其不會降低書籍的閱讀效果.因此,如何使模型水印在不降低原始任務的基礎上完成水印任務,是未來的重要方向之一.
3) 公開的水印.傳統的書籍水印,其水印公開,且易于被用戶判斷識別.但現有的神經網絡模型水印,其魯棒性依賴于水印的隱蔽性.一旦被公開,則其易被去除.未來的研究如能建立可公開(無需隱藏)的水印,則將對水印的可驗證性提供較高的支持.
4) 水印的理論證明.目前的水印方法缺乏理論支持,多是在原有模型上做添加任務、特征等處理,但無法從理論上證明其各種安全特性.未來的研究如能在理論上取得進展,將會推進水印技術的魯棒性等各類特性的安全保障能力.
5) 多樣的水印.目前的水印方法相對單一,多是采用直接添加特征或者模型后門方式進行加入.如能探索更加多樣的水印,并探索其組合,將會對未來的神經網絡水印算法的魯棒性和對攻擊的防御能力起到幫助.
總之,更為強大的攻擊總是伴隨著防御方法的進步,他們相輔相成、共同成長.因此在未來的研究過程中,2方面的研究將會同步發展.在理論上的完善,將會促進神經網絡模型的進步.
隨著人工智能技術的廣泛應用,神經網絡模型的應用越來越廣泛.然而,神經網絡模型的訓練需要大量專業知識、數據和計算資源,因此,神經網絡模型已經成為一種重要的資產,并有很多廠商提供相應的服務,用戶只需要遠程訪問API接口就能方便使用相關模型進行學習.與此同時,神經網絡模型的惡意使用或非法傳播也促使其版權急需保護,神經網絡水印可以有效解決該問題.目前,神經網絡水印技術主要包括白盒水印和黑盒水印,白盒水印需要對模型參數進行訪問和驗證,實際使用中受限較多.黑盒水印只需要遠程訪問API進行驗證即可,應用更廣泛.但是,當前黑盒水印大多使用后門等技術進行水印插入,當遇到神經網絡壓縮或遷移等變化時,容易被移除.因此,很多研究人員針對神經網絡水印進行攻擊,對其魯棒性、安全性和隱蔽性進行研究,對于更好地提高水印保護能力有著重要的作用.最后,對未來方向和面臨的挑戰進行探討,希望對神經網絡水印未來的發展提供一些思路.