ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【李宏毅2020 ML/DL】P34 More about explainable AI | Attribution, Heatmap, explainable model

2021-06-22 17:01:37  阅读:445  来源: 互联网

标签:map DL attribution baseline BERT What Attribution explainable model


我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-notes

本节内容综述
  1. 助教讲解,日期为4月6日,主讲人杨书文。
  2. 首先将背景,对之前内容复习。
  3. 第一部分,Attribution,首先是What and why attribution?
  4. 上节课老师讲过,Local gradient-based,存在一些局限性(如大象鼻子的例子)。在肉眼无法看出来的情况,加一些noise,会影响结果。因此引出SmoothGrad解决Noisy gradient,考虑到了增加噪音来训练。
  5. 接着,引出Global attribution来解决Saturation问题。介绍了Layer-wise relevance propagation(LRP)方法。
  6. 接着,进行Completeness的讨论。衡量变量变化的影响。考虑到了比如DeepLIFT和Integrated gradient方法。
  7. 进行了一个小结,见 Take-away message。现在做 attribution method 很多方法,可能画出来的图很好看,但是未必有意义。后来,有人提出 Sensitivity-n 来衡量你的方法好不好。还提及了 Occlusion-1 。
  8. 接下来进入 Probing 部分。先介绍了 BERT 的结构,作为背景知识。BERT的每一层做了不同的事;此外,研究者发现BERT可能有理解不到的东西。
  9. Heatmap部分。
  10. 最后的部分,讲解Create an explainable model。

 

文章目录

 

小细节

What and why attribution?

What:

  • importance assignment for each input
  • How each INPUT influences OUTPUT in an end-to-end fashion

Why:

  • Know how model utilizes input to produce output
  • Useful for both customers and researchers

SmoothGrad

M ^ c ( x ) = 1 n ∑ 1 n M c ( x + N ( 0 , σ 2 ) ) \hat{M}_c(x) = \frac{1}{n}\sum_{1}^nM_c (x+\mathcal{N}(0, \sigma^2)) M^c​(x)=n1​1∑n​Mc​(x+N(0,σ2))


如上,在训练与计算时加一些噪声。

Global attribution


如上,对于一个局部的视野来讲, x 1 x_1 x1​的灵敏度是巨大的,为100, x 2 x_2 x2​则为10,引出其关注的是"Future Sensitivity";但是对于全局视野来讲,我计算的是每个变量起了多少作用,比如 x 1 x_1 x1​起了作用 100 × 1 100 \times 1 100×1,而 x 2 x_2 x2​起的作用是 10 × 20 = 200 10 \times 20 = 200 10×20=200,引出全局视野关注的是"Current Contribution"。


因此,Global attribution的精神就是:attributions sum up to output.

比如我们输入了五个像素,如上图,最后得到的输出对应300。那我们希望这五个像素乘上五个权重,其结果也是300。

如何做到?

Layer-wise relevance propagation(LRP)



如上:

  • 首先要Calculate contributions,将300“分下去”;
  • 接下来在往下分下去,Redistribute the output;
  • Backward propagation until reaching input。

Completeness


如上,每个点代表一张图片,其分数为这张图片对应的输出。

如上,有 baseline 与无baseline中,我们发现 x 1 x_1 x1​与 x 2 x_2 x2​二者贡献比例都很像。

Flexible baseline: DeepLIFT


如上,下面为输入了一张新图片,可以通过同类相减查看 baseline 。

Flexible baseline: Integrated gradient


如上,对于两张图(0, 0)与(2, 2),我们在其中间取几个路径上的点,然后得到其对应的输出。最后依公式算出 baseline 。

Take-away message

Sensitivity-n


如上,选一些输入 mask 掉,然后看分数差异。



如上,mask 掉不同数量的像素后,查看与原输出的大小比较。

发现很多例子中,都远远比不上 Occlusion-1 (红色虚线)。

Occlusion-1 / Leave one out


Occlusion-1 基本类似于 Sensitivity-1 。

Probing

我们知道,BERT先训练好知识存在自己的层种,之后于具体任务结合,会获得很好的结果。

但是 BERT 内究竟发生了什么?我们将尝试解决。


如上,这篇文章做了不少的 Probing tasks ,用了一个简单的 trick ,叫做 Edge probing technique 。

可以是把各层都拉出来,做词性标注的分类任务。此外,还做了 weight sum ,查看词性在那一层发生了作用。

还做了 Cumulative score ,比如先给你4层,看效果,再多一层,一共5层,看效果。


论文的图标如图。

What does BERT might not learn?


如上,人眼在看句子时,要进行句子切割。BERT有学习到么?

Unsupervised constituency parsing


如图,找哪两个相邻的单词最不像,然后“切一刀”,把两个句子分开。


但是如上,因为考虑到英文倾向于在右边切割,因此对每个单词,加上一个数值,进行“纠正”,越左边值越大。其分割效果可能会截然不同。


如图,无论有没有加这个 bias ,其结果都比不上专门进行分割的模型。因此,我们可以假设,BERT可能没有学到这个性质。

What is a good prob?

  • Linear classifier?
    • Not all information can be linear separable
  • Multi-layer perceptrons?
    • How may layers? 1, or 2 may be enough?
    • Maybe it is just probing model that learns the downstream task!

一个坏的 prob ,可能记忆能力很强,只不过是记下来了所有的映射,导致效果很好。

Heatmap

Activation map: CNN dissection

Does activation map reflect some semantic concepts?

Concepts: objects, parts, scenes, textures, materials, and colors.

Dataset: Broden(released)

  • Concept labels at PIXEL level
  • CNN trained on large categorical classification dataset(eg Imagenet)
  • Evaluate using Broden dataset

这个研究把图片的内容用黄色的线画出了边界。

评价指标为,每个像素为一个逻辑单位,总分数为并集分之交集。


最后观察到,浅层的卷积层,观察的主要是颜色、质地等等;深层的卷积层,观察到的更多的是图形的边界等等。

Attention map as explanation


Attention分数与所需的分数是否相关?



发现,在这种指标下,attention难以解释的。

这篇文章叫做 《attention is not explanation》,而之后,也有人写了文章叫做《attention is not not explanation》。


发现,基于 attention 的encoder确实有用,保留这个embedding,用别的模型,也能取得不错的效果。

Create an explainable model

Some difficulties in explaining CNN

  • Activation map is complicated in final layers
    • We only know they represent higher level semantics
    • Combination of low level activations
  • Visualize a category meaningfully is not easy
    • There are nonsense images which still be classified as the specific category

Constraining activation map

在训练阶段,就试图限制 activation map 。

做出来,则可以直接生成 activation map ,对应到图片的位置。

Encoding prior

模型并不知道,什么是一张“好图片”,只知道输入输出。




如上,Classifier不但可以分类,还可以判断是否是一张图片。


如上,在Forward时,是一个分类器;如果Backward就变成了类似GAN的东西。

Adversarial training for encoding prior


训练一个鲁棒的分类器,然后进行Backward,就可以生成一张图片。

 

标签:map,DL,attribution,baseline,BERT,What,Attribution,explainable,model
来源: https://blog.51cto.com/u_15279775/2938547

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有