999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

二值卷積神經(jīng)網(wǎng)絡(luò)綜述

2021-07-07 10:17:52丁文銳劉春蕾李越張寶昌
航空學(xué)報(bào) 2021年6期
關(guān)鍵詞:表達(dá)能力優(yōu)化方法

丁文銳,劉春蕾,李越,張寶昌

1. 北京航空航天大學(xué) 無人系統(tǒng)研究院,北京 100083

2. 北京航空航天大學(xué) 電子信息工程學(xué)院,北京 100083

3. 北京航空航天大學(xué) 自動(dòng)化科學(xué)與電氣工程學(xué)院,北京 100083

近年來,以深度卷積神經(jīng)網(wǎng)絡(luò)[1-3]為代表的人工智能技術(shù)得到了學(xué)術(shù)與工業(yè)領(lǐng)域的廣泛關(guān)注,被視為一次具有重大意義的技術(shù)革新。目前深度卷積神經(jīng)網(wǎng)絡(luò)在多個(gè)領(lǐng)域,諸如計(jì)算機(jī)視覺、語音識(shí)別以及自然語言處理等,得到了大量的應(yīng)用。當(dāng)前,移動(dòng)互聯(lián)、物聯(lián)網(wǎng)等技術(shù)與各個(gè)產(chǎn)業(yè)深度融合,以各類無人系統(tǒng)為平臺(tái)載體的移動(dòng)便攜終端設(shè)備在識(shí)別應(yīng)用的需求方面不斷增加。然而,一方面,高性能的深度網(wǎng)絡(luò)模型往往較大,這對(duì)將其裝備到小內(nèi)存的移動(dòng)端無疑是一巨大挑戰(zhàn)。另一方面,深度卷積神經(jīng)網(wǎng)絡(luò)的一大弊端即計(jì)算復(fù)雜度高,在運(yùn)行較大的卷積網(wǎng)絡(luò)模型時(shí),為了實(shí)現(xiàn)網(wǎng)絡(luò)中最常見的點(diǎn)積運(yùn)算需要進(jìn)行大量計(jì)算。因此,復(fù)雜深度神經(jīng)網(wǎng)絡(luò)的劣勢(shì),即構(gòu)成的大量權(quán)重參數(shù)會(huì)導(dǎo)致相當(dāng)大的存儲(chǔ)空間、內(nèi)存帶寬以及計(jì)算資源上的消耗,使得在資源受限的移動(dòng)端難以進(jìn)行部署,從而使其在實(shí)際使用中仍存在著很大的局限性。

基于以上問題,需要對(duì)網(wǎng)絡(luò)進(jìn)行模型壓縮以獲得輕量化模型,使其可以更方便地部署到小內(nèi)存的移動(dòng)端設(shè)備上。現(xiàn)有研究對(duì)深度網(wǎng)絡(luò)模型壓縮已經(jīng)做出較多綜述性研究[4-9]。模型壓縮[10-11]主要分為高效結(jié)構(gòu)設(shè)計(jì)、模型剪枝、網(wǎng)絡(luò)量化等方法。而本文則主要針對(duì)于網(wǎng)絡(luò)量化中的極致量化,即二值卷積神經(jīng)網(wǎng)絡(luò)(Binary Convolutional Neural Network,BNN,簡(jiǎn)稱二值網(wǎng)絡(luò))進(jìn)行全面綜述。所謂二值網(wǎng)絡(luò),其目標(biāo)是將激活和權(quán)重同時(shí)量化為二值,二值化后的網(wǎng)絡(luò)具有以下幾個(gè)優(yōu)點(diǎn):第一,內(nèi)存更少。對(duì)于嵌入式移動(dòng)設(shè)備來說,通常無法部署較大內(nèi)存的網(wǎng)絡(luò)模型。而網(wǎng)絡(luò)量化減少了網(wǎng)絡(luò)所需要的內(nèi)存,使得網(wǎng)絡(luò)模型更容易部署。第二,計(jì)算速度更高。當(dāng)今典型的卷積神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練時(shí)通常需要較大的訓(xùn)練數(shù)據(jù)集和較多的迭代次數(shù),巨大的計(jì)算量會(huì)導(dǎo)致較長(zhǎng)的網(wǎng)絡(luò)訓(xùn)練時(shí)間,而網(wǎng)絡(luò)量化可以使得網(wǎng)絡(luò)的計(jì)算成本相對(duì)減少,比如,模型當(dāng)中的二值量化可以將浮點(diǎn)32位的數(shù)據(jù)轉(zhuǎn)化為1位的數(shù)據(jù),從而將浮點(diǎn)運(yùn)算轉(zhuǎn)化為位運(yùn)算,使得計(jì)算速度大大提高。因此開展卷積神經(jīng)網(wǎng)絡(luò)二值化技術(shù)研究,不僅是對(duì)相關(guān)理論基礎(chǔ)的進(jìn)一步豐富和擴(kuò)展,更是對(duì)整個(gè)深度學(xué)習(xí)領(lǐng)域有著重要的實(shí)際應(yīng)用和理論價(jià)值,二值卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用優(yōu)勢(shì)示意如圖1所示。

圖1 二值卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用優(yōu)勢(shì)示意圖

近年來研究者們已經(jīng)提出了一系列卷積神經(jīng)網(wǎng)絡(luò)二值化算法和訓(xùn)練方法來降低二值化過程中的性能損失。比如,XNOR-Net[12]算法通過重建具有單個(gè)比例因子的全精度濾波器,有效地實(shí)現(xiàn)卷積運(yùn)算。文獻(xiàn)[13]提出了一種新的結(jié)構(gòu)變體Bi-Real Net,通過增加網(wǎng)絡(luò)的便捷連接(Shortcut)來大大增強(qiáng)網(wǎng)絡(luò)的表達(dá)能力。文獻(xiàn)[14]提出一種損失感知的方法,將二值量化損失考慮到端到端的網(wǎng)絡(luò)中。文獻(xiàn)[15]提出了使用殘差網(wǎng)絡(luò)進(jìn)行二值量化,可在精確性和復(fù)雜性之間做出權(quán)衡。PCNN[16](Projection Convolutional Neural Networks)通過離散反向傳播對(duì)多個(gè)投影進(jìn)行擴(kuò)展來學(xué)習(xí)一組不同的量化核。然而現(xiàn)有技術(shù)研究雖然取得了較大的進(jìn)展,但仍未解決二值網(wǎng)絡(luò)與全精度網(wǎng)絡(luò)之間巨大的性能差異問題。因此,二值卷積神經(jīng)網(wǎng)絡(luò)的更多潛力有待進(jìn)一步挖掘。

本文主要從提高網(wǎng)絡(luò)的表達(dá)能力和充分挖掘網(wǎng)絡(luò)的訓(xùn)練潛力方面出發(fā),將現(xiàn)有研究二值卷積神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行全面綜述。具體來講,提高網(wǎng)絡(luò)的表達(dá)能力可以從量化方法和結(jié)構(gòu)設(shè)計(jì)兩方面出發(fā),充分挖掘網(wǎng)絡(luò)訓(xùn)練潛力可以從損失函數(shù)設(shè)計(jì)、訓(xùn)練策略等角度出發(fā)。此外,本文還介紹了二值卷積神經(jīng)網(wǎng)絡(luò)在不同任務(wù)和硬件平臺(tái)的發(fā)展情況,并總結(jié)了未來發(fā)展可能面臨的挑戰(zhàn)。本文章節(jié)組織如下:第1節(jié)介紹了二值卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)描述;第2節(jié)從提高網(wǎng)絡(luò)表達(dá)能力和充分挖掘網(wǎng)絡(luò)訓(xùn)練潛力出發(fā)介紹現(xiàn)有的方法;第3節(jié)介紹不同方法在不同任務(wù)和硬件平臺(tái)中的性能以及分析;第4節(jié)介紹影響及發(fā)展趨勢(shì),第5節(jié)總結(jié)全文。

1 二值卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)描述

在全精度卷積神經(jīng)網(wǎng)絡(luò)中,卷積基本運(yùn)算可以表示為

Xl+1=Xl*Wl

(1)

式中:Xl和Wl分別代表第l層的特征圖與權(quán)重;*代表卷積算子。大量的浮點(diǎn)乘加運(yùn)算造成了卷積神經(jīng)網(wǎng)絡(luò)推理過程中效率低下的問題,并且浮點(diǎn)型權(quán)重需要大量的存儲(chǔ)空間。因此,希望采用二值化的方式來減少內(nèi)存,降低計(jì)算復(fù)雜度。

