自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

新聞
這篇來自 CMU 和 HKUST 科研團(tuán)隊(duì)的 ICML 論文,僅通過調(diào)整訓(xùn)練算法,在 ImageNet 數(shù)據(jù)集上取得了比之前的 SOTA BNN 網(wǎng)絡(luò) ReActNet 高1.1% 的分類精度。

  [[413220]]

二值化網(wǎng)絡(luò)(BNN)是一種網(wǎng)絡(luò)壓縮方法,把原本需要 32 bit 表示的神經(jīng)網(wǎng)絡(luò)參數(shù)值和激活值都二值化到只需要用 1 bit 表示,即 -1/+1 表示。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

這種極度的壓縮方法在帶來優(yōu)越的壓縮性能的同時(shí),會(huì)造成網(wǎng)絡(luò)精度的下降。

在今年的 ICML 會(huì)議中,一篇來自 CMU 和 HKUST 科研團(tuán)隊(duì)的論文僅通過調(diào)整訓(xùn)練算法,在 ImageNet 數(shù)據(jù)集上取得了比之前的 SOTA BNN 網(wǎng)絡(luò) ReActNet 高 1.1% 的分類精度,最終的 top-1 accuracy 達(dá)到 70.5%,超過了所有同等量級的二值化網(wǎng)絡(luò),如下圖所示。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

這篇論文從二值化網(wǎng)絡(luò)訓(xùn)練過程中的常見問題切入,一步步給出對應(yīng)的解決方案,最后收斂到了一個(gè)實(shí)用化的訓(xùn)練策略。接下來就跟著這篇論文一起看看二值化網(wǎng)絡(luò)(BNN)應(yīng)該如何優(yōu)化。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案
  • 論文地址:https://arxiv.org/abs/2106.11309
  • 代碼地址:https://github.com/liuzechun/AdamBNN

首先,BNN 的優(yōu)化器應(yīng)該如何選取?

可以看到,BNN 的優(yōu)化曲面明顯不同于實(shí)數(shù)值網(wǎng)絡(luò),如下圖所示。實(shí)數(shù)值網(wǎng)絡(luò)在局部最小值附近有更加平滑的曲面,因此實(shí)數(shù)值網(wǎng)絡(luò)也更容易泛化到測試集。相比而言,BNN 的優(yōu)化曲面更陡,因此泛化性差并且優(yōu)化難度大。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

這個(gè)明顯的優(yōu)化區(qū)別也導(dǎo)致了直接沿用實(shí)數(shù)值網(wǎng)絡(luò)的 optimizer 在 BNN 上表現(xiàn)效果并不好。目前實(shí)數(shù)值分類網(wǎng)絡(luò)的通用優(yōu)化器都是 SGD,該論文的對比實(shí)驗(yàn)也發(fā)現(xiàn),對于實(shí)數(shù)值網(wǎng)絡(luò)而言,SGD 的性能總是優(yōu)于自適應(yīng)優(yōu)化器 Adam。但對于 BNN 而言,SGD 的性能卻不如 Adam,如下圖所示。這就引發(fā)了一個(gè)問題:為什么 SGD 在實(shí)數(shù)值分類網(wǎng)絡(luò)中是默認(rèn)的通用優(yōu)化器,卻在 BNN 優(yōu)化中輸給了 Adam 呢?

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

這就要從 BNN 的特性說起。因?yàn)?BNN 中的參數(shù)值(weight)和激活值(activation)都是二值化的,這就需要用 sign 函數(shù)來把實(shí)數(shù)值的參數(shù)和激活值變成二值化。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

而這個(gè) Sign 函數(shù)是不可導(dǎo)的,所以常規(guī)做法就是對于二值化的激活值用 Clip 函數(shù)的導(dǎo)數(shù)擬合 Sign 函數(shù)的導(dǎo)數(shù)。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

這樣做有一個(gè)問題就是,當(dāng)實(shí)數(shù)值的激活值超出了 [-1,1] 的范圍,稱為激活值過飽和(activation saturation),對應(yīng)的導(dǎo)數(shù)值就會(huì)變?yōu)?0。從而導(dǎo)致了臭名昭著的梯度消失(gradient vanishing)問題。從下圖的可視化結(jié)果中可以看出,網(wǎng)絡(luò)內(nèi)部的激活值超出[-1, 1] 范圍十分常見,所以二值化優(yōu)化里的一個(gè)重要問題就是由于激活值過飽和導(dǎo)致的梯度消失,使得參數(shù)得不到充分的梯度估計(jì)來學(xué)習(xí),從而容易困局部次優(yōu)解里。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

而比較 SGD 而言,Adam 優(yōu)化的二值化網(wǎng)絡(luò)中激活值過飽和問題和梯度消失問題都有所緩解。這也是 Adam 在 BNN 上效果優(yōu)于 SGD 的原因。那么為什么 Adam 就能緩解梯度消失的問題呢?這篇論文通過一個(gè)構(gòu)造的超簡二維二值網(wǎng)絡(luò)分析來分析 Adam 和 SGD 優(yōu)化過程中的軌跡:

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

