MobileNetv1纸演练:微小的巨人

与Pytorch The MobileNetv1纸上演练了解和实施Mobilenetv1:这家小巨人首先出现在数据科学上。

来源:走向数据科学

简介

过去专注于提高准确性。他们不断将极限推得越来越高,直到最终意识到模型的计算复杂性变得越来越昂贵。这绝对是研究人员需要解决的问题,因为我们希望深度学习模型不仅能够在高端计算机上运行,​​而且还能够在小型设备上运行。为了解决这个问题,霍华德等人。早在 2017 年,他们就提出了一种极其轻量级的神经网络模型,称为 MobileNet,他们在题为 MobileNets:用于移动视觉应用的高效卷积神经网络 [1] 的论文中介绍了该模型。事实上,论文提出的模型是MobileNet的第一个版本,俗称MobileNetV1。目前我们已经有四个 MobileNet 版本:MobileNetV1 一直到 MobileNetV4。然而,在本文中,我们将只关注 MobileNetV1,涵盖架构背后的想法以及如何使用 PyTorch  从头开始​​实现它—— 我将在接下来的文章中保存更高的 MobileNet 版本。

等。 MobileNets:用于移动视觉应用的高效卷积神经网络

深度可分离卷积

为了实现轻量级模型,MobileNet 利用了深度可分离卷积的思想,该思想几乎遍及整个网络。下面的图 1 显示了该层(右)和标准卷积层(左)之间的结构差异。从图中可以看到,深度可分离卷积基本上包含两种类型的卷积层:深度卷积和点卷积。除此之外,在构建基于 CNN 的模型时,我们通常遵循 conv-BN-ReLU 结构。这本质上就是在插图中我们在每个转换层之后进行批量归一化和 ReLU 的原因。我们将在后续部分中更深入地讨论深度卷积和点卷积。

深度卷积 C