简介
可视化方法
- 传统CNN可视化
- 对kernel可视化
- 对中间feature map可视化
- 对全连接weight可视化
- 反卷积网络 可视化
传统CNN可视化
单层sparse autoencoder在的可视化
对autoencoder的参数W进行可视化。(训练数据STL-10)
通过可视化可以看到,autoencoder学习到的参数类似边缘检测器(a set of edge detectors)
不同的隐藏单元学会了在图像的不同位置和方向进行边缘检测。
以上来自ufldl
这里sparse autoencoder是在图片88的patch上学习得到的,学到**参数W类似CNN中的88的卷积核**。因此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
- Visualizing and Understanding Convolutional Networks | 2014 Zeiler ECCV CNN领域可视化理解的开山之作
博客
- Deep Visualization:可视化并理解CNN | 知乎
- feature-visualization | distill
code
- deep-dream | tensorflow官方