首頁?行業  »   正文

谷歌開發新模型EfficientNets,縮放CNN的精度與效率超越現有模型

谷歌開發新模型EfficientNets,縮放CNN的精度與效率超越現有模型

卷積神經網絡(CNN)通常以固定的資源成本開發,然后進行縮放,以便在獲得更多資源時得到更好的精度。

傳統的模型縮放方法是任意增加CNN的深度或寬度,或者使用較大的輸入圖像分辨率進行訓練和評估。雖然這些方法確實提高了精度,但它們通常需要繁瑣的手動調優,而且常常會產生次優性能。如果我們能找到一種更有原則的方法來縮放CNN,以獲得更好的精度和效率,那將會怎樣呢?

與任意縮放網絡尺寸的傳統方法(例如寬度,深度和分辨率)不同,該方法使用固定的縮放系數集合均勻地縮放每個維度。借助這種新穎的縮放方法和AutoML的最新進展,我們開發了模型,名為EfficientNets,它超越了最先進的精度,效率提高了10倍。

復合模型縮放:更好地縮放CNN

為了了解縮放網絡的效果,我們系統地研究了縮放模型不同維度的影響。雖然縮放各個維度可以提高模型性能,但我們觀察到,平衡網絡寬度,深度和圖像分辨率的所有維度與可用資源相比,可以最好地提高整體性能。

復合縮放方法的第一步是執行網格搜索,在固定資源約束下找到基線網絡的不同縮放維度之間的關系(例如,多2 倍FLOPS),這確定了上述每個維度的適當比例系數。然后,我們應用這些系數將基線網絡縮放到所需的目標模型大小或計算預算。

谷歌開發新模型EfficientNets,縮放CNN的精度與效率超越現有模型

不同縮放方法比較

與傳統的縮放方法相比,這種復合縮放方法可以不斷提高現有模型的縮放精度和效率,如MobileNet(+ 1.4%imagenet精度)和ResNet(+ 0.7%)。

EfficientNet架構

模型縮放的有效性也在很大程度上依賴于基線網絡。因此,為了進一步提高性能,我們還通過使用AutoML MNAS框架執行神經架構搜索來開發新的基線網絡,該框架優化了準確性和效率(FLOPS)。最終的架構使用移動倒置瓶頸卷積(MBConv),類似于MobileNetV2和MnasNet,但由于FLOP預算增加,所以體積略大一些。然后,我們縮放基線網絡以獲得一系列模型,稱為EfficientNets。

谷歌開發新模型EfficientNets,縮放CNN的精度與效率超越現有模型

基線網絡efficient – b0的架構簡單明了,易于擴展和推廣

EfficientNet性能

將EfficientNets與ImageNet上的其他現有CNN進行比較。通常,EfficientNet模型實現了比現有CNN更高的精度和效率,將參數大小和FLOPS降低了一個數量級。

谷歌開發新模型EfficientNets,縮放CNN的精度與效率超越現有模型

模型大小與精度的比較

盡管EfficientNets在ImageNet上表現良好,但它們也應該遷移到其他數據集。為了評估這一點,我們在八個廣泛使用的轉移學習數據集上測試了EfficientNets。EfficientNets在8個數據集中的5個中實現了最先進的精度,例如CIFAR-100(91.7%)和Flowers(98.8%),參數減少了一個數量級(參數減少了21倍),這表明我們的EfficientNets也很好地轉移。

通過顯著提高模型效率,EfficientNets可能成為未來計算機視覺任務的新的基礎。因此,我們開源了所有EfficientNet模型,并希望這些模型可以使機器學習社區受益。

論文:

arxiv.org/abs/1905.11946

開源:

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

歡迎關注ATYUN官方公眾號,商務合作及內容投稿請聯系郵箱:[email protected]

發表評論