为何要研究模型可解释性?
一个心理学研究。在斯坦福图书馆排队使用打印机。如果后面的人希望先打印,会有 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 模式是什么样子,进而拟人化展示