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

?

單粒子翻轉(zhuǎn)對神經(jīng)網(wǎng)絡(luò)的影響分析與優(yōu)化*

2021-11-25 04:53王慧玲謝卓辰梁旭文
關(guān)鍵詞:權(quán)值準(zhǔn)確率粒子

王慧玲,謝卓辰,梁旭文

(中國科學(xué)院微小衛(wèi)星創(chuàng)新研究院, 上海 201203; 中國科學(xué)院大學(xué), 北京 100049)

神經(jīng)網(wǎng)絡(luò)在圖像識別[1]、語音識別[2]、信號檢測[3]等方面已經(jīng)取得了很好的效果,但卻是以高計(jì)算復(fù)雜性為代價。為解決這一問題,采用可以模仿人腦神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的DNN(deep neural network)芯片(一種專用集成芯片),在進(jìn)行圖像識別等智能處理過程中相較于傳統(tǒng)芯片較大地提高了工作效率。

衛(wèi)星和地面系統(tǒng)之間的數(shù)據(jù)傳輸是一個大數(shù)據(jù)、高通量的處理過程。如果將DNN芯片應(yīng)用到衛(wèi)星系統(tǒng)中對衛(wèi)星捕獲到的信息先進(jìn)行預(yù)處理,然后再進(jìn)行衛(wèi)星和地面之間的數(shù)據(jù)傳輸,可以節(jié)省大量資源。但空間環(huán)境復(fù)雜,DNN芯片作為星載設(shè)備應(yīng)用時,空間粒子造成的輻射和沖擊會對其產(chǎn)生諸多影響[4],其中最主要的影響為單粒子效應(yīng)。為了較大程度地減少這些輻照效應(yīng)的影響,芯片在器件工藝上有了很大的改進(jìn),例如SOI(硅技術(shù))器件[5],SOI結(jié)構(gòu)的埋氧化層使器件之間完全隔離,從根本上消除了單粒子閂鎖(single event latchup,SEL)效應(yīng),但是該結(jié)構(gòu)相對較厚的襯底和埋氧層依然無法阻止質(zhì)子的穿透,從底部入射的質(zhì)子同樣可以在耗盡區(qū)產(chǎn)生能量沉積從而產(chǎn)生單粒子翻轉(zhuǎn)(single event upset,SEU)。另外集成度越來越高,采用的納米器件的直徑可能小于重離子入射徑跡的直徑,導(dǎo)致的SEU效應(yīng)通常會對鄰近的幾個器件同時造成影響,進(jìn)而發(fā)生多點(diǎn)同時翻轉(zhuǎn)[6-8]。汪波等[9]指出專用集成芯片(application specific integrated circuit,ASIC)在軌翻轉(zhuǎn)率和其總位數(shù)與使用率成正比,對于同一款A(yù)SIC芯片,使用的位數(shù)越多,翻轉(zhuǎn)的概率越大。

DNN芯片有不同的硬件架構(gòu)和設(shè)計(jì)模式[10],以寒武紀(jì)“電腦”加速器[11]為例,主要包含存儲單元、計(jì)算單元和控制單元。傳統(tǒng)芯片針對單粒子翻轉(zhuǎn)所采取的硬件措施[12-13]例如看門狗技術(shù),配置擦洗加三模冗余等方法并不適用于集成度較高的DNN專用芯片,更多地應(yīng)該從DNN芯片自身所實(shí)現(xiàn)的神經(jīng)網(wǎng)絡(luò)算法角度分析這類問題。近年來研究輻照干擾對DNN芯片魯棒性的影響漸漸成為熱點(diǎn)問題,Lee等[14]分析定點(diǎn)前饋深度神經(jīng)網(wǎng)絡(luò)的容錯能力,考慮由互連以及處理單元引起的電路錯誤,提出在訓(xùn)練過程中隨機(jī)斷開權(quán)重以提高錯誤恢復(fù)能力。Assoum等[15]分析人工神經(jīng)網(wǎng)絡(luò)在空間環(huán)境中抗單粒子翻轉(zhuǎn)的魯棒性。Arechiga和Michaels[16]測試VGG16、ResNet50和InceptionV3等3種不同結(jié)構(gòu)的網(wǎng)絡(luò)在推斷階段參數(shù)出錯時的網(wǎng)絡(luò)魯棒性。Kwon等[17]測試LeNet結(jié)構(gòu)對網(wǎng)絡(luò)權(quán)值注入高斯噪聲的魯棒性,發(fā)現(xiàn)卷積層具有彼此不同的誤差容限。Arechiga和Michaels[18]分析單粒子翻轉(zhuǎn)錯誤造成的權(quán)值出錯對純卷積網(wǎng)絡(luò)和多層感知器的影響,但他們的研究中關(guān)于注錯都是隨機(jī)選參數(shù)隨機(jī)翻轉(zhuǎn)幾個比特,并且只是簡單分析了單粒子翻轉(zhuǎn)對網(wǎng)絡(luò)的影響。

