国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

深度神經(jīng)網(wǎng)絡(luò)在高鐵運(yùn)行環(huán)境識(shí)別中的魯棒性驗(yàn)證

2022-11-07 05:39:08侯瀟雪張苗苗
關(guān)鍵詞:魯棒性復(fù)雜度類(lèi)別

高 珍,蘇 宇,侯瀟雪,方 沛,張苗苗

(同濟(jì)大學(xué)軟件學(xué)院,上海 201804)

人工智能(artificial intelligence,AI)[1]是當(dāng)今的熱門(mén)話題之一,機(jī)器學(xué)習(xí)[2]、神經(jīng)網(wǎng)絡(luò)等人工智能技術(shù)近年來(lái)得到廣泛應(yīng)用。然而,人工智能的廣泛應(yīng)用也帶來(lái)了一些安全風(fēng)險(xiǎn)和隱患,包括人工智能系統(tǒng)的錯(cuò)誤、網(wǎng)絡(luò)攻擊和魯棒性等問(wèn)題[3-4]。研究人員發(fā)現(xiàn),包括神經(jīng)網(wǎng)絡(luò)在內(nèi)的大多數(shù)機(jī)器學(xué)習(xí)模型的魯棒性都很差,這限制了其在安全性至關(guān)重要領(lǐng)域的應(yīng)用[5]。

目前神經(jīng)網(wǎng)絡(luò)處理效果評(píng)估主要依靠神經(jīng)網(wǎng)絡(luò)在測(cè)試集上的精度,然而測(cè)試集的數(shù)據(jù)與訓(xùn)練集、驗(yàn)證集的數(shù)據(jù)往往屬于獨(dú)立同分布,即測(cè)試集中并不包含被干擾過(guò)的圖像,這使得大部分在測(cè)試集上表現(xiàn)良好的神經(jīng)網(wǎng)絡(luò)模型在面對(duì)異常樣本時(shí)表現(xiàn)很差。將這些異常樣本加入測(cè)試集重新訓(xùn)練神經(jīng)網(wǎng)絡(luò)來(lái)提高其魯棒性是一個(gè)可行的辦法,但是類(lèi)型多變的異常樣本導(dǎo)致新的異常樣本不斷產(chǎn)生,將新的異常樣本不斷加入測(cè)試集,從而引起測(cè)試準(zhǔn)確度的不穩(wěn)定,因此研究人員更多地考慮驗(yàn)證而非測(cè)試的方法來(lái)評(píng)估神經(jīng)網(wǎng)絡(luò)的魯棒性[6]。

系統(tǒng)安全性驗(yàn)證通常采用基于嚴(yán)格的數(shù)學(xué)模型的形式化方法[7-8]。目前,一些驗(yàn)證技術(shù)如模型檢驗(yàn)、定理證明等在嵌入式系統(tǒng)中已經(jīng)有了非常成熟的應(yīng)用[8],文獻(xiàn)[9-15]中給出了基于形式化方法的神經(jīng)網(wǎng)絡(luò)驗(yàn)證技術(shù),也由此提出了神經(jīng)網(wǎng)絡(luò)驗(yàn)證工具,如Reluplex[9]、DLV[12]、SafeCV[13]、DeepTRE[16]等。

2019年,Ruan等[16]將神經(jīng)網(wǎng)絡(luò)的全局魯棒性定義為測(cè)試集上的最大安全半徑期望,并迭代計(jì)算其上下界序列。實(shí)驗(yàn)結(jié)果表明,神經(jīng)網(wǎng)絡(luò)魯棒性的上下界序列會(huì)逐漸收斂為同一值,即全局魯棒性的近似值,將這種基于L0范數(shù)的神經(jīng)網(wǎng)絡(luò)魯棒性量化方法命名為DeepTRE(tensor-based robustness evaluation for deep neural network)。DeepTRE平衡了計(jì)算效率和對(duì)抗樣本的效果,在標(biāo)準(zhǔn)數(shù)據(jù)集如MNIST和CIFAR上具有良好的驗(yàn)證結(jié)果。

以高鐵運(yùn)行環(huán)境識(shí)別網(wǎng)絡(luò)為背景,采用DeepTRE驗(yàn)證網(wǎng)絡(luò)的魯棒性。在使用DeepTRE驗(yàn)證網(wǎng)絡(luò)的過(guò)程中,由于內(nèi)存不足而導(dǎo)致驗(yàn)證中斷,因此對(duì)DeepTRE實(shí)現(xiàn)進(jìn)行了一些改進(jìn),包括由局部魯棒性計(jì)算改為全局魯棒性計(jì)算、允許任意設(shè)置擾動(dòng)值、設(shè)定驗(yàn)證范圍、多輪預(yù)測(cè)以減少空間復(fù)雜度4個(gè)方面。最后,基于改進(jìn)的DeepTRE對(duì)識(shí)別任務(wù)進(jìn)行驗(yàn)證實(shí)驗(yàn),并與其他神經(jīng)網(wǎng)絡(luò)驗(yàn)證工具DLV和SafeCV進(jìn)行對(duì)比。

1 DeepTRE實(shí)現(xiàn)的改進(jìn)

