CNN更新?lián)Q代!性能提升算力減半,還即插即用
OctConv即插即用,無需修改原來的網(wǎng)絡架構(gòu),也不用調(diào)整超參數(shù),方便到家。
安妮 邊策 發(fā)自 凹非寺
量子位 出品 | 公眾號 QbitAI
傳統(tǒng)的卷積運算,要成為過去時了。
Facebook和新加坡國立大學聯(lián)手提出了新一代替代品:OctConv(Octave Convolution),效果驚艷,用起來還非常方便。
OctConv就如同卷積神經(jīng)網(wǎng)絡(CNN)的“壓縮器”。用它替代傳統(tǒng)卷積,能在提升效果的同時,節(jié)約計算資源的消耗。
比如說一個經(jīng)典的圖像識別算法,換掉其中的傳統(tǒng)卷積,在ImageNet上的識別精度能獲得1.2%的提升,同時,只需要82%的算力和91%的存儲空間。
如果對精度沒有那么高的要求,和原來持平滿足了的話,只需要一半的浮點運算能力就夠了。
想實現(xiàn)這樣的提升,怕不是要把神經(jīng)網(wǎng)絡改個天翻地覆吧?
根本不需要,OctConv即插即用,無需修改原來的網(wǎng)絡架構(gòu),也不用調(diào)整超參數(shù),方便到家。
就是這個新一代的卷積,讓GAN的主要創(chuàng)造者、AI大牛Ian Goodfellow迫不及待,不僅轉(zhuǎn)發(fā)力薦,還表示要持續(xù)關注進展,開源時再發(fā)推告訴大家。
OctConv也獲得了眾網(wǎng)友的認可。短短5個小時,Goodfellow的推文就收獲了700贊,網(wǎng)友直呼“Excellent work!”
所以,OctConv到底是什么神仙網(wǎng)絡?
算力↓↓,準確率↑↑
我們先來看看它效果究竟如何。
比如說經(jīng)典的圖像識別算法:ResNet-50,換了新的卷積運算會帶來什么變化?
上圖中粉紅色的折線就是不同參數(shù)配置的OctConv對ResNet-50的影響。左起第二個粉紅圓點顯示了一種比較均衡的配置:比原版(最右黑點)略高的精度,所需的浮點算力卻只有原版的一半。
其他折線代表的各種圖像識別網(wǎng)絡,小到ResNet-26、DenseNet,大到ResNet-200,在OctConv加持下,都體現(xiàn)出了成績的提升和算力需求的下降。
調(diào)節(jié)OctConv的參數(shù)α,可以在性能提升和算力節(jié)約之間尋找平衡。
降低算力需求的同時,OctConv還能夠縮短神經(jīng)網(wǎng)絡推斷所需的時間。比如ResNet-50的推斷時間,就會隨著參數(shù)α的增大而逐步縮短。保持精度不變,推斷時間能縮短到74毫秒,也就是原來的62%。
對大、中、小型的模型,研究人員們分別測試了OctConv會如何影響它們的圖像分類能力。
大型神經(jīng)網(wǎng)絡ResNet-152用了OctConv后,僅用22.2GFLOP的算力,Top-1分類準確率就能達到82.9%。
OctConv的適用范圍也不僅限于圖像識別。
無論是2D還是3D的CNN,都能實現(xiàn)這種提升。論文不僅測試了ResNet、ResNeXt、DenseNet、MobileNet、SE-Net等2D CNN在ImageNet上的圖像分類能力,還測試了C2D、I3D等視頻行為識別算法改用OctConv之后的性能變化。
像壓縮圖像一樣壓縮卷積
OctConv節(jié)約的計算力,都是從哪兒省出來的?
對于普通卷積運算,所有輸入和輸出特征映射具有相同的空間分辨率。
實際上,一張圖片可以分成粗略結(jié)構(gòu)(低頻部分)和邊緣細節(jié)(高頻)兩個部分,比如一張企鵝照片能分離出兩個成分:
企鵝身上毛色相近的部分、背景顏色變化比較緩慢,屬于低頻信息,信息量較少;而兩種毛色交接的部分、企鵝身體邊緣的顏色變化劇烈,屬于高頻信息,信息量較多。
既然這樣,我們完全可以將信息量較少的低頻部分壓縮一下,減少冗余空間。
類似地,卷積層的輸出特征映射和拍攝的照片一樣,也可以被視為不同頻率信息的混合,進行相似的處理。
研究人員從圖片的頻率分離和壓縮中受到啟發(fā)。Octave Convolution的思路就是對卷積網(wǎng)絡也進行類似操作,壓縮低頻部分,分別處理高低頻兩個部分的數(shù)據(jù),并在二者之間進行信息交換,從而減少卷積運算對存儲和計算量的消耗。
為了適應新的特征表示,文章推廣了傳統(tǒng)卷積,提出了OctConv。Octave是指八音階,在音樂中降低八音階代表頻率減半。
OctConv中低頻部分張量的大小是0.5h×0.5w,長寬正好是的高頻部分h×w的一半,從而節(jié)省了張量的存儲空間和計算量。
雖然OctConv壓縮了低頻部分的信息,但同時也有效地擴大了原始像素空間中的感受野(receptive field),可以提高識別性能。
實現(xiàn)過程
對于普通的卷積方法,以W表示k×k的卷積核,X和Y分別表示輸入和輸出張量,X和Y的映射關系為:
(p, q)是X張量中的位置坐標,(i, j)表示所取的近鄰范圍。
而OctConv的目標是分開處理張量中的低頻和高頻部分,同時實現(xiàn)的高頻和低頻分量特征表示之間的有效通信。
我們將卷積核分成兩個分量:
W=[WH, WL]
同時實現(xiàn)高低頻之間的有效通信。因此,輸出張量也將分成兩個分量:
Y=[YH, YL]
YH=YH→H+YL→H,YL=YL→L+YH→L
其中YA→B表示從A到B的特征映射后更新的結(jié)果。YH→H和YL→L是頻率內(nèi)的信息更新,YL→H和YH→L是頻率間的信息更新。
因此YH不僅包含自身的信息處理過程,還包含從低頻到高頻的映射。
為了計算這些項,我們將卷積核每個分量進一步分為頻率內(nèi)和頻率間兩個部分:
WH=WH→H+WL→H,WL=WL→L+WH→L
張量參數(shù)可以用更形象的方式表示:
△OctConv的卷積核
這種形式有些類似于完全平方公式a^2+b^2+ab+ba,兩個平方項WH→H、WL→L是頻率內(nèi)張量,兩個交叉項是頻率間張量WL→H、WH→L
△OctConv的卷積核的“交叉”處理過程,紅色箭頭表示高低頻之間的信息交換
輸出張量的計算方式和前面普通卷積的方式相同:
在OctConv中比例α是一個可以調(diào)節(jié)的參數(shù),就是前文提到過的那個可調(diào)節(jié)參數(shù)。在整個網(wǎng)絡內(nèi)部層中令αin = αout = α,第一層中αin = 0,αout = α,最后一層中αin = α,αout = 0。
OctConv的另一個非常有用的特性是低頻特征映射有較大的感受野。與普通卷積相比,有效地將感受野擴大了2倍。這會進一步幫助每個OctConv層從遠處捕獲更多的上下文信息,并且有可能提高識別性能。
華人一作
這篇論文是Facebook聯(lián)合新加坡國立大學共同完成的。
其中,Yunpeng Chen、Haoqi Fang、Bing Xu,、Zhicheng Yan、Yannis Kalantidis、Marcus Rohrbach等6人均來自Facebook AI實驗室。
一作Yunpeng Chen,中文名為陳云鵬,2015年本科畢業(yè)于華中科技大學,去年開始在Facebook實習。
陳云鵬現(xiàn)就讀于新加坡國立大學博士,師從顏水成和馮佳時,兩人也均為這篇論文的作者。今年畢業(yè)后,陳云鵬將成為Facebook的一名研究員。
此前作為一作,陳云鵬已有4篇論文被CVPR、NeurIPS、ECCV和IJCAI等頂會接收,主攻深度學習于視覺交叉領域的研究。
顏水成是新加坡國立大學的終身教授的顏水成,現(xiàn)在也是360副總裁、人工智能研究院院長和首席科學家。
他主要研究計算機視覺、機器學習與多媒體分析領域,目前發(fā)表學術論文近500篇,被引次數(shù)超2.5萬次,曾三次入選全球高引用學者。目前,顏水成有諸多榮譽加持,并評為IEEE Fellow, IAPR Fellow和ACM杰出科學家等。
馮佳時現(xiàn)任新加坡國立大學電子與計算機工程系助理教授,為機器學習與視覺實驗室負責人。
本科在中國科學技術大學畢業(yè)后,馮佳時在新加坡國立大學讀博,此后又去UC伯克利人工智能實驗室從事博士后研究,研究方向為圖像識別、深度學習及面向大數(shù)據(jù)的魯棒機器學習。
傳送門
論文地址:
https://export.arxiv.org/abs/1904.05049
也有網(wǎng)友簡單復現(xiàn)了這個研究:
https://github.com/terrychenism/OctaveConv
- 腦機接口走向現(xiàn)實,11張PPT看懂中國腦機接口產(chǎn)業(yè)現(xiàn)狀|量子位智庫2021-08-10
- 張朝陽開課手推E=mc2,李永樂現(xiàn)場狂做筆記2022-03-11
- 阿里數(shù)學競賽可以報名了!獎金增加到400萬元,題目面向大眾公開征集2022-03-14
- 英偉達遭黑客最后通牒:今天必須開源GPU驅(qū)動,否則公布1TB機密數(shù)據(jù)2022-03-05



