華為開源只用加法的神經網絡:實習生領銜打造,效果不輸傳統CNN

2020-12-04 量子位

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

沒有乘法的神經網絡,你敢想像嗎?無論是單個神經元的運算還是卷積運算,都不可避免地要使用乘法。

然而乘法對硬體資源的消耗遠大於加法。如果不用乘法,全部改用加法應該可以讓運算速度大大提升。

去年年底,來自北京大學、華為諾亞方舟實驗室、鵬城實驗室的研究人員將這一想法付諸實踐,他們提出了一種只用加法的神經網絡AdderNet(加法器網絡)。一作是華為諾亞方舟實習生,正在北大讀博三。

如今,這篇文章已經被CVPR 2020收錄(Oral),官方也在GitHub上開放了原始碼。有興趣的同學不妨前往一試究竟。

加法器網絡簡介

加法器網絡的核心在於:用L1距離代替歐氏距離

L1距離是求兩點之間坐標差值的絕對值之和,因此全程不涉及乘法。

在這種新的定義下,反向傳播中用到的求偏導數運算也變成了求減法。梯度下降的優化過程也被叫做符號SGD(signSGD)。

在加法器網絡的新定義下,特徵向量的空間分布也和CNN有很大的不同。

那麼AdderNet的實際效果如何呢?

在CIFAR-10的圖像分類任務中,AdderNet相比當初Bengio等人提出的加法神經網絡BNN性能有大幅提升,並且已經接近了傳統CNN的結果。

開原始碼

官方的AdderNet基於Python3和PyTorch。

先按照PyTorch的官方文檔準備ImageNet數據集,運行程序評估它在驗證集上的效果:

python test.py —data_dir 'path/to/imagenet_root/'

AdderNet可以在ImageNet數據集上達到74.9%的Top-1準確度和91.7%的Top-5準確度。

或者將CIFAR-10數據集下載到本地,測試一下它在CIFAR-10上的效果

python test.py —dataset cifar10 —model_dir models/ResNet20-AdderNet.pth —data_dir 'path/to/cifar10_root/'

不過AdderNet仍需自己訓練,官方表示將很快發布預訓練模型。

現階段的AdderNet並非沒有缺陷,作者在項目主頁中說,由於AdderNet是用加法過濾器實現的,因此推理速度較慢,需要用CUDA編寫才能提高速度。

這與作者希望提高神經網絡運算速度的初衷還有一段距離。

但這篇論文的作者表示,今後還會繼續加法器神經網絡的研究,發表更多的成果,讓我們一起期待這項研究取得新的進展吧。

華為諾亞實驗室實習生領銜打造

AdderNet這篇文章的一作名叫陳漢亭,畢業於同濟大學數學系,現在在北京大學信息科學技術學院攻讀博士學位,同時在華為諾亞方舟實驗室實習。

在碩博連讀的前三年中,他已經以一作身份發表了5篇論文,其中一篇《Data-Free Learning of Student Networks》被ICCV 2019收錄,另外它參與多篇論文還被NeurIPS、IJCAI、ICML等頂會收錄。

傳送門

原始碼:https://github.com/huawei-noah/AdderNet

論文地址:https://arxiv.org/abs/1912.13200