1.1 前向傳播過程二值化

二值卷積神經(jīng)網(wǎng)絡(luò)是指具有二值權(quán)重和二值激活的深度網(wǎng)絡(luò)模型,特別是通過sign(·)函數(shù)來進(jìn)行二值化,即

(2)

(3)

(4)

式中:αl代表l層的尺度因子。

1.2 反向傳播

反向傳播過程可以表示為

(5)

式中:L代表網(wǎng)絡(luò)損失。由于反向傳播過程中,量化器sign(·)的導(dǎo)數(shù)為沖擊波形式,零點(diǎn)處梯度無窮,非零點(diǎn)處梯度為0,即會(huì)在更新過程中造成梯度消失或梯度爆炸。因此,必須設(shè)計(jì)合適的梯度來代替sign(·)函數(shù)的原始梯度來進(jìn)行反向傳播。現(xiàn)有研究中,研究者通常采用如圖2所示的方波或者三角波的形式或采用其他近似sign(·)函數(shù)的導(dǎo)數(shù)來代替反向傳播中的量化器梯度。

圖2 量化函數(shù)sign(·)的梯度近似示意圖

2 二值卷積神經(jīng)網(wǎng)絡(luò)方法概述

近年來,二值卷積神經(jīng)網(wǎng)絡(luò)領(lǐng)域得到頗多關(guān)注,催生了眾多種類的二值卷積神經(jīng)網(wǎng)絡(luò)方法,從發(fā)展之初的使用預(yù)定義函數(shù)直接對(duì)權(quán)重和輸入進(jìn)行量化的樸素二值化方法,到目前使用基于多種角度和技術(shù)的基于優(yōu)化的二值化方法,研究者們?cè)诙稻W(wǎng)絡(luò)領(lǐng)域已進(jìn)行了諸多探索。在目前的基于優(yōu)化的二值方法中,有多種優(yōu)化的思想與技術(shù),包括通過設(shè)計(jì)二值優(yōu)化算法來近似全精度值、通過設(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)來增大網(wǎng)絡(luò)的表達(dá)能力,與通過改進(jìn)網(wǎng)絡(luò)損失函數(shù)來限制權(quán)重等。然而,即使在二值網(wǎng)絡(luò)中配置上述方法,二值卷積神經(jīng)網(wǎng)絡(luò)相比于其對(duì)應(yīng)的全精度網(wǎng)絡(luò),仍然會(huì)產(chǎn)生相當(dāng)大的精度損失,不利于其在很多具有高精度需求的設(shè)備上應(yīng)用。因此如何優(yōu)化二值卷積神經(jīng)網(wǎng)絡(luò),使其在具有節(jié)省資源優(yōu)勢(shì)的同時(shí)保持較高的網(wǎng)絡(luò)精度,仍是一個(gè)具有挑戰(zhàn)性的問題。本文認(rèn)為,二值卷積神經(jīng)網(wǎng)絡(luò)性能損失的原因主要可歸結(jié)為兩點(diǎn):其一是有限的表達(dá)能力,其二是不充分的訓(xùn)練。因此,基于這兩點(diǎn),本文從結(jié)構(gòu)設(shè)計(jì)和量化方法兩方面出發(fā)闡述當(dāng)前提升二值網(wǎng)絡(luò)表達(dá)能力的方法,從損失函數(shù)設(shè)計(jì)、訓(xùn)練策略等角度出發(fā)歸納挖掘網(wǎng)絡(luò)訓(xùn)練潛力的方法。最后,再針對(duì)其他任務(wù)平臺(tái)所提出的方法進(jìn)行簡(jiǎn)單介紹。

2.1 提高網(wǎng)絡(luò)表達(dá)能力的二值卷積神經(jīng)網(wǎng)絡(luò)

2.1.1 二值優(yōu)化方法

樸素的二值網(wǎng)絡(luò)計(jì)算直接將激活函數(shù)和權(quán)重量化為1和-1[17],這種映射方式雖然簡(jiǎn)單,但對(duì)全精度特征和權(quán)重所包含的豐富信息造成了巨大損失,極大降低了量化后網(wǎng)絡(luò)的表達(dá)能力。作為考慮量化誤差的早期研究,Rastegari等提出了XNOR-Net[12],將權(quán)重和激活都進(jìn)行二值化。與先前的研究不同,該工作通過引入二值參數(shù)的比例因子對(duì)浮點(diǎn)數(shù)值進(jìn)行更準(zhǔn)確地近似。對(duì)于權(quán)重部分,比例因子的計(jì)算過程為

(6)

式中:α為權(quán)重部分的尺度因子,該尺度因子為逐通道級(jí),通過最小化量化誤差計(jì)算而得。尺度因子α的引入可降低二值參數(shù)與對(duì)應(yīng)全精度參數(shù)的誤差,進(jìn)而對(duì)浮點(diǎn)數(shù)值進(jìn)行更準(zhǔn)確地近似。激活函數(shù)的量化與式(6)類似。該方法可以大幅度降低由直接量化所帶來的性能損失,并且首次在大型圖像識(shí)別數(shù)據(jù)集ImageNet上進(jìn)行了實(shí)驗(yàn)驗(yàn)證,為接下來的二值網(wǎng)絡(luò)研究奠定了基礎(chǔ)。

XNOR-Net優(yōu)化算法掀起了二值網(wǎng)絡(luò)研究的熱潮。為了進(jìn)一步減少量化誤差,高階殘差量化(HORQ)[15]采用基于量化殘差的全精度激活的遞歸近似,而不是XNOR-Net中使用的一步近似。該算法通過遞歸執(zhí)行殘差量化操作來獲得遞減尺度的二值激活,并通過對(duì)這些二值激活進(jìn)行線性組合來得到最終的量化激活。高階殘差量化的引入在提升網(wǎng)絡(luò)表達(dá)能力的同時(shí),不可避免地帶來了計(jì)算量升高的問題。此后文獻(xiàn)[18]引入了一種比例因子獲取的新方式——數(shù)據(jù)驅(qū)動(dòng)。其通過學(xué)習(xí)帶有參數(shù)的門函數(shù),來從未量化的激活中預(yù)測(cè)通道級(jí)的比例因子。該方法在增加不足1%計(jì)算量的情況下大大提高了二值卷積神經(jīng)網(wǎng)絡(luò)的性能。

XNOR-Net[12]優(yōu)化算法與HORQ[15]算法均從網(wǎng)絡(luò)前向傳播入手,然而反向傳播算法對(duì)于二值卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練亦是至關(guān)重要。在對(duì)二值網(wǎng)絡(luò)進(jìn)行反向傳播部署時(shí),由于sign函數(shù)的梯度不連續(xù)可導(dǎo),通常采用直通估計(jì)器(Straight Through Estimator,STE)的方法來對(duì)梯度進(jìn)行近似。但由于sign的實(shí)際梯度與STE之間存在明顯的梯度不匹配,極易導(dǎo)致反向傳播誤差積累的問題,致使網(wǎng)絡(luò)訓(xùn)練偏離正常的極值點(diǎn),使得二值網(wǎng)絡(luò)優(yōu)化不足,從而嚴(yán)重降低性能。對(duì)于近似sign函數(shù)梯度的方波梯度,除了[-1,+1]范圍之內(nèi)的參數(shù)梯度不匹配外,還存在[-1,+1]范圍之外的參數(shù)將不被更新的問題。直觀來看,精心設(shè)計(jì)的二值化近似函數(shù)可以緩解反向傳播中的梯度失配問題。Bi-Real Net[13]提供了一個(gè)自定義的近似sign函數(shù)(ApproxSign)來替換 sign 函數(shù)以進(jìn)行反向傳播中的梯度計(jì)算,該梯度以三角波形式近似sign函數(shù)的梯度,相比于傳統(tǒng)的STE其相對(duì)于沖擊波的相似度更高,因而更貼近于sign函數(shù)梯度的計(jì)算。BNN+[19]直接提出用swishsign函數(shù)對(duì)sign函數(shù)進(jìn)行近似來獲取更優(yōu)近似梯度。這些梯度近似方法能進(jìn)一步對(duì)二值卷積神經(jīng)網(wǎng)絡(luò)的反向更新過程進(jìn)行適度優(yōu)化。

2.1.2 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)