1 單粒子翻轉(zhuǎn)問題分析

DNN芯片主要包含存儲單元、計(jì)算單元和控制單元,當(dāng)有單粒子翻轉(zhuǎn)效應(yīng)發(fā)生時主要考慮芯片的存儲單元出錯,芯片的存儲單元中主要存儲的數(shù)據(jù)是輸入、輸出和權(quán)值參數(shù)??紤]到芯片的內(nèi)存較小而網(wǎng)絡(luò)參數(shù)較多,因此在數(shù)據(jù)流處理過程中會涉及數(shù)據(jù)重用,由于時間的累積效應(yīng)用于復(fù)用的數(shù)據(jù)相較于其他數(shù)據(jù)更容易發(fā)生單粒子翻轉(zhuǎn)錯誤。本文主要考慮權(quán)值復(fù)用,從權(quán)值參數(shù)出現(xiàn)錯誤擾動分析。

當(dāng)神經(jīng)網(wǎng)絡(luò)的權(quán)值參數(shù)出錯時,對神經(jīng)網(wǎng)絡(luò)最終的推斷結(jié)果肯定會有影響,在一定程度上準(zhǔn)確度會下降。在對網(wǎng)絡(luò)進(jìn)行注錯分析時,考慮到空間粒子對SRAM的輻射和沖擊由于電荷共享的影響,會有多位翻轉(zhuǎn)的情況發(fā)生。以單個參數(shù)為例,它有幾個比特位發(fā)生翻轉(zhuǎn)的概率并不相同,因此可以抽象出單粒子翻轉(zhuǎn)概率模型,更好地模擬參數(shù)出錯。

1.1 單粒子翻轉(zhuǎn)概率模型

當(dāng)芯片的存儲單元SRAM的某個比特位單粒子翻轉(zhuǎn)錯誤發(fā)生時,受到電荷共享的影響,其周圍的比特位也會發(fā)生翻轉(zhuǎn),從而出現(xiàn)連續(xù)的幾個比特位都會發(fā)生翻轉(zhuǎn)的現(xiàn)象。由泊松分布得到啟發(fā),當(dāng)有多位發(fā)生翻轉(zhuǎn)時,用復(fù)合泊松模型[19-20]。在復(fù)合泊松分布中,每個泊松事件都與一個隨機(jī)變量m和一個分布函數(shù)G(m)有關(guān),給定G(m)的分布之后,n個獨(dú)立同分布隨機(jī)變量的和的分布函數(shù)可以表示為

F(m/n)=[G(m)]n*.

(1)

其中:[G(m)]n*是G(m)的n次卷積,n是帶有參數(shù)λ的泊松變量,λ表示事件發(fā)生的平均概率,在本文中表示平均翻轉(zhuǎn)錯誤。對所有n的可能值求和得到

(2)

因此,F(xiàn)(m)是一個具有復(fù)合分布G(m)的復(fù)合泊松分布,其中G(m)滿足幾何分布,其概率公式為

p(m)=(1-r)rm-1,m=1,2,3,…,

(3)

其中r表示在前一個錯誤發(fā)生時下一個錯誤發(fā)生的概率。式(3)代入式(2)可以得到一個復(fù)合分布模型,泊松-幾何分布

