真棒啊,Facebook 官方推出一个模型解释 & 可视化工具 Captum

152 篇文章 81 订阅

深度学习一致被诟病为黑盒,很难从精度之外的角度去理解模型。但现在还有一个研究方向,可解释性机器学习关注解释模型的决策和内部。

如果你使用PyTorch那么恭喜你🙂,现在Facebook官方出品了一个模型解释 & 可视化工具Captum。本文将介绍Captum功能和基础原理。

技术探讨

目前开通了技术探讨群,群友已超过3000人,添加时最好的备注方式为:来源+兴趣方向,方便找到更快获取资料、入群

方式①、添加微信号:dkl88191,备注:来自CSDN+模型可解释性
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:入群

Captum介绍

https://captum.ai/

Captum的英文介绍为Model Interpretability for PyTorch,字面意思就是解释Pytorch模型。安装方法也很简单:

# conda 安装
conda install captum -c pytorch

# pip安装
pip install captum

Captum主要受众是模型开发人员,可以了解哪些特征很重要,以便设计更好的模型。

图片

Captum中的归因算法分为三组,主要属性、层属性和神经元属性,定义如下:

  • 主要归因:评估每个输入特征对模型输出的贡献。

  • 层归因:评估给定层中每个神经元对模型输出的贡献。

  • 神经元属性:评估每个输入特征对激活特定隐藏神经元的贡献。

Captum支持的功能可以从下面两个链接找到更多的算法介绍:

https://captum.ai/docs/attribution_algorithms

https://captum.ai/docs/algorithms_comparison_matrix

如果不了解具体的原理,不用担心。这里给你简单解释一下:Captum会使用训练好的模型,不改变模型的权重来解释模型的决策过程和参数功能。

Captum会使用到梯度计算和多次预测,因此在可视化时需要可能需要较多的计算时间。

案例:TextCNN文本分类

https://captum.ai/tutorials/IMDB_TorchText_Interpret

如果要在句子上应用梯度可解释性算法,需要为句子及其单词创进行封装。

图片

案例:CNN图像分类

https://captum.ai/tutorials/CIFAR_TorchVision_Interpret

如果要在图像上应用梯度可视化算法,只需要计算像素对结果的贡献度即可。

图片

案例:CNN消融实验

https://captum.ai/tutorials/Resnet_TorchVision_Ablation

每个像素如何影响语义分割模型输出。

图片

案例:结构化特征重要性

https://captum.ai/tutorials/House_Prices_Regression_Interpret

定义全连接模型,并对房价进行回归预测,最终计算得到特征的贡献度。

图片

案例:BERT注意力机制

https://captum.ai/tutorials/Bert_SQUAD_Interpret2

加载预训练BERT权重,计算注意力权重。

