Depth-wise convolution and Depth-wise Separable Convolution可分离卷积

可分离卷积经常被用在轻量级网络中,下面就来具体介绍以下什么可分离卷积。

什么是可分离卷积

标准的神经网络的卷积层包含输入、输出、宽、高四个参数。对于输入10通道,输出20通道、卷积核大小7X7来说,有7X7X10X20+20=9820个参数(因为要加上偏置),这么多参数很有可能造成过拟合。对此,人们想到了Depth-wise convolution和depth-wise separable convolution。

Depth-wise convolution

针对一个3X8X8(channelXwidthXheight)的输入,filter为3X3X3,普通的卷积是按照如下所做的:
在这里插入图片描述
但是在depth-wise卷积中,我们将图像的channel和filter的channel拆开来,分别卷积,然后stack到一起,这样子只用了三个卷积核,我们就得到了三张特征图(但是我觉得这样比其普通的卷积少了通道之间的信息融合影响,对于图像算法而言,通道之间的信息融合还是蛮重要的)
在这里插入图片描述

为了和普通的卷积产生相同的效果,我们需要选择一个通道,是的除了该通道以外的所有卷积核的参数都为0,然后卷积。我们需要3个卷积核,每一个对应不同的channel,虽然参数个数都是相同的,但是输出了3维的特征图。

Depth-wise Separable Convolution

这个卷积的主要思想在于卷积核的depth深度维度和spatial 空间维度是可以分开的。我们举个sobel卷积的例子,可以将卷积分为宽和高两个维度。如下图所示:
在这里插入图片描述
卷积核被分离了,看起来有18个参数,实际上只有6个,这是由于宽、高维度分离的原因。这也可以应用于水平维度(widthheight)和深度维度的分离。我们用11的卷积去做深度方向的卷积。
在这里插入图片描述
值得注意的是,这种卷积可以大大减少参数量,我们只需要333+313=(27+9)个参数就可以获得三张特征图,但是在普通卷积中,需要333*3=81个参数才可以。参数太多会导致网络要拟合过多的参数,从而导致过拟合,Depth-wise separable convolution是帮助我们解决这一问题的好办法。

总结

1.本文介绍了两种卷积方式,在固定输入、输出、kernel大小的情况下,这两种卷积相较于普通卷积可以大大减少参数量,防止过拟合,参数量减少的同时计算量肯定也大大下降啦;
2.Depth-wise convolution不推荐使用,因为缺少了通道间信息的融合。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值