(4)

本文實(shí)驗(yàn)中參數(shù)為32-bit浮點(diǎn)數(shù),如圖1所示:首位s為符號位,中間8位(c)為指數(shù)位,剩下的23位(d)為尾數(shù)位,即一個浮點(diǎn)數(shù)可以表示為(-1)s×d×2(c-127)。當(dāng)發(fā)生單粒子翻轉(zhuǎn)時,如果翻轉(zhuǎn)是在尾數(shù)位對參數(shù)值影響不是很大,但如果是在符號位或者指數(shù)位,對參數(shù)值的影響較大??紤]到粒子會造成多比特翻轉(zhuǎn),因此某個參數(shù)在有某一個位發(fā)生比特翻轉(zhuǎn)的情況下,這個參數(shù)的其他位有較大可能會發(fā)生翻轉(zhuǎn)。實(shí)驗(yàn)中采用的參數(shù)為32位浮點(diǎn)數(shù),在已知有錯誤發(fā)生的情況下,某個參數(shù)內(nèi)最少有一個比特發(fā)生翻轉(zhuǎn),最多有32個比特發(fā)生翻轉(zhuǎn)。在已知錯誤發(fā)生的情況下,有m個比特發(fā)生翻轉(zhuǎn)的概率為

(5)

圖1 32位浮點(diǎn)數(shù)Fig.1 32-bit floating point

1.2 神經(jīng)網(wǎng)絡(luò)與激活函數(shù)

神經(jīng)網(wǎng)絡(luò)一般包含卷積、池化以及全連接層。卷積層對輸入進(jìn)行卷積操作,卷積核通常是一個行和列維數(shù)相等的矩陣,其參數(shù)可以通過訓(xùn)練學(xué)習(xí)得到,這些卷積核在網(wǎng)絡(luò)中扮演濾波器的角色,用來提取圖像的特征。因此每一層的輸出都是對該層輸入更為抽象的一個表示,每個卷積層均使用激活函數(shù)。緊接著卷積層的是池化層,池化層是用一個特殊的值表示一個相鄰區(qū)域的操作,通常選用的特殊值是該區(qū)域的平均值或最大值(分別對應(yīng)的平均池化和最大池化)。全連接層是一個矩陣乘法,相當(dāng)于一個特征空間的轉(zhuǎn)換,把所有有用信息提取整合最后達(dá)到一個分類的效果。

以寒武紀(jì)“電腦”加速器[11]為例,分析其架構(gòu),主要包含控制單元、存儲單元和計(jì)算單元(PE),如圖2所示,其中計(jì)算單元主要實(shí)現(xiàn)乘法、加法以及激活函數(shù)等功能。神經(jīng)網(wǎng)絡(luò)中每個節(jié)點(diǎn)接受輸入值,并將輸入值傳遞給下一層,在網(wǎng)絡(luò)隱含層和輸出層的輸入輸出之間有個函數(shù)關(guān)系,即為激活函數(shù)f(x)。以單個輸出神經(jīng)元為例:

(6)

粒子在對芯片存儲單元的輻射和沖擊造成的單粒子翻轉(zhuǎn)作用映射到網(wǎng)絡(luò)參數(shù)是隨機(jī)的,任一網(wǎng)絡(luò)層的權(quán)值參數(shù)都有可能發(fā)生錯誤。假設(shè)權(quán)值參數(shù)出現(xiàn)單粒子翻轉(zhuǎn)錯誤對輸出的影響等價為β=ΔWTX,則出錯后的輸出為

(7)

