膨胀卷积 (Dilated Convolution,也称为空洞卷积),与标准的卷积核不同,膨胀卷积在 kernel 中增加了一些空洞,从而可以扩大模型的感受野。
1.膨胀卷积和标准卷积区别
我们先通过下图看一下膨胀卷积和标准卷积的区别,采用的卷积核都是 3×3 的。膨胀卷积有一个超参数 dilation rate,表示卷积核的间隔,标准卷积的 dilation rate 为 1,下图的膨胀卷积 dilation rate 为 2。
2.为什么需要膨胀卷积
用 CNN 进行图像处理时,通常需要经过多次卷积和 pooling 操作增大模型的感受野。pooling 可以减少图像的尺寸,再使用卷积核可以增大感受野;多个卷积核堆叠也可以增大感受野。经过卷积和 pooling 的 feature map 会比较小,这时可以传到全连接网络进行分类。
但是在进行图像分割时,需要针对每个像素点进行预测,因此还要把减小尺寸后的 feature map 通过 up sampling 的方法 (如 deconv 反卷积) 转回原始图像尺寸再进行预测。如下图所示:
这一过程的主要问题:
- 信息丢失,pooling 操作是不可逆转的,通过对 feature map 进行 up sampling 还原图像尺寸时丢失信息。
- 无法重构小的物体图像,如果一个物体占 4×4 的像素,则经过 4 次 pooling 操作之后,物体的信息就无法重构了。
为了避免使用 pooling 等操作扩大感受野,《MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS》中提出了膨胀卷积 (dilated convolution)。膨胀卷积会在卷积的过程中增加一些空洞,略过空洞的点,如下图所示。
上图中的三个卷积核尺寸都是 3×3。
(a) 中的卷积为标准的卷积,即 dilation rate = 1,此时这个卷积核的感受野大小为 3×3。
(b) 中的卷积核跟在 (a) 的卷积操作后面,但是采用膨胀卷积,dilation rate = 2,即卷积的空洞为 1,此时每个卷积操作的点的感受野为 3×3,整个卷积核的感受野为 7×7。
(c) 中的卷积核跟在 (b) 的卷积操作后面,dilation rate = 4,即卷积空洞为 3,此时每个卷积点对应的感受野为 7×7,整个卷积核的感受野为 15×15。
在 NLP 中也可以利用膨胀卷积,使模型获得更大的上下文信息,如下图所示。
第一层卷积层使用尺寸为 3 的标准卷积核,第二层使用尺寸为 3 的膨胀卷积核 (dilation rate 为 2)。这样第二层的每一个点感受野变成了 7。
3.膨胀卷积的一些问题
膨胀卷积替代了传统的 max-pooling 和 strided convolution,能够增大感受野并保持 feature map 的尺寸和原始图片一致。但是膨胀卷积仍然存在一些问题,在论文《Understanding Convolution for Semantic Segmentation》中提到:
- gridding problem,如果我们叠加多个相同的膨胀卷积,会发现感受野中有很多像素没有利用上,出现大量空洞。此时,会丢失数据之间的连续性及完整性,不利于学习。下图展示了连续进行 3 次相同膨胀卷积的效果 (卷积核大小为 3×3,dilation rate = 2)。
- 长距离的信息有时是不相关的,膨胀卷积扩大了感受野,因此可以取得长距离信息,但是有些长距离信息和当前点是完全不相关的,会影响数据的一致性。
为了解决上述问题,论文中提出了混合膨胀卷积 HDC (hybrid dilated convolution)。HDC 主要措施:
- 使多个膨胀卷积后的感受野内不存在空洞,假设有 n 个膨胀卷积核,dilation rate 分别是 [r1, r2, ..., rn]。如果 [r1, r2, ..., rn] 能使下式满足,则说明感受野不会存在空洞,下式中的 Mi 指第 i 层可以使用的最大的 dilation rate,K 使卷积核尺寸。
- 不同的卷积层使用不同的 dilation rate,对于一组膨胀卷积,设置不同的 dilation rate,dilation rate 逐渐增大。例如 3 个卷积核可以分别设置 dilation rate 为 [1, 2, 5]。这样最后一层有比较大的感受野,同时不会丢失大量的局部信息,如下图所示。
4.参考文献
MULTI-SCALE CONTEXT AGGREGATION BY DILATED CONVOLUTIONS
Convolutional Sequence to Sequence Learning
Understanding Convolution for Semantic Segmentation