可解释机器学习-Task01导论

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