一、导论——可解释性机器学习(DataWhale组队学习)

目录

  • 导言
  • 一、什么是可解释人工智能?
  • 二、学可解释机器学习有什么用?
    • 2.1学习可解释机器学习的原因
    • 2.2 Machine Teaching :人工智能教人类学习
    • 2.3 细粒度图像分类
    • 2.4前沿AI
  • 三、本身可解释性好的机器学习模型
  • 四、传统机器学习算法的可解释性分析
  • 五、卷积神经网络的可解释性分析
    • 5.1可视化卷积核、特征图
    • 5.2遮挡Mask、缩放、平移、旋转
    • 5.3找到能使某个神经元激活的原图像素,或者小图
    • 5.4基于类激活热力图(CAM) 的可视化
    • 5.5语义编码降维可视化
    • 5.6由语义编码倒推输入的原图
    • 5.7生成满足某些要求的图像 (某类别预测概率最大)
  • 六、总结
  • 扩展阅读

导言

诺曼底登陆是一次巧妙的军事欺骗行为,利用一揽子欺骗计划赢得夺岛最佳时机,为战争胜利打下坚实基础。诺曼底登陆因此被称作“最大的军事欺骗”或“十大军事骗局之首”。在这里插入图片描述
  其中一条计划代号是卫士计划——“南方坚韧”之声东击西
  牵制住挪威,只是牵制住了德军一部分兵力,更重要的是进攻方向上的欺骗。盟军最终选择加来作为佯攻地点,在对岸多佛建立了第一集团军群的司令部,司令官是巴顿。战争前夕,他们开始大规模的建立营房、医院,弹药库,表面上看似十分逼真。该集团军人员共计3000名,其中2000名是发报人员,通过互传假情报欺骗德国电讯侦察人员。而有1000名是伪装人员,利用橡胶制作了大量的装备模型,坦克、飞机、大炮一应俱全,因此骗过了德军的空军侦察兵。由于巴顿在西西里岛战役中的出色表现,让德军误以为加来是盟军的主攻方向。
  到了60年代人工智能出现了,美国军方想利用神经网络来识别照片中的坦克是真坦克,在美国军方的测试集中有99%的准确率,但是在实际应用中的效果很差。造成这个结果的原因大家众说纷纭,神经网络就像一个黑箱子,没有人知道它究竟是怎么工作的,这正是可解释人工智能要解决的问题。


一、什么是可解释人工智能?

人工智能黑箱子灵魂之问

  • Al的脑回路是怎样的? Al如何做出决策?是否符合人类的直觉和常识?
  • Al会重点关注哪些特征,这些特征是不是真的有用?
  • 如何衡量不同特征对Al预测结果的不同贡献?
  • Al什么时候work,什么时候不work ?
  • AI有没有过拟合?泛化能力如何?
  • 会不会被黑客误导,让AI指鹿为马?
  • 如果样本的某个特征变大15,会对Al预测结果产生什么影响?
  • 如果Al误判,为什么会犯错?如何能不犯错?
  • 两个AI预测结果不同,该信哪一-个?
  • 能让AI把学到的特征教给人类吗?
    在这里插入图片描述
      无论是AI绘画还是最近大火的ChatGPT,我们只知道它们的效果很好,但是我们还是无法知道模型能表现这么好的原因。从上图我们可以看出AI绘画有时候生成的图片是看似合理但是经不起推敲的。
    在这里插入图片描述

  可解释性就是希望寻求对模型工作机理的直接理解,打破人工智能的黑盒子。

二、学可解释机器学习有什么用?

2.1学习可解释机器学习的原因

  • 可解释性学习满足选择研究方向时的一下条件:

    • 尽可能通用,与其它研究方向交叉
    • 顺应主流发展趋势,长期存在且有用
    • 有高质量的数据集
    • 不过分小众,但也好发paper,没有疯狂内卷
    • 能应用到产业界垂直细分行业
    • 有商业应用价值,容易“讲故事’
  • 研究AI的脑回路,就是研究AI的本质。

  • 可解释分析是机器学习和数据挖掘的通用研究方法。

  • 和所有Al方向交叉融合:数据挖掘、计算机视觉、自然语言处理、强化学习、知识图谱、联邦学习。

  • 包括但不限于:大模型、弱监督、缺陷异常检测、细粒度分类、决策Al和强化学习、图神经网络、Al纠偏、Al for Science、 Machine Teaching、 对抗样本、可信计算、联邦学习。