1.1 DeepTRE基本概念

給定一個(gè)用于m分類(lèi)的神經(jīng)網(wǎng)絡(luò)f∶Rn→Rm,對(duì)于一個(gè)輸入x∈Rn,輸出f(x)=(c1(x),…,cm(x))∈Rm,其中ci(x)表示第i個(gè)標(biāo)簽的置信度。不失一般性,將輸入x歸一化為[0,1]n,輸出f(x)使用Softmax層歸一化為[0,1]m。用表示輸入為x時(shí)對(duì)應(yīng)的輸出的分類(lèi)標(biāo)簽。

定義1(全局魯棒性)給定神經(jīng)網(wǎng)絡(luò)f一個(gè)有限的 原 始 輸 入 集T0和 距 離 范 數(shù)‖·‖D,對(duì) 于 所 有i∈{1,…,|T0|}原始輸入集T0=(x0,i)i=1,…,|T0|,原始輸入集T0中的圖像在添加擾動(dòng)后得到對(duì)抗樣本數(shù)據(jù) 集T=(xi)i=1,…,|T0|。全 局 魯 棒性R(f,T0,‖·‖D)計(jì)算是一個(gè)優(yōu)化問(wèn)題,即計(jì)算T0與T之間的最小距離,如下所示:

DeepTRE中使用距離范數(shù)L0衡量圖像之間的距離,并定義輸入圖像數(shù)據(jù)集之間的距離是數(shù)據(jù)集中所有相應(yīng)圖像之間距離的期望,計(jì)算式如下所示:

定義2(子空間完備集)給定一個(gè)輸入x0∈[0,1]n和一組維度為t的正整數(shù)集合T?{1,…,n},|T|=t,t≤n。定義x0的子空間Xx0,T為一組輸入x∈[0,1]n的集 合,對(duì) 于 任 意i∈T有x(i)∈[0,1],對(duì) 于i∈{1,…,n}T有x(i)=x0(i)。輸入x0的子空間完備集為X(x0,t)={Xx0,T|T?{1,…,n},|T|=t}。

Xx0,T中的每個(gè)元素與x0相比除T中指定的像素外的值都相等,即子空間Xx0,T中的每個(gè)元素都是x0改變了T中指定的像素、其他的像素保持不變之后得到的圖像。由于在t維的情況下T有多種組合,因此X(x0,t)是在所有可能的T下Xx0,T的集合。

定義3(子空間敏感度)給定輸入子空間X?[0,1]n,輸入x0∈[0,1]n,輸出標(biāo)簽j,關(guān)于X、x0、j的子空間定義如下所示:

引入測(cè)試集T0和維度t后,子空間敏感度定義如下所示:

神經(jīng)網(wǎng)絡(luò)f對(duì)輸入x0的輸出分類(lèi)標(biāo)簽記為jx0=C(f,x0)。直觀上來(lái)看,S(X,x0,j)表示集合X中所有修改后的圖像與原圖像x0相比分到j(luò)類(lèi)別置信度的最大下降值,S(T0,t)表示X(x0,t)所有的子空間和T0中所有輸入的分類(lèi)標(biāo)簽置信度的最大下降值的二維數(shù)組。

式(4)的時(shí)間復(fù)雜度是一個(gè)難點(diǎn)問(wèn)題。當(dāng)給定測(cè)試集T0和維度t時(shí),計(jì)算S(T0,t)中所有元素的時(shí)間復(fù)雜度O(|T0|nt),S(T0,t)中每項(xiàng)元素的表達(dá)式都可以看作一個(gè)優(yōu)化問(wèn)題。以MNIST(Mixed National Institute of Standards and Technology database)數(shù)據(jù)集為例,每張圖片的像素大小為28×28,假設(shè)測(cè)試集T0中有20張圖像,在維度t=1的情況下復(fù)雜度為28×28×20=15 680,即15 680個(gè)一維優(yōu)化問(wèn)題。DeepTRE通過(guò)GPU并行化來(lái)解決該問(wèn)題,解決思路為將式(4)中的非線性、非凸優(yōu)化問(wèn)題轉(zhuǎn)換為張量公式。

1.2 DeepTRE介紹

DeepTRE主要包含敏感度矩陣計(jì)算和魯棒性上下界計(jì)算兩部分。一般來(lái)說(shuō),在攻擊方法中生成對(duì)抗樣本時(shí)計(jì)算得到的最小擾動(dòng)是魯棒性的上界,而保證一定不會(huì)產(chǎn)生對(duì)抗樣本的最小擾動(dòng)是魯棒性的下界[17]。DeepTRE使用L0范數(shù)(即對(duì)抗樣本與原圖像相比改變像素的個(gè)數(shù))衡量對(duì)抗樣本和原圖像之間的距離。要得到神經(jīng)網(wǎng)絡(luò)全局魯棒性的上下界,就要對(duì)測(cè)試集中每個(gè)圖像x計(jì)算子空間敏感度矩陣S(T0,t)。

