码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 真棒啊,Facebook 官方推出一个模型解释 & 可视化工具 Captum


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

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

    文章目录

      • 技术探讨
      • Captum介绍
      • 案例:TextCNN文本分类
      • 案例:CNN图像分类
      • 案例:CNN消融实验
      • 案例:结构化特征重要性
      • 案例:BERT注意力机制

    技术探讨

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

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

    Captum介绍

    https://captum.ai/

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

    # conda 安装
    conda install captum -c pytorch
    
    # pip安装
    pip install captum
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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权重,计算注意力权重。

    图片

  • 相关阅读:
    基于Pandas+余弦相似度+大数据智能护肤品推荐系统——机器学习算法应用(含Python工程源码)+数据集
    Vue3 - 事件 API 新标准(如何在 Vue3 中怎么用事件总线实现兄弟组件通信?相比 Vue2 有什么不同?)
    使用PostMan Canary测试受Identity Server 4保护的Web Api
    [C++]带动画鼠标指针的多屏采集和窗口采集,基于BitBlt和DXGI
    三个线程T1,T2,T3.保证顺序执行的三种方法
    Reflect 对象的创建目的
    CAS号:2578-57-6,H2N-PG-OH
    如何用蓝牙实现无线定位(四)--远程定位显示
    GGTalk 开源即时通讯系统源码剖析之:数据库设计
    JavaWeb-jdbc的mysql驱动问题
  • 原文地址:https://blog.csdn.net/qq_34160248/article/details/127542704
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号