王家
摘要:神經(jīng)網(wǎng)絡(luò)在分類問題中表現(xiàn)出色。但最近研究表明,如果在原有輸入數(shù)據(jù)上疊加一個很小的噪聲,分類的效果就會受到嚴(yán)重干擾。本文主要研究基于FGS算法,針對圖像分類問題生成對抗樣本的原理與方法,該方法測試數(shù)據(jù)集上的測試表明,加入噪點(diǎn)后的任意圖片所生成的對抗樣本,能以99%以上的置信度被識別為我們指定的類別。
關(guān)鍵詞:圖像分類;對抗樣本;深度學(xué)習(xí)
中圖分類號:TP18? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)28-0222-02
1 引言
近幾年,人工智能的發(fā)展特別是神經(jīng)網(wǎng)絡(luò)技術(shù)的突飛猛進(jìn),使用神經(jīng)網(wǎng)絡(luò)來解決分類問題也越加成熟。使用神經(jīng)網(wǎng)絡(luò)的來解決分類在很多生產(chǎn)生活場景中會被使用到,如自動駕駛汽車,人臉識別驗證。但是隨著研究的深入發(fā)現(xiàn)在已有的數(shù)據(jù)中故意加入細(xì)微的干擾,就可以讓一個本來分類正確率很高的神經(jīng)網(wǎng)絡(luò)模型出現(xiàn)錯誤的分類。
因此,如何有效地對神經(jīng)網(wǎng)絡(luò)系統(tǒng)的安全性做檢測和驗證成了重要的研究課題[1]。此前,研究人員已經(jīng)發(fā)現(xiàn),同過現(xiàn)有的技術(shù)無法在關(guān)鍵應(yīng)用中相信神經(jīng)網(wǎng)絡(luò),直到能夠理解為什么會發(fā)生上述問題或如何解決它。想象一下在手機(jī)登錄驗證中使用的人臉識別技術(shù)被用戶被人照片騙過的情況,都是由于其神經(jīng)網(wǎng)絡(luò)誤分類了輸入圖像而造成的。
2 神經(jīng)網(wǎng)絡(luò)與對抗樣本
神經(jīng)網(wǎng)絡(luò)又被稱為人工神經(jīng)網(wǎng)絡(luò)是由大量處理單元互聯(lián)組成的非線性、自適應(yīng)信息處理系統(tǒng)。它是在現(xiàn)代神經(jīng)科學(xué)研究成果的基礎(chǔ)上提出的,試圖通過模擬大腦神經(jīng)網(wǎng)絡(luò)處理、記憶信息的方式進(jìn)行信息處理。
對抗樣本(Adversarial Examples)是指在數(shù)據(jù)集中通過故意添加細(xì)微的干擾所形成輸入樣本,受干擾之后的輸入數(shù)據(jù)將導(dǎo)致模型以高置信度給出了一個錯誤的輸出。本文主要研究針對圖像分類問題如何生成干擾樣本,從而能夠讓圖像分類問題出現(xiàn)錯誤的分類結(jié)果。
常見的威脅模型分為3類:白盒模型,黑盒模型,和轉(zhuǎn)移模型。白盒模型中,攻擊者可以利用網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)的所有知識產(chǎn)生攻擊;黑盒模型中,攻擊者可以利用對模型的詢問得到輸入輸出對,但無法獲知模型內(nèi)部信息;轉(zhuǎn)移模型中,攻擊者不能向模型發(fā)起查詢請求,對模型內(nèi)部信息也不知情,但了解模型所要解決的具體問題是什么。
3 設(shè)計概覽
3.1 圖像分類模型
在研究對抗樣本之前,我們需要確定作為圖像分類神經(jīng)網(wǎng)絡(luò)。因為現(xiàn)在有各種不同的神經(jīng)網(wǎng)絡(luò)模型都能夠解決分類的問題,同時也有根據(jù)不同的訓(xùn)練集作為訓(xùn)練神經(jīng)網(wǎng)絡(luò)參數(shù)的數(shù)據(jù)。
本文選擇了Inception v3模型作為神經(jīng)網(wǎng)絡(luò)模型,同時基于大型圖像數(shù)據(jù)庫ImageNet中的數(shù)據(jù)對模型進(jìn)行訓(xùn)練。Inception v3模型大約有2500萬個參數(shù),分類一張圖像就用了50億的乘加指令。在一臺沒有GPU的現(xiàn)代PC上,分類一張圖像轉(zhuǎn)眼就能完成。
Inception模型的輸出是softmax函數(shù), softmax輸出有時也稱為概率分布(probabilities),因為它介于0到1之間,所有結(jié)果的概率相加為一,與概率分布相同。但它們并不是傳統(tǒng)語義上的概率分布,因為并不是由重復(fù)試驗得來。
使用Inception對已知的圖片進(jìn)行分類,下圖為輸入的猴子的圖片和分類的結(jié)果。
在上面的分類中, Inception模型將我們給出的猴子的圖片,在獼猴類型上給出了很高的分?jǐn)?shù)—85.33%,葉猴的評分為2.07%,可以從結(jié)果看出Inception圖像分類模型,在圖像分類問題上有很不錯的表現(xiàn)。
3.2? 算法描述
本文將使用FGS方法來生成針對神經(jīng)網(wǎng)絡(luò)圖像分類的對抗樣本。FGS快速梯度符號方法是生成對抗樣本的方法之一[2]。其核心是讓輸入圖像 x∈Rm朝著類別置信度降低的方向移動,令x∈Rm是輸入圖像,y 是輸入 x 對應(yīng)的類標(biāo)簽,η是模型參數(shù),ε是步長,J(θ, x,y) 是所選的超參數(shù), ?Jx(θ, x,y)是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的損失函數(shù), θ是損失函數(shù)的偏導(dǎo)數(shù)。我們可以在當(dāng)前值θ附近對損失函數(shù)線性化得到干擾的最大范數(shù)限制:
4 實(shí)驗方法與評測
4.1 實(shí)驗的目標(biāo)
實(shí)驗的目標(biāo)是研究如何針對神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的圖像分類器尋找對抗樣本的方法。研究預(yù)先設(shè)置了圖片的一個錯誤分類結(jié)果,對抗樣本會使神經(jīng)網(wǎng)絡(luò)誤分類任何輸入圖像為預(yù)設(shè)的錯誤分類結(jié)果。
4.2 實(shí)驗的方法
通過簡向輸入圖像添加小部分“特定”噪聲圖片的方式。人類在觀察對抗樣本圖片時不會覺察到這些變化,但它卻能騙過Inception模型神經(jīng)網(wǎng)絡(luò),讓Inception模型給出的分類是錯誤的類別。
首先使用Inception模型圖片分類網(wǎng)絡(luò),然后修改 Inception模型的結(jié)構(gòu),來尋找可以引起Inception模型誤分類輸入圖像的對抗樣本。在下面的流程圖中,我們在“猴子”的圖像上添加了一些噪聲,然后作為Inception模型的輸入。最終目標(biāo)是找到使Inception模型將圖像誤分類成我們目標(biāo)類型的噪聲,我們選擇將猴子的圖片錯誤的分類為書柜類型(分類號300)。
它是Inception模型分類噪聲圖像的性能度量。由于Inception模型是由很多相結(jié)合的基本數(shù)學(xué)運(yùn)算構(gòu)造的,使用微分鏈?zhǔn)椒▌t,TensorFlow讓我們很快就能找到損失函數(shù)的梯度。
第三步,使用損失函數(shù)關(guān)于輸入圖像的梯度,來尋找對抗噪聲。要尋找的是那些可以增加'書柜'類別而不是輸入圖像原始類別的評分(即概率)的噪聲。這本質(zhì)上是用梯度下降法來執(zhí)行優(yōu)化的。
新的損失函數(shù)找出了要添加到輸入圖像上的噪聲,這樣(輸入圖像)就會被分類到想要的目標(biāo)型。這個函數(shù)本質(zhì)上是用梯度下降來執(zhí)行優(yōu)化。噪聲被初始化為零,然后用損失函數(shù)關(guān)于輸入噪聲圖像的梯度來逐步優(yōu)化,這樣,每次迭代噪聲都使分類更接近于想要的目標(biāo)類型。當(dāng)分類評分達(dá)到要求(比如99%)或者執(zhí)行了最大迭代次數(shù)時,就停止優(yōu)化。
最后,函數(shù)對輸入做歸一化,則輸入值在0.0到1.0之間,這樣才能正確地顯示出噪聲。它先找到對抗噪聲,然后畫出圖像和噪聲。這個例子將一張猴子的圖作為輸入,然后找到對抗噪聲,使得Inception模型將圖像誤分類成一個書架(類別號300)。
噪聲界限設(shè)為3.0,這表示只允許每個像素顏色在3.0范圍內(nèi)波動。像素顏色在0到255之間,因此3.0的浮動對應(yīng)大約1.2%的可能范圍。這樣的少量噪聲對人眼是不可見的,因此噪聲圖像和原始圖像看起來基本一致,如下所示。要求評分設(shè)為0.99,這表示當(dāng)目標(biāo)分類的評分大于等于0.99時,用來尋找對抗噪聲的優(yōu)化器就會停止,這樣Inception模型幾乎確定了噪聲圖像展示的是期望的目標(biāo)類別。
4.3實(shí)驗的結(jié)果
如上所示,獼猴的原始圖像與噪聲圖像看起來幾乎一致。人眼無法區(qū)分開兩張圖像。原始圖被Inception模型正確地分類成獼猴,評分為85.33%。但噪聲圖像對獼猴的分類評分是0.00%,對書架的評分是99.66%。
這樣,我們糊弄了Inception模型,讓它相信一張猴子的圖像展示的是一個書架。只是添加了一些“特定的”噪聲就導(dǎo)致了這個誤分類。注意,上面展示的噪聲是被放大數(shù)倍的。實(shí)際上,噪聲只在輸入圖像每個像素顏色強(qiáng)度的最多1.2%范圍內(nèi)調(diào)整圖像(假定噪聲界限像上面的函數(shù)一樣設(shè)置為3.0)。由于噪聲很弱,人類觀察不到,但它導(dǎo)致Inception模型完全誤分類的輸入圖像。
5 結(jié)束語
文中實(shí)現(xiàn)了一種基于白盒模型的深度神經(jīng)網(wǎng)絡(luò)對抗樣本的生成方法。文中所提出的方法利用對損失函數(shù)的梯度下降的優(yōu)化方法,成功的生成高質(zhì)量對抗樣本。
參考文獻(xiàn):
[1] 孟東宇.黑盒威脅模型下深度學(xué)習(xí)對抗樣本的生成[J].電子設(shè)計工程,2018,26(24):164-167,173.
[2] 張思思,左信,劉建偉.深度學(xué)習(xí)中的對抗樣本問題[J].計算機(jī)學(xué)報,2018(8):1-20.
【通聯(lián)編輯:唐一東】