可解释机器学习-Task01-导论

💡 博客地址:https://1nnoh.top/3W8VFN4/
🥇 版权: 本文由【1nnoh】原创 各位大佬敬请查阅
🎉 声明: 本博文禁止转载 感谢尊重和理解
❤️ 如果文章对你有帮助 欢迎一键三连

0x00 Abstract

从以下角度来认识可解释机器学习:

  • 什么是可解释人工智能?
  • 学可解释机器学习有什么用?
  • 如何对传统机器学习、深度学习做可解释性分析?

0x01 什么是可解释机器学习

是打开人工智能的黑箱子,洞悉人工智能的脑回路与注意力,进而解释它,了解它,改进它,信赖他的一门学科。

1. 人工智能黑箱子灵魂之问

  • AI 的脑回路是怎样的?AI 如何做出决策?是否符合人类的直觉和常识?
  • AI 会重点关注哪些特征,这些特征是不是真的有用?
  • 如何衡量不同特征对 AI 预测结果的不同贡献?
  • Al 什么时候 work, 什么时候不 work?
  • AI 有没有过拟合?泛化能力如何?
  • 会不会被黑客误导,让 AI 指鹿为马?
  • 如果样本的某个特征变大 15,会对 AI 预测结果产生什么影响?
  • 如果 AI 误判,为什么会犯错?如何能不犯错?
  • 两个 AI 预测结果不同,该信哪一个?
  • 能让 AI 把学到的特征教给人类吗?

2. 黑箱子案例:

  • AI 在关注哪些区域,哪里的特征对于 AI 识别坦克来说最重要
  • 将一张大熊猫的照片,加上一些看似随机的噪声后,AI 以较高的置信度将其识别为长臂猿(即使在人类看来没有很多区别,明显仍然是一个熊猫)
  • AI 绘画的偏差,经不起严谨的推敲:比如要求画出游在溪水中的三文鱼,AI 将日料店里的三文鱼刺身画在了溪水里;或者只能知道大概模样的握手照片。

因此目前的 AI 大多是黑箱,而且是经常会犯错误的黑箱,如果在医疗、无人驾驶、金融等领域,如何才能放心的将身家性命托付给人工智能?

0x02 为什么要学可解释机器学习

1. 可解释学习是一个很好的研究方向

  • 选择人工智能研究方向的建议(同济子豪兄)
    • 尽可能通用,与其它研究方向交叉
    • 顺应主流发展趋势,长期存在且有用
    • 有高质量的数据集
    • 不过分小众,但也好发 paper, 没有疯狂内卷
    • 能应用到产业界垂直细分行业
    • 有商业应用价值,容易“讲故事

而可解释机器学习恰好都符合这些要求 ^ ^

总结一下,可解释机器学习的意义

  • 研究 AI 的脑回路,就是研究 AI 的本质。
  • 可解释分析是机器学习和数据挖掘的通用研究方法。
  • 和所有 AI 方向交叉融合:数据挖掘、计算机视觉、自然语言处理、强化学习、知识图谱、联邦学习。
  • 包括但不限于:大模型、弱监督、缺陷异常检测、细粒度分类、决策 AI 和强化学习、图神经网络、AI 纠偏、AI4Science、Machine Teaching、对抗样本、可信计算、联邦学习。

2. 推荐的细分领域

2.1 Machine Teaching

从 Machine Learning 到 Machine Teaching,人工智能教人类学习

这里挺有意思的,先用海量数据训练 AI,使其学习某一项任务并达到较高的标准,随后反过来以可视化的形式,将其学习到的重要特征展示给人类,指导人类的学习、生活与工作。

  • AI 以热力图的形式,将鸟类的区别特征展示给人类,教会人类如何去分辨各种类别的鸟。
  • 使用神经网络预测激光切割断面的工艺参数(准确度远胜于人类专家),并且以可视化的方法,教会人类切割断面上的哪些特征是对预测起到关键作用的。
  • 绝艺围棋 AI 指导棋(腾讯)
  • 钢轨伤损智能检测(同济大学轨道系 张子豪):指导铁路维修工人制定轨道定损的规范与策略
  • 补全、复原未完成或缺损的古画(百度文心)=》指导人类书法、绘画技巧
2.2 细粒度图像分类

什么是细粒度图像分类:对属于同一大类,已经高度相似,做进一步的细分小类。(已经非常像,但又彼此不同)

  • 比如荔枝、海洋生物、奥特曼…

  • 肺炎(细菌性肺炎、病毒性肺炎、新冠肺炎…)

    • 指导影像科医生应该关注哪些区域,从而做出判断。
  • 使用图像分类解决图像定位(甚至图像分割)的问题(这个角度好有意思)

    • 分类告诉人类有没有缺陷
    • 进一步通过可解释分析,定位缺陷位置,告诉人类是哪里有缺陷

=》通过可解释机器学习,验证 AI 关注到了应该关注到的特征(或者区域),甚至进一步指导人类应该去关注哪些特征。