除了直接優(yōu)化量化方法外,也有很多研究從網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)方面出發(fā),通過優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)提升網(wǎng)絡(luò)的表達(dá)能力。Liu等[20]從二值濾波器的重設(shè)計(jì)出發(fā),設(shè)計(jì)了循環(huán)二值卷積神經(jīng)網(wǎng)絡(luò)(Circulant Binary Convolutional Network, CBCN),提出了循環(huán)濾波器和循環(huán)二值卷積,通過多角度旋轉(zhuǎn)二值濾波器來增強(qiáng)二值化卷積特征的表達(dá)能力;與此同時(shí),該循環(huán)濾波器也可提升網(wǎng)絡(luò)的旋轉(zhuǎn)不變性,提升二值網(wǎng)絡(luò)對(duì)于旋轉(zhuǎn)物體的識(shí)別魯棒性。為優(yōu)化該循環(huán)濾波器,該文還提出了相應(yīng)的循環(huán)反向傳播用以對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。此外,為了提升網(wǎng)絡(luò)的表達(dá)能力,Bi-Real Net[13]將每層卷積的輸入特征圖連接到后續(xù)網(wǎng)絡(luò)中,這種方法實(shí)質(zhì)上是通過結(jié)構(gòu)轉(zhuǎn)換來調(diào)整數(shù)據(jù)分布,對(duì)網(wǎng)絡(luò)的提升效果十分明顯。除此之外,Zhuang等[21]提出了組網(wǎng)絡(luò)(GroupNet),即將網(wǎng)絡(luò)分成若干組,在這些組中,通過聚集一組均勻的二元分支可以有效地重構(gòu)全精度網(wǎng)絡(luò),該策略顯示出對(duì)不同任務(wù)(包括分類和語義分割)的強(qiáng)大性能優(yōu)勢(shì),在準(zhǔn)確性和節(jié)省大量計(jì)算資源方面均有一定優(yōu)越性。此外,文獻(xiàn)[18]中比例因子獲取的方式也可以看作對(duì)結(jié)構(gòu)的改進(jìn),通過增加顯著模塊(Squeeze and Excitation,SE)來提高網(wǎng)絡(luò)的表達(dá)能力。如圖3所示,列出了Bi-Real Net[13]、文獻(xiàn)[18]和GroupNet[21]的網(wǎng)絡(luò)結(jié)構(gòu)。相比于XNOR-Net,以上幾種方法在提升表達(dá)能力的同時(shí),通常需要額外的存儲(chǔ)或者計(jì)算成本,但與全精度網(wǎng)絡(luò)相比仍然具有較大的理論加速比。對(duì)于Bi-Real Net而言,由于只增加了shortcut的個(gè)數(shù)(加法計(jì)算量),該計(jì)算量相對(duì)于整體的flops而言是微乎其微的;對(duì)于GroupNet而言,其同時(shí)增加了存儲(chǔ)和計(jì)算量,但是由于增加的是二值計(jì)算,相比于全精度而言,理論上仍然存在較大的加速比;對(duì)于文獻(xiàn)[18]中的網(wǎng)絡(luò)而言,其僅僅增加了不足1%的計(jì)算量,但卻取得了ResNet18在ImageNet上正確分類率65.4%的結(jié)果。

圖3 網(wǎng)絡(luò)結(jié)構(gòu)示意圖

2.2 提高網(wǎng)絡(luò)訓(xùn)練潛力的二值卷積神經(jīng)網(wǎng)絡(luò)

BinaryDuo[22]算法提出二值卷積神經(jīng)網(wǎng)絡(luò)損失并非由于其表達(dá)能力有限,而是極度有限的兩個(gè)狀態(tài)使得模型難以被優(yōu)化。因此,在提高模型表達(dá)能力的同時(shí),仍然有一系列算法并行挖掘網(wǎng)絡(luò)的訓(xùn)練潛力。本節(jié)從損失函數(shù)設(shè)計(jì)和訓(xùn)練策略的角度對(duì)這些訓(xùn)練方法進(jìn)行歸納。

2.2.1 損失函數(shù)設(shè)計(jì)

從網(wǎng)絡(luò)的訓(xùn)練方面來看,僅關(guān)注某一層很難保證經(jīng)過一系列層后最終輸出的精確性。因此,網(wǎng)絡(luò)的訓(xùn)練需全局考慮二值化以及特定的任務(wù)目標(biāo)。近來,大量研究工作對(duì)于網(wǎng)絡(luò)訓(xùn)練中的損失函數(shù)進(jìn)行探究,以期在二值化帶來的限制下?lián)p失函數(shù)仍能較為準(zhǔn)確地引導(dǎo)網(wǎng)絡(luò)參數(shù)的學(xué)習(xí)過程。

通常來講,一般的二值化方案僅關(guān)注對(duì)浮點(diǎn)數(shù)值的精確局部逼近,而忽略二值參數(shù)對(duì)全局損失的影響。Hou等[14]提出了損失感知二值化方法,使用擬牛頓算法與對(duì)角哈希近似直接將與二值權(quán)重相關(guān)的總損失最小化,并求得了近端步驟的有效閉環(huán)解。該文證明了除了從量化角度考慮與任務(wù)相關(guān)的損失外,設(shè)計(jì)額外的量化感知損失項(xiàng)也是可行的。另一方面,激活的分布對(duì)于整個(gè)網(wǎng)絡(luò)的優(yōu)化也是至關(guān)重要的。Ding等[23]總結(jié)了二值卷積神經(jīng)網(wǎng)絡(luò)中由前向二值化和反向傳播引起的問題,包括激活分布的“退化”、“飽和”和“梯度不匹配”。為解決這些問題,Ding等[23]提出了一系列對(duì)于二值特征圖的約束,聯(lián)合任務(wù)中的損失函數(shù)共同指導(dǎo)網(wǎng)絡(luò)訓(xùn)練,盡可能降低這些問題帶來的不利影響。此外,全精度模型也可以損失函數(shù)的形式為二值網(wǎng)絡(luò)提供引導(dǎo)信息,用以指導(dǎo)、優(yōu)化二值網(wǎng)絡(luò)的訓(xùn)練。Liu等[24]認(rèn)為如果二值網(wǎng)絡(luò)能學(xué)習(xí)到與全精度網(wǎng)絡(luò)相似的分布,則其表現(xiàn)可獲得一定程度的提升。因而提出了基于“分布損失”的方法,通過計(jì)算二值網(wǎng)絡(luò)與全精度網(wǎng)絡(luò)輸出之間的KL散度來衡量二者分布間的差距,進(jìn)而引導(dǎo)二值卷積神經(jīng)網(wǎng)絡(luò)去學(xué)習(xí)與全精度網(wǎng)絡(luò)輸出相似的分布。同樣地,文獻(xiàn)[18]從特征圖級(jí)的約束出發(fā),以全精度網(wǎng)絡(luò)的特征圖為引導(dǎo)信息,通過注意力匹配損失函數(shù)的引入來對(duì)二值網(wǎng)絡(luò)的特征圖與全精度特征圖進(jìn)行匹配,提升二值網(wǎng)絡(luò)的訓(xùn)練潛能。另外,在卷積核級(jí)的約束上,Gu等[25]提出Bayesian損失,將全精度核和特征的先驗(yàn)分布合并到二值網(wǎng)絡(luò)中,通過對(duì)全精度卷積核的引導(dǎo)來提升二值卷積核的表達(dá)能力。

總結(jié)來講,利用構(gòu)建損失函數(shù)來提高二值卷積網(wǎng)絡(luò)的訓(xùn)練潛能,一般可以在不增加網(wǎng)絡(luò)推理時(shí)間的同時(shí)提升網(wǎng)絡(luò)性能,是當(dāng)下較為流行的訓(xùn)練手段之一。

2.2.2 訓(xùn)練策略

由于二值網(wǎng)絡(luò)所具有的高度離散性,其訓(xùn)練過程常需要引入特殊的訓(xùn)練方法,以使得訓(xùn)練過程穩(wěn)定且獲得更高的收斂精度。因此一類廣為研究的方法,即對(duì)二值網(wǎng)絡(luò)的訓(xùn)練方法進(jìn)行重新設(shè)計(jì),以構(gòu)建出高效的二值網(wǎng)絡(luò)。

