0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

信息保留的二值神經(jīng)網(wǎng)絡IR-Net,落地性能和實用性俱佳

倩倩 ? 來源:AI科技大本營 ? 2020-03-27 15:25 ? 次閱讀

在CVPR 2020上,商湯研究院鏈接與編譯組和北京航空航天大學劉祥龍老師團隊提出了一種旨在優(yōu)化前后向傳播中信息流的實用、高效的網(wǎng)絡二值化新算法IR-Net。不同于以往二值神經(jīng)網(wǎng)絡大多關注量化誤差方面,本文首次從統(tǒng)一信息的角度研究了二值網(wǎng)絡的前向和后向傳播過程,為網(wǎng)絡二值化機制的研究提供了全新視角。同時,該工作首次在ARM設備上進行了先進二值化算法效率驗證,顯示了IR-Net部署時的優(yōu)異性能和極高的實用性,有助于解決工業(yè)界關注的神經(jīng)網(wǎng)絡二值化落地的核心問題。

動機

二值神經(jīng)網(wǎng)絡因其存儲量小、推理效率高而受到社會的廣泛關注 [1]。然而與全精度的對應方法相比,現(xiàn)有的量化方法的精度仍然存在顯著的下降。

對神經(jīng)網(wǎng)絡的研究表明,網(wǎng)絡的多樣性是模型達到高性能的關鍵[2],保持這種多樣性的關鍵是:(1) 網(wǎng)絡在前向傳播過程中能夠攜帶足夠的信息;(2) 反向傳播過程中,精確的梯度為網(wǎng)絡優(yōu)化提供了正確的信息。二值神經(jīng)網(wǎng)絡的性能下降主要是由二值化的有限表示能力和離散性造成的,這導致了前向和反向傳播的嚴重信息損失,模型的多樣性急劇下降。同時,在二值神經(jīng)網(wǎng)絡的訓練過程中,離散二值化往往導致梯度不準確和優(yōu)化方向錯誤。如何解決以上問題,得到更高精度的二值神經(jīng)網(wǎng)絡?這一問題被研究者們廣泛關注,本文的動機在于:通過信息保留的思路,設計更高性能的二值神經(jīng)網(wǎng)絡。

基于以上動機,本文首次從信息流的角度研究了網(wǎng)絡二值化,提出了一種新的信息保持網(wǎng)絡(IR-Net):(1)在前向傳播中引入了一種稱為Libra參數(shù)二值化(Libra-PB)的平衡標準化量化方法,最大化量化參數(shù)的信息熵和最小化量化誤差;(2) 在反向傳播中采用誤差衰減估計器(EDE)來計算梯度,保證訓練開始時的充分更新和訓練結束時的精確梯度。

IR-Net提供了一個全新的角度來理解二值神經(jīng)網(wǎng)絡是如何運行的,并且具有很好的通用性,可以在標準的網(wǎng)絡訓練流程中進行優(yōu)化。作者使用CIFAR-10和ImageNet數(shù)據(jù)集上的圖像分類任務來評估提出的IR-Net,同時借助開源二值化推理庫daBNN進行了部署效率驗證。

方法設計

高精度二值神經(jīng)網(wǎng)絡訓練的瓶頸主要在于訓練過程中嚴重的信息損失。前向sign函數(shù)和后向梯度逼近所造成的信息損失嚴重影響了二值神經(jīng)網(wǎng)絡的精度。為了解決以上問題,本文提出了一種新的信息保持網(wǎng)絡(IR-Net)模型,它保留了訓練過程中的信息,實現(xiàn)了二值化模型的高精度。

前向傳播中的Libra Parameter Binarization(Libra-PB)

在此之前,絕大多數(shù)網(wǎng)絡二值化方法試圖減小二值化操作的量化誤差。然而,僅通過最小化量化誤差來獲得一個良好的二值網(wǎng)絡是不夠的。因此,Libra-PB設計的關鍵在于:使用信息熵指標,最大化二值網(wǎng)絡前向傳播過程中的信息流。

根據(jù)信息熵的定義,在二值網(wǎng)絡中,二值參數(shù)Qx(x)的熵可以通過以下公式計算:

如果單純地追求量化誤差最小化,在極端情況下,量化參數(shù)的信息熵甚至可以接近于零。因此,Libra-PB將量化值的量化誤差和二值參數(shù)的信息熵同時作為優(yōu)化目標,定義為:

在伯努利分布假設下,當p=0.5時,量化值的信息熵取最大值。

因此,在Libra-PB通過標準化和平衡操作獲得標準化平衡權重,如圖2所示,在Bernoulli分布下,由Libra-PB量化的參數(shù)具有最大的信息熵。有趣的是,對權重的簡單變換也可以極大改善前向過程中激活的信息流。因為此時,各層的二值激活值信息熵同樣可以最大化,這意味著特征圖中信息可以被保留。

