本文首发于微信公众号”夕小瑶的卖萌屋“

文 | Sherry
源 | 夕小瑶的卖萌屋

视觉是人和动物最重要的感觉,至少有80%以上的外界信息是经过视觉获得的。我们看论文的时候,通过图表来确定文章的大致内容往往也是一个更高效的 说到深度神经网络的可视化,最经典的莫过于的CNN密恐图了:

这种可视化方法可以让我们清晰的知道每一层的每一个Cell关注何种信息,模型最后是如何逐层迭代处理得到最后的判断。但是对NLP而言,文字并不容易转换成这样直观的视觉表示。对Transformer而言,理解注意力机制是最为关键的一步。比较常见的一种注意力可视化是用灰度图表示不同token之间的注意力权重:

但这种可视化的一大缺点是,每张图只能表示一个注意力头,我们很难获得一个更直接的全局感受。

乔治亚理工最近提出了DODRIO,一种可交互的Attention可视化工具,从句法和寓意层面总结了不同注意力头的信息。Transformer的可解释性终于有救啦?

赶紧试试他们的Demo吧:
https://poloclub.github.io/dodrio/

论文题目:
DODRIO: Exploring Transformer Models with Interactive Visualization

论文链接:
http://arxiv-download.xixiaoyao.cn/pdf/2103.14625.pdf

Github:
https://poloclub.github.io/dodrio/

注意力头概览

在概览图中,我们可以看到不同层的不同注意力头都化身成了大小,深浅不一的圆点。本文计算了几种分数并用颜色、深浅、大小来表示。

第一个是语义得分m:它是从注意力向量和显著性得分的cosine相似度得到。

其中S表示的是每个token对模型最终预测的贡献程度[1], 表示注意力权重。圆点颜色越红,表示这个注意力头对语义的贡献越大。

接着是句法得分n: 我们使用最被关注的源token作为依赖关系预测的目标,对于每个依赖关系,我们计算每个注意力头在所有样例上的平均准确性。最后,将每个头所有依赖关系中的最大值作为他的句法得分。圆点颜色越蓝,表示这个注意力头对句法的贡献越大。

然后是重要性得分c:直接计算当前头的最大注意力权重在所有样例上的平均

圆点颜色越大表示注意力头对最终预测的贡献越高。

句法依赖

除了注意力头概览,本文根据依赖关系也给出了注意力头的分析。

注意力权重可以被看作是模型对词之间依赖关系的预测。切换到句法依赖的可视化之后,鼠标移动到每个token都会高亮跟这个词有关的注意力连接。在展开的依赖关系图上还可以看到指定的关系在不同层的权重会如何变化。

语义关系图

同样,本文也对语义关系进行了可视化。

点击每个概览中的注意力头即可展开在这个位置的注意力表示。颜色依然表示的是每个token的显著性得分。

一些结论

本文的可视化方法再一次验证了一些之前BERT可解释性文章的结论。例如:BERT的中间层更关注句法信息,以及BERT最后1-2层是分类的关键等。

一个有意思的实验是DistillBERT和BERT的可视化比较:

我们知道DistillBERT只用了40%的参数量达到了BERT97%的效果。用Dodrio来比较他们俩会发现什么呢?DistillBERT的所有注意力头大小都差不多,进一步分析发现大多数头的置信度都很接近1。另外,DistillBERT的亮度也更高一些,这表示整体每个头对句法或者语义的关注度都不高。这些发现暗示我们,DistillBERT可能学到了语义和句法之外的信息。

