归因分析笔记21 可解释的机器学习-李宏毅讲座

news2025/7/13 15:20:49

视频链接:

https://www.bilibili.com/video/BV1Wv411h7kN/?p=96&vd_source=7259e29498a413d91ab48c04f9329855

课件链接:

https://view.officeapps.live.com/op/view.aspx?src=https%3A%2F%2Fspeech.ee.ntu.edu.tw%2F~hylee%2Fml%2Fml2021-course-data%2Fxai_v4.pptx&wdOrigin=BROWSELINK

作业链接:

https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/hw/HW09/HW09.pdf

https://colab.research.google.com/github/ga642381/ML2021-Spring/blob/main/HW09/HW09.ipynb

目录

Interpretable与explainable的差异

Explainable的目标

解释的类别

Local

解释的方法

1.输入的哪些部分重要

2.网络如何处理输入

Global

1.以网络输出最大为优化目标训练输入

2. Generator

替代模型


Interpretable与explainable的差异

Interpretable本身就可解释的(线性模型, 单颗浅层决策树)

explainable本身不可解释的模型赋予其解释(深层决策树/随机森林)

Explainable的目标

什么是好的解释结果

人能接受的理由(让人高兴)

解释的类别

Local:对单个样本做出判断的理由(哪些组成部分components像猫)

Global:对任意的输入, 什么样的输入能获得肯定的判断(什么样的图片可以看作猫)

Local

解释的方法

1.输入的哪些部分重要

2.网络如何处理输入

1.输入的哪些部分重要

1.看梯度

(1)逐部分mask特征/或者对单个特征进行微小变化

(2)然后观察输出/计算梯度:

变化大/梯度大的为重要特征, 由此可画出Saliency Map(主要在CV中使用)

2. Integrated gradient (IG)--扩展了解的方法

SmoothGrad

避免杂讯影响: 在图片上加入不同杂讯, 所有的Saliency Map叠加后, 就是SmoothGrad的结果

草对分辨图片可能重要, 但老板会喜欢机器根据猫的本体判断, 让老板高兴的解释才是好的解释

梯度≠特征重要度

当大象鼻子长到一定程度的时候, 再变长对判断就没有帮助了, 此时长度发生变化的梯度为0.

2.网络如何处理输入

降维+可视化

对网络某一层(或Attention)的输出进行降维+可视化, 输出图片给人眼看是否有联系

Attention is not Explanation

Probing

1.Probing(探针)=分类器

基于这一层的输出, 训练判断词性(或其它特性)的分类器, 来确定这一层是否学到了词性方面的信息.

但是要小心可能单纯是分类器没有训练好/或训练太好, 导致无法分别.

2. Probing(探针)=生成器

利用某一层的输出, 复现网络的输入

看出网络抹去了哪些特征, 学到了哪些特征

Global

不是对单个样本为什么选择

而是根据整个模型参数, 找出模型想象中的猫

1.以网络输出最大为优化目标训练输入

创造一张图片, 其中包含filter (网络)想要侦测的像素

把像素值当作训练的参数, 使得某层输出的feature map值(整个网络输出)大.

找出的值用X*表示, 观察X*的特征

其中aij是feature map中的元素

其中yi是整个网络的输出.

寻找的方法不是梯度下降而是梯度上升(gradient ascent).

如果寻找的时候不加限制, 输出的图片是杂讯:

加限制--图片要像数字. 此处的限制R()是有笔画的地方越少越好

此时得到的图片:

要得到很像人类的图片其实很难, 要根据对影像的了解下非常多的限制, 对超参数微调.

2. Generator

将生成器与分类器接在一起

此时不是找分类器的输入X, 而是生成器的输入Z

找到能使y最大的z, 记为z*, 再把z*输入生成器.

替代模型

用简单的模型模仿复杂模型的行为

再分析简单的可解释的模型

Local Interpretable Model-Agnostic Explanations (LIME)

线性模型无法模仿网络的所有行为, 只模仿一小区域的行为.

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

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

相关文章

【数据结构与算法】数据结构的基本概念,时间复杂度

🍉内容专栏:【数据结构与算法】 🍉本文脉络:数据结构和算法的基本概念,时间复杂度 🍉本文作者:Melon西西 🍉发布时间 :2023.2.21 目录 一、引入: 二、数据结…

一键恢复和重装系统的区别是什么

如果电脑出现系统故障问题的时候,我们的电脑系统还原和系统重装都是很好的解决方法之一,不过是二者之间是有区别的。那么我们的电脑系统还原和系统重装有什么区别呢?现在就跟大家聊聊电脑一键恢复和重装系统的区别有哪些。 工具/原料: 系统…

P6软件应用的核心收益

卷首语 提供了多用户、多项目的功能模块,支持多层次项目等级划分,资源分配计划,记录实际数据,自定义视图,并具有用户定义字段的扩展功能。 利用最佳实践,建立企业模板库 P6软件支持用户使用模板编制项目…

Arduino-交通灯

LED交通灯实验实验器件:■ 红色LED灯:1 个■ 黄色LED灯:1 个■ 绿色LED灯:1 个■ 220欧电阻:3 个■ 面包板:1 个■ 多彩杜邦线:若干实验连线1.将3个发光二极管插入面包板,2.用杜邦线…

Sqoop介绍_以及安装_测试---大数据之Apache Sqoop工作笔记001

