天天看點

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

tips:因為是翻譯給自己看的,是以作者什麼的沒提了。

論文名稱:Learning Channel-wise Interactions for Binary Convolutional Neural Networks

論文連結:下載下傳下來了沒連結,上傳到資源裡了,要是網上找不到可以去我的資源那裡下載下傳。

二進制卷積神經網絡的通道互動學習

摘要

本文提出了一種基于通道互動的二進制卷積神經網絡學習方法(CI-BCNN)。傳統的方法在二值卷積中采用xnor和位計數運算,量化誤差較大,與全精度卷積相比,二值特征圖中的符号往往不一緻,導緻資訊丢失。相比之下,我們的CI-BCNN挖掘了通道互動,通過它提供先驗知識來緩解二值特征映射中符号的不一緻性,并在推理過程中保留輸入樣本的資訊。

具體地說,我們通過一個強化學習模型來挖掘通道間的互動,并通過互動的比特數函數在中間特征映射上施加通道間的先驗資訊。在CIFAR-10和ImageNet資料集上的大量實驗表明,該方法比現有的二進制卷積神經網絡具有更低的計算和存儲開銷。

一.介紹

深度卷積神經網絡在各種視覺應用中取得了最先進的性能,如目标檢測[10,33,22]、跟蹤[13,28,1]、人臉識别[38,29,7]等。然而,在便攜式裝置中部署深度卷積神經網絡進行推理,由于計算和存儲成本巨大,仍然受到限制。此外,經過良好訓練的模型的參數具有高度的備援性[5]。是以,設計參數較少、結構較輕的深度卷積神經網絡是實作高效推理的理想途徑。

最近,人們提出了幾種神經網絡壓縮方法,包括剪枝[9,21,12]、量化[23,17,8]、低秩分解[6,39,43]和高效的結構設計[18,15,26]。在這些方法中,網絡量化以有限的帶寬表示神經網絡的參數,以便更快的處理和更少的記憶體消耗。具有二進制權值的神經網絡用累加代替乘法累加運算[3,42,14],以節省存儲成本和加速計算。然而,實值計算仍然是昂貴的計算。為了解決這個問題,具有二進制權重和激活的神經網絡用xnor和位計數操作代替乘法累加[32,23,24]。然而,使用xnor和bitcount運算會導緻并累積顯著的量化誤差,這通常會導緻二值特征映射中的符号與其全精度對應的符号不一緻。

二值神經網絡中的資訊丢失解釋了與實值神經網絡相比,特别是在大規模資料集(如ImageNet)中進行評估時,性能顯著下降[4]

本文提出一種CI-BCNN方法來學習具有通道互動作用的二進制神經網絡,以實作有效的推理。與現有的直接應用xnor和bitcount操作的方法不同,我們的方法根據挖掘出的通道互動來學習互動比特數。

基于通道互動提供的先驗知識,對二值特征映射中的不一緻符号進行校正,進而在二值神經網絡的前向傳播中保留輸入圖像的資訊。

更具體地說,我們使用強化學習模型來學習每個卷積層的有向無環圖,它代表隐式信道方式互動。我們通過根據圖形所施加的效果調整原始位計數的輸出來獲得互動位計數。我們同時訓練二進制卷積神經網絡和圖的結構。圖1描述了我們的CI-BCNN和傳統的二進制神經網絡之間的比較,其中二進制特征映射中的不一緻符号根據通道互動作用進行校正。在CIFAR-10[19]和ImageNet資料集上的實驗表明,我們的CI-BCNN在各種網絡結構上都比最先進的二進制神經網絡有很大的優勢。

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

圖1.實值神經網絡(top)、Xnor網絡(黃色框)和CI-BCNN(綠色框)中的卷積運算。由于xnor和比特計數運算産生的量化誤差,xnor網通常輸出的二進制特征映射與全精度對應的特征映射(紅圈)符号不一緻。我們的CI-BCNN根據通道互動提供先驗資訊,以糾正不一緻的符号(藍色圓圈),進而保留中間特征映射的資訊(最好以顔色檢視)。

二.相關工作

2.1網絡量化:

網絡量化由于網絡複雜度的降低而引起了機器學習和計算機視覺的廣泛關注。現有的方法可分為兩類:權重量化的神經網絡[3、32、42、14]與權重和激活[32、17、23、24]的比較。基于權值量化的深部神經網絡權值量化方法,節約存儲成本,用累積代替原有的多重累積,實作快速處理.庫爾巴利奧克斯通過剛性符号函數對實值權進行二值化,并在小資料集上獲得了足夠高的精度。Rastegari等人用比例因子逼近二值化的重值,以提高精度。張志剛等人根據其分布訓練了一個自适應量化器,使量化誤差最小化,同時保持與位操作相容。侯等應用泰勒展開方法,将量化擾動引起的損失降到最小,并提出了一種最近的牛頓算法,以求得量化政策的最優解。實證研究表明,更寬的權重表示帶寬導緻了它們與全精度對應的性能,三值和其他多比特量化方法[44,36,25]的性能相比較,以獲得更好的性能。然而,實際值激活會防止由于已有的累積操作而導緻實質性加速。

在後一方面,權重和激活都被量化,以便用xnor和比特計數操作代替乘法累積,進而減少計算複雜度。Rastegari等人和Hubara等人提出了權值和激活二值化的神經網絡,并應用xnor和位計數運算來替代乘法累積,以獲得可觀的結果加速。林利用更多的基值和激活二值化,特别是在大型資料集中,提高了性能。劉志強等人将連續塊的實值激活與二值化前的身份快捷方式連接配接起來,以增強網絡的表示能力。他們還使用了一種新的訓練算法來精确地反向傳播梯度。然而,應用

xnor和比特計數操作導緻并累積量化誤差,導緻二值特征映射中的符号與實值對應項不一緻,導緻資訊丢失嚴重。

2.2深度強化學習:

深度強化學習的目的是學習決策問題的政策,在遊戲[27,34]、目标檢測[30,31]、視覺跟蹤[16,35,40,41]等方面取得了很好的效果。近年來,強化學習被廣泛應用于網絡壓縮。

Lin等人采用政策梯度模型來判斷特征映射的重要性,并根據輸入圖像和目前特征映射對網絡進行自适應剪枝,以充分保持網絡的能力。Ashok等人通過去除備援層并縮小剩餘層的大小,将大型教師網絡縮小為小型學生網絡,并采用強化學習模型來學習政策。他等人利用強化學習模型對網絡結構空間進行了有效的采樣,使得模型在沒有預定義管道的情況下被自動壓縮。本文将增強學習模型推廣到具有二進制權值和激活的卷積神經網絡中,通過增強學習模型對由xnor和位計數操作引起的不一緻符号進行校正,并在前向傳播過程中保留輸入圖像的資訊。

三.實作方法

在這一節中,我們首先簡要介紹具有二進制權值和激活的神經網絡,它們是有效的,但是在中間特征映射中存在不一緻的符号。然後,我們通過互相作用的位計數來呈現施加通道性互相作用的細節。最後,我們提出了一個政策梯度模型來挖掘管道互動。

3.1二值神經網絡

(由于編輯器問題,以下内容中的形如wlf的公式中,l為右上角的角标,f為右下角的角标)

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

作為給定的L層CNN模型中的第l個卷積層的實值權重并且讓

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

作為給定的L層CNN模型中的第l個卷積層的全精度激活值,在這裡(whf,hlf)和(wla,hla)表示第l層中濾波器和特征圖的寬度和高度。Alr攜帶了沒有二值化誤差的輸入樣本的資訊:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

其中,\circledast (以上公式的運算符号)代表标準卷積,為了簡單起見,省略了激活層。為了獲得計算和存儲成本較低的神經網絡,我們利用二進制權重和激活,用xnor和位計數操作[32]替換前向傳播中的多重累積:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

其中,

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

分别是第lth層的二進制權重和激活。⊙表示表示二進制神經網絡中表示xnor和位計數運算的按元素的二進制乘積,其中位計數是計算每個卷積中xnor運算結果中的個數。符号是指将大于一的數映射為一,否則映射為負一的符号函數。

卷積神經網絡二值化的目标是使二值和重值特征映射之間的距離最小化,進而使資訊損失最小化,具體如下:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

其中優化問題是NP-hard的,等價方程是Alb=sign(Alr).傳統方法通過假設:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

得到近似解Wlb=sign(Wlr)和A(l-1)b=sign(A(l-1)r)。

