在過(guò)去了幾年里,動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)非常熱,熱到每周都能看到幾篇不錯(cuò)的動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)論文上傳到arxiv。那么什么是動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)呢?它有有哪些類(lèi)型呢?它的研究現(xiàn)狀如何呢?接下來(lái),就由Happy帶領(lǐng)大家簡(jiǎn)單回顧一下咯。
Abstract
Abstract 動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)已成為深度學(xué)習(xí)新型研究課題。相比靜態(tài)模型(固定計(jì)算圖、固定參數(shù)),動(dòng)態(tài)網(wǎng)絡(luò)可以按照不同輸入自適應(yīng)調(diào)整自身結(jié)構(gòu)或者參數(shù)量,導(dǎo)致了精度、計(jì)算效率、自適應(yīng)等方面的顯著優(yōu)勢(shì)。
本文對(duì)動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)進(jìn)行了系統(tǒng)性的綜述并將其分為三大類(lèi):
instance-wise 它采用數(shù)據(jù)依賴(lài)的結(jié)構(gòu)或參數(shù)處理每個(gè)樣例;
spatial-wise 它采用與圖像空域位置相關(guān)的方式進(jìn)行自適應(yīng)計(jì)算;
temporal-wise 它驗(yàn)證序列數(shù)據(jù)(比如視頻、文本)的時(shí)間維度進(jìn)行自適應(yīng)推理。
相比靜態(tài)網(wǎng)絡(luò),動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)有這樣幾個(gè)優(yōu)勢(shì):
Efficiency
Representation power
Adaptiveness
Compatibility
Generality
Interpretability
本文對(duì)動(dòng)態(tài)網(wǎng)絡(luò)的幾個(gè)重要組成部分(比如結(jié)構(gòu)設(shè)計(jì)、決策機(jī)制、優(yōu)化技術(shù)以及應(yīng)用)進(jìn)行了系統(tǒng)性研究,最后我們對(duì)該領(lǐng)域的開(kāi)問(wèn)題以及未來(lái)研究方向進(jìn)行了討論。
Instance-wise
實(shí)例級(jí)動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)旨在通過(guò)數(shù)據(jù)依賴(lài)方式處理不同樣例,它一般從以下兩個(gè)角度出發(fā)進(jìn)行設(shè)計(jì):
基于不同樣例分配適當(dāng)計(jì)算量達(dá)到調(diào)整網(wǎng)絡(luò)架構(gòu)的目的,因此可以在easy樣例上降低冗余計(jì)算,進(jìn)而達(dá)到改善推理效率的目的;
針對(duì)不同樣例調(diào)整網(wǎng)絡(luò)參數(shù)且保持計(jì)算圖不變,通過(guò)小幅提升計(jì)算量達(dá)到提升模型表達(dá)能力的目的。
接下來(lái),我們將從以上兩個(gè)角度出發(fā),對(duì)現(xiàn)有實(shí)例級(jí)動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)進(jìn)行介紹。
Dynamic Architectures
假設(shè)不同的輸入具有不同的計(jì)算需求,一種自然的方式:根據(jù)輸入動(dòng)態(tài)調(diào)整推理時(shí)的架構(gòu)。具體來(lái)說(shuō),我們可以調(diào)整網(wǎng)絡(luò)的深度、寬度或者動(dòng)態(tài)路徑。具有動(dòng)態(tài)架構(gòu)的網(wǎng)絡(luò)不僅可以節(jié)省對(duì)于簡(jiǎn)單樣例冗余計(jì)算,而且保證對(duì)于困難樣例的表達(dá)能力。相比靜態(tài)模型的加速技術(shù),該方案可以帶來(lái)顯著的效率優(yōu)勢(shì)。
Dynamic Depth
為識(shí)別“困難”樣例,目前CNN的結(jié)構(gòu)變得越來(lái)越深,一種直觀的解決方案:在推理階段采用動(dòng)態(tài)網(wǎng)絡(luò)深度減少冗余計(jì)算。關(guān)于動(dòng)態(tài)深度有兩種實(shí)現(xiàn)方式:
Early exiting:對(duì)于“簡(jiǎn)單”樣例提前退出。常見(jiàn)“早退”方案有以下三種形式:
Cascading DNNs,見(jiàn)下圖a。
Intermediate Classifier,見(jiàn)下圖b;
Multi-scale architecture with early exits,見(jiàn)Fig2-a。
Layer skipping:進(jìn)行自適應(yīng)的中間特征跳過(guò)。常見(jiàn)的“層跳過(guò)”有以下幾種形式:
The halting score 見(jiàn)下圖a;
Gating Function,見(jiàn)下圖b;
Policy Network,見(jiàn)下圖c。
Dynamic Width
動(dòng)態(tài)寬度是動(dòng)態(tài)深度之外的另一種選擇:盡管每個(gè)層都需要執(zhí)行,但它的多個(gè)成分(比如神經(jīng)元、分支或者通道)將根據(jù)輸入自適應(yīng)選擇。
給出了幾個(gè)常見(jiàn)動(dòng)態(tài)寬度方案:
Dynamic width of FC Layers
Mixture of Experts(MoE),見(jiàn)上圖a和b;
Dynamic channel pruning in CNNs,
Dynamic Routing
除了動(dòng)態(tài)深度、動(dòng)態(tài)寬度外,還有一種動(dòng)態(tài)路徑的方案(見(jiàn)上面圖c):SuperNet中的計(jì)算路徑根據(jù)輸入自適應(yīng)調(diào)整。關(guān)于SuperNet及其路徑?jīng)Q策主要有以下幾種方案:
Path selection in multi-branch structures
Neural trees and tree-structured networks
Others,主要見(jiàn)諸于NAS。
Dynamic Parameters
盡管前面提到的動(dòng)態(tài)架構(gòu)可以按照不同樣例自適應(yīng)調(diào)整推理圖并取得有效計(jì)算量分配,但它們通常需要特定的架構(gòu)設(shè)計(jì)、特定的訓(xùn)練策略或者精心的超參數(shù)調(diào)整。
那么另一條線來(lái)了:保持推理架構(gòu)不變,但網(wǎng)絡(luò)參數(shù)自適應(yīng)調(diào)整。已有研究已證實(shí)其有效性:通過(guò)小幅提升計(jì)算量改進(jìn)網(wǎng)絡(luò)的表達(dá)能力。給定輸入
x,靜態(tài)參數(shù)網(wǎng)絡(luò)(模塊)的輸出可以描述為:
y=F(x,Θ);與之對(duì)立的,動(dòng)態(tài)參數(shù)網(wǎng)絡(luò)的輸出描述如下:
y=F(x,^Θ|x)=F(x,W(x,Θ))其中,
W(?,Θ)用于生成動(dòng)態(tài)參數(shù),
W的不同選擇已得到了充分的探索。
一般來(lái)說(shuō),參數(shù)自適應(yīng)可以通過(guò)以下三種方式(可參見(jiàn)上圖)得到:
基于輸入調(diào)整訓(xùn)練參數(shù);
根據(jù)輸入直接生成網(wǎng)絡(luò)參數(shù);
采用軟注意力調(diào)整特征。
Parameter Adjustment
參數(shù)自適應(yīng)的一種典型方法:在推理階段,根據(jù)輸入調(diào)整網(wǎng)絡(luò)權(quán)值。通常來(lái)講,該過(guò)程通過(guò)非常少的計(jì)算量生成這種調(diào)整,比如注意力權(quán)值、采樣偏移。
Attention on weights 可訓(xùn)練參數(shù)量時(shí)影響表達(dá)能力的重要因素。動(dòng)態(tài)網(wǎng)絡(luò)(比如谷歌的CondConv、微軟DY-CNN)在多個(gè)卷積核上執(zhí)行軟注意力生成自適應(yīng)集成參數(shù),它不會(huì)導(dǎo)致明顯的計(jì)算量提升。假設(shè)有N個(gè)核
Wn,n=1,2,?,N,該動(dòng)態(tài)卷積定義如下:
y=x?~W=x?(N∑n=1αnWn)
該過(guò)程可以顯著提升模型的容量(capacity)且保持高效性,因?yàn)槎喾种矸e融合等價(jià)于多卷積核參數(shù)融合后的單次卷積,而后者僅需前者
1/N的計(jì)算量。
權(quán)值調(diào)整還可以通過(guò)在卷積核的空域位置上實(shí)施軟注意力。比如,PAC(pixel-adaptive convolution)在每一層根據(jù)輸入生成注意力掩碼對(duì)卷積核進(jìn)行調(diào)整。
Kernel shape adaptation 除了自適應(yīng)調(diào)整權(quán)值外,參數(shù)調(diào)整還可以用于調(diào)整卷積核的形狀達(dá)到動(dòng)態(tài)感受野的作用。比如,Deformable Convolution、Deformable Kernel。下表從不同角度對(duì)比了該方向的幾個(gè)方法。
Weight prediction
相比于在線修改模型參數(shù),權(quán)值預(yù)測(cè)更為直接:在測(cè)試階段采用子網(wǎng)絡(luò)直接生成參數(shù)。
DFN(Dynamic Filter Network)與HyperNetwork是兩個(gè)經(jīng)典的實(shí)現(xiàn)運(yùn)行時(shí)權(quán)值預(yù)測(cè)的CNN和RNN方案。具體來(lái)說(shuō),DFN采用濾波器生成網(wǎng)絡(luò)為卷積生成濾波器。曠視科技提出的WeightNet則將CondConv與SENet納入到同一框架中,它通過(guò)分組全連接層生成卷積核,在精度-Flops、精度-參數(shù)量方面取得了極具競(jìng)爭(zhēng)力的結(jié)果。其他類(lèi)似的方法有:CARAFE、VSR-DUF等。
Dynamic Features
在推理階段通過(guò)調(diào)整或生成參數(shù)的主要影響在于生成更動(dòng)態(tài)的、信息豐富的特征,進(jìn)而增強(qiáng)了深度模型的表達(dá)能力。一種更直接的方式:采用輸入相關(guān)的軟注意力調(diào)整特征,見(jiàn)前面Figure6-c。這種類(lèi)型的動(dòng)態(tài)特征更易于得到,僅需要在計(jì)算圖上作微小調(diào)整。對(duì)于線性變換
F,在輸入特征執(zhí)行注意力
α等價(jià)于調(diào)整參數(shù):
F(x,Θ)?α=F(x,Θ?α)Channel-wise attention 一種常用軟注意力機(jī)制:動(dòng)態(tài)縮放不同通道的特征,比如SENet:
~y=y?α=y?A(y)當(dāng)把卷積納入考慮時(shí),上述過(guò)程空域成如下形式:
~y=(x?W)?α=x?(W?α)也就是說(shuō):特征上的注意力等價(jià)于動(dòng)態(tài)權(quán)值的卷積。
不同形式的注意力得到了了探索,比如采用標(biāo)準(zhǔn)差提供更多統(tǒng)計(jì)信息,采用更高效的1D卷積替換全連接層??偠灾?,通道注意力可以概括為以下三種形式:
~y=y?A(y)
~y=y?A(x)
~y=y?A(Conv(x))Spatial-wise attention 特征還可以在從空域位置角度采用注意力進(jìn)行動(dòng)態(tài)調(diào)整以改進(jìn)深度模型的表達(dá)能力。更進(jìn)一步,通道與空域注意力還可以集成到一個(gè)框架中,比如BAM、CBAM。
Dynamic activation functions 前面兩種在激活函數(shù)之前通過(guò)軟注意力生成動(dòng)態(tài)特征。近期一些工作開(kāi)始嘗試通過(guò)動(dòng)態(tài)激活函數(shù)提升模型的表達(dá)能力。比如,DY-ReLU采用N個(gè)線性變換
yc=maxn{ancxc+bnc}的最大值替換ReLU
yc=max(xc,0);此外還有曠視科技提出的FReLU、ACON。動(dòng)態(tài)激活函數(shù)能能與現(xiàn)有網(wǎng)絡(luò)架構(gòu)兼容,已在不同視覺(jué)任務(wù)中證實(shí)了其有效性。
總而言之,由于簡(jiǎn)單、有效性,軟注意力已在多個(gè)領(lǐng)域得到探索,而且,軟注意力能方便的與其他方法集成組合。
Spatial-wise Dynamic Network
在視覺(jué)學(xué)習(xí)中,并非所有位置對(duì)于最終的預(yù)測(cè)起均等貢獻(xiàn),這意味著:空域動(dòng)態(tài)計(jì)算有極大潛力降低計(jì)算冗余。換句話說(shuō),僅需通過(guò)自適應(yīng)方式計(jì)算一定比例的像素或者區(qū)域即可做出一個(gè)正確的決策。已有研究表明:對(duì)于大部分輸入而言,低分辨率表達(dá)已足以得到一個(gè)不錯(cuò)的性能,CNN采用相同分辨率的輸入無(wú)疑會(huì)造成冗余計(jì)算。
為此,空域動(dòng)態(tài)網(wǎng)絡(luò)旨在采用圖像的不同空域位置進(jìn)行自適應(yīng)推理。按照動(dòng)態(tài)計(jì)算的粒度,我們將其分為:
pixel level
region level
resolution level
Pixel-level Dynamic Networks
按照前述分類(lèi),像素級(jí)動(dòng)態(tài)包含有以下兩種類(lèi)型:
dynamic architectures:采用動(dòng)態(tài)架構(gòu)處理每個(gè)像素;
dynamic parameters:采用動(dòng)態(tài)參數(shù)處理每個(gè)像素。
Pixel-wise dynamic architectures
基于這樣的認(rèn)知:前景像素更具信息價(jià)值,其計(jì)算需求要比背景更高。一些網(wǎng)絡(luò)嘗試對(duì)每個(gè)像素調(diào)整其網(wǎng)絡(luò)架構(gòu),現(xiàn)有方案可以劃分為以下兩種:
Dynamic sparse convolution:僅在子集像素區(qū)域進(jìn)行卷積計(jì)算,見(jiàn)下圖。
Dynamic additional refinement:不同于采樣子集進(jìn)行計(jì)算計(jì)算,另外一條線是:現(xiàn)在整個(gè)特征層面執(zhí)行相對(duì)廉價(jià)的卷積,然后自適應(yīng)激活額外的模塊在特定像素上進(jìn)行更進(jìn)一步的提煉。
Pixel-wise dynamic parameters
不同于在像素子集上完整調(diào)整卷積計(jì)算,動(dòng)態(tài)網(wǎng)絡(luò)還可以對(duì)每個(gè)像素執(zhí)行數(shù)據(jù)依賴(lài)的卷積以提升其表達(dá)能力或者感受野?,F(xiàn)有方案主要有以下三種:
Dynamic weights,包含動(dòng)態(tài)卷積、動(dòng)態(tài)區(qū)域卷積等。
Dynamic reception fields,包含形變卷積、自適應(yīng)鏈接網(wǎng)絡(luò)等。
Pixel-wise dynamic feature,包含空域注意力。
Region-level Dynamic Networks
像素級(jí)動(dòng)態(tài)網(wǎng)絡(luò)需要特定的計(jì)算庫(kù)以適配稀疏計(jì)算,在實(shí)際硬件上加速極為有限。另一種可選方案:在區(qū)域或者塊級(jí)進(jìn)行自適應(yīng)推理。主要包含兩條線路:
Dynamic transformations:常見(jiàn)于細(xì)粒度圖像分類(lèi);
Hard attention:比如GFNet、RA-CNN。
Resolution-level Dynamic Networks
上面的討論是將特征分成不同的區(qū)域,然后采用自適應(yīng)方式對(duì)不同區(qū)域進(jìn)行處理。然而,所涉及的稀疏采樣、裁剪奧做會(huì)導(dǎo)致實(shí)際效率的價(jià)格降低。另外,動(dòng)態(tài)網(wǎng)絡(luò)可以把不同分辨率的圖像視作整體:低分辨率圖像對(duì)于“簡(jiǎn)單”樣例足夠有效?,F(xiàn)有的分辨率級(jí)動(dòng)態(tài)網(wǎng)絡(luò)可以分為以下兩種:
Adaptive scaling ratios:采用自適應(yīng)縮放因子對(duì)特征進(jìn)行上/下采樣達(dá)到動(dòng)態(tài)分辨率目的。
Dynamic resolution in multi-scale architectures:采用并行/級(jí)聯(lián)方式構(gòu)建多個(gè)子網(wǎng)絡(luò)以達(dá)到動(dòng)態(tài)分辨率目的。
Inference and Training
從前面介紹可以看到:推理階段的數(shù)據(jù)依賴(lài)決策對(duì)于獲得高性能、高效率推理非常重要;此外,訓(xùn)練動(dòng)態(tài)網(wǎng)絡(luò)通常比靜態(tài)網(wǎng)絡(luò)更具挑戰(zhàn)性。
由于參數(shù)的自適應(yīng)性可以通過(guò)SGD直接優(yōu)化訓(xùn)練得到,且無(wú)需特定技術(shù)。接下來(lái)我們主要針對(duì)離散決策、訓(xùn)練策略進(jìn)行介紹。
Decision Making of Dynamic Networks
推理階段的數(shù)據(jù)依賴(lài)決策主要有以下三種:
Confidence-based Criteria
Policy Networks
Gating Functions
Training of Dynamic Networks
從目標(biāo)與優(yōu)化兩個(gè)角度簡(jiǎn)單匯總了訓(xùn)練動(dòng)態(tài)網(wǎng)絡(luò)的策略:
Training objectives for efficient inference:在這方面有分為以下幾種:
Trainng multi-exit networks,
Encouraging sparsity,包含稀疏正則
Other techniques,包含知識(shí)蒸餾等
Optimization of non-differentiable functions:
Gradient estimation,包含STE等;
Reparameterization techniques,包含Gumbel Softmax等;
Reinforcement learning,包含RL等。
Application of Dynamic Networks
接下來(lái),我們將匯總以下動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)的典型應(yīng)用,見(jiàn)下表。
可以看到:
對(duì)于圖像識(shí)別來(lái)說(shuō),動(dòng)態(tài)CNN大多為instance-wise和spatial-wise形式;
對(duì)于文本數(shù)據(jù)來(lái)說(shuō),其推理框架大多為itemporal-wis形式;
對(duì)于視頻相關(guān)任務(wù),三種類(lèi)型的動(dòng)態(tài)推理可同時(shí)使用;
動(dòng)態(tài)網(wǎng)絡(luò)還可以用于解決深度學(xué)習(xí)中的基礎(chǔ)問(wèn)題,比如:
緩解over-thinking降低整體計(jì)算量;
引入早退機(jī)制進(jìn)行長(zhǎng)尾分類(lèi);
提升模型魯棒性
在多任務(wù)框架下降低訓(xùn)練耗時(shí);
在遷移學(xué)習(xí)中尋找最優(yōu)微調(diào)策略。
編輯:jq
-
濾波器
+關(guān)注
關(guān)注
162文章
8207瀏覽量
184027 -
谷歌
+關(guān)注
關(guān)注
27文章
6238瀏覽量
109822 -
PAC
+關(guān)注
關(guān)注
0文章
72瀏覽量
28577 -
DFN
+關(guān)注
關(guān)注
0文章
15瀏覽量
8754
原文標(biāo)題:【綜述】一文概覽動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)
文章出處:【微信號(hào):cas-ciomp,微信公眾號(hào):中科院長(zhǎng)春光機(jī)所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
液態(tài)神經(jīng)網(wǎng)絡(luò)(LNN):時(shí)間連續(xù)性與動(dòng)態(tài)適應(yīng)性的神經(jīng)網(wǎng)絡(luò)

BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的比較
BP神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點(diǎn)分析
什么是BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法
BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的關(guān)系
BP神經(jīng)網(wǎng)絡(luò)的基本原理
深度學(xué)習(xí)入門(mén):簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)的構(gòu)建與實(shí)現(xiàn)
人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

一文詳解物理信息神經(jīng)網(wǎng)絡(luò)

卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較
RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的區(qū)別
LSTM神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與工作機(jī)制
LSTM神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)RNN的區(qū)別
LSTM神經(jīng)網(wǎng)絡(luò)的基本原理 如何實(shí)現(xiàn)LSTM神經(jīng)網(wǎng)絡(luò)
Moku人工神經(jīng)網(wǎng)絡(luò)101

評(píng)論