DenseNet發(fā)明者黃高:動態(tài)模型好在哪里?

智源導(dǎo)讀:自2012年至今,計(jì)算機(jī)視覺領(lǐng)域蓬勃發(fā)展,各種模型不斷涌現(xiàn),短短 8 年時(shí)間,計(jì)算機(jī)視覺領(lǐng)域便發(fā)生了天翻地覆的變化。那么如何看待過往變化,當(dāng)下研究又如何?
12月10日晚,在【青源Talk】第 3 期上,清華大學(xué)助理教授,智源青年科學(xué)家黃高將計(jì)算機(jī)視覺中的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)從2012年至今的發(fā)展,劃分為三個(gè)階段,并分析了各個(gè)階段的特點(diǎn):
-> 2012-2015,為快速發(fā)展期;
-> 2015-2017,為成熟期;
-> 2017-至今,為繁榮期。
在此之后,黃高重點(diǎn)講解了當(dāng)下 CV 深度模型設(shè)計(jì)領(lǐng)域的兩大研究方向,NAS 和動態(tài)網(wǎng)絡(luò),特別是后者。聽其報(bào)告,我們能夠感受到黃高的工作優(yōu)美、簡單且自然。
在演講之后的交流中,黃高向與會的學(xué)生們強(qiáng)調(diào)了一條科研經(jīng)驗(yàn):研究需要韌性。
本文根據(jù)演講內(nèi)容整理,供讀者參考。報(bào)告視頻及PPT下載地址:https://hub.baai.ac.cn/view/4937
整理:賈偉、周寅張皓
校對:廖璐
黃高 · 簡介
黃高是清華大學(xué)自動化系助理教授,博士生導(dǎo)師。2015年獲清華大學(xué)博士學(xué)位,2015年至2018年在美國康奈爾大學(xué)計(jì)算機(jī)系從事博士后科研工作。主要研究領(lǐng)域?yàn)樯疃葘W(xué)習(xí)和計(jì)算機(jī)視覺,提出了主流卷積網(wǎng)絡(luò)模型DenseNet。目前在NeurIPS,ICML,CVPR等國際頂級會議及IEEE多個(gè)匯刊共計(jì)發(fā)表學(xué)術(shù)論文50余篇,被引用18000余次。獲CVPR最佳論文獎、達(dá)摩院青橙獎、世界人工智能大會SAIL先鋒獎、中國自動化學(xué)會優(yōu)秀博士學(xué)位論文、全國百篇最具影響國際學(xué)術(shù)論文、中國人工智能學(xué)會自然科學(xué)一等獎和吳文俊優(yōu)秀青年獎等榮譽(yù),入選智源青年學(xué)者計(jì)劃。
01. 視覺模型的發(fā)展

在過去一些年里,計(jì)算機(jī)視覺領(lǐng)域涌現(xiàn)出許多經(jīng)典的深度學(xué)習(xí)的網(wǎng)絡(luò)架構(gòu)。這說明網(wǎng)絡(luò)的架構(gòu)在深度學(xué)習(xí)(計(jì)算機(jī)視覺)中尤為重要。原因是什么?
黃高認(rèn)為網(wǎng)絡(luò)架構(gòu)的重要性體現(xiàn)在四個(gè)方面,分別為:表達(dá)能力、優(yōu)化特性、泛化性能和計(jì)算/存儲效率。
表達(dá)能力:不同網(wǎng)絡(luò)結(jié)構(gòu),其表達(dá)能力顯然不同。舉例來說,線性模型,無論多深,仍然只是線性模型,其表達(dá)能力有限。
優(yōu)化性能:ResNet出現(xiàn)之前,所謂的“深度網(wǎng)絡(luò)”并不很深,當(dāng)時(shí)最深的GoogleNet、Inception等也僅 20 多層。這并非當(dāng)時(shí)硬件不足,主要原因是梯度反傳過程會出現(xiàn)梯度消失問題。ResNet以及后續(xù)的DenseNet通過結(jié)構(gòu)上的改進(jìn),可以很好地改善這種問題。
泛化性能:從本質(zhì)上來說,神經(jīng)網(wǎng)絡(luò)是一個(gè)函數(shù),訓(xùn)練網(wǎng)絡(luò)即是擬合。網(wǎng)絡(luò)的結(jié)構(gòu)定義了函數(shù)的特性,同時(shí)也關(guān)系到它的泛化能力。
計(jì)算/存儲效率:當(dāng)達(dá)到同樣精度時(shí),有的模型需要很大,有的模型卻比較??;有的模型消耗計(jì)算資源很高,有的模型卻相對要小得多。
02. 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)三個(gè)階段
從2012年至今,計(jì)算機(jī)視覺領(lǐng)域的深度學(xué)習(xí)網(wǎng)絡(luò)模型經(jīng)歷了天翻地覆的變化。如何看待這些變化?
黃高將這 8 年多的黃金時(shí)期劃分為三個(gè)階段,分別為:2012-2015,快速發(fā)展期;2015-2017,成熟期;2017-至今,繁榮期。
如下圖所示:

