Yolo框架大改 – 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

歡迎關(guān)注“

計(jì)算機(jī)視覺研究院

關(guān)注并星標(biāo)

從此不迷路

計(jì)算機(jī)視覺研究院

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

公眾號(hào)ID|ComputerVisionGzq

回復(fù)“SYolo”獲取論文

計(jì)算機(jī)視覺研究院專欄

作者:Edison_G

使用常規(guī)深度神經(jīng)網(wǎng)絡(luò)到脈沖神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法應(yīng)用于脈沖神經(jīng)網(wǎng)絡(luò)域時(shí),性能下降的很多,深入分析后提出了可能的解釋:一是來自逐層歸一化的效率低,二是用于leaky-ReLU函數(shù)的負(fù)激活缺乏表示。

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

1.前言

在過去的十年中,深度神經(jīng)網(wǎng)絡(luò)(DNNs)在各種應(yīng)用中表現(xiàn)出顯著的性能。當(dāng)我們?cè)噲D解決更艱難和最新的問題時(shí),對(duì)計(jì)算和電力資源的需求增加已經(jīng)成為不可避免的。

Spiking neural networks(SNNs)作為第三代神經(jīng)網(wǎng)絡(luò),由于其事件驅(qū)動(dòng)(event-driven)和低功率特性,引起了廣泛的興趣。

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

然而,SNN很難訓(xùn)練,主要是因?yàn)樗鼈兊纳窠?jīng)元復(fù)雜的動(dòng)力學(xué)和不可微的尖峰操作。此外,它們的應(yīng)用僅限于相對(duì)簡單的任務(wù),如圖像分類。

在今天的分享中,作者研究了SNN在一個(gè)更具挑戰(zhàn)性的回歸問題(即對(duì)象檢測(cè))。通過深入分析,引入了兩種新的方法:channel-wise normalizationsigned neuron with imbalanced threshold,這兩種方法都為深度SNN提供了快速的信息傳輸。因此,提出了第一個(gè)基于尖峰的目標(biāo)檢測(cè)模型,稱為Spiking-YOLO

2.新框架貢獻(xiàn)

盡管SNN有很多好處,但目前僅能處理相對(duì)簡單的任務(wù),由于神經(jīng)元復(fù)雜的動(dòng)態(tài)性以及不可導(dǎo)的操作,暫時(shí)沒有一個(gè)可擴(kuò)展的訓(xùn)練方法。DNN-to-SNN是近期廣泛的SNN訓(xùn)練方法,該方法將目標(biāo)DNN轉(zhuǎn)化成SNN的中間DNN網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后轉(zhuǎn)成SNN并復(fù)用其訓(xùn)練的參數(shù),在小數(shù)據(jù)集分類上能達(dá)到不錯(cuò)的性能,但是在大數(shù)據(jù)集上分類結(jié)果不太理想論文打算使用DNN-to-SNN轉(zhuǎn)化方法將SNN應(yīng)用到更復(fù)雜的目標(biāo)檢測(cè)領(lǐng)域中,圖片分類只需要選擇分類就好,而目標(biāo)檢測(cè)則需要神經(jīng)網(wǎng)絡(luò)進(jìn)行高度準(zhǔn)確的數(shù)字預(yù)測(cè),難很多。在深入分析后,論文實(shí)現(xiàn)YOLO的轉(zhuǎn)換主要面臨以下兩個(gè)問題:

  • 常用的SNN歸一化方法過于低效,導(dǎo)致脈沖發(fā)射頻率過低。由于SNN需要設(shè)定閾值進(jìn)行脈沖發(fā)射,所以要對(duì)權(quán)值進(jìn)行歸一化,這樣有利于閾值的設(shè)定,而常用的SNN歸一化方法在目標(biāo)檢測(cè)中顯得過于低效,后面會(huì)詳細(xì)闡述

  • 在SNN領(lǐng)域,沒有高效leaky-ReLU的實(shí)現(xiàn),因?yàn)橐獙OLO轉(zhuǎn)換為SNN,YOLO中包含大量leaky-ReLU,這是很重要的結(jié)構(gòu),但目前還沒有高效的轉(zhuǎn)換方法

