整理一下阅读的关于transformer的应用相关的论文,这是第一篇。这篇论文直接利用了Transformer的结构并且做了相应的改进,主要创新点在于使用了胶囊神经网络以及引入了一些门控机制,解决的主要问题是Transformer只能表示词级别的信息表示(论文里面说的是局部表示),但是不管是翻译问题还是摘要问题等这些自然语言生成问题中生成的内容都是用句子来表示具体的含义,所以希望模型可以表示句子级别(文中说的全局信息)的表示。具体的内容看下面的内容。
本文论文链接:GRET: Global Representation Enhanced Transformer
胶囊网络是18年提出来的,最初也是用于图像处理领域的,它的工作原理我还尚不清楚,下面给出胶囊网络原文论文,感兴趣的可以先去了解一下。胶囊网络:Dynamic Routing Between Capsules
目录
摘要
Transformer是一种基于encoder-decoder的结构,它在很多自然语言生成任务上都取得了SOTA的效果。encoder将inputs句子中的单词映射到一个隐藏状态(hidden states)序列,这个隐藏状态序列然后被放进decoder用来生成输出句子。这些隐藏状态反应了输入单词并且专注于捕捉局部信息。然而,全局(句子级别)的信息几乎被忽略了,给提高生成质量提供了空间。(本文主要创新点就在于捕获句子的全局信息)。在本文中,我们提出了一个全新的全局表示增强Transformer(GRET),用Transformer网络构建一个具体的全局表示模型。具体地,在提出的模型中,从编码器生成用于全局表示的外部状态。全局表示然后被投入decoder中用于解码过程,来提高生成质量。本文在两个生成任务上进行了实验:机器翻译和文本摘要。实验结果在四个WMT机器翻译任务和LCSTS数据集上的文本摘要任务证明了本文提出的方法在自然语言生成上的有效性。
1 简介
Transformer在机器翻译,文本摘要等自然语言生成任务上其他方法更有效。通常来说Transformer是基于encoder-decoder结构,包含了两部分:一个encoder网络和一个decoder网络。encoder将输入序列编码成隐藏状态序列,每个隐藏状态对应了句子中一个特定的单词。decoder逐个单词的产生输出。在解码的每个时间步中,解码器进行注意力读取以获得输入隐藏状态并且决定应该生成哪个单词。
正如上面所提到的,解码过程中Transformer只依赖于隐藏状态的表示。然而,有研究表明Transformer的encoder的隐藏状态只获取了局部表示,仅仅关注于单词级别的信息。之前的一些工作(不详细列举了)显示了Transformer的encoder生成的隐藏状态更多的关注了单词到单词的映射关系,注意力机制的权重确定了哪个单词将会被产生,这类似于单词对齐。
正如Frazier指出的,全局信息,表示的是整个句子的信息而不是单独单词的信息,在生成一个句子的时候也应该作为一种重要因素被考虑进去。在自然语言生成任务上,这种全局表示扮演了重要的角色。基于RNN的模型在文本摘要任务上显示了引入全局信息的表示可以提高生成质量并且减少重复。之前也有一些相关工作表明了全局信息在目前的神经网络模型中的有效性。然而,相比于RNN和CNN来说,自注意力机制可以获得更长程的依赖,目前在Transformer中没有明确的机制显示出它可以整个句子的信息。因此,为Transformer提供这种全局表示是一个有吸引力的挑战。
在本文中,我们将这个挑战划分成了两个问题:1)如何对全局上下文信息进行编码;2)如何在生成的过程中使用全局信息。本文提出了GRET模型来解决这两个问题。对于第一个问题,我们建议在编码阶段通过两种互补方法基于局部单词级别表示生成全局表示。一方面来说,我们采用一个调整过的胶囊网络,基于从局部单词级别的表示中提取的特征来生成全局表示。局部表示通常和词到词的映射相关,这通常是多余或者有噪声的。直接用它们生成全局表示。而没有任何过滤是不可取的。胶囊网络,有很强的特征提取能力,可以从局部表示中提取更多合适的特征。相比于其他网络比如CNN来说,胶囊网络可以同时感知所有的局部信息,然后经过多次审议之后提取特征向量。
在另一方面,我们提出了一个layer-wise的循环结构进一步增强全局表示。之前的工作显示出每一层有不同方面的信息表示,比如,下层包含更多语法信息,而更高的层包含更多的语义信息。完整的全局上下文应具有信息的不同方面。 但是,由胶囊网络生成的全局表示仅获得层内信息。 所提出的逐层递归结构是