不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

時間:2020-01-07 16:20:19來源:格普.每家購-粉絲福利購、優惠券、9.9包郵、網上折扣  閱讀:(58)收藏
轉載:

曉查 發自 凹非寺 量子位 報道 | 公眾號 QbitAI在深度學習里,乘積是個避免不了的運算,比如做圖像識別的卷積層,就需要做大量的乘法。但是,與加法運算相比,乘法運算的計算復雜度高得多。

曉查 發自 凹非寺
量子位 報道 | 公眾號 QbitAI

在深度學習里,乘積是個避免不了的運算,比如做圖像識別的卷積層,就需要做大量的乘法。

但是,與加法運算相比,乘法運算的計算復雜度高得多。

現在的深度學習在很大程度上依賴于GPU硬件,做大量的乘法運算,限制了它在移動設備上的應用,需要一種更高效的方法。

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

如果能夠拋棄乘法運算,是不是會讓代碼運行速度更快呢?

來自北京大學、華為諾亞方舟實驗室、鵬城實驗室的研究人員提出了一種加法器網絡AdderNet,去掉卷積乘法,并設計一種新的反向傳播算法,結果也能訓練神經網絡。

而且實驗結果證明了,這種方法在MNIST、CIFAR-10、SVHN上已經接近傳統CNN的SOTA結果。

加法網絡早已有之

早在2015年,Bengio等人就提出了二元權重(1或-1)神經網絡,用簡單的累加運算來代替乘法,提高深度學習硬件的運行效率。

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

緊接著在2016年,Bengio等人進一步提出了二元神經網絡(BNN),不僅是權重,連激活函數也被設定為二元形式。

盡管將深度神經網絡二元化可以極大地降低了計算成本,但是原始識別精度經常無法保持。另外,二元網絡的訓練過程不穩定,并且通常收斂速度較慢。

卷積通常作為默認操作從圖像數據中提取特征,若引入各種方法來加速卷積,則存在犧牲網絡性能的風險。

如何讓避免CNN中的乘法呢?研究人員使用L1了距離。L1距離是兩點坐標差值的絕對值之和,不涉及乘法。

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

加法運算是L1距離中的主要操作,使用補碼可以輕松地將求差值的運算轉化為加法。

研究人員在此基礎上提出了加法器網絡AdderNet,下圖展示了AdderNet和CNN的不同之處:

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

不同類別的CNN特征按其角度來劃分。由于AdderNet使用L1范數來區分不同的類,因此AdderNet的特征傾向于聚集到不同的類中心。

可視化的結果表明,L1距離可用作深度神經網絡中濾波器與輸入特征之間距離的相似性度量。濾波器和輸入特征的距離可以表述為:

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

在傳統的CNN中,計算偏導數的公式為:

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

而在L1范數的定義中,偏導數變成了:

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

其中sgn代表符號函數,它讓我們求得的梯度只能取三種值:-1,0,1。

由此進行優化的方法叫做符號SGD(signSGD)。但是,signSGD幾乎永遠不會沿著最陡的下降方向,并且方向性只會隨著維數的增長而變差。因此要使用另一種形式的梯度:

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

在優化過程中,不僅需要求出對濾波器的梯度,還要求對輸入特征的偏導數:

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

其中HT是HardTanh函數:

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

最后,得到了AdderNet的優化方法:

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

學習率的公式是:

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

其中k是Fl中元素的數量,ΔL(Fl)是第l層的濾波器梯度。

最后,在CIFAR-10的圖像分類任務中,AdderNet相比原始的二元神經網絡BNN性能有大幅的提升,并且性能已經接近了傳統CNN的結果。

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

這種方法訓練的得到的權重分布也和CNN有很大的不同,AdderNet的權重服從拉普拉斯分布,而CNN的權重服從高斯分布。

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

作者表示,在未來的工作中,他們將研究AdderNet的量化結果,以實現更高的速度和更低的能耗,以及AdderNet的通用性,不僅用于圖像分類,還將用到目標檢測和語義分割等任務中。

遭網友diss

這篇文章發布到網上后,引發了Reddit論壇機器學習板塊的熱議。

有網友認為,文章以提高運算性能為目的,但在結尾只提到了圖像分類認為的正確率,不免讓人感到文不對題。

不用乘法做深度學習,性能不輸CNN,北大、華為等提出AdderNet

文章不是在深度學習任務中更常見的GPU硬件上部署模型,而是選擇在CPU上部署,可能無法體現出加法運算的優勢。

而且現在各種專用AI芯片、FPGA都對深度學習任務做了優化,算浮點乘法并不一定與加法消耗資源相差太大。

對此你怎么看呢?

論文鏈接:
https://arxiv.org/abs/1511.00363

標簽:

熱門排行

猜你喜歡

熱門標簽

格普.每家購周邊網站:查券網    省錢日報    買家秀

格普.每家購-粉絲福利購、優惠券、9.9包郵、網上折扣  渝ICP備17000977號-2  Copyright © 2010 - 2019 http://www.ayomwiia.icu/ All Rights Reserved

七乐彩2011057