本文作者專注于AI進(jìn)階算法殊者,正在推出AI瘋狂進(jìn)階之基礎(chǔ)理論進(jìn)階篇与境,如有興趣可持續(xù)關(guān)注我。
核心導(dǎo)讀:
1.Depthwise Separable Convolution為什么高效幽污?
2.Depthwise Separable Convolution比普通卷積差嚷辅?
3.Depthwise Separable Convolution is all you need?
隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)變得越來越普遍距误。之前很長一段時間,大家都把注意力放在通過更深和更復(fù)雜的網(wǎng)絡(luò)來得到更高的精度扁位,比如很多刷榜的算法都是運(yùn)用了非常復(fù)雜的技巧(實(shí)際中可能毛用都沒准潭,這里鄙視下那些純粹為了刷榜而刷榜的,浪費(fèi)時間和精力為了個虛名而已)域仇,但是這種網(wǎng)絡(luò)往往在模型大小和運(yùn)行速度上沒多大優(yōu)勢刑然,在實(shí)際的工程應(yīng)用中可能因?yàn)閼?yīng)用成本太大而很難大規(guī)模商用,例如一些嵌入式平臺上的應(yīng)用比如機(jī)器人和自動駕駛暇务,手機(jī)端的一些AI應(yīng)用比如人臉識別或者文字識別泼掠,它們的硬件資源有限,就十分需要一種輕量級垦细、低延遲的網(wǎng)絡(luò)模型择镇,而本文所講得深度可分離卷積(Depthwise Separable Convolution)即是在這樣的背景下面應(yīng)運(yùn)而生。
1.Depthwise Separable Convolution為什么高效括改?
Depthwise Separable Convolution將傳統(tǒng)的卷積分解為一個深度卷積(depthwise convolution)+ 一個 1×1的卷積(pointwise convolution)腻豌。如下圖所示,(a)是傳統(tǒng)卷積嘱能,(b)吝梅、(c)分別對應(yīng)深度可分離卷積的深度卷積和 1×1的卷積:
假設(shè)輸入特征圖大小為 D_F×D_F×M,輸出特征圖大小為 D_F×D_F×N惹骂,卷積核大小為 D_K×D_K苏携,則傳統(tǒng)卷積的計算量為:D_K×D_K×M×N×D_F×D_F
參數(shù)量為:D_K×D_K×M×N
深度可分離卷積的計算量為深度卷積和 1×1 卷積的計算量之和:D_K×D_K×M×D_F×D_F+M×N×D_F×D_F
參數(shù)量為:D_K×D_K×M+ M×N
當(dāng)卷積核大小為 3×3的時候,深度可分離卷積的計算量縮減為傳統(tǒng)卷積的 1/8~1/9 对粪,參數(shù)量也減少較多右冻,但精度下降很低穿扳,甚至不會下降。Depthwise Separable Convolution目前已經(jīng)廣泛應(yīng)用于各種輕量化卷積神經(jīng)網(wǎng)絡(luò)中国旷,如Mobilenet系列矛物,Shufflenet系列,Nasnet系列跪但,Efficientnet系列履羞,MixNet等,幾乎已經(jīng)成為一種標(biāo)配或者潮流屡久。
2.Depthwise Separable Convolution比普通卷積差忆首?
Efficient系列的文章告訴了我們答案”换罚《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》是谷歌2019年最新的研究糙及,該文在mNasnet的基礎(chǔ)單元基礎(chǔ)上用AUTO ML搜索出一系列輕量化網(wǎng)絡(luò)B0-B7,具體精度如下圖,而mNasnet基礎(chǔ)單元主要是由Depthwise Separable Convolution和1*1 Convolution組成筛欢。從數(shù)據(jù)可以看出浸锨,最大的Efficient-B7僅僅只用了66M的參數(shù)就達(dá)到了大模型Gpipe 557M的精度,而我們常用的Resnet-50網(wǎng)絡(luò)版姑,Efficient-B0僅僅只用5.3M的參數(shù)就可以達(dá)到同樣的精度柱搜。當(dāng)然,數(shù)據(jù)如此驚悚的另一大原因就是用了TPU(炫富剥险,不信去看看谷歌TPU的服務(wù)價格聪蘸!)+AUTOML(有很多人認(rèn)為這算是一種過擬合,但我想說的是表制,我們現(xiàn)在很多實(shí)際應(yīng)用項(xiàng)目就是需要在特定的場景下面過擬合健爬,根本就不太需要很高的泛化能力)。這數(shù)據(jù)背后其實(shí)可以反應(yīng)出一個很明顯的問題么介,Depthwise Separable Convolution比普通卷積的精度會低嗎娜遵?答案很明顯,不會夭拌,并且本文作者認(rèn)為隨著技術(shù)進(jìn)一步的發(fā)展魔熏,普通卷積會慢慢消失,這種輕量化卷積將會成為主流鸽扁。
3.Depthwise Separable Convolution is all you need?
本文作者目前基本已經(jīng)不怎么用普通卷積蒜绽,而目前所有的項(xiàng)目中都是用的Depthwise Separable Convolution,通過AUTO ML經(jīng)常能找到比普通卷積堆積的巨大網(wǎng)絡(luò)精度還高的小型網(wǎng)絡(luò)桶现,當(dāng)然躲雅,為什么會出現(xiàn)這種情況,目前理論上還沒辦法證明骡和,本文作者也在持續(xù)探索這一塊的內(nèi)容相赁,有進(jìn)展會第一時間發(fā)出來相寇。