以分类问题举例。将一张图片分类为猫。
局部可解释性:为什么这是一只猫
全局可解释性:一只猫长什么样
为什么要可解释:对于分类问题,我们在某些情况下给出分类的依据。(神马汉斯?)
具有可解释性,帮助我们提高模型的性能。
李宏毅对可解释性的观点:机器学习可解释性不等于完全理解模型,只要使得人满意。不同的任务给予不同的解释内容。目标——》去黑暗下找车钥匙。
局部可解释性方法:1.遮挡输入的每一个组成成分,观察结果。2.对输入的每一个成分添加扰动,观察结果。扰动影响可以使用y对x的偏微分计算。3.对于某些输入的成分,虽然它的偏微分小,但是对结果的判断确实有很大作用,这类可解释性需要新的方法。
举例:模型对图片分类,两类图片分别是png和jpg,利用saliency map可以解释分类正确的原因。
全局可解释性方法:激活值最大化。指定一个分类的输出结果,找到得到该分类结果最大值的输入,这个数据就是模型F所希望的最佳输入。通常需要一个正则项来保证输入是一个正常的图像。
除了一般正则项,可以利用卷积神经网络G作为正则项。一个向量z输入生成网络G,得到输入图像X,将X再输入分类器F,得到分类结果Y。通过最大化Y,找到对应的z。z输入到G中得到分类器F认为的理想的图像X。这里的分类器F在训练中固定不变,因为我们的目的是解释它。
利用可解释的模型去解释不可解释的模型。例如使用一个线性模型去模拟一个神经网络,我们只解释线性模型即可。然而,线性模型是不能模拟神经网络,正因为如此,所以我们才使用神经网络。所以考虑用一个可解释模型去模拟部分的神经网络,来解释不可解释的模型。使用lime模型(local interpretable model-agnostic explanations),但是会受到采样点的选取结果影响。
利用LIME解释图像分类问题。1.将一个图像分割成M个不同的区域,将部分区域覆盖后输入网络,记录输出的分数。2.将分割的图像编码成M长度的向量,编码规则为:不覆盖的区域为1,覆盖的区域为0。3.将编码后的向量用线性模型模拟1步骤中的输出结果。4.查看线性模型的权重,权重较大的代表该区域m更影响输出结果。
利用决策树解释神经网络。决策树有很好的拟合数据的能力,但是想要达到和神经网络同样的拟合数据的效果,意味着这棵决策树会很深。这就会导致很难去解释,因此我们希望用一个尽可能最浅的决策树来拟合神经网络的输出。解决方案:在训练的时候就考虑转化为决策树后的大小。构造新的损失函数loss+O(T),O(T)代表树的平均深度。但是我们在训练神经网络的时候使用梯度下降法,树的平均深度是无法做偏微分的。解决方案:训练一个神经网络,它的输入是网络的参数,输出是其转化为树结构后的平均深度。这个新的网络不需要很复杂,知识在训练这个网络所需要的数据需要自己制作,比较麻烦。