首頁  >  文章  >  科技週邊  >  首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

WBOY
WBOY轉載
2023-04-13 10:31:021015瀏覽

兩年前,當MeliusNet 問世時,機器之心曾發表過一篇技術文章《#第一次勝過MobileNet 的二值神經網絡,- 1 與1 的三年艱苦跋涉#》,回顧了BNN 的發展歷程。彼時,靠著早期 BNN 工作 XNOR-Net 起家的 XNOR.AI 被蘋果公司收購,大家曾暢想過這種低功耗、高效能的二值神經網路技術會不會即將開啟廣闊的應用前景。

然而,過去的兩年時間,我們很難從對技術嚴格保密的蘋果公司獲得關於BNN 技術應用的更多信息,而不論是學界和業界也未出現其他特別亮眼的應用案例。另一方面,隨著終端設備數量的暴漲,邊緣 AI 應用和市場正在迅速增長: 預計到 2030 年將產生 500 到 1250 億台邊緣設備,邊緣計算市場將暴漲到 600 億美元規模。這其中有幾個目前熱門的應用領域:AIoT、元宇宙和機器人終端設備。相關業界正加速發力技術落地,與此同時 AI 能力已經嵌入到以上領域的諸多核心技術環節中,如 AI 技術在三維重建、視頻壓縮以及機器人實時感知場景中的廣泛應用。在這樣的背景下,業界對基於邊緣的高能源效率、低功耗 AI 技術、軟體工具以及硬體加速的需求變的日益迫切。

目前,限制BNN 應用的瓶頸主要有兩面:首先,無法有效縮小和傳統32-bit 深度學習模型的精度差距;第二則是缺乏在不同硬體上的高性能演算法實作。機器學習論文上的加速比通常無法體現在你正在使用的 GPU 或 CPU 上。第二個原因的產生可能正是來自於第一個原因,BNN 無法達到令人滿意的精度,因此無法吸引來自系統和硬體加速、優化領域的從業者的廣泛關注。而機器學習演算法社群通常無法自行開發高效能的硬體程式碼。因此,想要同時獲得高精度和強加速效果,BNN 應用或加速器無疑需要這兩個不同領域的開發者進行協作。

BNN 為什麼對於計算和記憶體高效

