深度学习之卷积转置理解

所谓的反卷积其实是转置卷积。

那为什么不能叫反卷积?

反卷积的数学含义,通过反卷积可以将通过卷积的输出信号,完全还原输入信号

而事实是,转置卷积只能还原shape大小,不能还原value.因为在卷积操作的时候已经丢失了原始数据,懂卷积操作过程的人都理解。


卷积(convolution):卷积核为 3x3;no padding , strides=1

深度学习之卷积转置理解

反卷积"(the transpose of conv) 可以理解为upsample conv.卷积核为:3x3; no padding , strides=1

深度学习之卷积转置理解

深度学习之卷积转置理解

深度学习之卷积转置理解


这里说明了反卷积的时候,是有补0的,即使人家管这叫no padding p=0),这是因为卷积的时候从蓝色 4×4 缩小为绿色 2×2,所以对应的 p=0 。反卷积从蓝色 2×2 扩展成绿色 4×4

转置并不是指这个 3×3 的核 w 变为 wT,但如果将卷积计算写成矩阵乘法(在程序中,为了提高卷积操作的效率,就可以这么干,比如tensorflow中就是这种实现), Y⃗ =CX⃗ (其中 Y⃗  表示将 Y⃗  拉成一维向量, X⃗  同理),那么反卷积确实可以表示为 X⃗  CTY⃗ ,而这样的矩阵乘法,恰恰等于 w 左右翻转再上下翻转后与补0的 Y卷积的情况。

如果是为了上采样的话,就是对下一层的输出加padding然后和转置后的卷积做点乘

参考:
https://www.zhihu.com/question/43609045?sort=created
https://blog.****.net/u014722627/article/details/60574260