搞明白了卷积网络中所谓deconv到底是个什么东西后,不写下来怕又忘记,根据参考资料,加上我自己的理解,记录在这篇博客里。
先来规范表达
- 为了方便理解,本文出现的举例情况都是2D矩阵卷积,卷积输入和核形状都为正方形,x和y轴方向的padding相同,stride也相同。
- 记号:
。
推翻错误的理解
第一次看到deconv这个词,以为deconv的结果就是卷积的逆,觉得神奇,不禁产生了“哦?转置的卷积就可以求逆了吗?”这样的想法,然后在matlab里面实验求证,我还记得当时以为反卷积能够求逆,考虑到图片进行常规卷积操作输出大小又不可能变大(same/valid),于是我还假设反卷积输出大小不变,用了same padding和原核的转置作为反卷积配置,结果发现根本不是那么一回事好吗。
其实DL中的deconv,是一种上采样过程,举个比方:输入
注意图中蓝色(下面)是输入,绿色(上面)是输出,卷积和反卷积在
反卷积以及反向传播的过程
卷积和反卷积的过程在arXiv-A guide to convolution arithmetic for deep learning
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:深度学习卷积网络中反卷积/转置卷积的理解 transposed conv/deconv - Python技术站