神經(jīng)網(wǎng)絡(luò)中采用的激活函數(shù)主要有具有雙邊抑制效果的sigmoid、softsign和tanh函數(shù)等,具有單邊抑制效果的relu[21]、leaky_relu函數(shù)以及將relu、zoneout和dropout三者屬性相結(jié)合的GELU[22]函數(shù)。各激活函數(shù)圖像如圖3(a)所示,從函數(shù)圖像中可以看出雙邊抑制函數(shù)將函數(shù)值限制在一定的范圍以內(nèi),保障數(shù)據(jù)的幅度在網(wǎng)絡(luò)中不會有太大的變化,當(dāng)網(wǎng)絡(luò)權(quán)值出現(xiàn)錯誤對輸出造成影響時,依然能夠很好地隱蔽錯誤,擬合數(shù)據(jù),較為準(zhǔn)確地預(yù)測輸出。對于單邊抑制函數(shù)而言,雖然其使得神經(jīng)網(wǎng)絡(luò)的神經(jīng)元具有了稀疏激活性,但是當(dāng)出現(xiàn)的錯誤造成的誤差影響較大時,相較于雙邊抑制函數(shù),其錯誤隱蔽能力較弱。GELU函數(shù)則是通過隨機(jī)地將輸入值乘以1或者0誘導(dǎo)激活函數(shù)的非線性,當(dāng)剛好將出現(xiàn)錯誤的神經(jīng)元置為0時,可以減少其出錯對結(jié)果的影響,雖有一定的隱蔽錯誤能力,但過于隨機(jī)性,如果置為0的神經(jīng)元都未出錯,反而放大了錯誤的影響效果。圖3(b)和3(c)以tanh函數(shù)和relu函數(shù)為例,假設(shè)輸入出現(xiàn)局部錯誤時,在函數(shù)圖像上可以理解為輸入值在坐標(biāo)軸上的位置平移,可以看到輸出值的變化情況,tanh函數(shù)依舊將輸出值抑制在[-1,1]的區(qū)間范圍內(nèi),而relu函數(shù)的正值部分則有了較大變化。

圖2 神經(jīng)網(wǎng)絡(luò)芯片架構(gòu)Fig.2 Architecture of neural network chip

圖3 激活函數(shù)Fig.3 Activation functions

2 容錯優(yōu)化

考慮到DNN芯片一般只執(zhí)行網(wǎng)絡(luò)推斷工作,不存在重新學(xué)習(xí)的過程,需要提高其在線容錯的能力,即當(dāng)網(wǎng)絡(luò)參數(shù)出現(xiàn)了部分錯誤,只要不超過網(wǎng)絡(luò)自身的容錯能力,不需要采取任何糾錯措施依然可以正常工作,這樣可以避免錯誤檢測和定位。因此在神經(jīng)網(wǎng)絡(luò)作為星載神經(jīng)網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)推斷之前,通過網(wǎng)絡(luò)容錯學(xué)習(xí)盡量提高網(wǎng)絡(luò)的容錯能力很有必要。可以將問題簡化為通過目標(biāo)函數(shù)的不斷學(xué)習(xí)調(diào)優(yōu),在確保一定準(zhǔn)確率的前提下還能夠盡量提高網(wǎng)絡(luò)的容錯能力。一般可以考慮盡量增加網(wǎng)絡(luò)的隱藏單元數(shù)量,從結(jié)構(gòu)化上提高網(wǎng)絡(luò)的容錯能力,但是考慮到芯片的存儲單元受限、計(jì)算效率等問題,芯片中實(shí)際應(yīng)用的網(wǎng)絡(luò)都是進(jìn)行過模型壓縮后的網(wǎng)絡(luò),多余的冗余參數(shù)都被修剪掉,因此這種方法并不適用。從神經(jīng)網(wǎng)絡(luò)自身的學(xué)習(xí)能力考慮,一般情況下神經(jīng)網(wǎng)絡(luò)在學(xué)習(xí)過程中的目標(biāo)函數(shù)[23]為

(8)

(9)

--------------------

算法:基于權(quán)值參數(shù)w帶正則項(xiàng)的容錯學(xué)習(xí)算法

--------------------

Require: learning rateα, regularization constantγepochsN, number of layersLweight parametersW; loss:ε, total_loss:ε+R

1. random initialize parameterW

2. forn=1 toNdo

3. forl=1 toLdo

4. save the parameterwl

5. end for

6. forl=Lto 1 do

9. end for

10. end for

--------------------

3 實(shí)驗(yàn)過程與結(jié)果分析