2012-2015的快速發(fā)展期:2012年,AlexNet在ImageNet比賽中一舉挑戰(zhàn)各種傳統(tǒng)模型,讓大家意識到深度學(xué)習(xí)在視覺任務(wù)中的潛力,從而掀起了一股研究熱潮。隨后不斷涌現(xiàn)的很多深度模型都是圍繞ImageNet進(jìn)行設(shè)計(jì),包括后來的VGG、GoogleNet等。這一階段發(fā)展非常快速,每種模型都是從各自的角度對優(yōu)化特性、泛化能力等進(jìn)行改進(jìn)。
2015-2017的成熟期:這一階段的標(biāo)志性事件是ResNet的提出。ResNet的跳層連接思想給大家?guī)砹藰O大的啟發(fā),讓模型設(shè)計(jì)有了一個(gè)明確的概念指引,于是迅速出現(xiàn)了諸如DenseNet,ResNeXt等知名模型。這個(gè)階段,研究者逐漸認(rèn)識到,模型設(shè)計(jì)并不需要過多的技巧和變化,存在一些簡單而基本的設(shè)計(jì)原則可以依據(jù)。
2017年至今的繁榮期:17年之后,深度學(xué)習(xí)在工業(yè)界的應(yīng)用變得更加廣泛,于是針對不同的應(yīng)用場景,便出現(xiàn)了不同角度的模型設(shè)計(jì)和優(yōu)化。目前研究較熱的方向包括面向邊緣端的輕量級模型、網(wǎng)絡(luò)架構(gòu)搜索(NAS)、動態(tài)模型、Transformer等。
03. 網(wǎng)絡(luò)架構(gòu)搜索的 What and How
自動架構(gòu)搜索(Automatic Architecture Search)的本質(zhì)是讓算法自己去設(shè)計(jì)網(wǎng)絡(luò)架構(gòu)。自Google的NAS(Nerual Architechure Search)方法提出后,NAS逐漸成為備受關(guān)注的研究領(lǐng)域,研究者們希望能夠從模型設(shè)計(jì)開始降低人工干預(yù)程度,最終實(shí)現(xiàn)機(jī)器的自動學(xué)習(xí)(Auto-ML)。現(xiàn)在有一個(gè)專門的網(wǎng)站(www.automl.org)匯總該方向上的相關(guān)研究。

對比以下模型,最左邊(ResNet)為手工設(shè)計(jì)模型,右邊三個(gè)(GENet、NASNet、ENASNet)為結(jié)構(gòu)搜索后得到的模型。從直觀上可以看出,人工設(shè)計(jì)模型相對比較規(guī)整,而搜索得到的模型則一般比較復(fù)雜。

NAS是將模型設(shè)計(jì)轉(zhuǎn)化為搜索問題,通過在定義的模型搜索集中尋找最優(yōu)的參數(shù)配置實(shí)現(xiàn)結(jié)構(gòu)設(shè)計(jì)。因此,搜索集的定義往往是NAS任務(wù)的關(guān)鍵。
其次,在確定搜索集后,需要選擇合適的搜索算法。當(dāng)前的搜索方法主要有:強(qiáng)化學(xué)習(xí)方法(NASNet, Progressive NAS)、進(jìn)化算法與遺傳算法(GeNet,AmoebaNet)、可微分方法(DARTS,F(xiàn)bnet)等。
另外,模型評估為搜索的結(jié)果提供可靠的比較依據(jù)。往往評估模型達(dá)到一定精度所需的計(jì)算量,以此評價(jià)模型的優(yōu)劣。方法目前也存在一些問題,例如理論計(jì)算量與實(shí)際應(yīng)用時(shí)存在偏差。
因此,網(wǎng)絡(luò)架構(gòu)搜索主要有四個(gè)核心問題:
1、搜什么:定義搜索問題。
2、從哪里搜:定義搜索空間;
3、怎么搜:設(shè)計(jì)搜索算法;
4、如何評估:說明搜索對象。




04. 動態(tài)神經(jīng)網(wǎng)絡(luò)

