0%

CNN | 反卷积

反卷积现在的应用非常广泛,从各种 GAN 再到其他,所以,深刻的理解反卷积的操作是非常重要的。


参考资料



什么是反卷积?


上采样(Upsample)

在应用在计算机视觉的深度学习领域,由于输入图像通过卷积神经网络(CNN)提取特征后,输出的尺寸往往会变小,而有时我们需要将图像恢复到原来的尺寸以便进行进一步的计算(e.g.:图像的语义分割),这个采用扩大图像尺寸,实现图像由小分辨率到大分辨率的映射的操作,叫做上采样(Upsample)。

反卷积(Transposed Convolution)

上采样有3种常见的方法:

  • 双线性插值(bilinear)
  • 反卷积(Transposed Convolution)
  • 反池化(Unpooling)

我们这里只讨论反卷积。这里指的反卷积,也叫转置卷积,它并不是正向卷积的完全逆过程,用一句话来解释:反卷积是一种特殊的正向卷积,先按照一定的比例通过补,来扩大输入图像的尺寸,接着旋转卷积核,再进行正向卷积。

ps: 这里要记住的是,反卷积的操作过程:先按照一定的比例通过补,来扩大输入图像的尺寸,接着旋转卷积核,再进行正向卷积

数学推导在这里不说明了,请看上面的链接。

这里直接从代码层面给出。

相关的反卷积代码可以查看。

请我喝杯咖啡吧~