假設(shè)輸入數(shù)據(jù)集中圖像像素大小為w×h(w為圖像寬度,h為圖像高度)、類(lèi)別數(shù)量為m,對(duì)每個(gè)像素添加擾動(dòng)的次數(shù)為p。對(duì)擾動(dòng)后得到的張量進(jìn)行模1展開(kāi)(mode-1 unfolding),得到的矩陣由w×h×p個(gè)元組組成,每個(gè)元組包含2個(gè)子元組,一個(gè)是第i次只改變t個(gè)像素后的圖像,i∈{1,…,p},即子空間完備集,另一個(gè)是原圖像和擾動(dòng)后圖像在Softmax層輸入中的m個(gè)類(lèi)別差值。將得到的矩陣按第2個(gè)子元組原始類(lèi)別的差值從大到小排序,即按照相應(yīng)像素改變對(duì)正確類(lèi)別影響從大到小排序,得到敏感度矩陣S(T0,t)。敏感度矩陣實(shí)際表示的物理意義是同時(shí)改變t個(gè)像素的組合對(duì)神經(jīng)網(wǎng)絡(luò)輸出正確類(lèi)別概率的影響。

對(duì)于魯棒性下界的計(jì)算,只需要檢測(cè)張量S(T0,t)第3維第1行的圖像是否會(huì)發(fā)生類(lèi)別變化,即檢測(cè)S(T0,t)[∶,∶,1]∈Rn×p是否有C(f,S(T0,t)[∶,∶,1])≠C(f,T0)。如果沒(méi)有,魯棒性下界就是t,反之說(shuō)明改動(dòng)t個(gè)像素足以引起圖像類(lèi)別發(fā)生改變,那么此時(shí)魯棒性下界就是t-1。

對(duì)于上界的計(jì)算比較復(fù)雜,包含了累加和剔除2個(gè)部分。在累加部分,對(duì)于T0中的每個(gè)輸入圖像,根據(jù)敏感度矩陣從上到下的順序,從原圖像開(kāi)始迭代,采用敏感度矩陣中的擾動(dòng),直到圖像類(lèi)別發(fā)生變化,此時(shí)生成的圖像一定是一張對(duì)抗樣本。剔除部分是在這張對(duì)抗樣本基礎(chǔ)上進(jìn)行的,每次恢復(fù)敏感度矩陣中一行的t個(gè)像素的值,如果剔除了這t個(gè)像素后的對(duì)抗樣本仍然分類(lèi)錯(cuò)誤,就說(shuō)明這t個(gè)像素不會(huì)對(duì)分類(lèi)結(jié)果產(chǎn)生影響,這t個(gè)像素仍然保持恢復(fù)后的原值,否則撤銷(xiāo)這一步的剔除。如此,將敏感度矩陣中的w×h×p個(gè)元組剔除一次后得到的更改像素個(gè)數(shù)就是魯棒性的上界。

1.3 DeepTRE的不足

首先,Ruan等[16]在對(duì)DeepTRE的介紹中提出了全局魯棒性的概念,在案例3的實(shí)現(xiàn)中,雖然驗(yàn)證時(shí)載入了測(cè)試集中的所有圖像,但是在每張圖像上的魯棒性分析是獨(dú)立的,得出的結(jié)論也是神經(jīng)網(wǎng)絡(luò)在每張圖像上的局部魯棒性。因此,擴(kuò)展案例3,使其支持全局魯棒性。

其次,DeepTRE在進(jìn)行魯棒性評(píng)估時(shí),并沒(méi)有設(shè)定驗(yàn)證范圍,這不符合實(shí)際情況。根據(jù)對(duì)抗樣本的定義,生成的對(duì)抗樣本與原始圖像之間的距離需要限制在一定范圍內(nèi),這個(gè)距離限制保證了對(duì)抗樣本與原始圖像的相似性,將這個(gè)范圍稱(chēng)為驗(yàn)證范圍,即在驗(yàn)證范圍內(nèi)用人眼看對(duì)抗樣本與原始圖像應(yīng)該屬于同一類(lèi)別,超過(guò)驗(yàn)證范圍后人眼可輕易區(qū)分對(duì)抗樣本與原始圖像,不會(huì)將兩者劃分到同一類(lèi)別。DeepTRE只強(qiáng)調(diào)找到一個(gè)擾動(dòng)的上界,當(dāng)擾動(dòng)超過(guò)上界時(shí)一定能夠找到對(duì)抗樣本。然而,當(dāng)上界超過(guò)驗(yàn)證范圍時(shí),該上界值也就沒(méi)有了意義,因此引入驗(yàn)證范圍的概念。

