转置卷积(transposed convolution)

转置卷积:作用是上采样(其他上采用方法还有插值和反池化),转置卷积实际上也是一种卷积。

卷积的输入输出大小关系:i是输入大小,o是输出大小,k是卷积核大小,s是步距,p是填充大小

o=\left \lfloor \frac{i+2p-k}{s} \right \rfloor+1

转置卷积的输入输出大小关系(其实就是用上面的公式从o得到i):i是转置卷积的输入大小,o是转置卷积的输出大小,k是转置卷积的卷积核大小(也是转置卷积对应的正向卷积的卷积核大小),s是转置卷积对应的正向卷积的步距,p是转置卷积对应的正向卷积的填充大小(做转置卷积时卷积实际的p=0,s=1)

①(o+2p-k)%s=0时

o=s(i−1)−2p+k

②(o+2p-k)%s≠0时

o=s(i−1)−2p+k+(o+2p−k)%s

转置卷积(transposed convolution)_第1张图片

 

棋盘效应:转置卷积在生成任务中如果卷积核大小为3,步长为2,会有非常明显的棋盘效应,因此更推荐使用最临近插值或双线性插值后再接一个卷积来取代转置卷积。

参考:

快速理解反卷积_敏儿enjoy的博客-CSDN博客

转置卷积(transposed convolution)_哔哩哔哩_bilibili

你可能感兴趣的:(计算机视觉,深度学习)