999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于對偶誤差的脈沖神經(jīng)網(wǎng)絡(luò)目標檢測方法

2024-01-12 13:54:18李文娟
電子與信息學報 2023年12期
關(guān)鍵詞:檢測模型

劉 偉 李文娟 高 晉 李 椋

①(中國科學院自動化研究所模式識別國家重點實驗室 北京 100098)

②(軍事認知與腦科學研究所 北京 100850)

1 引言

近期深度學習在很多領(lǐng)域的表現(xiàn)已經(jīng)超過人類,主要歸因于深度神經(jīng)網(wǎng)絡(luò)算法和高性能計算硬件的發(fā)展。然而,解決現(xiàn)實環(huán)境應用問題需要復雜的模型和海量訓練數(shù)據(jù),從而導致計算成本和功耗顯著增加。為克服這些挑戰(zhàn),研究人員從神經(jīng)網(wǎng)絡(luò)算法優(yōu)化方面開展了許多研究工作。模型壓縮[1]是降低網(wǎng)絡(luò)復雜度的一個重要方向,例如模型裁剪[2]、知識蒸餾[3-5]和模型量化[6,7]等是模型壓縮的常用方法。這些方法通過對原有網(wǎng)絡(luò)結(jié)構(gòu)進行參數(shù)壓縮、維度縮減等,提高了網(wǎng)絡(luò)的訓練和推理速度。然而,隨著網(wǎng)絡(luò)深度和模型復雜度的增加,模型對計算力和電力的消耗仍然居高不下。因此,研究低功耗神經(jīng)網(wǎng)絡(luò)算法具有重要意義。

脈沖神經(jīng)網(wǎng)絡(luò)(Spiking Neural Network, SNN)被稱為第3代神經(jīng)網(wǎng)絡(luò),它從網(wǎng)絡(luò)結(jié)構(gòu)上模擬生物神經(jīng)系統(tǒng),通過稀疏脈沖信號來傳遞信息使得神經(jīng)元能量消耗顯著減少。與此同時,適配SNN計算的TrueNorth[8]、天機[9]、達爾文[10]等低功耗神經(jīng)形態(tài)硬件的問世,為通用人工智能以及高效邊緣方案提供了一種新的計算范式--類腦計算。但由于脈沖網(wǎng)絡(luò)的不連續(xù)和不可微性,SNN模型訓練困難。一種有效的解決方式是將人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network, ANN)轉(zhuǎn)換為SNN[11],這種方式不僅減少了訓練時間和計算消耗,同時可以將ANN取得的優(yōu)秀成果拓展到SNN。然而,在ANN轉(zhuǎn)SNN過程中經(jīng)常面臨精度損失問題[12],導致轉(zhuǎn)換后模型無法滿足場景任務(wù)需求。例如,目標檢測[13,14]任務(wù)是計算機視覺一個重要分支,具有廣泛的應用場景。目標檢測不僅要完成物體分類任務(wù),而且還要滿足高精度定位要求。另外,ANN轉(zhuǎn)SNN產(chǎn)生的精度損失極大限制了移動設(shè)備在特定場景中的應用。為了解決目標檢測任務(wù)轉(zhuǎn)化精度損失問題,重置、權(quán)重歸一化和尖峰規(guī)范等方法[15-18]被提出,這些方法可以緩解轉(zhuǎn)換損失問題,但仍需較長的模擬時間。

為了減少ANN目標檢測網(wǎng)絡(luò)轉(zhuǎn)SNN過程精度損失和模擬時間,本文從目標檢測SNN結(jié)構(gòu)角度對轉(zhuǎn)換過程產(chǎn)生的誤差進行了理論分析,提出引入對偶誤差的轉(zhuǎn)換策略,使目標檢測SNN推理過程中的誤差與ANN訓練過程誤差保持一致,減少轉(zhuǎn)換精度損失。

2 相關(guān)工作