在以往的二值化方法中,為了使量化誤差減小,幾乎所有方法都會引入浮點尺度因子來從數(shù)值上逼近原始參數(shù),這無疑將高昂的浮點運算引入其中。在Libra-PB中,為了進一步減小量化誤差,同時避免以往二值化方法中代價高昂的浮點運算,Libra-PB引入了整數(shù)移位標量s,擴展了二值權重的表示能力。

因此最終,針對正向傳播的Libra參數(shù)二值化可以表示如下:

IR-Net的主要運算操作可以表示為:

反向傳播中的Error Decay Estimator(EDE)

由于二值化的不連續(xù)性,梯度的近似對于反向傳播是不可避免的,這種對sign函數(shù)的近似帶來了兩種梯度的信息損失,包括截斷范圍外參數(shù)更新能力下降造成的信息損失,和截斷范圍內近似誤差造成的信息損失。為了更好的保留反向傳播中由損失函數(shù)導出的信息,平衡各訓練階段對于梯度的要求,EDE引入了一種漸進的兩階段近似梯度方法。

第一階段:保留反向傳播算法的更新能力。將梯度估計函數(shù)的導數(shù)值保持在接近1的水平,然后逐步將截斷值從一個大的數(shù)字降到1。利用這一規(guī)則,近似函數(shù)從接近Identity函數(shù)演化到Clip函數(shù),從而保證了訓練早期的更新能力。第二階段:使0附近的參數(shù)被更準確地更新。將截斷保持為1,并逐漸將導數(shù)曲線演變到階梯函數(shù)的形狀。利用這一規(guī)則,近似函數(shù)從Clip函數(shù)演變到sign函數(shù),從而保證了前向和反向傳播的一致性。

各階段EDE的形狀變化如圖3(c)所示。通過該設計,EDE減小了前向二值化函數(shù)和后向近似函數(shù)之間的差異,同時所有參數(shù)都能得到合理的更新。

實驗結果

作者使用了兩個基準數(shù)據(jù)集:CIFAR-10和ImageNet(ILSVRC12)進行了實驗。在兩個數(shù)據(jù)集上的實驗結果表明,IR-Net比現(xiàn)有的最先進方法更具競爭力。

Deployment Efficiency

