【第26篇】MobileNets:用于移动视觉应用的高效卷积神经网络

文章详细讨论了MobileNet模型,特别关注其深度可分离卷积的结构,如何通过宽度乘数和分辨率乘数减少计算成本和参数,以及在实验中展示的模型收缩对性能的影响。MobileNet在保持相对准确性的同时,显著降低了计算复杂度和模型大小。
摘要由CSDN通过智能技术生成

D K ⋅ D K ⋅ M ⋅ D F ⋅ D F + M ⋅ N ⋅ D F ⋅ D F (5) D_{K} \cdot D_{K} \cdot M \cdot D_{F} \cdot D_{F}+M \cdot N \cdot D_{F} \cdot D_{F} \tag{5} DK​⋅DK​⋅M⋅DF​⋅DF​+M⋅N⋅DF​⋅DF​(5)

这是depthwise和1×1 pointwise卷积的总和。

通过将卷积表示为过滤和组合的两步过程,我们可以减少以下计算:

D K ⋅ D K ⋅ M ⋅ D F ⋅ D F + M ⋅ N ⋅ D F ⋅ D F D K ⋅ D K ⋅ M ⋅ N ⋅ D F ⋅ D F = 1 N + 1 D K 2 \begin{aligned} & \frac{D_{K} \cdot D_{K} \cdot M \cdot D_{F} \cdot D_{F}+M \cdot N \cdot D_{F} \cdot D_{F}}{D_{K} \cdot D_{K} \cdot M \cdot N \cdot D_{F} \cdot D_{F}} \\ =& \frac{1}{N}+\frac{1}{D_{K}^{2}} \end{aligned} =​DK​⋅DK​⋅M⋅N⋅DF​⋅DF​DK​⋅DK​⋅M⋅DF​⋅DF​+M⋅N⋅DF​⋅DF​​N1​+DK2​1​​

MobileNet 使用 3 × 3 深度可分离卷积,它使用的计算量比标准卷积少 8 到 9 倍,而准确度仅略有降低,如第 4 节所示。

空间维度的额外分解,例如 [16, 31] 并没有节省太多额外的计算,因为在深度卷积中花费的计算很少。

3.2、网络结构和训练


MobileNet 结构建立在上一节中提到的深度可分离卷积之上,但第一层是全卷积。通过以如此简单的术语定义网络,我们能够轻松地探索网络拓扑以找到一个好的网络。 MobileNet 架构在表 1 中定义。

image-20220125175313205

所有层都遵循 batchnorm [13] 和 ReLU 非线性,但最终全连接层除外,它没有非线性并馈送到 softmax 层进行分类。图 3 将具有常规卷积、batchnorm 和 ReLU 非线性的层与具有深度卷积、1×1 逐点卷积以及每个卷积层之后的 batchnorm 和 ReLU 的分解层进行了对比。在深度卷积和第一层中使用跨步卷积处理下采样。最终的平均池化在全连接层之前将空间分辨率降低到 1。将深度卷积和点卷积计算为单独的层,MobileNet 有 28 层。

image-20220125175049382

仅仅根据少量的多加来定义网络是不够的。确保这些操作可以有效实施也很重要。例如,非结构化稀疏矩阵运算通常不会比密集矩阵运算快,直到非常高的稀疏度。我们的模型结构将几乎所有的计算都放入密集的 1 × 1 卷积中。这可以通过高度优化的通用矩阵乘法 (GEMM) 函数来实现。卷积通常由 GEMM 实现,但需要在内存中进行名为 im2col 的初始重新排序,以便将其映射到 GEMM。例如,这种方法用于流行的 Caffe 包 [15]。 1×1 卷积不需要在内存中进行这种重新排序,并且可以直接使用 GEMM 实现,它是最优化的数值线性代数算法之一。如表 2 所示,MobileNet 将 95% 的计算时间用于 1 × 1 卷积,其中也有 75% 的参数。几乎所有附加参数都在全连接层中。

image-20220125175356517

MobileNet 模型在 TensorFlow [1] 中使用 RMSprop [33] 进行训练,该模型具有类似于 Inception V3 [31] 的异步梯度下降。 然而,与训练大型模型相反,我们使用较少的正则化和数据增强技术&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值