與技術(shù)成熟的ANN 訓練采用的誤差反向傳播算法不同,SNN面臨的最困難的問題之一是:由于復雜的動力學和脈沖的不可微性質(zhì)導致的訓練困難。目前SNN訓練方法主要分為非監(jiān)督訓練方法[19]和有監(jiān)督訓練方法[20]。其中,非監(jiān)督訓練方法主要包括赫布規(guī)則[21]和脈沖時間依賴可塑性(Spike-Timing Dependent Plasticity, STDP)[22]兩種突觸可塑性規(guī)則的仿生學習算法。它們通過模仿生物行為訓練SNN,在數(shù)字手寫體等數(shù)據(jù)集上獲得了較高的分類性能。有監(jiān)督訓練方法可以分為直接使用誤差反向傳播訓練SNN和ANN轉(zhuǎn)換SNN兩種范式。前者典型代表方法SpikeProp[20]采用時間編碼和SRM 模型[23],解決脈沖發(fā)放處的不連續(xù)問題,最后將目標脈沖與實際脈沖時間之差作為誤差函數(shù)。在此基礎(chǔ)上,Multi-SpikeProp[24]將神經(jīng)元拓展為多脈沖傳遞信息的形式。ANN轉(zhuǎn)換SNN的基本思想是利用SNN中脈沖發(fā)放率近似表示ANN的連續(xù)激活函數(shù)值[25]。從性能上看,目前轉(zhuǎn)換SNN的方法與ANN發(fā)展進程差距最小。借助VGG-16, GoogleLeNet等ANN網(wǎng)絡(luò)模型,許多學者采用轉(zhuǎn)換方法在ImageNet數(shù)據(jù)集上得到了較高準確率[26-28]。上述方法大多都僅限于淺層 SNN 上的圖像分類任務(wù)。為了減少轉(zhuǎn)換誤差,Bu等人[29]采用膜電位的最佳初始化方法來減少每一層的轉(zhuǎn)換損失。另外,在分類任務(wù)上,他們采用量化clip-floor-shift激活函數(shù)來代替ANN中的ReLU函數(shù)來減少轉(zhuǎn)換誤差[11]。

目標檢測任務(wù)相比圖像分類任務(wù)更為復雜,它需要識別圖像中物體的類別以及物體具體位置信息。目標檢測器主要由識別物體類別的分類器和定位物體位置的回歸器組成。目標檢測被認為是比圖像分類更有挑戰(zhàn)的任務(wù),因為模型需要精確地預測物體的邊界框。Spiking YOLO[15]首次將SNN轉(zhuǎn)換的方法應用到目標檢測任務(wù),它采用逐通道歸一化的方法,通過在多個神經(jīng)元中獲得適中的放電率來快速、準確地傳遞信息。Spiking YOLO在公開數(shù)據(jù)集PASCAL VOC和MS-COCO上獲得了與ANN相當?shù)慕Y(jié)果。然而,它在轉(zhuǎn)換過程中并未將轉(zhuǎn)換誤差引入到ANN檢測模型訓練過程中,導致轉(zhuǎn)換后的模型對誤差存在較高敏感性。

3 本文方法

本文采用輕量化的Tiny YOLO作為目標ANN檢測基礎(chǔ)框架,并將對偶誤差模型引入到ANN訓練過程中,如圖1所示。針對ANN訓練過程中給定輸入圖片,首先通過對偶誤差模型將輸入數(shù)據(jù)進行量化,然后將量化后的結(jié)果送入到卷積層,ANN訓練結(jié)束后,最后將訓練好的ANN參數(shù)保存。本文利用SNN中IF模塊代替ANN中的對偶誤差模型和卷積層來構(gòu)建SNN模型,最后采用轉(zhuǎn)換后的參數(shù)初始化目標檢測SNN并應用到模型推理。

圖1 網(wǎng)絡(luò)結(jié)構(gòu)模型

3.1 目標檢測ANN轉(zhuǎn)SNN