推荐一个可交互的 Attention 可视化工具!我的Transformer可解释性有救啦?相关推荐

  1. 可交互的 Attention 可视化工具!我的Transformer可解释性有救了?

    文 | Sherry 视觉是人和动物最重要的感觉,至少有80%以上的外界信息是经过视觉获得的.我们看论文的时候,通过图表来确定文章的大致内容往往也是一个更高效的 说到深度神经网络的可视化,最经典的莫过 ...

  2. 【NLP】可交互的 Attention 可视化工具!我的Transformer可解释性有救了?

    文 | Sherry 视觉是人和动物最重要的感觉,至少有80%以上的外界信息是经过视觉获得的.我们看论文的时候,通过图表来确定文章的大致内容往往也是一个更高效的 说到深度神经网络的可视化,最经典的莫过 ...

  3. 推荐30款最佳的数据可视化工具

    各个互联网公司通过大量的用户数据.信息进行统计分析,而这些大量繁杂的数据在经过可视化工具处理后,就能以图形化的形式展现在用户面前,清晰直观.随着各种数据的增加,这种可视化工具越来越得到开发者们的欢迎. ...

  4. 如何选择一个合适的大数据可视化工具

    高质量的可视化工具对数据分析是必不可少的.数据可视化工具是一种应用软件,它帮助用户以可视化和图形化的格式显示数据,并提供数据的完整轮廓.饼图.曲线.热图.直方图.雷达/蜘蛛图只是可视化的一小部分,这些 ...

  5. 推荐一个快速证件照换底色的工具超级好用

    推荐一个快速证件照换底色的工具超级好用 www.yzcopen.com/img/idphoto 选择好图片转换 下载无水印照片即可 方便着急和不会ps的朋友 不去摄影棚,不用PS

  6. 推荐一些有趣实用的前端可视化工具库,助力可视化开发

    前言 前端可视化一直是人们常谈到的词,随着SVG,Canvas,WebGL等技术的发展,也涌现了一大批的优秀的可视化库.本文将从中选择一些有趣实用的推荐给大家,工具使用好了,开发效率自然也就提升了. ...

  7. python电脑推荐_6款Python必备的可视化工具推荐

    想像阅读书本一样阅读数据流?这只有在电影中才有可能发生. 在现实世界中,企业必须使用数据可视化工具来读取原始数据的趋势和模式.尽管实际上存在着无数专门用于大数据可视化的工具,且它们都是既开源又专有的, ...

  8. 推荐10个零代码数据可视化工具,请收藏

    什么是数据可视化? 数据可视化是将定量数据转换为图形的艺术,例如图表.图形.表格或信息图表. 数据可视化的目标是为接收者提供全面而易于理解的信息展示,无论是一小部分基本指标,还是需要可视化的大量大数据 ...

  9. python画鱼骨图_程序员高效率实用工具推荐(web开发+爬虫+数据库+可视化工具+……)...

    最近我深深的发现利用好编程实用小工具,代码简直在狂奔,工作效率也在大大提升.那种没有deadline压迫感的得意嘴脸,估计你分分钟想往我脸上扔100个臭鸡蛋-- 为了让大家能像我一样神清气爽,不再成为 ...

最新文章

  1. 这是我见过最全面的Python装饰器详解!没有学不会这种说法
  2. juniper srx解决内网不能telnet公网IP的方法
  3. FileSystemObject (FSO)对象方法总结及应用
  4. 休眠面试问答-最终清单
  5. 【留言板 Message Board】
  6. Java的Interrupt与线程中断
  7. 服务器维修解锁,云服务器解锁
  8. php接收url的json,api-php中url接收的json数据,json_decode为空
  9. html三级下拉栏插件,纯js超酷下拉框插件tastySelect
  10. 指数分布的极大似然估计
  11. 简述et代理换ip软件网络功能。
  12. 一篇文章彻底搞懂海明码
  13. 【面霸系列 - 3】初级java如何挖掘自身的优势
  14. 用MATLAB绘图 等边三角形,信标节点位于等边三角形顶点的MATLAB仿真
  15. mybatis的xmly文件与必依赖
  16. 远程桌面之客户端连接(MAC远程Windows桌面)
  17. 为什么总是黑php,怎么都在黑PHP?
  18. 祝福大家劳动节节日快乐
  19. html css print打印,打印样式
  20. 【Flutter 专题】114 图解自定义 ACEProgressPainter 对比进度图

热门文章

  1. 测试人员要了解的知识
  2. 14.5.5.1 An InnoDB Deadlock Example 一个InnoDB 死锁实例
  3. C#学习记录3上——类的封装,继承,多态
  4. extern关键字讲解
  5. STM32中C语言知识点:初学者必看,老鸟复习(长文总结)
  6. V4L2用户空间和kernel层driver的交互过程
  7. QT —— 应用程序发布
  8. beautifulsoup获取属性_Python爬虫常用模块:BeautifulSoup
  9. recv发送失败 缓冲区太小_从 GFS 失败的架构设计来看一致性的重要性
  10. python n个list如何组成矩阵_通过学习在processing中操作图片,掌握python 列表操作...