來自韓國的比較冷門或者前沿一點(diǎn)的文章,研究方向是脈沖神經(jīng)網(wǎng)絡(luò)(Spiking Neural Networks)YOLO算法的融合,發(fā)現(xiàn)韓國人特別擅長對(duì)YOLO,SSD等算法進(jìn)行魔改啊。

  • 提出一種在深度SNN中能夠進(jìn)行快速精確信息傳輸?shù)腟piking-YOLO算法。這是第一次將深度SNN成功應(yīng)用于目標(biāo)檢測(cè)任務(wù)的工作;

  • 為深度SNN開發(fā)了一種成為逐通道歸一化的精細(xì)歸一化技術(shù)。所提出的方法使得在多個(gè)神經(jīng)元中更高的發(fā)射率成為可能,這促成了快速并且精確的信息傳輸;

  • 提出了一種新穎的方法,其特點(diǎn)在于具有不平衡閾值的帶符號(hào)神經(jīng)元,這些神經(jīng)元讓SNNs中的leakyReLU得以實(shí)現(xiàn)。這給深度SNN應(yīng)用于各種模型和應(yīng)用創(chuàng)造了機(jī)會(huì)。

3.新框架

Channel-wise data-based normalization

在SNN中,根據(jù)輸入的幅度產(chǎn)生脈沖序列進(jìn)行無損的內(nèi)容傳遞是極為重要的。但在固定時(shí)間,激活過度或激活不足的神經(jīng)元內(nèi)將可能導(dǎo)致內(nèi)容損失,這和臨界電壓的設(shè)置有關(guān)。設(shè)置過高,神經(jīng)元需要累積很長時(shí)間的電壓才能發(fā)射脈沖,相反則會(huì)過多地發(fā)射脈沖。發(fā)射頻率通常定義為,為個(gè)timestep的脈沖發(fā)射總數(shù),最大的發(fā)射率為100%,即每個(gè)timestep都發(fā)射脈沖:

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

為了防止神經(jīng)元的激活過度和激活不足,權(quán)值和臨界電壓都需要精心地選擇。為此,很多研究提出了歸一化的方法,比如常用的Layer-wise normalization(layer-norm)。該方法通過該層的最大化激活值來歸一化層的權(quán)值,如上公式,和為權(quán)重,為輸出特征圖最大值。

經(jīng)過歸一化后,神經(jīng)元的輸出就歸一到,方便設(shè)定臨界電壓。由于最大激活值從訓(xùn)練集得到的,所以測(cè)試集和訓(xùn)練集需要有相同的分布,但論文實(shí)驗(yàn)發(fā)現(xiàn)這種常規(guī)的歸一化方法在目標(biāo)檢測(cè)任務(wù)上會(huì)導(dǎo)致明顯的性能下降。

基于數(shù)據(jù)的逐通道歸一化

傳統(tǒng)的脈沖神經(jīng)網(wǎng)絡(luò)中,需要確保神經(jīng)元根據(jù)其輸入大小產(chǎn)生脈沖序列,其中權(quán)值和閾值電壓分別負(fù)責(zé)神經(jīng)元激活的充足度和平衡度,這會(huì)導(dǎo)致要么欠激活要么過激活,從而使信息丟失和性能不佳。

作者深入分析并證明了細(xì)粒度的通道正則化可以通過極小的激活來提高神經(jīng)元的發(fā)射率。換句話說,非常小的激活被正確歸一化,將在更短的時(shí)間內(nèi)準(zhǔn)確地傳輸信息。文章認(rèn)為通道正則化的應(yīng)用可以帶來更快更準(zhǔn)確的深度SNN,這將使深度SNN應(yīng)用于更高級(jí)機(jī)器學(xué)習(xí)問題成為可能。

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

上圖展示了通過layer-norm后的各層每個(gè)channel的最大激活值,藍(lán)色和紅色的線分別為每層的平均激活值和最小激活值。可以看到每層的歸一化后的激活值偏差較大,總體而言,layer-norm使得神經(jīng)元的channel偏向激活不足,這在僅需選擇分類的圖片分類任務(wù)是不被察覺的,但對(duì)于需要預(yù)測(cè)準(zhǔn)確值的檢測(cè)任務(wù)的回歸則不一樣。比如傳遞0.7,則需要在10個(gè)timestep脈沖7次,0.007則需要在1000timestep脈沖7次。當(dāng)tempstep本身就很少時(shí),過低的發(fā)射率可能會(huì)因發(fā)射不到足夠的脈沖而導(dǎo)致信息丟失。

Proposed normalization method

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

整個(gè)流程如下:

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

具體的邏輯如上圖和算法,channel-wise的歸一化方法能夠消除激活值特別小的問題,即得到更高但合適的發(fā)射頻率,在短時(shí)間內(nèi)也能準(zhǔn)確地傳遞信息。

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

Signed neuron featuring imbalanced threshold

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

具有不平衡閾值特征的帶符號(hào)神經(jīng)元

引入了一種具有不平衡閾值(即IBT)的帶符號(hào)神經(jīng)元,它不僅可以對(duì)正負(fù)激活進(jìn)行解釋,還可以對(duì)leakyReLU負(fù)激活值區(qū)域的滲漏項(xiàng)進(jìn)行補(bǔ)償。如下圖所示,作者增加了另外一個(gè)Vth負(fù)責(zé)對(duì)負(fù)激活響應(yīng)。

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