最后,分析原始算法的空間復(fù)雜度。假設(shè)測(cè)試集中共有λ張圖像屬于m個(gè)類(lèi)別,每個(gè)像素的擾動(dòng)次數(shù)為p,每張圖像的像素大小為w×h×γ,其中γ為圖像通道數(shù)。DeepTRE在算法實(shí)現(xiàn)中有3個(gè)較大的矩陣:第1個(gè)矩陣是存儲(chǔ)測(cè)試集圖像地址的矩陣,由于DeepTRE將測(cè)試集中所有圖像的地址存儲(chǔ)在一個(gè)矩陣中,并依次在每張圖像上計(jì)算神經(jīng)網(wǎng)絡(luò)的局部魯棒性,因此矩陣的空間度復(fù)雜度為O(λ);第2個(gè)矩陣是輸入給神經(jīng)網(wǎng)絡(luò)的張量,由w×h×p個(gè)元組組成,每個(gè)元組保存添加擾動(dòng)后圖像的像素值,大小為w×h×γ,對(duì)每個(gè)被保存的擾動(dòng)后圖像,有(w×h-1)個(gè)像素的值與原圖像相同,一個(gè)像素的值因添加擾動(dòng)而不同,每個(gè)像素被添加p次擾動(dòng),因此矩陣的空間復(fù)雜度為O(w×h×p×w×h×γ);第3個(gè)矩陣是神經(jīng)網(wǎng)絡(luò)輸出的敏感度矩陣,由w×h×p個(gè)元組組成,每個(gè)元組保存Softmax層在m個(gè)類(lèi)別的輸出,矩陣的空間復(fù)雜度為O(w×h×p×m)。因此,總空間復(fù)雜度為O(λ)+O(w×h×p×w×h×γ)+O(w×h×p×m)。一般而言,測(cè)試集中圖像數(shù)量和類(lèi)別數(shù)量不會(huì)過(guò)大,因此算法的總空間復(fù)雜度為O(w×h×p×w×h×γ)。以ImageNet數(shù)據(jù)集為例,每張圖像的像素大小為224×224×3,默認(rèn)擾動(dòng)次數(shù)p=2,空間復(fù)雜度為224×224×2×224×224×3=15 105 785 856??梢钥闯觯?dāng)數(shù)據(jù)集規(guī)模變大時(shí),算法的空間復(fù)雜度急劇增加,使得驗(yàn)證無(wú)法進(jìn)行。

1.4 DeepTRE的改進(jìn)

基于上述原因,對(duì)DeepTRE進(jìn)行改進(jìn),使其支持大規(guī)模圖像驗(yàn)證,具體的改進(jìn)內(nèi)容包括由局部魯棒性計(jì)算改為全局魯棒性計(jì)算、允許任意設(shè)置擾動(dòng)值、設(shè)定驗(yàn)證范圍、多輪預(yù)測(cè)以減少空間復(fù)雜度4個(gè)方面,接下來(lái)對(duì)改進(jìn)過(guò)程進(jìn)行詳細(xì)介紹。

使用變量Lv表示驗(yàn)證范圍。由于DeepTRE是基于L0距離,因此Lv直觀上表示的是改變的最大像素?cái)?shù)。當(dāng)改變像素的個(gè)數(shù)小于Lv的下界時(shí),認(rèn)為生成的對(duì)抗樣本與原樣本應(yīng)該屬于同一個(gè)類(lèi)別;當(dāng)改變像素的個(gè)數(shù)大于Lv的上界時(shí),認(rèn)為添加的擾動(dòng)過(guò)大,用人眼看來(lái)生成的樣本與原樣本類(lèi)別不同。改進(jìn)后的DeepTRE算法如圖1所示。

圖1 改進(jìn)后的DeepTRE算法Fig.1 Improved DeepTRE algorithm

圖1是改進(jìn)后的DeepTRE算法,使用GetFeatureMap、Accumulate和Refine 3個(gè)函數(shù)分別表示敏感度特征圖計(jì)算、像素?cái)_動(dòng)累積和像素變化恢復(fù)3個(gè)子過(guò)程(后續(xù)介紹3個(gè)函數(shù))。圖1中,φ表示排序后的特征圖,g表示是否找到對(duì)抗樣本的布爾值,n和α表示整數(shù)變量,x表示測(cè)試集取到的單張圖片,x~表示像素?cái)_動(dòng)產(chǎn)生的樣本,x′表示剔除對(duì)類(lèi)別變化無(wú)影響的像素后得到對(duì)抗樣本。g=true表示像素?cái)_動(dòng)累積過(guò)程中在驗(yàn)證范圍內(nèi)發(fā)現(xiàn)了一個(gè)對(duì)抗樣本,然后對(duì)此對(duì)抗樣本進(jìn)行像素變化恢復(fù),并計(jì)算其擾動(dòng)上限。相反,g=false表示在像素?cái)_動(dòng)累積過(guò)程中即使對(duì)所有像素都添加了擾動(dòng)也不足以引起圖像類(lèi)別的變化,說(shuō)明神經(jīng)網(wǎng)絡(luò)模型在這張圖像上的魯棒性強(qiáng),可將所有g(shù)=false的圖像x保存到S中輸出。在剔除對(duì)類(lèi)別變化無(wú)影響的像素后得到對(duì)抗樣本,用函數(shù)d度量原始圖像x與對(duì)抗樣本x′之間的距離,如果該距離大于驗(yàn)證范圍,就認(rèn)為對(duì)抗樣本x′不是真正的對(duì)抗樣本,同時(shí)將原始圖像x保存到S中輸出。