2.2 Machine Teaching :人工智能教人类学习

  1. 用AI学习鸟类的分类,让AI教会人类学习
    在这里插入图片描述
  2. 用可视化的方法,让神经网络教会人类如何预测工艺参数
    在这里插入图片描述
  3. 绝艺围棋AI指导棋:围棋定式、招式
    在这里插入图片描述
  4. 铁路轨道伤损识别
    在这里插入图片描述
  5. AI作画:指导人类绘画(百度文心)
    在这里插入图片描述

2.3 细粒度图像分类

  1. 花和叶子的识别
    在这里插入图片描述

  2. 荔枝的类别识别
    在这里插入图片描述

  3. 类似的海洋生物的识别
    在这里插入图片描述

  4. 韩国女星的识别
    在这里插入图片描述

  5. 奥特曼识别
    在这里插入图片描述

  6. X光胸片的肺炎判定
    在这里插入图片描述

  7. 工业缺陷的类激活图:用分类问题解决定位问题
    在这里插入图片描述

  8. 生物医学、生物信息学、基因数据挖掘、蛋白质结构预测领域
    在这里插入图片描述

2.4前沿AI

  1. ChatGPT聊天机器人
    在这里插入图片描述

  2. AI绘画

  3. 大模型:用海量数据、海量算力、海量参数进行训练
    在这里插入图片描述

  4. 蛋白质的空间预测(要运用大模型)
    在这里插入图片描述

三、本身可解释性好的机器学习模型

本身可解释性好的机器学习模型:KNN(k-最近邻算法)、Logistic回归算法、线性回归算法、决策树、朴素贝叶斯
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、传统机器学习算法的可解释性分析

  1. 算法自带的可视化
  2. 算法自带的特征权重
  3. Permutation Importance置换重要度
  4. PDP图、ICE图
  5. Shapley值
  6. Lime
    在这里插入图片描述

算法性能和可解释能力的关系
在这里插入图片描述

五、卷积神经网络的可解释性分析

  • 可视化卷积核、特征图
  • 遮挡Mask、缩放、平移、旋转
  • 找到能使某个神经元激活的原图像素,或者小图
  • 基于类激活热力图(CAM) 的可视化
  • 语义编码降维可视化
  • 由语义编码倒推输入的原图
  • 生成满足某些要求的图像 (某类别预测概率最大)

5.1可视化卷积核、特征图

  每个卷积核提取不同的特征,每个卷积核对输入进行卷积,生成一个feature map,这个feature map即提现了该卷积核从输入中提取的特征,不同的feature map显示了图像中不同的特征。

  • 浅层卷积核提取:边缘、颜色、斑块等底层像素特征
  • 中层卷积核提取:条纹、纹路、形状等中层纹理特征
  • 高层卷积核提取:眼睛、轮胎、文字等高层语义特征

最后的分类输出层输出最抽象的分类结果
在这里插入图片描述

5.2遮挡Mask、缩放、平移、旋转

在这里插入图片描述

在这里插入图片描述

5.3找到能使某个神经元激活的原图像素,或者小图

在这里插入图片描述

5.4基于类激活热力图(CAM) 的可视化

在这里插入图片描述

5.5语义编码降维可视化

在这里插入图片描述

5.6由语义编码倒推输入的原图

在这里插入图片描述

5.7生成满足某些要求的图像 (某类别预测概率最大)

在这里插入图片描述

