渔线厂家
免费服务热线

Free service

hotline

010-00000000
渔线厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

CNN中千奇百怪的卷积方式大汇总_[#第一枪]

发布时间:2021-06-07 12:55:41 阅读: 来源:渔线厂家

雷锋网按:本文原作者Xf Mao,本文原载于知乎。已获得作者授权。

推荐另一篇很好的总结:变形卷积核、可分离卷积?卷积神经网络中十大拍案叫绝的操作。

这篇总结很专业,并且很好的回答了评论中的疑问:

Depthwise Separable Convolution 就是卷积加 group 吧?

这篇文章里是这么说的:

要注意的是,Group conv 是一种 channel 分组的方式,Depthwise +Pointwise 是卷积的方式,只是 ShuffleNet 里面把两者应用起来了。因此 Group conv 和 Depthwise +Pointwise 并不能划等号。

我觉得 Depthwise +Pointwise 卷积是提供一种把 feature map 的空间信息(height&width)和通道信息(channel)拆分分别处理的方法,而 group 卷积只是单纯的通道分组处理,降低复杂度。

对于表述有误的地方欢迎更正!另外目前仅列举了一些比较著名且实用的卷积操作,对于没提到的,希望大家指出与补充

1. 原始版本

最早的卷积方式还没有任何骚套路,那就也没什么好说的了。

见下图,原始的 conv 操作可以看做一个 2D 版本的无隐层神经网络。

附上一个卷积详细流程:

【TensorFlow】tf.nn.conv2d 是怎样实现卷积的? - CSDN 博客

<img src="https://static.leiphone.com/uploads/new/article/pic/201709/fb01665eb9a74d64792d426dcb3a046e.jpg" data-rawwidth="933" data-rawheight="637" class="origin_image zh-lightbox-thumb" width="933" data-original="https://pic3.zhimg.com/v2-b3aed0d569a91f87da9f586217d76092_r.jpg" _src="https://static.leiphone.com/uploads/new/article/pic/201709/fb01665eb9a74d64792d426dcb3a046e.jpg"/>

代表模型:

LeNet:最早使用 stack 单卷积 + 单池化结构的方式,卷积层来做特征提取,池化来做空间下采样

AlexNet:后来发现单卷积提取到的特征不是很丰富,于是开始 stack 多卷积 + 单池化的结构

VGG([1409.1556] Very Deep Convolutional Networks for Large-Scale Image Recognition):结构没怎么变,只是更深了

2. 多隐层非线性版本

这个版本是一个较大的改进,融合了 Network In Network 的增加隐层提升非线性表达的思想,于是有了这种先用 1*1 的卷积映射到隐空间,再在隐空间做卷积的结构。同时考虑了多尺度,在单层卷积层中用多个不同大小的卷积核来卷积,再把结果 concat 起来。

这一结构,被称之为 “Inception”

<img src="https://static.leiphone.com/uploads/new/article/pic/201709/2b7c53ec65e0163883ac14bcd54a40eb.jpg" data-rawwidth="844" data-rawheight="442" class="origin_image zh-lightbox-thumb" width="844" data-original="https://pic4.zhimg.com/v2-eddec9ea8e0868c570fb95c00032c8e3_r.jpg" _src="https://static.leiphone.com/uploads/new/article/pic/201709/2b7c53ec65e0163883ac14bcd54a40eb.jpg"/>

代表模型:

Inception-v1([1409.4842] Going Deeper with Convolutions):stack 以上这种 Inception 结构

Inception-v2(Accelerating Deep Network Training by Reducing Internal Covariate Shift):加了 BatchNormalization 正则,去除 5*5 卷积,用两个 3*3 代替

Inception-v3([1512.00567] Rethinking the Inception Architecture for Computer Vision):7*7 卷积又拆成 7*1+1*7

Inception-v4([1602.07261] Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning):加入了残差结构

3. 空洞卷积

Dilation 卷积,通常译作空洞卷积或者卷积核膨胀操作,它是解决 pixel-wise 输出模型的一种常用的卷积方式。一种普遍的认识是,pooling 下采样操作导致的信息丢失是不可逆的,通常的分类识别模型,只需要预测每一类的概率,所以我们不需要考虑 pooling 会导致损失图像细节信息的问题,但是做像素级的预测时(譬如语义分割),就要考虑到这个问题了。

所以就要有一种卷积代替 pooling 的作用(成倍的增加感受野),而空洞卷积就是为了做这个的。通过卷积核插 “0” 的方式,它可以比普通的卷积获得更大的感受野,这个 idea 的 motivation 就介绍到这里。具体实现方法和原理可以参考如下

风批

岩棉复合板图片

数控组合机床