相關焦點

  • ...加法的神經網絡:實習生領銜打造,效果不輸傳統CNN | CVPR 2020...
    去年年底,來自北京大學、華為諾亞方舟實驗室、鵬城實驗室的研究人員將這一想法付諸實踐,他們提出了一種只用加法的神經網絡AdderNet(加法器網絡)。一作是華為諾亞方舟實習生,正在北大讀博三。如今,這篇文章已經被CVPR 2020收錄(Oral),官方也在GitHub上開放了原始碼。有興趣的同學不妨前往一試究竟。
  • 7 Papers|MIT學神開源微分太極;北大等提出沒有乘法的神經網絡
    機器之心&ArXiv Weekly Radiostation參與:杜偉、楚航、羅若天本周的重要論文有 MIT 學神胡淵鳴等開源的自動微分版太極以及北大、華為諾亞方舟實驗室等主張以加法運算代替深度神經網絡中的乘法運算。
  • 北大,華為Oral論文提出加法神經網絡
    CVPR 2020 原定於 6 月 16 日至 20 日在華盛頓州西雅圖的華盛頓州會議中心舉行,但是當前全球疫情勢態嚴峻,越來越多的 AI 頂會開始轉向線上,CVPR 也不例外。雖然無法去現場交流,但這無法阻擋我們學習的熱情。為向讀者們分享更多 CVPR 優質內容,在 CVPR 2020 開幕之前,機器之心將策劃多期線上分享。
  • 給卷積神經網絡動動刀:加法網絡探究
    由於訓練和測試的代碼以及網絡結構的代碼和正常的卷積神經網絡一樣,這裡我們不對它們做解析,我們主要解讀定義adder算子的adder.py文件。adder.py中共含有兩個類和一個函數,兩個類分別是adder2d和adder,一個函數為adder2d_function。我們首先來看adder2d這個類。
  • 把CNN裡乘法全部去掉會怎樣?華為提出移動端部署神經網絡新方法
    選自arXiv作者:Mostafa Elhoushi 等機器之心編譯參與:魔王、杜偉前不久,機器之心報導過北大、華為諾亞等合著的一篇論文,探討了不用乘法用加法能不能做深度學習。最近,我們又看到華為的另一篇論文,這一次沒有用加法替代乘法,而是用「按位移位」和「按位取反」來取代乘法運算。
  • 把CNN裡的乘法全部去掉會怎樣?華為提出移動端部署神經網絡新方法
    ,探討了不用乘法用加法能不能做深度學習。最近,我們又看到華為的另一篇論文,這一次沒有用加法替代乘法,而是用「按位移位」和「按位取反」來取代乘法運算。 使用了卷積移位和全連接移位的神經網絡架構族即 DeepShift 模型。DeepShift 模型可以在不使用乘法的情況下實現,且在 CIFAR10 數據集上獲得了高達 93.6% 的準確率,在 ImageNet 數據集上獲得了 70.9%/90.13% 的 Top-1/Top-5 準確率。
  • 華為深度學習框架MindSpore正式開源:自動微分不止計算圖
    今年的華為開發者大會 HDC 2020 上,除了昇騰、鯤鵬等自研晶片硬體平臺之外,最令人期待的就是深度學習框架 MindSpore 的開源了。今天上午,華為 MindSpore 首席科學家陳雷在活動中宣布這款產品正式開源,我們終於可以在開放平臺上一睹它的真面目。
  • 告別調參煉丹,谷歌「權重無關」神經網絡開源了!
    」終於開源了!正如生物學中某些從出生起就具有反捕食行為的物種一樣,他們無需學習就能執行複雜的運動和感官任務,或許我們可以構建一個不需要訓練就能很好地完成任務的神經網絡。當然,這些自然物種(作為類比,人工神經網絡)通過訓練可以得到進一步的改善,但它們即使不學習也能執行任務的能力表明,它們包含使它們非常適合於這些任務的偏差。
  • 從最強到更強手機影像,華為P40 Pro+做了哪些加法?
    「XD Fusion」是華為內部研發代號,由硬體輸入+機器視覺+神經網絡處理三大模塊組成,也是華為在手機影像能力上所具備的頂級硬體+軟體+晶片的「軟硬體雙向結合」方案,由此組成全鏈路、端到端的影像系統,為用戶提供了「全焦段」、「全環境」、「全時段」的「超感知影像」體驗。
  • 華為開源自研AI框架MindSpore!自動微分、並行加持,一次訓練,可多...
    乾明 發自 凹非寺  量子位 報導 | 公眾號 QbitAI  華為的開源AI框架,來了!  剛剛,華為宣布正式開源自研深度學習框架MindSpore,代碼已經上線。  開發者不僅要分析數據量、參數量、集群群網絡拓撲等因素來確定模型切分策略;還要考慮切分後的子模型設備綁定等,來達到性能較優的分布式並行訓練效果。  但其實,這些並行訓練的優化細節與模型要實現的業務目標無關,最後卻讓開發者費盡了心思,「掉光了頭髮」。  尤其是邏輯複雜、參數量巨大的模型,想要人工找到最優的並行策略基本不可能。
  • 阿里達摩院實習生立功!何愷明Mask R-CNN精度提升,一半輸入數據量...
    乾明 十三 發自 凹非寺  量子位 報導 | 公眾號 QbitAI  輸入的數據量更小,深度神經網絡在圖像分類/分割任務上的精度反而提升了。  因此,總是要經過一個壓縮的過程,傳統圖像分析系統的基本框架如下。
  • 華為全面啟航計算戰略:「鯤鵬+昇騰」雙引擎、硬體開放、軟體開源...
    HUAWEI CONNECT 2019第二天,華為基於「鯤鵬+昇騰」雙引擎正式全面啟航計算戰略,宣布開源伺服器作業系統、GaussDB OLTP單機版資料庫,開放鯤鵬主板,擁抱多樣性計算時代。華為通過硬體開放、軟體開源、使能合作夥伴,共同開拓萬億級的計算產業大藍海。
  • 資源| 讓手機神經網絡速度翻倍:Facebook開源高性能內核庫QNNPACK
    選自code.fb作者:MARAT DUKHAN、YIMING WU、HAO LU機器之心編譯機器之心編輯部今天,Facebook 開源了一個高性能內核庫——QNNPACK,專為移動 AI 進行優化。該內核庫加速了許多運算,如深度類型的卷積,促進了神經網絡架構的使用。
  • 3個實習生寫下一行代碼,27項全球AI...
    當前計算平臺差異非常大,很難只設計一種網絡,能夠滿足所有的需求。曠視以天元框架成為中間橋梁,根據不同設備的計算特性,協同設計網絡結構和框架算子,從而獲得最好的性能。而ShuffleNet就是協同設計的成果,最近幾年的在端上運行非常高效的一個神經網絡的設計,效果優異。
  • 在多目標識別方面,maskr-cnn已經取得了一些進展
    maskr-cnn是業界首款實用的全卷積神經網絡模型,為計算機視覺中的多目標識別與自動對焦,開創性的成為計算機視覺發展的新方向。無論是基於計算機視覺的自動對焦系統、模式識別系統,還是圖像識別,maskr-cnn都是有標誌性意義的。它強調平滑準確的計算輸入、檢測框和定位點,訓練過程與特徵提取過程採用多級感受野融合技術進行自動優化提高目標解析度及精度,以及做出精度更高的語義推理判斷。
  • 中國工程院高文院士:為什麼中國要打造自己的 AI 開源開放生態?
    本次大會以「平臺築基、標準張脈、開源賦能」為主題,邀請了來自百度、騰訊、華為、鵬城實驗室、小米、微眾銀行等公司的產業界專家,與高文院士、黃鐵軍教授等多位學術界領袖,圍繞「AI 開源基礎設施及環境」、「深度學習與強化學習」、「聯邦學習與開源數據湖」、「5G+AI+AVS 及全國 AI 大賽」、「AI 開源教育與治理」、「Open Source Community Leadship」六大主題坐而論道,共同探討人工智慧的邊界和方向
  • 人工智慧之卷積神經網絡(CNN)
    ^_^本文引用地址:http://www.eepw.com.cn/article/201806/381807.htm  20世紀60年代,Hubel和Wiesel在研究貓腦皮層中用於局部敏感和方向選擇的神經元時發現其獨特的網絡結構可以有效地降低反饋神經網絡的複雜性,繼而提出了卷積神經網絡CNN(Convolutional Neural Networks)。
  • 小白學CNN以及Keras的速成
    雖然說tensorflow已經是一個封裝好的框架,但是你發現你寫一個簡單的神經網絡也需要很多行才能夠寫完,這個時候,就有很多的第三方插架來幫助你寫網絡,也就是說你用tensorflow要寫10行,第三方插架幫你封裝了一個函數,就是把這10行集合在這個函數裡面,那麼你用1行,傳入相同的參數,就能夠達到10行相同的效果,如此簡便並且節約時間,可以幫助很快的實現我們的想法。
  • 理解神經網絡:從神經元到RNN、CNN、深度學習
    隨著時間的推移,證明了神經網絡在精度和速度方面,比其他的算法性能更好。並且形成了很多種類,像CNN(卷積神經網絡),RNN,自編碼,深度學習等等。神經網絡對於數據科學和或者機器學習從業者,就像線性回歸對於統計學家一樣。因此,對神經網絡是什麼有一個基本的理解是有必要的,比如,它是怎麼構成的,它能處理問題的範圍以及它的局限性是什麼。
  • CNN vs RNN vs ANN——3種神經網絡分析模型,你pick誰?
    神經網路能夠提供給我們哪些傳統機器學習提供不了的功能呢?我還常常會見到另一個問題——神經網絡需要強大的計算能力,那麼當問題中只是存在一些細微差別時,使用神經網絡真的值得嗎?問題的答案很簡單——值得!深度學習中不同的神經網絡(如卷積神經網絡CNN、循環神經網絡RNN、人工神經網絡ANN)正在改變著我們與世界之間的交互方式。