在2017年之前的主流深度模型都屬于靜態(tài)模型,一旦訓(xùn)練結(jié)束,其參數(shù)和結(jié)構(gòu)便固定了下來。這種模型的缺點(diǎn)是,設(shè)計(jì)上一步到位,但在應(yīng)用時(shí)卻無法根據(jù)具體需求而做調(diào)整。
1、Small - Easy,Big - Hard
如上圖所示,從12年至17年,模型在數(shù)據(jù)集上的準(zhǔn)確率逐步提升,但這種提升的背后,則是計(jì)算量的巨大開銷,往往為了提高零點(diǎn)幾個(gè)點(diǎn),模型便需要增加幾十層。這給我們導(dǎo)致了一個(gè)印象,認(rèn)為模型越大性能越好。

但大模型相比小模型,到底好在哪里?
黃高認(rèn)為:Bigger Models are needed for those noncanonial images.

如上圖所示,盡管數(shù)據(jù)集中有大量“正?!薄抉R】的照片,但由于數(shù)據(jù)的長尾分布特點(diǎn),必然會存在一些非常規(guī)的圖片。若想將這些非常規(guī)圖片正確預(yù)測出來,神經(jīng)網(wǎng)絡(luò)在特征提取上就需要有更豐富、更高級的特征。但這里存在的問題是,大多數(shù)圖片可能僅需少量層的網(wǎng)絡(luò)便可以正確識別出來;但為了處理極少數(shù)非常規(guī)的圖片,卻需要耗費(fèi)大量的算力。
所以,我們?yōu)槭裁匆孟嗤拇鷥r(jià)來處理所有的圖片呢?
換句話說,我們是否可以用小且便宜的模型來處理容易識別的圖片,用大且昂貴的模型處理難識別的圖片呢?

按照這種初始的想法,存在一個(gè)問題,即在現(xiàn)實(shí)中沒有一個(gè)“上帝”告訴模型,哪張圖是容易的,哪張圖是難的。
黃高等人提出一種多尺度的DenseNet模型,如下圖所示,模型中包含許多分類器在中間提取特征并做分類,然后在每個(gè)出口做一次判斷,預(yù)測值大于閾值,那么就輸出判斷;而如果小于閾值,便送入下一層分類器繼續(xù)計(jì)算,直到預(yù)測值大于相應(yīng)閾值。

這種模型,相比于DenseNet,同樣的性能可以做到2~5倍的提速。

可視化結(jié)果:


這個(gè)工作中一個(gè)亮點(diǎn)在于,閾值是可以設(shè)定的,這種特點(diǎn)非常適用于邊緣設(shè)備。閾值越低,精度相應(yīng)也就相對降低,但模型運(yùn)算速度卻能夠變得更快;反之,閾值越高,精度越高,速度則變慢。對于邊緣設(shè)備,傳統(tǒng)的靜態(tài)模型在訓(xùn)練好后,精度是固定的,計(jì)算時(shí)間是固定的,耗電量也是固定的。作為對比,動態(tài)模型的好處在于,當(dāng)設(shè)備電量較低時(shí),可以將閾值調(diào)低,從而以犧牲一點(diǎn)精度的代價(jià)去換取更長的電池續(xù)航時(shí)間,從而在精度和電量之間做一個(gè)自適應(yīng)平衡。

在黃高等人近期的一項(xiàng)最新工作中,他們將這種思想做了進(jìn)一步的拓展——分辨率自適應(yīng)。簡單來說,在不同的圖片中,有的識別物體占比較大,而有的則較小。(如上圖兩張貓頭鷹的圖片)那么如果識別物體占比較大,用分辨率低一些的圖片就足以完成識別任務(wù);如果識別物體占比較小,可以選擇更高清一些的圖片。
具體如下圖所示,先用低分辨率圖片進(jìn)行計(jì)算,如果置信度高于閾值,則輸出結(jié)果;如果低于閾值,則使用更高分辨率的圖片、更深的網(wǎng)絡(luò)進(jìn)行計(jì)算,直至置信度大于閾值。




2、更進(jìn)一步:空間自適應(yīng)
前面提到的自適應(yīng)主要是樣本級別的自適應(yīng),針對與圖像數(shù)據(jù)還可以考慮空間維度的自適應(yīng)。
如下圖所示,人的視覺會關(guān)注不同的空間區(qū)域,比如街道,車輛,行人;但是對于另外的窗臺,花紋,則會選擇性忽略。這說明人在看一張圖片時(shí),并不會在所有的像素上投入同樣多的精力。但現(xiàn)有網(wǎng)絡(luò)的卷積操作,并不能適應(yīng)圖片的空間信息,而是簡單地對圖片的不同區(qū)域做同樣的處理。

