華為諾亞方舟實(shí)驗(yàn)室聯(lián)合悉尼大學(xué)發(fā)布論文《Kernel Based Progressive Distillation for Adder Neural Networks》,提出了針對(duì)加法神經(jīng)網(wǎng)絡(luò)的蒸餾技術(shù),ResNet-34和ResNet-50網(wǎng)絡(luò)在ImageNet上分別達(dá)到了68.8%和76.8%的準(zhǔn)確率,效果與相同結(jié)構(gòu)的CNN相比持平或超越,該論文已被NeurIPS2020接收。
開源鏈接:
huawei-noah/AdderNet?github.com
論文鏈接:
https://arxiv.org/pdf/2009.13044.pdf?arxiv.org
研究背景
深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)被廣泛應(yīng)用于諸多計(jì)算機(jī)視覺領(lǐng)域的實(shí)際任務(wù)中(例如,圖片分類、物體檢測(cè)、語義分割等)。然而,為了保證性能,神經(jīng)網(wǎng)絡(luò)通常是過參數(shù)化的,因此會(huì)存在大量的冗余參數(shù)。近期提出的加法神經(jīng)網(wǎng)絡(luò)(ANN),通過將卷積操作中的距離度量函數(shù)替換為L1距離,極大減少了神經(jīng)網(wǎng)絡(luò)中的乘法操作,從而減少了網(wǎng)絡(luò)運(yùn)行所需的功耗和芯片面積。
然而,ANN在準(zhǔn)確率方面和同結(jié)構(gòu)的CNN相比仍然有一定差距,在某種程度上限制了ANN在實(shí)際應(yīng)用中對(duì)CNN的替換。為了提高ANN的性能,我們提出了一種基于核的漸進(jìn)蒸餾方法。具體的,我們發(fā)現(xiàn)一個(gè)訓(xùn)練好的ANN網(wǎng)絡(luò)其參數(shù)通常服從拉普拉斯分布,而一個(gè)訓(xùn)練好的CNN網(wǎng)絡(luò)其參數(shù)通常服從高斯分布。因此,我們對(duì)網(wǎng)絡(luò)中間層的特征圖輸出進(jìn)行核變換后,使用距離度量函數(shù)估計(jì)教師網(wǎng)絡(luò)(CNN)和學(xué)生網(wǎng)絡(luò)(ANN)之間的損失。對(duì)于最后一層,我們使用傳統(tǒng)的KL散度估計(jì)兩個(gè)網(wǎng)絡(luò)之間的損失。同時(shí),在訓(xùn)練中我們使用隨機(jī)初始化的教師網(wǎng)絡(luò),與學(xué)生網(wǎng)絡(luò)同時(shí)訓(xùn)練,以減少兩個(gè)網(wǎng)絡(luò)之間參數(shù)分布的差異性。
實(shí)驗(yàn)表明,我們的算法得到的ANN能夠在CIFAR-10,CIFAR-100,ImageNet等標(biāo)準(zhǔn)圖片分類數(shù)據(jù)集上達(dá)到或超越同結(jié)構(gòu)CNN的準(zhǔn)確率。
對(duì)網(wǎng)絡(luò)中間層特征圖輸出進(jìn)行核變換
ANN本身精度不好的原因是原始ANN在反向傳播時(shí),使用的是近似的梯度,導(dǎo)致目標(biāo)函數(shù)無法向著最小的方向移動(dòng)。傳統(tǒng)KD方法應(yīng)用到ANN上效果不佳的原因,在于ANN的權(quán)重分布是拉普拉斯分布,而CNN的權(quán)重分布為高斯分布,因此分布不同導(dǎo)致無法直接對(duì)中間層的feature map使用KD方法。本方法首先將核變換作用于教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)的中間層輸出,并使用1x1卷積對(duì)新的輸出進(jìn)行配準(zhǔn)。之后,結(jié)合最后一層的蒸餾損失與分類損失,得到整體的損失函數(shù)。
漸進(jìn)式蒸餾算法
傳統(tǒng)的蒸餾方法使用固定的,訓(xùn)練好的教師網(wǎng)絡(luò)來教學(xué)生網(wǎng)絡(luò)。這樣做會(huì)帶來問題。由于教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)處于不同的訓(xùn)練階段,因此他們的分布會(huì)因?yàn)橛?xùn)練階段的不同而不同,所以會(huì)導(dǎo)致KD方法效果不好。因此我們采用漸進(jìn)式蒸餾方法,讓教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò)共同學(xué)習(xí),有助于KD方法得到好的結(jié)果。即目標(biāo)函數(shù)變?yōu)椋?br />
其中b為當(dāng)前的step。
實(shí)驗(yàn)結(jié)果
我們?cè)贑IFAR-10、CIFAR-100、ImageNet三個(gè)數(shù)據(jù)集上分別進(jìn)行了實(shí)驗(yàn)。
下表是在CIFAR-10和CIFAR-100數(shù)據(jù)集上的結(jié)果,我們使用了VGG-small、ResNet-20與ResNet-32作為教師網(wǎng)絡(luò),同結(jié)構(gòu)的ANN作為學(xué)生網(wǎng)絡(luò)。可以看到,使用了本方法得到的ANN在分類準(zhǔn)確率上相比原始的ANN有大幅度的提升,并且能夠超過同結(jié)構(gòu)的CNN模型。表格中#Mul表示網(wǎng)絡(luò)中乘法操作的次數(shù)。#Add表示加法操作次數(shù),#XNOR表示同或操作的次數(shù)。
下表展示了在ImageNet數(shù)據(jù)集上的結(jié)果,我們使用ResNet-18與ResNet-50網(wǎng)絡(luò)作為教師網(wǎng)絡(luò),同結(jié)構(gòu)的ANN作為學(xué)生網(wǎng)絡(luò)。結(jié)果顯示我們的方法得到的ANN在分類準(zhǔn)確率上相比同結(jié)構(gòu)CNN基本相同或能夠超越。
最后,我們展示了ResNet-20,ANN-20與通過本方法得到的PKKD ANN-20模型在CIFAR-10與CIFAR-100數(shù)據(jù)集上的訓(xùn)練精度曲線與測(cè)試精度曲線。
圖中的實(shí)線表示訓(xùn)練精度,虛線表示測(cè)試精度。在兩個(gè)數(shù)據(jù)集中,CNN的訓(xùn)練和測(cè)試準(zhǔn)確率都超過了原始的ANN模型。這是因?yàn)樵谟?xùn)練原始ANN時(shí),反向傳播的梯度使用的是L2 norm來近似,因此梯度方向是不準(zhǔn)確的。當(dāng)使用本方法后,CNN的訓(xùn)練過程可以指導(dǎo)ANN的訓(xùn)練,因此可以得到更好的結(jié)果。同時(shí),知識(shí)蒸餾方法能夠幫助學(xué)生網(wǎng)絡(luò)防止過擬合,這也是我們的方法有最低的訓(xùn)練精度和最高的測(cè)試精度的原因。
推薦閱讀
- 突破谷歌Dropout專利|華為諾亞開源Disout|多項(xiàng)AI任務(wù)超越Dropout
- 華人團(tuán)隊(duì)首創(chuàng)協(xié)同進(jìn)化壓縮算法,cycleGAN線上加速三倍以上!已開源
文章首發(fā)知乎,更多深度模型壓縮相關(guān)的文章請(qǐng)關(guān)注深度學(xué)習(xí)壓縮模型論文專欄。
審核編輯:符乾江
-
計(jì)算機(jī)視覺
+關(guān)注
關(guān)注
9文章
1706瀏覽量
46580 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5554瀏覽量
122494
發(fā)布評(píng)論請(qǐng)先 登錄
openKylin社區(qū)會(huì)員突破1000家
人造太陽再升級(jí)!中國核聚變實(shí)現(xiàn)「雙億度」突破

電機(jī)高效再制造在企業(yè)生產(chǎn)中的應(yīng)用
NVIDIA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)渲染技術(shù)的突破性增強(qiáng)功能
LMK1C1104DQF低加法、相位噪聲LVCMOS時(shí)鐘緩沖器評(píng)估板

螞蟻數(shù)科與浙大團(tuán)隊(duì)榮獲NeurIPS競賽冠軍
TL494根據(jù)輸入電壓的大小,調(diào)節(jié)輸出PWM的占空比,再通過后級(jí)的RC網(wǎng)絡(luò)還原信號(hào),可行嗎?
海外動(dòng)態(tài)IP:突破地域限制,賦能數(shù)字時(shí)代
LM258反向加法器輸出信號(hào)出現(xiàn)斷點(diǎn)怎么解決?
加法運(yùn)放電路實(shí)驗(yàn)報(bào)告數(shù)據(jù)分析
加法運(yùn)放電路輸出電壓是多少

評(píng)論