然而,由于xnor和位計數操作中帶來的量化錯誤,該假設并不總是如圖1所示。近似解在Alb中的符号與sign(Alr)不一緻,使得方程(1)遠離最優狀态。此外,在前向傳播過程中,誤差會跨層累積,造成輸入圖像的嚴重資訊丢失。我們的目标是通過糾正Alb中不一緻的符号,使Alb與各層sign(Alr)之間的差異最小化。

3.2位運算的互相作用

與全精度乘法相比,xnor運算帶來了較大的量化誤差。此外,原始比特數會累積錯誤,這通常會在特征映射中輸出與其實值對應的符号不一緻的符号。實驗結果表明,濾波器之間存在隐式依賴關系,通過這種依賴關系可以提供可靠的先驗資訊來抵消xnor和位計數運算所産生的誤差。互動位計數修改原始位計數,如下所示:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

其中升序l表示第lth卷積層中的相應變量。

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

分别是由訓示(學生)特征圖Fls和訓示(教師)特征圖Flt中第i行和第j列中的原始位計數輸出的整像素值。

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

互動位計數輸出的相應像素值。

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

表示從Flt施加在Fls上的影響函數。

為了避免網絡中互動比特數的計算開銷過大,我們簡單地将

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

設計為一個離散函數。在考慮Flt與Fls的互相作用時,我們将Flt中像素的取值範圍劃分為等長的| Kl ts |(l是右上角标,ts是右下角标)區間。Kl ts是一個奇整數,是以如果

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

在沒有足夠資訊的情況下保持接近零,則不存在互動作用。

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

的整數輸出如下:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

其中pk是教師特征圖Flt的值範圍劃分中的第k個間隔的原點。N0是Flt值範圍内的最大值,對于同一層中的所有特征圖都是相同的。U0表示機關像素修改與N0的比率,手動設定該比率以決定先驗資訊的重要性。[U0N0]表示大于U0N0的最小整數。同時,Klts可以是一個負整數,這意味着學生和教師的特征圖是負相關的。對于函數

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

的輸出,我們有從

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

的| Klts |選擇,表示Flt對Fls的不同影響。

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

圖2。基于挖掘圖的狀态轉換和互動位計數的圖示。(a) 圖挖掘的一個例子。我們建立邊,重新配置設定KLT和删除不同通道之間的邊,直到最終确定圖形結構(最好用顔色檢視)。

(b) 一種通過階梯函數根據教師特征圖中的像素值快速計算圖形對互動比特數影響的方法,示例中N0=288,U0設定為0.001

3.3基于政策梯度的信道互動挖掘

道間的互動作用定義為通道間的邊,表示為存在和影響。邊的存在證明了兩個連接配接節點之間的相關性,如果一緻性足夠顯著,則用一表示,否則用零表示。

邊的影響是指如果相關存在。因為将教師特征圖的值範圍劃分為更多的區間代表了通道關系的更大影響,我們用Klts描述了這種影響。挖掘信道互動可以看作是一個Marcov決策過程(MDP),定義為M={S,a,T(S,a),R(S,a)}。在每個步驟中,代理都會執行建立、删除或取消更改邊的操作,以修改圖中邊的存在性,并将不同的值配置設定給klt,以表示對所有現有邊的各種影響。agent疊代地修改圖的結構,使獲得的報酬最大化,直至收斂或達到步長上限。

狀态:狀态空間S表示所有卷積層中圖的目前結構,表示為存在空間Sle和影響空間Sli跨層索引l的直積:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

其中Sle定義為存在矩陣(l是右上角标,es是右下)Wles∈{1,0}cl×cl(clxcl是右上角标,l又是右上角标),cl表示第l層中的信道數。對于在Wles中的

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

元素,如果第t層到第s層的有向互相作用存在,則等于1,否則等于0。CI-BCNN中的零矩陣等價于傳統的二值卷積神經網絡,無需通道互動作用。影響空間Sli由具有奇數整數的影響矩陣Wl is來模組化。本文将有限離散數空間限定為Wl is∈{±3,±5,±7,…,±(2K0+1)}cl×cl,其中K0是表示作用空間大小的超參數。在我們的實作中,在Wl is中的元素wl is,ts被縮放為

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

表示正則化,它度量了相應互動作用的影響。

