本發(fā)明屬于投毒攻擊方法,涉及一種深度神經(jīng)網(wǎng)絡(luò)投毒攻擊方法。
背景技術(shù):
1、隨著深度學(xué)習(xí)的迅速發(fā)展,深度神經(jīng)網(wǎng)絡(luò)(deep?neural?network,dnn)已廣泛應(yīng)用于圖像分類、目標(biāo)檢測(cè)和語(yǔ)義分割等領(lǐng)域。然而,dnn容易受到對(duì)抗攻擊和數(shù)據(jù)投毒攻擊的影響。對(duì)抗攻擊通常在模型的推理階段進(jìn)行,通過(guò)向輸入樣本添加微小且不可察覺(jué)的擾動(dòng),使模型給出錯(cuò)誤的預(yù)測(cè)結(jié)果。而數(shù)據(jù)投毒攻擊通過(guò)向訓(xùn)練數(shù)據(jù)中引入惡意或有偏差的數(shù)據(jù)來(lái)干擾模型的訓(xùn)練過(guò)程,從而導(dǎo)致模型在預(yù)測(cè)時(shí)產(chǎn)生錯(cuò)誤或受到操控。在這兩種攻擊中,數(shù)據(jù)投毒攻擊尤為值得注意,因?yàn)樗苯佑绊懩P偷膶W(xué)習(xí)過(guò)程和訓(xùn)練數(shù)據(jù)的完整性。
2、在圖像分類領(lǐng)域中,投毒攻擊通過(guò)向訓(xùn)練集中添加精心制作的擾動(dòng),破壞dnn模型的訓(xùn)練過(guò)程,使模型對(duì)干凈圖像產(chǎn)生錯(cuò)誤的預(yù)測(cè),降低模型的預(yù)測(cè)精確度。根據(jù)對(duì)模型的影響程度,投毒攻擊可分為完整性投毒攻擊和可用性投毒攻擊。其中,可用性投毒攻擊的目標(biāo)是破壞模型的整體功能,通過(guò)對(duì)訓(xùn)練數(shù)據(jù)投毒來(lái)降低其在干凈數(shù)據(jù)上的預(yù)測(cè)精確度,從而降低模型的可用性。完整性投毒攻擊則在保持模型對(duì)正常樣本預(yù)測(cè)準(zhǔn)確度的同時(shí),針對(duì)特定樣本進(jìn)行攻擊,使這些樣本被錯(cuò)誤分類到其他類別或特定類別。例如,在自動(dòng)駕駛路標(biāo)識(shí)別中,可用性投毒攻擊會(huì)降低模型對(duì)所有路標(biāo)的識(shí)別精確度;而在完整性投毒攻擊中,如果我們對(duì)停止標(biāo)志進(jìn)行攻擊,模型將保持對(duì)其他路標(biāo)的正確識(shí)別,只是將停止標(biāo)志識(shí)別錯(cuò)誤。相較于完整性投毒攻擊,可用性投毒攻擊對(duì)模型的整體性能具有更大影響,在實(shí)際應(yīng)用中更具破壞性,研究該類攻擊的多種實(shí)現(xiàn)方法顯得尤為必要。
3、可用性投毒攻擊按攻擊方法可以分為:標(biāo)簽翻轉(zhuǎn)攻擊、雙層優(yōu)化攻擊、影響函數(shù)攻擊和不可學(xué)習(xí)樣本攻擊。標(biāo)簽翻轉(zhuǎn)攻擊:通過(guò)更改訓(xùn)練集的標(biāo)簽進(jìn)行攻擊,但由于標(biāo)簽與圖像內(nèi)容的不匹配,很容易被人工檢查發(fā)現(xiàn);雙層優(yōu)化攻擊:將投毒攻擊近似為求解雙層優(yōu)化問(wèn)題,找出擾動(dòng)最小的中毒樣本,但求解雙層優(yōu)化問(wèn)題需要大量的時(shí)間與計(jì)算成本;影響函數(shù)攻擊:通過(guò)計(jì)算訓(xùn)練數(shù)據(jù)微小變化對(duì)模型權(quán)重的影響制作中毒數(shù)據(jù),與求解雙層優(yōu)化問(wèn)題相同,需要花費(fèi)較多的時(shí)間與計(jì)算成本;不可學(xué)習(xí)樣本攻擊:向整個(gè)訓(xùn)練集添加精心制作的擾動(dòng),擾亂圖像的特征分布,使模型無(wú)法正確學(xué)習(xí)到圖像的原始特征,導(dǎo)致模型預(yù)測(cè)精確度降低。不可學(xué)習(xí)樣本攻擊通過(guò)在特征空間中添加統(tǒng)一的擾動(dòng),避免了復(fù)雜的優(yōu)化過(guò)程,顯著降低了生成中毒樣本的時(shí)間和計(jì)算成本,并且無(wú)需修改標(biāo)簽,大幅降低了中毒樣本被人工檢測(cè)發(fā)現(xiàn)的風(fēng)險(xiǎn)。目前,不可學(xué)習(xí)樣本攻擊已經(jīng)成為研究的熱點(diǎn)。針對(duì)不可學(xué)習(xí)樣本攻擊,已經(jīng)提出了一些攻擊方法,然而現(xiàn)有方法仍然存在以下問(wèn)題:中毒樣本的生成過(guò)程較為繁瑣且脆弱性較高,導(dǎo)致無(wú)法有效防止原始數(shù)據(jù)的特征被模型學(xué)習(xí)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種深度神經(jīng)網(wǎng)絡(luò)投毒攻擊方法,解決了現(xiàn)有投毒攻擊方法存在的中毒樣本生成過(guò)程繁瑣、脆弱性較高的問(wèn)題。
2、本發(fā)明所采用的技術(shù)方案是,一種深度神經(jīng)網(wǎng)絡(luò)投毒攻擊方法,具體按照以下步驟實(shí)施:
3、步驟1,構(gòu)建雙層疊加耦合多注意力卷積網(wǎng)絡(luò),利用干凈的目標(biāo)數(shù)據(jù)集對(duì)該網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,更新網(wǎng)絡(luò)權(quán)重,再使用預(yù)訓(xùn)練后的雙層疊加耦合多注意力卷積網(wǎng)絡(luò)提取圖像特征圖,并根據(jù)特征圖中所含圖像關(guān)鍵特征的數(shù)量生成相應(yīng)的權(quán)重向量,再對(duì)這些特征進(jìn)行加權(quán)融合生成疊加耦合特征圖;
4、步驟2,構(gòu)建擾動(dòng)篩選網(wǎng)絡(luò),將步驟1得到的疊加耦合特征圖擴(kuò)維后放入擾動(dòng)篩選網(wǎng)絡(luò)中,得到其置信度,并篩選出置信度最高的疊加耦合特征圖,將其作為擾動(dòng)與干凈圖像拼接,生成中毒樣本;
5、步驟3,在每類圖像中選擇一張置信度最高的疊加耦合特征圖作為擾動(dòng)添加到另一類圖像中,生成中毒數(shù)據(jù)集。
6、本發(fā)明的特點(diǎn)還在于:
7、步驟1中,雙層疊加耦合多注意力卷積網(wǎng)絡(luò)的結(jié)構(gòu)具體為:
8、其只包括卷積神經(jīng)網(wǎng)絡(luò)中的兩層核心卷積層,并融入通道注意力機(jī)制和空間注意力機(jī)制。
9、利用雙層疊加耦合多注意力卷積網(wǎng)絡(luò)生成疊加耦合特征圖的具體過(guò)程為:
10、首先,利用雙層疊加耦合多注意力卷積網(wǎng)絡(luò)提取圖像特征圖,如下式所示:
11、
12、其中,中, i表示輸出特征圖的行位置, j表示輸出特征圖的列位置, k表示輸出特征圖的通道索引; m和 n表示卷積核在高和寬方向上的索引,表示輸入圖像在位置和指定通道 c上的像素值, w(m,n,c,k)是卷積核在位置( m,n)處第 c個(gè)輸入通道到第 k個(gè)輸出通道的權(quán)重, b(k)為第 k個(gè)通道的偏置值;
13、其次,使用通道注意力機(jī)制為每張?zhí)卣鲌D生成權(quán)重向量,突出含有更多圖像關(guān)鍵信息的特征圖,如下式所示:
14、
15、其中, avgpool和 maxpool分別為空間平均池化與最大池化操作, mlp為多層感知機(jī),σ為激活函數(shù);
16、再次,使用空間注意力機(jī)制對(duì)特征圖進(jìn)行進(jìn)一步處理,突出每張?zhí)卣鲌D中含有更多圖像關(guān)鍵特征的區(qū)域,并弱化其他不重要的區(qū)域,得到特征圖,如下式所示:
17、
18、其中, avgpool和 maxpool分別為通道平均池化與最大池化操作,是卷積核大小為的卷積層;
19、最后,使用激活函數(shù)σ進(jìn)行處理,得到特征圖對(duì)應(yīng)的注意力分布:
20、
21、將作為每個(gè)特征圖受關(guān)注程度的權(quán)重,將每張?zhí)卣鲌D乘以其對(duì)應(yīng)的權(quán)重,然后將加權(quán)后的特征圖進(jìn)行求和,得到疊加耦合特征圖:
22、
23、其中,為擾動(dòng)強(qiáng)度,為每張?zhí)卣鲌D所對(duì)應(yīng)的權(quán)重。
24、步驟1中,預(yù)訓(xùn)練使用的損失函數(shù)的定義為:
25、
26、其中,為真實(shí)標(biāo)簽,為輸入圖像,為輸入圖像的真實(shí)標(biāo)簽,為在雙層疊加耦合多注意力卷積網(wǎng)絡(luò)基礎(chǔ)上構(gòu)建的分類模型,為模型預(yù)測(cè)標(biāo)簽。
27、步驟2中,將疊加耦合特征圖從一維擴(kuò)充為三維,具體的擴(kuò)維步驟如下:
28、假設(shè)疊加耦合特征圖 p的寬度為 w、高度為 h,即用 unsqueeze函數(shù)在 p的最后一維后面插入一個(gè)新的維度,使 p的維度變?yōu)椋? h,w,1),同時(shí)使用 numpy.zeros函數(shù)定義一個(gè)維度為( h,w,3)的全零矩陣,然后,將 p的值分別賦給的每一個(gè)維度,如下式所示:
29、
30、其中, d為將要擴(kuò)充的維度,為用來(lái)選擇通道的索引,為kronecker?delta函數(shù),當(dāng)且僅當(dāng) d=時(shí),函數(shù)值為1。
31、步驟2中,擾動(dòng)篩選網(wǎng)絡(luò)的結(jié)構(gòu)為:
32、在resnet18的基礎(chǔ)上引入精簡(jiǎn)歸一化層和篩選函數(shù),其中,篩選函數(shù)利用置信度對(duì)疊加耦合特征圖進(jìn)行篩選。
33、利用擾動(dòng)篩選網(wǎng)絡(luò)對(duì)疊加耦合特征圖進(jìn)行篩選的具體過(guò)程如下:
34、將疊加耦合特征圖放入預(yù)訓(xùn)練過(guò)的resnet18模型中進(jìn)行預(yù)測(cè),得出其置信度,如下式所示:
35、(8)
36、其中,為標(biāo)簽集,為對(duì)應(yīng)標(biāo)簽下的疊加耦合特征圖,為在干凈數(shù)據(jù)集上預(yù)訓(xùn)練好的resnet18,是一個(gè)歸一化函數(shù);
37、利用得到的置信度對(duì)疊加耦合特征圖進(jìn)行篩選,得到擾動(dòng),具體為:
38、
39、其中,是用來(lái)提取特征圖對(duì)應(yīng)圖像標(biāo)簽置信度的函數(shù)。
40、步驟2中,在得到疊加耦合特征圖的置信度后,利用提取損失函數(shù)更新雙層疊加耦合多注意力卷積網(wǎng)絡(luò)的權(quán)重,使網(wǎng)絡(luò)后續(xù)提取的疊加耦合特征圖可以包含更多圖像關(guān)鍵特征,提取損失函數(shù)的定義為:
41、
42、其中,是疊加耦合特征圖的置信度,是特征圖對(duì)應(yīng)標(biāo)簽 t的置信度,是提取除外擁有最高置信度的類別信息,表示為標(biāo)簽集{ y}中的標(biāo)簽。
43、本發(fā)明的有益效果是:
44、(1)本發(fā)明方法構(gòu)建了雙層疊加耦合多注意力卷積網(wǎng)絡(luò),用此網(wǎng)絡(luò)提取圖像的特征并生成其權(quán)重向量,使用權(quán)重向量為特征加權(quán),突出對(duì)dnn分類結(jié)果影響較大的特征,然后將所有加權(quán)特征融合為疊加耦合特征圖,得到的疊加耦合特征圖包含更多圖像關(guān)鍵特征,具有更強(qiáng)的攻擊性;
45、(2)本發(fā)明設(shè)計(jì)了一種基于置信度的疊加耦合特征圖篩選方法,使用置信度作為評(píng)判標(biāo)準(zhǔn),篩選出更易于dnn學(xué)習(xí)的疊加耦合特征圖;
46、(3)為了驗(yàn)證本發(fā)明方法的效果,以resnet18等圖像分類模型作為攻擊目標(biāo),使用cifar10和imagenet100數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)驗(yàn)證。仿真結(jié)果表明,本發(fā)明方法在分辨率較低的cifar10數(shù)據(jù)集上的平均測(cè)試精確度為10.05%,在分辨率較高的imagenet100數(shù)據(jù)集上的平均測(cè)試精確度為1.11%。與現(xiàn)有方法相比,本發(fā)明方法在兩個(gè)數(shù)據(jù)集上的平均攻擊效果分別提升了1.35%和0.88%,具有更好的攻擊效果。