人工智能可解释性(二)(梯度计算,积分梯度等)

news2024/11/27 16:28:38

目录

1.定义 

2.详述

2.1局部解释 可视化方法 梯度计算

2.2积分梯度Integrated Gradients(梯度计算进阶)

2. 3全局解释

2.3.1Activation Maximization

2.3.2GAN,VAE

2. 4用一个可解释模型解释不可解释模型

2. 4.1LIME 局部解释

参考文献


1.定义 

可以分为事前可解释性和事后可解释性,事后可解释性又分为全局解释和局部解释。

事前(ante-hoc)可解释性:指通过训练结构简单、可解释性好的模型或将可解释性结合到具体的模型结构中的自解释模型使模型本身具备可解释能力。


事后(post-hoc)可解释性:指通过开发可解释性技术解释已训练好的机器学习模型。根据解释目标和解释对象的不同,post-hoc可解释性又可分为全局可解释性(global interpretability)和局部可解释性(local interpretability)。全局可解释性旨在帮助人们理解复杂模型背后的整体逻辑以及内部的工作机制,局部可解释性旨在帮助人们理解机器学习模型针对每一个输入样本的决策过程和决策依据。
 

2.详述

局部解释和全局解释:以下图为例,局部解释就是回答,你为什么认为这张图是猫,全局解释就是回答,你为什么认为猫是猫,具体来讲就是给出猫的特征。强化学习在机器人控制的应用中,可以这样理解,比方说让机器人去取水杯,局部解释就是回答取水杯的每一个动作,为什么这样决定(因为每一步都有很多选择),全局解释就是回答,为什么选这系列动作取这个水杯(因为路线有很多) 

2.1局部解释 可视化方法 梯度计算

      最早使用一个如下图灰色的遮挡模块,遍历整幅图,看每一个位置对结果的影响,以确定系统是利用那图中哪一部分特征判定结果,如下图的小狗当遮挡其身子时对结果没有太大影响,但当遮挡其脸部时,对结果会有很大影响,则说明系统依据其脸部特征判断其是不是狗。 

      后面发展到用热力图表示判定结果依据的特征,思路如下,图中每一个像素代表一个特征向量x,通过不同方式对原图像素加入干扰,观察其判定结果y会不会改变,以确定更加全面具体的依据特征,最后将判定结果的类别y对每一个x求导,绝对值越大说明关联越大,在图中也就越亮。

2.2积分梯度Integrated Gradients(梯度计算进阶)

      上面论述梯度计算带来了很好的解释性,但实际应用中发现一个问题,如下图所示,大象为输出类别y,鼻子长度为特征x,我们都知道,在识别大象时,鼻子是一个很重要的特征,但大象鼻子长短是不一样的,模型在训练时,已经认定较短的鼻子就是大象,此时出现的更长的鼻子,不会再对大象的识别有增益效果,这下图上就会被表示为一个近似直线(梯度饱和),也就是说对y/x求导结果为0,那么训练到最后,模型反而会认为更长的鼻子和大象无关,所以用积分梯度来解决这个问题,大概意思就是,我不管你多长,只要你有鼻子,就认为你是大象。参考

2. 3全局解释

2.3.1Activation Maximization

      如下图所示,我们希望对含有数字信息的图片数据集进行训练,最后我们想得知在模型眼里数字是什么样的,也就是说回答在机器眼里数字长什么样,回到模型,在最后一层全连接层,每一个神经元代表一个类别的特征yi,我们将这个特征画出来,具体而言,我么选择一个图x(注意这里不是某个特征),如果这个x能令yi值最大,就画出这个x,结果为下图看起来像噪声的部分,这显然是人类无法理解的。 

     

所以基于上面的问题,早期的思想加入R(一个人类的理解),可以理解为一个数字标签,最终结果如下所示,相对前者有了很大改善,这个R就可以理解为一种全局可解释性方法。

      再进一步我们看下图,模型画出的对不同动物的认识,还不够具象化。

