【图像分类】MobileNet: 一点创新、两个超参

在这里插入图片描述

MobileNet是2017年由Google提出的一个应用于移动端和嵌入式的卷积神经网络。它的主要应用场景包括有智能手机、无人机、机器人、自动驾驶、增强现实等等。

在这之前,研究者更多还是关注于精度的提升,模型也是朝着深度更深、结构更复杂的方向发展。从最初12年提出的8层的AlexNet、再到14年各领风骚的19层的VGG和22层的GoogLeNet、再到15年何凯明大神提出的152层的ResNet。可见,深度是越来越深,精度是越来越高。

但与此同时,这些网络的参数和计算量也是足够的大,很难在移动端和嵌入式设备中使用。

本文介绍的MobileNet就是一个针对移动端、参数量和计算量都大幅减小,同时精度很高的一个高效卷积神经网络。

我对MobileNet的总结是八个字: 一点创新,两个超参。

1 一点创新

那么MobileNet 有哪些创新之处呢?

其实最主要的创新就只有一点。那就是采用了depthwise separable convolution, 中文叫法是深度可分离卷积。

如果之前没听过,听这个名字感觉很高大上的样子。其实如果你了解标准的卷积操作,那么了解它也是很容易的事情。

在这里插入图片描述

如上图所示,这是一张标准卷积的示意图。我们看到一个标准的卷积操作中既包含对输入特征图的过滤,又包含基于通道方向的组合。

深度可分离卷积所做的就是对标准卷积的分解,分解为一个depthwise convolution 和一个pointwise convolution 。(下文中,分别称之为DW卷积和PW卷积)

也即是说,在MobileNet的网络中不再使用标准卷积,而是采用这两个DW卷积和PW卷积来代替。

那么,什么是DW卷积和PW卷积呢?

1.1 DW卷积

在这里插入图片描述

这是DW卷积的示意图。我们看到,它的卷积核个数和输入特征图的通道个数一致(上图中均是4个),每个卷积核只有一个通道,作用于输入特征图的对应深度上。

它与标准卷积不同的是:在标准卷积中,每个卷积核的通道数是与输入特征图的通道数一致的,每个卷积核都与输入特征图在空间宽度、高度和深度上进行过滤和组合,并形成一张特征图;且有N个这样的卷积核,最终形成的输出特征图也就是通道数为N的特征图。

而DW卷积,明显简化了许多。它的一个卷积核只有单个通道,只负责输入特征图深度方向的一层特征图。这样很明显参数量会大大减少。(在下一节中会给出具体数据)

仅仅只有depthwise convolution是不够的,因为它只实现了对输入特征图宽度和高度的过滤操作,并没有对通道方向进行组合。因此我们还需要一个组合的操作。这便是PW卷积要做的事情。

1.2 PW卷积

PW卷积就是普通的1*1卷积。

我们之前介绍过,1*1卷积实现了对输入特征图在通道方向上的加权组合,来生成新的特征图。并根据卷积核的个数的多少,决定输出特征图的通道数。

因此,我们这里就使用一个1*1卷积,来对DW卷积的输出结果在通道方向进行线性的组合。

如下图所示,可以看到和标准卷积的区别,只是卷积核变为了1*1的大小。

在这里插入图片描述

1.3 对比标准卷积与深度可分离卷积的计算量

接下来,我们分析一下,采用DW卷积和PW卷积组合的这种深度可分离卷积,是如何大幅度减少网络参数的。

我们不妨设输入的特征图大小为 D F ∗ D F ∗ M D_F * D_F *M DFDFM,其中 D F D_F DF表示输入特征图的空间宽度和高度, M M M表示输入特征图的通道数(深度);

假设卷积核大小为 D K ∗ D K ∗ M ∗ N D_K * D_K * M * N DKDKMN,其中 D K D_K DK表示卷积核的空间宽度和高度, M M M表示输入特征图的通道数,N表示卷积核的个数; 且卷积核的步距stride=1,采用same padding的填充方式。

那么一个标准卷积计算量是
D K ∗ D K ∗ M ∗ N

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值