这个sqoop主要是用来,把数据从mysql中导入到hdoop中,去看看介绍吧. sql to hadoop 然后我们来看看sqoop,可以看到这里稳定版本是1.4.7 然后1.4.7 跟centos6.8 不是太好配置 这里用了1.4.6 但是如果用1.4.7 和centos7 还行 可以看看官网,这里sqoop1 跟sqoop2 这里标注了s…

【论文笔记】Manhattan-SDF == ZJU == CVPR‘2022 Oral

Neural 3D Scene Reconstruction with the Manhattan-world Assumption 本文工作:基于曼哈顿世界假设,重建室内场景三维模型。 1.1 曼哈顿世界假设 参考阅读文献:Structure-SLAM: Low-Drift Monocular SLAM in Indoor EnvironmentsIEEE IR…

【原创】java+swing+mysql宿舍管理系统设计与实现

今天我们主要来介绍如何使用swing图形化gui工具和mysql数据库去开发一个学生宿舍管理系统,这样一个比较经典的项目,学生宿舍管理系统,相信都很多人都不同程度的写过,从实现上来说不难。 功能分析: 学生宿舍管理系统&…

mysql中利用sql语句修改字段名称,字段长度等操作(亲测)

在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿。这些操作可以在phpmyadmin或者别的mys…

Lazada选品推荐,这些爆品成了东南亚开年大赢家

小编今日整理了最新快消行业情报,带您解读东南亚市场玩具、母婴、美妆、食品、宠物类目的最新热销品类和发展方向,宠物。赶在大促前为商家朋友们助力一波!STEM玩具、精细化拟人化宠物食品、便携香水……一大波商机正在赶来!准备好…

编译链接实战(9)elf符号表

文章目录符号的概念符号表探索前面介绍了elf文件的两种视图,以及两种视图的各自几个组成部分:elf文件有两种视图,链接视图和执行视图。在链接视图里,elf文件被划分成了elf 头、节头表、若干的节(section)&a…

C++项目——高并发内存池(2)——thread_cache的基础功能实现

1.并发内存池concurrent memory pool 组成部分 thread cache、central cache、page cache thread cache:线程缓存是每个线程独有的,用于小于64k的内存的分配,线程从这里申请内存不需要加锁,每个线程独享一个cache,这…

算法学习与填充计划---2023.2.21---夏目

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石.CSDN 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​ 📣系列专栏:ACM周训练题目合集.CSDN 💬总结&#xff1a…

继 承

1.继承继承是面向对象三大特性之一有些类与类之间存在特殊的关系继承的好处: 减少重复代码语法: class 子类: 继承方式 父类子类也称为派生类 父类也称为基类class Python : public BasePage {public :void Content() {}};2.继承方式继承方式一共有三种:公共继承保护继承私有继…

Homekit智能家居一智能吸顶灯

买灯要看什么因素 好灯具的灯光可以说是家居的“魔术师”,除了实用的照明功能外,对细节的把控也非常到位。那么该如何选到一款各方面合适的灯呢? 照度 可以简单理解为清晰度,复杂点套公式来说照度光通量(亮度&#x…

ChatGPT为什么不受开发者喜欢?

记得 ChatGPT 最开始上线不久的时候,看到的大部分尝鲜和测试结果都是开发者在做进行敲代码测试,可以说职业危机感非常强的一群人了。 再者,加上 ChatGPT 要使用起来其实是有一些技术门槛的,愿意折腾的人也多是程序员,…

操作系统和进程的资源消耗

free -h 获取操作系统当前内存Mem 行(第二行)是内存的使用情况。Swap 行(第三行)是交换空间的使用情况。total 列显示系统总的可用物理内存和交换空间大小。used 列显示已经被使用的物理内存和交换空间。free 列显示还有多少物理内存和交换空间可用使用。shared 列显示被共享使…

基于龙芯 2K1000 的嵌入式 Linux 系统移植和驱动程序设计(一)

2.1 需求分析 本课题以龙芯 2K1000 处理器为嵌入式系统的处理器,需要实现一个完成的嵌入式软件系统,系统能够正常启动并可以稳定运行嵌入式 Linux。设计网络设备驱 动,可以实现板卡与其他网络设备之间的网络连接和文件传输。设计 PCIE 设备驱…

自定义Ext JS组件类

在Ext JS 中如何自定义一个组件类呢? 实现方式是继承Ext.Component ,定义一个自己的组件类。 那么,这个组件类该怎样扩展自己的功能呢? 举例来说, 有这样一个需求: 扩展一个Grid的子类,通过pageType的属性值来显示不同的列。 如果是查看页面,则所有列都是不可编辑的如…

尚医通 (二十)预约挂号功能

目录一、预约挂号详情1、需求2、预约挂号详情接口3、预约挂号详情前端二、预约确认1、需求2、预约确认接口3、预约确认前端一、预约挂号详情 1、需求 接口分析 (1)根据预约周期,展示可预约日期数据,按分页展示 (2&…

【微信小程序】使用云存储存入指定文件夹

前言在我们开发微信小程序的时候常会用到云开发的功能,它相比传统的SQL上手难度低,比较适合没有什么后端基础的开发者使用。在具体的项目需求中我们会让用户上传一些图片或者表格,随着用户量增大,文件类型增多,云存储分…