逃逸攻击可分为白盒攻击和黑盒攻击。白盒攻击是在已经获取机器学习模型内部的所有信息和参数上进行攻击,令损失函数最大,直接计算得到对抗样本;黑盒攻击则是在神经网络结构为黑箱时,仅通过模型的输入和输出,逆推生成对抗样本。下图左图为白盒攻击(自攻自受),右图为黑盒攻击(用他山之石攻此山之玉)。
在这里插入图片描述
下面的图片就是一种快速梯度符号攻击,加了一部分噪声后,我们会发现,虽然人的判断还是正确的,但是人工智能的判断已经把pandas分类为gibbon长臂猿了。
在这里插入图片描述

六、总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

扩展阅读

子豪兄出品的可解释性分析代码:https://github.com/TommyZihao/Train_Custom_Dataset/图像分类
pytorch的可解释性分析库:
https://github.com/utkuozbulak/pytorch-cnn-visualizations
思考题
为什么要对机器学习、深度学习模型做可解释性分析和显著性分析 ?
如何回答“人工智能黑箱子灵魂之问” ?
人工智能的可解释性分析有哪些应用场景?
哪些机器学习算法本身可解释性就好?为什么?
对计算机视觉、自然语言处理、知识图谱、强化学习,分别如何做可解释性分析?
在你自己的研究领域和行业,如何使用可解释性分析?
可以从哪几个角度实现可解释性分析 ?
Machine Teaching有哪些应用场景 ?

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在TitanIDE中使用ChatGPT辅助科研开发

作者:行云创新CEO 马洪喜 命题:太空望远镜拍摄的照片处理 假设:我是图形科学家,但不是特别懂Python 先上传一张银河系照片,目的是把彩色转成灰度: 然后我不会啊, 问问chatGPT 彩色图片转灰度…

itest监考机制_iTEST管理员组织大型无纸化考试的经验分享

嘉宾介绍 林涛 集美大学外国语学院在线平台负责人,自2017年起负责学校iTEST大学外语测试与训练系统(下称iTEST系统)的管理工作,曾统筹过七个学期的全校性大学英语在线考试。林老师对于如何使用iTEST系统组织和管理无纸化考试有着丰富的实践经验与使用心得。 经验分享 Q1:请问…

考试系统分享

介绍 学之思考试系统是一款基于k12教育的考试平台,小学、初中、高中和不同学科均可以均可以使用,支持各种题型(单选、多选、判断、填空、解答),里面包含了三大系统:学生系统、教师系统(TODO)、管理员系统、微信小程序学生端。 演…

腾讯云认证FAQ | 考试类型、考试预约等常见问题

要说2023年最火的是什么,云计算必须占一个名额。 为啥这么火呢?看市场反馈就知道了: 2019年以来,云计算领域对技术岗位的人才需求始终在40%以上,并逐年提高。 2022年显示,核心技术人才的招聘需求占比达到…

考试管理系统/在线考试系统

目录 摘要 Abstract 1 绪论 1.1课题研究背景和意义 1.2 国内外现状分析 1.3 课题研究主要内容 2 核心技术介绍 2.1 mysql技术介绍 2.2 eclipse编译器介绍 2.3 Spring框架简介 2.4 Vue.js技术简介 3 需求分析 3.1 系统的设计模式 3.2 系统的设计目标…

【亲测可用】经验分享,开发在线考试平台(类似问卷星、考试星、阿里巴巴在线考试、易考通、考试云、移动网大、移动网校、中石化网络学院、宝武微学院、iTEST等)如何用程序代码防止学生作弊?

来源: 宝武微学院 http://mooc.baosteel.com 移动网大、移动网校 https://wangda.chinamobile.com 1、如何避免考生考试过程切屏去搜寻答案? 使用JavaScript自带的全局方法屏蔽考生作弊 window.onmouseleave window.onblur window.onmouseout documen…

itest监考机制_干货 | iTEST管理员组织大型无纸化考试的经验分享

原标题:干货 | iTEST管理员组织大型无纸化考试的经验分享 嘉宾介绍 林涛 集美大学外国语学院在线平台负责人,自2017年起负责学校iTEST大学外语测试与训练系统(下称iTEST系统)的管理工作,曾统筹过七个学期的全校性大学英语在线考试。林老师对于…

计算机等级考试无纸化模拟软件(免费版)