圖中展示了用兩個(gè)二元節(jié)點(diǎn)構(gòu)建的網(wǎng)絡(luò)的優(yōu)化曲面。(a) 前向傳遞中,由于二值化函數(shù) Sign 的存在,優(yōu)化曲面是離散的,(b) 而反向傳播中,由于用了 Clip(−1, x, 1)的導(dǎo)數(shù)近似 Sign(x)的導(dǎo)數(shù),所以實(shí)際優(yōu)化的空間是由 Clip(−1, x, 1)函數(shù)組成的, (c) 從實(shí)際的優(yōu)化的軌跡可以看出,相比 SGD,Adam 優(yōu)化器更能克服零梯度的局部最優(yōu)解,(d) 實(shí)際優(yōu)化軌跡的頂視圖。

在圖 (b) 所示中,反向梯度計(jì)算的時(shí)候,只有當(dāng) X 和 Y 方向都落在[-1, 1] 的范圍內(nèi)的時(shí)候,才在兩個(gè)方向都有梯度,而在這個(gè)區(qū)域之外的區(qū)域,至少有一個(gè)方向梯度消失。

而從下式的 SGD 與 Adam 的優(yōu)化方式比較中可以看出,SGD 的優(yōu)化方式只計(jì)算 first moment,即梯度的平均值,遇到梯度消失問題,對相應(yīng)的參數(shù)的更新值下降極快。而在 Adam 中,Adam 會(huì)累加 second moment,即梯度的二次方的平均值,從而在梯度消失的方向,對應(yīng)放大學(xué)習(xí)率,增大梯度消失方向的參數(shù)更新值。這樣能幫助網(wǎng)絡(luò)越過局部的零梯度區(qū)域達(dá)到更好的解空間。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

進(jìn)一步,這篇論文展示了一個(gè)很有趣的現(xiàn)象,在優(yōu)化好的 BNN 中,網(wǎng)絡(luò)內(nèi)部存儲的用于幫助優(yōu)化的實(shí)數(shù)值參數(shù)呈現(xiàn)一個(gè)有規(guī)律的分布:

[[413223]]

分布分為三個(gè)峰,分別在 0 附近,-1 附近和 1 附近。而且 Adam 優(yōu)化的 BNN 中實(shí)數(shù)值參數(shù)接近 - 1 和 1 的比較多。這個(gè)特殊的分布現(xiàn)象就要從 BNN 中實(shí)數(shù)值參數(shù)的作用和物理意義講起。BNN 中,由于二值化參數(shù)無法直接被數(shù)量級為 10^ -4 左右大小的導(dǎo)數(shù)更新,所以需要存儲實(shí)數(shù)值參數(shù),來積累這些很小的導(dǎo)數(shù)值,然后在每次正向計(jì)算 loss 的時(shí)候取實(shí)數(shù)值參數(shù)的 Sign 作為二值化參數(shù),這樣計(jì)算出來的 loss 和導(dǎo)數(shù)再更新實(shí)數(shù)值參數(shù),如下圖所示。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

所以,當(dāng)這些實(shí)數(shù)值參數(shù)靠近零值時(shí),它們很容易通過梯度更新就改變符號,導(dǎo)致對應(yīng)的二值化參數(shù)容易跳變。而當(dāng)實(shí)值參數(shù)的絕對值較高時(shí),就需要累加更多往相反方向的梯度,才能使得對應(yīng)的二值參數(shù)改變符號。所以正如 (Helwegen et al., 2019) 中提到的,實(shí)值參數(shù)的絕對值的物理意義可以視作其對應(yīng)二值參數(shù)的置信度。實(shí)值參數(shù)的絕對值越大,對應(yīng)二值參數(shù)置信度更高,更不容易改變符號。從這個(gè)角度來看,Adam 學(xué)習(xí)的網(wǎng)絡(luò)比 SGD 實(shí)值網(wǎng)絡(luò)更有置信度,也側(cè)面印證了 Adam 對于 BNN 而言是更優(yōu)的 optimizer。

當(dāng)然,實(shí)值參數(shù)的絕對值代表了其對應(yīng)二值參數(shù)的置信度這個(gè)推論就引發(fā)了另一個(gè)思考:應(yīng)不應(yīng)該在 BNN 中對實(shí)值參數(shù)施加 weight decay?

在實(shí)數(shù)值網(wǎng)絡(luò)中,對參數(shù)施加 weight decay 是為了控制參數(shù)的大小,防止過擬合。而在二值化網(wǎng)絡(luò)中,參與網(wǎng)絡(luò)計(jì)算的是實(shí)數(shù)值參數(shù)的符號,所以加在實(shí)數(shù)值參數(shù)上的 weight decay 并不會(huì)影響二值化參數(shù)的大小,這也就意味著,weight decay 在二值化網(wǎng)絡(luò)中的作用也需要重新思考。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

