【干货】注意力机制(Attention)最新综述论文及相关源码

2018 年 11 月 16 日 GAN生成式对抗网络

来源:专知


【导读】注意力机制(Attention)起源于模仿人类的思维方式,后被广泛应用于机器翻译、情感分类、自动摘要、自动问答等、依存分析等机器学习应用中。我们编辑整理了Arxiv上一篇关于注意力机制在NLP中应用的综述《An Introductory Survey on Attention Mechanisms in NLP Problems》,并提供一些相关的代码链接。


简介


在下图中,左边是传统的Seq2Seq模型(将序列编码,然后解码为序列),可以看出,这是一个传统的基于LSTM模型,在解码器Decoder中,某一时间戳的隐藏状态只依赖于当前时间戳的隐藏状态和上一时间戳的输出。右边是基于Attention的Seq2Seq模型,Decoder的输出还需要依赖于一个上下文特征(c),这个上下文特征是通过Encoder中所有时间戳的隐藏状态的加权平均得到的,加权平均所使用的权值,就是当前时间戳和Encoder中每一时间戳的Attention Score(a)。



Attention的一般形式


下面的公式是Attention的基础形式(Basic Attention),其中u是基于当前任务的匹配特征向量,用于和上下文进行交互。vi是时序中某个时间戳的特征向量,ei是未归一化的Attention Score,ai是归一化的Attention Score,c是基于Attention Score和特征序列v计算出的当前时间戳的上下文特征。 



在大多数情况下,ei可以通过下面几种方法计算:


在实际应用中,除了基础的Attention,Attention还有多种变式,下面我们来介绍一些常见的变式:


变式——Multi-dimensional Attention


对于每个u,Basic Attention对于每个vi都会生成一个Attention Score ai,即每个u会对应一个1-D的Attention Score向量。而Multi-dimensional Attention会产生更高维度的Attention矩阵,旨在获取不同特征空间中的Attention特征,例如2D Attention的一些形式如下:




变式——Hierarchical Attention


一些Attention算法同时考虑不同语义层级之间的Attention,例如下面的模型先后利用词级别和句子级别的Attention来获得更好的特征:


变式——Self Attention


将上面公式中的u替换为上下文序列中的vi,即为Self Attention。在NLP中Self Attention可以获取句子中词之间的一些依存关系。另外在一些任务中,一个词的语义与上下文密切相关,例如在下面两个句子中,bank分别指银行和河岸,要准确判断bank当前的语义,可以通过句子的上下文来判断。

I arrived at the bank after crossing the street. 

I arrived at the bank after crossing the river


变式——Memory-based Attention


Memory-based Attention的形式如下,其中{(ki, vi)}被称作Memory,这里Memory其实是输入的同义词。尤其,当ki和vi相等时,Memory-based Attention和Basic Attention是相同的。    


例如在QA问题中,Memory-based Attention可以通过迭代地更新Memory来将注意力转移到答案所在的位置。


Attention的评价


定量的Attention的评价可以通过intrinsic和extrinsic两种方式。Intrinsic基于标注的Alignment数据进行判断,因此需要大量的人工标注。Extrinsic方式比较简单,即直接比较模型在具体任务上的效果,但extrinsic评价方式的问题在于很难知道效果的提升是否是由Attention机制所带来的。

定量的评价一般通过可视化热力图来实现:


相关Attention代码


  • 《Neural Machine Translation by Jointly Learning to Align and Translate》:https://github.com/tensorflow/nmt

  • 《Hierarchical Attention Networks for Document Classification》:https://github.com/richliao/textClassifier

  • 《Coupled Multi-Layer Attentions for Co-Extraction of Aspect and Opinion Terms》:https://github.com/happywwy/Coupled-Multi-layer-Attentions

  • 《Attention Is All You Need》:https://github.com/Kyubyong/transformer

  • 《End-To-End Memory Networks》:https://github.com/facebook/MemNN



参考资料:

  • 《An Introductory Survey on Attention Mechanisms in NLP Problems》:https://arxiv.org/abs/1811.05544


高质量延伸阅读

☞ OpenPV平台发布在线的ParallelEye视觉任务挑战赛

【学界】第1届“智能车辆中的平行视觉”研讨会成功举行

【学界】生成式对抗网络:从生成数据到创造智能

【学界】OpenPV:中科院研究人员建立开源的平行视觉研究平台

【学界】基于平行视觉的特定场景下行人检测

【学界】ParallelEye:面向交通视觉研究构建的大规模虚拟图像集

【CFP】Virtual Images for Visual Artificial Intelligence

【最详尽的GAN介绍】王飞跃等:生成式对抗网络 GAN 的研究进展与展望

【智能自动化学科前沿讲习班第1期】王飞跃教授:生成式对抗网络GAN的研究进展与展望

【智能自动化学科前沿讲习班第1期】王坤峰副研究员:GAN与平行视觉

【重磅】平行将成为一种常态:从SimGAN获得CVPR 2017最佳论文奖说起

【平行讲坛】平行图像:图像生成的一个新型理论框架

【学界】基于生成对抗网络的低秩图像生成方法

【学界】Ian Goodfellow等人提出对抗重编程,让神经网络执行其他任务