分享内容 计算机等级考试【National Computer Rank Examination】,简称NCRE。主要考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。当代大学生大学期间除了自己的必修课程外,总会给自己找一些其他的东西让自己忙碌起来。除了…

微信订阅号发送模板消息

参考的链接: 微信公众平台测试号——模板消息发送Demo_a816120的博客-CSDN博客 开放接口 | 微信开放文档 微信公众平台 功能一:代码实现发送微信公众平台配置的模板消息 1、事先获取好appID和appsecret 2、书写发送的工具类 package com.talk915.…

微信公众号订阅消息

1、官网介绍 功能介绍 | 微信开放文档 订阅通知是一个用户主动订阅、服务号按需下发的通知能力。使用过程请遵守《微信公众平台服务协议》《微信公众平台运营规范》。 如有疑问,可在微信开放社区反馈。 设置订阅功能:服务号可以在图文消息、网页等场景…

windows11默认浏览器开启chatGPT—直接拿下

1、进入浏览器扩展设置 https://microsoftedge.microsoft.com/addons/search/Wetab?hlzh-CN 搜索此软件 2、添加到扩展后,打开查看显示 3、注册账号,然后使用即可

为你的Pycharm装一个得力助手(ChatGPT吧)

Pycharm算是我们日常工作中用到的一个非常重要的python工具,如果能为Pycharm安装一个小助手那么我们的办公效率一定可以事半功倍!! 插件安装 1、点击左上角 file——setting 2、点击Plugins——输入NexChatGpt,安装 即可使用&…

教你如何用Python分析出选注双色球号码

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 数据集介绍 找从19年到现在的开奖历史数据,我们首先要把这个历史数据拿到, 拿到我们再进行做分析,分析每个号码出现的频率是多少, 哪个多&#x…

自己编一个大乐透选号器

新手,最近自己尝试着做了一个体彩大乐透的选号器,感觉挺有意思的,下面分享给大家! 具体步骤: 1、新建一个基于对话框的MFC工程。 2、按下图所示添加显示前区号码的5个编辑框,显示后区号码的2个编辑框&am…

彩票号码自选程序

彩票之–超级大乐透选号小程序 是不是每次买彩票的时候,总是不知道选什么号码好呢?今天来看看这个小程序吧! package Thread; import java.util.*; /*超级大乐透选号机*/ public class lottery {public static void main(String[] args) {//因为彩票号…

一种福利彩票辅助选号软件的开发

2021年10月,单位同事邀请几个相熟同事一起买福利彩票,除了以前就知道的双色球外,还介绍了一种快乐8的福彩玩法,看着大家选号绞尽脑汁,加上对快乐8玩法比较感性却,于是一口应承帮忙开发一个辅助选号工具&…

Python——彩票(大乐透)模拟随机选号

终于下手了,每天都路过一家体彩店,从没买过彩票的我今天终于带着好运(但愿吧,哈哈哈)进入了体彩店,跟老板说要买一个大乐透,老板说加个微信,可以送我一注,不知道咋玩&…

chatgpt赋能python:用Python查看电脑配置的方法

用Python查看电脑配置的方法 在计算机维护和开发过程中,我们常常需要了解电脑的硬件配置情况,比如CPU型号、内存大小、磁盘容量等等。通常我们可以在操作系统中使用系统信息工具查看这些信息,但是当我们需要程序化地获取这些信息&#xff0c…

chatgpt赋能python:使用Python轻松操作电脑,提高效率

使用Python轻松操作电脑,提高效率 随着互联网和电脑技术的飞速发展,电脑已经成为我们日常生活不可或缺的一部分。我们需要用电脑写文档、制作PPT、处理数据等等。但是电脑日常操作可能会耗费我们大量时间和精力,因此,学习使用Pyt…

chatgpt赋能python:Python怎么装TensorFlow,轻松学习人工智能开发!

Python怎么装TensorFlow,轻松学习人工智能开发! 如今,人工智能AI已经成为了IT技术领域中的一大热门话题。越来越多的人想要进入人工智能开发这一领域,而Python便成为了其中不可或缺的一部分,Python不仅支持科学计算&a…