傳統(tǒng)的二值方法同時(shí)對(duì)激活函數(shù)和權(quán)重進(jìn)行優(yōu)化,文獻(xiàn)[26]認(rèn)為這對(duì)反向傳播本就使用近似梯度的低比特網(wǎng)絡(luò)來說是較為困難的,為此該文提出使用兩階段優(yōu)化策略來逐步找到良好的局部最小值。具體來說,首先構(gòu)建僅具有量化權(quán)重的網(wǎng)絡(luò)并對(duì)此進(jìn)行優(yōu)化,然后將該優(yōu)化所得的網(wǎng)絡(luò)作為預(yù)訓(xùn)練模型,將其激活也進(jìn)行量化,對(duì)權(quán)重與激活均量化的網(wǎng)絡(luò)進(jìn)行訓(xùn)練。與此同時(shí),文獻(xiàn)[26]還提出另一種漸進(jìn)式優(yōu)化方法,通過在訓(xùn)練過程中逐漸減少網(wǎng)絡(luò)中數(shù)值表示的位寬,實(shí)現(xiàn)從高精度網(wǎng)絡(luò)到低精度網(wǎng)絡(luò)的逐漸轉(zhuǎn)換。這種漸進(jìn)式訓(xùn)練策略可以為低位寬模型提供適宜的初始化條件,有助于減輕低比特網(wǎng)絡(luò)的訓(xùn)練難度。

與此同時(shí),模型蒸餾的方法被廣泛應(yīng)用在二值網(wǎng)絡(luò)訓(xùn)練中。一般來講,模型蒸餾的方法是通過大型教師模型提供引導(dǎo)信息,指導(dǎo)小型學(xué)生模型訓(xùn)練。在二值網(wǎng)絡(luò)的應(yīng)用中,全精度網(wǎng)絡(luò)或高精度網(wǎng)絡(luò)一般被視作教師模型,二值網(wǎng)絡(luò)或低精度網(wǎng)絡(luò)一般被視作學(xué)生模型,以實(shí)現(xiàn)二值網(wǎng)絡(luò)的引導(dǎo)性訓(xùn)練。文獻(xiàn)[26-27]等多篇論文都提出模型蒸餾的思想,通過高精度模型所生成的特征圖對(duì)低精度模型的訓(xùn)練過程加以指導(dǎo),從而使得低精度特征圖接近于高精度特征圖以獲取更高的訓(xùn)練精度。Zhuang等[26]提出一種基于全精度輔助訓(xùn)練的方案。該方案通過共同訓(xùn)練全精度網(wǎng)絡(luò)和二值網(wǎng)絡(luò),使得二值網(wǎng)絡(luò)的更新能夠同時(shí)借助全精度網(wǎng)絡(luò)提供的信息。實(shí)驗(yàn)證明該方法可有效提升二值網(wǎng)絡(luò)的訓(xùn)練性能。與純粹的蒸餾思想不同,文獻(xiàn)[28]提出了一種借助生成對(duì)抗模型來引導(dǎo)二值網(wǎng)絡(luò)訓(xùn)練的方法。該文利用對(duì)抗學(xué)習(xí)中生成器與判別器相互對(duì)抗、共同獲得性能提升的思想,將二值網(wǎng)絡(luò)視作生成器,生成“假”特征圖,由相應(yīng)的全精度網(wǎng)絡(luò)生成“真”特征圖,通過引入一個(gè)判別器對(duì)真假特征圖進(jìn)行鑒別,使得二值網(wǎng)絡(luò)生成特征圖分布更接近于全精度特征圖,從而提高二值網(wǎng)絡(luò)性能。

另外,一種基于“耦合-分解”思想的訓(xùn)練策略在BinaryDuo[22]方法中被提出。該文通過利用梯度失配估計(jì)器進(jìn)行實(shí)驗(yàn)發(fā)現(xiàn),對(duì)于二值網(wǎng)絡(luò)中存在的梯度不匹配問題,采用更高的激活精度比修改激活函數(shù)的可微近似更為有效。基于該發(fā)現(xiàn),BinaryDuo在訓(xùn)練過程中將兩個(gè)二值激活耦合為三元激活,對(duì)該三元耦合網(wǎng)絡(luò)進(jìn)行優(yōu)化,并將優(yōu)化所得的網(wǎng)絡(luò)解耦為二值網(wǎng)絡(luò),通過微調(diào)進(jìn)一步提升網(wǎng)絡(luò)性能。同時(shí),文獻(xiàn)[29]中提出了一種實(shí)現(xiàn)梯度量化的DoReFa-Net。由于向前/向后遍歷期間的卷積可以分別在低位寬權(quán)重和激活/梯度上運(yùn)行,因此DoReFa-Net可以使用位卷積內(nèi)核來加快訓(xùn)練和推理速度。

此外,在訓(xùn)練二值卷積神經(jīng)網(wǎng)絡(luò)時(shí)選擇適當(dāng)?shù)某瑓?shù)和特定的優(yōu)化器有助于提高二值網(wǎng)絡(luò)的性能,使二值網(wǎng)絡(luò)的收斂更為迅速并最終達(dá)到較高的收斂精度。大多數(shù)現(xiàn)有的二值卷積神經(jīng)網(wǎng)絡(luò)模型選擇了自適應(yīng)學(xué)習(xí)率優(yōu)化器,例如Adam優(yōu)化器,使用Adam優(yōu)化器可以使訓(xùn)練過程收斂更快更好[30]。同時(shí),設(shè)置批量歸一化處理對(duì)于網(wǎng)絡(luò)的訓(xùn)練也很關(guān)鍵,在網(wǎng)絡(luò)訓(xùn)練過程中通過批量歸一化處理對(duì)網(wǎng)絡(luò)的特征圖分布進(jìn)行調(diào)整,能夠使網(wǎng)絡(luò)訓(xùn)練更加充分,有助于提升二值網(wǎng)絡(luò)的整體性能。另外,一些研究者試圖從信息論的角度對(duì)二值網(wǎng)絡(luò)進(jìn)行解釋,并得出了相關(guān)的正則化訓(xùn)練技巧。Qin等[31]指出量化函數(shù)的使用使得二值網(wǎng)絡(luò)的前向與反向傳播都不可避免地產(chǎn)生了信息損失。為了降低這種損失,Qin等[31]從最大化信息熵的角度出發(fā)來最小化前向傳播中的信息損失,通過簡(jiǎn)單地正則化操作使得二值網(wǎng)絡(luò)的訓(xùn)練更為魯棒。

2.3 面向其他應(yīng)用的二值卷積神經(jīng)網(wǎng)絡(luò)

除圖像分類任務(wù)之外,目標(biāo)檢測(cè)與語義分割也是視覺領(lǐng)域的常見任務(wù)之一,且相比于圖像分類其復(fù)雜度更高、難度更大,其性能對(duì)于二值化的敏感度也更高。目前領(lǐng)域內(nèi)存在少量研究,其二值網(wǎng)絡(luò)是專門為這兩種復(fù)雜任務(wù)而設(shè)計(jì)的。

在目標(biāo)檢測(cè)方面,由于常規(guī)的網(wǎng)絡(luò)二值化方法通常在具有受限表達(dá)能力的一級(jí)或兩級(jí)檢測(cè)器中直接量化權(quán)重和激活,這會(huì)造成信息冗余,從而導(dǎo)致大量誤報(bào)并嚴(yán)重降低性能。針對(duì)這一問題,二值檢測(cè)器BiDet[32]提出充分利用二值卷積神經(jīng)網(wǎng)絡(luò)的表達(dá)能力,通過冗余消除進(jìn)行目標(biāo)檢測(cè),通過減少誤報(bào)來提高檢測(cè)精度。具體來說,將信息瓶頸(Information Bottleneck,IB)原理推廣到目標(biāo)檢測(cè)領(lǐng)域,對(duì)高級(jí)特征圖中的信息量進(jìn)行限制,并且使得特征圖與對(duì)象檢測(cè)之間的互信息最大化。與此同時(shí),BiDet學(xué)習(xí)稀疏對(duì)象先驗(yàn),以便后驗(yàn)者可專注于具有誤報(bào)消除的信息檢測(cè)預(yù)測(cè)。BiDet是第一個(gè)提出將目標(biāo)檢測(cè)任務(wù)中的主干網(wǎng)絡(luò)和檢測(cè)網(wǎng)絡(luò)同時(shí)量化的二值網(wǎng)絡(luò),然而其結(jié)果顯示,二值化后的網(wǎng)絡(luò)產(chǎn)生了較大性能損失,二值卷積神經(jīng)網(wǎng)絡(luò)在目標(biāo)檢測(cè)任務(wù)中仍然任重而道遠(yuǎn)。

