<address id="v5f1t"><meter id="v5f1t"><dfn id="v5f1t"></dfn></meter></address>

<nobr id="v5f1t"><i id="v5f1t"><em id="v5f1t"></em></i></nobr>
      <font id="v5f1t"></font>

    <font id="v5f1t"><ruby id="v5f1t"></ruby></font>

      <listing id="v5f1t"></listing>

        <dfn id="v5f1t"><ruby id="v5f1t"><form id="v5f1t"></form></ruby></dfn>

            <dfn id="v5f1t"></dfn>

            <progress id="v5f1t"><b id="v5f1t"><strike id="v5f1t"></strike></b></progress>

              <font id="v5f1t"></font>

                      continuous 在線翻譯英文

                      導讀譯者 | VincentLee來源 | 曉飛的算法工程筆記脈沖神經網絡將脈沖神經元作為計算單元,能夠模仿人類大腦的信息編碼和處理過程。不同于C

                      譯者 | VincentLee

                      來源 | 曉飛的算法工程筆記

                      脈沖神經網絡(Spiking neural network, SNN)將脈沖神經元作為計算單元,能夠模仿人類大腦的信息編碼和處理過程。不同于CNN使用具體的值(continuous)進行信息傳遞,SNN通過脈沖序列(discrete)中每個脈沖發射時間(temporal)進行信息的傳遞,能夠提供稀疏但強大的計算能力。脈沖神經元將輸入累積到膜電壓,當達到具體閾值時進行脈沖發射,能夠進行事件驅動式計算。由于脈沖事件的稀疏性以及事件驅動的計算形式,SNN能提供卓越的能源利用效率,是神經形態結構的首選神經網絡。

                      盡管SNN有很多好處,但目前僅能處理相對簡單的任務,由于神經元復雜的動態性以及不可導的操作,暫時沒有一個可擴展的訓練方法。DNN-to-SNN是近期廣泛的SNN訓練方法,該方法將目標DNN轉化成SNN的中間DNN網絡進行訓練,然后轉成SNN并復用其訓練的參數,在小數據集分類上能達到不錯的性能,但是在大數據集上分類結果不太理想。

                      論文打算使用DNN-to-SNN轉化方法將SNN應用到更復雜的目標檢測領域中,圖片分類只需要選擇分類就好,而目標檢測則需要神經網絡進行高度準確的數字預測,難很多。在深入分析后,論文實現YOLO的轉換主要面臨以下兩個問題:

                      • 常用的SNN歸一化方法過于低效,導致脈沖發射頻率過低。由于SNN需要設定閾值進行脈沖發射,所以要對權值進行歸一化,這樣有利于閾值的設定,而常用的SNN歸一化方法在目標檢測中顯得過于低效,后面會詳細闡述

                      • 在SNN領域,沒有高效leaky-ReLU的實現,因為要將YOLO轉換為SNN,YOLO中包含大量leaky-ReLU,這是很重要的結構,但目前還沒有高效的轉換方法

                      為此,論文使用channel-wise歸一化(Channel-wise normalization)和閾值不平衡的有符號神經元(signed neuron with imbalanced threshold)來分別解決以上問題,搭建了基于SNN的目標檢測模型Spiking-YOLO,論文的貢獻總結如下:

                      • 深度SNN在目標檢測領域的第一次嘗試

                      • channel-wise歸一化,深度SNN的細粒度歸一化方法,使得多個神經元更高但仍然合適的頻率發射脈沖,進而讓SNN信息傳遞更快且更準確

                      • 閾值不平衡的有符號神經元,提出leaky-ReLU在SNN領域的高效實現,在神經芯片上也能夠輕量級集成

                      SNN神經元簡述

                      SNN使用脈沖序列進行神經元間的信息傳遞,IF(integrate-and-fire)神經元累積輸入到膜電壓

                      第層的第個神經元的膜電壓計算如公式1,為脈沖,為臨界電壓,為神經元的輸入

                      由多個輸入累加,和為權重和偏置

                      當膜電壓大于臨界電壓時產生脈沖,為單位階躍函數(unit step function),滿足輸出1,不滿足則輸出0。由于SNN是事件驅動的,能源利用率相當高,但難以訓練是SNN在所有應用上的主要障礙。

                      方法

                      論文直接使用DNN-to-SNN轉換方法將SNN應用到目標檢測中,發現性能下降得十分嚴重,在分析性能下降原因后,得出兩個主要原因:a) 大量神經元的脈沖發射頻率過低 b) SNN缺少leaky-ReLU的高效實現。

                      Channel-wise data-based normalization

                      • Conventional normalization methods

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

                      為了防止神經元的激活過度和激活不足,權值和臨界電壓都需要精心地選擇。為此,很多研究提出了歸一化的方法,比如常用的Layer-wise normalization(layer-norm)。該方法通過該層的最大化激活值來歸一化層的權值,如公式4,和為權重,為輸出特征圖最大值。經過歸一化后,神經元的輸出就歸一到,方便設定臨界電壓。由于最大激活值從訓練集得到的,所以測試集和訓練集需要有相同的分布,但論文實驗發現這種常規的歸一化方法在目標檢測任務上會導致明顯的性能下降。

                      • Analysis of layer-norm limitation

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

                      • Proposed normalization method

                      論文提出更細力度的歸一化方法,channel-wise normalization(channel-norm),該方法在每層的channel維度上,使用最大激活值對權值進行歸一化。

                      channel-wise歸一化方法如公式5,和為維度下標,層權值通過在每個channel使用最大激活值進行歸一化,該值依然是從訓練集計算的。對于非首層中,歸一化的激活值必須乘上來將輸入還原為上一層歸一化前的值,再進行本層的歸一化,不然傳遞的信息會越來越小。

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

                      • Analysis of the improved firing rate

                      如圖3所示,對于channel-norm,大多數的神經元能接近80%的發射率,而對于layer-norm,大多數的神經元的發射率在0到3.5%之間,這明顯表明channel-norm避免了過小的激活值使得更多神經發射頻率更高且合適。

                      另外從圖4可以看出,channel-norm在大多數的channel上能產生更高的發射頻率,特別在channel 2。

                      圖5則隨機采樣了20個神經元,記錄其脈沖活動,使用channel-norm使得大多數神經元能夠更有規律地發射脈沖

                      從上面的分析可以看出,channle-norm能夠避免過小的歸一化激活值,從而保持較高的脈沖發射頻率,使得神經元能夠在短時間內準確地傳遞信息,是深度SNN在解決更高級的機器學習問題的一種可行解決方案

                      Signed neuron featuring imbalanced threshold

                      • Limitation of leaky-ReLU implementation in SNNs

                      ReLU是最常用的激活函數,保留正值而去掉所有的負值,目前的DNN-to-SNN方法都專注于IF神經元與ReLU間的轉換,忽略了激活函數中的負值,而在Tiny-YOLO中,負值激活占了51%。leaky-ReLU是目前最常用的激活,通過leakage項來保留負值,一般為0.01,但目前還沒有準確且高效的SNN實現方法。此前有研究提出負臨界電壓(-1),使得可以存在正負激活,然后在這基礎乘以來轉換leaky-ReLU,但這違背了生物學(脈沖是離散信號),而在神經芯片上也需額外的模塊進行浮點運算。

                      • The notion of imbalanced threshold

                      論文提出閾值不平衡的有符號神經元(IBT),在負值區域使用臨界電壓,不僅可以傳遞正負激活值,保持離散型,還可以高效和準確地仿照leaky-ReLU的leakage項。

                      如圖6所示,假設,在時,,膜電壓需要積累多10倍來發射負激活,類似于leaky-ReLU。

                      評估

                      Spiking-YOLO detection results

                      實驗的目的是無損地將Tiny-YOLO的轉移為SNN,結果如圖7所示,使用channel-norm和IBT能有效地提升性能,且使用的timestep更少

                      論文嘗試了不同的解碼方式,分別為膜電壓和脈沖數,由于脈沖數的余數要舍棄,這會帶來誤差和信息損失,所以基于膜電壓進行解壓會更準確

                      Spiking-YOLO energy efficiency

                      DNN主要使用相乘累積(multiply-accumulate , MAC)操作,而SNN則主要是累積操作(accumulate, AC),因為脈沖是二值的(1或-1),當接受到脈沖時,不用實時乘權重就可以知道結果。32-bit浮點型MAC和AC分別需要3.6pJ和0.9pJ,而32-bit整數型MAC和AC分別為3.2pJ和0.1pJ。如圖9所示,不管使用哪種歸一化方法,Spiking-YOLO的計算耗能僅為Tiny-YOLO的1/2000倍,能源利用十分高效。

                      論文在實際設備上對比了Spiking-YOLO(TrueNorth chip)和Tiny-YOLO(Titan V100),因為channel-norm的發射率較高且合適,所以使用了更少的timestep,能源消耗最少。

                      結論

                      論文提出Spiking-YOLO,是脈沖神經網絡在目標檢測領域的首次嘗試,實現了與卷積神經網絡相當的性能,而能源消耗極低。論文內容新穎,比較前沿,推薦給大家閱讀。

                      參考內容

                      • Towards spike-based machine intelligence with neuromorphic computing (http://www.nature.com/origin/articles/s41586-019-1677-2)

                      • Spiking Deep Convolutional Neural Networks for Energy-Efficient Object Recognition (http://link.springer.com/origin/article/10.1007/s11263-014-0788-3)

                      論文地址:

                      http://arxiv.org/abs/1903.06530

                      【end】

                      有獎征文

                      • 超輕量級中文OCR,支持豎排文字識別、ncnn推理,總模型僅17M

                      • 網紅直播時的瘦臉、磨皮等美顏功能是如何實現的?

                      • 比特幣最主流,以太坊大跌,區塊鏈技術“萬金油”紅利已結束 | 區塊鏈開發者年度報告

                      • 一文了解 Spring Boot 服務監控,健康檢查,線程信息,JVM堆信息,指標收集,運行情況監控!

                      • 用 3 個“鴿子”,告訴你閃電網絡是怎樣改變加密消息傳遞方式的!

                      • 出生小鎮、高考不順、復旦執教、闖蕩硅谷,59 歲陸奇為何如此“幸運”?

                      你點的每個“在看”,我都認真當成了AI

                      免責聲明:本文章由會員“馬俊明”發布如果文章侵權,請聯系我們處理,本站僅提供信息存儲空間服務如因作品內容、版權和其他問題請于本站聯系
                      <address id="v5f1t"><meter id="v5f1t"><dfn id="v5f1t"></dfn></meter></address>

                      <nobr id="v5f1t"><i id="v5f1t"><em id="v5f1t"></em></i></nobr>
                          <font id="v5f1t"></font>

                        <font id="v5f1t"><ruby id="v5f1t"></ruby></font>

                          <listing id="v5f1t"></listing>

                            <dfn id="v5f1t"><ruby id="v5f1t"><form id="v5f1t"></form></ruby></dfn>

                                <dfn id="v5f1t"></dfn>

                                <progress id="v5f1t"><b id="v5f1t"><strike id="v5f1t"></strike></b></progress>

                                  <font id="v5f1t"></font>

                                          国产成人h片视频在线观看