針對目標檢測ANN第?層的卷積或者全連接運算,模擬神經(jīng)元的計算可以簡化表示為線性運算和非線性激活的組合

其中,向量O?和O?-1分別表示ANN第?和?-1層的所有神經(jīng)元的輸出,W?為第?與?-1 層之間的連接權(quán)重,f(·) 表示非線性激活函數(shù),本文訓練目標檢測ANN模型采用的是ReLU激活函數(shù)。

針對目標檢測SNN網(wǎng)絡(luò)模型,本文采用具有生物學特性的IF(Integrate and Fire)模型來描述SNN神經(jīng)元的輸入和輸出。假設(shè)第?-1 層的IF神經(jīng)元在時刻t將脈沖信息傳遞到第?層,則第?層脈沖神經(jīng)元模型可表示為

其中,V ?(t) 表示第?層神經(jīng)元在t時刻的膜電位,x?-1(t) 表示接收來自第?-1 層 的信息。當?shù)?層神經(jīng)元的膜電位超過閾值電壓(一般設(shè)置為1)時,神經(jīng)元發(fā)射脈沖r?(t),脈沖發(fā)放值等于1,同時膜電位被重置。本文采用的重置方法為“reset-by-subtraction”機制。當神經(jīng)元膜電位小于閾值電壓時,膜電位保持不變。

根據(jù)式(2),假設(shè)目標檢測SNN神經(jīng)元的時間步長從1累加到T時刻

其中,W?表示SNN網(wǎng)絡(luò)中第?-1 層與第?層的連接權(quán)重。本質(zhì)上,目標檢測ANN轉(zhuǎn)SNN是將ANN中激活函數(shù)輸出的值在SNN中表示為脈沖發(fā)放率。SNN經(jīng)過T時間步長后,脈沖發(fā)放率可以近似表示為ANN的輸出。當SNN時間步長T →∞時,式(5)可以近似表示為式(1)。

3.2 ANN轉(zhuǎn)SNN誤差

目標檢測ANN轉(zhuǎn)SNN的轉(zhuǎn)換誤差來自ANN的激活值和SNN發(fā)放率之間的誤差,即SNN第?層的輸出減去ANN第?層輸出

這種誤差主要來自ANN輸出值映射為SNN輸出表示的過程,為了方便,假設(shè)式(6)中ANN與SNN第?-1 層傳到第?層的輸入相同,即O?-1=A?-1(T)。SNN神經(jīng)元的輸入范圍為 [0,1] ,假設(shè)ANN第?層輸出的最大值為λ?,則ANN輸出O?可以通過下面方式映射到SNN第?層輸出A?(T)

其中,clip(·) 表示裁剪函數(shù),將映射后大于1的值裁剪為1,h(·) 表示向下取整函數(shù)。ANN的輸入值通過式(7)映射后,由連續(xù)值轉(zhuǎn)換為離散值[0,1/T,2/T,...,T/T]。這種將ANN連續(xù)值映射為離散值的過程中不可避免地引入了量化誤差,這也是目標檢測ANN轉(zhuǎn)SNN產(chǎn)生轉(zhuǎn)換誤差的主要原因。雖然,隨著T的增加,這種量化誤差會逐漸減小,但是SNN推理時長也會增加。因此,從SNN的實際應用出發(fā),本文研究通過設(shè)計誤差模型并引入到目標檢測ANN訓練中,實現(xiàn)高性能的目標檢測ANN到SNN的模型轉(zhuǎn)換。

3.3 對偶誤差模型

轉(zhuǎn)換誤差是導致目標檢測ANN轉(zhuǎn)SNN性能降低的重要因素。轉(zhuǎn)換誤差主要產(chǎn)生于對ANN逐通道轉(zhuǎn)換SNN的過程中。目前減少轉(zhuǎn)換誤差主要采用的方法是歸一化權(quán)重(例如Spiking YOLO),它在SNN推理過程中對模型進行逐通道權(quán)重歸一化,以此來緩解目標檢測ANN轉(zhuǎn)SNN產(chǎn)生的誤差。然而,這種方式并沒有將誤差引入到目標檢測ANN訓練過程中。