2.3.2GAN,VAE

      用上述方法,我么发现画出的特征还是比较抽象,不适合人类理解,所以在上述基础上,我们想到,既然用人类设计的图给模型,模型不能给出一个具象的结果,那么我们就再做一个模型,由这个模型生成计算机能理解,而且能具象化的图,所以我们利用GAN,VAE等方法训练一个图片生成器Image Generator,输入低维向量low-dim vector(z),经过Image Generator得到图片 image x。再用一个图片分类器Image Classifier将生成的图片进行分类,得到y。

      从这个公式看,最早我们想找到一个可以令y最大的图片x,并输出在模型眼里这个x的样子,但发现不够具象化,在此基础上,我们输入一个低维向量z,找到可以令y最大的z,与此同时这个过程,还由Image Generator生成了人类可以认知的图片,也就是说既找到了最符合y的z,又具象化了这个z。

      要注意一个问题,z进入Image Generator时会产生的图片种类是随机的,不同的z会有不同的x,所以要有Image Classfier进行归类,得到用户需要的结果。

       下面为用新的方法,在模型眼里物种的样子,足够具象化了。

2. 4用一个可解释模型解释不可解释模型

      如下图所示,将数据x投入Black Box(难以解释的模型)进行训练得到y,再用原数据x作为数据集,y作为标签,投入到Linear Model(可解释模型)进行训练让其输入结果无线接近y,这个模型就可以用来解释原来的Black Box。

      要注意到简单模型解释复杂模型能力有限,难以将负责模型完全解释清楚。

2. 4.1LIME 局部解释

参考LIME(可解释性分析方法)_笑傲江湖2023的博客-CSDN博客

参考文献

1.可解释性与积分梯度 Integrated Gradients_云端FFF的博客-CSDN博客

2.机器学习的可解释性(总结)_机器学习 可解释性_学-evday的博客-CSDN博客 

3.2_哔哩哔哩_bilibili 

4.积分梯度:一种新颖的神经网络可视化方法 - 科学空间|Scientific Spaces 

5.Visualizing the Impact of Feature Attribution Baselines 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/867102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

access怎么做进销存?借助access开发进销存管理应用

我不太推荐使用Access,因为他的缺点还是比较明显的: 1、软件自身限制 不能用于互联网:使用Access制作好的管理软件,访问页只能在局域网中使用;只能在Windows上运行:Access仅支持windows的运行环境&#x…

从零开始学习 Java:简单易懂的入门指南之多态(十)