舉個例子,Meta 推薦系統模型DLRM 使用32-bit 浮點數來儲存權重和激活參數,它的模型大小約2.2GB。而一個少量精度下降 (

BNN 的第二個顯著的優點是計算方式極度有效率。它只用 1bit 也就是兩種 state 來表示變數。這意味著所有運算只靠位元運算就能完成,借助與閘、異或閘等運算,可以取代傳統乘加運算。位運算是電路中的基礎單元,熟悉電路設計的同學應該明白,有效減小乘加計算單元的面積以及減少片外訪存是降低功耗的最有效手段,而BNN 從內存和計算兩個方面都具備得天獨厚的優勢,WRPN[1]展示了在客製化FPGA 和ASIC 上,BNN 對比全精度可獲得1000 倍的功耗節省。更近期的工作 BoolNet [2]展示了一種 BNN 結構設計可以幾乎不使用浮點運算並保持純 binary 的資訊流,它在 ASIC 模擬中獲得極佳的功耗、精度權衡。

第一個精確度上 80% 的 BNN 是什麼樣子的?

來自德國Hasso Plattner 電腦系統工程研究院的Nianhui Guo 和Haojin Yang 等研究者提出了BNext 模型,成為第一個在ImageNet 資料集上top1 分類準確率突破80% 的BNN :

首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

#############################################################################################################################################

首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

論文網址:https://arxiv.org/pdf/2211.12933.pdf

作者首先基於Loss Landscape 視覺化的形式深入對比了當前主流BNN 模型同32-bit 模型在優化友好度方面的巨大差異(圖2),提出BNN 的粗糙Loss Landscape 是阻礙當前研究社區進一步探索BNN 性能邊界的的主要原因之一。

基於這個假設,作者嘗試利用新穎的結構設計對BNN 模型優化友善度進行提升,透過建構具備更平滑Loss Landscape 的二值神經網路架構以降低對高精度BNN 模型的最佳化難度。具體而言,作者強調模型二值化大幅限制了可用於前向傳播的特徵模式,促使二值卷積僅能在有限的特徵空間進行資訊擷取與處理,而這種受限前饋傳播模式所帶來的最佳化困難可以透過兩個層面的結構設計得到有效緩解:(1) 建構靈活的鄰接卷積特徵校準模組以提高模型對二值表徵的適應性;(2) 探索高效的旁路結構以緩解前饋傳播中由於特徵二值化所帶來的訊息瓶頸問題。

首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

圖2 針對流行BNN 架構的Loss Landscape 視覺化對比(2D 等高線視角)

基於上述分析,作者提出了BNext,第一個在ImageNe 影像分類任務達到> 80% 準確率的二值神經網路架構,具體的網路架構設計如圖4所示。作者首先設計了基於 Info-Recoupling (Info-RCP) 模組的基礎二值處理單元。針對鄰接卷積間的資訊瓶頸問題,透過引入額外的 Batch Normalization 層與 PReLU 層完成對二值卷積輸出分佈的初步校準設計。接著作者建構了基於逆向殘差結構與 Squeeze-And-Expand 分支結構的二次動態分佈校準設計。如圖 3 所示,相較於傳統的 Real2Binary 校準結構,額外的逆向殘差結構充分考慮了二值單元輸入與輸出間的特徵差距,避免了完全基於輸入資訊的次優分佈校準。這種雙階段的動態分佈校準可以有效降低後續鄰接二值卷積層的特徵提取難度。

首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

圖3 捲積模組設計比較圖

其次,作者提出結合Element-wise Attention (ELM-Attention) 的增強二值Basic Block 模組。作者透過堆疊多個 Info-RCP 模組完成 Basic Block 的基礎搭建,並對每個 Info-RCP 模組引入額外的 Batch Normalization 和連續的殘差連接以進一步緩解不同 Info-RCP 模組間的資訊瓶頸問題。基於旁路結構對二值模型最佳化影響的分析, 作者提出使用 Element-wise 矩陣乘法分支對每個 Basic Block 的首個 3x3 Info-RCP 模組輸出進行分佈校準。額外的空域注意力加權機制可以幫助 Basic Block 以更靈活的機制進行前向資訊融合與分發,改善模型 Loss Landscape 平滑度。如圖 2.e 和圖 2.f 所示,所提出的模組設計可以顯著改善模型 Loss Landscape 平滑度。 首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

圖 4 BNext 架構設計。 "Processor 代表Info-RCP 模組,"BN "代表Batch Normalization 層,"C "表示模型基本寬度,"N "和"M " 表示模型不同階段的深度比例參數。

首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

#Table 1 BNext 系列。「Q」表示輸入層、SEbranch以及輸出層量化設定。

##### ####

作者將上述結構設計同流行的MoboleNetv1基準模型結合,並透過改變模型深度與寬度的比例係數建構了四種不同複雜度的BNext 模型系列(Table 1):BNex-Tiny,BNext -Small,BNext-Middle,BNext-Large。

由於相對粗糙的 Loss Landscape,當前二值模型最佳化普遍依賴 knowledge distillation 等方法提供的更精細監督訊息,以此擺脫廣泛存在的次優收斂。 BNext作者首次考慮了優化過程中teache模型與二值student模型預測分佈巨大差距可能帶來的影響,,指出單純基於模型精度進行的 teacher 選擇會帶來反直覺的 student 過擬合結果。為解決這個問題,作者提出了 knowledge-complexity (KC) 作為新的 teacher-selection 度量標準,同時考慮 teacher 模型的輸出軟標籤有效性與 teacher 模型參數複雜度之間的關聯性。

首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

如圖5 所示,基於knowledge complexity,作者對流行全精度模型系列如ResNet、EfficientNet、ConvNext 進行了複雜度度量與排序,結合BNext-T 作為student 模型初步驗證了該度量標準的有效性,並基於排序結果用於後續實驗中的knowledge distillation 模型選擇。

首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

圖5 反直覺的過度擬合效應和不同教師選擇下的知識複雜性影響 

在此基礎上,論文作者進一步考慮了強teacher 最佳化過程中由於早期預測分佈差距造成的最佳化問題,提出Diversified Consecutive KD。如下所示,作者透過強弱 teachers 組合的知識整合方法對最佳化過程中的目標函數進行調製。在此基礎上,進一步引入knowledge-boosting 策略,利用多個預定義候選teachers 在訓練過程中對弱teacher 進行均勻切換,將組合知識複雜度按照從弱到強的順序進行課程式引導,降低預測分佈差異性帶來的最佳化干擾。

首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

在最佳化技巧方面,BNext 作者充分考慮了現代高精度模型最佳化中資料增強可能帶來的增益,並提供了首個針對現有流行數據增強策略在二值模型優化中可能帶來影響的分析結果,實驗結果表明,現有數據增強方法並不完全適用於二值模型優化,這為後續研究中特定於二值模型優化的資料增強策略設計提供了一個想法。

基於所提出架構設計與最佳化方法,作者在大規模影像分類任務 ImageNet-1k 進行方法驗證。實驗結果如圖 6 所示。

首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程

圖 6 基於 ImageNet-1k 的 SOTA BNN 方法比較。

相比於現有方法,BNext-L 在 ImageNet-1k 上首次將二值模型的性能邊界推動至 80.57%,對大多數現有方法實現了 10% 的精度超越。相較於來自Google 的PokeBNN, BNext-M 在相近參數量前提下要高出0.7%,作者同時強調,PokeBNN 的優化依賴於更高的計算資源,如高達8192 的Bacth Size 以及720 個Epoch 的TPU計算優化,而BNext-L 僅以常規Batch Size 512 迭代了512 個Epoch,這反映了BNext 結構設計與最佳化方法的有效性。在基於相同基準模型的比較中,BNext-T 與 BNext-18 都有大幅的精度提升。在同全精度模型如RegNetY-4G (80.0%)等的對比中,BNext-L 在展現相匹配的視覺表徵學習能力同時,僅使用了有限的參數空間與計算複雜度,這為在邊緣部署基於二值模型特徵提取器的下游視覺任務模型提供了豐富想像空間。

What next? 

BNext 作者在論文中提到的,他們和合作者們正積極在GPU 硬體上實現並驗證這個高精度BNN 架構的運行效率,未來計劃擴展到其他更廣泛的硬體平台。然而在編者看來,讓社群對 BNN 重拾信心,被更多系統和硬體領域的極客關注到,也許這個工作更重要的意義在於重塑了 BNN 應用潛力的想像空間。從長遠來看,隨著越來越多的應用從以雲端為中心的運算範式向去中心化的邊緣運算遷移,未來海量的邊緣設備需要更有效率的 AI 技術、軟體框架和硬體運算平台。而目前最主流的 AI 模型和運算架構都不是為邊緣場景設計、最佳化的。因此,在找到邊緣 AI 的答案之前,相信 BNN 總是會是個充滿技術挑戰又蘊涵巨大潛力的重要選項。

以上是首個在ImageNet上精度超過80%的二值神經網路BNext問世,-1與+1的五年辛路歷程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除