论文-MobileNetV2: Inverted Residuals and Linear Bottlenecks

1、主要创新

  1)提出了一种新的layer module:the inverted residual with linear bottleneck,

  2)short connect被置于bottleneck层之间,比置于expanded层之间可以取得更好的效果

  3)采用线性bottleneck层(即不同ReLU函数),因为非线性会破坏低维空间信息

  4)使用ReLU6作为非线性函数,因为它在低精度计算时具有鲁棒性

2、网络结构

  1)传统Residual block

    先用1x1降通道过ReLU,再3x3空间卷积过ReLU,再用1x1ReLU卷积恢复通道,并和输入相加。之所以要1x1卷积降通道,是为了减少计算量,不然中间的3x3空间卷积计算量太大。所以Residual block是沙漏形,两边宽中间窄。

  2)Inverted residual block

  现在中间的3x3卷积变为了Depthwise的了,计算量很少了,通道可以多一点,效果更好,所以通过1x1卷积先提升通道数,再Depthwise的3x3空间卷积,再用1x1卷积降低维度。两端的通道数都很小,所以1x1卷积升通道或降通道计算量都并不大,而中间通道数虽然多,但是Depthwise 的卷积计算量也不大。作者称之为Inverted Residual Block,两边窄中间宽,像柳叶,较小的计算量得到较好的性能.

扫描二维码关注公众号,回复: 9444316 查看本文章

  3)ReLU6

  首先说明一下 ReLU6,卷积之后通常会接一个 ReLU 非线性激活,在 MobileNet V1 里面使用 ReLU6,ReLU6 就是普通的ReLU但是限制最大输出值为 6,这是为了在移动端设备 float16/int8 的低精度的时候,也能有很好的数值分辨率,如果对 ReLU 的激活范围不加限制,输出范围为0到正无穷,如果激活值非常大,分布在一个很大的范围内,则低精度的float16/int8无法很好地精确描述如此大范围的数值,带来精度损失。

 

 3、与其他模型的结构对比

 4、性能对比(ImagNet)



  

猜你喜欢

转载自www.cnblogs.com/wt-seu/p/12373027.html