CNN网路结构可视化

简介

可视化方法

  • 传统CNN可视化
    • 对kernel可视化
    • 对中间feature map可视化
    • 对全连接weight可视化
  • 反卷积网络 可视化

传统CNN可视化

单层sparse autoencoder在的可视化

对autoencoder的参数W进行可视化。(训练数据STL-10)

通过可视化可以看到,autoencoder学习到的参数类似边缘检测器(a set of edge detectors) 不同的隐藏单元学会了在图像的不同位置和方向进行边缘检测。

以上来自ufldl

这里sparse autoencoder是在图片8*8的patch上学习得到的,学到**参数W类似CNN中的8*8的卷积核**。因此UFLDL的教程中直接把w当做cnn的卷积核,效果也不错。

cnn的可视化

  • 传统CNN可视化的缺陷:
    • 传统CNN可视化的一个缺陷是,不能够还原图片,只能单向可视化。例如,给定一个hidden feature。

反卷积网络 可视化

反卷积网络与传统CNN网络采用同样的结构,只不过训练方法不同。反卷积网络采用非监督学习,类似autoencoder的思想。

这样

deep dream 详解

见参考中的deep dream源码

todo

  • 可视化梯度消失、梯度爆炸
  • 可视化ReLU对梯度消失的影响
  • 可视化LSTM对梯度消失的影响

借鉴deep-dream,可视化lstm

  • lstm可视化 https://medium.com/asap-report/visualizing-lstm-networks-part-i-f1d3fa6aace7

参考

paper

博客

code