膨胀卷积 (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 操作之后,物体的信息就无法重构了。为了避免