這篇論文發(fā)現(xiàn),二值化網(wǎng)絡(luò)中使用 weight decay 會(huì)帶來一個(gè)困境:高 weight decay 會(huì)降低實(shí)值參數(shù)的大小,進(jìn)而導(dǎo)致二值參數(shù)易變符號且不穩(wěn)定。而低 weight decay 或者不加 weight decay 會(huì)使得二值參數(shù)將趨向于保持當(dāng)前狀態(tài),而導(dǎo)致網(wǎng)絡(luò)容易依賴初始值。

為了量化穩(wěn)定性和初始值依賴性,該論文引入了兩個(gè)指標(biāo):用于衡量優(yōu)化穩(wěn)定性的參數(shù)翻轉(zhuǎn)比率(FF-ratio),以及用于衡量對初始化的依賴性的初始值相關(guān)度 (C2I-ratio)。兩者的公式如下,

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

FF-ratio 計(jì)算了在第 t 次迭代更新后多少參數(shù)改變了它們的符號,而 C2I -ratio 計(jì)算了多少參數(shù)與其初始值符號不同。

從下表的量化分析不同的 weight decay 對網(wǎng)絡(luò)穩(wěn)定性和初始值依賴性的結(jié)果中可以看出,隨著 weight decay 的增加,F(xiàn)F-ratio 與 C2I-ratio 的變化趨勢呈負(fù)相關(guān),并且 FF-ratio 呈指數(shù)增加,而 C2I-ratio 呈線性下降。這表明一些參數(shù)值的來回跳變對最終參數(shù)沒有貢獻(xiàn),而只會(huì)影響訓(xùn)練穩(wěn)定性。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

那么 weight decay 帶來的穩(wěn)定性和初始值依賴性的兩難困境有沒有方法解離呢? 該論文發(fā)現(xiàn)最近在 ReActNet (Liu et al., 2020) 和 Real-to-Binary Network (Brais Martinez, 2020) 中提出的兩階段訓(xùn)練法配合合適的 weight-decay 策略能很好地化解這個(gè)困境。這個(gè)策略是,第一階段訓(xùn)練中,只對激活值進(jìn)行二值化,不二值化參數(shù)。由于實(shí)數(shù)值參數(shù)不必?fù)?dān)心二值化參數(shù)跳變的問題,可以添加 weight decay 來減小初始值依賴。隨后在第二階段訓(xùn)練中,二值化激活值和參數(shù),同時(shí)用來自第一步訓(xùn)練好的參數(shù)初始化二值網(wǎng)絡(luò)中的實(shí)值參數(shù),不施加 weight decay。這樣可以提高穩(wěn)定性并利用預(yù)訓(xùn)練的良好初始化減小初始值依賴帶來的弊端。通過觀察 FF-ratio 和 C2I-ratio,該論文得出結(jié)論,第一階段使用 5e-6 的 weight-decay,第二階段不施加 weight-decay 效果最優(yōu)。

該論文綜合所有分析得出的訓(xùn)練策略,在用相同的網(wǎng)絡(luò)結(jié)構(gòu)的情況下,取得了比 state-of-the-art ReActNet 超出 1.1% 的結(jié)果。實(shí)驗(yàn)結(jié)果如下表所示。

二值化網(wǎng)絡(luò)如何訓(xùn)練?這篇ICML 2021論文給你答案

更多的分析和結(jié)果可以參考原論文。

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心Pro
相關(guān)推薦

2023-05-11 11:53:35

模型評測

2023-09-22 07:52:16

HDMI 2.14K HDR游戲

2017-10-23 06:36:27

生成對抗網(wǎng)絡(luò)架構(gòu)訓(xùn)練技巧

2018-12-14 08:02:55

神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)二值模型

2019-12-05 14:24:47

數(shù)字認(rèn)證電子認(rèn)證CA

2020-12-28 10:28:02

算法應(yīng)用技術(shù)

2021-07-20 17:52:21

谷歌Android開發(fā)者

2020-04-19 21:10:11

機(jī)器學(xué)習(xí)病毒數(shù)據(jù)

2023-02-01 13:29:46

機(jī)器學(xué)習(xí)

2017-03-22 12:13:36

AI神經(jīng)網(wǎng)絡(luò)模型算法

2019-05-16 15:54:59

人工智能AI

2017-10-25 14:08:10

數(shù)據(jù)庫MySQL原理及優(yōu)化

2023-09-05 14:43:15

2011-12-31 15:57:21

Java

2021-07-26 05:42:26

人工智能AI機(jī)器學(xué)習(xí)

2020-08-25 13:22:07

數(shù)據(jù)可視化

2022-07-12 10:37:08

阿里巴巴達(dá)摩院機(jī)器學(xué)習(xí)

2019-11-08 14:29:31

HUAWEI

2018-04-27 14:54:23

2016-06-14 19:31:58

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號