敏感度特征圖計(jì)算算法GetFeatureMap如圖2所示,其中y表示神經(jīng)網(wǎng)絡(luò)模型對(duì)圖片x的分類(lèi)標(biāo)簽,x~是對(duì)x的復(fù)制,方便嘗試擾動(dòng)。對(duì)于測(cè)試數(shù)據(jù)集中每個(gè)帶有標(biāo)簽的圖像x,按照像素位置的順序一次改變一個(gè)像素值,其余像素值不變。計(jì)算所有擾動(dòng)后的圖像x~在f的Softmax函數(shù)中的輸入矩陣,依次記錄每個(gè)矩陣在y標(biāo)簽下的值并按升序排序,得到每張圖像排序后的特征圖,即敏感度特征。圖2中,s^(β)是檢索模型Softmax層的輸入,sort(M,t)是按給定維度t對(duì)矩陣M進(jìn)行排序。用戶可以任意設(shè)置擾動(dòng)的大小δ,從而代替原算法中的每個(gè)像素的擾動(dòng)次數(shù)p。由于圖像像素值被歸一化至0到1之間,因此像素最大值為1,當(dāng)添加擾動(dòng)后的像素值超過(guò)1時(shí)設(shè)置該像素值為1。新的敏感度矩陣計(jì)算算法大大減小了空間復(fù)雜度。在原算法中將所有添加擾動(dòng)后的圖像放入同一個(gè)張量,隨后將張量輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),因此神經(jīng)網(wǎng)絡(luò)的輸入以及預(yù)測(cè)后輸出的矩陣都非常大。在改進(jìn)后的算法中,采用多輪輸入神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的方法,每生成一批擾動(dòng)后的圖像就輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),以時(shí)間換空間,大大減小了對(duì)內(nèi)存的需求。

圖2 子空間敏感度計(jì)算方法Fig.2 Subspace sensitivity calculation algorithm

改進(jìn)后的Accumulate算法偽代碼如圖3所示。依次在原始圖像x上累加敏感度矩陣φ中的擾動(dòng),并將所有擾動(dòng)后的圖像保存在矩陣M中。將矩陣M輸入到神經(jīng)網(wǎng)絡(luò),預(yù)測(cè)得到標(biāo)簽矩陣Y^,如果Y^中存在標(biāo)簽與圖像原始標(biāo)簽y不同,就說(shuō)明M中存在對(duì)抗樣本。M中圖像的擾動(dòng)數(shù)量依次增加,第1張圖像M[0]即為改動(dòng)像素個(gè)數(shù)最少的圖像x~,返回g=true和找到的對(duì)抗樣本x~。反之,如果對(duì)抗樣本不存在,累加算法返回g=false和原始圖像x。

圖3 改進(jìn)后的Accumulate算法Fig.3 Improved Accumulate algorithm

根據(jù)敏感度特征圖計(jì)算算法,敏感度矩陣中的擾動(dòng)次數(shù)為w×h,即對(duì)原始圖像中的每個(gè)像素都擾動(dòng)一次。若累加過(guò)程中對(duì)所有擾動(dòng)都進(jìn)行嘗試,算法的空間復(fù)雜度則高達(dá)O(w×h×w×h×γ)。原累加過(guò)程增加了疊加擾動(dòng)的范圍k以限制累加擾動(dòng)的數(shù)量。用戶可以自由設(shè)置k的值,如果擾動(dòng)像素?cái)?shù)超過(guò)k,累加就終止,所以原累加算法的空間復(fù)雜度為O(k×w×h×γ)。當(dāng)k設(shè)置過(guò)小時(shí),原算法可能忽略存在的對(duì)抗樣本;當(dāng)k設(shè)置過(guò)大時(shí),原算法的空間復(fù)雜度仍然很大。

在新的Accumulate算法中取消范圍限制,規(guī)定每當(dāng)矩陣M中累加的擾動(dòng)數(shù)量為圖像的寬w時(shí),檢測(cè)一次是否找到對(duì)抗樣本,如果找到就返回g=true及找到的對(duì)抗樣本,否則清空矩陣M中的值并在之前擾動(dòng)后的圖像基礎(chǔ)上繼續(xù)添加擾動(dòng)。改進(jìn)后Accumulate算法空間復(fù)雜度為O(w×w×h×γ)。

改進(jìn)后DeepTRE的空間復(fù)雜度主要取決于新的敏感度矩陣計(jì)算算法,與原敏感度矩陣計(jì)算算法相比,改進(jìn)后算法包含2個(gè)較大的矩陣,第1個(gè)為神經(jīng)網(wǎng)絡(luò)輸入矩陣,第2個(gè)為Softmax層的輸出矩陣。

對(duì)于第1個(gè)矩陣,假設(shè)測(cè)試集中共有λ張圖像屬于m個(gè)類(lèi)別,用擾動(dòng)δ代替原算法中的擾動(dòng)次數(shù)p,這樣可以在驗(yàn)證開(kāi)始前任意設(shè)置擾動(dòng)大小,而不需要在擾動(dòng)時(shí)動(dòng)態(tài)計(jì)算。每張圖像的像素大小為w×h×γ。對(duì)擾動(dòng)后的圖像分e批處理,每批都有(w×h)/e個(gè)圖像,因此輸入給神經(jīng)網(wǎng)絡(luò)的張量大小為((w×h)/e)×(w×h×γ)。為方便實(shí)現(xiàn),對(duì)于大型圖像數(shù)據(jù)集,可以設(shè)置e=h。時(shí)間換空間的策略能有效降低空間復(fù)雜度,達(dá)到兩者的平衡,此時(shí)空間復(fù)雜度為O(w×w×h×γ)。