本文通過構(gòu)建對偶誤差模型方式來減緩轉(zhuǎn)換誤差,對偶誤差模型構(gòu)建過程主要分為3個步驟,如圖2所示。搭建對偶誤差的過程描述如下,由于SNN輸入所表示的數(shù)值范圍為 [0,1] ,所以本文根據(jù)SNN時間步長T將SNN輸入表示為=[0,1/T,2/T,..., T/T]。假設(shè)目標檢測ANN第?層的輸出OL ∈(0,λL),設(shè)量化步數(shù)為L,則首先將其量化為

圖2 對偶誤差模型

其中表示向下取整,然后對輸出O?量化為

通過這種方式,目標檢測ANN第?層的輸出O?在引入誤差后,得到作為第{?+1層的輸入進行后續(xù)計算,其取值空間為0,λ?/L,2λ?/L,3λ?/L,...,λ?}。在具體實現(xiàn)上,當目標檢測ANN量化步數(shù)L與SNN時間步長T相等時,在ANN前向過程所引入的誤差,可以使訓練中ANN模型去模擬SNN的脈沖輸出表示,對訓練模型實現(xiàn)更魯棒的ANN到SNN的轉(zhuǎn)換。這種基于對偶表示的誤差模型,僅在模型訓練過程中引入,且無明顯計算開銷。

本文將對偶誤差引入到目標檢測ANN訓練過程中,讓轉(zhuǎn)換的目標檢測SNN具有較強的抗噪性。目標檢測ANN訓練仍然采用反向傳播算法,其中參數(shù)優(yōu)化采用梯度下降算法。在訓練得到目標檢測ANN模型后,進行ANN到SNN的轉(zhuǎn)換,假設(shè)目標檢測ANN第?層到第?+1 層的權(quán)重參數(shù)為W?+1,則轉(zhuǎn)換后的S N N 對應的權(quán)重參數(shù)為=W?λ?-1/λ?,對所有網(wǎng)絡(luò)層完成轉(zhuǎn)換后得到最終的目標檢測SNN模型。

4 實驗結(jié)果

4.1 實驗環(huán)境

采用算法的實現(xiàn)環(huán)境為Python3.7和Pytorch1.11,所有實驗均在同一個服務(wù)器上實現(xiàn),服務(wù)器的硬件環(huán)境如下:Intel(R) Xeon(R) Gold 6348 CPU 2.60 GHz, 395 GB的內(nèi)存RAM以及NVIDIA A100圖形處理器GPU。

4.2 數(shù)據(jù)集

實驗采用的數(shù)據(jù)為MS COCO和PASCAL VOC。其中COCO數(shù)據(jù)集是一個豐富的物體檢測、分割數(shù)據(jù)集,圖像包括80類目標,該數(shù)據(jù)集被分為訓練集(118 287張)、測試集(5 000張)和驗證集(40 670張)。整個數(shù)據(jù)集中物體的數(shù)量超過150萬個。

PASCAL VOC是另外一個物體檢測公開數(shù)據(jù)集,總共包含20類物體,該數(shù)據(jù)集主要關(guān)注分類和檢測任務(wù),其中訓練集和驗證集為11 540張。很多優(yōu)秀的計算機視覺模型如檢測、分類、定位等都是基于PASCAL VOC。

4.3 超參數(shù)設(shè)置

本文采用具有實時性和輕量化的Tiny YOLO作為目標檢測ANN,它是YOLO系列中結(jié)構(gòu)簡單但高效的目標檢測模型。對偶誤差引入到ANN訓練過程中,本文設(shè)置batch size=32,量化步長L=300。針對每層輸入最大值λ?,本文采用動態(tài)自適應策略,具體來說,本文利用當前Epoch訓練的模型在測試集上產(chǎn)生的最大值作為下一個Epoch訓練輸入的λ?。轉(zhuǎn)換SNN模型中,本文設(shè)置閾值電壓Vth=1 ,時間步長T=300。