2.3 一些前沿 AI 方向

值得使用可解释机器学习去解释、探究的大型的深度学习模型

  • ChatGPT
  • AI 绘画
  • 目标检测
  • 关键点检测

0x03 怎么学可解释机器学习

1. 本身可解释性好的机器学习算法

  • KNN
    • 根据距离新样本最近的 K 个样本是什么类别,从而判断新样本的类别(近朱者赤近墨者黑)
  • 逻辑回归
    • 使用一定的权重,将所有特征加权求和,通过 Sigmoid 函数,获得概率。
  • 线性回归
  • IF ELSE=》决策树(非常接近人类的脑回路)
  • 朴素贝叶斯

传统机器学习算法的可解释性分析【子豪兄Kaggle】玩转UCI心脏病二分类数据集):

  • 算法自带的可视化
  • 算法自带的特征权重
  • Permutation Importance 置换重要度
    • 将某一列的特征随机打乱,若打乱后严重降低算法准确度,说明该特征比较重要;
    • 若打乱后没什么影响,说明不怎么重要;
    • 若打乱后反而提升了算法,说明该特征属于噪音,更加不重要。
  • PDP 图、ICE图
    • PDP 图(看一个人)随着年龄的增长,患病几率的变化
    • ICE 图(看多个人)
  • Shapley 值
  • Lime

总结:目前的一些机器学习算法的可解释性是比较好的,但能力有限,深度网络有较强的能力,但可解释性尚且需要探究,因此很有必要对例如深度学习的模型做可解释性分析。

2. 对可解释性很差的深度学习做可解释性分析

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

  • 可视化卷积核、特征图(最早追溯到 AlexNet)
    • 卷积核的作用
      • 每个卷积核提取不同的特征,每个卷积核对输入进行卷积,生成一个 feature map,这个 feature map 即提现了该卷积核从输入中提取的特征,不同的 feature map 显示了图像中不同的特征。
      • 浅层卷积核提取:边缘、颜色、斑块等底层像素特征;中层卷积核提取:条纹、纹路、形状等中层纹理特征;高层卷积核提取:眼睛、轮胎、文字等高层语义特征;最后的分类输出层输出最抽象的分类结果。
    • 但人类只能理解浅层的卷积核,对于深层的卷积核是无法解释的
  • 遮挡、缩放、平移、旋转(ZFNet)
    • 使用灰色块遮挡图像的不同区域,根据对预测结果与置信度的影响,判断各个区域对于预测的重要性
    • 对图像做缩放、平移、旋转,探究对预测结果的影响
    • 统一遮挡住图像(狗)的右眼,若相比于随机遮挡,产生了一致性影响,那么说明神经网络确实学习到了右眼的特征。
  • 找到能使某个神经元激活的原图像素,或者小图
  • 基于类激活热力图(CAM)的可视化
    • 把 AI 认为重要的特征高亮出来
      • 从而可以解释 AI 为什么会犯错,是最终关注在了哪个区域导致判断错误
      • 并且可以根据神经网络关注的区域,判断是不是带有 Bias 的,从而指导人类修改数据集
  • 语义编码降维可视化
  • 由语义编码倒推输入的原图
  • 生成满足某些要求的图像(某类别预测概率最大)

Conclusion

  • 《深度学习的可解释性研究综述》 ——李凌敏,侯梦然,陈琨,刘军民
  • 《深度学习可解释性研究综述》——雷霞,罗雄麟

思考题

  • 为什么要对机器学习、深度学习模型做可解释性分析和显著性分析?
    • 打开人工智能的黑箱子,探究其脑回路,了解、解释 AI,从而改进它,信赖它。
  • 如何回答〝人工智能黑箱子灵魂之问"?
    • 对算法做可解释性分析
  • 人工智能的可解释性分析有哪些应用场景?
    • Machine Teaching
    • 对大模型做可解释性分析
  • 哪些机器学习算法本身可解释性就好?为什么?
    • KNN、LR、决策树等。
    • 这些算法的本质容易被人类理解,比如最近邻的样本点、对特征做加权求和、通过 IF ELSE 判断。
  • 对计算机视觉、自然语言处理、知识图谱、强化学习,分别如何做可解释性分析?
    • 计算机视觉:可视化卷积核、CAM 等。
  • 在你自己的研究领域和行业,如何使用可解释性分析?
    • 对三维模型的 Embedding 做降维可视化。
    • 探究神经网络关注到了三维模型的哪些拓扑特征与几何特征。
  • 可以从哪几个角度实现可解释性分析?
    • CAM、卷积核可视化、Embedding 降维可视化等。
  • Machine Teaching 有哪些应用场景?
    • AI 指导棋、书法绘画、各种物体或医学图像的细粒度分类等。

真的是蛮有意思并且很实用的一个方向,感谢子豪兄的分享 ^ ^

References

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值