深度可分离卷积原理介绍

前言

        大家想着看这篇博客,大多是因为看完MobileNet后,对其原理理解不清楚。MoblieNet是基于深度可分离卷积,所以想弄明白MobileNet就必须深入了解深度可分离卷积。话不多说,进入正题。

深度可分离卷积

        深度可分离卷积由深度卷积(Deepwise convolution)+点卷积组成(Pointwise convolution)

深度可分离卷积和普通卷积的区别

        这里事先申明一下,卷积提取特征的过程,默认假定卷积步长1、填充为0

        一、普通卷积

        普通卷积主要是通过卷积核来提取给定输入的特征,所以理解普通卷积的核心在于理解卷积核。卷积核是由卷积核的大小、通道数、个数三部分构成,其中卷积核的大小的取决于输出特征图的大小(卷积后输出特征图的计算公式我就不列举出来了),卷积核的通道数由输入特征的通道数决定,卷积核的个数是由输出特征图的通道数决定。 

        举个例子:要用普通的卷积提取给定输入特征图(假如是28x28x3的图片),输出的大小为26x26x256的图片,问卷积核的大小、通道数、个数分别是多少。答案是卷积核的大小是3、通道数是3、个数是256。具体过程是:一个卷积核首先会与给定的输入特征的通道数(这个例子中是3)进行同步,然后分别与给定的输入特征进行一对一相乘,对所有结果进行相加,形成成一个通道数为1、大小为26x26的特征图,这样的操作会依次被其余255个卷积核执行255次,最后也就生成256个特征图,这256个特征图也就是输出的结果。(图解到时候找到合适在往上补)

        二、深度可分离卷积

        深度可分离卷积由深度卷积和点卷积组成。深度卷积与普通卷积不同的是, 个数与给定输入特征图的通道数一致,大小则是由输出特征图来确定。这样就会使输出特征图的通道数与给定输入特征图的通道数一致。逐点积就是卷积核大小为1x1的普通卷积,目的就是对特征图进行升维和降维。

深度可分离卷积和普通卷积参数大小比较

        假设输入特征图为H x W x C卷积核的大小都为Dk x Dk,通道数为N,输出特征图的大小为F x G,通道数为M。

         普通卷积:

        计算量为:Dk x Dk x N x F x G x M

        参数量为Dk x Dk x N x M

        深度可分离卷积:

        计算量为:Dk x Dk x  F x G x M + 1 x 1 x N x F x G x M

        参数量为:Dk x Dk x C + 1 x 1 x N x M 

        相比于普通卷积,深度可分离卷积计算量和参数量都为普通卷积的

\frac{1}{N} +\frac{1}{D^{2}}

结语

分享就到这里了,欢迎大家给出自己的见解和意见!

文章参考:https://zhuanlan.zhihu.com/p/70703846

                  https://blog.csdn.net/holly_Z_P_F/article/details/122377935

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值