4.4 實驗結(jié)果

本文利用轉(zhuǎn)換SNN在MS COCO和PASCAL VOC數(shù)據(jù)集上進行了測試,實驗結(jié)果如表1所示。首先,本文采用泊松編碼方法對輸入圖像進行編碼。另外,本文采用平均精度(Mean Average Precision, mAP)作為目標評測的指標。根據(jù)表1,Tiny YOLO在MS COCO和PASCAL VOC數(shù)據(jù)集上獲得的mAP分別為26.4%和53.01%。本文提出的對偶誤差模型引入到ANN訓練后,本文目標檢測ANN在MS COCO和PASCAL VOC數(shù)據(jù)集上得到的mAP分別為38.7%, 54.5%。相比Spiking YOLO,本文方法ANN分別大約提升了2.5和1.5個百分點,實驗結(jié)果證明了對偶誤差模型可以提高目標檢測ANN的性能。從時間步長角度看,本文的方法在PASCAL VOC數(shù)據(jù)集上與Spiking YOLO性能相當時,時間步長只是Spiking YOLO的1/16,說明本文提出的對偶誤差模型可以降低時間延遲。

表1 MS COCO和PASCAL VOC數(shù)據(jù)集上mAP實驗結(jié)果(%)

為了驗證時間步長T對模型性能的影響,本文在PASCAL VOC和MS COCO數(shù)據(jù)集上對T進行了消融實驗。表2展示本文方法SNN在PASCAL VOC和MS COCO數(shù)據(jù)集上的推理結(jié)果,本文設(shè)置L=T,由表2知,隨著時間步長T增加,本文方法SNN的mAP也提高,當T小于100時,轉(zhuǎn)換后的SNN在兩個數(shù)據(jù)集上的性能迅速降低,由此可知,轉(zhuǎn)換后SNN對時間步長T參數(shù)較敏感。

表2 不同時間步長在兩個數(shù)據(jù)集上mAP的結(jié)果(%)

本文對不同時間步長的SNN推理結(jié)果進行了可視化展示。圖3為不同時間步長下本文SNN的推理結(jié)果,第1行是PASCAL VOC數(shù)據(jù)集的推理結(jié)果,第2行是模型在MS COCO數(shù)據(jù)集上的推理結(jié)果。根據(jù)模型推理結(jié)果可知,當時間步長較小時(T=50),本文SNN無法定位到圖像中的目標物體,當T=100時能夠檢測到圖片中的物體。推理可視化實驗結(jié)果說明時間步長是影響本文SNN推理性能的重要因素。

圖3 目標檢測結(jié)果

針對對偶誤差模型對目標檢測轉(zhuǎn)換SNN模型的影響,本文首先采用權(quán)重縮放的方式模擬了不包含對偶誤模型的SNN(without Dual error SNN, wo DE-SNN),然后在時間步長為300和200的條件下,分別在wo DE-SNN引入對偶誤差模型得到包含對偶誤差的轉(zhuǎn)換SNN(Dual error SNN, DE-SNN)。實驗對比結(jié)果如表3所示,當時間步長T=300時,在MS COCO數(shù)據(jù)集上,引入對偶誤差模型后,模型性能大約會提升2個百分點。類似地,引入對偶誤差模型在PASCAL VOC數(shù)據(jù)集上也會提高模型檢測精度。圖4展示了當時間步長T=200時,wo DE-SNN和DE-SNN在PASCAL VOC數(shù)據(jù)集上的推理結(jié)果,第1行是引入對偶誤差模型的推理結(jié)果,引入對偶誤差模型可以輔助檢測器檢測出更多的目標物體,此消融實驗證明了對偶誤差模型可以提高轉(zhuǎn)換SNN的性能。

表3 對偶誤差消融實驗mAP(%)

