GAN学习之路(七):转置卷积(反卷积)详解
1. 什么是反卷积
当我们需要将图像由小分辨率到大分辨率映射的时候,我们需要进行上采样(Upsample)。一般上采样方式有三项:
- 反卷积(可能会导致棋盘效应)
- 双线性插值
- 反池化(Unpooling)
转置卷积是一种特殊的正向卷积,先按照一定的比例通过补充0来扩大输入图像的尺寸,接着旋转卷积核,进行正向卷积。
2. 转置卷积过程
转置卷积需要假设如下参数:
- input_size
- kernel_size
- padding
- strides
2.1 Case 1
假设input_size=3,kernel_size=3,padding=2,strides=2;
input如下:
Kernel如下:
strides并非是kernel移动的步长,而是输入的放大倍数,如下图,strides=2,则为在input每两个元素之间添加1个0:
之后我们还会进行一个小小的padding=1,也就是在最下面和最右边添加一列和一行0。
最终的输出结果为:
Case 2
在上图中,input_size=2,kernal_size=3,strides=2,padding=2。