从2019年-2021年的各大顶会论文,看动态神经网络的发展
?PaperWeekly 原創(chuàng) ·?作者 | 小馬
單位?| FightingCV公眾號(hào)運(yùn)營者
研究方向 | 計(jì)算機(jī)視覺
寫在前面
動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)(Dynamic Network)是目前非常熱門也非常具有落地價(jià)值的一個(gè)研究方向,因?yàn)橄啾扔诠潭ńY(jié)構(gòu)和參數(shù)的靜態(tài)神經(jīng)網(wǎng)絡(luò),動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)能夠根據(jù)根據(jù)不同的輸入樣本,自適應(yīng)的為樣本分配最合適的路徑,因此動(dòng)態(tài)網(wǎng)絡(luò)往往比靜態(tài)網(wǎng)絡(luò)具有更高的精度、計(jì)算效率 ,受到了廣大學(xué)術(shù)研究者和算法工程師的歡迎。
下面,在這篇文章中,我們將會(huì)詳細(xì)介紹,在不同領(lǐng)域近幾年動(dòng)態(tài)網(wǎng)絡(luò)的發(fā)展歷程!
動(dòng)態(tài)網(wǎng)絡(luò)工作
2.1 CondConv
論文標(biāo)題:
CondConv: Conditionally Parameterized Convolutions for Efficient Inference
收錄會(huì)議:
NeurIPS 2019
論文地址:
https://arxiv.org/abs/1904.04971
PyTorch代碼:
https://github.com/xmu-xiaoma666/External-Attention-pytorch#5-CondConv-Usage
2.1.1 論文動(dòng)機(jī)
這篇文文章的動(dòng)機(jī)非常簡(jiǎn)單,目前增加模型容量的成本非常高,通常是增加網(wǎng)絡(luò)的深度和寬度。通過增加了網(wǎng)絡(luò)的深度和寬度,模型的參數(shù)量和計(jì)算量也會(huì)成倍的增長,這對(duì)于一些邊緣設(shè)備的部署是非常不友好的。
作者發(fā)現(xiàn),在卷積神經(jīng)網(wǎng)絡(luò)中,不論輸入的樣本是什么,相同的卷積核都作用于這些樣本,這可能是次優(yōu)的,因此,作者在本文中希望能夠根據(jù)輸入的樣本,動(dòng)態(tài)選擇卷積核,從而提高模型的容量 。
具體來說,作者在設(shè)計(jì)的時(shí)候并行的設(shè)置了多個(gè)卷積核,然后設(shè)計(jì)了一個(gè)聚合函數(shù),這些聚合函數(shù)能夠根據(jù)輸入的樣本來動(dòng)態(tài)聚合這些卷積核。由于只進(jìn)行一次卷積,因此多出來的計(jì)算量其實(shí)只有計(jì)算量不同卷積核權(quán)重和聚合卷積核過程中產(chǎn)生的計(jì)算量,而這部分計(jì)算量相比于卷積的計(jì)算量其實(shí)是非常小的。
2.1.2 實(shí)現(xiàn)方法
如上圖所示 ,在 ConvCond 中,每一個(gè)卷積層中有多個(gè)卷積核,作者為每一個(gè)卷積核分配了不同的權(quán)重,然后根據(jù)權(quán)重,將這些卷積核進(jìn)行求和,得到最終的“動(dòng)態(tài)卷積核”。對(duì)于“權(quán)重生成函數(shù)”,作者選用了一個(gè)非常簡(jiǎn)單的操作,即先將輸入樣本的空間維度進(jìn)行 pooling,然后用全連接層降維到卷積核的數(shù)量,最后用 Sigmoid 函數(shù)求權(quán)重,如下所示:
2.2 Dynamic Convolution
論文標(biāo)題:
Dynamic Convolution: Attention over Convolution Kernels
收錄會(huì)議:
CVPR 2020 (Oral)
論文地址:
https://arxiv.org/abs/1912.03458
復(fù)現(xiàn)代碼:
https://github.com/xmu-xiaoma666/External-Attention-pytorch#4-DynamicConv-Usage
2.2.1 論文動(dòng)機(jī)
上圖為目前動(dòng)態(tài)卷積的示意圖,能夠?qū)⒍鄠€(gè)卷積核根據(jù)不同的輸入樣本以不同的權(quán)重進(jìn)行聚合。但是作者發(fā)現(xiàn),目前的動(dòng)態(tài)卷積神經(jīng)網(wǎng)絡(luò)在優(yōu)化上有一定的困難,因?yàn)樗枰獙?duì)所有的卷積核進(jìn)行聯(lián)合優(yōu)化,勢(shì)必會(huì)導(dǎo)致優(yōu)化效率低下。
因此在本文中,作者提出了兩個(gè)點(diǎn)來提高動(dòng)態(tài)卷積的優(yōu)化效率:1)讓同一層所有卷積核權(quán)重的和為1 ;2)在訓(xùn)練早期能夠盡可能優(yōu)化每一個(gè)卷積核,使得所有卷積核都能被訓(xùn)練 。
2.2.2 實(shí)現(xiàn)方法
本文的模型結(jié)構(gòu)如上圖所示,總體上來說和 CondConv 的結(jié)構(gòu)非常像。但是作者根據(jù)上面提出的提高優(yōu)化效率的兩個(gè)點(diǎn),對(duì)“權(quán)重生成函數(shù)”進(jìn)行了更改。首先,為了讓同一層所有卷積核權(quán)重為 1,作者將 CondConv 中的 Sigmoid 換成了 Softmax;其次,為了能夠在訓(xùn)練早期能夠盡可能訓(xùn)練好每一個(gè)卷積核,即權(quán)重盡可能平均,作者將 Softmax 中的溫度參數(shù)變大,實(shí)驗(yàn)也表明,早期用更大的溫度參數(shù),然后逐漸降低溫度參數(shù)能夠達(dá)到更好的實(shí)驗(yàn)性能。
2.3 TRAR
論文標(biāo)題:
TRAR: Routing the Attention Spans in Transformer for Visual Question Answering
收錄會(huì)議:
ICCV 2021
論文地址:
https://openaccess.thecvf.com/content/ICCV2021/papers/Zhou_TRAR_Routing_the_Attention_Spans_in_Transformer_for_Visual_Question_ICCV_2021_paper.pdf
代碼地址:
https://github.com/rentainhe/TRAR-VQA/
2.3.1 論文動(dòng)機(jī)
目前,Transformer 只能感知全局感受野,而對(duì)于像 VQA 和 REC 這樣任務(wù),捕獲局部的對(duì)象對(duì)于最終模型的推理也是非常重要的,但是對(duì)于不同目標(biāo),需要配備不同大小的感受野。而直接配置多感受野的 Transformer 會(huì)導(dǎo)致計(jì)算量和顯存的驟增。
因此,作者在本文中提出了動(dòng)態(tài)路由方案,能夠根據(jù)不同樣本輸入,來自適應(yīng)的選擇感受野,并且選擇感受野的方法通過 mask 來實(shí)現(xiàn),因此每一層只需要計(jì)算一次 Self-Attention,計(jì)算非常輕量級(jí)。
2.3.2 實(shí)現(xiàn)方法
如上圖所示,作者首先對(duì)圖像和文本進(jìn)行編碼,然后圖像信息在進(jìn)行 Self-Attention 的時(shí)候,用不同的 mask 來限制不同的感受野大小。由于有多個(gè)感受野,每個(gè)感受野有其特定的權(quán)重,因此,動(dòng)態(tài) Self-Attention 的計(jì)算可以表示如下:
在計(jì)算每條路徑的權(quán)重時(shí),作者也是采用了類似 SENet 的方法先進(jìn)行空間上的 pooling,然后用 MLP 和 Softmax 獲得每條路徑的權(quán)重:
由于作者在本文中并沒有進(jìn)行多次 Self-Attention,引入的計(jì)算量只是聚合 mask 和計(jì)算 mask 權(quán)重的計(jì)算量,因此是一個(gè)輕量級(jí)的動(dòng)態(tài)網(wǎng)絡(luò)。
2.4 DynamicRouting
論文標(biāo)題:
Learning Dynamic Routing for Semantic Segmentation
收錄會(huì)議:
CVPR 2020 (Oral)
論文地址:
https://arxiv.org/abs/2003.10401
代碼地址:
https://github.com/Megvii-BaseDetection/DynamicRouting
2.4.1 論文動(dòng)機(jī)
語義分割是一個(gè)對(duì)圖像大小的分辨率非常敏感的任務(wù),對(duì)于小目標(biāo),需要用較大的分辨率對(duì)其進(jìn)行處理;對(duì)于大目標(biāo),可以使用相對(duì)較小的分辨率減少計(jì)算量。但是目前無論是 NAS 和手工設(shè)計(jì)的網(wǎng)絡(luò),對(duì)于所有的樣本都采用了相同的處理方式,因此分辨率的變化都是相同的。為了能夠讓網(wǎng)絡(luò)能夠感知不同尺度分布的圖片,作者采用了動(dòng)態(tài)路由的思想,讓網(wǎng)絡(luò)能夠根據(jù)圖片的內(nèi)容,在網(wǎng)絡(luò)中自適應(yīng)的根據(jù)圖片的內(nèi)容進(jìn)行圖像分辨率的調(diào)整,從而達(dá)到較高的計(jì)算效率和計(jì)算性能 。
2.4.2 實(shí)現(xiàn)方法
本文的結(jié)構(gòu)如上圖所示,作者首先用一個(gè) STEM 層降低圖片的分辨率,然后在后面的網(wǎng)絡(luò)都都設(shè)置了四個(gè)候選分辨率,圖片能夠根據(jù)當(dāng)前的輸入特征來動(dòng)態(tài)選擇是保持當(dāng)前分辨率還是增大或者縮小分辨率。
由于較大的分辨率可以達(dá)到更好的性能,因此網(wǎng)絡(luò)在訓(xùn)練時(shí)可能會(huì)盡可能選擇更大的分辨率,從而造成計(jì)算性能的浪費(fèi)。為了達(dá)到更好的 trade-off,作者在損失函數(shù)中加了一項(xiàng)計(jì)算資源的約束,使用模型在計(jì)算資源和性能上達(dá)到更好的平衡。
2.5 DRConv
論文標(biāo)題:
Dynamic Region-Aware Convolution
收錄會(huì)議:
CVPR 2021
論文地址:
https://arxiv.org/abs/2003.12243
2.5.1 論文動(dòng)機(jī)
之前的靜態(tài)卷積網(wǎng)絡(luò),對(duì)于樣本的每一個(gè)像素都采用了相同的卷積核,導(dǎo)致模型容量較低;為了克服這個(gè)缺點(diǎn),有一些工作提出為每一個(gè)像素采用不同的卷積,這會(huì)造成兩個(gè)問題:第一,參數(shù)量的驟增;第二,失去了平移不變性。為了能夠兼顧這兩者的優(yōu)點(diǎn),如上圖所示,作者采用了動(dòng)態(tài)網(wǎng)絡(luò)的思想,首先根據(jù)輸入的特征生成幾個(gè)候選卷積核,然后根據(jù)每個(gè)像素的內(nèi)容,動(dòng)態(tài)為每個(gè)像素位置,選擇最合適的卷積核 。
2.5.2 實(shí)現(xiàn)方法
文章的大致思想就是,根據(jù)輸入的特征,利用卷積來生成 guided mask,然后根據(jù)這些 guided mask 來為不同的像素位置選擇卷積核。
由于在生成 mask 的時(shí)候用到了 argmax,導(dǎo)致這一步是不可微的。為了得到這一步的導(dǎo)數(shù),作者采用了 softmax 來模擬了 argmax 的導(dǎo)數(shù),使得反向傳播可以進(jìn)行。
在本文中,這些候選卷積核也是根據(jù)輸入樣本動(dòng)態(tài)生成的,生成方式如上圖所示,首先進(jìn)行 Average Pooling,然后用卷積生成更高維度的特征,最后用 reshape 為多個(gè)卷積核。
2.6 RANet
論文標(biāo)題:
Resolution Adaptive Networks for Efficient Inference
收錄會(huì)議:
CVPR 2020
論文地址:
https://arxiv.org/abs/2003.07326
代碼地址:
https://github.com/yangle15/RANet-pytorch
2.6.1 論文動(dòng)機(jī)
目前靜態(tài)的網(wǎng)絡(luò)對(duì)于不同難度的樣本都分配了相同的計(jì)算量,這就會(huì)導(dǎo)致對(duì)簡(jiǎn)單樣本分配太多計(jì)算資源,造成浪費(fèi);對(duì)困難樣本分類了太少的計(jì)算量,導(dǎo)致精度太低。
為了解決這個(gè)問題,作者提出了自適應(yīng)分辨率網(wǎng)絡(luò) RANet,在這個(gè)網(wǎng)絡(luò)中,模型首先會(huì)用一個(gè)小網(wǎng)絡(luò)對(duì)樣本用小分辨率進(jìn)行分類,如果置信度足夠高,則退出網(wǎng)絡(luò);否則將輸出特征和更大分辨率的圖片輸入到下一個(gè)網(wǎng)絡(luò)中,直到經(jīng)歷過了所有網(wǎng)絡(luò)或者置信度足夠高,則退出網(wǎng)絡(luò)。
這樣,簡(jiǎn)單樣本就可以占用更少的計(jì)算資源,而復(fù)雜樣本會(huì)占用更多的計(jì)算資源,并且小分辨率的計(jì)算結(jié)構(gòu)能夠用于下一個(gè)子網(wǎng)的進(jìn)一步計(jì)算量,不會(huì)浪費(fèi)。
2.6.2 實(shí)現(xiàn)方法
本文的大致結(jié)構(gòu)如上圖所示,網(wǎng)絡(luò)分為多個(gè)分辨率的子網(wǎng),每個(gè)分辨率子網(wǎng)中有多個(gè)分類器,如果低分辨率的分類器達(dá)到足夠高的置信度則退出網(wǎng)絡(luò),節(jié)省計(jì)算量;否則繼續(xù)用更高的計(jì)算量處理,直到置信度更高,或者經(jīng)過了所有網(wǎng)絡(luò)。
每個(gè)子網(wǎng)的結(jié)構(gòu)如上圖所示,當(dāng)前模塊生成的特征除了輸入到下一個(gè)模塊,還會(huì)輸入到更高的分辨率中,從而重復(fù)利用特征,充分利用計(jì)算資源。
2.7 DyFPN
論文標(biāo)題:
Dynamic Feature Pyramid Networks for Object Detection
論文地址:
https://arxiv.org/abs/2012.00779
代碼地址:
https://github.com/Mingjian-Zhu/DyFPN
2.7.1 論文動(dòng)機(jī)
對(duì)于目標(biāo)檢測(cè)來說,感知多尺度的信息是非常重要的,因此作者嘗試將 Inception 結(jié)構(gòu)加入到了 FPN 中,但是 Inception FPN 在每一次計(jì)算中都會(huì)用到所有的卷積,導(dǎo)致計(jì)算效率非常低。因此,為了提高計(jì)算效率,作者借鑒了動(dòng)態(tài)網(wǎng)絡(luò)的思想,在每次前向傳播的時(shí)候,根據(jù)輸入樣本的信息來動(dòng)態(tài)選擇用哪個(gè)卷積進(jìn)行處理。
2.7.2 實(shí)現(xiàn)方法
本文的結(jié)構(gòu)如上圖所示,由三個(gè)部分組成:Inception 結(jié)構(gòu),動(dòng)態(tài) gate 和殘差連接。Inception 結(jié)構(gòu)用于構(gòu)建多尺度建模的路由空間;動(dòng)態(tài) gate 用于生成路由信號(hào)。由于這里在前向傳播的時(shí)候只能選擇一個(gè)卷積核,因此作者也采用了 Gumbel Softmax Trick,來解決 argmax 不能求梯度的問題。另外,為了平衡計(jì)算量和性能直接的平衡,作者也像《Learning Dynamic Routing for Semantic Segmentation》一樣,在損失函數(shù)中加了一項(xiàng)用于限制計(jì)算量的子項(xiàng)。
2.8 Dynamic Vision Transformers
論文標(biāo)題:
Not All Images are Worth 16x16 Words: Dynamic Vision Transformers with Adaptive Sequence Length
收錄會(huì)議:
NeurIPS 2021
論文地址:
https://arxiv.org/abs/2105.15075
代碼地址:
https://github.com/blackfeather-wang/Dynamic-Vision-Transformer
2.8.1 論文動(dòng)機(jī)
在 ViT 中,對(duì)于所有樣本都采用了 14x14 個(gè) patch,沒有區(qū)分樣本的難度。但是對(duì)于簡(jiǎn)單樣本,這樣分 patch 的方法可能太奢侈了,對(duì)于復(fù)雜樣本,這樣的分 patch 可能不夠精細(xì)。 因此為了達(dá)到更高的性能和更高的計(jì)算效率,作者借鑒了動(dòng)態(tài)網(wǎng)絡(luò)的思想,根據(jù)樣本的難度,來動(dòng)態(tài)分配 patch 的分割方式。
2.8.2 實(shí)現(xiàn)方法
這篇文章的總體設(shè)計(jì)思想和黃高老師的《Resolution Adaptive Networks for Efficient Inference》很像,首先先用粗粒度的方式進(jìn)行分 patch,然后輸出到 Vision Transformer 中,根據(jù)置信度判斷是否要退出,如果置信度沒有達(dá)到標(biāo)準(zhǔn),那么就將處理結(jié)果和更細(xì)粒度分 patch 的圖片輸入到下一個(gè) ViT 中,直到滿足置信度要求,或經(jīng)過了所有網(wǎng)絡(luò)為止。
2.9 Dynamic Resolution Network
論文標(biāo)題:
Dynamic Resolution Network
收錄會(huì)議:
NeurIPS 2021
論文地址:
https://arxiv.org/abs/2106.02898
2.9.1 論文動(dòng)機(jī)
這篇文章的 Motivation 和《Resolution Adaptive Networks for Efficient Inference》相似,作者認(rèn)為不同樣本應(yīng)該以不同分辨率處理,簡(jiǎn)單樣本的分辨率可以較小一些,復(fù)雜樣本的分辨率可以較大一些 ,從而達(dá)到更好的計(jì)算量和模型性能之間的平衡。
2.9.2 實(shí)現(xiàn)方法
本文的模型結(jié)構(gòu)如上圖所示,主要由兩部分組成:用于預(yù)測(cè)輸入樣本分辨率的分辨率預(yù)測(cè)器和用于分類的基礎(chǔ)網(wǎng)絡(luò)。首先分辨率預(yù)測(cè)器用一個(gè)非常簡(jiǎn)單的網(wǎng)絡(luò)對(duì)不同的樣本生成合適的分辨率結(jié)果,并根據(jù)這個(gè)分辨率結(jié)果,將輸入的圖片 resize 到相應(yīng)的大小,然后將 resize 之后的圖片輸入到基礎(chǔ)網(wǎng)絡(luò)中,這些圖片具有不同的分辨率。
由于不同分辨率的圖片通常具有不同的統(tǒng)計(jì)量,為了能夠適應(yīng)不同分辨率的訓(xùn)練,作者在基礎(chǔ)網(wǎng)絡(luò)中設(shè)置了多個(gè) BN,每個(gè) BN 對(duì)應(yīng)一個(gè)候選分辨率,從而能夠在不引入太多計(jì)算量和參數(shù)量的情況下,考慮不同分辨率的數(shù)據(jù)分布。
總結(jié)
目前,動(dòng)態(tài)網(wǎng)絡(luò)的研究非?;馃?#xff0c;已經(jīng)滲透到了各個(gè)任務(wù)中,并且也達(dá)到了非常好的效果,尤其是在平衡計(jì)算量和性能方面展現(xiàn)出了非常高的水平。相信在將來,動(dòng)態(tài)網(wǎng)絡(luò)除了能夠成為更高效的網(wǎng)絡(luò)之外,還能促進(jìn)其他方向的發(fā)展。比如,對(duì)于多任務(wù),根據(jù)目標(biāo)任務(wù)來動(dòng)態(tài)選擇網(wǎng)絡(luò)等等。
特別鳴謝
感謝 TCCI 天橋腦科學(xué)研究院對(duì)于 PaperWeekly 的支持。TCCI 關(guān)注大腦探知、大腦功能和大腦健康。
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。
總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得或競(jìng)賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來。
📝?稿件基本要求:
? 文章確系個(gè)人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺(tái)已發(fā)表或待發(fā)表的文章,請(qǐng)明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競(jìng)爭(zhēng)力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請(qǐng)備注即時(shí)聯(lián)系方式(微信),以便我們?cè)诟寮x用的第一時(shí)間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
🔍
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
·
總結(jié)
以上是生活随笔為你收集整理的从2019年-2021年的各大顶会论文,看动态神经网络的发展的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 父巴龙山建囯档案袋不算抗美援朝不算194
- 下一篇: 2003年生的2027年可以去当兵吗?