多态&包&final&权限修饰符&代码块 第一章 多态1.1 多态的形式1.2 多态的使用场景1.3 多态的定义和前提1.4 多态的运行特点1.5 多态的弊端1.6 引用类型转换1.6.1 为什么要转型1.6.2 向上转型(自动转换)1.6.3 向下转型(强制转换…

【将回声引入信号中】在语音或音频文件中引入混响或简单回声,以研究回声延迟和回波幅度对生成的回波信号感知的影响(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

积分代换和周期函数

昨晚上看书,有一个稳定随机过程的例题,涉及积分上下限代换、周期函数的微积分性质等知识点。这种题型以前肯定接触过,当下遇到了,思维仍然迷迷糊糊,像是一团乱麻,纠缠不清,照着答案思考了半天&a…

[Blender]Geometry nodes altermesh to UE

首先要先下载插件 AlterMesh – Use geometry nodes inside Unreal 下载对应版本的插件后 打开UE,在对应的设置里面挂上blender.exe的路径 去官方下载一个Blender Geometry nodes 的示例 Demo Files — blender.org​​​​​​

沃罗诺伊图(Voronoi):迷人的世界【1/2】

一、说明 Voronoi图(也称为狄利克雷镶嵌或泰森多边形)在自然界中无处不在。你已经遇到过他们数千次了,但也许没有这样称呼它。Voronoi图很简单,但它们具有令人难以置信的特性,在制图,生物学,计算…

【EI/SCOPUS征稿】第九届材料加工与制造工程国际学术会议(ICMPME 2023)

第九届材料加工与制造工程国际学术会议 2023 9th International Conference on Materials Processing and Manufacturing Engineering (ICMPME 2023) 第九届材料加工与制造工程国际学术会议(ICMPME 2023)定于2023年10月13-15日在中国南昌隆重举行。会议主要围绕“材料加工”、…

c++11 标准模板(STL)(std::basic_fstream)(五)

定义于头文件 <fstream> template< class CharT, class Traits std::char_traits<CharT> > class basic_fstream : public std::basic_iostream<CharT, Traits> 类模板 basic_fstream 实现基于文件的流上的高层输入/输出。它将 std::basic_i…

【Linux从入门到精通】文件描述符详解

文章目录 一、引言 二、引入文件描述符fd 2、1 观察fd的值 2、2 fd保存的位置 三、详解文件描述符fd 3、1 为什么要有文件描述符呢 3、2 到底什么是文件操作符呢 四、文件描述符的使用 4、1 验证文件描述符 4、1、1 验证stdin、stdout、stdout 4、1、2 验证fd值的大小顺序 4、…

IMU惯性测量单元相关技术(概念版)

重要说明&#xff1a;本文从网上资料整理而来&#xff0c;仅记录博主学习相关知识点的过程&#xff0c;侵删。 一、参考资料 新手入门系列3——Allan方差分析方法的直观理解 惯性测量单元Allan方差分析详解 IMU误差&测量模型 IMU标定之—Allan方差 IMU误差模型简介及VINS…

2023年中国日志审计市场竞争格局、市场规模、下游应用领域及行业发展趋势[图]

日志是行为或状态详细描述的载体&#xff0c;其时效性与信息丰富程度在网络安全事件分析、事件回溯和取证过程中起到重要作用。在法律层&#xff0c;日志也是重要的电子证据&#xff0c;日志记录、监控、审计手段等&#xff0c;可以帮助有效地减少信息破坏、信息泄露的问题&…

2023最新python学习方法总结!(内部机密)

不要再问我python好不好学了 我之前做过半年少儿编程老师&#xff0c;一个小学四年级的小孩子都能在我的教学下独立完成python游戏&#xff0c;植物大战僵尸简单版&#xff0c;如果要肯花时间&#xff0c;接下来的网络开发也不是问题&#xff0c;人工智能也可以学个调包也没啥问…

【TypeScript】this指向,this内置组件

this类型 TypeScript可推导的this类型函数中this默认类型对象中的函数中的this明确this指向 怎么指定this类型 this相关的内置工具类型转换ThisParameterType<>ThisParameterType<>ThisType TypeScript可推导的this类型 函数中this默认类型 对象中的函数中的this…

PLY模型格式详解【3D】

本文介绍PLY 多边形文件格式&#xff0c;这是一种用于存储被描述为多边形集合的图形对象。 PLY文件格式的目标是提供一种简单且易于实现但通用的格式足以适用于各种模型。 PLY有两种子格式&#xff1a;易于入门的 ASCII 表示形式和用于紧凑存储和快速保存和加载的二进制格式。 …

多线程与高并发--------线程

一、线程的基础概念 一、基础概念 1.1 进程与线程 什么是进程&#xff1f; 进程是指运行中的程序。 比如我们使用钉钉&#xff0c;浏览器&#xff0c;需要启动这个程序&#xff0c;操作系统会给这个程序分配一定的资源&#xff08;占用内存资源&#xff09;。 什么线程&am…

JAVA(一)

我的第一个JAVA程序 以下我们通过一个简单的实例来展示Java编程,创建文件HelloWorld.java&#xff08;文件名需与类名一致&#xff09;,代码如下 实例 public class HelloWorld{public static void main(String[] args){System.out.println(Hello World) } } 注:Srting ar…

[NLP]LLM 训练时GPU显存耗用量估计

以LLM中最常见的Adam fp16混合精度训练为例&#xff0c;分析其显存占用有以下四个部分&#xff1a; GPT-2含有1.5B个参数&#xff0c;如果用fp16格式&#xff0c;只需要1.5G*2Byte3GB显存, 但是模型状态实际上需要耗费1.5B*1624GB. 比如说有一个模型参数量是1M&#xff0c;在…

RCNA——VLAN进阶划分

一&#xff0c;实验背景 有时&#xff0c;公司可能会非常大&#xff0c;因为业务需求的因素&#xff0c;所以每个部门在每一个楼层都有相应的办公室&#xff0c;因此想要实现他们之间的互连互通&#xff0c; 可以在每个楼层部署一个楼层交换机&#xff0c;实现各个楼层相同部门…

堆的实现以及应用

&#x1f493;博主个人主页:不是笨小孩&#x1f440; ⏩专栏分类:数据结构与算法&#x1f440; 刷题专栏&#x1f440; C语言&#x1f440; &#x1f69a;代码仓库:笨小孩的代码库&#x1f440; ⏩社区&#xff1a;不是笨小孩&#x1f440; &#x1f339;欢迎大家三连关注&…

IntelliJ IDEA和Android studio怎么去掉usage和作者提示

截止到目前我已经写了 600多道算法题&#xff0c;其中部分已经整理成了pdf文档&#xff0c;目前总共有1000多页&#xff08;并且还会不断的增加&#xff09;&#xff0c;大家可以免费下载 下载链接&#xff1a;https://pan.baidu.com/s/1hjwK0ZeRxYGB8lIkbKuQgQ 提取码&#xf…