Advertisement

《MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS》论文笔记

阅读量:

《MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS》

源码地址: caffe tensorflow

what: 文章提出一个新颖的卷积方式:膨胀卷积。通过膨胀卷积指数式的增长感受野的区域,从而获得更好的稠密分类结果。用语义分割这个很具代表性的稠密分类问题验证了膨胀卷积的有效性。好吧说了这么多,总结起来一句话:通过更好的卷积方式获得更大的感受野提高稠密分割精度。

why: 说到为什么提出这个论点,就不得不提CNN的在一些任务上的致命缺点,尤其是pooing和up-sampling的缺点:

1:up-sampling / pooling layer (e.g. bilinear interpolation) is deterministic. (a.k.a. not learnable)

2:空间信息(数据结构之间的联系)丢失严重

3:小物体无法重建,理论上16个像素的块状体,经过4个pooling后就不能构建

作者提到:目前FCN通过pooing的方式增大感受野,这种方式浪费了很多空间信息。SPP金字塔通过多种尺度的输入图片增大感受野,但是作者并不认为这种分开分析不同尺度的输入是有必要的(毕竟参数数量增大)。于是提出了膨胀卷积,指数式的增大感受野。

how : 卷积(空洞卷积)就是将传统的卷积推广到一个更一般的形式。这个形式并不新颖,其他很多问题中都有类似的推广,本文作者将这个形式推广到了神经网络中来。

我们首先解释普通卷积核的大小选择的影响,如果是连续三个卷积层且卷积核33(参考VGG),则这三个卷积层就相当于一个卷积核为77的卷积层。它们的感受野都是77。之所以用三个33不用一个77,因为参数数量少了(77+1-(333+3))个。

但是这样一个连续的3个33的卷积核最终的感受野才77而且随卷积层的增大,感受野以等差的方式增加(3,5,7,9...),效率太低,所以很多模型都用pooling的方式成倍提高感受野,而pooling不可避免的会忽略空间信息。

再来看一下膨胀卷积核的带来的变化,所谓膨胀卷积核,用通俗的话来说,就是带有空洞的卷积核,1-dilated卷积核相当于普通的卷积核,2-delated卷积核中间相差一个空洞,3-delated卷积核中间相差3个空洞...其卷积过程如下图:

(a) 原始的 卷积,1-dilated,感受野为 ;

(b) 在(a)的基础上进行 卷积,2-dilated,感受野为 ;

(c) 在(b)的基础上进行 卷积,4-dilated,感受野为 ;

由于padding和卷积的stride=1,卷积前后feature map大小可以保持不变,但每个元素的感受野指数增大。

卷积方式:

普通卷积(1-delated)

2-delated 卷积

context module构建 :作者利用提出的膨胀卷积的概念提出了一个新的模型,模型结构如下表:

作者在用这个结构时提出初始化的一些问题,随机初始化对于文本模型效率太低,使用了不同的初始化方式:

前端的构建:

除了context module,作者还构建了一个前端,前端的作用就是产生feature maps, context module是作用在这些特征图上的。前端的构建很简单,就是VGG去掉pooing4和pooing5, 文中是这样描述的:removed the last two pooling and striding
layers,这里实际上就是pooing4和pooing5,只是把池化(相当于stride=1)和子采样(stride=2)分开表述了

result:

作者把context module与其他方法做了对比试验,证明方法的有效性:

全部评论 (0)

还没有任何评论哟~