模型无关的局部解释(Local Interpretable Model-Agnostic Explanations,LIME)指使用一个Interpretable Model拟合一个Uninterpretable Model的局部,比如使用Linear Model或者Decision Tree模拟Neural Network。
具体来讲,对于局部范围内的相同输入,我们希望两个模型的输出尽可能接近。这里要重点强调局部范围的概念,因为实际上Linear Model并不能模拟整个Neural Network但却可以模拟其中的一个Local Region,这也是LIME可行的原因。
案例:使用Linear Model拟合Neural Network
-
定位:确定需要解释的data point(下图5个蓝点中最中间的蓝点)
-
取样:在上一步确定的data point周围sample获得更多的data point(下图5个蓝点)
sample的范围需要根据情况调整,一般范围小则拟合得更准确
sample的方法不同,结果也会不同
-
拟合:使用Linear Model模拟上一步确定的data point及其对应的Neural Network输出
-
解释:对Linear Model进行解释,进而解释Neural Network的局部
案例:LIME For Image Classification
如何将LIME应用到Image Classification呢?假设有一张图片被分类为frog,下面只讲一些关键点。
-
如何进行sample?
首先可以将图片分成多个segment:({s_1,s_2,dots,s_n}),随机去除其中的一些segment就可以得到该图片“周围”的一些图片
-
将LIME应用于图片时,一般要进行Feature Extraction,那如何做呢?
使用(x_i)表示图片中的每个segment是否被删除,其中(i=1,...,n),若(x_i)为1则表示该segment被删除,否则表示该segment未被删除
-
如何解释Linear Model?
设Linear Model为(y=w_1x_1+..+w_nx_n),(w_i)的值有以下3种情况
- (w_iapprox 0)表示(s_i)对分类为frog没有影响;
- (w_i> 0)表示(s_i)对分类为frog具有正面影响,即这个segment使得模型倾向于将图片分类为frog
- (w_i<0)表示(s_i)对分类为frog具有负面影响,即这个segment使得模型倾向于认为该图片不是frog类别
Tree Regularization
理论上可以用无深度限制的Decision Tree拟合完整的Neural Network,但Decision Tree的深度不可能没有限制,因此在使用Decision Tree拟合Neural Network时需要对Decision Tree的复杂度进行约束。
设Neural Network的参数为( heta)、Decision Tree的参数为(T_ heta),使用Decision Tree的平均深度表示其参数(T_ heta)的复杂度(O(T_ heta))。在使用Decision Tree拟合Neural Network时,不仅要使两者输出相近还要使(O(T_ heta))最小化,因此优化目标为( heta^*=arg { m min} L( heta) + lambda O(T_ heta))。
因此我们在训练神经网络时就可以使用Tree Regularization使得训练出的神经网络更具有可解释性,(O(T_ heta))不能微分,解决方法详见《Beyond Sparsity: Tree Regularization of Deep Models for Interpretability》。
Github(github.com):@chouxianyu
Github Pages(github.io):@臭咸鱼
知乎(zhihu.com):@臭咸鱼
博客园(cnblogs.com):@臭咸鱼
B站(bilibili.com):@绝版臭咸鱼
微信公众号:@臭咸鱼
转载请注明出处,欢迎讨论和交流!