圖4 對偶誤差模型推理結(jié)果

5 結(jié)束語

面向脈沖神經(jīng)網(wǎng)絡(luò)檢測任務(wù),本文針對目標檢測ANN轉(zhuǎn)SNN算法展開研究,提出對偶誤差模型,并將對偶誤差模型引入到ANN訓練過程。通過對偶誤差模型的引入,使目標檢測ANN和SNN中誤差保持一致,緩解了轉(zhuǎn)換誤差損失問題,提高了SNN推理的性能。

在目標檢測任務(wù)的實驗結(jié)果表明,相較于經(jīng)典方法Spiking YOLO,本文提出的對偶誤差模型,在MS COCO和PASCAL VOC數(shù)據(jù)集上與Spiking YOLO的mAP相當時,時間步長是Spiking YOLO的1/16。在后續(xù)研究中,將重點關(guān)注影響目標檢測ANN轉(zhuǎn)SNN產(chǎn)生誤差的因素,進一步完善轉(zhuǎn)換誤差模型構(gòu)建算法,提升目標檢測SNN的推理能力,為將來在復雜環(huán)境下部署低功耗設(shè)備打下堅實基礎(chǔ)。

猜你喜歡
檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應用
主站蜘蛛池模板: 国产99视频精品免费观看9e| 亚洲天天更新| 午夜不卡视频| 亚欧美国产综合| 亚洲中文精品人人永久免费| 久视频免费精品6| 久久无码av三级| 中文字幕永久在线看| 一区二区三区国产精品视频| 国产精品分类视频分类一区| 日本精品视频| a级毛片毛片免费观看久潮| 青草视频久久| 91亚洲免费视频| 欧美成人午夜影院| 国产九九精品视频| 青草视频网站在线观看| 欧美精品在线免费| 亚洲色婷婷一区二区| 国产精品专区第1页| 欧美一区二区人人喊爽| 91精品国产一区自在线拍| 欧美国产精品不卡在线观看| 精品一区二区三区视频免费观看| 久久这里只精品国产99热8| 熟妇丰满人妻av无码区| 成人综合久久综合| 欧亚日韩Av| 一本大道视频精品人妻 | 亚洲va在线∨a天堂va欧美va| 在线a网站| 国产午夜看片| 久久青草精品一区二区三区| 国产欧美又粗又猛又爽老| 91麻豆精品国产高清在线| 谁有在线观看日韩亚洲最新视频| 好久久免费视频高清| 香蕉99国内自产自拍视频| 夜夜操国产| 亚洲国产中文精品va在线播放| 精品福利一区二区免费视频| 国产精品制服| 在线国产欧美| 欧美一区二区丝袜高跟鞋| 久久大香香蕉国产免费网站| 免费一级毛片不卡在线播放| 青青网在线国产| 国产欧美日韩资源在线观看| 欧美一级高清视频在线播放| 精品国产免费人成在线观看| 国产亚洲精品97AA片在线播放| 国产真实二区一区在线亚洲| 99热这里只有免费国产精品| 亚洲首页在线观看| a网站在线观看| 潮喷在线无码白浆| 国产亚洲精品va在线| JIZZ亚洲国产| 黄色不卡视频| 国产精品午夜电影| 亚洲综合第一区| 狠狠色狠狠色综合久久第一次| 亚洲国产午夜精华无码福利| 久久男人资源站| 国产三级成人| 免费高清自慰一区二区三区| 午夜三级在线| 亚洲欧美极品| 国产原创自拍不卡第一页| 亚洲精品中文字幕午夜| 91精品啪在线观看国产91九色| 久久99精品久久久久久不卡| 久久特级毛片| 欧美日韩第三页| 国产一区二区视频在线| 一级毛片在线免费看| 亚洲天堂精品视频| 日本一区高清| 亚洲美女一区二区三区| www.av男人.com| 国产精品中文免费福利| 岛国精品一区免费视频在线观看 |