起到上采样的作用——shape从2×2变成4×4。
相关链接:https://github.com/vdumoulin/conv_arithmetic
先进行一些处理,再进行正常卷积的操作。
输出shape的计算,e.g. (3 - 1) * 2 - 2 * 1 + 3 = 5
一个例子:
普通卷积 的计算
下面进行另外一种运算,将卷积核 构造 等效矩阵(即空余位置补0)
将 feature map 展平
将 kernel等效矩阵 展平后合并
将I矩阵和C矩阵进行矩阵相乘计算,得到 1 × 4大小的输出。
==》从C 和 O 不能得到 I,因为C不一定有逆矩阵。但是C有转置矩阵,可以令O与C的转置相乘。
可以发现得到的结果reshape后就是转置卷积计算的结果,这就是转置卷积的计算过程。
一个神奇的现象,将C的转置按列分来后reshap,可以得到16个小矩阵。
这16个小卷积分别和普通卷积输出进行卷积计算的结果,就是转置卷积的结果!
参考资料:
https://blog.csdn.net/qq_37541097/article/details/120709865
https://www.bilibili.com/video/BV1mh411J7U4/?vd_source=25159b705a7bd142ef4cf6ae83653ad3