图片

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. TensorBoard 2. Neural Network Playground 3. D3.js 4. Bokeh 5. Matplotlib 6. Seaborn 7. Plotly 8. Altair 9. ggplot 10. Highcharts 11. Tableau 12. Power BI 13. Google Charts 14. Flourish 15. Chart.js 16. Leaflet 17. Mapbox 18. Deck.gl 19. Vis.js 20. Three.js ### 回答2: 推荐20种可视化深度学习模型的工具: 1. TensorBoard:TensorFlow开发的可视化工具,适用于可视化训练过程中的模型结构、参数和性能等信息。 2. Keras Visualization Toolkit:Keras库提供的一系列可视化工具,包括模型结构可视化、特征可视化和激活可视化等。 3. Netron:一个轻量级的模型可视化工具,支持多种深度学习框架的模型文件可视化。 4. TensorFlow Playground:一个基于Web的交互式可视化工具,用于探索和理解深度学习模型的行为。 5. CaffeVis:Caffe框架的可视化工具,可用于可视化模型中的特征映射和过滤器。 6. MXNet Visualization Toolkit:MXNet库提供的一系列可视化工具,包括网络结构可视化和训练过程可视化。 7. DeepLearning4J:一个跨平台的深度学习库,提供了可视化模型训练过程的功能。 8. NN-SVG:一个用于生成神经网络结构的SVG图像的工具,可用于可视化深度学习模型。 9. Deep Visualization Toolbox:一个基于Matplotlib和Scipy的可视化工具包,用于可视化深度学习模型的特征和权重。 10. Gephi:一个可视化工具,可以用于可视化深度学习模型中的关系网络。 11. T-SNE:一个用于高维数据降维可视化的算法,可用于可视化深度学习模型中的隐藏层表示。 12. Lucid:一个用于可视化和解释深度神经网络的库,支持多种深度学习框架。 13. PlotNeuralNet:一个用于绘制神经网络结构的Python库,可用于可视化深度学习模型。 14. PyTorch Geometric:一个用于处理图形数据的PyTorch扩展库,可用于可视化和处理图神经网络。 15. DeepArt:一个用于可视化深度学习模型生成艺术作品的工具。 16. DeepExplain:一个用于解释深度学习模型预测结果的工具,提供了多种可视化解释方法。 17. LIME:一个用于可视化解释机器学习模型预测结果的工具,适用于解释深度学习模型。 18. Distill:一个在线期刊,专注于可视化和解释深度学习模型的方法和工具。 19. ModNet:一个用于可视化深度学习模型中的模组化结构的工具。 20. DeepDream:一个用于生成迷幻效果图像的工具,可以用于可视化深度学习模型的激活模式。 ### 回答3: 以下是我推荐的20种可视化深度学习模型的工具: 1. TensorFlow:Google开发的开源深度学习框架,提供了丰富的可视化功能,包括模型结构、损失函数和训练过程的可视化。 2. Keras:基于TensorFlow和Theano的高级神经网络API,也提供了可视化工具,可用于展示神经网络架构和训练进程。 3. PyTorch:Facebook开发的开源深度学习框架,提供了一种可视化工具叫做TensorBoardX,通过它可以可视化模型训练过程。 4. D3.js:一个灵活的JavaScript库,可用于创建各种可视化图表和交互式界面,可以用于可视化深度学习模型的结构、权重等信息。 5. Matplotlib:Python的一个绘图库,可以用于绘制各种图表和可视化深度学习模型的训练结果。 6. Seaborn:Python的一个统计数据可视化库,可以用于绘制各种统计图表,并进行模型结果的可视化。 7. Plotly:一种交互式数据可视化工具,可以生成各种图表和地图,并支持在网页上进行交互。 8. Graphviz:一个用于可视化图形结构的开源图形绘制库,可以用于可视化深度学习模型的结构和运算流程。 9. Gephi:一种用于网络可视化和分析的开源软件,可以用于可视化深度学习模型的结构和拓扑关系。 10. TensorBoard:TensorFlow提供的用于可视化训练过程的工具,可以展示模型结构和性能指标。 11. Deep playground:一个基于TensorFlow.js的在线工具,可以用于可视化深度学习模型的训练和测试。 12. Netron:一个用于可视化深度学习模型结构的工具,支持多种深度学习框架和模型格式。 13. Cytoscape:一个用于生物网络分析和可视化的开源软件,可以用于可视化深度学习模型的结构和拓扑关系。 14. WebGazer:一个用于可视化神经网络模型结构和可视化训练过程的网页工具。 15. TensorSpace:一个用于可视化深度学习模型的开源库,支持多种深度学习框架,并提供了丰富的可视化效果。 16. Neon:一个用于可视化深度学习模型的Python库,提供了多种图表和可视化效果。 17. NetScope:一个用于可视化深度学习模型结构的工具,支持多种深度学习框架。 18. TensorFlow Debugger:一个用于可视化和调试TensorFlow模型的工具,可以查看模型中的各个节点和张量的值。 19. MXNet:一个开源的深度学习框架,提供了可视化工具用于展示模型结构和训练过程。 20. Wandb:一个用于可视化深度学习模型训练过程的在线平台,可以展示训练指标、超参数等信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值