卷积层是否有一个精确的逆

Does a Convolutional Layer Have an Exact Inverse

...如果是在什么情况下?

卷积层通常产生更小的输出。是否可以通过 flipping/transposing 使用的内核并提供填充或类似的方式来 reverse/invert 这样的操作?

这里只看卷积层的操作——没有池化层、连接、非线性激活函数等

我不是在寻找几个可训练版本的反向卷积运算中的任何一个。这可以通过 output space 中的 strides $\geq 1$ 或输入 space 中的 intrinsic padding 来实现例如。 Vincent Dumoulin 和 Francesco Visin 在他们的 github page 上提供了非常清晰的动画 gif。深度学习社区对这些操作的命名存在分歧:Transpose convolutionfractionally strided convolutiondeconvolution 都被使用了(后者虽然被广泛使用,但由于它没有适当的数学反卷积,因此非常具有误导性)。

嗯,反卷积定义的很清楚。 在 convo 中,您将地图与输入帧相乘,例如向量乘积,对其求和并将值分配给输出。
在 deconvo 中,您获取输出值(一),将其与地图相乘,准高亮显示影响输出的点并将其添加到前一个输入层,(当然必须在开始时用零填充。这必须给出与正向传播相同的 "input" 层。

我认为这是转置卷积和反卷积之间的本质区别所在。

反卷积是卷积所做的数学逆运算,而转置卷积仅反转输入和输出之间的空间变换。意思是,如果你想反转关于输出形状的变化,转置卷积就可以完成这项工作,但它不会是关于它产生的值的数学逆运算。我在 article.

中就这个主题写了几句话