黃高針對這一問題,提出了 Sampling and Interpolation 的方法。正如其名,該方法先進(jìn)行稀疏采樣和計(jì)算,然后通過插值的方式進(jìn)行稠密重建。如下圖所示:
具體方法則是:對于輸入 X,并不直接進(jìn)行卷積計(jì)算獲取其特征,而是先進(jìn)行稀疏采樣,將采樣結(jié)果進(jìn)行稀疏卷積,從而獲得一個(gè)稀疏的特征圖;根據(jù)稀疏特征圖進(jìn)行插值后獲得重建特征圖。
這里關(guān)鍵的一點(diǎn)在于,采樣的模型并非隨機(jī)采樣,其參數(shù)是可學(xué)的,依賴于數(shù)據(jù),因此對于不同物體,生成的mask則不同。mask事實(shí)上告訴了模型哪些區(qū)域應(yīng)該重點(diǎn)關(guān)注,從而指導(dǎo)SparseConv去計(jì)算;SparseConv并不會提取所有像素的特征。


黃高等人的另一項(xiàng)關(guān)于空間自適應(yīng)的工作,發(fā)表在NeurIPS 2020 上。他們注意到,人在做視覺識別時(shí),是一個(gè)漸進(jìn)、迭代的過程。例如看一張圖,我們初步瞥一眼,知道它是一只鳥;然后我們會更加關(guān)注它的頭部、身體、尾部等,從而獲取更多的特征。

依據(jù)這種思想,黃高等人提出了GFNet(Glance and Focus Network),基本思想如下圖所示,通過降低圖像分辨率來模擬最初的glance,如果模型預(yù)測置信度不夠,則通過使用局部的圖像模擬人仔細(xì)觀察獲得信息,豐富模型觀察到的細(xì)節(jié)。

具體模型框架如下:

值得強(qiáng)調(diào)的是,模型中所采用的都是通用框架,因此從理論上說,可以在方法中兼容任何已有的深度網(wǎng)絡(luò)(手工設(shè)計(jì)的或搜索出來的)。
實(shí)驗(yàn)結(jié)果如下:


05. 研究需要韌性
報(bào)告之后,黃高與現(xiàn)場的學(xué)生進(jìn)行了線下問答交流。在交流中,黃高多次強(qiáng)調(diào)這樣一個(gè)觀點(diǎn):“研究需要韌性?!?/p>
他提到:當(dāng)初在有DenseNet想法時(shí),并不被周圍的人看好;但他和合作者一直堅(jiān)持把結(jié)果做了出來,最終證明了這項(xiàng)工作的價(jià)值。
黃高工作中的韌性自很早的時(shí)候就有所展現(xiàn)。2009年前后,在AI領(lǐng)域,深度學(xué)習(xí)的工具并未如此普及,優(yōu)化方法、梯度回傳這些在現(xiàn)在看來簡單到僅僅需要一行代碼的操作,在那時(shí)黃高的工作中,都需要一次次手動實(shí)現(xiàn)。因此,那時(shí)候的研究者都在想著如何節(jié)省算力縮減模型連接,以減少工作量。但當(dāng)時(shí)黃高便已有另外的思考:如果每層的信息都能逐層向前傳,那模型的信息通道將更加通暢,那么雖然每層連接變多,傳遞底層信息到高層所需的模型層數(shù)就可以大大減少。這一想法,也啟發(fā)了他后來對 DenseNet的設(shè)計(jì)。
黃高說,當(dāng)初在DenseNet獲得最佳論文的推特下,很多人驚訝于模型想法的簡潔優(yōu)美,但同時(shí),也有許多研究者表示惋惜,因?yàn)榛蚨嗷蛏僭?jīng)也有過這樣的思考,但由于缺乏動力,或者是遇到挫折,沒能堅(jiān)持推進(jìn)研究。
在交流的最后,主持人劉知遠(yuǎn)副教授問到:“如果給在場的學(xué)生一句take away message,你會說什么?”
黃高思考良久,仍然堅(jiān)定地說:“研究是需要韌性的。我相信在場的大家都十分優(yōu)秀,但做研究,遇到挫折是常態(tài),一個(gè)好的想法中途會有太多因素讓它夭折,但最終需要的是一股韌勁才能堅(jiān)持下來,將想法化為現(xiàn)實(shí)?!?/p>
參考論文
[1] Huang, Gao, et al. "Densely connected convolutional networks." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.
[2] Wang, Yulin, et al. "Glance and Focus: a Dynamic Approach to Reducing Spatial Redundancy in Image Classification." Advances in Neural Information Processing Systems 33 (2020).
[3] Huang, Gao, et al. "Multi-scale dense networks for resource efficient image classification." arXiv preprint arXiv:1703.09844 (2017).
[4]Xie, Zhenda, et al. "Spatially Adaptive Inference with Stochastic Feature Sampling and Interpolation." arXiv preprint arXiv:2003.08866 (2020).