對(duì)于第2個(gè)矩陣,不像原方法將m個(gè)類(lèi)別在Softmax層的輸出全部保存,由于只關(guān)注是否生成對(duì)抗樣本,而不關(guān)注生成對(duì)抗樣本的具體類(lèi)別,因此對(duì)于原始圖像xi生成的擾動(dòng)后圖像,只需保存第C(f,xi)類(lèi)別Softmax層的輸出即可,這部分的空間復(fù)雜度為O(((w×h)/e)×1)=O(w×1)。

因此,通過(guò)多輪預(yù)測(cè)優(yōu)化,改進(jìn)后DeepTRE的空間復(fù)雜度為O(w×w×h×γ)。

2 魯棒性驗(yàn)證實(shí)驗(yàn)

對(duì)于DeepTRE,目前有嚴(yán)格的理論證明過(guò)程,但該方法只應(yīng)用于少數(shù)公共數(shù)據(jù)集。在本節(jié)中,基于文獻(xiàn)[18]中研究結(jié)果,使用改進(jìn)的DeepTRE驗(yàn)證神經(jīng)網(wǎng)絡(luò)在高鐵運(yùn)營(yíng)環(huán)境識(shí)別任務(wù)模型中[18]的魯棒性。數(shù)據(jù)集大小為(30 000×224×224×3),即數(shù)據(jù)集包含30 000張RGB(red green blue),寬高為224×224。該數(shù)據(jù)集包含6個(gè)類(lèi)別(類(lèi)別0~5),分別是“白天有霧”、“白天晴天”、“白天有雨”、“夜間晴天”、“夜間有雨”和“隧道內(nèi)”。數(shù)據(jù)來(lái)源為中國(guó)濟(jì)南和重慶高鐵運(yùn)營(yíng)期間的監(jiān)控視頻,涵蓋了多種地形、拍攝角度、車(chē)輛類(lèi)型、時(shí)間段、路段和天氣情況。

2.1 使用改進(jìn)的DeepTRE對(duì)高鐵運(yùn)營(yíng)環(huán)境識(shí)別模型進(jìn)行驗(yàn)證

實(shí)驗(yàn)是在使用Tesla K40c的GPU上進(jìn)行的,驗(yàn)證范圍Lv=50 000,擾動(dòng)δ=0.5。采用包括6 000張圖片的測(cè)試集對(duì)模型進(jìn)行魯棒性評(píng)估,改進(jìn)后的DeepTRE對(duì)每張圖像的平均搜索時(shí)間為10 min。實(shí)驗(yàn)后一共生成了1 792個(gè)對(duì)抗樣本,每個(gè)類(lèi)別分別有199、98、0、532、411、552個(gè),攻擊成功率為0.298 7。圖4為改進(jìn)后DeepTRE攻擊各個(gè)類(lèi)別生成的對(duì)抗樣本示例,相應(yīng)的對(duì)抗樣本類(lèi)別變化如表1所示。

表1 對(duì)抗樣本的類(lèi)別變化Tab.1 Category change of adversarial examples

圖4 改進(jìn)后DeepTRE生成的對(duì)抗樣本示例Fig.4 Adversarial examples generated by improved DeepTRE

實(shí)驗(yàn)結(jié)果表明,改進(jìn)后DeepTRE的攻擊效果良好。直觀上看,攻擊“白天有雨”類(lèi)別的效果不好,沒(méi)有生成一張對(duì)抗樣本,在其余5個(gè)類(lèi)別中攻擊效果均較好,在“夜間晴天”類(lèi)別生成的對(duì)抗樣本數(shù)量最多,與原樣本的距離也最小。對(duì)于第7組和第9組圖像而言,DeepTRE添加的擾動(dòng)肉眼幾乎不可分辨。對(duì)于“白天晴天”而言,部分圖像添加的擾動(dòng)個(gè)數(shù)很少(第7組),部分圖像添加擾動(dòng)個(gè)數(shù)卻很多(第6組),但擾動(dòng)像素個(gè)數(shù)與圖像類(lèi)別沒(méi)有確定的關(guān)系。

已知DeepTRE全局魯棒性上界是測(cè)試集上所有對(duì)抗樣本與原圖像之間距離的期望,為1 037 572/1 792=579(數(shù)據(jù)集中的擾動(dòng)像素總數(shù)為1 037 572,有1 792個(gè)對(duì)抗樣本)。通過(guò)實(shí)驗(yàn)給出了訓(xùn)練好的模型的魯棒性上界為579。

