李宏毅———可解释性ML
可解释性ML:(判别履历;罪犯判刑;银行判断贷款;模型诊断——机器究竟学到了什么)
1.interpretable v.s. powerful
有些模型是自身具有可解释性的,譬如线性模型,我们可以根据权重的大小和正负来判断特征的重要与否,但是,线性模型学习能力不强。
深度学习难于解释,但学习能力很强。
决策树兼容二者,但是当决策树非常复杂时,也难于解释。
2.局部可解释性:为什么图片是猫(哪些部分决定了判断)?
方法:删除或扰动某一个部分,观察对模型决策的影响。
也可能被攻击,加入一些肉眼看不出不同的扰动,改变模型做决策的方式。
3.全局可解释性:在机器心里,猫长什么样子?
譬如数字识别,x = arg max yi ,对于一些随机噪声,可能也会判别为数字,我们需要再loss函数中加入一个限制,使得这张图片首先应该像一个数字,才会去判断属于那一个数字,e.g x = arg max yi + R(x),其中R(x)应该反映x像一个数字的程度。
R(x):1)人为定义;2)通过GAN,VAE...学习一个图片生成器,使用图片生成器生成图片丢入模型中。
4.使用一个模型去解释另一个模型。
有些模型比较容易解释,使用可解释的模型去模拟难解释的模型。
e.g.LIME:使用线性模型模拟复杂模型的某个样本点;
树正则化:在模型的loss函数中加入一个正则,使得模型容易被简单的决策树解释。