動作:動作集A是存在的動作空間Ale和影響Ali在所有層次上的直接乘積。

Ale由三個合成集組成:Al e,c用于建立邊,Al e,d用于删除邊,而{unchange}用于保持存在不變。Ali描述了Wl is中所有可能的奇數整數。此外,當圖收斂或達到最大步長時,我們停止政策網絡。整個動作集描述如下:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

圖2展示了一個帶有動作的階段轉換示例,以及實作互動位計數的快速方法。

過渡函數:T(S,A)→S′是表示新舊狀态轉換機率的過渡函數。T是在定義狀态空間和動作空間後構造的,它是所有卷積層中兩個轉移函數的直積,Tl e表示存在變換,Tl i表示影響變化:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

Tl e由一個存在轉移矩陣Wl et∈[0,1]cl×cl表示,其元素

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

用歸一化

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

證明了從第i個通道到第j個通道的有向邊的連接配接機率。我們根據以下規則選擇動作:

(1)創造:存在矩陣的密度ρ定義為存在矩陣中的密度之比。當存在矩陣的密度比超參數ρmax稀疏時,如果基于Wl et的采樣政策選擇元素Wl et,ij,并且邊緣沒有連通,則從第i個通道生成一條指向第j個通道的邊緣。

(2)删除:删除的機率表示為

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

,其中Norm表示確定

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

的規範化操作。建立和删除的機率是負相關的,因為低連接配接機率表示斷開連接配接的趨勢邊緣。與此同時, Wl et中低機率的差異很小,隻能用它們的幂指數來表示,是以我們用對數來表示删除的可能性。如果采樣政策選擇W’l et中的

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

元素,則删除第i個信道到第j個信道之間的現有邊緣。

(3)不變:如果沒有建立或删除,我們保持邊的存在不變。

對于影響部分,我們用影響矩陣Wl it∈[−1,1]cl×cl參數化Tl i,并根據階梯函數在Al i中為Kts(ts為右下角标)确定地選擇奇數:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

最後,當政策網絡收斂或達到最大步長時,我們采取動作停止終止目前的信道互動挖掘的輪次。

獎賞函數:τ輪中的獎賞函數R(S,A)模組化如下:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

式中,C(sτ)表示在圓τ中挖掘的圖下用于預測的二進制神經網絡的交叉熵損失,h是手動指派的正門檻值。

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

表示學生和教師特征圖的第i行和第j列中的像素值,這些像素值是通過與在第t+1輪中挖掘的圖形的互動位計數輸出的。N表示二進制神經網絡中特征映射的總像素數,等于

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

獎勵函數的實體意義用兩個術語來說明。rc鼓勵對二進制神經網絡施加圖來減少分類中的交叉熵損失。如果減少或增加的交叉熵損失大于設定的門檻值h,則代理獲得+1或-1獎勵,而當損失沒有明顯變化時,代理不獲得獎勵。rp旨在確定教師特征圖比學生特征圖更具資訊性,進而提供可靠的先驗資訊。由于像素攜帶更多的資訊通常被顯著激活或停用,我們期望教師特征圖中的平均絕對值高于學生特征圖中的平均絕對值。

在政策網絡中,我們采用了一個編解碼器RNN,它将圖wles和Wlis的目前狀态作為輸入,同時輸出二進制卷積層的轉換矩陣Wl et和Wl it。圖3顯示了使用政策網絡教育訓練CI-BCNN的總體架構。我們利用強化算法[37]來優化政策網絡。目标是在整個CI-BCNN學習過程中實作預期收益最大化:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

其中θ表示政策網絡中的參數,π表示所選政策。T為每一訓練批的抽樣時間,γ為折扣因素。根據對于政策梯度法,我們計算目标的期望梯度如下:

[論文筆記]Learning Channel-wise Interactions for Binary Convolutional Neural Networks二進制卷積神經網絡的通道互動學習

由于對所有可能狀态窮竭的困難性,我們采用蒙特卡羅抽樣來獲得近似梯度。同時,p(aτ|sτ)被探索邊緣存在和影響的作用所糾纏,選擇影響的機率具有确定性和确定性不可微的為了反向傳播梯度,我們将優化問題近似為另一個可微問題(在補充材料中表述)。

正好翻譯到第四章:實驗前面一段,暫時不翻譯了。

繼續閱讀