神經(jīng)網(wǎng)絡(luò)在實(shí)際商業(yè)應(yīng)用中面臨的挑戰(zhàn):
1.可解釋性差:
- 不知道為什么會(huì)變好/差厉亏,原因是什么薄扁?
- 沒辦法微調(diào)
- Adversarial Attack
2.內(nèi)存CPU/GPU占用率高:
- VGG16有533MB樊销,ResNet50有102MB伍绳,網(wǎng)絡(luò)運(yùn)行速度慢
- 例如在自動(dòng)駕駛項(xiàng)目中厌殉,如果車載神經(jīng)網(wǎng)絡(luò)運(yùn)算比較慢旁蔼,但車速度又比較快,自動(dòng)駕駛的小車會(huì)駛出路肩
??內(nèi)存CPU/GPU占用率高的解決方案:
1.二值化網(wǎng)絡(luò)
- 內(nèi)存和CPU占用非常小
- 但性能下降比較多
2.輕量級(jí)神經(jīng)網(wǎng)絡(luò)
- MobileNet
- ShuffleNet
- EffNet
一耿币、MobileNet
?一種應(yīng)用于移動(dòng)端和嵌入式的高效模型梳杏。MobileNet使用來構(gòu)建輕量級(jí)深度神經(jīng)網(wǎng)絡(luò),可以應(yīng)用在各種項(xiàng)目中淹接,比如目標(biāo)檢測十性、細(xì)粒度分類、人臉識(shí)別等塑悼。
?MobileNet中有兩個(gè)可調(diào)節(jié)的全局超參數(shù)劲适,可以在延遲和準(zhǔn)確性之間進(jìn)行折中,這些超參數(shù)允許模型根據(jù)項(xiàng)目的特性為其選擇合適大小的模型厢蒜。
1.Depthwise Separate convolution:通道卷積獨(dú)立
?Depthwise separate把通道之間想象是獨(dú)立的霞势,① 單獨(dú)對各個(gè)通道做卷積操作,② 然后通過一個(gè)1*1的卷積合并通道支示。
-
普通卷積與Depthwise separate卷積的對比
2.Depthwise Separate卷積計(jì)算量比較
輸入圖像
輸出特征圖
普通卷積
卷積核大小,卷積核數(shù)量256
數(shù)據(jù)量:
計(jì)算量:Depthwise Separate卷積
第一步卷積:卷積核大小鄙才,卷積核數(shù)量3
第二步卷積:卷積核大小颂鸿,卷積核數(shù)量256
數(shù)據(jù)量:
計(jì)算量:
3.網(wǎng)絡(luò)模塊對比
4. MobileNet網(wǎng)絡(luò)結(jié)構(gòu)
5. MobileNet應(yīng)用
二、ShuffleNet
?ShuffleNet架構(gòu)專為計(jì)算能力有限的移動(dòng)設(shè)備而設(shè)計(jì)攒庵,有兩個(gè)新的操作:分組卷積和通道洗牌嘴纺,在保持準(zhǔn)確性的同時(shí)大大降低了計(jì)算成本。
- ShuffleNet網(wǎng)絡(luò)結(jié)構(gòu)
三浓冒、EffNet
?EffNet是一種更有效的卷積模塊栽渴,采用了Spatial Separable Convolutions技術(shù),效果比MobileNet和ShuffleNet更好稳懒。
-
卷積分解
假設(shè)闲擦,其中X為輸入,Y為輸出,K為卷積核
如果
那么
例如:
?卷及分解可以讓參數(shù)更少墅冷,如上述矩陣纯路,未分解是9個(gè)參數(shù),分解后是6個(gè)參數(shù)
-
Spatial Separable Convolutions
?Spatial Separable卷積是利用卷積分解法寞忿,將卷積核拆分為兩個(gè)更小的卷積核驰唬,然后分別跟兩個(gè)小的卷積核做卷積,這樣可以減少參數(shù)量腔彰。最常用的情況是將的卷積核拆分為和的卷積核叫编。
Separable Pooling
第一次卷積在一個(gè)方向上面池化
第二次卷積在另一個(gè)方向上面池化-
EffNet網(wǎng)絡(luò)結(jié)構(gòu)
EffNet的優(yōu)化
輸入層沒有使用普通卷積層
沒有使用Group Convolution
四、總結(jié)
- 網(wǎng)絡(luò)模塊結(jié)構(gòu)對比
- 網(wǎng)絡(luò)結(jié)構(gòu)對比
-
實(shí)驗(yàn)結(jié)果對比