EfficientNet


https://arxiv.org/pdf/1905.11946.pdf

https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet

tf2實現https://github.com/calmisential/EfficientNet_TensorFlow2

 

擴展網絡有三個維度,包括width(channels數)、depth(網絡深度)、resolution輸入分辨率。

作者通過實驗表明,只改變其中一個維度,acc的提升很容易就飽和了,如何同時改變三個維度,使得acc和flops達到一個trade-off,就是本文的內容。

 

 

 作者提出的一種縮放方法。網絡深度增加一倍,flops變為之前的兩倍;width或者resolution增加一倍,flops變為之前的四倍。

統一起來,增加的計算量。論文里限制,所以增加的計算量大概為 

 

 

 

下面是作者以MBConv+SE模塊搜索出來的一個結構。首先固定,即搜索出來的flops是之前的2倍,

 

 

得到一組最優值

 

 

然后固定這三個參數,調整,得到B1至B7的一系列網絡(具體實驗結果可參考原文)。

 

 

 

 

 值得注意的是,這個網絡中,降采樣用conv+str2代替conv+maxpool(相當於flops變為了1/4);用了5*5的卷積核,

減小了計算量,參考https://www.zhihu.com/question/326833457

 

 

更多討論參考https://www.zhihu.com/question/326833457 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM