如何理解deconvolution?

来源:互联网 发布:windows脚本编程 编辑:程序博客网 时间:2024/06/06 17:08
作者:谭旭
链接:https://www.zhihu.com/question/43609045/answer/132235276
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Deconvolution大致可以分为以下几个方面:

(1)unsupervised learning,其实就是covolutional sparse coding[1][2]:这里的deconv只是观念上和传统的conv反向,传统的conv是从图片生成feature map,而deconv是用unsupervised的方法找到一组kernel和feature map,让它们重建图片。

(2)CNN可视化[3]:通过deconv将CNN中conv得到的feature map还原到像素空间,以观察特定的feature map对哪些pattern的图片敏感,这里的deconv其实不是conv的可逆运算,只是conv的transpose,所以tensorflow里一般取名叫transpose_conv。

(3)upsampling[4][5]:在pixel-wise prediction比如image segmentation[4]以及image generation[5]中,由于需要做原始图片尺寸空间的预测,而卷积由于stride往往会降低图片size, 所以往往需要通过upsampling的方法来还原到原始图片尺寸,deconv就充当了一个upsampling的角色


[1] Zeiler M D, Krishnan D, Taylor G W, et al. Deconvolutional networks[C]. Computer Vision and Pattern Recognition, 2010.

[2] Zeiler M D, Taylor G W, Fergus R, et al. Adaptive deconvolutional networks for mid and high level feature learning[C]. International Conference on Computer Vision, 2011.

[3] Zeiler M D, Fergus R. Visualizing and Understanding Convolutional Networks[C]. European Conference on Computer Vision, 2013.

[4] Long J, Shelhamer E, Darrell T, et al. Fully convolutional networks for semantic segmentation[C]. Computer Vision and Pattern Recognition, 2015. 

[5] Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks

[8] Convolution arithmetic tutorial



原创粉丝点击