其中,具有IBT的帶符號(hào)神經(jīng)元的基本動(dòng)力學(xué)公式如下所示。

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

通過使用上述具有IBT的帶符號(hào)神經(jīng)元,可以在SNN中使用leakyReLU,從而將各種DNN模型轉(zhuǎn)換為廣泛應(yīng)用的SNN。

4.實(shí)驗(yàn)結(jié)果與評(píng)估

作者使用Tiny YOLO的實(shí)時(shí)目標(biāo)檢測(cè)模型,在脈沖神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn)最大池化層和BN層。模型在PASCAL VOC2007和2012上訓(xùn)練,在PASCAL VOC2007上測(cè)試。所有代碼基于Tensorflow Eager框架,在V100的GPU上進(jìn)行實(shí)驗(yàn)。

文章通過實(shí)驗(yàn)的設(shè)計(jì)驗(yàn)證并分析了使用通道正則化和有符號(hào)神經(jīng)元的IBT存在的用處。如下圖所示,當(dāng)通道正則化和有符號(hào)神經(jīng)元都使用時(shí),脈沖-YOLO能夠達(dá)到51.61%的mAP,這個(gè)性能比較高了。

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

此外,逐層正則化的mAP僅僅46.98%,而通道正則化優(yōu)勢(shì)明顯,收斂速度也更快。如果不使用本文提出的這兩種方法,Spiking-YOLO無法檢測(cè)目標(biāo),如果僅僅使用有符號(hào)神經(jīng)元的話,mAP僅僅7.3%,這表明有符號(hào)神經(jīng)元可以補(bǔ)償leakyReLU的不足項(xiàng),并且在解決深度SNN中這種高數(shù)值精度問題中起著關(guān)鍵作用。

在上圖中,作者還在兩種輸出編碼方案上進(jìn)行了額外的對(duì)比實(shí)驗(yàn),一種基于累計(jì)Vth,一種基于脈沖數(shù)量。實(shí)驗(yàn)結(jié)果表明基于Vth的輸出編碼方案在解釋尖峰序列時(shí)將更精確,也體現(xiàn)出收斂更快的特點(diǎn)。

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

實(shí)驗(yàn)的目的是無損地將Tiny-YOLO的轉(zhuǎn)移為SNN,結(jié)果如上圖所示,使用channel-norm和IBT能有效地提升性能,且使用的timestep更少。

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

作者嘗試了不同的解碼方式,分別為膜電壓和脈沖數(shù),由于脈沖數(shù)的余數(shù)要舍棄,這會(huì)帶來誤差和信息損失,所以基于膜電壓進(jìn)行解壓會(huì)更準(zhǔn)確。

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

5.總結(jié)

在今天分享中,作者提出了Spiking-YOLO,第一個(gè)SNN模型,通過在non-trivial datasets、PASCALVOC和MSCO上獲得與原始DNN相似的結(jié)果來成功地執(zhí)行目標(biāo)檢測(cè)。

我認(rèn)為,這項(xiàng)研究代表了解決深度SNN中更高級(jí)的機(jī)器學(xué)習(xí)問題的第一步。

? THE END

轉(zhuǎn)載請(qǐng)聯(lián)系本公眾號(hào)獲得授權(quán)

Yolo框架大改 - 消耗極低的目標(biāo)檢測(cè)新框架(附論文下載)(yolo的框架是什么)

計(jì)算機(jī)視覺研究院學(xué)習(xí)群等你加入!

ABOUT

計(jì)算機(jī)視覺研究院

計(jì)算機(jī)視覺研究院主要涉及深度學(xué)習(xí)領(lǐng)域,主要致力于人臉檢測(cè)、人臉識(shí)別,多目標(biāo)檢測(cè)、目標(biāo)跟蹤、圖像分割等研究方向。研究院接下來會(huì)不斷分享最新的論文算法新框架,我們這次改革不同點(diǎn)就是,我們要著重”研究“。之后我們會(huì)針對(duì)相應(yīng)領(lǐng)域分享實(shí)踐過程,讓大家真正體會(huì)擺脫理論的真實(shí)場(chǎng)景,培養(yǎng)愛動(dòng)手編程愛動(dòng)腦思考的習(xí)慣!

VX:2311123606

??

  • 最近幾篇較好論文實(shí)現(xiàn)代碼(附源代碼下載)

  • VS Code支持配置遠(yuǎn)程同步了

  • 基于分層自監(jiān)督學(xué)習(xí)將視覺Transformer擴(kuò)展到千兆像素圖像

計(jì)算機(jī)視覺研究院

回復(fù)“SYolo”獲取論文

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁
返回頂部