對(duì)于語義分割任務(wù)而言,其對(duì)于網(wǎng)絡(luò)特征圖的多尺度信息要求更高。在這種要求下,GroupNet[21]提出二值并行卷積(Binary Parallel Atrous Convolution, BPAC),該算法將豐富的多尺度上下文嵌入到BNN中以進(jìn)行準(zhǔn)確的語義分割。與僅使用Groupnet相比,具有BPAC的Group-Net可以在保持復(fù)雜度不變的情況下顯著提高模型性能。

除此之外的大部分應(yīng)用方法均是以分類為主,在其他應(yīng)用上進(jìn)行遷移和測(cè)試,很少有針對(duì)任務(wù)本身設(shè)計(jì)的二值化方法。

2.4 其他方法

近年來網(wǎng)絡(luò)結(jié)構(gòu)搜索(Neural Architecture Search, NAS)[33]在深度學(xué)習(xí)領(lǐng)域取得了令人振奮的成績(jī),這種方法通常自動(dòng)設(shè)計(jì)針對(duì)于各種任務(wù)的最佳神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)。二值網(wǎng)絡(luò)結(jié)構(gòu)搜索(Binary Neural Architecture Search, BNAS)[34]提出將通道采樣和降低搜索空間引入到NAS中,以顯著降低搜索成本,通過基于性能的策略來放棄有效性低的操作。Shen等[35]提出了一個(gè)用于自動(dòng)搜索緊湊而準(zhǔn)確的二值卷積神經(jīng)網(wǎng)絡(luò)的新框架。具體而言,基于該框架的二值網(wǎng)絡(luò)將每層中的通道數(shù)編碼到搜索空間中,并在訓(xùn)練過程中利用進(jìn)化算法進(jìn)行優(yōu)化。實(shí)驗(yàn)表明,該方法搜索得到的二值卷積神經(jīng)網(wǎng)絡(luò)模型在模型大小和計(jì)算增量都可以接受的情況下,可以實(shí)現(xiàn)與全精度模型完全匹配的性能。

除NAS之外,還有一些研究從優(yōu)化角度重新考慮二值網(wǎng)絡(luò)的優(yōu)化問題。文獻(xiàn)[36]認(rèn)為在二值網(wǎng)絡(luò)中,不能僅將訓(xùn)練中的全精度權(quán)重直接類似于實(shí)值網(wǎng)絡(luò)中的權(quán)重。相反,它們的主要作用是在訓(xùn)練過程中為二值權(quán)重的更新提供慣性。因此,文獻(xiàn)[36]為二值網(wǎng)絡(luò)的優(yōu)化提供了新穎的見解,根據(jù)慣性來解釋當(dāng)前二值網(wǎng)絡(luò)優(yōu)化方法,并設(shè)計(jì)了一個(gè)專用于二值網(wǎng)絡(luò)的優(yōu)化器Bop。根據(jù)將Bop用于二值網(wǎng)絡(luò)優(yōu)化其在CIFAR-10和ImageNet數(shù)據(jù)集上的性能表現(xiàn),文獻(xiàn)[36]很好地證明了該種二值網(wǎng)絡(luò)優(yōu)化新視角的可行性。而將訓(xùn)練中的全精度權(quán)重重新從慣性的角度加以定義以及引入Bop在一起,也可以幫助研究者們對(duì)二值網(wǎng)絡(luò)優(yōu)化有更深入地理解,并為進(jìn)一步改進(jìn)二值網(wǎng)絡(luò)的訓(xùn)練方法開辟了新的道路。

此外,考慮到在二值網(wǎng)絡(luò)中梯度下降法并不適用于量化函數(shù),文獻(xiàn)[37]提出可以將二值網(wǎng)絡(luò)的優(yōu)化看作一個(gè)離散的優(yōu)化問題,為量化函數(shù)設(shè)置新的目標(biāo)以最小化損失。對(duì)于離散優(yōu)化問題,其目標(biāo)是找到一組目標(biāo),以使每個(gè)單元(包括輸出)都有線性可分離的問題要解決。給定這些目標(biāo),網(wǎng)絡(luò)將分解為單獨(dú)的感知器,因而可以使用標(biāo)準(zhǔn)凸方法進(jìn)行學(xué)習(xí)。在此基礎(chǔ)上,文獻(xiàn)[37]開發(fā)了一種用于學(xué)習(xí)深閾值網(wǎng)絡(luò)的遞歸微型批處理算法。該方法的提出為量化領(lǐng)域開辟了一個(gè)新的研究方向,并在分類數(shù)據(jù)集ImageNet上進(jìn)行了驗(yàn)證。

3 實(shí) 驗(yàn)

3.1 用于二值網(wǎng)絡(luò)的實(shí)驗(yàn)數(shù)據(jù)集

二值卷積神經(jīng)網(wǎng)絡(luò)量化應(yīng)用主要集中在目標(biāo)分類任務(wù)上,同時(shí)在目標(biāo)檢測(cè)與語義分割任務(wù)上也有少部分應(yīng)用。本節(jié)將分別介紹不同應(yīng)用中常用的數(shù)據(jù)集。

3.1.1 分類數(shù)據(jù)集

對(duì)于分類任務(wù),常用的數(shù)據(jù)集主要包括MNIST手寫字體數(shù)據(jù)集[38]、SVHN數(shù)據(jù)集[39]、CIFAR10/100數(shù)據(jù)集[40]以及ImageNet大規(guī)模圖像數(shù)據(jù)集[41]。

MNIST:該數(shù)據(jù)集來自美國國家標(biāo)準(zhǔn)與技術(shù)研究所,由不同人手寫的數(shù)字圖片構(gòu)成。數(shù)據(jù)集包含60 000個(gè)用于訓(xùn)練的樣本和10 000個(gè)用于測(cè)試的樣本。這些樣本均已經(jīng)過尺寸標(biāo)準(zhǔn)化處理使數(shù)字位于圖像中心。每個(gè)樣本大小固定為28×28像素,其像素值范圍為0~1。

SVHN:該數(shù)據(jù)來源于谷歌街景圖像中門牌號(hào)碼,每張圖片中包含一組‘0~9’的阿拉伯?dāng)?shù)字。數(shù)據(jù)集分成了訓(xùn)練集、測(cè)試集與附加集3個(gè)子集。其中訓(xùn)練集中包含73 257個(gè)數(shù)字,測(cè)試集中包含26 032個(gè)數(shù)字,附加集有531 131個(gè)數(shù)字。其圖像大小固定為32×32像素,像素值范圍為0~1。相比于同為數(shù)字識(shí)別數(shù)據(jù)集的MNIST,SVHN由于標(biāo)記數(shù)據(jù)更多、來自自然場(chǎng)景,因而識(shí)別難度更大。

CIFAR10/100:CIFAR10與CIFA100均為彩色圖片數(shù)據(jù)集。其中CIFAR10由包含10個(gè)類別的60 000個(gè)彩色圖像樣本組成,并被分成了訓(xùn)練集與測(cè)試集兩個(gè)子集。訓(xùn)練集和測(cè)試集分別包含50 000張與10 000張圖像,每張圖像分辨率為32×32像素。該數(shù)據(jù)集覆蓋了包括飛機(jī)、汽車、鳥類、貓、鹿、狗、青蛙、馬、船和卡車在內(nèi)的10個(gè)類別,類別之間完全互斥。與CIFAR10數(shù)據(jù)組成結(jié)構(gòu)一致,CIFAR100則包含具有更為細(xì)致分類的100個(gè)類別,每個(gè)類別包含了600個(gè)圖像樣本,為500個(gè)訓(xùn)練樣本與100個(gè)測(cè)試樣本的組合。由于需要進(jìn)行更精細(xì)的識(shí)別,CIFAR100的識(shí)別難度比CIFAR10更大。

ImageNet:ImageNet是一個(gè)用于視覺對(duì)象識(shí)別研究的大型可視化數(shù)據(jù)庫。相比于前面介紹的數(shù)據(jù)集,ImageNet不管在圖片數(shù)量還是圖片分辨率上都有數(shù)量級(jí)上的提升。其由1 000個(gè)類別組成,包括了約120萬張訓(xùn)練圖像和5萬張驗(yàn)證圖像。ImageNet對(duì)深度學(xué)習(xí)的浪潮起了巨大的推動(dòng)作用,也是當(dāng)前神經(jīng)網(wǎng)絡(luò)量化在分類數(shù)據(jù)集上驗(yàn)證的最常用數(shù)據(jù)集。

3.1.2 目標(biāo)檢測(cè)與語義分割數(shù)據(jù)集

