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

文 | 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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ImportError: libSM.so.6: cannot open shared object file: No such file or dir

ImportError: libSM.so.6: cannot open shared object file: No such file or dir 出现错误: ImportError: libSM.so.6: cannot open shared object file: No such file or dir 解决方法: apt-get install libsm6如果你出现了上面的错误,那…

LeetCode 347. 前 K 个高频元素(哈希/优先队列)

文章目录1. 题目2. 解题2.1 哈希2.2 优先队列1. 题目 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2]示例 2: 输入: nums [1], k 1 输出: [1] 说明: 你可以假设给定的 k 总是合理的&…

Lego-美团接口自动化测试实践

一、概述 1.1 接口自动化概述 众所周知,接口自动化测试有着如下特点: 低投入,高产出。比较容易实现自动化。和UI自动化测试相比更加稳定。如何做好一个接口自动化测试项目呢? 我认为,一个“好的”自动化测试项目&#…

小程序调试技术详解(基于小猴小程序)

本篇文章主要围绕小猴小程序调试技术第三版进行展开。 在上一篇导读文章中提到,小猴小程序的调试部分从无到有一共经历了3个版本。本篇文章会详细描述面向开发者的调试功能是如何实现的。 文章将会描述以下部分: 调试实现的基本通信关系结构。如何实现…

论文浅尝 - CIKM2020 | 用于推荐系统的多模态知识图谱

论文笔记整理:王琰,东南大学硕士。来源:CIKM 2020链接:https://doi.org/10.1145/3340531.3411947研究背景与任务描述为了解决推荐系统中的数据稀疏和冷启动问题,研究人员通过利用有价值的外部知识作为辅助信息&#xf…

FedNLP: 首个联邦学习赋能NLP的开源框架,NLP迈向分布式新时代

文 | 阿毅两周前,南加大Yuchen Lin(PhD student USC and ex-research intern GoogleAI)所在的团队在Twitter官宣开源首个以研究为导向的联邦学习赋能NLP的FedNLP框架。发布数小时内就获得了647个赞,163次转发,可见其热度。我相信大…

LeetCode 380. 常数时间插入、删除和获取随机元素(哈希+vector)

1. 题目 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构。 insert(val):当元素 val 不存在时,向集合中插入该项。 remove(val):元素 val 存在时,从集合中移除该项。 getRandom:随机返回现…

论文浅尝 - ICLR2020 | 知识图谱中数值规则的可微学习

论文笔记整理:许泽众,浙江大学博士研究生。研究方向:知识图谱,规则挖掘等。论文链接:https://openreview.net/pdf?idrJleKgrKwS本文解决的是规则的学习问题,学习出来的规则可用于知识推理任务,…

2021大厂面试高频100题最新汇总(附答案详解)

昨天在知乎上刷到一个热门问题:程序员需要达到什么水平才能顺利拿到 20k 无压力?其中一个最热门的回答是:“其实,无论你是前端还是后端、想进大厂还是拿高薪,算法都一定很重要。”为什么,算法会如此重要?不…

LeetCode 33. 搜索旋转排序数组(二分查找)

1. 题目 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数…

论文浅尝 - EMNLP2020 | 低资源跨语言实体链接中的设计挑战

论文笔记整理:谭亦鸣,东南大学博士。来源:EMNLP 2020链接:https://arxiv.org/pdf/2005.00692.pdf1.背景介绍跨语言实体链接(XEL)旨在将任一非英语文本中的实体提及匹配到英语知识库上(例如Wikip…

MSON,让JSON序列化更快

问题 我们经常需要在主线程中读取一些配置文件或者缓存数据,最常用的结构化存储数据的方式就是将对象序列化为JSON字符串保存起来,这种方式特别简单而且可以和SharedPrefrence配合使用,因此应用广泛。但是目前用到的Gson在序列化JSON时很慢&a…

屠榜各大CV任务!「百度顶会论文复现营」携Swin Transformer来袭!

目标检测刷到58.7 AP!实例分割刷到51.1 Mask AP!!语义分割在ADE20K上刷到53.5 mIoU!!!......Swin Transformer持续屠榜各大CV任务,并且均名列前茅!通过分层体系结构,带来…

百度任务型对话系统小记

意图扩展阅读: 古月哲亭: AAAI 2021 | 清华提出深度对齐聚类用于新意图发现:https://mp.weixin.qq.com/s/9dNs8TTERPdxmrVc3tF1zw 相关项目地址:https://github.com/thuiar/OKD-Reading-List 古月哲亭: 意图知识图谱的构建与应用&#xff1a…

论文浅尝 - EMNLP2020 | 跨媒体关键词预测: 多模态多头注意力和图像文本的统一框架...

论文笔记整理:柏超宇,东南大学硕士。文章链接:https://arxiv.org/pdf/2011.01565.pdf来源:EMNLP 2020动机社交媒体每天都会产生大量的内容。为了帮助用户快速捕捉所需内容,关键词预测受到越来越多的关注。尽管如此&…

从实际案例聊聊Java应用的GC优化

当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度…

LeetCode 162. 寻找峰值(二分查找)

1. 题目 峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] n…

谷歌:CNN击败Transformer,有望成为预训练界新霸主!LeCun却沉默了...

文 | ????????????????这几年,大家都说深度学习进入了预训练时代。作为一个入行不久的小白,我一直以为各类基于 Transformers 结构的预训练模型是 NLP 的巨大里程碑,CNN、RNN 老矣,只配作为手下败将。大家的文章似…

新词发现简介

原文链接:https://blog.csdn.net/weixin_43378396/article/details/103848628 新词发现是 NLP 的基础任务之一,通过对已有语料进行挖掘,从中识别出新词。新词发现也可称为未登录词识别,严格来讲,新词是指随时代发展而新…