深度学习笔记9 mobilenet v1:轻量级神经网络1

自从AlexNet在2012年赢得ImageNet大赛的冠军一来,卷积神经网络就在计算机视觉领域变得越来越流行,一个主要趋势就是为了提高准确率就要做更深和更复杂的网络模型,然而这样的模型在规模和速度方面显得捉襟见肘,在许多真实场景,比如机器人、自动驾驶、增强现实等识别任务及时地在一个计算力有限的平台上完成,这是我们的大模型的局限性所在。

目前针对这一问题的研究主要是从两个方面来进行的:一是对复杂模型采取剪枝、量化、权重共享等方法,压缩模型得到小模型;二就是直接设计小模型进行训练。
本文学习的mobilenet,就是一种小模型深度神经网络。以下将对mobilenetv1(2017)和mobilenetv3(2021)做出介绍,并且提及mobilenetv2的主要改进点。

mobilenetv1

Depthwise Separable Convolution深度级可分离卷积

MobileNet是基于深度级可分离卷积构建的网络,其实这种结构最早是出现在GoogleNet v3的inception中,它是将标准卷积拆分为了两个操作:
深度卷积(depthwise convolution):depthwise convolution针对每个输入通道采用不同的卷积核,就是说一个卷积核对应一个输入通道,所以说depthwise convolution是depth级别的操作。不同的是,传统卷积则对于标准卷积其卷积核是用在所有的输入通道上(input channels)。
逐点卷积(pointwise convolution):普通的卷积,采用1x1的卷积核。
优势:计算量小。
假设输入尺寸为 DF x DF x M,标准卷积核的尺寸为 DK x DK x M x N
1.采用标准卷积核进行卷积,步长为1且padding,那么输出尺寸应该为 DF x DF x N,计算量为 DK x DK x M x N x DF x DF;

2.采用depthwise separable convolution的方式进行卷积,先使用 M个Depthwise Convolutional Filter对输入的M个通道分别进行卷积得到尺寸为 DF x DF x M,这一步的计算量为 DK x DK x M x DF x DF;再使用N个 1 x 1 x M的卷积核进行逐点卷积得到输出尺寸为 DF x DF x M x N,这一步的计算量为 M x N x DF x DF;故总的计算量为 DK x DK x M x DF x DF + M x N x DF x DF。

两者之比为1/N+1/DK^2 一般而言N的值较大,因此减少的计算量为卷积核大小的平方倍。

优势:参数量少。
标准卷积的参数量为Dk x Dk x M x N(M为输入通道数, N为输出通道数),深度卷积的参数量为DK x DK x N,逐点卷积的参数量为1 x 1 x M x N,所以深度可分离卷积相对于标准卷积的参数量为(DK x DK x N + M x N)/ DK x DK x M x N = 1/M + 1/DK x DK。

实际网络结构

在这里插入图片描述

mobileNetV1的网络结构如Table 1.前面的卷积层中除了第一层为标准卷积层外,其他都是深度可分离卷积(Conv dw + Conv/s1),卷积后接了一个7 x 7的平均池化层,之后通过全连接层,最后利用Softmax激活函数将全连接层输出归一化到0-1的一个概率值,根据概率值的高低可以得到图像的分类情况。

两个超参数

宽度因子α(Width Multiplier)
对于深度可分离卷积层,输入的通道数M乘上一个宽度因子α变为αM,输出通道数变为αN,其中α区间为(0,1],此时深度可分离卷积的参数量为:DK x DK x αN + αM x αN = α x α(1/α x DK x DK x N + M x N),计算量变为αM x DF x DF x DK x DK+αN x DF x DF x αM = α x α (1/α x M x DF x DF x DK x DK+N x DF x DF x M),所以参数量和计算量差不多都变为原来的α x α倍。
分辨率因子ρ (Resolution Multiplier)
ρ改变输入层的分辨率,所以深度可分离卷积的参数量不变,但计算量为M x ρDF x ρDF x DK x DK+N x ρDF x ρDF x M = ρ x ρ(M x DF x DF x DK x DK+N x DF x DF x M),即计算量变为原来的ρ x ρ倍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值