什么是Deconvolutional Network?

一、参考资料

深入浅出理解转置卷积Conv2DTranspose
如何理解深度学习中的deconvolution networks?

二、相关介绍

1. sparse coding

Sparse Coding: Autoencoder Interpretation
Exercise:Sparse Coding
Autoencoders and Sparsity
[机器学习] UFLDL笔记 - Sparse Coding(稀疏编码)

//TODO

2. Deconvolution简介

一般说到 deconvolution network 指的是两种东西,一种是 convolutional sparse coding 组成的网络,另一种是 transposed convolution 组成的网络,这两种都有别名叫做 deconvolutional network,但概念完全不同,事实上它们之间没有任何关系,光看名字有点容易混淆。

convolutional sparse coding 是 Zeiler 做的工作,初衷是提取稀疏特征之类的,但并不成功(而且公式丑的不要不要的)。反而是在深层卷积网络的可视化上用的很好,在机器学习领域内 sparsity 已经基本过气的情况下算是为数不多用的还不错的东西,参见论文[3]。

transposed convolution 可以用于产生图像或是 segmentation 用的 label,因为经常和普通的 convolution network 对称使用,组成一个 encoder-decoder 结构的 fully convolution network,故称作 deconvolution network 以显得前后呼应,参见论文[4]。

一般情况下,如果不特别说明,Deconvolution 指的是 transposed convolution,关于 transposed convolution 的详细介绍,请参考另一篇博客:深入浅出理解转置卷积Conv2DTranspose

三、关于Deconvolution的应用

1. convolutional sparse coding

deconvolution network 的两篇文章[1][2],都是由New York University的Matthew D. Zeiler, Rob Fergus等人提出来的(他们提出的ZF-net也是ILSVRC 2013的冠军,Matthew D. Zeiler是Rob Fergus的PhD,毕业后去了自己的人工智能初创公司clarifai,而Rob Fergus也加入了Facebook AI Research)。

第一篇论文[1]主要用于学习图片的中低层级的特征表示,属于unsupervised feature learning,和传统的auto-encoder,RBM比较类似,和它最像的还是sparse coding[7]。该篇文章的deconv是标准卷积(以下简称“conv”,特指标准卷积)的逆运算,conv是从图片生成feature map,而deconv是用unsupervised的方法找到一组kernel和 feature map,让它们重建图片。

第二篇论文[2]也是通过 deconvolution network 学习图片的特征表示,和论文[1]不同的是加入了pooling layersunpooling layersConv2DTranspose layers

2. CNN可视化

第二个方面,deconv用来做CNN的可视化。通过deconv将CNN中 conv 得到的 feature map 还原到像素空间,以观察特定的 feature map 对哪些pattern的图片敏感。ZF-Net[3]中用 deconv 做可视化,它是将CNN学习到 feature map 的卷积核,取转置,得到 Conv2DTranspose。从而将图片特征从 feature map 空间转化到pixel空间,以发现是哪些pixel激活了特定的 feature map,达到分析理解CNN的目的。

其实,这里的deconv不是conv的逆运算,只是conv的转置,所以tensorflow里一般取名叫 transpose_conv。第一篇用deconv表示 transposed convolution 的是论文[3],该论文提出了ZFNet,而且是ImageNet 2013年的winner,比较有影响力,之后大家就错误的用下去了。之后有些researchers提出应该叫 transposed convolution, backward convolution (见cs231n的课件),但似乎并没有改过来,比较新的深度学习框架应该都是有 DeconvolutionTransposedConvolution 两个名字。

3. upsampling

pixel-wise prediction,比如 image segmentation [4][6]以及 image generation[5]中,在编码器中使用卷积层进行特征提取,然后在解码层中通过 upsampling 的方法还原(恢复)到原始图片尺寸,deconv就充当了一个 upsampling 的角色。

分别简单介绍两篇文章,FCN和DCGAN。

FCN[4]主要用来做 pixel-wiseimage segmentation 预测。为了得到 pixel-wise 的prediction,要把 feature map通过deconv转化到像素空间。

DCGAN[5]中使用 deconv 就更自然了,本身GAN就需要 generative model,需要通过 deconv 从特定分布的输入数据中生成图片。tf.keras.layers.Conv2DTranspose 提供了DCGAN的教程:深度卷积生成对抗网络

四、参考文献

[1] Zeiler M D, Krishnan D, Taylor G W, et al. Deconvolutional networks[C]//2010 IEEE Computer Society Conference on computer vision and pattern recognition. IEEE, 2010: 2528-2535.

[2] Zeiler M D, Taylor G W, Fergus R. Adaptive deconvolutional networks for mid and high level feature learning[C]//2011 international conference on computer vision. IEEE, 2011: 2018-2025.

[3] Zeiler M D, Fergus R. Visualizing and understanding convolutional networks[C]//Computer Vision–ECCV 2014: 13th European Conference, Zurich, Switzerland, September 6-12, 2014, Proceedings, Part I 13. Springer International Publishing, 2014: 818-833.

[4] Long J, Shelhamer E, Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2015: 3431-3440.

[5] Radford A, Metz L, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[J]. arv preprint arv:1511.06434, 2015.

[6] Ronneberger O, Fischer P, Brox T. U-net: Convolutional networks for biomedical image segmentation[C]//Medical Image Computing and Computer-Assisted Intervention–MICCAI 2015: 18th International Conference, Munich, Germany, October 5-9, 2015, Proceedings, Part III 18. Springer International Publishing, 2015: 234-241.

[7] Sparse Coding

  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花花少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值