整體實(shí)驗(yàn)流程如圖4所示,首先根據(jù)相關(guān)數(shù)據(jù)集的訓(xùn)練集來訓(xùn)練神經(jīng)網(wǎng)絡(luò),考慮到不同的激活函數(shù)的錯誤掩蔽能力不同,在訓(xùn)練過程中采用不同的激活函數(shù)使網(wǎng)絡(luò)訓(xùn)練結(jié)果達(dá)到最優(yōu),保存網(wǎng)絡(luò)參數(shù)用于網(wǎng)絡(luò)推斷。結(jié)合網(wǎng)絡(luò)參數(shù)錯誤概率模型對權(quán)值參數(shù)注錯,根據(jù)輸出結(jié)果分析激活函數(shù)的錯誤隱蔽能力。在網(wǎng)絡(luò)訓(xùn)練中加入懲罰項(xiàng)進(jìn)行容錯學(xué)習(xí),重復(fù)上述過程,根據(jù)網(wǎng)絡(luò)輸出結(jié)果分析容錯能力。

經(jīng)典的深度神經(jīng)網(wǎng)絡(luò)有VggNet、 ResNet、 AlexNet等,網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,冗余參數(shù)較多。實(shí)驗(yàn)若對這類網(wǎng)絡(luò)進(jìn)行注錯分析,由于單粒子翻轉(zhuǎn)是一個小面積事件,影響的參數(shù)較少,出現(xiàn)錯誤對網(wǎng)絡(luò)結(jié)果影響較小,并不易分析。另外芯片的應(yīng)用中采用的都是將冗余進(jìn)行剪枝的模型壓縮后的網(wǎng)絡(luò),但這不是本文的研究內(nèi)容。從以下兩個方面考慮:一為了更直接地展現(xiàn)單粒子翻轉(zhuǎn)錯誤造成的網(wǎng)絡(luò)參數(shù)出錯對神經(jīng)網(wǎng)絡(luò)識別準(zhǔn)確率的影響,同時也為了更加直接地展現(xiàn)各類激活函數(shù)的錯誤隱蔽能力;二考慮到LeNet網(wǎng)絡(luò)是最早成功應(yīng)用于圖像識別的網(wǎng)絡(luò),是其他經(jīng)典深度神經(jīng)網(wǎng)絡(luò)的基礎(chǔ),且它們的主要工作原理相同,都是對二維數(shù)據(jù)的卷積、池化并在輸出端采用全連接網(wǎng)絡(luò)。因此本文決定采用LeNet網(wǎng)絡(luò)替代各深度神經(jīng)網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)研究與分析,LeNet-5網(wǎng)絡(luò)參數(shù)如表1所示。

本實(shí)驗(yàn)基于Mnist手寫數(shù)據(jù)集(訓(xùn)練數(shù)據(jù)集包含60 000個樣本,測試數(shù)據(jù)集包含10 000個樣本),采用LeNet-5網(wǎng)絡(luò)迭代訓(xùn)練達(dá)到最優(yōu)準(zhǔn)確率98%~99%,訓(xùn)練過程中參數(shù)優(yōu)化算法為隨機(jī)梯度下降(stochastic gradient descent,SGD),采用的損失函數(shù)為交叉熵?fù)p失函數(shù)。

圖4 實(shí)驗(yàn)整體流程圖Fig.4 Overall flow chart of the experiments

表1 LeNet-5網(wǎng)絡(luò)架構(gòu)Table 1 Architecture of LeNet-5

