dilation 一文了解各种卷积结构原理及优劣

王晓昕编自《媒介》
卷积神经网络作为一种典型的深度学习网络,在图像处理、计算机视觉等领域取得了良好的效果。
保罗-路易·普罗夫通过《媒介》中的这篇文章,很快介绍了卷积的不同类型及其优势。为简单起见,本文只讨论二维卷积结构。
盘绕
首先,定义下轧制层的结构参数。

dilation 一文了解各种卷积结构原理及优劣


文章图片

△具有卷积核3、步长1和边界扩展的二维卷积结构
卷积核大小:定义卷积运算的感受野。在二维卷积中,通常设置为3,即卷积核大小为3×3。
步幅:定义卷积核遍历图像时的步幅大小。默认值通常设置为1,或者在步幅设置为2后可以对图像进行下采样,类似于最大池化。
填充:定义网络层如何处理样本边界。当卷积核大于1且不进行边界扩展时,输出大小会相应减小;当卷积核以标准方式扩展边界时,输出数据的空之间的大小将等于输入数据的大小。
输入输出通道:构造卷积层时,先定义输入通道I,再确定输出通道o。这样每个网络层的参数量可以计算为I×O×K,其中K是卷积核的参数个数。比如一个网络层有64个卷积核,大小为3×3,对应的k值为3×3 =9。
空孔卷积
空孔卷积,也称为扩张卷积,为卷积层引入了一个称为“扩张率”的新参数,它定义了卷积核处理数据时值之间的距离。

dilation 一文了解各种卷积结构原理及优劣


文章图片

△二维空孔卷积,卷积核3,膨胀率2,无边界展开
膨胀率为2的3×3卷积核与5×5卷积核具有相同的感受野,只需要9个参数。你可以把它想象成一个5×5的卷积核,每隔一行或一列删除一行或一列。
在相同的计算条件下,空孔卷积提供了更大的感受野。空孔卷积常用于实时图像分割。当网络层需要较大的感受野,但计算资源有限,无法增加卷积核的数量或大小时,可以考虑空孔卷积。
换位卷积
转置卷积,也称为反卷积,或分数扭曲卷积。
去卷积是不合适的,因为它不符合去卷积的概念。深度学习中,反卷积确实存在,但不常用。其实反卷积就是卷积运算的逆过程。您可以通过将图像输入到单个卷积层,获取卷积层的输出并将其传输到黑盒,黑盒输出原始图像来理解这个过程。可以说这个黑盒完成了一个反卷积运算,也就是卷积运算的数学逆过程。
换位卷积有点类似于真正的反卷积,因为它们在空之间产生相同的分辨率。然而,这两种卷积对输入数据执行的实际数学运算是不同的。转置卷积层仅执行常规卷积运算,但将其分辨率恢复到空之间。
△具有卷积核3、步长2和无边界展开的二维卷积结构
例如,假设卷积层输入5×5的图像,其中步幅为2,卷积核为3×3,没有边界扩展。卷积层将输出一个2x2的图像。
要实现其逆过程,需要相应的数学逆运算,可以根据每个输入像素生成9个对应的值。然后,将步幅设置为2,遍历输出图像,这就是反卷积操作。

dilation 一文了解各种卷积结构原理及优劣


文章图片

△卷积核为3×3、步长为2、无边界展开的二维转置卷积
转置卷积和反卷积唯一的共同点是都输出5×5大小的图像,但是转置卷积仍然执行常规的卷积运算。为了达到扩展的目的,需要以某种方式填充输入。
你可以理解转置卷积不能实现卷积运算的逆过程,至少在数值上是这样。
执行转置卷积只是为了重建空之间的先前分辨率。这不是卷积的数学逆过程,但在编解码结构中仍然有效。这样,换位卷积可以同时实现图像粗化和卷积运算,而不是两个独立的过程。

推荐阅读