上采样(upsampling)之转置卷积(transposed convolution )

介绍

上采样的实现方式之一

转置卷积 (transposed convolution),又称作 反卷积 (Deconvolution)。在不同的深度学习框架中,名字不同。根据算法来看,转置卷积更为正确

可以理解是 卷积 的逆过程,实现上采用转置卷积核的方法

作用

普通的 卷积、池化会 会 缩小图片的尺寸,比如VGG16 五次池化后图片被缩小了32倍。为了得到和原图等大的分割图,需要进行 上采样卷积

卷积 vs 转置卷积

卷积

卷积结果尺寸计算公式:

  • S是strides(滑动步长)
  • 原图片大小为N1xN1(下图为4x4)
  • 卷积核大小为N2xN2(下图为3x3)
  • P是padding大小

卷积后图像大小:(N1-N2+2P)/S+1

如下图:

转置卷积

卷积、池化后的图像尺寸会变小,反卷积将该图像恢复到之前的大小。

如下图,2x2的图,进行padding后,再进行 类似卷积(相乘相加) 的操作

为实现deconvolution,直接使deconv的前向传播模拟conv的反向传播。如何理解深度学习中的deconvolution networks

为什么称之为转置卷积?

从 卷积运算-矩阵方式 可知,卷积运算是:

卷积公式:

m行n列卷积核    x    n行1列图像=m行1列的结果

转置卷积 的运算过程可以理解为:已知上面公式的 结果 和 卷积核,求出 图像

转置卷积公式:

m行n列卷积核的转置    x    m行1列的结果    =    n行m列卷积核    x    m行1列的结果    =    n行1列的矩阵

可以看出,结果是n行1列,卷积之前的图像也是n行1列,再改变形状就恢复卷积之前的图像大小了