LeNet-5網(wǎng)絡(luò)大約有60 000個參數(shù),單粒子翻轉(zhuǎn)是小概率事件,影響的錯誤參數(shù)不可能會有很多,假設(shè)其錯誤參數(shù)的錯誤數(shù)量級在10-4~10-3,基于10-4~10-3的錯誤數(shù)量級(對應(yīng)的錯誤參數(shù)個數(shù)為5~70),隨機(jī)選取參數(shù)進(jìn)行注錯。單個參數(shù)的具體的注錯操作為:首先將浮點(diǎn)型參數(shù)用32位二進(jìn)制數(shù)表示,根據(jù)錯誤概率模型式(3)和式(4),假定λ=0.01,r=0.57[20],采樣單個參數(shù)發(fā)生錯誤翻轉(zhuǎn)的比特?cái)?shù),進(jìn)行0、1翻轉(zhuǎn),然后將二進(jìn)制數(shù)重新轉(zhuǎn)換成浮點(diǎn)數(shù)存入網(wǎng)絡(luò)參數(shù)中基于測試集用于網(wǎng)絡(luò)推斷。粗略模擬芯片inference過程的具體實(shí)現(xiàn)[25],考慮到Mnist測試集的圖片大小為28×28,通過padding擴(kuò)充為32×32,結(jié)合具體的網(wǎng)絡(luò)結(jié)構(gòu),將32×32的輸入分成25個塊,步長為4,每塊大小為16×16,分塊計(jì)算,最后按照每塊的相對位置拼接數(shù)據(jù),得到預(yù)測結(jié)果。

對于不同的激活函數(shù),基于不同的錯誤量級,進(jìn)行注錯實(shí)驗(yàn)分析得到圖5的實(shí)驗(yàn)結(jié)果。由于參數(shù)出錯的隨機(jī)性,不同的參數(shù)出錯和相同參數(shù)不同位置的比特值發(fā)生翻轉(zhuǎn)對于網(wǎng)絡(luò)最后識別準(zhǔn)確率的影響都不相同。本注錯實(shí)驗(yàn)進(jìn)行了1 000次,分10次進(jìn)行,將10次獲得的實(shí)驗(yàn)結(jié)果再一次進(jìn)行統(tǒng)計(jì)求平均值,因此實(shí)驗(yàn)結(jié)果的折線圖雖有一定的波動,但是在整體趨勢上依然可以很好地反映問題。圖5中橫軸表示參數(shù)的錯誤個數(shù),縱軸表示準(zhǔn)確率統(tǒng)計(jì)次數(shù)。

圖5 采用不同的激活函數(shù)的網(wǎng)絡(luò)注錯之后性能分析Fig.5 The performance after network error injection with different activation functions

由圖5可以看到隨著錯誤參數(shù)的增加,大于80%準(zhǔn)確率的占比在下降, 低于20%準(zhǔn)確率的占比在增加。由上文激活函數(shù)的數(shù)學(xué)特性分析可得,權(quán)值出錯映射到激活函數(shù)的函數(shù)圖像上其實(shí)就是該點(diǎn)的值在坐標(biāo)軸上的位置平移,從而導(dǎo)致最終的輸出結(jié)果出現(xiàn)偏差,但因?yàn)榧せ詈瘮?shù)本身具有一定的錯誤隱蔽能力,可以減少這種影響。圖5(a)表示的是,隨著錯誤參數(shù)占比的增加,網(wǎng)絡(luò)結(jié)構(gòu)中采用不同的激活函數(shù)其識別準(zhǔn)確率大于80%的次數(shù)統(tǒng)計(jì),可以看到具有雙邊抑制效果的函數(shù)作為激活函數(shù)其大于80%的準(zhǔn)確率占比要明顯高于其他激活函數(shù)。圖5(b)中則表示隨著錯誤參數(shù)占比的增加低于20%的準(zhǔn)確率占比結(jié)果,可以看到采用具有雙邊抑制效果的激活函數(shù)的LeNet-5網(wǎng)絡(luò)準(zhǔn)確率低于20%的次數(shù)幾乎為0,明顯優(yōu)于網(wǎng)絡(luò)模型中采用其他的激活函數(shù)。而同時具有雙邊抑制效果的激活函數(shù)tanh和softsign函數(shù),tanh函數(shù)的錯誤隱蔽能力略優(yōu)于softsign函數(shù)。

當(dāng)單粒子翻轉(zhuǎn)造成的參數(shù)錯誤集中在同一網(wǎng)絡(luò)層時,由于每一層提取的特征和實(shí)現(xiàn)的功能不同對最終的結(jié)果影響也不同。以tanh、relu和gelu函數(shù)為例,分別針對這3種函數(shù)作為激活函數(shù)進(jìn)行網(wǎng)絡(luò)權(quán)值參數(shù)注錯分析得到表2,可以看出全連接層相較于卷積層,它的網(wǎng)絡(luò)容錯能力更強(qiáng)。因此可以考慮在卷積后加上BN層(批歸一化層),將數(shù)據(jù)進(jìn)行歸一化處理,提高錯誤隱蔽能力。

