Efficientnet 把 convNet 的 width, depth, resolution 都放大,為何 parameter 數還比其他方法少? ============ > [TOC] ### [MobileNetV2: Inverted Residuals and Linear Bottlenecks](https://arxiv.org/pdf/1801.04381.pdf) ### [EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks](https://arxiv.org/pdf/1905.11946.pdf) ## Depthwise Separable Convolutions 一般conv的輸入tensor尺寸為h~i~ × w~i~ × d~i~ 輸出得到h~i~ × w~i~ × d~j~大小的tensor 如此的運算成本(或複雜度?原文是Computational Cost)是: h~i~ · w~i~ · d~i~ · d~j~ · k · k 而MobileNetV2使用Depthwise Separable Convolutions,是個很好的替代品。效用沒差多少,運算成本卻變成: h~i~ · w~i~ · d~i~(k^2^ + d~j~) 引用[原本論文](https://arxiv.org/pdf/1801.04381.pdf)中==3.1==Depthwise Separable Convolutions的小結論 ``` so the computational cost is 8 to 9 times smaller than that of standard convolutions at only a small reduction in accuracy. ``` ## Inverted Residuals and Linear Bottlenecks :::spoiler Not that important(click to show) ### Inverted Residual **在 linear bottleneck layer 之間**加入了 ResNet 的 shortcut connection,能夠更好的回傳梯度與特徵重用(避免ReLU造成的資訊流失),之所以選擇加在 linear bottleneck 是因為作者認為 bottleneck 已經包含了所有重要的資訊 ### Linear bottleneck layers 將**重要資訊** (manifold of interest) encode 成一個更加精簡的 feature map 的**線性轉換**。 ::: # ==3.3.== Compound Scaling(複合縮放) [EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks](https://arxiv.org/pdf/1905.11946.pdf) 複合縮放是剛開始研究EfficientNet最讓我印象深刻的名詞(雖然沒有很了解), 只知道有他在,效率高,參數又可以少好幾倍。 因此推理對於parameter的減少,這或許是個重要關鍵。 :::spoiler preview ![](https://i.imgur.com/iee7TQE.png) ::: ----- ### 結論: 為了追求更高的準確率,平衡網路深度(d)、寬度(w)、解析度\(r\)是很重要的關鍵。 論文中使用固定的縮放係數 ϕ 將模型縮放(下圖為各種縮放方法) ![](https://i.imgur.com/8d4ng8x.png) 研究發現**平衡這三種縮放方法能夠獲得更好的性能**, 因為他們之間會有相互影響: 對於解析度高的圖像,使用更深的網路、獲取更大的感受野,能夠有更好的效果,同時增加網路寬度可以得到更細粒度的特徵。 ![](https://miro.medium.com/max/606/1*hg54h1IzHPpzLm4Oqo9dGQ.png)