季俊豪,張玉書,趙若宇,溫文媖,董 理
(1.南京航空航天大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 211106; 2.江西財(cái)經(jīng)大學(xué)信息管理學(xué)院,江西 南昌 330032;3.寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江 寧波 315000)
近年來,神經(jīng)網(wǎng)絡(luò)在許多領(lǐng)域取得了巨大的成功,引起了廣泛的關(guān)注。然而,最近的一些研究成果[1-8]表明,神經(jīng)網(wǎng)絡(luò)容易受到對(duì)抗樣本中的攻擊,這種攻擊通過對(duì)模型輸入進(jìn)行細(xì)微的擾動(dòng),導(dǎo)致神經(jīng)網(wǎng)絡(luò)分類錯(cuò)誤。水印對(duì)抗樣本[7,8]是對(duì)抗樣本中的一種特例,它將特定的水印作為擾動(dòng)嵌入到圖像中誤導(dǎo)神經(jīng)網(wǎng)絡(luò)模型,這對(duì)神經(jīng)網(wǎng)絡(luò)的普及和應(yīng)用造成了巨大的威脅。如圖1所示,在德牧圖像中添加透明度為0.3的伯克利分校?;?ResNet 101(Residual Neural Network with 101 layers)將生成的圖像錯(cuò)誤地分類為槍口。
Figure 1 An example of neural network classification misled by watermarking(top confidence score)圖1 神經(jīng)網(wǎng)絡(luò)分類被水印誤導(dǎo)的示例(最高置信度)
水印是添加在不同圖像上的文本或圖案。根據(jù)視覺效果的不同,水印分為可見水印和不可見水印??梢娝∈且环N在數(shù)字媒體上直接可見的水印,通常包括文字、圖像或標(biāo)志等,用于聲明圖像來源或者美化圖像,并且已被證明可見水印對(duì)壓縮、旋轉(zhuǎn)等防御措施具有魯棒性[8]。不可見水印通常由一些不可察覺的數(shù)字信號(hào)組成,常用于驗(yàn)證數(shù)字內(nèi)容的來源和完整性。隨著公民版權(quán)意識(shí)的提高,含有水印的圖像在日常生活中越來越多。如何使神經(jīng)網(wǎng)絡(luò)分類器對(duì)這些圖像具有魯棒性成了一大難題。
對(duì)抗訓(xùn)練是解決這個(gè)問題最有效的防御措施之一。這種方法通過不斷輸入水印對(duì)抗樣本并執(zhí)行對(duì)抗訓(xùn)練,從而不斷提升神經(jīng)網(wǎng)絡(luò)的魯棒性。然而,對(duì)抗訓(xùn)練的成本較高,為了保證有效性,需要使用大量高強(qiáng)度的水印對(duì)抗樣本?,F(xiàn)有的方法[7,8]使用可見水印對(duì)抗攻擊來生成高強(qiáng)度的水印對(duì)抗樣本。但是,這些方法無法自動(dòng)地設(shè)置約束條件,且沒有考慮生成樣本的視覺效果。為此,本文提出了一種基于智能進(jìn)化算法的可見水印對(duì)抗攻擊方法。該方法將可見水印對(duì)抗攻擊問題轉(zhuǎn)化為求解約束非凸優(yōu)化問題,不僅能快速地生成水印對(duì)抗樣本,而且還能使生成的水印對(duì)抗樣本最大程度地攻擊神經(jīng)網(wǎng)絡(luò)。具體來說,本文主要采用遺傳算法來生成水印對(duì)抗樣本。首先對(duì)水印進(jìn)行圖像變換(縮放、旋轉(zhuǎn)等),之后采用Alpha-blending技術(shù)將變換后的水印嵌入到原始圖像中,最后使用神經(jīng)網(wǎng)絡(luò)對(duì)生成的圖像進(jìn)行預(yù)測(cè),并進(jìn)行迭代優(yōu)化,選擇出能最大程度影響預(yù)測(cè)結(jié)果的參數(shù)。為了控制水印對(duì)抗樣本的視覺效果,本文方法還引入了圖像質(zhì)量評(píng)價(jià)指標(biāo)來約束圖像的視覺損失。值得注意的是,本文提出的方法是一種基于置信度的方法,屬于黑盒攻擊,只需獲取神經(jīng)網(wǎng)絡(luò)分類器輸出的類別和置信度就能生成水印對(duì)抗樣本。相較于現(xiàn)有的方法,本文提出的方法能夠根據(jù)設(shè)定的視覺損失約束,自動(dòng)地調(diào)整嵌入水印的參數(shù),不需要人工設(shè)定參數(shù)的約束邊界,具有更高的效率。
水印對(duì)抗攻擊生成的水印對(duì)抗樣本不僅適用于對(duì)抗訓(xùn)練,而且在現(xiàn)實(shí)場(chǎng)景中具有廣泛的應(yīng)用和意義。例如,一些惡意軟件可能會(huì)使用神經(jīng)網(wǎng)絡(luò)模型來獲取特定類別的圖像。由于本文方法屬于黑盒攻擊,通過在圖像中嵌入可見水印,可以在一定程度上阻止惡意軟件的識(shí)別,且生成的圖像具有可見水印的一些特性。
對(duì)抗攻擊指的是針對(duì)深度學(xué)習(xí)模型的攻擊,通過對(duì)輸入樣本添加一些微小的擾動(dòng),使模型產(chǎn)生分類錯(cuò)誤或誤判的結(jié)果。這些擾動(dòng)通常是不可見或人類難以察覺的,但足以改變模型的輸出。與之相對(duì)應(yīng)的是對(duì)抗防御。對(duì)抗防御是指對(duì)抗攻擊的一種應(yīng)對(duì)措施,其目的是提高深度學(xué)習(xí)模型的魯棒性,使其能夠在受到對(duì)抗攻擊時(shí)仍能夠輸出正確的結(jié)果。對(duì)抗攻擊和對(duì)抗防御的研究,對(duì)于提高深度學(xué)習(xí)模型的魯棒性、可靠性和安全性具有重要意義。
2.1.1 對(duì)抗攻擊
對(duì)抗攻擊可以根據(jù)攻擊者所擁有的信息分為白盒攻擊和黑盒攻擊。白盒攻擊[2-5]是指攻擊者擁有目標(biāo)模型的全部信息,包括模型結(jié)構(gòu)、權(quán)重參數(shù)和訓(xùn)練數(shù)據(jù)等。黑盒攻擊[6-8]是指攻擊者只能通過輸入和輸出來了解目標(biāo)模型的行為,無法直接獲取模型的內(nèi)部信息。在實(shí)際應(yīng)用中,黑盒攻擊是比較常見的攻擊方式,因?yàn)楣粽咄ǔo法獲得完整的模型信息。對(duì)抗功擊還可以根據(jù)攻擊者的目標(biāo)分為目標(biāo)攻擊[2-4]和無目標(biāo)攻擊[5-8]。目標(biāo)攻擊是指攻擊者有一個(gè)特定的目標(biāo),例如將一幅被分類為貓的圖像誤導(dǎo)成被分類為狗的圖像。無目標(biāo)攻擊是指攻擊者沒有明確的目標(biāo),只是試圖使得模型出現(xiàn)誤分類。
Szegedy等人[2]發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)很容易受到對(duì)抗攻擊的影響。2014年,Szegedy等人[2]提出了對(duì)抗樣本的概念,他們的研究表明,即使是精心設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò),在輸入中添加微小擾動(dòng)后,也容易出現(xiàn)判斷錯(cuò)誤的情況。此外,他們還首次將神經(jīng)網(wǎng)絡(luò)誤分類問題轉(zhuǎn)化為求解非線性優(yōu)化問題。隨后,Goodfellow等人[3]提出了快速梯度符號(hào)方法FGSM(Fast Gradient Sign Method)來生成對(duì)抗樣本,該方法利用神經(jīng)網(wǎng)絡(luò)的梯度信息,用一定程度的擾動(dòng)來改變輸入數(shù)據(jù),導(dǎo)致神經(jīng)網(wǎng)絡(luò)做出錯(cuò)誤分類。迭代快速梯度符號(hào)方法I-FGSM(Iterative Fast Gradient Sign Method)[4]是FGSM的改進(jìn)版本。該方法通過多次執(zhí)行FGSM來生成對(duì)抗樣本,能夠在保持高效性的同時(shí)提高攻擊的成功率。接著,Moosavi-Dezfooli等人[5]提出了一種基于線性近似的對(duì)抗攻擊方法DeepFool,該方法每次迭代都添加一個(gè)非常細(xì)微的擾動(dòng)向量,直到圖像偏離原分類的決策邊界,這些擾動(dòng)疊加后作為最終的擾動(dòng)向量。此外,Su等人[6]提出了單像素攻擊方法,通過修改圖像的單個(gè)像素,利用遺傳算法生成對(duì)抗樣本。
可見水印對(duì)抗攻擊是一種特殊的對(duì)抗攻擊,其目的是在保留圖像視覺質(zhì)量的同時(shí),將水印作為擾動(dòng)嵌入到圖像中,并使得嵌入的水印對(duì)神經(jīng)網(wǎng)絡(luò)分類結(jié)果產(chǎn)生影響。為了將可見水印作為擾動(dòng)來生成水印對(duì)抗樣本,Jia等人[7]首次將盆地跳躍進(jìn)化BHE(Basin Hopping Evolutionary)算法應(yīng)用到對(duì)抗攻擊中。BHE算法能夠選擇水印的透明度,并在原始圖像中的某個(gè)位置嵌入水印,這樣得到的攻擊性能具有較好的適用性。接著,Jiang等人[8]進(jìn)一步提出了類似于補(bǔ)丁攻擊的快速可見水印對(duì)抗攻擊FAWA(Fast Adversarial Watermark Attack)算法。該算法在原始圖像上附加半透明的水印,并調(diào)整水印大小和嵌入角度來攻擊神經(jīng)網(wǎng)絡(luò)分類器。相比于BHE算法,FAWA算法增加了對(duì)水印大小和嵌入角度的選擇。這2種可見水印對(duì)抗攻擊都對(duì)水印透明度進(jìn)行了約束,但是這種約束都是基于經(jīng)驗(yàn)總結(jié)出來的,最后生成的對(duì)抗樣本在視覺效果表現(xiàn)上讓人難以接受。因此,研究一種能約束視覺損失并能夠自適應(yīng)調(diào)整水印參數(shù)的可見水印對(duì)抗攻擊方法有重要意義的。
2.1.2 對(duì)抗防御
目前,在對(duì)抗防御研究上存在3個(gè)主要方向:在學(xué)習(xí)過程中修改訓(xùn)練過程或修改輸入樣本、修改網(wǎng)絡(luò)結(jié)構(gòu)和使用外部模型作為附加網(wǎng)絡(luò)。其中,通過修改輸入樣本進(jìn)行對(duì)抗防御的方法被稱為對(duì)抗訓(xùn)練。對(duì)抗訓(xùn)練被廣泛應(yīng)用于提高模型的魯棒性和通用性,特別是針對(duì)水印對(duì)抗攻擊。將生成的水印對(duì)抗樣本添加到訓(xùn)練集中并重新訓(xùn)練模型可以使模型具有更優(yōu)的魯棒性和通用性。Xie等人[9]還發(fā)現(xiàn)將隨機(jī)重縮放引入訓(xùn)練圖像可以減弱對(duì)抗攻擊的強(qiáng)度,其它方法還包括隨機(jī)填補(bǔ)、訓(xùn)練過程中的圖像增強(qiáng)等。此外,Papernot等人[10]提出了一種基于防御蒸餾的對(duì)抗防御方法,通過訓(xùn)練一個(gè)模型來預(yù)測(cè)先前訓(xùn)練的另一個(gè)模型的輸出,可以獲得魯棒性更高的模型。Wang等人[11]使用單獨(dú)的數(shù)據(jù)轉(zhuǎn)換模塊對(duì)輸入數(shù)據(jù)進(jìn)行轉(zhuǎn)換,來消除圖像中可能的對(duì)抗性擾動(dòng)。
水印嵌入算法是指嵌入的水印可以被看到或感知,而不需要額外的解碼或特殊設(shè)備。在可見水印嵌入領(lǐng)域,Braudaway等人[12]首次將可見水印引入圖像,使用自適應(yīng)非線性像素域技術(shù)將水印添加到圖像中,這種技術(shù)在保留圖像細(xì)節(jié)的同時(shí),還能使添加的可見水印難以移除。在該算法中,水印和原始圖像具有相同大小,即水印和原始圖像的每個(gè)像素都一一對(duì)應(yīng),可以獨(dú)立進(jìn)行運(yùn)算。之后,Kankanhalli等人[13]使用塊離散余弦變換技術(shù)來提取每個(gè)塊的頻域特征,從而確定每個(gè)塊的水印嵌入系數(shù)和位置。在嵌入時(shí),根據(jù)每個(gè)塊的特性來調(diào)整嵌入系數(shù)和位置,以最大限度地保留圖像的質(zhì)量和感知性。最后,Shen等人[14]建議使用Alpha-Blending技術(shù)來生成可見水印。Alpha-Blending技術(shù)將水印融入到圖像中,可以快速地嵌入水印,并且具有很好的普適性。在嵌入時(shí),將水印與原始圖像的Alpha通道進(jìn)行合成,可以在保持圖像質(zhì)量的同時(shí),使嵌入的水印更加穩(wěn)定和難以移除。
參數(shù)優(yōu)化算法大體上可以分為梯度下降算法[15-17]和智能進(jìn)化算法[18-21]2類。梯度下降算法是一種基于數(shù)學(xué)優(yōu)化的方法,其核心思想是通過計(jì)算函數(shù)的梯度來沿著函數(shù)最陡峭的方向?qū)ふ易钚≈?從而達(dá)到優(yōu)化的目的。智能進(jìn)化算法是一種基于仿生學(xué)的方法,其核心思想是通過模擬自然界中的一些現(xiàn)象,基于自然進(jìn)化原理的優(yōu)化算法來尋找最優(yōu)解,如蟻群優(yōu)化ACO(Ant Clony Optimization)算法[18]、遺傳優(yōu)化GA(Genetic Algorithm)算法[19]和粒子群優(yōu)化PSO(Particle Swarm Optimization)算法[20]等。本文方法在水印嵌入過程中無法獲得神經(jīng)網(wǎng)絡(luò)參數(shù),屬于黑盒攻擊,因此可以選擇遺傳算法來進(jìn)行參數(shù)優(yōu)化。
Figure 2 Flow chart of adversarial visible watermark attack based on intelligent evolutionary algorithm圖2 基于智能進(jìn)化算法的可見水印對(duì)抗攻擊流程圖
本文提出了一種基于智能進(jìn)化算法的可見水印對(duì)抗攻擊方法。該方法包含2個(gè)主要部分:水印嵌入模塊和對(duì)抗攻擊模塊。水印嵌入模塊采用Alpha-Blending技術(shù)來快速生成含有可見水印的圖像。對(duì)抗攻擊模塊采用智能進(jìn)化算法里的遺傳算法,能夠從多個(gè)由Alpha-Blending生成的圖像中選擇出高強(qiáng)度的水印對(duì)抗樣本,從而最大程度地誤導(dǎo)神經(jīng)網(wǎng)絡(luò)分類器。如圖2所示,圖像和水印經(jīng)過遺傳算法計(jì)算出透明度系數(shù)α、縮放比例β和旋轉(zhuǎn)角度γ等參數(shù);然后對(duì)水印進(jìn)行旋轉(zhuǎn)和縮放操作;接著根據(jù)透明度系數(shù)α使用Alpha-Blending技術(shù)將水印嵌入到圖像中;最后將生成的圖像傳入到預(yù)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)分類模型,根據(jù)神經(jīng)網(wǎng)絡(luò)計(jì)算出的分類概率來修改遺傳算法中的參數(shù)。通過不停地迭代更新參數(shù),獲得一個(gè)效果較好的水印對(duì)抗樣本。
圖像在計(jì)算機(jī)中以數(shù)字矩陣形式存儲(chǔ)。一般的圖像有3個(gè)通道,表示每個(gè)像素有R、G、B 3個(gè)顏色分量。在一幅帶有Alpha通道的圖像中,每個(gè)像素包含3個(gè)顏色分量和1個(gè)Alpha分量。Alpha通道是圖像中的第4個(gè)通道,用于衡量每個(gè)像素的透明度。Alpha分量取值一般從0~255, 0表示是該像素完全透明,顏色不會(huì)顯示;255表示該像素完全不透明,顏色顯示正常。圖像最終顯示的顏色取決于每個(gè)像素點(diǎn)的3個(gè)顏色分量及其Alpha分量值。如圖3所示,通過修改所有Alpha分量值可以影響一幅圖像的透明度。此外,當(dāng)一幅圖像從RGB顏色模式轉(zhuǎn)為RGBA顏色模式時(shí),默認(rèn)所有像素的Alpha分量值為255。
Figure 3 Images with different Alpha values圖3 不同Alpha值的圖像
Alpha-Blending是一種混合像素值并產(chǎn)生半透明效果的圖像合成技術(shù),可以在原始干凈圖像中快速嵌入彩色可見水印[21]。其基本思想是將前景圖像和目標(biāo)圖像按照一定比例進(jìn)行混合,產(chǎn)生一幅新的圖像。其中,混合比例由前景圖像的Alpha分量值控制,Alpha值越高,前景圖像在混合后的圖像中占比越大,該像素點(diǎn)越不透明。在這個(gè)混合過程中,每個(gè)像素的Alpha值(透明度值)都會(huì)影響其在最終圖像中的顏色。
在水印嵌入模塊中,本文利用Alpha通道值控制水印的透明度,從而實(shí)現(xiàn)可見水印的嵌入,使其既能顯示又不過度影響原圖視覺效果。
Alpha-Blending的一般化計(jì)算如式(1)所示:
output=(sc*Alpha+dc*(255-Alpha))/255
(1)
其中,sc和Alpha是前景圖像(即嵌入圖像)的像素值及其對(duì)應(yīng)的Alpha分量值;dc是背景圖像的像素值;output是輸出圖像的像素值。式(1)表示,混合后的顏色是由前景圖像和背景圖像的顏色加權(quán)平均得到的,權(quán)重由前景圖像的Alpha分量值決定。如果Alpha為0,則表示前景圖像完全透明,背景圖像保持不變;如果Alpha為255,則表示前景圖像完全不透明,覆蓋在背景圖像上;如果0 在本文中,假設(shè)原始圖像為I∈RM×N×3,M和N分別表示圖像的高度和寬度。原始水印為W∈Rm×n×3,其中m和n分別表示原始水印的高度和寬度。經(jīng)過β放縮、γ旋轉(zhuǎn)等變換后的水印為W′∈Rm′×n′×3,其中m′和n′分別表示變換后水印的高度和寬度。進(jìn)一步假設(shè),如果W′存在Alpha通道,將這個(gè)通道記作A;如果不存在,則認(rèn)為W′完全不透明,即矩陣A中的值都為255。I和W′經(jīng)過Alpha-Blending生成的圖像為G∈RM×N×3,其大小與I的一致。 當(dāng)2幅圖像進(jìn)行Alpha-Blending處理時(shí),分別對(duì)疊加區(qū)域的各像素進(jìn)行線性加權(quán)求和,得到混合后新的像素。一般情況下I和W′大小不一致,需要分區(qū)域討論,具體如下所示: 當(dāng)i∈(p,p+m′),j∈(q,q+n′)時(shí),嵌入公式如式(2)和式(3)所示: α′=α·Ai-p,j-q (2) Gi,j=(Ii,j*α′+W′i-p,j-q*(255-α′))/255 (3) 其中,p和q表示W(wǎng)′嵌入到I的具體位置;α表示自定義的透明度系數(shù),取值在[0,1];Ii,j表示原始圖像I第i行、第j列像素向量;W′i,j表示變換后的水印圖像W′第i行、第j列像素向量。 若W′完全不透明,式(2)可以簡(jiǎn)化為式(4): Gi,j=Ii,j*α+W′i-p,j-q*(1-α) (4) 當(dāng)i?(p,p+m′),j?(q,q+n′)時(shí),嵌入公式如式(5)所示: Gi,j=Ii,j (5) 值得注意的是,在實(shí)際操作中,由于圖像旋轉(zhuǎn)會(huì)改變圖像大小,先對(duì)水印圖像采取旋轉(zhuǎn)操作,再按照特定比例因子進(jìn)行縮放操作??s放水印的時(shí)候需要滿足max(m′,n′) m′=int(m*β),n′=int(n*β) (6) (7) 其中,scale是縮放系數(shù),表示W(wǎng)′長(zhǎng)寬占I長(zhǎng)寬的比例;int(·)是向下取整函數(shù);β表示縮放比例因子。 具體操作如圖4所示,從ImageNet數(shù)據(jù)集中任選一幅圖像嵌入騰訊文字水印。 Figure 4 An example of watermark embedding圖4 水印嵌入示例 本文的目標(biāo)是生成高強(qiáng)度的水印對(duì)抗樣本。水印的位置(i,j)、透明度系數(shù)α、縮放比例β和旋轉(zhuǎn)角度γ均會(huì)影響水印對(duì)抗樣本的生成。生成水印對(duì)抗樣本的過程可以形式化為求解多元約束非凸優(yōu)化問題。為了控制水印對(duì)抗樣本的視覺效果,本文還考慮了圖像的視覺損失。具體而言,優(yōu)化目標(biāo)是在設(shè)定的圖像損失里面,讓生成的水印對(duì)抗樣本在原始的分類標(biāo)簽上的概率盡可能小。 假設(shè)有一個(gè)經(jīng)過良好訓(xùn)練的神經(jīng)網(wǎng)絡(luò)分類器f(·),原始圖像I的真實(shí)分類標(biāo)簽為t,ft(·)表示I被模型f(·)分類為t的概率。圖像水印生成器g(I,W,i,j,α,β,γ)表示先將水印逆時(shí)針旋轉(zhuǎn)γ,再按照縮放因子β進(jìn)行縮放,最后將處理好的水印嵌入到原始圖像的(i,j)位置。 在進(jìn)行非目標(biāo)攻擊時(shí),問題的一般表述如式(8)和式(9)所示: (8) (9) 其中,ε代表視覺損失上界,即最多允許圖像改變的程度,ε的取值隨著評(píng)價(jià)方法的變動(dòng)而變動(dòng);L表示水印對(duì)抗樣本生成后的視覺損失??梢圆捎脠D像質(zhì)量評(píng)價(jià)指標(biāo)來衡量圖像G的損失,例如均方誤差MSE(Mean Square Error)、歸一化均方根誤差NRMSE(Normalized Root Mean Square Error)、峰值信噪比PSNR(Peak Signal to Noise Ratio)等。其中,峰值信噪比較為特殊,一般來說,PSNR越大,代表圖像失真越少。因此,當(dāng)作為視覺損失函數(shù)使用時(shí),需要將L設(shè)定為PSNR的倒數(shù),如式(10)所示,PSNR計(jì)算如式(11)所示: (10) (11) 遺傳算法作為一種新型、高效的啟發(fā)式并行搜索算法,具有收斂速度快、控制參數(shù)少等優(yōu)點(diǎn),本文采用遺傳算法求解上述優(yōu)化問題。如圖5所示,遺傳算法主要包括種群初始化、變異、交叉和選擇。在每次迭代期間,當(dāng)前解決方案(父級(jí))使用搜索策略進(jìn)行變異和交叉操作,生成一組新的候選解決方案(子項(xiàng))。然后在選擇操作中,子項(xiàng)與相應(yīng)的父項(xiàng)進(jìn)行比較,如果子項(xiàng)更適合種群進(jìn)化(具有較小的多元函數(shù)值),則子項(xiàng)生存下來成為下一次迭代的父級(jí)。 Figure 5 Framework of genetic algorithm圖5 遺傳算法框架 算法1介紹了遺傳算法的具體流程。原始圖像I和原始水印圖像W是算法的輸入。對(duì)抗樣本G是算法的輸出。首先,需要設(shè)置算法的超參數(shù)并且進(jìn)行種群初始化。然后,使用搜索函數(shù)對(duì)上一代個(gè)體進(jìn)行變異操作。在g=1的情況下,上一代個(gè)體就是初始化的種群個(gè)體。接著,進(jìn)行交叉和選擇操作。最后,找出最后一代種群里能最大程度攻擊神經(jīng)網(wǎng)絡(luò)的參數(shù)。如果該參數(shù)生成的對(duì)抗樣本滿足視覺損失約束且能夠使神經(jīng)網(wǎng)絡(luò)錯(cuò)誤分類,則將這個(gè)對(duì)抗樣本作為算法的輸出。 算法1 基于遺傳算法的可見水印對(duì)抗攻擊輸入:原始圖像I,水印W。輸出:水印對(duì)抗樣本G。步驟1 設(shè)置種群數(shù)量NP、視覺損失限制ε;步驟2 設(shè)置單個(gè)個(gè)體的最大變異次數(shù)niter;步驟3 設(shè)置種群進(jìn)化次數(shù)gm;步驟4 設(shè)置交叉系數(shù)co和φ,詳情參考3.3.3節(jié);步驟5 設(shè)置多元向量(i,j,α,β,γ)的邊界;步驟6 種群初始化獲得X0,詳情參考3.3.1節(jié);步驟7 for g= 1,…,gmdo步驟8 for n= 1,…,NPdo步驟9 變異,詳情參考3.3.2節(jié);步驟10 交叉,詳情參考3.3.3節(jié);步驟11 end for步驟12 選擇,詳情參考3.3.4節(jié);步驟13 g=g+1;步驟14 end for步驟15 if Xg+1中存在L≤ε的個(gè)體 then步驟16 找種群里面使目標(biāo)函數(shù)最小的個(gè)體;步驟17 return 由該個(gè)體生成的G;步驟18 end if 3.3.1 種群初始化 由于每個(gè)基因變量都有上界和下界,可以采用式(12)進(jìn)行最大值最小值種群初始化: (12) 其中Xmax,q、Xmin,q分別表示q基因變量的上、下界,rand(0,1)表示服從[0,1)均勻分布的隨機(jī)值。 3.3.2 變異 在本文中,變異是以當(dāng)前個(gè)體為起始點(diǎn),采用任意一種多元函數(shù)優(yōu)化搜索策略進(jìn)行搜索,搜索到的結(jié)果比初始個(gè)體有更低的函數(shù)值。為了降低算法的時(shí)間復(fù)雜度,可以將搜索策略的迭代次數(shù)設(shè)定為1。 隨機(jī)更新策略是一種迭代次數(shù)為1的快速更新策略,即在原來的個(gè)體周圍隨機(jī)生成一個(gè)個(gè)體,如式(13)所示: (13) 3.3.3 交叉 (14) 其中,CO=co×cos(φπg(shù)/2),co表示交叉因子的交叉系數(shù),取值在[0,1],φ是頻率。 3.3.4 選擇 選擇是指種群進(jìn)化時(shí),選擇擁有更低函數(shù)值的個(gè)體,以便更容易進(jìn)化下去。在本文的算法中存在這樣一種情況,如果父項(xiàng)滿足視覺約束條件,子項(xiàng)經(jīng)過優(yōu)化后,有著更低的函數(shù)值,但不滿足視覺約束條件,那么父項(xiàng)保留下來。在每次種群迭代中,將當(dāng)前種群Xg和經(jīng)過變異、交叉后的種群Ug進(jìn)行比較,選擇優(yōu)化目標(biāo)值較好的個(gè)體生成Xg+1。具體公式如式(15)所示: (15) 4.1.1 數(shù)據(jù)集 本文從ImageNet數(shù)據(jù)集中隨機(jī)選擇100幅圖像進(jìn)行相關(guān)實(shí)驗(yàn)。此外,為保持一致性,本文將所有圖像的尺寸都調(diào)整為224×224,即M=N=224。 在整個(gè)實(shí)驗(yàn)過程中,考慮的水印包括2大類:文字水印和圖像水印。文字水印為CCTV水印;圖像水印為伯克利分校(Berkeley)校徽和麻省理工(MIT)?;?兩者的最大區(qū)別是水印是否鏤空。 4.1.2 實(shí)驗(yàn)環(huán)境及參數(shù)設(shè)置 本文基于PyTorch深度學(xué)習(xí)框架,采用NVIDIA GeForce RTX 3080 Ti GPU進(jìn)行計(jì)算,操作系統(tǒng)為Ubuntu 20.04。 實(shí)驗(yàn)參數(shù)分為超參數(shù)和訓(xùn)練參數(shù)。對(duì)于超參數(shù),需要考慮種群數(shù)量、遺傳次數(shù)、交叉概率因子和搜索半徑。種群數(shù)量NP設(shè)置為50,搜索半徑a設(shè)置為0.05。考慮到算法的時(shí)間復(fù)雜度,遺傳迭代次數(shù)越小,訓(xùn)練時(shí)間越短,交叉因子系數(shù)越大,越有可能進(jìn)行交叉操作,訓(xùn)練會(huì)變得更快。本文參數(shù)設(shè)置如下:co=0.9,φ=1,gm=3。 訓(xùn)練參數(shù)包括透明度上下界、縮放上下界和視覺損失上界ε。在本文提出的方法中,透明度和縮放比例等的范圍都是由ε自動(dòng)控制的,不需要特別設(shè)定。在現(xiàn)實(shí)生活中,可根據(jù)實(shí)際應(yīng)用需求調(diào)整上下界。根據(jù)圖像質(zhì)量評(píng)價(jià)指標(biāo)的特性:圖像失真越嚴(yán)重,MSE和NRMSE越大,PSNR越小,表1給出了采用各種圖像質(zhì)量評(píng)價(jià)指標(biāo)進(jìn)行對(duì)抗攻擊時(shí)ε合適的取值。本文使用的圖像質(zhì)量評(píng)價(jià)指標(biāo)為PSNR。通常,當(dāng)PSNR>30時(shí),被認(rèn)為圖像質(zhì)量較好,即圖像的失真可以被接受。視覺損失L是PSNR的倒數(shù),當(dāng)L≤1/30時(shí),PSNR>30,因此,本文設(shè)置視覺損失上界ε為1/30。 Table 1 ε values under different image quality evaluation metrics表1 ε在不同圖像質(zhì)量評(píng)價(jià)指標(biāo)下的取值 為了衡量算法的時(shí)間復(fù)雜度,對(duì)單獨(dú)一幅圖像進(jìn)行可見水印對(duì)抗攻擊,并與其他基準(zhǔn)可見水印對(duì)抗攻擊方法(BHE和FAWA)進(jìn)行比較,測(cè)試所用的神經(jīng)網(wǎng)絡(luò)是ResNet101,結(jié)果如表2所示。從表2可以看出,本文提出的方法攻擊單一圖像所用的時(shí)間遠(yuǎn)低于其他基準(zhǔn)水印攻擊方法的。這主要是由于對(duì)抗攻擊問題對(duì)優(yōu)化的要求并不高,不需要完全找到最小值點(diǎn)。因此,算法在變異階段只采用了一次迭代優(yōu)化,并沒有采用復(fù)雜的多元函數(shù)優(yōu)化策略。 Table 2 Time complexity of different adversarial watermarking attack algorithms表2 不同可見水印對(duì)抗攻擊算法的時(shí)間復(fù)雜度 為了可視化地評(píng)估對(duì)抗樣本對(duì)神經(jīng)網(wǎng)絡(luò)的攻擊效果,本文繪制了水印對(duì)抗樣本及其神經(jīng)網(wǎng)絡(luò)觀測(cè)熱力圖,該熱力圖能夠有效地反映神經(jīng)網(wǎng)絡(luò)在圖像上的關(guān)注點(diǎn)。如圖6所示,第1行是在Image- Net數(shù)據(jù)集上對(duì)ResNet101攻擊生成的結(jié)果,第2行是分?jǐn)?shù)加權(quán)激活熱力圖可視化Score-CAM(Score-weighted Class Activation Mapping)??梢钥吹?與原始圖像相比,生成的水印對(duì)抗樣本改變了神經(jīng)網(wǎng)絡(luò)的激活區(qū)域和圖像中主體的輪廓,從而改變了最高分類置信度。此外,湯碗對(duì)抗樣本上PSNR值達(dá)到了33.22,此時(shí),L≈0.0301<ε,青果對(duì)抗樣本上PSNR值達(dá)到了34.94,此時(shí)L≈0.0286<ε。兩者都接近設(shè)定的圖像損失上界。這表明優(yōu)化問題的解會(huì)落在由ε控制的定義域邊界上。 Figure 6 Examples of different watermarking attack effects圖6 不同水印攻擊效果熱力圖 為了更好地解釋視覺損失上界ε的作用,在湯碗圖像上分別使用大小相同的Berkeley?;蘸蚆IT校徽進(jìn)行水印對(duì)抗攻擊,結(jié)果如圖7所示??梢钥吹?2幅對(duì)抗樣本的PSNR值接近,但是2種水印的嵌入大小和透明度完全不一致,麻省理工?;账「?、更透明。ε只限制圖像的視覺損失,即讓生成的水印對(duì)抗樣本在視覺損失上不超過設(shè)定的上界,具體的嵌入?yún)?shù)(如位置、透明度、縮放比例和旋轉(zhuǎn)角度)由程序根據(jù)不同水印自適應(yīng)調(diào)整。 Figure 7 Examples of different watermarking attack effects圖7 不同水印攻擊效果示例圖 為了全面驗(yàn)證本文方法的有效性,測(cè)試了3種在ImageNet數(shù)據(jù)集上預(yù)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)分類器:AlexNet(Alex’s neural Network)、VGG16(Visual Geometry Group’s neural network with 16 layers)和ResNet101。表3給出了不同徽標(biāo)或文字水印在各種神經(jīng)網(wǎng)絡(luò)分類器上的平均攻擊成功率。可以看到,Berkeley?;账≡谏窠?jīng)網(wǎng)絡(luò)上的攻擊成功率最高能達(dá)到60%。 Table 3 Attack success rates of different watermarks on neural networks表3 不同水印在神經(jīng)網(wǎng)絡(luò)上的攻擊成功率 % 此外,為了定量評(píng)估本文方法的性能,還將其與邊界攻擊[22]、單像素攻擊[6]等黑盒攻擊進(jìn)行了比較,測(cè)試網(wǎng)絡(luò)為AlexNet和ResNet101。不同黑盒攻擊在神經(jīng)網(wǎng)絡(luò)上的平均攻擊成功率如表4所示。為了更加公平地實(shí)驗(yàn),本文選擇PSNR作為圖像評(píng)價(jià)指標(biāo),將模型限定在ε=0.028的損失條件下與邊界攻擊進(jìn)行對(duì)比,將模型限定在ε=0.022的損失條件下與單像素攻擊進(jìn)行對(duì)比。很明顯,與這2種基準(zhǔn)黑盒攻擊相比,本文方法對(duì)神經(jīng)網(wǎng)絡(luò)的攻擊成功率更高。 Table 4 Attack success rate of different black-box attacks on neural networks表4 不同黑盒攻擊在神經(jīng)網(wǎng)絡(luò)上的攻擊成功率 % 本文提出了基于智能進(jìn)化算法的可見水印對(duì)抗攻擊方法。該方法將可見水印對(duì)抗攻擊問題轉(zhuǎn)化為求解約束非凸優(yōu)化問題。與以往的工作相比,本文提出的方法增加了圖像質(zhì)量評(píng)價(jià)指標(biāo)來約束圖像的視覺損失,不僅能快速生成高強(qiáng)度的水印對(duì)抗樣本,還能使生成的對(duì)抗樣本擁有更好的視覺效果。該方法生成的對(duì)抗樣本可以成功地攻擊神經(jīng)網(wǎng)絡(luò)分類器,具有很好的適用性。實(shí)驗(yàn)結(jié)果表明,該方法相比于基準(zhǔn)水印攻擊方法時(shí)間復(fù)雜度更低,同時(shí)相比于基準(zhǔn)黑盒攻擊對(duì)神經(jīng)網(wǎng)絡(luò)攻擊成功率更高。 對(duì)于水印對(duì)抗樣本的防御,除了進(jìn)行對(duì)抗訓(xùn)練外,如何精準(zhǔn)有效地規(guī)避可見水印對(duì)抗攻擊是研究的下一個(gè)重點(diǎn)。此外,由于本文方法改變了圖像主體的輪廓信息,未來的工作將進(jìn)一步在其他領(lǐng)域應(yīng)用可見水印對(duì)抗攻擊和防御,例如目標(biāo)檢測(cè)等。3.2 問題形式化
3.3 遺傳算法
4 實(shí)驗(yàn)結(jié)果與分析
4.1 實(shí)驗(yàn)設(shè)置
4.2 時(shí)間復(fù)雜度評(píng)估
4.3 攻擊效果評(píng)估
4.4 對(duì)比實(shí)驗(yàn)分析
5 結(jié)束語