為了進一步驗證IR-Net在實際移動設備中的部署效率,作者在1.2GHz 64位四核ARM Cortex-A53的Raspberry Pi 3B上進一步實現(xiàn)了IR-Net,并在實際應用中測試了其真實速度。表5顯示,IR-Net的推理速度要快得多,模型尺寸也大大減小,而且IR-Net中的位移操作幾乎不會帶來額外的推理時間和存儲消耗。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    BP神經(jīng)網(wǎng)絡和人工神經(jīng)網(wǎng)絡的區(qū)別

    BP神經(jīng)網(wǎng)絡和人工神經(jīng)網(wǎng)絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區(qū)別,是神經(jīng)網(wǎng)絡領域中一個基礎且重要的話題。本文將從定義、結構、算法、應用及未來發(fā)展等多個方面,詳細闡述BP
    的頭像 發(fā)表于 07-10 15:20 ?720次閱讀

    rnn是遞歸神經(jīng)網(wǎng)絡還是循環(huán)神經(jīng)網(wǎng)絡

    : 循環(huán)神經(jīng)網(wǎng)絡的基本概念 循環(huán)神經(jīng)網(wǎng)絡是一種具有時間序列特性的神經(jīng)網(wǎng)絡,它能夠處理序列數(shù)據(jù),具有記憶功能。與傳統(tǒng)的前饋神經(jīng)網(wǎng)絡不同,循環(huán)神經(jīng)網(wǎng)絡
    的頭像 發(fā)表于 07-05 09:52 ?463次閱讀

    人工神經(jīng)網(wǎng)絡的特點和優(yōu)越不包括什么

    人工神經(jīng)網(wǎng)絡(Artificial Neural Networks, ANNs)是一種模仿人腦神經(jīng)網(wǎng)絡結構和功能的數(shù)學模型,它通過模擬神經(jīng)元之間的連接和信息傳遞來實現(xiàn)對數(shù)據(jù)的處理和分析
    的頭像 發(fā)表于 07-05 09:26 ?661次閱讀

    遞歸神經(jīng)網(wǎng)絡是循環(huán)神經(jīng)網(wǎng)絡

    遞歸神經(jīng)網(wǎng)絡(Recurrent Neural Network,簡稱RNN)和循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,簡稱RNN)實際上是同一個概念,只是不同的翻譯方式
    的頭像 發(fā)表于 07-04 14:54 ?596次閱讀

    循環(huán)神經(jīng)網(wǎng)絡和卷積神經(jīng)網(wǎng)絡的區(qū)別

    循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Network,RNN)和卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)是深度學習領域中兩種非常重要的神經(jīng)網(wǎng)絡
    的頭像 發(fā)表于 07-04 14:24 ?1012次閱讀

    深度神經(jīng)網(wǎng)絡與基本神經(jīng)網(wǎng)絡的區(qū)別

    在探討深度神經(jīng)網(wǎng)絡(Deep Neural Networks, DNNs)與基本神經(jīng)網(wǎng)絡(通常指傳統(tǒng)神經(jīng)網(wǎng)絡或前向神經(jīng)網(wǎng)絡)的區(qū)別時,我們需要從多個維度進行深入分析。這些維度包括
    的頭像 發(fā)表于 07-04 13:20 ?572次閱讀

    反向傳播神經(jīng)網(wǎng)絡和bp神經(jīng)網(wǎng)絡的區(qū)別

    反向傳播神經(jīng)網(wǎng)絡(Backpropagation Neural Network,簡稱BP神經(jīng)網(wǎng)絡)是一種多層前饋神經(jīng)網(wǎng)絡,它通過反向傳播算法來調整網(wǎng)絡中的權重和偏置,以達到最小化誤差的
    的頭像 發(fā)表于 07-03 11:00 ?603次閱讀

    bp神經(jīng)網(wǎng)絡和卷積神經(jīng)網(wǎng)絡區(qū)別是什么

    BP神經(jīng)網(wǎng)絡(Backpropagation Neural Network)和卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,簡稱CNN)是兩種不同類型的人工神經(jīng)網(wǎng)絡,它們在
    的頭像 發(fā)表于 07-03 10:12 ?883次閱讀

    bp神經(jīng)網(wǎng)絡模型怎么算預測

    BP神經(jīng)網(wǎng)絡的基本原理、結構、學習算法以及預測的計算方法。 BP神經(jīng)網(wǎng)絡的基本原理 BP神經(jīng)網(wǎng)絡是一種基于誤差反向傳播的多層前饋神經(jīng)網(wǎng)絡
    的頭像 發(fā)表于 07-03 09:59 ?601次閱讀

    如何提高BP神經(jīng)網(wǎng)絡算法的R2

    BP神經(jīng)網(wǎng)絡(Backpropagation Neural Network)是一種廣泛應用于模式識別、分類、預測等領域的前饋神經(jīng)網(wǎng)絡。R2(R-squared)是衡量模型擬合優(yōu)度的一個重要指標,其
    的頭像 發(fā)表于 07-03 09:55 ?808次閱讀

    卷積神經(jīng)網(wǎng)絡和bp神經(jīng)網(wǎng)絡的區(qū)別

    不同的神經(jīng)網(wǎng)絡模型,它們在結構、原理、應用等方面都存在一定的差異。本文將從多個方面對這兩種神經(jīng)網(wǎng)絡進行詳細的比較和分析。 引言 神經(jīng)網(wǎng)絡是一種模擬人腦神經(jīng)元連接和
    的頭像 發(fā)表于 07-02 14:24 ?2336次閱讀

    神經(jīng)網(wǎng)絡架構有哪些

    神經(jīng)網(wǎng)絡架構是機器學習領域中的核心組成部分,它們模仿了生物神經(jīng)網(wǎng)絡的運作方式,通過復雜的網(wǎng)絡結構實現(xiàn)信息的處理、存儲和傳遞。隨著深度學習技術的不斷發(fā)展,各種
    的頭像 發(fā)表于 07-01 14:16 ?556次閱讀

    基于毫米波雷達的手勢識別神經(jīng)網(wǎng)絡

    方面的高精度。這一成功可以歸因于訓練數(shù)據(jù)和測試數(shù)據(jù)之間的特征相似??傊?,這些結果證實了我們提出的神經(jīng)網(wǎng)絡模型在提取相關運動特征以進行魯棒手勢識別方面的有效。 不同神經(jīng)網(wǎng)絡
    發(fā)表于 05-23 12:12

    詳解深度學習、神經(jīng)網(wǎng)絡與卷積神經(jīng)網(wǎng)絡的應用

    在如今的網(wǎng)絡時代,錯綜復雜的大數(shù)據(jù)和網(wǎng)絡環(huán)境,讓傳統(tǒng)信息處理理論、人工智能與人工神經(jīng)網(wǎng)絡都面臨巨大的挑戰(zhàn)。近些年,深度學習逐漸走進人們的視線,通過深度學習解決若干問題的案例越來越多。一
    的頭像 發(fā)表于 01-11 10:51 ?1840次閱讀
    詳解深度學習、<b class='flag-5'>神經(jīng)網(wǎng)絡</b>與卷積<b class='flag-5'>神經(jīng)網(wǎng)絡</b>的應用

    卷積神經(jīng)網(wǎng)絡的優(yōu)點

    傳統(tǒng)的神經(jīng)網(wǎng)絡模型,卷積神經(jīng)網(wǎng)絡具有以下優(yōu)點。 1. 局部連接和權共享:卷積神經(jīng)網(wǎng)絡通過設置局部連接和權共享的結構,有效地減少了
    的頭像 發(fā)表于 12-07 15:37 ?3992次閱讀