【清风拂岗】可解释性网络

何要研究模型可解释性?

一个心理学研究。在斯坦福图书馆排队使用打印机。如果后面的人希望先打印,会有 60%人同意;如果交流时加入一个理由,如赶时间等,会有 90%的人同意。

也就是说,如果在某件事上给出一个理由,无论理由真假,能够很大的提高说服力

主要还是想让研究人员对某个模型看得爽

Local Explanation

  • 模型对一张图像输出为“猫”,给出解释“为什么这张图像是一只猫?”“是图像中的哪些特点使得模型做出最终决断”
  • 输入数据有多个 component,如像素点、token 等,对不同 component 作处理,模型的判断会产生改变,说明该 component 是重要决策点 。可以对输入的所有 component 作遮盖获得模型输出,整理所有的判断准确性,就可以解释模型的重点决策 component
  • 使用梯度。对每个 component,计算对应的 loss 梯度。对 某个 component 加上小的变化,计算 loss 有较大的变化,说明该 component 是重要的。使用 loss 和变化的比值$\frac{\Delta Loss}{\Delta x}$,或者我们直接使用loss 和对应 component 的比值$\frac{\partial loss}{\partial x_n}$作为 component 的重要性。这样对图像每个像素作比值,可以得到该图像的 Saliency Map。Map 中高亮的区域就是机器认为决策重点区域
  • 有很多展示模型解释性的方法:
    • 可视化
    • 探针
    • 等等

Global Explanation

  • 不对模型输入,给出解释“如果判断图像是一只猫”。根据训练好的模型参数分析一只猫长什么样子
  • 主要思想是看模型关注的 pattern 模式是什么样子,进而拟人化展示