深度网络对机器学习研究和应用领域产生了巨大的影响,与此同时却无法很清晰地解释深度网络的来龙去脉。人们一直致力于更透彻地去理解其中复杂的过程。由于人类对于世界的认知和感受主要来自于视觉,良好的可视化可以有效的帮助人们理解深度网络,并进行有效的优化和调节。本文主要基于ICML可视化的workshop和查到的相关论文,分享一下提到的一些先进的可视化概念和方法。
内容主要参考:http://icmlviz.github.io/
ACTIVIS
Facebook 研发的交互式深度学习可视化系统,可以对生产环境中的大规模模型以及器运行的结果进行生动直观的呈现。这一系统可以支持四个方面的可视化。
- 模型架构及其对应的计算图概览
- 用于审视激活情况的神经元激活矩阵、以及投影到2D的可视化
- 可以对于每一个实例结果进行可视化分析
- 支持增加不同的实例来对不同的实例、子集、类型的激活模式进行比较,寻找误分类的原因
Grad-CAM
Grad-CAM是指Gradient-weighted Class Activation Mapping,研究人员提出利用这种梯度权重激活映射来对卷积神经网络的分类进行解释,在输入的图片中粗略地显示出模型预测出的类别对应的重要性区间。这种方式可以广泛试用于CNN模型家族的模型预测可视化过程。
上图中可以看到对于猫和狗不同的分类,显示出的置信区域也各部相同。同时还能显示视觉问答的过程:
Deep View
研究人员基于Deep View这一可视化工具研究了训练过程中深度网络的进化情况。利用判别矩阵和密度矩阵分别评价神经元和输出特征图在训练中的进化过程,总而建立了十分细致的视觉分析框架,能够有效展示模型在训练过程中局部和全局的特征变化。
参考:
http://www3.cs.stonybrook.edu/~mueller/people/http://101.96.8.164/icmlviz.github.io/assets/papers/2.pdf
一个自然语言处理的交互式可视化工具
能可视化NLP系统的输出,帮助用户更好的理解对于文本数据的处理同时进行一些必要的修正。这样的反馈过程可以帮助改进模型的精度。
参考:https://arxiv.org/pdf/1707.01890v2.pdf
LSTMV
递归神经网络特别是长短时记忆网络是对于时序信号强有力的工具,可以有效的建立和表征时序输入的隐含模式。研究人员对于其中隐藏层随时间的变化十分感兴趣,这一工作主要聚焦于对递归神经网络中的隐藏层动力学可视化。用户可以利用这一工具针对性的选取输入范围并与相同模式的大数据集进行比较,同时还可以利用这一工具对独立的模式进行统计分析。
参考:http://lstm.seas.harvard.edu/
https://vcg.seas.harvard.edu/code-data
Deep Visualization Toolbox
这个工具箱可以对图像在深度学习网络中的各层输出进行直观的可视化:
参考:http://yosinski.com/deepvis
https://github.com/yosinski/deep-visualization-toolbox
https://deeplearning4j.org/overview
数据可视化
参考>>http://colah.github.io