【学界】六种GAN评估指标的综合评估实验,迈向定量评估GAN的重要一步

【资源】T2T:利用StackGAN和ProGAN从文本生成人脸

【学界】 CVPR 2018最佳论文作者亲笔解读:研究视觉任务关联性的Taskonomy

【业界】英特尔OpenVINO™工具包为创新智能视觉提供更多可能

【学界】ECCV 2018: 对抗深度学习: 鱼 (模型准确性) 与熊掌 (模型鲁棒性) 能否兼得 

登录查看更多
11

相关内容

Attention机制最早是在视觉图像领域提出来的,但是真正火起来应该算是google mind团队的这篇论文《Recurrent Models of Visual Attention》[14],他们在RNN模型上使用了attention机制来进行图像分类。随后,Bahdanau等人在论文《Neural Machine Translation by Jointly Learning to Align and Translate》 [1]中,使用类似attention的机制在机器翻译任务上将翻译和对齐同时进行,他们的工作算是是第一个提出attention机制应用到NLP领域中。接着类似的基于attention机制的RNN模型扩展开始应用到各种NLP任务中。最近,如何在CNN中使用attention机制也成为了大家的研究热点。下图表示了attention研究进展的大概趋势。
和积网络综述论文,Sum-product networks: A survey,24页pdf
专知会员服务
23+阅读 · 2020年4月3日
注意力图神经网络的多标签文本分类
专知会员服务
111+阅读 · 2020年3月28日
近期必读的5篇 WSDM 2020【图神经网络(GNN)】相关论文
专知会员服务
56+阅读 · 2020年1月10日
最新《分布式机器学习》论文综述最新DML进展,33页pdf
专知会员服务
118+阅读 · 2019年12月26日
【综述】关键词生成,附10页pdf论文下载
专知会员服务
52+阅读 · 2019年11月20日
注意力机制模型最新综述
专知会员服务
266+阅读 · 2019年10月20日
注意力机制介绍,Attention Mechanism
专知会员服务
168+阅读 · 2019年10月13日
深度学习的下一步:Transformer和注意力机制
云头条
56+阅读 · 2019年9月14日
用Attention玩转CV,一文总览自注意力语义分割进展
Attention!注意力机制模型最新综述
专知
65+阅读 · 2019年4月8日
深度学习中Attention Mechanism详细介绍:原理、分类及应用
深度学习与NLP
10+阅读 · 2019年2月18日
自然语言处理中注意力机制综述
AINLP
27+阅读 · 2019年1月21日
注意力机制(Attention)最新综述论文及相关源码
人工智能学家
30+阅读 · 2018年11月17日
从Seq2seq到Attention模型到Self Attention(二)
量化投资与机器学习
23+阅读 · 2018年10月9日
注意力机制(Attention Mechanism)在自然语言处理中的应用
Talking-Heads Attention
Arxiv
15+阅读 · 2020年3月5日
Area Attention
Arxiv
5+阅读 · 2019年5月23日
Arxiv
6+阅读 · 2019年4月8日
Arxiv
19+阅读 · 2019年4月5日
Arxiv
10+阅读 · 2018年2月4日
Arxiv
27+阅读 · 2017年12月6日
VIP会员
相关VIP内容
和积网络综述论文,Sum-product networks: A survey,24页pdf
专知会员服务
23+阅读 · 2020年4月3日
注意力图神经网络的多标签文本分类
专知会员服务
111+阅读 · 2020年3月28日
近期必读的5篇 WSDM 2020【图神经网络(GNN)】相关论文
专知会员服务
56+阅读 · 2020年1月10日
最新《分布式机器学习》论文综述最新DML进展,33页pdf
专知会员服务
118+阅读 · 2019年12月26日
【综述】关键词生成,附10页pdf论文下载
专知会员服务
52+阅读 · 2019年11月20日
注意力机制模型最新综述
专知会员服务
266+阅读 · 2019年10月20日
注意力机制介绍,Attention Mechanism
专知会员服务
168+阅读 · 2019年10月13日
相关资讯
深度学习的下一步:Transformer和注意力机制
云头条
56+阅读 · 2019年9月14日
用Attention玩转CV,一文总览自注意力语义分割进展
Attention!注意力机制模型最新综述
专知
65+阅读 · 2019年4月8日
深度学习中Attention Mechanism详细介绍:原理、分类及应用
深度学习与NLP
10+阅读 · 2019年2月18日
自然语言处理中注意力机制综述
AINLP
27+阅读 · 2019年1月21日
注意力机制(Attention)最新综述论文及相关源码
人工智能学家
30+阅读 · 2018年11月17日
从Seq2seq到Attention模型到Self Attention(二)
量化投资与机器学习
23+阅读 · 2018年10月9日
注意力机制(Attention Mechanism)在自然语言处理中的应用
相关论文
Talking-Heads Attention
Arxiv
15+阅读 · 2020年3月5日
Area Attention
Arxiv
5+阅读 · 2019年5月23日
Arxiv
6+阅读 · 2019年4月8日
Arxiv
19+阅读 · 2019年4月5日
Arxiv
10+阅读 · 2018年2月4日
Arxiv
27+阅读 · 2017年12月6日
Top
微信扫码咨询专知VIP会员