表2 針對不同網(wǎng)絡(luò)層錯誤參數(shù)為30的準(zhǔn)確率分析Table 2 Accuracy analysis for 30 error parameters of different network layers %

以單邊抑制函數(shù)relu和雙邊抑制函數(shù)tanh為例,在卷積層后加入BN層,重復(fù)上述實(shí)驗(yàn)過程,得到實(shí)驗(yàn)結(jié)果表3。可以看到參數(shù)出錯數(shù)較少時,針對雙邊抑制函數(shù)BN層所表現(xiàn)出來的容錯能力并不是很明顯,當(dāng)出錯的參數(shù)占比增加時,BN層有很好的容錯能力。而對于單邊抑制函數(shù),BN層容錯能力明顯,相對于未加入BN層準(zhǔn)確率明顯提高。分析同時在卷積層后添加BN層但采用不同激活函數(shù)的平均準(zhǔn)確率,當(dāng)錯誤參數(shù)較少時,兩者的識別準(zhǔn)確率沒有相差太大,但當(dāng)錯誤參數(shù)較多時,雙邊抑制函數(shù)的容錯能力依然優(yōu)于單邊抑制函數(shù)。

表3 不同激活函數(shù)注錯實(shí)驗(yàn)平均準(zhǔn)確率Table 3 The average accuracy of different activation functions testing with error injection %

基于式(9)的目標(biāo)優(yōu)化函數(shù),采用tanh函數(shù)作為激活函數(shù),迭代訓(xùn)練達(dá)到最優(yōu)準(zhǔn)確率,基于最優(yōu)準(zhǔn)確率保存最優(yōu)參數(shù)用于網(wǎng)絡(luò)推斷。關(guān)于正則化系數(shù)的選擇,基于網(wǎng)格化搜索,通過對權(quán)值參數(shù)注錯分析不同的系數(shù)值下的網(wǎng)絡(luò)性能,從而確定用于網(wǎng)絡(luò)容錯的系數(shù)值。根據(jù)上文的錯誤概率模型對參數(shù)進(jìn)行注錯,進(jìn)行相同實(shí)驗(yàn)得到結(jié)果如圖6所示。綜合圖6(a)和6(b)可以發(fā)現(xiàn)隨著參數(shù)錯誤占比的增加,考慮了正則化(γ=0.001)的LeNet-5網(wǎng)絡(luò)模型對于權(quán)值參數(shù)出錯表現(xiàn)出來的容錯性能最優(yōu)。

由表3可知在卷積層后加入BN層可以提高網(wǎng)絡(luò)的容錯能力,因此進(jìn)一步在網(wǎng)絡(luò)訓(xùn)練過程中對目標(biāo)函數(shù)添加一個L2懲罰項(xiàng),激活函數(shù)依舊采用tanh函數(shù),迭代訓(xùn)練達(dá)到最優(yōu)準(zhǔn)確率,保存網(wǎng)絡(luò)參數(shù)。根據(jù)上文的錯誤概率模型依舊基于10-4~10-3的錯誤數(shù)量級對網(wǎng)絡(luò)權(quán)值參數(shù)注錯,實(shí)驗(yàn)100次取平均準(zhǔn)確率得到表4。可以看到當(dāng)出錯參數(shù)占比增加時,加入BN層并且考慮了正則化的網(wǎng)絡(luò)容錯能力得到提高。

圖6 考慮L2正則化和不考慮L2正則化的實(shí)驗(yàn)結(jié)果Fig.6 The results of considering L2 regularization and not

表4 注錯實(shí)驗(yàn)平均準(zhǔn)確率Table 4 The average accuracy of testing with error injection %

4 總結(jié)

