IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【李宏毅机器学习】Explainable AI -> 正文阅读

[人工智能]【李宏毅机器学习】Explainable AI

note:

  • local explanation的任务是判断出这图片为啥是XX;global explanation的任务是model能够学习到XX是长啥样的(这里说的是XX识别)。
  • explanable AI典型的2种方法是敏感性分析(Sensitivity Analysis)和基于梯度的方法(Gradient-based Methods)。
    • 敏感性分析:出发点就是看你的模型对于哪个数据实例非常敏感。例如一个分类器,如果我们删除掉一个数据点,模型的决策边界有了剧烈的变化,那么我们就说这个数据点事非常敏感的(对识别结果重要的feature)。LIME这篇文章就是基于这样的思想,对于特定的数据点进行各个特征的扰动,从而给出分类器局部的解释,即局部来看,什么特征是最影响分类器的决策的。同样的还有Koh提出的Influential function,用来解释数据点对SVM的影响程度。
    • 基于梯度的方法:看输入的哪一部分更影响决策。对于一个图片识别模型来说,这种方法就体现在一个saliency map上。也就是将图片的每个像素通过梯度变化的比较,来显示图片的哪些像素是分类器作为分类的依据。

一、可解释机器学习

像在一些医疗诊断、决策任务中,AI模型更需要可解释性,但是explanable AI不完全是理解ML如何工作.

二、Local Explanation(局部可解释性)

2.1 基本思想

input的多个component中(比如图片中的一个pixel像素就是一个component;passage中的一个word单词就是一个component),哪个component在识别图片中起更关键的作用。在Local explanation中一般通过对component进行修改or移除等操作,对比影响的效果进行判断哪个component作用更大。

2.2 移除组成要素(遮挡法)

如下图,用灰色方块对每个部分进行遮挡,然后进行预测(效果即下方的图片,蓝色区域表明该区域对识别结果作用更大)。
在这里插入图片描述

2.3 改变组成要素(基于Gradient)

saliency map显著图:每个值对目标值求偏微分,导数越大的区域越明亮,用这种gradient方式(loss变化量/偏置量)判断哪些feature更重要。
在这里插入图片描述
Saliency Map(显著图):图中亮度越大,代表数值越大。也就是说表示了模型是真的获得了狗的信息才判断这是一条狗,而不是根据环境或者其他对象来判断的。

2.4 Limitation of Gradient based Approaches(基于梯度方式的限制)

2.3中,大象鼻子不断长,长到一定程度肯定会停止生长,如果继续用2.3这种导数求法就是梯度为0(梯度饱和),但是不代表该feature不重要。

2.5 Attack Interpretation

三、Global Explanation(全局可解释性)

从dl model中拿出某一层的输出,通过降维至二维平面,比如下图,输出一个语音信号,从第8层中提取出输出再降维到二维平面,可看到句子相同但读者不同的向量会聚类在一起。
在这里插入图片描述

在这里插入图片描述

3.1 反向寻找理想输入

CNN的一个filter卷积核对input picture处理得到feature map。可以反向寻找最佳input,如下左下方的图片就过拟合了。
在这里插入图片描述

3.2 添加正则化项

在这里插入图片描述

3.3 利用image generator 进行正则化

  • 首先训练一个image generator(通过GAN,VAE等生成模型),其输入一个低维度的向量z(不同的z代表不同的种类),输出一张图片 x ,记为X=G(z)。
  • 将x进行图片分类可以得到y。在之前方法中,想要得到机器眼中y的样子,就是计算X*=argmax Yi,现在增加了图像生成器,就可以转变为计算Z*=argmax Yi 。
  • 将上面的图片生成器和分类器串在一起,就变成一个很深的神经网络。输入就是z,输出就是y。(分类器是之前已经训练好的)
  • 将找到的z*再带入到image generator,得到的图片就是我们想求的。(这就解释了机器认为cat长什么样)

在这里插入图片描述

四、用模型解释模型

4.1 Using linear model

用一个解释性强的model“模仿”难解释的model(在训练时输入相同的样本,让模仿模型的输出接近黑色模型,即解释性差的model的输出)。但是线性模型过于简单,新提出了LIME。

在这里插入图片描述

4.2 Local Interpretable Model-Agnostic Explanations (LIME)

使用Linear Model拟合Neural Network

  • 定位:确定需要解释的data point(下图5个蓝点中最中间的蓝点)
  • 取样:在上一步确定的data point周围sample获得更多的data point(下图5个蓝点)
    • sample的范围需要根据情况调整,一般范围小则拟合得更准确
    • sample的方法不同,结果也会不同
  • 拟合:使用Linear Model模拟上一步确定的data point及其对应的Neural Network输出
  • 解释:对Linear Model进行解释,进而解释Neural Network的局部

在这里插入图片描述

Reference

[1] 李宏毅21版视频地址:https://www.bilibili.com/video/BV1JA411c7VT
[2] 李宏毅ML官方地址:http://speech.ee.ntu.edu.tw/~tlkagk/courses.html
[3] 可信图学习综述:A Survey of Trustworthy Graph Learning:
Reliability, Explainability, and Privacy Protection.2022
[4] 简单梳理一下机器学习可解释性(Interpretability)

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:33:42  更:2022-10-17 12:36:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:45:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码