知乎@张萌
逆卷积相对于卷积在神经网络结构的正向和反向传播中做相反的运算。
逆卷积(Deconvolution)比较容易引起误会,转置卷积(Transposed Convolution)是一个更为合适的叫法。
举个栗子:
4x4的输入,卷积Kernel为3x3, 没有Padding / Stride, 则输出为2x2。

输入矩阵可展开为16维向量,记作x
输出矩阵可展开为4维向量,记作y
卷积运算可表示为

不难想象C其实就是如下的稀疏阵

平时神经网络中的正向传播就是转换成了如上矩阵运算。
那么当反向传播时又会如何呢?首先我们已经有从更深层的网络中得到的



回想第一句话,你猜的没错,所谓逆卷积其实就是正向时左乘CT,而反向时左乘(CT)^T,即C的运算。
逆卷积的一个很有趣的应用是GAN(Generative Adversarial Network)里用来生成图片

网友评论