CNN更新換代!機能晉升算力減半,還即插即用

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

安妮 邊策 發自 凹非寺

量子位 出品 | 公眾號 QbitAI

CNN更新換代!性能提升算力減半,還即插即用

傳統的卷積運算,要成為過去時了。

Facebook和新加坡國立大學聯手提出了新一代替代品:OctConv(Octave Convolution),效果驚艷,用起來還非常方便。

OctConv就如同卷積神經網路(CNN)的「壓縮器」。用它替代傳統卷積,能在提升效果的同時,節約計算資源的消耗。

比如說一個經典的圖像識別算法,換掉其中的傳統卷積,在ImageNet上的識別精度能獲得1.2%的提升,同時,只需要82%的算力和91%的存儲空間。

如果對精度沒有那麼高的要求,和原來持平滿足了的話,只需要一半的浮點運算能力就夠了。

想做到這樣的提升,怕不是要把神經網路改個天翻地覆吧?

根本不需要,OctConv即插即用,無需修改原來的網路架構,也不用調整超參數,方便到家。

就是這個新一代的卷積,讓GAN的主要創造者、AI大牛Ian Goodfellow迫不及待,不僅轉發力薦,還表示要持續關注進展,開源時再發推告訴大家。

OctConv也獲得了眾網友的認可。短短5個小時,Goodfellow的推文就收獲了700讚,網友直呼「Excellent work!」

CNN更新換代!性能提升算力減半,還即插即用

所以,OctConv到底是什麼神仙網路?

算力↓↓,準確率↑↑

我們先來看看它效果究竟如何。

比如說經典的圖像識別算法:ResNet-50,換了新的卷積運算會帶來什麼變化?

CNN更新換代!性能提升算力減半,還即插即用

上圖中粉紅色的折線就是不同參數配置的OctConv對ResNet-50的影響。左起第二個粉紅圓點顯示了一種比較均衡的配置:比原版(最右黑點)略高的精度,所需的浮點算力卻只有原版的一半。

其他折線代表的各種圖像識別網路,小到ResNet-26、DenseNet,大到ResNet-200,在OctConv加持下,都體現出了成績的提升和算力需求的下降。

調節OctConv的參數α,可以在性能提升和算力節約之間尋找平衡。

降低算力需求的同時,OctConv還能夠縮短神經網路推斷所需的時間。比如ResNet-50的推斷時間,就會隨著參數α的增大而逐步縮短。保持精度不變,推斷時間能縮短到74毫秒,也就是原來的62%。

CNN更新換代!性能提升算力減半,還即插即用

對大、中、小型的模型,研究人員們分別測試了OctConv會如何影響它們的圖像分類能力。

CNN更新換代!性能提升算力減半,還即插即用

大型神經網路ResNet-152用了OctConv後,僅用22.2GFLOP的算力,Top-1分類準確率就能達到82.9%。

OctConv的適用範圍也不僅限於圖像識別。

無論是2D還是3D的CNN,都能做到這種提升。論文不僅測試了ResNet、ResNeXt、DenseNet、MobileNet、SE-Net等2D CNN在ImageNet上的圖像分類能力,還測試了C2D、I3D等視頻行為識別算法改用OctConv之後的性能變化。

像壓縮圖像一樣壓縮卷積

OctConv節約的計算力,都是從哪兒省出來的?

對於普通卷積運算,所有輸入和輸出特徵映射具有相同的空間分辨率。

實際上,一張圖片可以分成粗略結構(低頻部分)和邊緣細節(高頻)兩個部分,比如一張企鵝照片能分離出兩個成分:

CNN更新換代!性能提升算力減半,還即插即用

企鵝身上毛色相近的部分、背景顏色變化比較緩慢,屬於低頻信息,信息量較少;而兩種毛色交接的部分、企鵝身體邊緣的顏色變化劇烈,屬於高頻信息,信息量較多。

既然這樣,我們完全可以將信息量較少的低頻部分壓縮一下,減少冗餘空間。

類似地,卷積層的輸出特徵映射和拍攝的照片一樣,也可以被視為不同頻率信息的混合,進行相似的處理。

研究人員從圖片的頻率分離和壓縮中受到啟發。Octave Convolution的思路就是對卷積網路也進行類似操作,壓縮低頻部分,分別處理高低頻兩個部分的數據,並在二者之間進行信息交換,從而減少卷積運算對存儲和計算量的消耗。

CNN更新換代!性能提升算力減半,還即插即用

為了適應新的特徵表示,文章推廣了傳統卷積,提出了OctConv。Octave是指八音階,在音樂中降低八音階代表頻率減半。

