神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索——可微分二值搜索(BATS)

本文為三星發(fā)表在 ECCV 2020 的基于二值網(wǎng)絡(luò)搜索的 NAS 工作(BATS),論文題目:BATS: Binary ArchitecTure Search。通過(guò)結(jié)合神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索,大大縮小了二值模型與實(shí)值之間的精度差距,并在CIFAR 和 ImageNet 數(shù)據(jù)集上的實(shí)驗(yàn)和分析證明了所提出的方法的有效性。

摘要

本文提出了二進(jìn)制架構(gòu)搜索(BATS),這是一個(gè)通過(guò)神經(jīng)架構(gòu)搜索(NAS)大幅縮小二進(jìn)制神經(jīng)網(wǎng)絡(luò)與其實(shí)值對(duì)應(yīng)的精度差距的框架。實(shí)驗(yàn)表明,直接將NAS 應(yīng)用于二進(jìn)制領(lǐng)域的結(jié)果非常糟糕。為了緩解這種情況,本文描述了將 NAS 成功應(yīng)用于二進(jìn)制領(lǐng)域的 3 個(gè)關(guān)鍵要素:

  • (1) 引入并設(shè)計(jì)了一個(gè)新的面向二進(jìn)制的搜索空間。
  • (2) 提出了一個(gè)新的控制和穩(wěn)定搜索拓?fù)浣Y(jié)構(gòu)的機(jī)制
  • (3) 提出并驗(yàn)證了一系列新的二進(jìn)制網(wǎng)絡(luò)搜索策略,以實(shí)現(xiàn)更快的收斂和更低的搜索時(shí)間

實(shí)驗(yàn)重新結(jié)果證明了所提出的方法的有效性和直接在二進(jìn)制空間中搜索的必要性。并且,在CIFAR10、CIFAR100 和 ImageNet 數(shù)據(jù)集上設(shè)計(jì)了 SOTA 的二元神經(jīng)網(wǎng)絡(luò)架構(gòu)。

方法

搜索空間重定義

標(biāo)準(zhǔn) DARTS 搜索空間的問(wèn)題

標(biāo)準(zhǔn) DARTS 搜索空間下搜索得到的網(wǎng)絡(luò)結(jié)構(gòu)二值化訓(xùn)練是無(wú)法收斂的,原因如下:

  • 深度可分離卷積(SepConv)二值化難。首先,實(shí)數(shù)深度可分離卷積本身就是普通標(biāo)準(zhǔn)卷積的“壓縮”版本,其次,經(jīng)過(guò)二值化后進(jìn)一步對(duì)深度可分離卷積進(jìn)行了近似操作。因此,深度可分離卷積二值化存在“雙重近似問(wèn)題”。
  • 1x1卷積 & bottlneck 塊 二值化難。因?yàn)?strong>關(guān)鍵的FeatureMap信息,由于1x1卷積權(quán)重值少和bottlneck所處的重要位置被二值化后無(wú)法有效傳遞下去。
  • DilConv & SepConv 二值化難。標(biāo)準(zhǔn)的 DARTS 搜索空間定義的 DilConvSepConv 操作包含的卷積序列個(gè)數(shù)不同。 DilConv包含兩個(gè)卷積序列,SepConv 包含四個(gè)卷積序列。導(dǎo)致訓(xùn)練過(guò)程中兩者的收斂速度不同,并且會(huì)因此放大二值化過(guò)程中的梯度衰減現(xiàn)象(論文是這樣描述的,不過(guò)具體原因不清楚)
二值神經(jīng)網(wǎng)絡(luò)搜索空間

二值神經(jīng)網(wǎng)絡(luò)搜索空間與標(biāo)準(zhǔn) DARTS 搜索空間對(duì)比如下圖所示:

二值神經(jīng)網(wǎng)絡(luò)搜索空間 vs. 標(biāo)準(zhǔn) DARTS 搜索空間