相比于圖像分類數(shù)據(jù)集,目標(biāo)檢測(cè)與語義分割數(shù)據(jù)集由于標(biāo)注工作量巨大,因而其建立過程更為復(fù)雜。目前領(lǐng)域內(nèi)常用的檢測(cè)、分割數(shù)據(jù)集有PASCAL VOC2012[42]數(shù)據(jù)集與COCO[43]數(shù)據(jù)集。

PASCAL VOC2012:該數(shù)據(jù)集源于 PASCAL 視覺目標(biāo)檢測(cè)比賽,用于評(píng)估計(jì)算機(jī)視覺領(lǐng)域中包括語義分割、目標(biāo)檢測(cè)等在內(nèi)的多種任務(wù)上模型的性能。該數(shù)據(jù)集包含人、常見動(dòng)物、交通車輛、室內(nèi)家具用品在內(nèi)的4個(gè)大類并進(jìn)一步細(xì)分為20小類。對(duì)于檢測(cè)任務(wù),VOC2012包含了11 540張圖片在內(nèi)的27 450個(gè)物體,而對(duì)于分割任務(wù),VOC2012則包含了2 913張圖片在內(nèi)的6 929個(gè) 物體。

COCO:該數(shù)據(jù)集是 Microsoft 團(tuán)隊(duì)提供的用于圖像識(shí)別和目標(biāo)檢測(cè)的數(shù)據(jù)集,是一個(gè)大型、豐富的物體檢測(cè)與分割數(shù)據(jù)集。該數(shù)據(jù)集以場(chǎng)景理解為目標(biāo),主要從復(fù)雜的日常場(chǎng)景截取圖像。數(shù)據(jù)集由80個(gè)類別構(gòu)成,涵括了超過33萬張圖片,其中20萬張有標(biāo)注,整個(gè)數(shù)據(jù)集中個(gè)體的數(shù)目超過了150萬個(gè)。現(xiàn)有研究使用COCO trainval 35K(115K圖像)進(jìn)行分割訓(xùn)練,并使用minival(5K圖像)進(jìn)行分割驗(yàn)證。

3.2 圖像分類實(shí)驗(yàn)結(jié)果

對(duì)于MNIST、SVHN,由于其類別較小,數(shù)據(jù)量也較少,現(xiàn)有二值卷積神經(jīng)網(wǎng)絡(luò)在這些數(shù)據(jù)集上往往取得接近于全精度的結(jié)果,對(duì)于二值方法性能評(píng)估的意義不大。因此,近年來很少有工作報(bào)告該數(shù)據(jù)集上的測(cè)試精度。CIFAR10/100介于MNIST、SVHN與ImageNet之間,但由于數(shù)據(jù)量有限,在CIFAR數(shù)據(jù)集上進(jìn)行測(cè)試容易造成過擬合,但由于其相對(duì)難度和訓(xùn)練時(shí)間適中,也多為研究者所采用。

在本節(jié)中,列出了近年來關(guān)于二值卷積神經(jīng)網(wǎng)絡(luò)比較經(jīng)典和先進(jìn)方法的結(jié)果,其所有數(shù)據(jù)都是直接引用對(duì)應(yīng)原始論文中的結(jié)果。在此,選取了XNOR-Net[12]、Bi-Real Net[13]、XNOR-Net++[44]、PCNN[16]、BONN[11]、IR-Net[31]、CI-Net[45]、BNN[17]、ABC-Net[46]、BNN+[19]、CBCN[20]、GroupNet[21]、文獻(xiàn)[18]中的baseline、文獻(xiàn)[18]以及BinaryDuo[22]等方法來進(jìn)行對(duì)比,用以顯示當(dāng)前二值網(wǎng)絡(luò)在目標(biāo)分類任務(wù)上的性能水平,如表1所示,其中:FP表示全精度網(wǎng)絡(luò)。

從表1的結(jié)果中,可以看出,由于訓(xùn)練時(shí)的GPU資源有限,目前大部分研究在展示基于ImageNet數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果時(shí),都選用了模型較小、對(duì)GPU資源需求較少的ResNet18[1]結(jié)構(gòu)。基于二值優(yōu)化的XNOR-Net方法比樸素量化的BNN高出9%(51.2%~42.2%),這也說明了XNOR-Net方法優(yōu)化得到的尺度因子在量化過程中大大提高了二值化模型的表達(dá)能力。此外,基于結(jié)構(gòu)設(shè)計(jì)的方法,Bi-Real Net、CBCN、GroupNet、文獻(xiàn)[18]中的方法進(jìn)一步提高了二值網(wǎng)絡(luò)的表達(dá)能力。通過一個(gè)簡(jiǎn)單的特征圖短接的加法操作,Bi-Real Net對(duì)二值卷積后進(jìn)行了信息補(bǔ)償,從而獲得了超過5%的性能提升。GroupNet則采用犧牲計(jì)算量的方法來擴(kuò)展二值分支,當(dāng)擴(kuò)展到4倍時(shí),其ResNet18的Top-1性能高達(dá)64.4%,這也說明了從結(jié)構(gòu)設(shè)計(jì)角度對(duì)二值網(wǎng)絡(luò)進(jìn)行適當(dāng)調(diào)整,可以大幅增加其表達(dá)能力。但是如何在結(jié)構(gòu)設(shè)計(jì)中同時(shí)考慮效率與分類精度兩個(gè)方面,以獲得這兩個(gè)度量上的平衡,是目前存在的一個(gè)關(guān)鍵問題。

表1 不同新型的二值卷積神經(jīng)網(wǎng)絡(luò)在ImageNet分類數(shù)據(jù)集上的驗(yàn)證

關(guān)于訓(xùn)練策略而言,BinaryDuo通過對(duì)較高精度的三值網(wǎng)絡(luò)的解耦,在不增加推理過程中存儲(chǔ)和計(jì)算量的情況下大大提高了二值網(wǎng)絡(luò)的性能。此外,文獻(xiàn)[18]方法使用了模型蒸餾、漸進(jìn)量化等多種訓(xùn)練策略,很大程度上挖掘了模型的訓(xùn)練潛力。其ResNet18結(jié)構(gòu)在ImageNet分類數(shù)據(jù)集上可以達(dá)到65.4%的精度,在增加不足1%計(jì)算量的情況下,將其與全精度網(wǎng)絡(luò)的性能差距縮小到了3.9%。

3.3 目標(biāo)檢測(cè)和圖像分割實(shí)驗(yàn)結(jié)果

文獻(xiàn)[21]認(rèn)為在目標(biāo)檢測(cè)任務(wù)中,對(duì)檢測(cè)網(wǎng)絡(luò)的主干部分和特征金字塔均進(jìn)行二值化處理對(duì)性能的影響較小。但是,對(duì)于網(wǎng)絡(luò)的其他部分,如檢測(cè)頭,當(dāng)進(jìn)行量化時(shí)情況并不樂觀。實(shí)驗(yàn)表明對(duì)檢測(cè)頭進(jìn)行二值化會(huì)導(dǎo)致檢測(cè)性能明顯下降。這種下降可以根據(jù)檢測(cè)網(wǎng)絡(luò)的特性得到解釋。一般認(rèn)為,檢測(cè)網(wǎng)絡(luò)的檢測(cè)頭部分是負(fù)責(zé)將提取的多級(jí)特征適配到分類和回歸目標(biāo),其表達(dá)能力對(duì)于檢測(cè)器的性能至關(guān)重要。但是,當(dāng)多級(jí)信息進(jìn)行二值化操作而被強(qiáng)制約束為{-1,1}時(shí),其信息會(huì)遭到破壞而影響檢測(cè)性能。同時(shí)這也表明除主干外的其他檢測(cè)模塊對(duì)量化都很敏感,需要得到更多的研究以減輕其量化困難的問題,因而這也很可能是未來工作的一個(gè)有希望的方向。

此外,對(duì)于語義分割任務(wù)而言,文獻(xiàn)[21]提出的基于ResNet50骨干網(wǎng)的Group-Net性能下降相對(duì)最大。進(jìn)一步表明,廣泛使用的瓶頸結(jié)構(gòu)對(duì)于二值網(wǎng)絡(luò)并不友好。

3.4 其他應(yīng)用實(shí)驗(yàn)結(jié)果

