解卷积(deconvolution)或者反卷积,类似于卷积的逆运算;如果按照严格的数学公式来叫,应该叫做“转置卷积(transpose convolution)”,也有的地方叫它“分数跨度(fractional strided)卷积”。解卷积最直观的作用是扩大feature map的分辨率,在语义分割任务中被广泛使用。
解卷积的维度计算公式如下:
w_new = stride*w - 2*pad + (kernel-stride)
从上面的公式可以看到:与卷积相反,pad越大,解卷积的输出越小。
放大整数倍有两种设置:
1、pad=0,kernel=stride
2、kernel = 2*stride - stride%2, pad=ceil((kernel-stride-1)/2)或pad=(kernel-stride)/2
第2种情况下:
核为5,放大3倍,pad=1
核为4,放大4倍,pad=2
核为9,放大5倍,pad=2
上面两种设置各有优缺点,应根据情况进行选择。第一种设置kernel size更大,导致计算量大,但输出的feature map会较为平滑,第二种设置反之。