OctConv中低頻部分張量的大小是0.5h×0.5w,長寬正好是的高頻部分h×w的一半,從而節省了張量的存儲空間和計算量。

雖然OctConv壓縮了低頻部分的信息,但同時也有效地擴大了原始像素空間中的感受野(receptive field),可以提高識別性能。

做到過程

對於普通的卷積方法,以W表示k×k的卷積核,X和Y分別表示輸入和輸出張量,X和Y的映射關係為:

CNN更新換代!性能提升算力減半,還即插即用

(p, q)是X張量中的位置坐標,(i, j)表示所取的近鄰範圍。

而OctConv的目標是分開處理張量中的低頻和高頻部分,同時做到的高頻和低頻分量特徵表示之間的有效通信。

我們將卷積核分成兩個分量:

W=[WH, WL]

同時做到高低頻之間的有效通信。因此,輸出張量也將分成兩個分量:

Y=[YH, YL]

YH=YH→H+YL→H,YL=YL→L+YH→L

其中YA→B表示從A到B的特徵映射後更新的結果。YH→H和YL→L是頻率內的信息更新,YL→H和YH→L是頻率間的信息更新。

因此YH不僅包含自身的信息處理過程,還包含從低頻到高頻的映射。

為了計算這些項,我們將卷積核每個分量進一步分為頻率內和頻率間兩個部分:

WH=WH→H+WL→H,WL=WL→L+WH→L

張量參數可以用更形象的方式表示:

CNN更新換代!性能提升算力減半,還即插即用

OctConv的卷積核

這種形式有些類似於完全平方公式a^2+b^2+ab+ba,兩個平方項WH→H、WL→L是頻率內張量,兩個交叉項是頻率間張量WL→H、WH→L

CNN更新換代!性能提升算力減半,還即插即用

OctConv的卷積核的「交叉」處理過程,紅色箭頭表示高低頻之間的信息交換

輸出張量的計算方式和前面普通卷積的方式相同:

CNN更新換代!性能提升算力減半,還即插即用

在OctConv中比例α是一個可以調節的參數,就是前文提到過的那個可調節參數。在整個網路內部層中令αin = αout = α,第一層中αin = 0,αout = α,最後一層中αin = α,αout = 0。

OctConv的另一個非常有用的特性是低頻特徵映射有較大的感受野。與普通卷積相比,有效地將感受野擴大了2倍。這會進一步幫助每個OctConv層從遠處捕獲更多的上下文信息,並且有可能提高識別性能。

華人一作

這篇論文是Facebook聯合新加坡國立大學共同完成的。

CNN更新換代!性能提升算力減半,還即插即用

其中,Yunpeng Chen、Haoqi Fang、Bing Xu,、Zhicheng Yan、Yannis Kalantidis、Marcus Rohrbach等6人均來自Facebook AI實驗室。

一作Yunpeng Chen,中文名為陳雲鵬,2015年本科畢業於華中科技大學,去年開始在Facebook實習。

陳雲鵬現就讀於新加坡國立大學博士,師從顏水成馮佳時,兩人也均為這篇論文的作者。今年畢業後,陳雲鵬將成為Facebook的一名研究員。

CNN更新換代!性能提升算力減半,還即插即用

此前作為一作,陳雲鵬已有4篇論文被CVPR、NeurIPS、ECCV和IJCAI等頂會接收,主攻深度學習於視覺交叉領域的研究。

顏水成是新加坡國立大學的終身教授的顏水成,現在也是360副總裁、人工智能研究院院長和首席科學家。

CNN更新換代!性能提升算力減半,還即插即用

他主要研究計算機視覺、機器學習與多媒體分析領域,目前發表學術論文近500篇,被引次數超2.5萬次,曾三次入選全球高引用學者。目前,顏水成有諸多榮譽加持,並評為IEEE Fellow, IAPR Fellow和ACM傑出科學家等。

馮佳時現任新加坡國立大學電子與計算機工程系助理教授,為機器學習與視覺實驗室負責人。

CNN更新換代!性能提升算力減半,還即插即用

本科在中國科學技術大學畢業後,馮佳時在新加坡國立大學讀博,此後又去UC伯克利人工智能實驗室從事博士後研究,研究方向為圖像識別、深度學習及面向大數據的魯棒機器學習。

傳送門

論文地址:

https://export.arxiv.org/abs/1904.05049

也有網友簡單復現了這個研究:

https://github.com/terrychenism/OctaveConv

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

量子位 QbitAI · 頭條號簽約作者

վ’ᴗ’ ի 追蹤AI技術和產品新動態

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!