除了目標(biāo)分類、目標(biāo)檢測(cè)和語義分割等一些主流應(yīng)用驗(yàn)證,還有一些研究也在其他應(yīng)用上進(jìn)行過實(shí)驗(yàn)驗(yàn)證,比如文獻(xiàn)[28]在目標(biāo)跟蹤任務(wù)中的Got10k、OTB50、OTB100及 UAV123等數(shù)據(jù)集上進(jìn)行驗(yàn)證,實(shí)驗(yàn)表明在跟蹤任務(wù)的精度和成功率兩大指標(biāo)方面,二值網(wǎng)絡(luò)與全精度網(wǎng)絡(luò)仍然具有一定的差距。此外,Bi-Real Net將二值模型應(yīng)用在深度估計(jì)應(yīng)用領(lǐng)域,其是自動(dòng)駕駛和無人導(dǎo)航的重要任務(wù),壓縮深度估計(jì)CNN對(duì)于將強(qiáng)大的CNN部署到內(nèi)存和計(jì)算資源有限的移動(dòng)設(shè)備至關(guān)重要。在深度估計(jì)任務(wù)上進(jìn)行驗(yàn)證時(shí),Bi-Real Net 采用了KITTI數(shù)據(jù)集[47]。結(jié)果表明,在深度估計(jì)實(shí)驗(yàn)中,Bi-Real Net二值卷積神經(jīng)網(wǎng)絡(luò)幾乎能達(dá)到和全精度網(wǎng)絡(luò)相近的性能,僅僅產(chǎn)生了0.3%的微量性能損失。另外,還有研究[16]在人臉識(shí)別、行人重識(shí)別、手勢(shì)分類[48]等應(yīng)用上進(jìn)行過實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果顯示直接遷移的二值網(wǎng)絡(luò)在其他任務(wù)應(yīng)用上還與全精度網(wǎng)絡(luò)有一定的差距。

3.5 嵌入式設(shè)備應(yīng)用實(shí)驗(yàn)結(jié)果

為了能夠使二值網(wǎng)絡(luò)得到實(shí)際中的應(yīng)用,目前針對(duì)二值網(wǎng)絡(luò)的嵌入式設(shè)備開發(fā)也有相應(yīng)研究。Bi-Real Net基于嵌入式應(yīng)用的Vivado設(shè)計(jì)套件[49]估算了18層Bi-Real Net及其在現(xiàn)場(chǎng)可編程門陣列(Field-Programmable Gate Aray, FPGA)上的全精度網(wǎng)絡(luò)的執(zhí)行時(shí)間。與FPGA板上的全精度網(wǎng)絡(luò)相比,二值卷積神經(jīng)網(wǎng)絡(luò)Bi-Real Net使用相同或更少的資源將執(zhí)行速度加速6.07倍。與全精度卷積相比,二值卷積層的速度提高了15.8倍。通過累加所有操作的執(zhí)行時(shí)間,最終經(jīng)過測(cè)試,18層Bi-Real Net比具有相同結(jié)構(gòu)的全精度網(wǎng)絡(luò)能夠加速7.38倍。

另外如文獻(xiàn)[50]所述,在二值網(wǎng)絡(luò)領(lǐng)域已經(jīng)有一些推斷框架,例如BMXNet[51]、BitStream[52]、BitFlow[53]。其中,BitStream和BitFlow只進(jìn)行了論文發(fā)表,而沒有建立源代碼或二值庫。BMXNet 雖然開源,但在 Google Pixel 1 手機(jī)上進(jìn)行的測(cè)試顯示,其運(yùn)行速度甚至比全精度推斷框架TensorFlow Lite還要慢。因此,為了填補(bǔ)二值網(wǎng)絡(luò)推理框架缺失的空白,京東AI開源了一個(gè)針對(duì)ARM指令集高度優(yōu)化的二值網(wǎng)絡(luò)推理框架dabnn[54],這也是第1個(gè)高度優(yōu)化的針對(duì)二值網(wǎng)絡(luò)的開源推理框架。和BMXNet相比,dabnn的速度得到了一個(gè)數(shù)量級(jí)的提升。一些研究者也實(shí)際部署與應(yīng)用該推理框架,用以測(cè)試所設(shè)計(jì)二值網(wǎng)絡(luò)的實(shí)際推理速度。如IR-Net便使用dabnn框架計(jì)算了算法部署到實(shí)際移動(dòng)設(shè)備中時(shí)的效率。與現(xiàn)有的高性能推理(包括NCNN[30]和DSQ[55])比較結(jié)果如表2[31]所示,從中可以看出相比于全精度網(wǎng)絡(luò)與其他低位寬網(wǎng)絡(luò),二值卷積神經(jīng)網(wǎng)絡(luò)IR-Net的推理速度要快得多。與此同時(shí),IR-Net的模型大小也可以大大減小,且在IR-Net中引入的移位尺度幾乎不會(huì)帶來額外的推理時(shí)間和存儲(chǔ)消耗。

表2 不同二值卷積神經(jīng)網(wǎng)絡(luò)在推理過程中的存儲(chǔ)量和推理時(shí)間[31]

表3[49]顯示了各種方案中BNN的參數(shù)大小和計(jì)算成本。計(jì)算成本(Floating Point Operations, FLOPs)是根據(jù)Bi-Real Net中的方法計(jì)算而得,即浮點(diǎn)數(shù)乘法的數(shù)量與1/64倍1位乘法的數(shù)量之和。從表中的結(jié)果可以看出,對(duì)于大部分基于訓(xùn)練方法或者優(yōu)化近似的二值卷積神經(jīng)網(wǎng)絡(luò)而言,其并未改變其網(wǎng)絡(luò)的基本結(jié)構(gòu)配置,因此在推理過程中,具有相近的參數(shù)和浮點(diǎn)計(jì)算量。對(duì)于一些擴(kuò)展結(jié)構(gòu)的二值卷積神經(jīng)網(wǎng)絡(luò)而言,其參數(shù)和計(jì)算量會(huì)相對(duì)增加,以GroupNet為例,當(dāng)擴(kuò)展倍數(shù)為1時(shí),GroupNet的參數(shù)量和計(jì)算量與普通二值網(wǎng)絡(luò)相同,而當(dāng)相應(yīng)擴(kuò)展倍數(shù)時(shí),其卷積層的計(jì)算量和參數(shù)量也會(huì)成倍增加。

表3 各種新型二值卷積神經(jīng)網(wǎng)絡(luò)在ImageNet分類數(shù)據(jù)集上的參數(shù)量和FLOPS[49]

4 影響及發(fā)展趨勢(shì)

二值卷積神經(jīng)網(wǎng)絡(luò)旨在解決深度學(xué)習(xí)技術(shù)的效率瓶頸,這將會(huì)對(duì)社會(huì)產(chǎn)生積極影響。特別是,由于小型智能設(shè)備廣泛的商業(yè)價(jià)值和令人興奮的前景,全世界將配備數(shù)十億個(gè)小型、聯(lián)網(wǎng)和智能設(shè)備。這些設(shè)備中的許多設(shè)備將嵌入家庭、車輛、工廠和城市中。此外,可穿戴設(shè)備正變得越來越流行。低功耗計(jì)算設(shè)備的激增將推動(dòng)工業(yè)領(lǐng)域乃至整個(gè)社區(qū)的發(fā)展,并在下一波個(gè)人計(jì)算浪潮中發(fā)揮至關(guān)重要的作用。重要的是,這些設(shè)備將在很大程度上依賴于現(xiàn)代深度學(xué)習(xí),從而在感知和決策方面變得“智能”。通過將數(shù)據(jù)從移動(dòng)設(shè)備上載到云來依靠云計(jì)算可能會(huì)遇到許多問題,由于延遲、隱私問題,更是難以實(shí)現(xiàn),因而變得不可行。因此,迫切需要在移動(dòng)設(shè)備本身上執(zhí)行深度學(xué)習(xí)推理。但是,深度學(xué)習(xí)方法主要是為“重”平臺(tái)(例如GPU)設(shè)計(jì)的,而大多數(shù)移動(dòng)設(shè)備都沒有配備強(qiáng)大的GPU,也沒有足夠的內(nèi)存來運(yùn)行和存儲(chǔ)龐大的深度模型。解決這些瓶頸將使我們能夠設(shè)計(jì)和實(shí)施有效的深度學(xué)習(xí)系統(tǒng),這將幫助我們解決各種實(shí)際應(yīng)用,例如具有高度隱私的個(gè)人計(jì)算。因此,二值卷積神經(jīng)網(wǎng)絡(luò)作為解決在提高深度學(xué)習(xí)推理效率以使其更具可擴(kuò)展性和實(shí)用性方面的核心技術(shù)挑戰(zhàn),將會(huì)為整個(gè)社會(huì)帶來巨大利益。

