文 | 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可能学到了语义和句法之外的信息。

萌屋作者:Sherry

本科毕业于复旦数院,转行NLP目前在加拿大滑铁卢大学读CS PhD。经历了从NOIer到学数学再重回CS的转变,却坚信AI的未来需要更多来数学和自认知科学的理论指导。主要关注问答,信息抽取,以及有关深度模型泛化及鲁棒性相关内容。

作品推荐:

  1. Facebook刷新开放域问答SOTA:模型训模型!Reader当Teacher!

  2. 谷歌、CMU发文:别压榨单模型了!集成+级联上分效率更高!

  3. 无需人工!无需训练!构建知识图谱 BERT一下就行了!

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

 

[1].Visualizing and Understanding Neural Models in NLP (https://www.aclweb.org/anthology/N16-1082.pdf)

[2].DODRIO: Exploring Transformer Models with Interactive Visualization (http://arxiv-download.xixiaoyao.cn/pdf/2103.14625.pdf)

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

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

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

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

    本文首发于微信公众号"夕小瑶的卖萌屋" 文 | Sherry 源 | 夕小瑶的卖萌屋 视觉是人和动物最重要的感觉,至少有80%以上的外界信息是经过视觉获得的.我们看论文的时候,通过 ...

  3. 太厉害了!这应该是目前Redis可视化工具最全的横向评测

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 转自:一入码坑深似海 链接:www.jianshu.com/p/c ...

  4. 太厉害了!目前 Redis 可视化工具最全的横向评测

    转自:一入码坑深似海 链接:www.jianshu.com/p/cb9f4dcb3b92 1. 命令行 不知道大家在日常操作redis时用什么可视化工具呢? 以前总觉得没有什么太好的可视化工具,于是问 ...

  5. 如何选择数据分析可视化工具?Excel, Tableau还是Power BI?

    来源:大数据文摘 本文约3500字,建议阅读5分钟 作为个人或公司,如何选择分析和可视化数据的工具? 正确分析使用数据可能会挖到宝藏.那么,作为个人或公司,如何选择分析和可视化数据的工具? 在本文中, ...

  6. ​Python数据可视化工具怎么选?深度评测5款实用工具

    来源:早起Python 本文约3100字,建议阅读9分钟 本文通过真实绘图,为你深度测评Python五大数据可视化库. [ 导读 ]相信很多读者学习Python就是希望做出各种酷炫的可视化图表,当然你 ...

  7. 最全深度学习训练过程可视化工具(附github源码)

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 Datawhale干货 作者:Edison_G,来源:计算机视觉研究院 编辑丨极市平台 ...

  8. # 可视化工具资源汇总

    下面的资源都是自己曾经接触过的,完全按自己的实际使用情况进行分类.本博文是不断更新完善的. 科学计算语言的扩展图形功能: 这个分类下的都是进行数据处理.科学计算的工具所带有的图形可视化.即在处理数据之 ...

  9. MongoDB的可视化工具

    MongoDB的可视化工具 MongoDB 是一款非常热门的NoSQL,面向文档的数据库管理系统,官方下载地址是:MongoDB,我选择的是 Enterprise Server (MongoDB 3. ...

最新文章

  1. iBatis自动生成的主键 (Oracle,MS Sql Server,MySQL)【转】
  2. (52)系统调用阶段测试——基于 SSDT HOOK 的 FindWindowA 监视器
  3. 前端读者 | 由setTimeout引发的JS引擎运行机制的研究
  4. 一个基于nodejs开发的微服务脚手架应用,架构和CRM WebUI很像
  5. airpods_如何通过AirPods与其他人共享音乐
  6. 参加胶东开发者技术大会有感
  7. 使用Apache Zookeeper进行协调和服务发现
  8. Halcon学习笔记(三)---数据类型
  9. python字符串出栈方法_1.Python实现字符串反转的几种方法
  10. java在控制台打印余弦曲线,java打印正弦曲线示例
  11. Java二维码的制作
  12. vue 同步加载_vue axios同步请求解决方案
  13. 22. DOM 简介
  14. BZOJ5232[Lydsy2017省队十连测] 好题
  15. Mac | M1芯片 JD-GUI 无法打开的问题处理
  16. Python3实现基于百度AI开放平台和图灵机器人API聊天机器人
  17. F-星球大战 几何 割线定理 精度
  18. 叮咚~您的MySQL云备份已上线
  19. 网络安全架构:如何理解P2DR模型
  20. 论文成功写作技巧之行之有效的写作从“结果”开始(下)

热门文章

  1. Elastci LogStash
  2. drop.delete.trauncat的区别
  3. Centos Cacti 0.8.8g
  4. ATS push cache 测试
  5. string::size_type
  6. Linux CPU 信息查看
  7. [Ubuntu]Apt-get命令参数详解
  8. 从资源池和管理的角度理解物理内存
  9. emailjava中怎么校验_Java使用注解实现参数统一校验功能
  10. centos 安装idea 非可视化_太厉害了!目前 Redis 可视化工具最全的横向评测