二值神经网络(Binary Neural Networks)最新综述
作者|秦浩桐、龔睿昊、張祥國
單位|北京航空航天大學
研究方向|網絡量化壓縮
本文介紹了來自北京航空航天大學劉祥龍副教授研究團隊的最新綜述文章 Binary Neural Networks: A Survey,合作者包括中國電子科技大學的宋井寬教授和意大利特倫托大學計算機系主任 Nicu Sebe 教授。
神經網絡二值化能夠最大程度地降低模型的存儲占用和模型的計算量,將神經網絡中原本 32 位浮點數參數量化至 1 位定點數,降低了模型部署的存儲資源消耗,同時極大加速了神經網絡的推斷過程。但二值化會不可避免地導致嚴重的信息損失,其量化函數不連續性也給深度網絡的優化帶來了困難。
近年來許多算法被提出致力于解決上述問題,并取得了令人滿意的進展。在本文中,我們對這些方法進行了全面的總結和概括,主要分為直接量化的樸素二值化方法,以及使用最小化量化誤差、改善網絡損失函數和減小梯度誤差等技術的改進二值化方法。
本文還調研了二值神經網絡的其他實用方面,例如硬件友好的設計和訓練技巧。然后,我們對圖像分類,目標檢測和語義分割等不同任務進行了評估和討論。最后,本文展望了未來研究可能面臨的挑戰。
關鍵詞:二值神經網絡,深度學習,模型壓縮,網絡量化,模型加速
論文標題:Binary Neural Networks: A Survey
論文鏈接:https://www.sciencedirect.com/science/article/abs/pii/S0031320320300856
引言
由于深度模型具有多層結構和數百萬個參數,因此深層 CNN 具有很強的學習能力,通常具有令人滿意的性能。例如,VGG-16 網絡包含大約 1.4 億個 32 位浮點參數,對于 ImageNet 數據集上的圖像分類任務,可以達到 92.7% 的 Top-5 測試準確率。
整個網絡需要占用 500M 字節以上的存儲空間,并再一次推理過程中執行 1.6x1010?次浮點算術運算。這使得深層的卷積神經網絡嚴重依賴于 GPU 等高性能硬件,而在實際應用中,通常只有計算資源有限的設備可用,如移動電話和嵌入式設備。
以基于 FPGA 的嵌入式設備為例,通常該類設備只有數千個計算單元,遠遠不能處理常見深度模型中的數百萬次浮點運算,復雜的模型與有限的計算資源之間存在著嚴重的矛盾。
盡管目前涌現了大量用于深度學習的專用硬件,這些硬件提供了高效的矢量運算操作以實現正向推理中的快速卷積,但繁重的計算和存儲仍然不可避免地限制了深度卷積神經網絡的實際應用。
此外,由于巨大的模型參數空間,神經網絡的推理通常被視為一個黑盒,這給 CNN 的可解釋性帶來了巨大挑戰。許多工作從經驗上探索了網絡中每一層的功能。他們將從不同濾波器中提取的特征圖可視化,并將每個濾波器視為一個聚焦于不同視覺部分的視覺單元。
從可解釋的機器學習角度來看,我們可以得出一些結論:一些濾波器在模型中起著相似的作用,尤其是當神經網絡模型規模較大時。
因此,剪去一些無用的濾波器或將其精度降低到較低比特表示是合理的。一方面,我們可以通過這種壓縮技術實現更高效的推理。另一方面,我們可以利用它來進一步研究卷積神經網絡的可解釋性,即找出哪一層是重要的,哪一層是無用的并且可以從黑盒中刪除,哪種結構有利于準確預測。
在文獻中,用于壓縮深層網絡的方法可分為五類:參數剪枝,參數量化,低秩分解,遷移/壓縮卷積濾波器和知識蒸餾。
在現有的網絡壓縮技術中,基于量化的技術是一種很有潛力且十分高效的解決方案,與浮點模型相比,量化模型可以通過以非常低的精度表示網絡權重來壓縮、加速原始網絡。沿此方向,最極端的量化是二值化,這是本次綜述的重點所在。
二值化是一種 1 位的量化,其數據只有兩個可能的值,即 -1(0)或 +1。使用二值化進行壓縮后,網絡中的權重和激活都可以用 1 位表示,而不會占用太多內存。此外,通過二值化,二值網絡可以使用輕量級的 XNOR 和 Bitcount 位運算代替繁重的浮點乘加運算。
因此,與其他壓縮方法相比,二值神經網絡具有許多硬件友好的特性,包括節省內存、提高能源效率和顯著地加速。BNN 和 XNOR-Net 之類的開創性工作證明了二值化的有效性,使用 1 位卷積運算的 XNOR-Net 在 CPU 上的加速可達到 58 倍,壓縮率可至 32 倍。
除了關注模型二值化的策略外,許多研究還試圖揭示模型二值化行為地本質影響,并據此進一步解釋模型魯棒性與深度神經網絡結構之間的聯系。一些研究表明,二值神經網絡可以過濾輸入噪聲,并指出:與全精度的神經網絡相比,經過特殊設計的 BNN 更加魯棒。
基于 BNN 的研究還可以幫助我們分析深度神經網絡中的結構是如何工作的。有許多工作探索了不同層對二值化的敏感性。通常,第一層和最后一層應保持較高的精度,這意味著這些層在神經網絡的預測中起著更重要的作用。
本文試圖探究二值神經網絡的本質,將現有的二值化方法分類為未改進量化函數的樸素二值化方法,和基于優化的二值化方法,優化包括最小化量化誤差、改善損失函數和減小梯度誤差。我們還討論了硬件友好的架構設計和訓練二值神經網絡的有效技巧。此外,本文介紹了目前廣泛被用于評估二值神經網絡的通用數據集和網絡結構,并比較了當前方法在不同任務上的性能。
背景介紹
在全精度卷積神經網絡中,基本運算可以表示為:
其中 w 和 a 分別表示網絡層權重張量和之前的網絡層生成的激活張量。σ(?) 表示非線性函數,z 表示輸出張量,? 表示卷積運算。在神經網絡的正向推理過程中,卷積運算包含大量的浮點運算,包括浮點乘法和浮點加法,它們構成了神經網絡推理中的絕大多數計算。
2.1 前向傳播
網絡二值化的目標是使用 1 位表示浮點權重 w 和 / 或激活 a。二值化函數的常用定義如下:
其中??和??代表二值化權重(卷積核)和二值化激活量的張量,相應的尺度因子分別為 α 和 β,用于二值化得到??和??的 sign 函數如下:
通過權重和激活二值化,可以將正向傳播中的浮點卷積操作重新表示為:
其中 ⊙ 表示由位運算 XNOR 和 Bitcount 實現的向量內積。圖 1 表示了二值神經網絡中的卷積過程。
2.2 反向傳播
在訓練一個二值神經網絡時,可以直接采用基于梯度下降的強大的反向傳播(BP)算法來更新參數。但是,通常二值化函數(例如sign函數)是不可微的,甚至更糟的是,該函數的部分的導數值消失了(sign函數的導數幾乎處處為0)。
因此,普通的基于梯度下降的反向傳播算法不能直接應用于更新二值化的權重。Hinton 等人最早提出在反向傳播中使用直通估計器(STE),用于解決訓練中因為 sign 函數的導數幾乎處處為 0 所產生梯度問題。STE 的導數定義如下:
通過應用 STE,我們可以使用與全精度神經網絡相同的梯度下降方法直接訓練二值神經網絡。但是,在反向傳播中使用函數近似 sign 函數時,如果全精度激活的絕對值大于 1,則無法在反向傳播中進行更新。因此,在實際情況下,函數也會被用來近似 sign 函數的導數。
二值神經網絡
近年來,各種各樣的二值神經網絡方法被提出,從使用預定義函數直接對權重和輸入進行量化的樸素二值化方法,到使用基于多種角度和技術的基于優化的二值化方法,其中包括通過最小化量化誤差來近似全精度值、通過修改網絡損失函數來限制權重、和通過減小梯度誤差來學習離散參數。表 1 匯總了不同類別二值化方法。
3.1 樸素的二值神經網絡
樸素的二值神經網絡通過固定的二值化函數將神經網絡中的權重和激活直接量化為 1 位。然后在標準訓練方式中采用帶有 STE 的基本反向傳播策略來優化深度模型。
2016 年,Courbariaux 等人提出的 BinaryConnect [1] 開創了二值神經網絡的研究先河。BinaryConnect 將神經網絡內部的全精度權重轉換為 1 位的二值權重。
遵循網絡二值化的標準范式,Courbariaux 等人進一步介紹了 Binarized Neural Network,并詳細介紹了二值網絡的訓練和加速技巧。Smaragdis 等人也研究了網絡的二值化,并提出了適合于資源受限環境的 Bitwise Neural Network [2]。
3.2 基于優化的二值神經網絡
樸素的二值化方法具有節省計算資源的優點,因其以非常簡單的方式量化網絡。但是,由于不考慮二值化在前向和反向過程中的影響,這些方法不可避免地會在很多任務中造成精度損失。因此,為了減輕二值神經網絡中的精度損失,在過去的幾年中,大量基于優化的解決方案出現,相對于原始的解決方案,這些方案表現出了成功的提升。
3.2.1 最小化量化誤差
為了優化二值神經網絡,通常的做法是減少權重和激活的量化誤差。這是一種簡單的解決方案,類似于標準的量化機制,即量化參數應盡可能接近全精度參數,并期望二值神經網絡模型的性能接近全精度模型。
作為考慮量化誤差的早期研究,Rastegari 等人提出了二值權重網絡(BWN)和 XNOR-Net [3]。BWN 采用二值化權重和全精度激活的設置,而 XNOR-Net將權重和激活都二值化。
與先前的研究不同,該工作通過引入二值參數的比例因子很好地近似了浮點參數。具體來說,可以將 BWN 和 XNOR-Net 中的權重量化過程公式化為?,其中 α 是二值化權重??的尺度因子(浮點數),然后通過將量化誤差最小化確定最佳的比例因子和二值參數:
與直接使用 1 位(-1 / +1)相比,該解決方案的量化誤差要小得多,從而提高了網絡的推理精度。高階殘差量化(HORQ)為了進一步減少量化誤差采用了基于量化殘差的對于全精度激活的遞歸逼近,而不是 XNOR-Net 中使用的單步逼近,這進一步減小了網絡中的量化誤差 [4]。
3.2.2 改進網絡損失函數
僅關注某一層很難保證經過一系列層的最終輸出的精確性。因此,網絡的訓練需要能夠全局考慮二值化以及特定的任務目標。
最近,大量研究工作在探究在二值化帶來的限制下仍能引導網絡參數的學習過程的損失函數。通常,一般的二值化方案僅關注對浮點數的精確局部逼近,而忽略二值參數對全局損失的影響。
Hou 等人提出了損失感知二值化(LAB)[5],使用擬牛頓算法直接將與二值權重相關的總損失最小化。除了從量化角度考慮與任務相關的損失外,事實證明設計額外的量化感知損失項也是可行的。
Ding 等人總結了二值神經網絡中由前向二值化和反向傳播引起的問題,包括“退化”,“飽和”和“梯度不匹配”。用于訓練二值神經網絡的指導信息也可以從大規模的全精度模型中得出。Apprentice 方法使用預訓練的全精度大規模教師網絡訓練低精度的學生網絡 [6]。
3.2.3 降低梯度誤差
二值神經網絡的訓練仍然依賴于廣泛應用的 BP 算法。然而,sign 函數和 STE 生成的梯度之間存在明顯的梯度不匹配。此外,還存在以下問題:[-1,+1] 范圍之外的參數將不被更新。
這些問題很容易導致二值網絡優化不足,從而嚴重降低性能。直觀來看,精心設計的二值化的近似函數可以緩解反向傳播中的梯度失配問題。
Bi-Real 提供了一個自定義的 ApproxSign 函數來替換 sign 函數以進行反向傳播中的梯度計算 [7]。Binary Neural Networks +(BNN +)直接提出了對 sign 函數的導數的更好近似 [8],并引入了一個正則化函數來激勵二進制值周圍的可學習權重。
Gong 等人提出了一種可微分的軟量化(DSQ)方法 [9],用軟量化功能代替了傳統的量化功能:
Qin 等人提出的 IR-Net 用一個自適應誤差衰減估計器(EDE)來減少訓練中的梯度誤差 [10],它考慮了訓練過程不同階段的不同需求,并平衡了參數的更新能力和梯度誤差的降低。
3.3 二值神經網絡的高效計算架構
二值神經網絡最大的亮點是它們具有計算速度快,功耗低和內存占用少的優點,可以支持計算資源有限的通用硬件(包括 FPGA,ASIC,CPU 等)。
FPGA 是使用最廣泛的平臺,因為它們允許自定義數據路徑和調整設計。尤其是,FPGA 允許圍繞 XNOR-Bitcount 操作來進行優化。ASIC 也可以為二值神經網絡提供其所需的功率和計算效率,因為 ASIC 的硬件布局可以根據網絡結構進行設計。
為了使二值化算法在具有不同硬件環境的場景中更加實用,研究人員還致力于研究硬件友好的二值網絡。
我們在表 2 中的不同 FPGA 平臺上列出了不同的二值神經網絡實現的比較。可以看出,一些提出的方法雖然效率不高,可以達到與全精度模型相當的精度。我們必須指出,盡管在開發硬件友好算法方面取得了進步,但到目前為止,在速度和準確性方面,只有很少的二值模型能夠在如 ImageNet 之類的大型數據集上良好地運行。
3.4 二值神經網絡的應用
圖像分類是計算機視覺和機器學習中的一項基本任務。因此,大多數現有研究選擇在圖像分類任務上評估二值神經網絡。BNN 可以顯著加速和壓縮神經網絡模型,這對深度學習研究者具有極大的吸引力。BNN 中的權重和激活都是二進制數,從理論上講,它可使卷積運算速度提高 58 倍,并節省 32 倍的內存。因此,二值神經網絡也可以應用于其他常見任務,例如目標檢測和語義分割。
在已有工作中,Kung ?等人利用二值神經網絡對紅外圖像進行目標識別和圖像分類任務 [11]。在這項工作中,二值神經網絡在 MNIST 和 IR 數據集上的性能與全精度網絡相當,并且在 GPU 上實現了至少 4 倍的加速和三個數量級的節能。
BWBDN 通過統一預測和對象檢測過程來解決快速對象檢測算法 [18],它使用二值 VGG-16 網絡獲得了 62 倍的加速并節省了 32 倍的存儲空間,其中除最后一個卷積層外,所有其他層都進行了二值化。
Li 等人基于 RetinaNet 和更快的 R-CNN 生成了量化的目標檢測神經網絡 [12],并證明這些檢測器取得了令人滿意的性能。Leng 等人將 BNN 應用于不同的任務,并在用于圖像分類和目標檢測的卷積神經網絡以及用于語言模型的遞歸神經網絡上評估了它們的方法 [13]。
Zhuang 等人提出了一種稱為“組網”的“網絡分解”策略,該策略顯示出對不同任務(包括分類和語義分段)的強大概括,在準確性和節省大量計算方面均勝過以前最好的二值神經網絡 [14]。SeerNet 通過低位量化來考慮特征圖稀疏性,適用于一般的卷積神經網絡和任務 [15]。
研究人員還試圖通過模型二值化來增強神經網絡模型的魯棒性 [16]。二值模型通常被認為比全精度模型更健壯,因為它們被認為可以過濾部分輸入噪聲。
Lin 等人探索了量化對模型魯棒性的影響,他們表明,對參數的量化運算可在噪聲量較小時消除擾動影響,但對于一般 BNN,當噪聲幅度較大時,噪聲的影響會增大。
較差的魯棒性來自 BNN 前向傳播中的誤差放大效應,其中量化操作進一步擴大了由放大噪聲引起的距離。因此他們提出了防御性量化(DQ),以通過抑制噪聲放大效應并使各層的噪聲幅度較小來捍衛量化模型的對抗性示例。量化提高了魯棒性,而不是使它在 DQ 模型中變差,因此它們比全精度網絡更魯棒。
3.5 訓練二值神經網絡的技巧
由于二值化的高度離散性,訓練二值神經網絡經常需要引入特殊的訓練技術,以使訓練過程更加穩定并且收斂精度更高。在本節中,我們從網絡結構轉換,優化器和超參數選擇,梯度近似和漸近量化等方面總結了文獻中廣泛采用的通用高效二值神經網絡訓練方法。
3.5.1 網絡結構調整
模型二值化將激活和權重量化到 {1, +1}。這實際等效于對數據進行正則化,從而使二值化后的數據改變分布,調整網絡結構是使數據分布合理變化的有效方案。
簡單地對網絡中的層重新排序可以改善二值神經網絡的性能。牛津大學的研究人員指出,幾乎所有二值化研究都重新定位了池化層的位置。在卷積層之后立即使用池化層可以避免因二值化之后的最大池化而導致信息丟失。實驗表明,這種位置重排在準確性上有很大的提高。
除池化層外,Batch Normalization (BN) 層的位置還極大地影響了二值神經網絡訓練的穩定性。TSQ 和 HWGQ 在所有量化操作之前插入批處理歸一化層以糾正數據。經過這種變換,量化的輸入服從穩定的分布(有時接近高斯分布),因此均值和方差保持在合理范圍內,并且訓練過程變得更加平滑。
基于類似的思想,最近的一些工作沒有直接添加新的層,而是嘗試直接修改網絡結構。例如,Bi-Real 將每層卷積的輸入特征圖連接到后續網絡,這種方法實質上是通過結構轉換來調整數據分布的。
Mishra 等人設計了加寬低精度網絡(WRPN),該網絡增加了每層中的濾波器數量,從而改變了數據分布。二值集成神經網絡(BENN)利用集成方法來擬合基礎數據分布。Liu 等人提出了循環濾波器(CiFs)和循環二進制卷積(CBConv)來增強二值化卷積特征的表達能力,并且還提出了循環反向傳播(CBP)來訓練結構。BBG 甚至附加了門控殘差以補償其在轉發過程中的信息丟失。
3.5.2 優化器和超參數選擇
在訓練二值神經網絡時選擇適當的超參數和特定的優化器也可以提高 BNN 的性能。大多數現有的二值神經網絡模型都選擇了自適應學習速率優化器,例如 Adam。使用 Adam 可以使訓練過程更好,更快,并且二階導數的平滑系數尤其關鍵。
一些工作表明,如果使用不考慮歷史信息的固定學習率優化器,例如隨機梯度下降(SGD)算法,則需要采用更大 batch 的數據來提高性能。同時,批次歸一化動量系數的設置也很關鍵。通過比較不同動量系數下的精度結果,可以發現需要適當設置批歸一化的參數以適應二值化操作引起的抖動。
3.5.3 漸近量化
由于量化操作對訓練有負面影響,許多方法采用漸近量化策略,逐漸增加量化程度,以減少由參數二值化導致的性能損失。實踐表明,這種逐步量化方法對尋找最優解是有效的。例如,INQ 對參數進行分組,并逐漸增加參與量化的組的數量,以實現基于組的逐步量化。
Zhuang 等人引入了逐步擴展位寬的想法,該方法首先量化為較高的位寬,然后量化為較低的位寬。這種策略可以幫助避免由極低位量化引起的較大擾動,從而補償訓練過程中量化參數的梯度誤差。
3.5.4 梯度近似
在二值神經網絡訓練過程中,使用更平滑的估計器已成為一種常見的做法。由于直通估計器的使用,在反向傳播中通常存在梯度誤差。找到接近二值化函數的近似函數是一種簡單而實用的解決方案。
這成為最近研究中廣泛考慮的一種流行技術,其中根據不同的動機對近似函數進行了相應的調整,以替代引起梯度誤差的標準削波函數。為了設計適當的近似函數,一個直接的想法是將其形狀與二值化函數的形狀對齊。
評估對比
4.1 數據集和網絡結構
為了評估二值神經網絡算法,研究者一般選擇圖像分類任務對比其性能,并通常使用兩個常見的圖像數據集:CIFAR-10 和 ImageNet。CIFAR-10 是一個相對較小的數據集,其中包含 60,000 張具有 10 個類別的圖像,而 ImageNet 數據集是當前最受歡迎的圖像分類數據集。
對于其他任務,例如對象檢測和語義分段,PASCAL VOC 和 COCO 也用于評估二值神經網絡的性能。
PASCAL VOC 數據集源于 PASCAL 視覺目標檢測比賽,它用于評估計算機視覺領域中各種任務的模型的性能。許多出色的計算機視覺模型(包括分類,定位,檢測,分割,識別等)基于 PASCAL VOC 數據集,尤其是某些目標檢測模型。
COCO 是 Microsoft 團隊提供的用于圖像識別和目標檢測的數據集。它通過搜索 80 個對象類別和各種場景類型(例如 Flickr)來收集圖像。
為了研究二值神經網絡算法在不同網絡結構上的泛化能力,包括 VGG,AlexNet,ResNet-18,ResNet-20,ResNet-34 和 ResNet-50 等。將被二值化和測試。
這些模型為深度學習的發展做出了杰出貢獻,在I mageNet 分類任務中取得了重大突破。其中,VGG 網絡包含大量參數和卷積運算,因此對 VGG 進行二值化可以明顯顯示不同算法的推理速度。ResNet 當前是許多任務中最受歡迎的深度模型,具有足夠數量的層。
4.2 圖像分類任務
比較二值神經網絡在不同數據集上的性能,我們可以首先觀察到二值神經網絡可以在小數據集(例如 MNIST,CIFAR-10)上接近全精度神經網絡的性能,但是在大型數據集(例如 ImageNet)。這主要是因為對于大型數據集,二值化網絡缺乏足夠的能力來捕獲數據之間的較大差異。
這一事實表明,仍然需要付出巨大的努力來尋求精巧的二值化和優化解決方案,以設計出令人滿意的二值神經網絡。
從表 3 和表 4 可以得出結論:神經網絡對激活的二值化更為敏感。當僅將權重量化為 1 位并將激活保持為全精度時,性能下降的幅度較小。
以 ImageNet 數據集上 ABC-Net 中的 ResNet-18 為例,對權重進行二值化后,精度損失僅約 7%,而對激活進行二值化后,精度損失又約 20%。
因此,在設計二進制網絡時,消除激活二進制化的影響通常更為重要,這成為 RAD 和 PACT 等研究的主要動機。在對激活的分布添加合理的正則化之后,將減少二值化對激活造成的有害影響,隨后自然提高了準確性。
此外,二值神經網絡的魯棒性與其結構高度相關。一些特定的結構模式對二值化很友好,例如 Bi-Real 提出的連接結構和在 WRPN 中提出的更寬的塊。Bi-Real 通過連接結構將全精度特征圖直接傳遞到下層,從而獲得了接近全精度模型的性能。使用 3 倍的結構,ResNet-34 中的精度損失低于 1%。
實際上,他們實質上所做的是使信息盡可能地通過整個網絡。盡管結構修改可能會增加計算量,但受益于 XNOR-Bitcount 操作,它們仍然可以得到顯著的加速。
基于優化的不同方法代表對 BNN 的不同理解。在旨在最小化量化誤差的論文中,提出了許多直接降低量化誤差的方法,以使二元神經網絡近似于高精度神經網絡。這些論文認為二進制參數越接近全精度參數,BNN 的性能越好。另一個想法是改善損失函數。這種類型的方法通過修改損失函數,使 BNN 中的參數分布對二值化操作友好。
此外,BinaryConnect 中提出的 STE 粗糙,會導致一些問題,例如梯度不匹配。因此,許多最近的工作都使用諸如 tanh 函數之類的平滑過渡來減少梯度損失,并且使用更平滑的估計器成為一種常見的做法。
我們認為二值神經網絡不應該被簡單地視為全精度神經網絡的近似,而需要針對 BNN 的特殊特性進行更具體的設計。實際上,一些最近的工作基本上是在此基礎上的,例如 XNOR-Net ++,CBCN,Self-Binarizing Networks,BENN 等。
結果表明,考慮到 BNN 特性的特殊設計方法可以獲得更好的性能。研究者證明了盡管 BNN 與全精度模型共享相同的網絡體系結構,但仍需要不同的優化。值得一提的是,準確性不是 BNN 的唯一標準,通用性是衡量一種方法是否可以在實踐中使用的另一個關鍵。
現存論文中提出的一些方法非常通用,例如比例因子,反向平滑近似,附加結構連接等。由于這些方法實施簡單且耦合低,所以這些方法是通用的。因此,它們成為了提高 BNN 性能的常見方法。一些方法通過設計或學習精細的量化器來提高二值神經網絡的性能。這種量化器通常具有更強的信息保存能力。
但是,我們必須指出,其中一些需要復雜的計算甚至是多階段的訓練流水線,這有時對硬件實現不友好且不易復現。這意味著在實際部署中很難通過這種量化器有效地提高速度。因此,在不考慮加速實現的情況下單純追求高精度是沒有實際意義的。精度和速度之間的平衡也是二值化研究的重要標準,應始終牢記。
4.3 其他任務
從表 5 和表 6 中,我們可以看到,現有的二值化算法在目標檢測任務上取得了令人鼓舞的進展,同時在實際系統中部署時帶來了顯著的加速。但也應注意,二進制模型仍然面臨巨大挑戰,尤其是當激活量化為 1 位時。
對于語義分割任務,如表 6 所示,最近的方法僅使用 1 位就實現了高精度,這幾乎與全精度模型相同。但是尚不清楚它是如何工作的,仍然需要驗證該方法的實際速度。
在這些結果中,我們發現盡管二值神經網絡在分類任務上表現良好,但在其他任務上仍然存在無法接受的損失。這使得為分類任務而設計的二值神經網絡很難直接應用于其他任務,例如對象檢測和語義分割。
在分類任務中,網絡更加關注全局特征,而忽略了二值化導致的局部特征損失。但是,局部特征在其他任務中更為重要。因此,當為其他任務設計二值神經網絡時,需要更加關注特征圖的局部特征。
在這些結果中,我們發現盡管二值神經網絡在分類任務上表現良好,但在其他任務上仍然存在不可接受的精度損失。這使得為分類任務而設計的二值神經網絡很難直接應用于其他任務,例如目標檢測和語義分割。在分類任務中,網絡更加關注全局特征,而忽略了二值化導致的局部特征損失。但是,局部特征在其他任務中更為重要。因此,在設計用于其他任務的二值神經網絡時,需要更加關注特征圖的局部特征。
未來趨勢與結論
基于 1 位表示的二值神經網絡雖然具有壓縮存儲和加快推理速度的優點,但是卻存在性能下降的問題。正如我們在本次調查中總結的那樣,為了彌補二進制模型和全精度模型之間的差距,近年來出現了各種解決方案,可以將其粗略地分類為樸素的方案和優化的方案。
我們的分析表明,使用不同方法優化的二值網絡可以保證更好的性能。這些方法主要聚焦在如何在前向傳播中保留信息以及如何在反向傳播中優化網絡。研究表明,在前向和反向傳播中保留各種信息是訓練高性能 BNN 的關鍵因素之一。
盡管已經取得了很大的進步,但是用于神經網絡二值化的現有技術仍然面臨性能損失的問題,尤其是對于大型網絡和數據集而言。主要原因可能包括:1)目前尚不清楚什么網絡結構適合于二值化,即經過二值化后,也可以保留通過網絡的信息;2)即使我們有用于二值化的梯度估計器或近似函數,在離散空間中優化二值網絡也是一個難題。我們相信將來會出現更多的實踐和理論研究來解決這兩個問題。
此外,隨著移動設備在現實世界中的廣泛使用,將出現更多針對這些應用進行的研究工作,以實現不同的任務以及模型在不同硬件上的部署。例如,Wu 等人考慮到人臉識別的開放集特征,提出了一種新穎的旋轉一致性損失,使用 4 位模型實現了與全精度模型相當的性能。因此,不同的研究課題將會出現,例如針對不同任務定制或轉換二值網絡,設計硬件友好或能耗較低的二值化算法等。
除了權重和激活之外,最近還出現了量化包括梯度在內的反向傳播過程以加速整個訓練過程的新研究點。Zhu 等人提出的統一框架從準確性和速度方面證明了神經網絡的 8 位訓練的可能性 [17]。為加快訓練而進行的二值化反向傳播計算的可行性值得進一步探討。
最后,對可解釋機器學習的研究表明,神經網絡的推理中存在關鍵路徑,并且不同的網絡結構遵循不同的模式。因此,根據層的重要性設計混合精度策略,并設計出對二值神經網絡的信息流友好的新網絡結構,也具有重要意義。
Reference
[1] Courbariaux, Matthieu, Yoshua Bengio, and Jean-Pierre David. "Binaryconnect: Training deep neural networks with binary weights during propagations." NeurIPS. 2015.
[2] Kim M, Smaragdis P. Bitwise neural networks[J]. arXiv preprint arXiv:1601.06071, 2016.
[3] Rastegari M, Ordonez V, Redmon J, et al. Xnor-net: Imagenet classification using binary convolutional neural networks[C]//ECCV. Springer, Cham, 2016: 525-542.
[4] Li Z, Ni B, Zhang W, et al. Performance guaranteed network acceleration via high-order residual quantization[C]//IEEE ICVV. 2017: 2584-2592.
[5] Hou L, Yao Q, Kwok J T. Loss-aware binarization of deep networks[J]. arXiv preprint arXiv:1611.01600, 2016.
[6] Mishra A, Marr D. Apprentice: Using knowledge distillation techniques to improve low-precision network accuracy[J]. arXiv preprint arXiv:1711.05852, 2017.
[7] Liu Z, Wu B, Luo W, et al. Bi-real net: Enhancing the performance of 1-bit cnns with improved representational capability and advanced training algorithm[C]// ECCV. 2018: 722-737.
[8] Darabi S, Belbahri M, Courbariaux M, et al. BNN+: Improved binary network training[J]. arXiv preprint arXiv:1812.11800, 2018.
[9] Gong R, Liu X, Jiang S, et al. Differentiable soft quantization: Bridging full-precision and low-bit neural networks[C]// IEEE ICVV. 2019: 4852-4861.
[10] Qin H, Gong R, Liu X, et al. IR-Net: Forward and Backward Information Retention for Highly Accurate Binary Neural Networks[J]. arXiv preprint arXiv:1909.10788, 2019.
[11] Kung J, Zhang D, Van der Wal G, et al. Efficient object detection using embedded binarized neural networks[J]. Journal of Signal Processing Systems, 2018, 90(6): 877-890.
[12] Li R, Wang Y, Liang F, et al. Fully quantized network for object detection[C]//IEEE CVPR. 2019: 2810-2819.
[13] Leng C, Dou Z, Li H, et al. Extremely low bit neural network: Squeeze the last bit out with admm[C]//AAAI. 2018.
[14] Zhuang B, Shen C, Tan M, et al. Structured binary neural networks for accurate image classification and semantic segmentation[C]//IEEE CVPR. 2019: 413-422.
[15] Cao S, Ma L, Xiao W, et al. Seernet: Predicting convolutional neural network feature-map sparsity through low-bit quantization[C]//IEEE CVPR. 2019: 11216-11225.
[16] Lin J, Gan C, Han S. Defensive quantization: When efficiency meets robustness[J]. arXiv preprint arXiv:1904.08444, 2019.
[17] Zhu F, Gong R, Yu F, et al. Towards Unified INT8 Training for Convolutional Neural Network[J]. arXiv preprint arXiv:1912.12607, 2019.
[18] Sun S, Yin Y, Wang X, et al. Fast object detection based on binary deep convolution neural networks[J]. CAAI Transactions on Intelligence Technology, 2018, 3(4): 191-197.
點擊以下標題查看更多往期內容:?
變分推斷(Variational Inference)最新進展簡述
變分自編碼器VAE:原來是這么一回事
圖神經網絡三劍客:GCN、GAT與GraphSAGE
如何快速理解馬爾科夫鏈蒙特卡洛法?
深度學習預訓練模型可解釋性概覽
ICLR 2020:從去噪自編碼器到生成模型
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的二值神经网络(Binary Neural Networks)最新综述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 军是什么结构?
- 下一篇: 加快手机直连卫星落地,中国联通完成国内运