dilation 一文了解各种卷积结构原理及优劣( 二 )


可分离卷积
在可分离卷积中,卷积核运算可以分为多个步骤。卷积运算用y=conv(x,K)表示,其中输出图像为y,输入图像为x,卷积核为K..然后,假设k可以用下面的公式计算:k=k1.dot(k2)。这实现了可分离的卷积运算,因为不使用K来执行二维卷积运算,而是分别使用k1和k2来执行二维卷积,以达到相同的效果。

dilation 一文了解各种卷积结构原理及优劣


文章图片

△x和y方向的Sobel滤波器
图像处理通常使用Sobel算子,这里以其为例。分别将向量[1,0,-1]和[1,2,1]的转置向量相乘,可以得到相同的滤波器。为了完成这个操作,只需要6个参数,而不是2D卷积中的9个参数。
这个例子说明了什么叫做空之间的可分卷积。这种方法并不用于深度学习,只是用来帮助你理解这个结构。
在神经网络中,我们通常使用深度可分卷积结构。
在该方法中,空之间的卷积可以通过在保持通道分离的同时连接深卷积结构来实现。接下来通过一个例子让大家更好的理解。
假设有一个3×3大小的卷积层,16个输入通道,32个输出通道。具体而言,32个3×3大小的卷积核在16个通道中遍历每个数据,从而生成16×32=512个特征图。然后,通过叠加对应于每个输入通道的特征图并融合它们来获得特征图。最后,可以获得所需的32个输出通道。
对于这个例子,应用了深度可分离卷积,并且通过用3×3大小的卷积核遍历16个数据通道来获得16个特征图。在融合操作之前,使用32个1×1大小的卷积核遍历16个特征图进行加性融合。该工艺使用16×3×3+16×32×1×1=656个参数,远小于上述16×32×3×3=4608个参数。
这个例子是深度可分卷积的具体运算,其中上述深度乘数设为1,也是目前这类网络层的常用参数。
这样做是为了分离空和深度信息之间的信息。从异常模型的效果可以看出,这种方法更有效。因为参数可以有效使用,深度可分离卷积也可以用于移动设备。
原文:
https://medium . com/towards-data-science/type-of-回旋-in-deep-learning-717013397f4d
更多卷积动画:
https://github.com/vdumoulin/conv_arithmetic
[结束]
【dilation 一文了解各种卷积结构原理及优劣】8月2日(周三)qubit邀请保险服务领域的AI公司灵芝优诺的CTO进行许可分享,欢迎报名~

推荐阅读