主要存在以下幾方面的修改:

  • 刪除了 1x1 卷積
  • 重新分配了深度可分離卷積中 Group Size 與 Channel 的關(guān)系。標(biāo)準(zhǔn)的深度可分離卷積中 #groups = #in_channel。本文中,CIFAR數(shù)據(jù)集上預(yù)定義Group卷積為 12 Groups x 3 Channels = 36 Channels;ImageNet 數(shù)據(jù)集上預(yù)定義Group卷積為 16 Groups x 5 Channels = 80 Channels
  • 每個(gè)opetation只包含一個(gè)卷積序列,便于學(xué)習(xí)和實(shí)現(xiàn)低延時(shí)。
  • 每個(gè)卷積操作都加上 Skip-Connect 操作,有利于保持FeatureMap信息的傳遞和保留。

搜索的正則化和穩(wěn)定性

DARTS 搜索的不穩(wěn)定分析

盡管 DARTS 取得了成功,但根據(jù)隨機(jī)種子的不同,DARTS 的精度在運(yùn)行之間可能會(huì)有很大的差異。事實(shí)上,在有些情況下,隨機(jī)搜索獲得的架構(gòu)甚至比搜索得到的架構(gòu)通過(guò)表現(xiàn)的更好。此外,特別是當(dāng)訓(xùn)練時(shí)間較長(zhǎng)或在較大的數(shù)據(jù)集上進(jìn)行搜索時(shí),DARTS可能會(huì)出現(xiàn) Skip-Connect 富集的問(wèn)題。常用的解決方法包括:

  • 在架構(gòu)搜索過(guò)程中對(duì)跳連應(yīng)用dropout
  • 通過(guò)保留每個(gè)單元最多2個(gè)跳連作為后處理步驟,簡(jiǎn)單地促成概率第二高的操作

但是,這種機(jī)制仍然會(huì)導(dǎo)致大量的隨機(jī)性,而且并不總是有效的:例如,它可能會(huì)用池化層(沒(méi)有學(xué)習(xí)能力)取代跳過(guò)連接,或者搜索的架構(gòu)跳連包含的太少。當(dāng)搜索是在二進(jìn)制域中直截了當(dāng)?shù)剡M(jìn)行時(shí),這樣的問(wèn)題就更加明顯了。鑒于在搜索過(guò)程中,節(jié)點(diǎn) j 的輸入是通過(guò)對(duì)所有輸入邊的加權(quán)和來(lái)獲得的,為了最大限度地提高信息流,架構(gòu)參數(shù) α 傾向于收斂到相同的值,使得最終架構(gòu)的選擇存在問(wèn)題,并且容易受到噪聲的影響,導(dǎo)致拓?fù)浣Y(jié)構(gòu)的性能可能比隨機(jī)選擇更差。此外,搜索高度偏向于實(shí)值操作(池化和跳連),使得搜索在早期階段可以提供更大的收益。

溫度正則(temperature regularization)

為了緩解上述問(wèn)題,并使得搜索程序更具辨別力,迫使其做出 "harder" 的決策,本文借鑒知識(shí)蒸餾的思路,建議使用溫度因子 T<1 的正則策略,定義從節(jié)點(diǎn)i到j(luò)的流程如下公式所示:

f_{i, j}\left(\mathbf{x}_{i}\right)=\sum_{o \in O} \frac{\exp \left(\alpha_{i, j}^{o} / T\right)}{\sum_{o^{\prime} \in O} \exp \left(\alpha_{i, j}^{o^{\prime}} / T\right)} \cdot o\left(\mathbf{x}_{i}\right)

