引言
本文首先讨论了使用注意力的关键神经网络体系结构;接着讨论了在神经网络中加入注意力是如何带来显著的性能提高的,通过Attention的可解释性,对神经网络内部工作的有了更深入的了解;最后讨论了三个应用领域的注意建模的应用。
资料整理不易,请帮作者点个在看吧,蟹蟹~~
attention综述文章回复:AMZS
正文开始
1
First Blood
Attention在神经网络结构中的应用
下面将介绍三种与注意力机制结合使用的神经网络结构:
(1)编码器-解码器框架
(2)将注意力机制扩展到单个输入序列之外的存储网络
(3)利用注意力机制绕过递归模型的序列处理。
(1)Attention在编解码器框架下的使用
最早的注意力机制作为基于RNN的编码器-解码器框架的一部分来编码长输入语句。在此以后,这种体系结构得到了最广泛的应用。在解码之前,AM可以接受任何输入表示并将其处理成单个固定长度的上下文向量。因此,它可以将输入表示与输出表示分离。人们可以利用这一优势引入混合编码器-解码器,最流行的是卷积神经网络(CNN)作为编码器,RNN或长短期存储器(LSTM)作为解码器。这种体系结构特别适用于许多多模式任务,如图像和视频字幕、可视问答和语音识别。
然而采用上述方式并不能解决所有的问题(例如排序或旅行推销员问题),因为并非所有输入和输出都是连续数据。指针网络就是一类具有输入输出两个差异的神经模型,(1)输出是离散的,指向输入序列中的位置(因此称为指针网络),(2)输出的每一步目标类的数量取决于输入的长度(因此变量)。这不能通过使用传统的编码器-解码器框架来实现,因为输出字典是先验的(例如,在自然语言建模的情况下)。作者利用注意力机制权值来模拟在每个输出位置选择第i个输入符号作为所选符号的概率。该方法可应用于离散优化问题,如旅行售货员问题和排序问题。
(2)Attention在内存网络中的应用
像问答和聊天机器人这样的应用程序需要利用知识库中的信息进行学习。网络的输入是一个请求以及与请求相关的知识。端到端内存网络使用一组内存块存储知识,当使用attention回复查询请求时,在内存中会为每个知识建立关联模型。通过目标连续、反向传播的进行端到端的训练,attention还具有计算优势。端到端内存网络可以看作是AM的一种泛化,它不是只在单个序列上建模注意力,而是在一个包含大量序列(事实)的知识库上建模注意力机制。
(3)Attention绕过递归顺序处理
递归结构依赖于编码阶段对输入顺序的处理,此时处理不能并行化,这会导致计算效率低下。为了解决这个问题,作者[1]提出了一种Transformer结构,其中编码器和解码器由两个子层相同的堆栈组成:位置定向前馈网络(FFN)层和多头自注意层。
位置定向前馈网络FFN:输入是顺序的,要求模型利用输入时间方面的信息,而不使用捕捉该位置信息的组件(即RNNs/CNNs)。为了解释这一点,在Transformer编码器阶段,使用按位置的FFN为输入序列的每个令牌生成内容嵌入与位置编码。
多头自注意力:在每一子层中使用自注意来关联标记其在同一输入序列中的位置。由于多个注意层是平行叠加的,对相同的输入进行不同的线性变换,所以我们称之为多头注意。这有助于模型捕获输入的各个方面,并提高其性能。
Transformer结构实现了并行处理,训练时间短,翻译精度高,无需任何重复的组件,具有显著的优势。然而,位置编码包含的位置信息较少,可能不适用于对位置变化更敏感的问题。
此外,还有一些更直接的方法可以中断输入处理顺序。Raffel和Ellis[2]提出的前馈注意力模型,他们使用AM来折叠数据的时间维度,使用FFNs而不是RNNs来解决顺序数据问题。在这个场景中,AM被用来从可变长度的输入序列中产生一个固定长度的上下文向量,这个向量可以作为FFN的输入。
参考文献:
[1] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In NIPS, pages 5998–6008, 2017.
[2] Colin Raffel and Daniel PW Ellis. Feed-forward networks with attention can solve some long-term memory problems. arXiv preprint arXiv:1512.08756, 2015.
Attention的可解释性
受到模型的性能以及透明度和公平性的推动,人工智能模型的可解释性引起了人们的极大兴趣。然而,神经网络,特别是深度学习架构因其缺乏可解释性而受到广泛的吐槽。
从可解释性的角度来看,建模注意力机制特别有用,因为它允许我们直接检查深度学习架构的内部工作。假设注意力权重的重要性与序列中每个位置的输出的预测和输入的特定区域的相关程度高度相关。这可以通过可视化一组输入和输出对的注意权重来轻松实现。Li等人[1]坚持把注意力作为解释神经模型内部工作的重要途径之一。
如图4(a)所示,Bahdanau等[2],尽管主谓名词的位置因语言而异,但在法语和英语中,视觉化的注意权重清楚地显示句子的自动对齐。特别地,注意模型通过将 environnement marin 与 marin environnement 正确地对齐来显示非单调对齐。图4(b)显示注意权重有助于识别用户的兴趣。用户1似乎更喜欢“卡通”视频,而用户2更喜欢“动物”视频[3]。最后,徐等人[4]提供对图像字幕任务中生成的文本有显著影响的相关图像区域(即高度关注权重)的大量可视化列表(如图4(c)所示)。
参考文献:
[1] Jiwei Li, Will Monroe, and Dan Jurafsky. Understanding neural networks through representation erasure. arXiv preprint arXiv:1612.08220, 2016.
[2] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473, 2014.
[3] Xiangnan He, Zhankui He, Jingkuan Song, Zhenguang Liu, YuGang Jiang, and Tat-Seng Chua. Nais: Neural attentive item similarity model for recommendation. IEEE TKDE, 30(12):2354– 2366, 2018.
[4] Kelvin Xu, Jimmy Ba, Ryan Kiros, Kyunghyun Cho, Aaron Courville, Ruslan Salakhudinov, Rich Zemel, and Yoshua Bengio. Show, attend and tell: Neural image caption generation with visual attention. In ICML, pages 2048–2057, 2015.
Attention的应用
注意力模型由于其直观性、通用性和可解释性,已成为研究的一个活跃领域。注意力模型的变体已经被用来处理不同应用领域的独特特征,如总结、阅读理解、语言建模、解析等。这里主要讨论三个应用领域的注意建模:(i)自然语言生成(NLG),(ii)分类和(iii)推荐系统 NLG:NLG任务包括生成自然语言文本作为输出。一些NLG应用程序从合并AM中受益,包括机器翻译(MT)、问答(QA)和多媒体描述(MD)。
MT:机器翻译使用算法将文本或语音从一种语言翻译到另一种语言。针对机器翻译的神经技术中的注意力建模可以更好地对齐不同语言中的句子,这是机器翻译中的一个关键问题。在翻译较长的句子时,注意力模型的优势也变得更加明显[1],使用注意力可以改善机器翻译的性能。
QA:问答利用注意力(i)通过关注问题的相关部分来更好地理解问题;(ii)使用内存网络存储大量信息以帮助找到答案;(iii)通过使用共同注意对输入中的多模态进行建模,提高视觉质量保证任务的性能。
MD:多媒体描述是生成多媒体输入序列的自然语言文本描述的任务,可以是演讲、图像和视频。与QA类似,这里attention在语音输入或图像输入的相关部分中查找相关声学信号,以预测标题中的下一个单词。此外,Li等人[1]利用视频的时空结构,将多层次注意力用于视频字幕任务。较低的抽象层在一个框架内提取特定的区域,较高的抽象层有选择地集中在框架的小子集上。
文本分类:主要是使用 self-attention 来构建更有效的文档表示。Keila等人[2]提出一个多表征的自我注意模型。
情感分析:在情绪分析任务中,self-attention 有助于关注对确定输入情绪很重要的词;Ma等人[3]将相关概念的额外知识纳入模型,并将注意力用于适当权衡内容本身之间的关系。
推荐系统:将注意力权重分配给用户的交互项目以更有效的方式捕获长期和短期利益。例如以更有效的方式将注意力权重分配给用户的交互项目,以获取长期和短期兴趣。这只是直观的,因为用户的所有交互都与项目的推荐无关,用户的兴趣是短暂的,并且在长时间和短时间内都会发生变化。多篇论文使用自我关注机制来寻找用户历史上最相关的条目,以改进条目推荐,或者使用协作过滤框架[4],或者在用于顺序推荐的编码器架构内[5]。
近年来,人们的注意力以新颖的方式被利用,为研究开辟了新的途径。一些有趣的方向包括更平滑地整合外部知识库、训练前嵌入和多任务学习、无监督的代表性学习、稀疏性学习和原型学习,即样本选择。
参考文献:
[1] Xuelong Li, Bin Zhao, Xiaoqiang Lu, et al. Mam-rnn: Multi-level attention model based rnn for video captioning. In IJCAI, pages 2208–2214, 2017.
[2] Douwe Kiela, Changhan Wang, and Kyunghyun Cho. Dynamic meta-embeddings for improved sentence representations. In EMNLP, pages 1466–1477, 2018.
[3] Yukun Ma, Haiyun Peng, and Erik Cambria. Targeted aspect-based sentiment analysis via embedding commonsense knowledge into an attentive lstm. In AAAI, 2018.
[4] Min Yang Baocheng Li Qiang Qu Jialie Shen Shuai Yu, Yongbo Wang. Nairs: A neural attentive interpretable recommendation system. The Web Conference(WWW), 2019.
[5] Chang Zhou, Jinze Bai, Junshuai Song, Xiaofei Liu, Zhengchao Zhao, Xiusi Chen, and Jun Gao. Atrank: An attention-based user behavior modeling framework for recommendation. In AAAI, 2018.