在空間復(fù)雜度方面,改進(jìn)前的DeepTRE由于空間復(fù)雜度過(guò)高導(dǎo)致顯存溢出而無(wú)法進(jìn)行實(shí)驗(yàn),因此在理論上討論改進(jìn)前后DeepTRE空間復(fù)雜度的差異。為了減少?gòu)?fù)雜度,只考慮t=1維的情況。數(shù)據(jù)集中每張圖像的像素大小為224×224,一共6個(gè)類(lèi)別,在添加擾動(dòng)得到敏感度矩陣后分224次輸入到神經(jīng)網(wǎng)絡(luò)中進(jìn)行預(yù)測(cè),那么算法的復(fù)雜度為224×224×224×3=33 718 272。原DeepTRE空間復(fù)雜度為224×224×2×224×224×3=15 105 785 856,是改進(jìn)后DeepTRE的448倍,改進(jìn)后的DeepTRE以時(shí)間換空間的方法減少了中間矩陣的大小,使得能夠支持更大圖像像素和數(shù)量的數(shù)據(jù)集。

2.2 對(duì)比實(shí)驗(yàn)

采用2種神經(jīng)網(wǎng)絡(luò)驗(yàn)證方法DLV(deep learning verification)和SafeCV(safe computer vision)在同一識(shí)別案例中進(jìn)行實(shí)驗(yàn),并將驗(yàn)證結(jié)果與改進(jìn)后DeepTRE進(jìn)行對(duì)比。DLV通過(guò)離散化處理輸入層或隱藏層的向量空間,然后在離散化空間上應(yīng)用窮舉搜索算法尋找對(duì)抗樣本,從而驗(yàn)證神經(jīng)網(wǎng)絡(luò)的魯棒性。SafeCV將對(duì)抗樣本的搜索過(guò)程轉(zhuǎn)化為雙人回合制隨機(jī)博弈,并通過(guò)蒙特卡羅樹(shù)搜索逐步搜索博弈狀態(tài)空間來(lái)尋找對(duì)抗樣本。

DLV在使用過(guò)程中有2個(gè)問(wèn)題。第一,DLV確保找到對(duì)抗樣本是基于離散化方式對(duì)驗(yàn)證范圍進(jìn)行了窮舉搜索,但增加了算法的時(shí)間復(fù)雜度;第二,將神經(jīng)網(wǎng)絡(luò)模型集成到DLV上時(shí),需要給定的用戶參數(shù)個(gè)數(shù)多達(dá)15個(gè),因此影響對(duì)抗樣本的尋找速度及尋找結(jié)果。對(duì)于第2個(gè)問(wèn)題,采取多次實(shí)驗(yàn)的方法,嘗試采用不同的參數(shù)值以豐富對(duì)抗樣本的尋找結(jié)果。最終得到的重要參數(shù)值(節(jié)選)如下:numOfFeatures=10 000(表示驗(yàn)證網(wǎng)絡(luò)每一層時(shí)考慮的特征數(shù)量),featureDims=5(每個(gè)像素的維度數(shù)量),controlledSearc=("L1",40)(使用L1范數(shù)度量擾動(dòng),擾動(dòng)的L1范數(shù)小于40)。

相比之下,改進(jìn)后的DeepTRE涉及的參數(shù)只有2個(gè),對(duì)用戶十分友好,同時(shí)驗(yàn)證速度也快于DLV。SafeCV的驗(yàn)證更快,遠(yuǎn)遠(yuǎn)快于DLV,略快于改進(jìn)后的DeepTRE。

針對(duì)改進(jìn)后的DeepTRE,DLV和SafeCV的實(shí)驗(yàn)結(jié)果中挑選6組進(jìn)行對(duì)比,如圖5所示。值得注意的是,改進(jìn)后的DeepTRE并沒(méi)有在“白天有雨”類(lèi)別中找到一個(gè)對(duì)抗性例子。從視覺(jué)上可以直觀地發(fā)現(xiàn),3種方法在給定的驗(yàn)證范圍內(nèi)魯棒性都未通過(guò),DLV和SafeCV都需要對(duì)原圖像改動(dòng)很大才能攻擊成功,除“白天有雨”類(lèi)別外,改進(jìn)后DeepTRE的改動(dòng)明顯少于其他2種驗(yàn)證方法。另外,雖然3種方法都是基于L0范數(shù)進(jìn)行攻擊的,但是攻擊方式有較大的不同。DeepTRE是根據(jù)自身設(shè)計(jì)的像素敏感度計(jì)算方法進(jìn)行搜索,而DLV和SafeCV是根據(jù)SIFT(scale invariant feature transform)計(jì)算像素響度提取特征進(jìn)行攻擊,同時(shí)SafeCV增加了蒙特卡羅樹(shù)搜索,以雙玩家博弈的方式計(jì)算出最優(yōu)解。

圖5 原始圖像和改進(jìn)后DeepTRE、DLV、SafeCV生成的對(duì)抗樣本Fig.5 Original images and adversarial examples generated by improved DeepTRE,DLV and SafeCV

表2為6組圖像對(duì)應(yīng)的類(lèi)別變更。表2中,N表示在給定驗(yàn)證范圍內(nèi)未找到對(duì)抗樣本。從定量角度看,DLV和SafeCV改動(dòng)的像素個(gè)數(shù)大部分都在萬(wàn)級(jí)別,而改進(jìn)后DeepTRE改動(dòng)的像素個(gè)數(shù)大部分在幾百左右。