采用溫度正則方法可以使架構(gòu)參數(shù)的分布不那么均勻,更加尖銳(即更有辨別力)。在搜索過(guò)程中,由于信息流是使用加權(quán)進(jìn)行聚合的,所以網(wǎng)絡(luò)不能從所有信息流中提取信息,來(lái)平等地(或接近平等地)依賴所有可能的操作。相反,為了確保收斂到一個(gè)滿意的解決方案,它必須將最高的概率分配給一個(gè)非0操作的路徑,由一個(gè)次元溫度(T <1)強(qiáng)制執(zhí)行。這種行為也更接近評(píng)估過(guò)程,從而減少搜索(網(wǎng)絡(luò)從所有路徑中提取信息)和評(píng)估之間的性能差異。

溫度正則的作用

上圖中,圖1描述了給定單元在不同溫度下的架構(gòu)參數(shù)分布。對(duì)于低溫(T=0.2),網(wǎng)絡(luò)被迫做出更多的判別性決策,這反過(guò)來(lái)又使它減少了對(duì) Skip-Connect 的依賴。圖2 進(jìn)一步證實(shí)了這一點(diǎn),它描述了在不同溫度下搜索過(guò)程結(jié)束時(shí),在 Normal Cell 中各操作被選擇的概率。

二值搜索策略

盡管二值網(wǎng)絡(luò)具有加速和節(jié)省空間的特點(diǎn),但與實(shí)值網(wǎng)絡(luò)相比,二值網(wǎng)絡(luò)的訓(xùn)練仍然比較困難,其方法通常需要一個(gè)預(yù)訓(xùn)練階段或仔細(xì)調(diào)整超參數(shù)和優(yōu)化器。對(duì)于搜索二值網(wǎng)絡(luò)的情況,直接實(shí)現(xiàn)二值權(quán)重和激活的架構(gòu)搜索,在大多數(shù)嘗試中,要么導(dǎo)致退化的拓?fù)浣Y(jié)構(gòu),要么訓(xùn)練簡(jiǎn)單地收斂到極低的精度值。此外,直接在實(shí)域中執(zhí)行搜索,然后對(duì)網(wǎng)絡(luò)進(jìn)行二值化是次優(yōu)的。

為了緩解這個(gè)問(wèn)題,本文提出了一個(gè)兩階段的優(yōu)化過(guò)程,在搜索過(guò)程中,激活是二值化的,而權(quán)重是實(shí)值化的,一旦發(fā)現(xiàn)了最佳架構(gòu),我們?cè)谠u(píng)估階段也要對(duì)權(quán)重進(jìn)行二值化?!靖唧w地說(shuō),在評(píng)估過(guò)程中,首先從頭開(kāi)始訓(xùn)練一個(gè)具有二值激活和實(shí)值權(quán)重的新網(wǎng)絡(luò),然后對(duì)權(quán)重進(jìn)行二值化。最后,在測(cè)試集上對(duì)完全二值化的網(wǎng)絡(luò)進(jìn)行評(píng)估?!窟@是因?yàn)閷?shí)值網(wǎng)絡(luò)的權(quán)重通??梢员欢祷?,而不會(huì)顯著降低精度,但激活的二值化就不一樣了,由于可能的狀態(tài)數(shù)量有限,網(wǎng)絡(luò)內(nèi)部的信息流急劇下降。因此,本文提出將問(wèn)題有效地分成兩個(gè)子問(wèn)題:權(quán)重和特征二值化,在搜索過(guò)程中,嘗試解決最難的一個(gè)問(wèn)題,即激活的二值化。一旦完成了這一點(diǎn),權(quán)重的二值化以下總是會(huì)導(dǎo)致精度的小幅下降(~1%)。

實(shí)驗(yàn)

消融實(shí)驗(yàn)

消融實(shí)驗(yàn)

二值網(wǎng)絡(luò)架構(gòu)

二值網(wǎng)絡(luò)架構(gòu)可視化

CIFAR

CIFAR10和CIFAR100的實(shí)驗(yàn)結(jié)果

ImageNet

ImageNet實(shí)驗(yàn)結(jié)果-1
ImageNet實(shí)驗(yàn)結(jié)果-2
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容