李 瑩 李艷杰② 崔小欣 倪慶龍② 周崟灝*
①(中國(guó)科學(xué)院微電子研究所 北京 100029)
②(中國(guó)科學(xué)院大學(xué)集成電路學(xué)院 北京 100049)
③(北京大學(xué)集成電路學(xué)院 北京 100087)
人工智能正成為推動(dòng)人類(lèi)進(jìn)入智能時(shí)代的決定性力量[1],在自動(dòng)駕駛、醫(yī)療救助、政府管理等安全攸關(guān)應(yīng)用中,人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks, ANN)面臨著以對(duì)抗攻擊為代表的各種攻擊威脅。對(duì)抗攻擊來(lái)源于人腦與機(jī)器智能的識(shí)別差異,可定義為通過(guò)對(duì)輸入注入人類(lèi)難于辨識(shí)的擾動(dòng)來(lái)欺騙神經(jīng)網(wǎng)絡(luò)模型,使其達(dá)到高概率的錯(cuò)誤輸出。愚弄模型[2]、操縱語(yǔ)音助手[3]、錯(cuò)誤過(guò)濾垃圾信息[4]等案例層出不窮,可能造成泄露關(guān)鍵數(shù)據(jù),甚至決策錯(cuò)誤[5],嚴(yán)重影響系統(tǒng)應(yīng)用的準(zhǔn)確性、機(jī)密性和完整性。對(duì)抗攻擊已經(jīng)成為影響深度學(xué)習(xí)模型成功的最大挑戰(zhàn)之一。
類(lèi)腦芯片在結(jié)構(gòu)上多采用脈沖化的神經(jīng)網(wǎng)絡(luò)(Spiking Neural Networks, SNN),具有高稀疏性、低功耗等特點(diǎn),已成為第3代神經(jīng)網(wǎng)絡(luò)的代表[6],有望大規(guī)模地用于視覺(jué)分類(lèi)等低延遲目標(biāo)識(shí)別任務(wù)。SNN的固有結(jié)構(gòu)使層間數(shù)據(jù)具備天然的稀疏性[7],使其比ANN有顯著的對(duì)抗魯棒性提升。國(guó)內(nèi)外相關(guān)研究主要聚焦在算法模型分析層面,Sharmin等人[8]提出了一個(gè)簡(jiǎn)單的對(duì)抗攻擊框架,并指出通過(guò)泊松編碼的輸入離散化和泄漏-積累-發(fā)放(Leaky Integrate-and-Fire, LIF)神經(jīng)元的非線性激活是SNN魯棒性的來(lái)源。El-allami等人[7]研究了SNN對(duì)不同神經(jīng)元放電電壓閾值和時(shí)間窗邊界值條件下的攻擊魯棒性。Kundu等人[9]從權(quán)重、泄漏、閾值和時(shí)間步長(zhǎng)等方面評(píng)估了視覺(jué)幾何組(Visual Geometry Group, VGG)網(wǎng)絡(luò)結(jié)構(gòu)的魯棒性。Kim等人[10]在低延遲訓(xùn)練中比較了兩種編碼的魯棒性、能量效率、準(zhǔn)確性等特性。上述研究中均沒(méi)有考慮算法到電路的映射,而類(lèi)腦芯片在實(shí)際應(yīng)用中,必然要通過(guò)重要參數(shù)的量化來(lái)配置電路單元,進(jìn)而完成網(wǎng)絡(luò)推理。
本文通過(guò)在對(duì)抗攻擊前向推理的加載順序之前加入感知量化函數(shù),從而模擬量化壓縮后的權(quán)重在推理過(guò)程中的精度損失,將感知量化框架與對(duì)抗攻擊訓(xùn)練/推理過(guò)程相融合,能夠?qū)W(wǎng)絡(luò)部署到硬件的量化過(guò)程中魯棒性損失進(jìn)行度量。主要貢獻(xiàn)如下:
(1) 針對(duì)基于梯度攻擊的對(duì)抗攻擊算法,在不同網(wǎng)絡(luò)拓?fù)渖蠘?gòu)建了適用于對(duì)抗攻擊訓(xùn)練的基于替代梯度的SNN模型和對(duì)抗樣本。
(2) 創(chuàng)新性地提出一種權(quán)重感知量化的方法,建立感知量化與對(duì)抗攻擊訓(xùn)練/推理相融合的評(píng)估框架,在不同脈沖編碼和網(wǎng)絡(luò)參數(shù)組合條件下,通過(guò)引入攻擊前后推理精度損失差、層間脈沖活動(dòng)和脈沖信噪比等度量依據(jù),解釋量化稀疏性與對(duì)抗魯棒性的聯(lián)系。
(3) 基于類(lèi)腦芯片模擬器完成部署和對(duì)抗推理,對(duì)SNN對(duì)抗魯棒性實(shí)現(xiàn)了全棧評(píng)估。
具體結(jié)構(gòu)安排如下:第2節(jié)介紹支持對(duì)抗魯棒性分析的SNN算法與對(duì)抗樣本生成,第3節(jié)介紹本文提出的權(quán)重量化方法和評(píng)估框架,第4節(jié)通過(guò)實(shí)驗(yàn)分析了量化前后不同對(duì)抗魯棒性評(píng)估依據(jù)的差異,并在實(shí)際類(lèi)腦芯片中進(jìn)行了硬件驗(yàn)證,第5節(jié)總結(jié)全文。
SNN訓(xùn)練常用到的算法有3種:(1)ANN轉(zhuǎn)換SNN方法[11];(2)基于反向傳播和替代梯度的方法(Spatio-Temporal Back-Propagation, STBP)[12];(3)無(wú)監(jiān)督脈沖時(shí)間依賴可塑性 (Spike-Timing-Dependent Plasticity, STDP)及其變體方法[13]。由于轉(zhuǎn)換SNN的算法需要較大的計(jì)算資源和調(diào)試優(yōu)化時(shí)間,而STDP沒(méi)有梯度反向傳播的過(guò)程,且損失函數(shù)不可導(dǎo),不易生成對(duì)抗樣本,因此,使用STBP訓(xùn)練算法,將替代梯度算法與時(shí)間反向傳播算法融合,解決了SNN層間脈沖反向傳播不可導(dǎo)的問(wèn)題。反向傳播主要利用鏈?zhǔn)角髮?dǎo)法則計(jì)算損失函數(shù)相對(duì)于網(wǎng)絡(luò)參數(shù)的梯度。導(dǎo)數(shù)的鏈?zhǔn)椒▌t是微積分的基本規(guī)則,允許通過(guò)應(yīng)用其組成函數(shù)的導(dǎo)數(shù)來(lái)計(jì)算復(fù)合函數(shù)的導(dǎo)數(shù)。SNN時(shí)空展開(kāi)的鏈?zhǔn)角髮?dǎo)結(jié)果如式(1)
L表loss函數(shù),O代表神經(jīng)元輸出,U代表神經(jīng)元電壓,t代表當(dāng)前的第t個(gè)單位時(shí)間,l代表網(wǎng)絡(luò)的第l層,W代表對(duì)應(yīng)節(jié)點(diǎn)上的權(quán)重。
由于SNN中隱藏層的LIF神經(jīng)元只有在膜電位超過(guò)放電閾值時(shí)才產(chǎn)生脈沖輸出,導(dǎo)致不可微。為了利用標(biāo)準(zhǔn)的基于反向傳播的優(yōu)化程序,本文使用了替代梯度技術(shù)。參考利用導(dǎo)數(shù)中峰值時(shí)間信息的梯度逼近函數(shù)進(jìn)行替代梯度計(jì)算的方法[12]。線性函數(shù)替代梯度的數(shù)學(xué)公式如式(2)
ot和ut為時(shí)間步長(zhǎng)t時(shí)的輸出峰值和膜電位。θ為神經(jīng)元閾值電壓。
圖1(a)為同一神經(jīng)元在時(shí)間上展開(kāi)后的鏈?zhǔn)角髮?dǎo)法則原理,在一輪訓(xùn)練權(quán)重更新的過(guò)程中,對(duì)應(yīng)每個(gè)單位時(shí)間T上的權(quán)重信息累計(jì)得到這一輪訓(xùn)練權(quán)重更新的最終數(shù)據(jù)。圖1(b)為不同層神經(jīng)元在時(shí)間上展開(kāi)后的求導(dǎo)原理。
圖1 鏈?zhǔn)角髮?dǎo)法則在時(shí)間和空間上展開(kāi)后的求導(dǎo)原理
Szegedy等人[14]于 2013 年發(fā)表了第1篇深度神經(jīng)網(wǎng)絡(luò)的對(duì)抗性攻擊論文,并創(chuàng)造了術(shù)語(yǔ)“對(duì)抗性示例”。隨后Goodfellow等人[15]也提出了具有單個(gè)梯度步長(zhǎng)的對(duì)抗性示例:快速梯度符號(hào)方法(Fast Gradient Sign Method, FGSM)。后續(xù)出現(xiàn)更多的對(duì)抗算法,如R + FGSM通過(guò)隨機(jī)化步驟來(lái)增強(qiáng)攻擊[16],投影梯度下降(Projected Gradient Descent,PGD)則采取多個(gè)較小的步驟迭代對(duì)FGSM進(jìn)行了改進(jìn)[17]。SNN對(duì)抗攻擊包括:(1)對(duì)抗樣本的生成;(2)對(duì)抗樣本的注入。首先將原始樣本疊加上權(quán)重和擾動(dòng)因子的乘積后生成新的樣本,然后將樣本重新注入網(wǎng)絡(luò)進(jìn)行訓(xùn)練,更改要攻擊的標(biāo)簽后進(jìn)行反向傳播和梯度下降,訓(xùn)練多輪直到最終分類(lèi)結(jié)果修改為攻擊目標(biāo)效果后,導(dǎo)致SNN做出不正確的預(yù)測(cè)。
SNN對(duì)抗攻擊的建模首先需要確定一個(gè)數(shù)據(jù)集(x,ytrue)個(gè) 分類(lèi)模型h,其中x為干凈的圖像,ytrue為正確標(biāo)簽,對(duì)抗攻擊的概念是找到一個(gè)輸入xadv,使得x和xadv無(wú)法區(qū)分開(kāi),但分類(lèi)模型h錯(cuò)誤地區(qū)分了xadv,即在錯(cuò)誤標(biāo)簽上產(chǎn)生高概率輸出。在本文中,主要考慮FGSM生成xadv的方法,如圖2。其中的Loss為SNN替代梯度訓(xùn)練過(guò)程中前向傳播后的損失函數(shù),Grad為訓(xùn)練過(guò)程中反向傳播后獲得的梯度信息,Adv_Grad為保存中間梯度信息的節(jié)點(diǎn),Adv_Loss為原始樣本推理精度減去對(duì)抗樣本推理精度的差值,Embedding Weight是指將訓(xùn)練最后一輪的權(quán)重信息重新加載到推理過(guò)程中。
圖2 FGSM攻擊原理
2.2.1 FGSM攻擊
FGSM是產(chǎn)生對(duì)抗性干擾的最基本和最廣泛的方法,分為非目標(biāo)和目標(biāo)兩種方式。
非目標(biāo)FGSM如式(3)
FGSM如式(4)
這里?指擾動(dòng)量,通常?遠(yuǎn)小于x,?xJ是損失函數(shù)相對(duì)于原始干凈數(shù)據(jù)的梯度。
2.2.2 對(duì)抗樣本生成
假設(shè)X是32×32矩陣,卷積的核大小W是3×3。卷積是以1的填充和1的步幅執(zhí)行。然后輸出Y將保持32×32的大小(Y維度=X維度 + (2×padding)–W維度+ 1)。當(dāng)Y=X?W時(shí)可以得到:。由于編碼方式不同,X和Xencode的差異也不同,導(dǎo)致最終不同編碼方式下求導(dǎo)得到的?J/?X也存在很大差異,這會(huì)影響到最終對(duì)抗攻擊的效果,因此本文作了近似假設(shè),如式(5)和式(6)
經(jīng)過(guò)補(bǔ)丁操作以后的結(jié)果如式(7)
損失函數(shù)用J表示,J對(duì)X的梯度也是一個(gè)32 ×32的矩陣,每個(gè)元素用鏈?zhǔn)椒▌t描述,并表示為矩陣的形式為式(8)。假設(shè)輸入圖像表示為X,W表示卷積層的權(quán)重矩陣,Y表示卷積運(yùn)算的輸出。合理進(jìn)行以下近似假設(shè)如式(9)和式(10)
利用替代梯度技術(shù)通過(guò)網(wǎng)絡(luò)反向傳播損失而得到的。然后用式(9)求得對(duì)抗擾動(dòng),可以得到
W是Wconv1旋轉(zhuǎn)180°。將式(11)的結(jié)果代入式(3)和式(4)中,即可得到FGSM攻擊的對(duì)抗擾動(dòng)值。如式(12)
具體攻擊算法的迭代次數(shù)即可得到最終的對(duì)抗樣本。由于對(duì)抗攻擊過(guò)程只在前向推理過(guò)程中進(jìn)行,但是對(duì)抗樣本的生成過(guò)程,需要利用反向傳播的權(quán)重?cái)?shù)據(jù)。因此利用權(quán)重?cái)?shù)據(jù)和FGSM算法生成的對(duì)抗樣本注入網(wǎng)絡(luò)來(lái)完成攻擊。更多算法建模和分析可參考文獻(xiàn)[18]。
量化是將神經(jīng)網(wǎng)絡(luò)中的浮點(diǎn)數(shù)參數(shù)和激活值轉(zhuǎn)換為低位整數(shù)或定點(diǎn)數(shù)的過(guò)程,通常會(huì)犧牲一定的模型精度以換取更小的模型尺寸和更低的計(jì)算量,從而使得神經(jīng)網(wǎng)絡(luò)可以在資源有限的場(chǎng)景中運(yùn)行。深度神經(jīng)網(wǎng)絡(luò)模型中,通常權(quán)重由float32浮點(diǎn)數(shù)量化為int8, int4等定點(diǎn)數(shù),減少模型的可表示空間大小。當(dāng) SNN 的權(quán)重被量化時(shí),由于權(quán)重變得非常小,在某些情況下甚至為0。因此,連接到這些小或零值權(quán)重的神經(jīng)元將接收到非常少的輸入,從而造成網(wǎng)絡(luò)輸出的稀疏性。量化稀疏性有助于防止過(guò)度擬合訓(xùn)練數(shù)據(jù)。但過(guò)度的量化稀疏會(huì)導(dǎo)致大多數(shù)神經(jīng)元沉默,影響網(wǎng)絡(luò)推理精度和訓(xùn)練效果。因此,權(quán)重量化方法需要綜合考慮量化比特選擇、量化函數(shù),以及量化和對(duì)抗框架的執(zhí)行順序等要素。
在機(jī)器學(xué)習(xí)中,模型量化通常包括兩種方式:后訓(xùn)練量化和感知量化。后訓(xùn)練量化是在模型訓(xùn)練完成后對(duì)模型參數(shù)進(jìn)行量化,可將原本使用浮點(diǎn)數(shù)表示的參數(shù)轉(zhuǎn)換為使用更少的比特位表示。感知量化是在模型訓(xùn)練期間對(duì)模型參數(shù)進(jìn)行量化,可在不降低模型精度的情況下,顯著降低模型參數(shù)的存儲(chǔ)和計(jì)算開(kāi)銷(xiāo)。
為了使量化比特寬度范圍更廣泛,本文使用K-bit量化函數(shù)來(lái)調(diào)節(jié)量化的bit位寬。如式 (13),[.]代表round操作,將輸入張量的每個(gè)元素四舍五入到最近的整數(shù)
根據(jù)2.1節(jié)的描述,SNN中每一層輸出脈沖不可導(dǎo),故而在訓(xùn)練過(guò)程中引入了替代梯度。量化的過(guò)程是在訓(xùn)練的每一輪中插入偽節(jié)點(diǎn),在訓(xùn)練過(guò)程中對(duì)權(quán)重信息進(jìn)行量化并存儲(chǔ)到權(quán)重偽節(jié)點(diǎn)。在訓(xùn)練的前向傳播中利用偽節(jié)點(diǎn)的權(quán)重信息進(jìn)行推理,然后求得該輪的損失值loss后,進(jìn)行反向傳播并更新權(quán)重信息。在下一輪訓(xùn)練中重復(fù)這種執(zhí)行順序,直到達(dá)到適合的推理精度,并保存此時(shí)的權(quán)重信息。在定義SNN前向推理網(wǎng)絡(luò)時(shí),也要將感知量化函數(shù)插入到同樣的地方,需加載訓(xùn)練過(guò)程最后一輪保存的權(quán)重信息,在推理時(shí)對(duì)該權(quán)重進(jìn)行裁剪量化和存儲(chǔ),利用偽節(jié)點(diǎn)權(quán)重做前向推理即可得到真實(shí)的量化后的網(wǎng)絡(luò)推理結(jié)果。
感知量化函數(shù)主要包括以下4個(gè)內(nèi)容:
(1) 初始化網(wǎng)絡(luò):定義變量,定義網(wǎng)絡(luò)節(jié)點(diǎn)用于索引網(wǎng)絡(luò)中每一層參數(shù),網(wǎng)絡(luò)初始化;
(2) 構(gòu)建參數(shù)張量節(jié)點(diǎn)(偽量化節(jié)點(diǎn)):用于保存前向推理過(guò)程中量化參數(shù);
(3) 裁剪函數(shù):將浮點(diǎn)權(quán)重按層進(jìn)行裁剪,利用式(17)完成裁剪,用于k-bit量化;
(4) restore函數(shù):用于存儲(chǔ)將反向過(guò)程中原始權(quán)重參數(shù)值還原到原始節(jié)點(diǎn)。
在具體模型的實(shí)現(xiàn)中,需要將對(duì)抗攻擊與量化的訓(xùn)練和推理框架進(jìn)行融合,算法1為加入了感知量化算法的訓(xùn)練框架,算法2為感知量化與對(duì)抗攻擊融合的推理框架。
算法1 加入感知量化算法的訓(xùn)練框架
神經(jīng)網(wǎng)絡(luò)算法部署在類(lèi)腦硬件上時(shí)都要進(jìn)行權(quán)重裁剪,因此量化權(quán)重必然會(huì)引起推理過(guò)程的稀疏性變化,進(jìn)而影響對(duì)抗魯棒性。本節(jié)通過(guò)3.2節(jié)的方法對(duì)VGG5和VGG9進(jìn)行了4 bit的權(quán)重量化,并使用對(duì)抗攻擊融合的推理框架,分析對(duì)抗魯棒性的差異。(1)VGG5推理精度損失和對(duì)抗魯棒性差異。表1展示了VGG5在最優(yōu)推理精度時(shí)(參數(shù)為(0.4,1.0,0.5)),量化前后不同攻擊強(qiáng)度下的推理精度損失,損失越大表明對(duì)抗魯棒性越差。Q1代表權(quán)重量化前,Q2代表權(quán)重量化后。量化前后推理精度損失差在可接受范圍內(nèi)。組合參數(shù)的3個(gè)數(shù)值分別代表conv層閾值電壓,fc層閾值電壓和泄露因子λ。I代表FGSM_2攻擊,II代表FGSM_8攻擊,III代表FGSM_16攻擊。4種編碼的對(duì)抗魯棒性在量化后都大于量化前。直接編碼的魯棒性最差。為了更深入分析量化前后的對(duì)抗魯棒性規(guī)律,在更深層的VGG9網(wǎng)絡(luò)上針對(duì)更多組合參數(shù)進(jìn)行了實(shí)驗(yàn)。(2)VGG9推理精度損失表2為在FGSM攻擊下,不同組合方式在權(quán)重量化前后推理精度損失的對(duì)比變化幅度表征了不同參數(shù)下的結(jié)果波動(dòng)范圍。
表1 VGG5量化前后不同攻擊強(qiáng)度下的推理精度損失(%)
表2 VGG9量化前后不同攻擊強(qiáng)度下的推理精度損失(%)
算法2 感知量化與對(duì)抗攻擊融合的推理框架
由表2中結(jié)果可以看到:
現(xiàn)象1在相同(θ,λ)組合參數(shù)的情況下,無(wú)論哪種攻擊強(qiáng)度,直接編碼在4種編碼方法中都顯現(xiàn)出最差的魯棒性。
現(xiàn)象2對(duì)于3種稀疏編碼(速率編碼、相位編碼和延遲編碼)在低閾值電壓(θ=0.4)時(shí),量化后對(duì)抗魯棒都高于量化前的對(duì)抗魯棒性。升高閾值電壓(θ= 1,θ=0.6和θ=0.8)時(shí),對(duì)抗魯棒性分布無(wú)規(guī)律性。各種編碼方式都在(θ=0.4)時(shí)表現(xiàn)出最好的魯棒性,量化前只有局部最佳閾值點(diǎn)。
現(xiàn)象3量化后隨著組合參數(shù)的變化,在低強(qiáng)度攻擊下直接編碼的adv_loss最大差異為1.65%,在高強(qiáng)度攻擊下為21.21%。速率編碼對(duì)低強(qiáng)度攻擊最大差異為2.01%,對(duì)于高強(qiáng)度攻擊為9.34%。相位編碼對(duì)低強(qiáng)度攻擊最大差異為1.46%,對(duì)于高強(qiáng)度攻擊為4.94%。延遲編碼對(duì)低強(qiáng)度攻擊最大差異為1.36%,對(duì)于高強(qiáng)度攻擊為9.4%。較于量化前對(duì)固有參數(shù)變化時(shí)的推理精度損失變化幅度均有所增大,均值為5.79%,漲幅為73.23%。
(1) VGG9層間脈沖活動(dòng)。圖3(a)—圖3(d)分別代表了在沒(méi)有對(duì)抗攻擊的情況下,量化前后不同編碼方式和參數(shù)下的脈沖活動(dòng),可以看到量化前后脈沖活動(dòng)基本保持在同一數(shù)量級(jí)。
圖3 量化前后不同組合方式下的脈沖活動(dòng)
以FGSM-2攻擊為例,表3為不同組合參數(shù)和編碼方式在權(quán)重量化前后平均層間脈沖活動(dòng)的差異(個(gè)別數(shù)值由于訓(xùn)練失敗缺失)??梢钥吹剑苯泳幋a、相位編碼和延遲編碼結(jié)的層間脈沖活動(dòng)均值的在量化前后變化幅度明顯變大,平均漲幅為51.6%,而速率編碼則稍有減少。
表3 量化前后不同攻擊強(qiáng)度下的層間脈沖活動(dòng)均值
(2)脈沖信噪比。對(duì)抗樣本和原始樣本會(huì)因攻擊強(qiáng)度的不同存在不同的噪聲強(qiáng)度。根據(jù)輸入數(shù)據(jù)傳遞的時(shí)空特性,以及輸入編碼后數(shù)據(jù)積累用于脈沖發(fā)放的特性,將原始樣本和對(duì)抗樣本在推理過(guò)程中層間的原始樣本脈沖活動(dòng)數(shù)SA1與SA1-SA2的差值的比值定義為對(duì)抗樣本與原始樣本的脈沖信噪比(Signal to Noise Ratio, SNR),其倒數(shù)為噪信比(Noise to Signal Ratio, NSR),如式(14)
在分析中使用脈沖信噪比SNR(或NSR),可以將影響層間脈沖稀疏性的因素包含在內(nèi),更好地反映加入干擾后網(wǎng)絡(luò)是如何受影響而做出錯(cuò)誤判斷的,同時(shí)還考慮時(shí)間步T的影響。攻擊強(qiáng)度ε/255代表對(duì)抗樣本相對(duì)于原始樣本在每個(gè)圖像通道上被改變的幅度,一旦數(shù)據(jù)被編碼送到每個(gè)神經(jīng)元后,對(duì)抗樣本的附加干擾就會(huì)被隨機(jī)加到每個(gè)神經(jīng)元上參與神經(jīng)的積累電壓與發(fā)放脈沖過(guò)程,從而影響最終的分類(lèi)結(jié)果。
圖4為加入對(duì)抗攻擊后,量化后不同編碼方式和組合參數(shù)作用下的NSR的結(jié)果??梢钥吹剑?/p>
圖4 量化后不同編碼方式下的脈沖NSR
(1)在相同編碼方式下,隨著閾值變化,NSR的波動(dòng)趨勢(shì)一致。
(2)4種編碼方式都存在NSR波動(dòng)幅度相對(duì)最大的閾值點(diǎn)或波動(dòng)幅度最小的閾值點(diǎn),直接編碼、速率編碼和延遲編碼都是θ=(0.4,1)NSR波動(dòng)幅度都最小,延遲編碼在θ=(0.8,1)和θ=(1,1)上NSR波動(dòng)幅度更大,相位編碼不同閾值下幅度相當(dāng)。
(3)同一種組合參數(shù),不同編碼方式NSR的差別數(shù)量級(jí)不同,本文以1, 0.1, 0.01, 0.001和0.000 1為數(shù)量級(jí)的衡量依據(jù)來(lái)描述NSR的差異,結(jié)果如表4。無(wú)論在何種攻擊強(qiáng)度下延遲編碼NSR值都最大,這說(shuō)明對(duì)抗樣本和原始樣本影響層間脈沖的發(fā)放程度更大。
表4 NSR數(shù)量級(jí)差異
分析1在同一種編碼方式下,對(duì)抗魯棒性存在最佳閾值點(diǎn),且最佳閾值點(diǎn)的NSR波動(dòng)相對(duì)其他閾值點(diǎn)低。當(dāng)調(diào)整單一參數(shù)時(shí),總會(huì)存在一個(gè)極點(diǎn)使對(duì)抗魯棒性達(dá)到相對(duì)最佳,而低于或者超過(guò)這個(gè)設(shè)定值時(shí),就會(huì)出現(xiàn)魯棒性的下降的趨勢(shì)。且NSR越低對(duì)抗樣本對(duì)層間脈沖改變量越小,此時(shí)魯棒性越好。
分析2不同編碼方式的Xclean影響了W的分布,中間存在替代梯度和權(quán)重量化兩個(gè)近似過(guò)程,導(dǎo)致了W是模擬混淆值,所以編碼越稀疏,模型越具有較高的魯棒性。
由上述實(shí)驗(yàn)結(jié)果的綜合分析可以得出如下結(jié)論:
(1)閾值增加,稀疏編碼,權(quán)重量化都可以作為層間脈沖稀疏化的因素。其加劇稀疏化的趨勢(shì)是,閾值增加大于權(quán)重量化bit降低大于稀疏編碼。當(dāng)稀疏因素單一時(shí),對(duì)抗魯棒性趨勢(shì)是單調(diào)的,而當(dāng)稀疏因素達(dá)到3種時(shí),訓(xùn)練的模型有很大的脆弱性,導(dǎo)致對(duì)抗魯棒性下降。
(2)單一的參數(shù)因素與對(duì)抗魯棒性之間并不是線性關(guān)系。關(guān)于模型對(duì)抗魯棒性的比較必須在固定系統(tǒng)模型參數(shù)的前提下。當(dāng)調(diào)整單一參數(shù)時(shí),總會(huì)存在一個(gè)極點(diǎn)使對(duì)抗魯棒性達(dá)到相對(duì)最佳,而低于或者超過(guò)這個(gè)設(shè)定值時(shí),就會(huì)出現(xiàn)魯棒性的下降的趨勢(shì)。
為了驗(yàn)證本文的權(quán)重量化方法與實(shí)際硬件上的兼容性,將提出的SNN框架在權(quán)重量化后部署到類(lèi)腦芯片的硬件中。實(shí)驗(yàn)平臺(tái)為北京大學(xué)PKUNC64C[19]類(lèi)腦芯片,如圖5。該芯片是一款多核脈沖神經(jīng)網(wǎng)絡(luò)類(lèi)腦芯片,芯片采用2D Mesh NOC架構(gòu),集成了64k個(gè)隨機(jī)LIF神經(jīng)元和64M神經(jīng)突觸,可實(shí)現(xiàn)脈沖神經(jīng)網(wǎng)絡(luò)模型的高效推斷功能。芯片配套設(shè)計(jì)工具鏈包括完整的芯片行為硬件模擬器,基于硬件模擬器進(jìn)行了攻擊驗(yàn)證實(shí)驗(yàn)。因芯片可部署網(wǎng)絡(luò)的規(guī)模限制,芯片部署實(shí)驗(yàn)采用模型為VGG5,數(shù)據(jù)集CIFAR-10,編碼為直接編碼,在不加攻擊的情況下,推理精度為83%,加入不同程度的攻擊后推理精度損失如表5,由于訓(xùn)練方法的差異,映射過(guò)程存在一定轉(zhuǎn)換誤差,但是不同攻擊強(qiáng)度下的趨勢(shì)沒(méi)有大的改變。這也驗(yàn)證了本研究算法的可用性和遷移性。
表5 軟件和PKU-NC64C硬件映射adv_loss對(duì)比(%)
針對(duì)脈沖神經(jīng)網(wǎng)絡(luò)對(duì)抗魯棒性分析方法缺乏對(duì)網(wǎng)絡(luò)部署到硬件中的量化過(guò)程的損失度量的局限性,本文提出一種將對(duì)抗攻擊與權(quán)重感知量化相結(jié)合的訓(xùn)練與推理框架,通過(guò)將推理精度損失差、層間脈沖活動(dòng)和脈沖信噪比作為度量依據(jù),從而衡量量化前后的魯棒性水平和變化趨勢(shì)。實(shí)驗(yàn)結(jié)果表明直接編碼的對(duì)抗魯棒性最差,且提出稀疏化的因素對(duì)魯棒性影響相關(guān)度為:閾值增加大于權(quán)重量化bit降低大于稀疏編碼,及單一稀疏性因素對(duì)于對(duì)抗魯棒性存在局部最優(yōu)解的結(jié)論,量化方法和評(píng)估框架在實(shí)際的類(lèi)腦芯片硬件中得到驗(yàn)證。研究揭示了SNN在量化過(guò)程中的部分對(duì)抗脆弱性來(lái)源和機(jī)理,能夠幫助研究人員構(gòu)建更安全可靠的神經(jīng)形態(tài)系統(tǒng)。