只有加法也能做深度學習,北大華為等提出AdderNet,性能不輸CNN

2020-12-09 量子位

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

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

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

現在的深度學習在很大程度上依賴於GPU硬體,做大量的乘法運算,限制了它在行動裝置上的應用,需要一種更高效的方法。

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

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

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

加法網絡早已有之

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

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

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

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

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

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

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

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

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

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

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

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

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

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

其中HT是HardTanh函數:

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

學習率的公式是:

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

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

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

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

遭網友diss

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

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

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

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

對此你怎麼看呢?

論文連結:https://arxiv.org/abs/1511.00363

相關焦點

  • 華為開源只用加法的神經網絡:實習生領銜打造,效果不輸傳統CNN
    然而乘法對硬體資源的消耗遠大於加法。如果不用乘法,全部改用加法應該可以讓運算速度大大提升。去年年底,來自北京大學、華為諾亞方舟實驗室、鵬城實驗室的研究人員將這一想法付諸實踐,他們提出了一種只用加法的神經網絡AdderNet(加法器網絡)。一作是華為諾亞方舟實習生,正在北大讀博三。
  • NeurIPS 2020線上分享 | 華為諾亞方舟:超越CNN的加法神經網絡
    目前出現了多種獲得高計算能效深度神經網絡的算法,如從準確度損失極少的預訓練神經網絡中刪除不重要參數或濾波器的權重剪枝方法,以及通過模仿教師模型輸出分布來直接學習學生模型的知識蒸餾方法。另一個獲得高效神經網絡的研究途徑是減少權重和激活值的位寬以降低內存使用和功耗。這類方法有很多,也可以大幅度降低計算複雜度,但生成網絡的性能依然低於 CNN 方法。
  • 效果比肩CNN| 華為諾亞方舟實驗室提出加法神經網絡蒸餾技術
    為諾亞方舟實驗室聯合雪梨大學發布論文《Kernel Based Progressive Distillation for Adder Neural Networks》,提出了針對加法神經網絡的蒸餾技術
  • 7 Papers|MIT學神開源微分太極;北大等提出沒有乘法的神經網絡
    機器之心&ArXiv Weekly Radiostation參與:杜偉、楚航、羅若天本周的重要論文有 MIT 學神胡淵鳴等開源的自動微分版太極以及北大、華為諾亞方舟實驗室等主張以加法運算代替深度神經網絡中的乘法運算。
  • MIT學神開源微分太極;北大等提出沒有乘法的神經網絡
    機器之心機器之心&ArXiv Weekly Radiostation參與:杜偉、楚航、羅若天本周的重要論文有 MIT 學神胡淵鳴等開源的自動微分版太極以及北大、華為諾亞方舟實驗室等主張以加法運算代替深度神經網絡中的乘法運算
  • 把CNN裡乘法全部去掉會怎樣?華為提出移動端部署神經網絡新方法
    選自arXiv作者:Mostafa Elhoushi 等機器之心編譯參與:魔王、杜偉前不久,機器之心報導過北大、華為諾亞等合著的一篇論文,探討了不用乘法用加法能不能做深度學習最近,我們又看到華為的另一篇論文,這一次沒有用加法替代乘法,而是用「按位移位」和「按位取反」來取代乘法運算。深度學習模型,尤其是深度卷積神經網絡(DCNN),在多個計算機視覺應用中獲得很高的準確率。但是,在移動環境中部署時,高昂的計算成本和巨大的耗電量成為主要瓶頸。
  • 把CNN裡的乘法全部去掉會怎樣?華為提出移動端部署神經網絡新方法
    、華為諾亞等合著的一篇論文,探討了不用乘法用加法能不能做深度學習。最近,我們又看到華為的另一篇論文,這一次沒有用加法替代乘法,而是用「按位移位」和「按位取反」來取代乘法運算。 深度學習模型,尤其是深度卷積神經網絡(DCNN),在多個計算機視覺應用中獲得很高的準確率。
  • 今日Paper | 問答系統;3D人體形狀和姿勢;面部偽造檢測;AdderNet等
    這篇論文提出了一種有效的基於生成對抗網絡)的數據增強方法,其主要思想是通過使用多領域學習GAN將外部數據所包含的知識導入到目標模型中。多領域學習GAN能夠同時學習外部數據集和目標數據集,並能夠為目標任務生成高保真度和多樣性強的新樣本。文章表明即使只有極少量的目標數據集,研究人員也可以通過使用這些新生成的樣本來獲得目標任務的準確模型。
  • 華為諾亞、北大等提出IPT模型,刷榜多項底層視覺任務
    例如 OpenAI 的 iGPT、Facebook 提出的 DETR 等,這些跨界模型多應用於圖像識別、目標檢測等高層視覺任務。而華為、北大、悉大以及鵬城實驗室近期提出了一種新型預訓練 Transformer 模型——IPT(Image Processing Transformer),用於完成超解析度、去噪、去雨等底層視覺任務。
  • 深度學習的學習歷程
    整個深度學習的學習周期是怎樣的,我下一步應該幹啥?這些模塊看起來平平無奇,為什麼組合在一起就能發揮這麼大威力?為什麼drop out能起到正則作用?L1正則和L2正則有什麼區別?cnn、rnn、dnn除了公式不一樣外到底有啥區別?誒,最後一個fc層看起來跟多類別lr分類器好像啊,它們是一回事嗎?各種各樣的問題,不一而足,而每個問題我都不知道答案。
  • 華為深度學習框架MindSpore正式開源:自動微分不止計算圖
    今年的華為開發者大會 HDC 2020 上,除了昇騰、鯤鵬等自研晶片硬體平臺之外,最令人期待的就是深度學習框架 MindSpore 的開源了。今天上午,華為 MindSpore 首席科學家陳雷在活動中宣布這款產品正式開源,我們終於可以在開放平臺上一睹它的真面目。
  • 深度學習筆記 | 第7講:CNN目標檢測發家史之從R-CNN到yolo
    在深度學習正式成為計算機視覺領域的主題之前,傳統的手工特徵圖像算法一直是目標檢測的主要方法。在早期計算資源不發達的背景下,研究人員的圖像特徵表達方法有限,只能儘可能的設計更加多元化的檢測算法來進行彌補,包括早期的 SIFT 檢測算法、HOG 檢測算法和後來著名的 DPM 模型等。
  • 斯坦福深度學習訓練及推理榜單:華為雲拿下雙料冠軍
    日前,史丹福大學發布最新的DAWNBench榜單,華為雲ModelArts一站式AI開發平臺,獲得圖像識別訓練和推理性能雙料冠軍,將模型訓練時間大幅縮減的同時實現了超強推理性能,體現了其在全球深度學習平臺技術的領先性。
  • 經典目標檢測方法Faster R-CNN和Mask R-CNN|基於PaddlePaddle深度...
    作為經典的目標檢測框架 Faster R-CNN,雖然是 2015 年的論文,但是它至今仍然是許多目標檢測算法的基礎,這在飛速發展的深度學習領域十分難得。而在 Faster R-CNN 的基礎上改進的 Mask R-CNN 在 2018 年被提出,並斬獲了 ICCV2017 年的最佳論文。
  • 深度學習之CNN簡介
    深度學習概述傳統的機器學習和深度學習一個很重要的差別就是特徵的自動提取。深度學習現在更適合處理一些原始信息的特徵,比如圖片識別,音頻,視頻等。比如圖片可以通過像素作為原始的特徵,通過卷積神經網絡不斷的提取特徵,最後再在這些特徵上進行學習。對於音頻就是通過聲音的聲波作為特徵。
  • 【源頭活水】Sparse R-CNN:簡化版fast rcnn
    算法,是faster rcnn算法的前身,由於其巨大計算量以及無法端到端訓練,故而提出區域提取網絡RPN加上fast rcnn的faster rcnn算法。但是你是否想過去掉RPN,僅僅在fast rcnn算法基礎上額外引入點新技術就可以實現更簡潔、更高精度的替代算法?本文借鑑了最新提出的detr算法核心思想,從而實現了上述想法。Sparse R-CNN極其簡單,不需要設置煩人的密集anchor,不需要RPN、不需要複雜後處理和nms,不需要小心的平衡RPN和fast rcnn訓練過程,也沒有難調的超參,和detr一樣完美。
  • 圖像分割深度學習從零開始學習路線
    你可能需要對深度學習和計算機視覺的基本任務有一個較為系統的學習,這塊應該轉看深度學習入門等相關話題,斯坦福的李飛飛cs231n被推薦的挺多的。這塊我就不多贅述了,我更多分享後面三個階段關於分割的學習。第一階段:看分割是分割這個階段的典型表現是,有了對深度學習和計算機視覺的基礎,開始痴迷於各種分割網絡和loss改進,對benchmark的每一個性能的改進都有很好的follow。這個階段應該梳理以下問題。
  • 深度學習——CNN
    模型構建來源於對人腦的仿生,話題豐富,箇中國領域的研究人員都有興趣,都能做貢獻。劣勢:數學不漂亮,優化算法只能獲得局部極值,算法性能與初始值有關。不可解釋,訓練神經網絡獲得的參數與實際任務的關聯性非常模糊。
  • 華為視覺研究路線圖:三大挑戰,六項計劃
    ,清華)、天元(MegEngine,曠視)、MindSpore(華為)三個深度學習開源框架,可謂「2020年是深度學習框架井噴的一年」。 一、計算機視覺的三大挑戰及華為的研究田奇博士在演講中,將當下計算機視覺面臨的挑戰分為三大方向,分別為數據、模型和知識表達。(為什麼沒有算力?畢竟這不是做視覺的人所能決定的,其實對算力的考慮包含在模型裡面)1、如何從數據中挖掘有效信息?
  • 深度學習網絡之CNN
    回歸、SVM等基於統計學習理論的方法(也可以看做具有一層隱層節點或不含隱層節點的學習模型,被稱為淺層模型)來說,具有較大的優越性。深度學習的提出:2006年,Hinton提出了深度學習,兩個主要的觀點是:深度學習取得成功的原因:深度學習的思想:深度神經網絡的基本思想是通過構建多層網絡,對目標進行多層表示,以期通過多層的高層次特徵來表示數據的抽象語義信息,獲得更好的特徵魯棒性。