表2 由改進(jìn)后的DeepTRE、SafeCV和DLV攻擊產(chǎn)生的對(duì)抗樣本的類(lèi)別變化Tab.2 Category change of adversarial samples generated by improved DeepTRE,SafeCV and DLV

在維度t=1的情況下,改進(jìn)后的DeepTRE得到基于L0的神經(jīng)網(wǎng)絡(luò)全局魯棒性下界為1,上界為579,而DLV和SafeCV都是針對(duì)單個(gè)輸入圖像,如果在一定范圍內(nèi)能夠找到對(duì)抗樣本,神經(jīng)網(wǎng)絡(luò)就是不魯棒的,如果沒(méi)有對(duì)抗樣本,神經(jīng)網(wǎng)絡(luò)就是魯棒的,并沒(méi)有給出全局的證明。DLV在L1小于40的區(qū)域內(nèi)針對(duì)所有輸入圖像都找到了對(duì)抗樣本,因此DLV得到基于L1的魯棒性上界小于40,基于L0的魯棒性上界小于(numOfFeatures×featureDims)10 000×5=50 000;SafeCV的運(yùn)行速度很快,采用蒙特卡羅樹(shù)搜索返回最優(yōu)結(jié)果,盡管得到了最優(yōu)結(jié)果,但是除“夜間晴天”類(lèi)別中的個(gè)別輸入圖像外,大部分圖像改動(dòng)的像素個(gè)數(shù)都是上萬(wàn),從視覺(jué)上認(rèn)為生成的對(duì)抗樣本改動(dòng)過(guò)大,甚至人眼都可以將對(duì)抗樣本與原始圖像區(qū)分,因此SafeCV方法在模型和數(shù)據(jù)集上的驗(yàn)證效果較差,得出的魯棒性上界也過(guò)大。

在驗(yàn)證效果方面,改進(jìn)后的DeepTRE要顯著強(qiáng)于DLV和SafeCV,可以在更小的L0下生成對(duì)抗樣本。從運(yùn)行時(shí)間上看,改進(jìn)后的DeepTRE明顯快于DLV,但是略慢于SafeCV。

3 結(jié)語(yǔ)

通過(guò)對(duì)DeepTRE進(jìn)行優(yōu)化降低了DeepTRE的空間復(fù)雜度以支持大規(guī)模圖像數(shù)據(jù)集,改進(jìn)內(nèi)容包括由局部魯棒性計(jì)算改為全局魯棒性計(jì)算、允許自定義設(shè)置擾動(dòng)值、設(shè)定驗(yàn)證范圍、多輪預(yù)測(cè)以減少空間復(fù)雜度4個(gè)方面。最后,采用實(shí)驗(yàn)驗(yàn)證了改進(jìn)后的DeepTRE的效果。結(jié)果表明,一方面改進(jìn)后的DeepTRE顯著降低了空間復(fù)雜度以支持更大規(guī)模的數(shù)據(jù)集,另一方面改進(jìn)后的DeepTRE相較于DLV和SafeCV在較快的驗(yàn)證速度下?lián)碛懈鼉?yōu)異的驗(yàn)證效果。

作者貢獻(xiàn)聲明:

高珍:論文審閱與修改,算法設(shè)計(jì)指導(dǎo)。

蘇宇:模型構(gòu)建,算法設(shè)計(jì)與實(shí)現(xiàn),論文撰寫(xiě)。

侯瀟雪:模型構(gòu)建,算法設(shè)計(jì)與實(shí)現(xiàn),論文撰寫(xiě)。

方沛:論文審閱與修訂。

張苗苗:論文審閱與修訂,算法改進(jìn)指導(dǎo)。

猜你喜歡
魯棒性復(fù)雜度類(lèi)別
荒漠綠洲區(qū)潛在生態(tài)網(wǎng)絡(luò)增邊優(yōu)化魯棒性分析
基于確定性指標(biāo)的弦支結(jié)構(gòu)魯棒性評(píng)價(jià)
一種低復(fù)雜度的慣性/GNSS矢量深組合方法
求圖上廣探樹(shù)的時(shí)間復(fù)雜度
基于非支配解集的多模式裝備項(xiàng)目群調(diào)度魯棒性優(yōu)化
西南交通大學(xué)學(xué)報(bào)(2016年6期)2016-05-04 04:13:11
某雷達(dá)導(dǎo)51 頭中心控制軟件圈復(fù)雜度分析與改進(jìn)
服務(wù)類(lèi)別
出口技術(shù)復(fù)雜度研究回顧與評(píng)述
論類(lèi)別股東會(huì)
商事法論集(2014年1期)2014-06-27 01:20:42
象州县| 秭归县| 仲巴县| 花莲市| 景谷| 海丰县| 遵化市| 封开县| 师宗县| 九江市| 吉隆县| 博乐市| 威宁| 木里| 宜川县| 禄劝| 南溪县| 那坡县| 万载县| 横峰县| 南京市| 台前县| 永定县| 井冈山市| 孟村| 宣城市| 肥乡县| 昌宁县| 英山县| 泰顺县| 防城港市| 哈密市| 禹城市| 藁城市| 平和县| 诸暨市| 双桥区| 海兴县| 九龙城区| 广宁县| 南通市|