CNN卷积神经网络之EfficientNet

CNN卷积神经网络之EfficientNet

  • 前言
  • 设计方法和对比实验
  • 网络结构

禁止转载!!

前言

《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》
论文地址:https://arxiv.org/pdf/1905.11946.pdf
这是2019年的一篇炼丹的单方,给出了从深度、宽度、分辨率三个维度的设计方案。以往的网络设计通常是依靠提升一个方面来提升性能,而EfficientNet是三者复合的方式提升网络性能,在NAS搜索的有优良性能的网络上进行缩放得到一组网络。下面先看一下性能对比:
CNN卷积神经网络之EfficientNet_第1张图片

设计方法和对比实验

深度w:网络的层数
宽度d:卷积核的通道数
分辨率r:图片/特征图的尺寸
CNN卷积神经网络之EfficientNet_第2张图片

只是单纯的增加其中一项的话,也是能带来提升的:
CNN卷积神经网络之EfficientNet_第3张图片
但是,采用复合缩放的方法,即同时调整w、d、r更加能带来性能的提升(红色曲线):

CNN卷积神经网络之EfficientNet_第4张图片

扩展网络宽度、深度或分辨率中的任何维度都可以提高精度,但是对于较大的模型,精度增益会降低,尾部收敛。为了追求更高的精度和效率,在网络缩放过程中平衡网络宽度、深度和分辨率的维度是至关重要的。

论文中的复合缩放方法compound scaling method
CNN卷积神经网络之EfficientNet_第5张图片
ϕ 是用来控制计算资源的,因为对α,β,γ进行了约束,当ϕ 越大整个网络就越庞大。在固定ϕ 的情况下,即固定了计算量在一定范围,通过小型网格搜索确定α,β,γ,α , β , γ确定分别为网络宽度、深度和分辨率分配这些额外资源。

CNN卷积神经网络之EfficientNet_第6张图片
因为α与深度d有关 , β与宽度即cico有关 , γ与分辨率hw有关,所以β , γ是平方。为什么是≈2呢?定为其他的数也是可以的。
在这里插入图片描述

复合缩放的方法分为两步:
第一步:固定ϕ为1,这时候的网络(作者命名为EfficientNet-B0)不是很深,对这个网络利用前面的关系对α,β,γ进行搜索,找到最优值。文中说最优为α = 1.2, β =1.1, γ = 1.15。
第二步:固定α,β,γ为常数,使用不同ϕ放大EfficientNet-B0,依次得到EfficientNet-B1至B7

值得注意的是,通过在大型模型周围直接搜索α, β, γ可以获得更好的性能,但是在大型模型上搜索成本变得非常昂贵。我们的方法解决了这个问题,在小的基线网络上只做一次搜索(步骤1),然后对所有其他模型使用相同的比例系数(步骤2)。

CNN卷积神经网络之EfficientNet_第7张图片
CNN卷积神经网络之EfficientNet_第8张图片
CNN卷积神经网络之EfficientNet_第9张图片
但是,其实搜索是需要很大计算量的,作者这里采用了很精选的参数:
CNN卷积神经网络之EfficientNet_第10张图片

网络结构

整个论文要是没有一个优秀的EfficientNet-B0,那么也不会得到如此好看的数据。接下来介绍一下EfficientNet-B0的网络结构:
Efficientnet-B0由1个Stem+16个大Blocks堆叠构成。Block的通用结构如下,其总体的设计思路是Inverted residuals(先用1x1卷积将输入的feature map维度变大,然后用3x3 Depthwise Convolution方式做卷积运算,最后使用1x1的卷积运算将其维度缩小。注意,此时的1x1卷积运算后,不再使用ReLU激活函数,而是使用线性激活函数,以保留更多特征信息,保证模型的表达能力。可看看MobileV2)结构和残差结构,在3x3或者5x5网络结构前利用1x1卷积升维,在3x3或者5x5网络结构后增加了一个关于通道的注意力机制(SE Module),最后利用1x1卷积降维后增加一个大残差边(shortcut connection)。
CNN卷积神经网络之EfficientNet_第11张图片

CNN卷积神经网络之EfficientNet_第12张图片

图源:https://blog.csdn.net/weixin_44791964/article/details/106733795
kernel_size就是指的Depthwise Convolution的卷积核大小。

上一篇:CNN卷积神经网络之ResNeXt.

欢迎交流,禁止转载!!

你可能感兴趣的:(CNN卷积神经网络,深度学习,算法,人工智能,网络,神经网络)