分享

卷积神经网络中不同类型的卷积方式

 南风清雨 2018-01-17

卷积方式

分组卷积(group convolution):在Alexnet中被首次使用,因为单一GPU训练时的内存限制。(论文:ImageNet Classification with Deep Convolutional Neural Networks)

卷积神经网络中不同类型的卷积方式

3×3卷积核(论文:VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION):AlexNet中用到了一些非常大的卷积核,比如11×11、5×5卷积核,之前人们的观念是,卷积核越大,receptive field(感受野)越大,看到的图片信息越多,因此获得的特征越好。虽说如此,但是大的卷积核会导致计算量的暴增,不利于模型深度的增加,计算性能也会降低。于是在VGG(最早使用)、Inception网络中,利用2个3×3卷积核的组合比1个5×5卷积核的效果更佳,同时参数量(3×3×2+1 VS 5×5×1+1)被降低,因此后来3×3卷积核被广泛应用在各种模型中。

Inception结构(论文:Going deeper with convolutions 首次提出):传统的层叠式网络,基本上都是一个个卷积层的堆叠,每层只用一个尺寸的卷积核,例如VGG结构中使用了大量的3×3卷积层。事实上,同一层feature map可以分别使用多个不同尺寸的卷积核,以获得不同尺度的特征,再把这些特征结合起来,得到的特征往往比使用单一卷积核的要好,谷歌的GoogLeNet,或者说Inception系列的网络,就使用了多个卷积核的结构。下图是最初的inception结构:

卷积神经网络中不同类型的卷积方式

Bottleneck(resnet):发明GoogleNet的团队发现,如果仅仅引入多个尺寸的卷积核,会带来大量的额外的参数,受到Network In Network中1×1卷积核的启发,为了解决这个问题,他们往Inception结构中加入了一些1×1的卷积核,如图所示:

卷积神经网络中不同类型的卷积方式

卷积神经网络中不同类型的卷积方式

Resnet:skip connection。

卷积神经网络中不同类型的卷积方式

传统的卷积层层叠网络会遇到一个问题,当层数加深时,网络的表现越来越差,很大程度上的原因是因为当层数加深时,梯度消散得越来越严重,以至于反向传播很难训练到浅层的网络。为了解决这个问题,何凯明想出了一个“残差网络”,使得梯度更容易地流动到浅层的网络当中去,而且这种“skip connection”能带来更多的好处。残差的意思是:不再学习从 x 到 H(x) 的基本映射关系,而是学习这两者之间的差异(残差),为了计算 H(x),我们只需要将这个残差加到输入上。上图中shortcut传过来的就是x(这是identity形式,还有两种变化形式,这种最好),我们可以看到,下一层的得到的y=Δ+x,(Δ是残差),可以看到反向传播时,求导后为y’=Δ’+1,看到没,有个1,所以梯度不会消失。(此处只是个简单例子,并没有详细推导,但是理解了反向传播过程就能理解这个1的意义,或者感兴趣的可以去看原文:Identity Mappings in Deep Residual Networks)。

卷积神经网络中不同类型的卷积方式

上式是densenet,原文链接:https:///pdf/1608.06993.pdf

Depthwise操作:把通道和空间区域分开考虑。Xception网络就是基于以上的问题发明而来。

卷积神经网络中不同类型的卷积方式

我们首先对每一个通道进行各自的卷积操作,有多少个通道就有多少个过滤器。得到新的通道feature maps之后,这时再对这批新的通道feature maps进行标准的1×1跨通道卷积操作。这种操作被称为 “DepthWise convolution” ,缩写“DW”。

通道随机分组:shufflenet(昨天发过了,点这)。

SEnet:就是通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征。

卷积神经网络中不同类型的卷积方式

Dilated convolution(空洞卷积):使用标准的3×3卷积,使其看到更大范围。

卷积神经网络中不同类型的卷积方式

Deformable convolution:认为卷积核的形状可以是变化的,变形的卷积核能让它只看感兴趣的图像区域 ,这样识别出来的特征更佳。

卷积神经网络中不同类型的卷积方式

要做到这个操作,可以直接在原来的过滤器前面再加一层过滤器,这层过滤器学习的是下一层卷积核的位置偏移量(offset),这样只是增加了一层过滤器,或者直接把原网络中的某一层过滤器当成学习offset的过滤器,这样实际增加的计算量是相当少的,但能实现可变形卷积核,识别特征的效果更好。扩展链接:http://www./zh-cn/news/features/deformable-convolutional-networks-20170609

神经网络架构综述:https://chenzomi12./2016/12/13/CNN-Architectures/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多