在这里插入图片描述

在这里插入图片描述

1、Global Explanation:explain the whole model

之前讲的是 local explanation,给一张图片,为什么机器觉得里面是一只猫

【AI】《Explainable Machine Learning》(1)

这篇文章讲 global explanation

global explanation 不是针对特定一张图片进行分析,而是心里想象的猫到底长什么样子

在这里插入图片描述

输入 Image X,如果 filter 1 上面有很多 large values,也即比较多的相应,说明 image X contain the partterns filter 1 can detect

这是 local explanation,如果不知道输入 X 呢?

在这里插入图片描述

下面是 global explanation,采用的是 gradient ascent,最大化 filter 1 的相应,求出对应的 X

在这里插入图片描述

在这里插入图片描述

让某个类别的分数越高越好

在这里插入图片描述

在没有生成器约束时,最原始的方法是:寻找一张图片 X X X,使得该神经元的激活值最大化(Maximizing Activation)

  • 数学公式: X ∗ = arg ⁡ max ⁡ X y i X^* = \arg \max_X y_i X=argmaxXyi
  • 结果: 这通常会导致模型生成一堆人类看不懂的噪声和彩斑
  • 为什么? 因为在不受约束的像素空间里,让神经元激活最强烈的,往往是一些能产生超大梯度但对人类无意义的纹理。这并没有解决可解释性的核心问题 —— “让人类看懂”

在这里插入图片描述

gradient ascent 基础上,加入约束,eg:让白色的点更少(数字占比整图的像素是比较少的)

在这里插入图片描述

with several regularization terms,and hyperparameter tuning …

才能达到肉眼友好型的可视化结果

在这里插入图片描述

引入生成器约束

为了让生成的图片符合人类视觉习惯,我们需要一个限制。这就是 Image Generator(生成器,如 GAN, VAE) 的用武之地。

第一阶段:预训练生成器

  • 使用海量的自然图片(猫、狗、老虎等)预训练一个生成器。它学到了从一个低维向量 z z z 生成高质量、自然图片的能力( X = G ( z ) X = G(z) X=G(z))。
  • 意义: 这意味着它知道一张自然的图片大概长什么样(有边缘、有光照、有材质)。

第二阶段:对潜在空间进行优化

  • 我们不再直接优化像素 X X X,而是优化生成器的输入 z z z
  • 数学公式: z ∗ = arg ⁡ max ⁡ z y i z^* = \arg \max_z y_i z=argmaxzyi
  • 新的处理流: 寻找最佳的向量 z ∗ z^* z → \rightarrow 送入生成器 G G G → \rightarrow 生成高质量的图片 X ∗ = G ( z ∗ ) X^* = G(z^*) X=G(z) → \rightarrow 送入我们想要分析的 Classifier(分类器) → \rightarrow 获得最高激活值 y i y_i yi

最后得到的 z ∗ z^* z 再经过 Image Generator G G G 后,得到 global explanation 的 X ∗ X^* X

在这里插入图片描述

结果展示,eg 蚂蚁、火山

我们其实没有那么在乎机器真正想的是什么(eg 生成的相应最高的图片都是杂讯),我们希望有些方法解读出来的东西,人看起来觉得很开心,然后就说机器想的可能就是这个样子的

在这里插入图片描述

用白盒模仿黑盒 (Mimicking)

using an interpretable model to mimic the behavior of an uninterpretable model

黑盒子做到的事情,linear model 不一定能做到,可以只模仿一小部分(一小个区域)的行为

在这里插入图片描述

代理模型(LIME)的思路: “我知道这里有个几何结构,但我不想弄明白它。我只想知道,在这一块局部的几何区域里,如果我们改变一个特征,最后的预测结果会怎么变。通过这种局部的‘扰动’来归纳规律。”

2、局部解释(Local Explanation) vs 全局解释(Global Explanation)

在可解释性 AI(XAI)领域,局部解释(Local Explanation)全局解释(Global Explanation) 是两个最核心的维度。简单来说,它们分别是“看局部细节”和“看宏观逻辑”的区别。

(1)局部解释 (Local Explanation)

核心问题: “为什么模型对这个特定的样本给出了这样的预测?”

  • 定义: 专注于单个输入实例。它试图说明模型在处理某一个具体案例时,哪些特征起到了决定性作用。
  • 在视觉/CNN 中的体现:
    • Grad-CAM / 热力图: 针对这张“猫”的照片,模型是因为看到了耳朵还是胡须才判定它是猫?
    • LIME / SHAP: 通过微调该样本的特征(如遮住图片的一部分),观察预测结果的变化。
  • 应用场景:
    • 纠错: 为什么机器人把这个具体的线圈认成了障碍物?(可能是因为这根电线反光严重)。
    • 医疗/法律: 为什么这个特定的病人的 X 光片被判定为肺炎?

why do you think this image is a cat?


(2)全局解释 (Global Explanation)

核心问题: “整个模型整体上是如何工作的?它学习到的一般性规律是什么?”

  • 定义: 试图描述模型的完整逻辑、内部结构和普遍规律,而不针对具体样本。
  • 在视觉/CNN 中的体现:
    • 特征可视化(Feature Visualization): 第 5 层卷积核通常在寻找什么样的纹理?(比如它们整体上都在找圆形轮廓)。
    • Probing(探测): 模型是否在中间层普遍学到了“词性”或“物体几何关系”?。
  • 应用场景:
    • 模型验证: 确认模型是否通过“作弊”学习(比如是否只要背景是绿色就预测是树)。
    • 知识发现: 通过观察模型,人类是否能学到新的规律?

what does a “cat” look like?(not referred to a specific image)


(3)区别与联系

核心区别对照表

维度 局部解释 (Local) 全局解释 (Global)
视角 显微镜(Microscopic) 望远镜(Macroscopic)
对象 单个样本、单次决策 整个模型、所有参数、普遍规律
计算量 相对较小(只算一次 Inference) 非常大(通常需要遍历大量数据或分析参数)
忠实度 对单次决策非常忠实 容易过度简化(很难用一句话说清亿级参数的逻辑)

它们之间的联系

  1. 个体与总体的关系: 局部解释是全局逻辑在某个点上的投影。如果你做了足够多的局部解释(如对 1 万张图片做热力图),你就能归纳出全局解释(模型普遍更看重物体的边缘)。
  2. 互补性: 在算法工程中通常需要双管齐下。
    • 通过全局解释确保模型没有系统性偏差。
    • 通过局部解释解决长尾问题(Edge Cases)。

3、参考

  • https://www.youtube.com/watch?v=0ayIPqbdHYQ
Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