本文考慮到人工智能芯片在軌應(yīng)用會受到太空輻照的影響,首先基于太空輻照對芯片存儲單元造成的單粒子翻轉(zhuǎn)錯誤影響,結(jié)合芯片的數(shù)據(jù)流和數(shù)據(jù)復(fù)用,假設(shè)網(wǎng)絡(luò)參數(shù)出錯,基于參數(shù)的比特位建立空間上的錯誤概率模型-復(fù)合泊松分布;接著考慮到網(wǎng)絡(luò)層的輸入和輸出之間存在函數(shù)關(guān)系——激活函數(shù),從激活函數(shù)的數(shù)學(xué)特性分析,不同特性的激活函數(shù)其容錯能力不同,基于理論和實(shí)驗(yàn)分析得到具有雙邊抑制效應(yīng)的激活函數(shù)錯誤隱蔽能力更好。

為了更好地提高網(wǎng)絡(luò)容錯能力,在采用tanh函數(shù)作為激活函數(shù)的基礎(chǔ)上,基于權(quán)值噪聲容錯的錯誤模型,在網(wǎng)絡(luò)訓(xùn)練過程中針對網(wǎng)絡(luò)參數(shù)的L2正則化添加一個懲罰項(xiàng)以尋找最優(yōu)模型和容錯模型之間的平衡。對于卷積神經(jīng)網(wǎng)絡(luò)卷積層的權(quán)值共享特性,其權(quán)值參數(shù)出錯對于最后輸出結(jié)果的準(zhǔn)確率的影響高于全連接層,考慮在卷積層之后添加一個BN層提高網(wǎng)絡(luò)的容錯能力。進(jìn)一步提出聯(lián)合L2正則化和歸一化算法來提高網(wǎng)絡(luò)的容錯能力,并通過注錯實(shí)驗(yàn)驗(yàn)證其可行性。當(dāng)采用神經(jīng)網(wǎng)絡(luò)處理相關(guān)問題時,數(shù)據(jù)在前向傳播過程中會經(jīng)過多個網(wǎng)絡(luò)層的疊加,當(dāng)某個網(wǎng)絡(luò)層的參數(shù)出現(xiàn)單粒子翻轉(zhuǎn)錯誤時會導(dǎo)致該網(wǎng)絡(luò)層的輸出數(shù)據(jù)發(fā)生變化,通過層層疊加從而對高層網(wǎng)絡(luò)的輸出有較大的影響,從而導(dǎo)致最終輸出結(jié)果的準(zhǔn)確率存在一定的偏差。針對目前圖像處理的相關(guān)問題中較為常用的復(fù)雜網(wǎng)絡(luò)VGG、Alexnet等,其與Lenet-5網(wǎng)絡(luò)結(jié)構(gòu)相似,都具有卷積層、池化層和全連接層等基本網(wǎng)絡(luò)層結(jié)構(gòu)。考慮在其卷積層后加入BN層以及在神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程中加入正則化等措施來提高神經(jīng)網(wǎng)絡(luò)容錯能力,基本思想都是盡可能減少參數(shù)出錯導(dǎo)致的出錯后數(shù)據(jù)和出錯前數(shù)據(jù)的分布差別,達(dá)到抑制錯誤的效果,因此對于其他復(fù)雜網(wǎng)絡(luò)應(yīng)同樣適用。

猜你喜歡
權(quán)值準(zhǔn)確率粒子
一種融合時間權(quán)值和用戶行為序列的電影推薦模型
碘-125粒子調(diào)控微小RNA-193b-5p抑制胃癌的增殖和侵襲
乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
2015—2017 年寧夏各天氣預(yù)報參考產(chǎn)品質(zhì)量檢驗(yàn)分析
基于5G MR實(shí)現(xiàn)Massive MIMO權(quán)值智能尋優(yōu)的技術(shù)方案研究
頸椎病患者使用X線平片和CT影像診斷的臨床準(zhǔn)確率比照觀察
基于膜計(jì)算粒子群優(yōu)化的FastSLAM算法改進(jìn)
Conduit necrosis following esophagectomy:An up-to-date literature review
強(qiáng)規(guī)劃的最小期望權(quán)值求解算法?