錢歡,謝卓辰,梁旭文
( 中國科學(xué)院微小衛(wèi)星創(chuàng)新研究院 中國科學(xué)院微小衛(wèi)星重點實驗室,上海 201203; 中國科學(xué)院大學(xué),北京 100049) (2019年12月11日收稿; 2020年4月8日收修改稿)
隨著人工智能技術(shù)近些年的快速發(fā)展,其在深度學(xué)習(xí)、自然語言處理與計算機視覺等領(lǐng)域都取得了巨大成就。同時,人工智能也開始從智能化工具逐漸向智能機器進(jìn)軍,這使得原有的微控制單元(microcontroller unit,MCU)早已無法滿足深度學(xué)習(xí)對海量數(shù)據(jù)運算和高速運算的要求, 人工智能(artificial intelligence,AI)芯片便應(yīng)運而生,搭載神經(jīng)網(wǎng)絡(luò)的人工智能芯片這些年也是推陳出新,網(wǎng)絡(luò)越來越復(fù)雜,功能也隨之越來越強大。其中國外以IBM仿人腦TrueNorth芯片[1]和英偉達(dá)的GPU芯片系列最為著名,國內(nèi)則有寒武紀(jì)的DianNao芯片和地平線機器人的BPU芯片等。
人工智能芯片技術(shù)作為未來人工智能的重要方向之一,在衛(wèi)星應(yīng)用領(lǐng)域可以大幅提升衛(wèi)星大數(shù)據(jù)的快速提取、智能處理與分析等效率, 將會是衛(wèi)星大數(shù)據(jù)領(lǐng)域發(fā)展的重要基礎(chǔ)之一。而在現(xiàn)實世界里,編寫神經(jīng)網(wǎng)絡(luò)的代碼并不是在真空中運行,其需要一定的介質(zhì)并且可能在復(fù)雜的空間環(huán)境中運行。神經(jīng)網(wǎng)絡(luò)程序?qū)⑴c其他程序一樣共享計算資源,其中一些程序有一定攻擊性。以rowhammer[2-3]攻擊為例,在rowhammer攻擊的期間,一行內(nèi)存會以極高的速率重復(fù)寫入數(shù)據(jù),在擦除與寫入的不斷重復(fù)過程中產(chǎn)生的電磁噪聲會導(dǎo)致相鄰靜態(tài)隨機存取存儲器(static random access memory,SRAM)[4]行中的部分比特位發(fā)生翻轉(zhuǎn),例如存儲的數(shù)據(jù)如果是00001111,則可能會變成00001010。如果遭受影響的SRAM行存儲了神經(jīng)網(wǎng)絡(luò)的權(quán)值或各層網(wǎng)絡(luò)輸入輸出,那么神經(jīng)網(wǎng)絡(luò)的整個性能可能會受到負(fù)面影響,導(dǎo)致結(jié)果準(zhǔn)確率不高從而很大概率上輸出一個錯誤的結(jié)果。易出錯的另一個計算領(lǐng)域的例子就是高輻射環(huán)境,當(dāng)代比較近的一個例子是日本福島核電站周圍的地區(qū),其工廠附近遭受大量核輻射。輻射對人類健康有極大的危害,同時對機器人的正常工作來說也是極大的威脅。由于空間高能輻射粒子撞擊硅芯片并翻轉(zhuǎn)存儲和執(zhí)行單元中的一些比特位,導(dǎo)致芯片正常工作的一些參數(shù)出錯,進(jìn)而一些機器人的任務(wù)不得已以失敗而告終[5]。高輻射環(huán)境還有一個常見的例子是太空,其中最難以克服的干擾便是單粒子翻轉(zhuǎn)(single event upset,SEU),所以衛(wèi)星的一些關(guān)鍵性器件需要進(jìn)行硬件或者軟件方面的加固[6-9],才能在環(huán)繞地球或訪問其他行星的軌道上正常工作數(shù)年[10]。如美國UOSAT-2衛(wèi)星曾經(jīng)在太空運行的4年間發(fā)生了約9 000次的SEU事件,中國“風(fēng)云一號(B)”氣象衛(wèi)星主控芯片也因SEU事件而導(dǎo)致姿態(tài)控制系統(tǒng)失控[11]。
針對上述問題,近年來也有不少學(xué)者從事這種輻照干擾錯誤對神經(jīng)網(wǎng)絡(luò)芯片穩(wěn)定性的研究,成為神經(jīng)網(wǎng)絡(luò)芯片研究的熱點問題之一。Arechiga和Michaels[12]主要研究神經(jīng)網(wǎng)絡(luò)對權(quán)重誤差影響的魯棒性,認(rèn)為一般多層神經(jīng)網(wǎng)絡(luò)(multi-layer neural network,MLP)對權(quán)值誤差的魯棒性優(yōu)于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)。Kwon等[13]主要研究硬件加速神經(jīng)網(wǎng)絡(luò)中容錯記憶系統(tǒng)對抗軟錯誤[14]的必要性。雖然他們在很大程度說明了SEU錯誤會對神經(jīng)網(wǎng)絡(luò)造成影響,但就如何進(jìn)行一定SEU容錯方法的研究并不足。
因受工藝材料的發(fā)展和工藝制造成本的約束,冗余容錯方法中最為常見的一般是硬件冗余、軟件冗余和信息冗余等設(shè)計加固,其中比較典型且應(yīng)用較為廣泛的是硬件的三模冗余容錯設(shè)計方法[15],圖1是一個典型的硬件三模冗余內(nèi)部電路原理圖。其基本原理是在電路中設(shè)計3倍冗余的模塊,對輸入的數(shù)據(jù)執(zhí)行相同的操作,而后將各個模塊計算后的輸出數(shù)據(jù)再輸入到一個多數(shù)表決器中,采取三取二的選舉判決策略得出最終結(jié)果。由于各個模塊之間互相獨立運行,故2個模塊同時因為輻照干擾出現(xiàn)錯誤的概率極小,從而可以大大提高系統(tǒng)輸出的準(zhǔn)確度。
圖1 硬件的三模冗余內(nèi)部電路原理圖Fig.1 Hardware schematic of the triple moderedundant internal circuit
芯片在控制單元或者本身燒錄程序控制下,通過對存儲單元的周期性擦洗可以刷新存儲單元中的內(nèi)容,這樣能減少存儲單元受到輻照干擾暴露的時間,直接提高芯片存儲單元抗空間輻照干擾的能力[16]。該方法無需額外的硬件電路系統(tǒng)設(shè)計,實現(xiàn)起來比較簡單。
為了在一定程度上避免存儲單元受到空間輻照干擾的影響,可以采用糾錯編碼的方法。其基本原理是把輸入數(shù)據(jù)經(jīng)過編碼后的信息碼元序列額外添加一些監(jiān)督碼元后放在存儲單元中進(jìn)行存儲,在進(jìn)行處理輸出數(shù)據(jù)讀取時,通過比較監(jiān)督碼元與自身的信息碼元之間的關(guān)聯(lián)關(guān)系是否與初始編碼一致來判斷數(shù)據(jù)在存儲與處理讀取過程中是否由于輻照干擾發(fā)生錯誤。比較常見的糾錯碼有海明碼、R-S碼、奇偶校驗碼等。
如果希望將上述方法應(yīng)用到CNN芯片上,特別是應(yīng)用在數(shù)據(jù)量龐大的網(wǎng)絡(luò)參數(shù)以及輸入輸出等存儲數(shù)據(jù)時,在實際運用時都有一定的困難,具體包括:
1)三模冗余電路需要對電路進(jìn)行3倍同樣的硬件電路設(shè)計,考慮到現(xiàn)在廣泛應(yīng)用的CNN所包含參數(shù)以及各類輸入輸出數(shù)據(jù)量大,硬件資源開銷將非常巨大;
2)周期性的擦洗方法對數(shù)據(jù)恢復(fù)只是一個暫態(tài)的周期,無法適應(yīng)CNN的大量高速并行計算;
3)糾錯編碼方法有一定的延時,降低了芯片處理數(shù)據(jù)的工作速度,對于網(wǎng)絡(luò)層數(shù)多、運算量大的CNN來說,將大大影響網(wǎng)絡(luò)計算時延等性能指標(biāo)。
在分析現(xiàn)有的一些設(shè)計加固方法基礎(chǔ)上,針對芯片硬件開銷、恢復(fù)時間與處理速度等方面的不足,本文對在圖像等領(lǐng)域廣泛應(yīng)用的CNN提出一種神經(jīng)網(wǎng)絡(luò)算法上的改進(jìn),利用算法改進(jìn)使神經(jīng)網(wǎng)絡(luò)的大量存儲數(shù)據(jù)具有一定的抗輻照干擾的能力。具體方法是將神經(jīng)網(wǎng)絡(luò)的dropout[17-20]算法應(yīng)用于CNN中,可以按照一定的概率丟棄一些由于SEU效應(yīng)擾動而導(dǎo)致某些權(quán)重誤差改變的病態(tài)神經(jīng)元,從而提高整個系統(tǒng)輸出的準(zhǔn)確度。
CNN是一種包含卷積計算并且具有一定結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)(feedforward neural networks),其主要由輸入層、隱藏層和輸出層組成,而隱藏層一般包括卷積層、池化層、全連接層。CNN最大特點就是具有對數(shù)據(jù)的特征學(xué)習(xí)能力,能夠按照其不同層結(jié)構(gòu)對輸入數(shù)據(jù)的信息進(jìn)行相應(yīng)地平移不變分類,并被大量用于計算機視覺、自然語言處理等領(lǐng)域,對輸入數(shù)據(jù)取得了良好的評估效果。CNN類型眾多,不失一般性地,本文選取經(jīng)典的LeNet5[21]網(wǎng)絡(luò)作為研究對象,該網(wǎng)絡(luò)是最早獲得成功應(yīng)用的CNN,包含此類網(wǎng)絡(luò)的關(guān)鍵構(gòu)成要素。如圖2所示,它是一個被廣泛應(yīng)用于圖像分類問題的CNN。對于LeNet5網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),表1給出了具體各層結(jié)構(gòu)的詳細(xì)描述,經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)權(quán)重參數(shù)最終都會存儲在相關(guān)SRAM區(qū)內(nèi),待芯片工作時,便被調(diào)用進(jìn)行運算處理。
表1 LeNet5各層參數(shù)Table 1 LeNet5 layer parameters
圖2 LeNet5結(jié)構(gòu)Fig.2 LeNet5 structure
訓(xùn)練網(wǎng)絡(luò)的數(shù)據(jù)集是采用來自美國國家標(biāo)準(zhǔn)與技術(shù)研究所(National Institute of Standards and Technology,NIST)的MNIST手寫字體數(shù)據(jù)集,其訓(xùn)練集由60 000個用例組成,因此里面總共包含了對應(yīng)用例的60 000個標(biāo)簽,每一個標(biāo)簽的值為0~9之間的一個數(shù),測試集是10 000個。所以該數(shù)據(jù)集一直以來被廣泛用于測試各種關(guān)于圖像的神經(jīng)網(wǎng)絡(luò),能在很大程度上說明各種問題。在訓(xùn)練網(wǎng)絡(luò)時,每迭代完成一次訓(xùn)練后,就將整個網(wǎng)絡(luò)框架和訓(xùn)練好的參數(shù)進(jìn)行一次保存,在后續(xù)實驗時只需要提取網(wǎng)絡(luò)和參數(shù)即可。在本文研究中,這樣可以保證每次實驗都基于相同的一組網(wǎng)絡(luò)參數(shù)。
參數(shù)提取是指在不破壞原有神經(jīng)網(wǎng)絡(luò)的條件下,利用網(wǎng)絡(luò)訓(xùn)練時每次迭代訓(xùn)練所得參數(shù),直接讓各層神經(jīng)元的權(quán)重賦值這些參數(shù),保證一致性,這樣可以很好地模擬芯片的工作原理,模擬芯片將訓(xùn)練好的網(wǎng)絡(luò)和參數(shù)預(yù)先寫入芯片SRAM存儲區(qū)。神經(jīng)網(wǎng)絡(luò)芯片映射電路原理圖如圖3所示,各種數(shù)據(jù)參數(shù)在SRAM存儲單元的存儲形式最終都會是以二進(jìn)制這樣的形式儲存,例如對于圖3中一個存儲的32位浮點數(shù)來說,按照IEEE754的規(guī)定,其最高比特位是符號位S,接著的8個比特位是指數(shù)位E,剩下的23個比特位是有效位M,如果其中一位發(fā)生隨機錯誤,例如1變?yōu)?,則原本存儲的浮點數(shù)(權(quán)重參數(shù)值)會發(fā)生變化。
圖3 神經(jīng)網(wǎng)絡(luò)芯片映射電路Fig.3 Neural network chip mapping circuit
為了模擬單粒子輻照效應(yīng)擾動帶來的隨機位翻轉(zhuǎn),本文隨機選取部分參數(shù)進(jìn)行隨機位的注錯干擾,這樣便可得到一部分出錯的參數(shù),并使該錯誤參數(shù)替換原來的參數(shù),并傳回網(wǎng)絡(luò)相應(yīng)的層,賦值給對應(yīng)的神經(jīng)元所表示的權(quán)重,針對每個神經(jīng)元,正常訓(xùn)練后的神經(jīng)元輸出計算如下:
yout=f(x1*w1+x2*w2+
x3*w3+…+xn*wn),
(1)
而在進(jìn)行干擾注錯后其神經(jīng)元的輸出為
x′3*w′3+…+x′n*w′n).
(2)
其中:w′1、w′2、w′3…w′n是原始權(quán)重值隨機出錯后的結(jié)果,非線性函數(shù)f一般是神經(jīng)元的激活函數(shù),常用的如relu、tanh和softmax等激活函數(shù)[22]。利用這樣一個帶著錯誤權(quán)重的神經(jīng)網(wǎng)絡(luò)去測試數(shù)據(jù)集,并進(jìn)行多次重復(fù)實驗,保證每次添加的噪聲都是隨機的,能很好模擬CNN芯片的SEU現(xiàn)象。
Dropout是對神經(jīng)網(wǎng)絡(luò)模型的又一次優(yōu)化,其核心思想是在訓(xùn)練的網(wǎng)絡(luò)中對一部分神經(jīng)元進(jìn)行以概率p的屏蔽,也就是使其激活值即權(quán)重參數(shù)以伯努利概率p變?yōu)?,讓其停止工作,這樣可以減少特征檢測器(隱層節(jié)點)間的相互作用(檢測器的相互作用是指某些檢測器依賴其他檢測器才能發(fā)揮作用),從而提升神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)的歸納效果。如圖4(a)所示,對于一個具有L個隱藏層的神經(jīng)網(wǎng)絡(luò),令l∈{1,2…,L}表示隱藏層的第l層,設(shè)z(l)為第l層的輸入,y(l)為第l層的輸出。w(l)和b(l)為第l層的權(quán)值和偏差,一個標(biāo)準(zhǔn)神經(jīng)網(wǎng)絡(luò)的前饋操作可表示為(對于l∈{0,1…,L-1}和任何隱藏層i),其表達(dá)式如下
(3)
(4)
圖4 神經(jīng)元參數(shù)表示Fig.4 Neuron parameters representation
(5)
(6)
(7)
(8)
本文的做法是對每個輸入點和每個層中的每個網(wǎng)絡(luò)單元進(jìn)行二進(jìn)制變量采樣,對于第i層給定的輸入,如果對應(yīng)的二進(jìn)制變量的值為0,則該單元將被丟棄(即其值被設(shè)置為0),網(wǎng)絡(luò)模型損失函數(shù)記為E(·,·),對于權(quán)重wi與偏差bi的L2范數(shù)距離,通常使用一個重量衰減因子λ使結(jié)果誤差最小化,如下所示
(9)
在為每個輸入點和每個層中的每個網(wǎng)絡(luò)單元(除去最后一個)采樣二進(jìn)制變量后,對于第i層,每個二進(jìn)制變量都按照隨機概率將pi的值設(shè)為1。對于給定的輸入,如果對應(yīng)的二進(jìn)制變量的值被設(shè)為0,則該單元將被視為丟棄(即其值被設(shè)置為0),同時再將導(dǎo)數(shù)傳播到參數(shù)的向后傳遞中使用相同的值。
一個完整的標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)如圖5(a)所示,正常的訓(xùn)練流程一般是首先把輸入數(shù)據(jù)通過神經(jīng)網(wǎng)絡(luò)前向傳播,然后再把誤差值反向傳遞以此來決定神經(jīng)網(wǎng)絡(luò)如何不斷更新參數(shù)讓網(wǎng)絡(luò)進(jìn)行優(yōu)化學(xué)習(xí),而dropout的過程是隨機刪除神經(jīng)網(wǎng)絡(luò)中部分隱藏神經(jīng)元,例如圖5(b)所示,未進(jìn)行連接的神經(jīng)元即是被刪除的神經(jīng)元。在這一過程中,刪除的神經(jīng)元參數(shù)仍然保持不變,只是按照伯努利概率分布將其置為0,即將部分神經(jīng)元按照一定概率進(jìn)行屏蔽關(guān)閉。這樣可以使這些神經(jīng)元在測試數(shù)據(jù)時處于不工作狀態(tài),從而有機會讓那些受到SEU影響的神經(jīng)元不工作,避免影響后續(xù)數(shù)據(jù)流的傳遞與輸出,得出不準(zhǔn)確的結(jié)果。
圖5 神經(jīng)網(wǎng)絡(luò)修改前后對比Fig.5 Comparison of the neural networkbefore and after modification
對于改進(jìn)后的網(wǎng)絡(luò)框架,表2給出了偽代碼以描述具體算法處理過程,相關(guān)實驗流程圖如圖6所示,具體包括:
圖6 實驗流程框架圖Fig.6 Diagram of the experiment flow
表2 神經(jīng)網(wǎng)絡(luò)參數(shù)注錯前后迭代計算偽代碼Table 2 Pseudocode of the iterative calculation beforeand after the neural network parameter error injection
1) 訓(xùn)練未經(jīng)SEU引起錯誤的網(wǎng)絡(luò)并得到權(quán)重參數(shù);
2) 每次迭代結(jié)束后的同時將參數(shù)保存并對其進(jìn)行二進(jìn)制轉(zhuǎn)換;
3) 對參數(shù)按照一定比例進(jìn)行隨機注錯以達(dá)到模擬單粒子效應(yīng)干擾的效果;
4) 對神經(jīng)網(wǎng)絡(luò)的神經(jīng)元進(jìn)行dropout操作,然后返回原來的網(wǎng)絡(luò);
5) 在未滿足預(yù)設(shè)誤差閾值下循環(huán)進(jìn)行一定次數(shù)的迭代并測試數(shù)據(jù)集,計算并得到每一次的結(jié)果。
實驗環(huán)境是在 window10 64 位操作系統(tǒng)下,基于深度學(xué)習(xí)框架Pytorch平臺,采用GPU加速,Python編程語言實現(xiàn)。在進(jìn)行模擬輻照效應(yīng)擾動時,先后對1‰,1%,5%,10%的比例參數(shù)進(jìn)行隨機注錯,得到圖7所示結(jié)果。在1‰比例參數(shù)出錯的情況下(這種比例已經(jīng)很大程度模擬SEU效應(yīng)),在實驗迭代次數(shù)增加的情況下,最終結(jié)果準(zhǔn)確率會維持在0.94附近左右,而在無SEU情況下訓(xùn)練好的LeNet5網(wǎng)絡(luò)對MNIST數(shù)據(jù)集的測試結(jié)果能達(dá)到0.99左右,所以可以看出SEU引起參數(shù)的隨機變化會對結(jié)果準(zhǔn)確率產(chǎn)生一定的負(fù)面影響。后面繼續(xù)在1%,5%,10%的大比例參數(shù)出錯情況下進(jìn)行測試,發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)結(jié)果準(zhǔn)確率迅速下降,除此之外,準(zhǔn)確率上下偏差震蕩的現(xiàn)象也很明顯,這導(dǎo)致整個網(wǎng)絡(luò)幾乎不可用。因為對于有幾萬個參數(shù)的網(wǎng)絡(luò),1%即為有幾百個參數(shù)同時出錯,這對各個神經(jīng)元的關(guān)聯(lián)影響很大。
圖7 不同比例參數(shù)出錯情況下準(zhǔn)確率隨迭代次數(shù)的變化曲線Fig.7 Curve of accuracy vs. iterations fordifferent scale parameter errors
針對1‰比例權(quán)重參數(shù)在受到干擾出錯的情況下,對比正常訓(xùn)練的網(wǎng)絡(luò)和注錯并進(jìn)行dropout后的網(wǎng)絡(luò),得到的實驗結(jié)果如圖8所示。而對于1%,5%和10%參數(shù)出錯,如表3所示,雖然準(zhǔn)確率已經(jīng)低于0.90,但相比未采用dropout網(wǎng)絡(luò)的準(zhǔn)確度都有一定程度的上升。事實上,在實際使用環(huán)境中,由于空間輻照所造成SEU干擾下參數(shù)出錯的比例也很難達(dá)到1%級別。另外可以看出,未進(jìn)行SEU和dropout算法的LeNet5網(wǎng)絡(luò)對MNIST數(shù)據(jù)集的測試準(zhǔn)確率達(dá)到0.99左右,符合預(yù)期效果。而在1‰比例參數(shù)出錯的情況下,還是如圖7在0.94左右,但進(jìn)行dropout后神經(jīng)網(wǎng)絡(luò)準(zhǔn)確率較僅僅注錯情況下有明顯的提升效果,進(jìn)行一定次數(shù)迭代后,準(zhǔn)確率約0.96,提升約2個百分點,效果也比較明顯,能起到一定的容錯作用。
表3 神經(jīng)元有無dropout操作的準(zhǔn)確率對比Table 3 Comparison of the accuracy with orwithout the dropout operation
圖8 3種情況對比Fig.8 Comparison of the three situations
本文方法在硬件方面不需要再做額外的設(shè)計,只需要在神經(jīng)網(wǎng)絡(luò)算法上對部分神經(jīng)元進(jìn)行dropout操作處理,沒有過多的輸入數(shù)據(jù)的預(yù)處理,保證芯片的運行效率不會降低,提高了芯片處理數(shù)據(jù)的性能。表4給出與前述幾種方法的對比。
表4 方法優(yōu)缺點對比Table 4 Advantages and disadvantagesof different methods
硬件的三模冗余電路需要對電路進(jìn)行3倍同樣的硬件設(shè)計,這會對芯片寶貴的硬件資源造成過度的開銷,同時芯片的體積、重量和能耗都會因此增加,而且在數(shù)據(jù)的傳送處理過程中,進(jìn)行過多的數(shù)據(jù)預(yù)處理,會降低芯片本來的處理速度,在極限環(huán)境下可能會降低70%~80%的處理速度。特別是三模電路硬件本身設(shè)計比較復(fù)雜,如果三模電路自身出現(xiàn)不可預(yù)料的故障,會導(dǎo)致整個系統(tǒng)對輸入數(shù)據(jù)的錯誤判決。周期性的擦洗方法設(shè)計缺點是擦洗方法本身不能對芯片存儲單元內(nèi)容就是否受到空間輻照干擾進(jìn)行自我校驗,且恢復(fù)只是一個暫態(tài)的周期,只能起到一定程度的減緩。而糾錯編碼方法的設(shè)計其缺點是發(fā)生錯誤時,需要更新芯片存儲器內(nèi)的單元數(shù)據(jù),這會占用芯片的運行開銷,有一定的延時并且降低了芯片處理數(shù)據(jù)的處理速度。所以在滿足一定準(zhǔn)確度下,本文方法對硬件資源數(shù)量需求減少,其芯片本身體積、重量和能耗都有一定降低。
本文針對空間輻照SEU效應(yīng)對神經(jīng)網(wǎng)絡(luò)芯片產(chǎn)生的影響,就CNN算法進(jìn)行研究,通過算法改進(jìn)降低SEU對網(wǎng)絡(luò)性能的影響。給出具體實驗過程軟件仿真模擬這一現(xiàn)象,得出了正常神經(jīng)網(wǎng)絡(luò)和在受到干擾參數(shù)出錯后的網(wǎng)絡(luò)對同一數(shù)據(jù)集的測試結(jié)果準(zhǔn)確度,從以上實驗結(jié)果來看,不同比例參數(shù)的出錯會直接影響神經(jīng)網(wǎng)絡(luò)的正常穩(wěn)定工作。而對神經(jīng)網(wǎng)絡(luò)隱藏層的神經(jīng)元進(jìn)行部分dropout處理后,再去對同一數(shù)據(jù)集進(jìn)行測試,相比較出錯后網(wǎng)絡(luò)的準(zhǔn)確度有一定的提升效果,能起到一定的抗干擾和泛化作用。值得注意的是,雖然本次實驗是在LeNet5和手寫數(shù)據(jù)集MNIST上進(jìn)行的,但其所描述的問題并不局限于此,相關(guān)研究成果也可以應(yīng)用于其他的CNN?,F(xiàn)如今神經(jīng)網(wǎng)絡(luò)芯片復(fù)雜度越來越高,處理數(shù)據(jù)的種類也越來越豐富,此次結(jié)果的獲得對下一步研究更復(fù)雜的數(shù)據(jù)模型或者更大型更深層的CNN芯片抗輻照干擾提供了部分依據(jù)和參考。