此外,目前二值網(wǎng)絡(luò)應(yīng)用主要面向目標(biāo)分類,一些文章也專門設(shè)計(jì)了針對(duì)于語義分割和目標(biāo)檢測(cè)任務(wù)的二值網(wǎng)絡(luò)。而對(duì)于視頻、語音、其他時(shí)序信號(hào)方面,網(wǎng)絡(luò)量化技術(shù)的發(fā)展和應(yīng)用仍處于較為空白的階段。而面對(duì)這些應(yīng)用,若要取得較好的量化結(jié)果,必須充分考慮應(yīng)用的特點(diǎn),比如視頻信號(hào)具有強(qiáng)幀間相關(guān)性特點(diǎn)。語音、通信信號(hào)為一維信號(hào),量化后可能會(huì)顯示出與二維圖像信號(hào)完全不同的特點(diǎn),要考慮其時(shí)域、頻域特點(diǎn),結(jié)合任務(wù)特征進(jìn)行量化處理。

盡管二值卷積神經(jīng)網(wǎng)絡(luò)中現(xiàn)今已取得很大進(jìn)展,但相對(duì)于全精度網(wǎng)絡(luò)而言,仍然面臨巨大的性能損失,特別是對(duì)大型網(wǎng)絡(luò)和數(shù)據(jù)集。主要原因可能包括:① 尚不清楚哪種網(wǎng)絡(luò)結(jié)構(gòu)是適合二值化的,即未能總結(jié)出網(wǎng)絡(luò)哪些組成即使進(jìn)行二值化之后,也可以保留網(wǎng)絡(luò)中較為充足的信息。② 即 使我們具有用于二值化的梯度估計(jì)器或近似函數(shù),在離散空間中優(yōu)化二進(jìn)制網(wǎng)絡(luò)也是一個(gè)難題。但是通過現(xiàn)有的研究明確了提高二值網(wǎng)絡(luò)表達(dá)能力以及充分挖掘其訓(xùn)練潛力都將對(duì)提高二值網(wǎng)絡(luò)性能產(chǎn)生積極影響。

5 結(jié) 論

本文對(duì)二值卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行全面的綜述,主要從提高網(wǎng)絡(luò)表達(dá)能力與充分挖掘網(wǎng)絡(luò)訓(xùn)練潛力的角度出發(fā),給出當(dāng)前二值卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展脈絡(luò)與研究現(xiàn)狀。具體而言,從二值化量化方法設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì)兩方面進(jìn)行提高網(wǎng)絡(luò)表達(dá)能力方法的概述,從損失函數(shù)設(shè)計(jì)和訓(xùn)練策略兩方面進(jìn)行充分挖掘網(wǎng)絡(luò)訓(xùn)練潛力方法的概述。最后,將二值卷積神經(jīng)網(wǎng)絡(luò)在不同任務(wù)與硬件平臺(tái)的應(yīng)用情況進(jìn)行總結(jié)和討論,并展望了未來研究可能面臨的挑戰(zhàn)。對(duì)于當(dāng)前二值卷積神經(jīng)網(wǎng)絡(luò)的研究,本文總結(jié)如下:

1) 二值卷積神經(jīng)網(wǎng)絡(luò)占用存儲(chǔ)空間小、計(jì)算效率高,研究的主要挑戰(zhàn)是其與全精度網(wǎng)絡(luò)之間巨大的性能差異。

2) 二值網(wǎng)絡(luò)的研究,主要以提高網(wǎng)絡(luò)的表達(dá)能力和挖掘網(wǎng)絡(luò)的訓(xùn)練潛力為主。

3) 針對(duì)于挖掘網(wǎng)絡(luò)訓(xùn)練潛力的方法,在一般情況推理模式下模型存儲(chǔ)和計(jì)算量都不發(fā)生改變,而模型性能提高。

4) 部分對(duì)于以提高網(wǎng)絡(luò)表達(dá)能力為主的方法會(huì)增加網(wǎng)絡(luò)的存儲(chǔ)或計(jì)算量,并容易獲得顯著的性能提升。

5) 現(xiàn)在二值網(wǎng)絡(luò)的應(yīng)用主要以ImageNet數(shù)據(jù)集上的目標(biāo)分類為主,少量研究也在目標(biāo)檢測(cè)、語義分割、目標(biāo)跟蹤、深度估計(jì)、人臉識(shí)別及行人重識(shí)別等應(yīng)用上進(jìn)行驗(yàn)證,表明二值網(wǎng)絡(luò)的適用范圍較廣。

6) 目前將二值網(wǎng)絡(luò)配置在硬件設(shè)備上實(shí)現(xiàn)實(shí)際加速已有一些研究,主要集中在ARM、FPGA上,但開源研究仍較少,由于各種結(jié)構(gòu)設(shè)計(jì)和輔助模塊,在真實(shí)硬件設(shè)備上并不一定有較大的加速比,因此,實(shí)際硬件加速也將是二值網(wǎng)絡(luò)研究的一個(gè)重點(diǎn)方向。

綜上所述,二值卷積神經(jīng)網(wǎng)絡(luò)的研究將對(duì)未來嵌入式小型便攜設(shè)備的發(fā)展產(chǎn)生不可忽略的作用,并可極大推動(dòng)深度學(xué)習(xí)技術(shù)的發(fā)展和應(yīng)用。

猜你喜歡
表達(dá)能力優(yōu)化方法
超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
創(chuàng)新寫作教學(xué),培養(yǎng)表達(dá)能力
談學(xué)生口語表達(dá)能力的培養(yǎng)
甘肅教育(2020年20期)2020-04-13 08:05:22
加強(qiáng)聯(lián)想力和口語表達(dá)能力
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 国产成人综合久久精品尤物| 婷婷久久综合九色综合88| 午夜免费视频网站| 五月激情婷婷综合| 亚洲日韩第九十九页| 精品欧美视频| 国产成人啪视频一区二区三区 | 搞黄网站免费观看| 亚洲一区第一页| 国产青榴视频在线观看网站| 日本亚洲成高清一区二区三区| 国产浮力第一页永久地址| 自慰网址在线观看| 久久精品国产国语对白| 高清大学生毛片一级| 色偷偷综合网| 国产高清无码麻豆精品| 97无码免费人妻超级碰碰碰| 91年精品国产福利线观看久久| 操国产美女| 国产一级裸网站| 亚洲欧美一区二区三区蜜芽| 亚洲国产综合自在线另类| 黑人巨大精品欧美一区二区区| 亚洲小视频网站| 黄色片中文字幕| 天天色天天操综合网| 精品无码国产自产野外拍在线| 亚洲va在线∨a天堂va欧美va| 欧美日韩在线观看一区二区三区| 亚洲丝袜第一页| 日a本亚洲中文在线观看| 婷婷伊人久久| 国产性生交xxxxx免费| 中文字幕免费播放| 久久伊人久久亚洲综合| 久久久久亚洲AV成人人电影软件| 亚洲色大成网站www国产| 国产乱子伦视频三区| 狠狠色噜噜狠狠狠狠奇米777| 久热中文字幕在线观看| 一本大道东京热无码av| 成人午夜视频免费看欧美| 中文无码影院| 午夜毛片福利| 一本视频精品中文字幕| 国产精品永久久久久| www.精品国产| 潮喷在线无码白浆| 色婷婷丁香| 91福利一区二区三区| 无码久看视频| 欧美a级完整在线观看| 日本在线视频免费| 国产国语一级毛片在线视频| 曰AV在线无码| 熟妇丰满人妻| 国产99视频精品免费观看9e| 免费一级成人毛片| 全部无卡免费的毛片在线看| 狼友av永久网站免费观看| aaa国产一级毛片| 色久综合在线| 亚洲天堂首页| 亚洲第一视频网| 免费在线国产一区二区三区精品| 美女扒开下面流白浆在线试听| 亚洲日韩在线满18点击进入| 国产真实乱人视频| 黑人巨大精品欧美一区二区区| 第一页亚洲| 国产美女无遮挡免费视频网站 | 久久久久国色AV免费观看性色| 中文字幕无码电影| 欧美特级AAAAAA视频免费观看| 成人91在线| 91福利片| 日韩在线视频网| 自拍偷拍欧美日韩| 久久人体视频| 日韩在线成年视频人网站观看| av一区二区三区在线观看|