论文笔记-EfficientNet:重新思考卷积神经网络的尺度
2020-08-03 本文已影响0人
升不上三段的大鱼
EfficientNet这篇文章主要验证了一个保持网络的深度、宽度和分辨率之间的平衡,对于提高网络的性能很重要。基于这个结论,作者设计了一个baseline模型,以及模型放大之后的一系列模型,叫做EfficientNets。EfficientNet-B7在ImageNet上获得了最先进的 84.4%的top-1精度 和 97.1%的top-5精度,同时比之前最好的卷积网络大小缩小了8.4倍、速度提高了6.1倍。
EffcientNet B0-7系列的参数:
params_dict = {
# (width_coefficient, depth_coefficient, resolution, dropout_rate)
'efficientnet-b0': (1.0, 1.0, 224, 0.2),
'efficientnet-b1': (1.0, 1.1, 240, 0.2),
'efficientnet-b2': (1.1, 1.2, 260, 0.3),
'efficientnet-b3': (1.2, 1.4, 300, 0.3),
'efficientnet-b4': (1.4, 1.8, 380, 0.4),
'efficientnet-b5': (1.6, 2.2, 456, 0.4),
'efficientnet-b6': (1.8, 2.6, 528, 0.5),
'efficientnet-b7': (2.0, 3.1, 600, 0.5),
}
如果单独放大一个网络的深度、宽度或者分辨率,大的网络会达到更好的精度,但是很快就达到饱和。
随着网络宽度、深度或者分辨率增大,精确度很快达到饱和
但是如果同时按一定比例放大这三个参数,会发现准确度进一步提高。可以看到下面图里红线比baseline的蓝线高了很多。
从直觉上来说,对于高分辨率的图片,我们需要增加网络的深度,因为更大的感受野来提取大分辨率图片中更多像素点的相似特征。同样的,我们需要更宽的网络,来捕捉到大分辨率图片里更加细粒度的特征。
作者提出了一种复合缩放的方法, 都是网格搜索找出来的常数。
compound scaling methodEfficientNet-B0 的结构如下图,主要用到了移动倒置瓶颈MBConv模块。然后作者就在这个模型上找到搜索。
EfficientNet-b0MBConv模块的结构:
MBConv.png
虽然但是,EfficientNet可以说是目前state-of-art的网络了,效果还是很好的。