transformer论文_Transformer相关论文阅读笔记

这篇博客记录了作者在暑期文献打卡活动中关于Transformer模型的论文阅读笔记,涉及R-Transformer如何结合RNN和Transformer解决位置编码问题,Transformer注意力结构的分析,层次化注意力的应用,以及Transformer在机器翻译中编码器表示的研究和长序列生成方法。
摘要由CSDN通过智能技术生成

最近在使用Transformer模型跑任务,正好加入了同学组织的一个暑期文献打卡群,于是决定假期每天读一篇文献,主要关于近两年对于Transformer模型应用的论文。阅读论文的笔记分享给大家~

7月18日

R-transformer : Recurrent neural network enhanced transformer

R-Transformer: Recurrent Neural Network Enhanced Transformer​arxiv.org

主要综合了RNN和Transformer两种模型的优点,提出了R-transformer

Transformer虽然在很多模型上表现出了很好的效果,但目前有两个比较致命的问题:

  • 第一是对于位置的编码,虽然transformer引入了Position embedding,但是其效果并不好。并且对于具体的任务还需要设计具体的位置编码方式;
  • 第二是多头注意力机制忽略了很多局部的特征

而RNN主要的问题是难以处理长距离依赖关系和难以实现并行

改进方法是:

将transformer的position embedding替换成局部的RNN,文章中称其为LocalRNN。具体来讲就是对一个序列,在每个位置的一个固定大小窗口范围内跑一个LocalRNN,将其局部的特征也表示到向量中,然后再按照transformer那样进行全局的多头attention和FeedForword

052b752fea8d22098fe407e98d29a4f3.png

f80c93d9719f8ba8947d957cf6e6e283.png

这个模型实际借鉴了TCN模型和标准transformer模型的思想。R-transformer借鉴了TCN层次化的思想,但在局部特征的提取方式上,TCN使用的是卷积核,而该模型使用了LocalRNN,这样可以更好地将位置信息进行提取。

通过以上改进,模型可以通过LocalRNN提取局部特征,弥补标准transformer在这方面的不足,同时在整体框架上依旧保持着transformer模型可并行的特点。


7月19日

Analyzing the structure of attention in a transformer language model

Analyzing the Structure of Attention in a Transformer Language Model​arxiv.org

主要介绍了对于transformer attention可视化的方式。

文章介绍了从attention-head,model,neuron三个层面的可视化,可以从中看出query和key之间的attention关系。之后文章还介绍了对于依赖关系和attention距离的一些可视化。

这篇文章偏工程性,所以好像没有太多可以讲的,后面就看代码去了


7月20日

Hierarchical Attention: What really counts in various NLP task

Hierarchical Attention: What Really Counts in Various NLP Tasks​arxiv.org

主要介绍了一种算层次化attention的方法,对于Vanilla Attention,计算query和所有keys的attention值,然后再对所有attention进行加权得到最终的attention。

9f37de413d470e46487c7ecf6d75fbb5.png

对于self-attention,则先计算d次self-attention,然后再对这d次加权得到最终的attention。

6e230c5b1849e092f56b979962c9cfb9.png

通过数学证明可知这种方法好于前面两种经典的attention机制,具体证明过程就省去了,可以看原论文的Section 4


7月21日

An analysis of Encoder Representations in Transformer-Based Machine Translation

https://www.aclweb.org/anthology/W18-5431​www.aclweb.org

主要研究了transformer中,模型表示的含义

在transformer模型中,有三种attention,分别为:

(1)encoder的self-attention,其中每一个位置都能attend到前一层的所有位置

(2)encoder-decoder的attention,其中decoder的每一个位置都能attend到上一encoder层的所有位置

(3)decoder的self-attention,其中每一个decoder的位置都能attend到之前的所有位置

作者通过以下几个实验研究了encoder的表示质量:

  • 首先通过对于encoder权重的热感图来研究语言模式
  • 其次通过从multi-head attention中提取的softmax权重来构建一棵输入句子的最大生成树

其次作者做了一下几个实验来研究decoder的能力:

  • 使用一个固定的encoder表示作为输入,来衡量对于不同任务,input features的重要性

实验结果:

  • 可视化结果:

通常在第一层,更多的attention都主要focus到词本身,在之后的层中,attention逐渐转移到其他单词,例如前一个或者后一个单词,以及最后一个单词。这表明tranformer更倾向于在更高层中发现长距离的依赖关系

d9305afca2d98adf581c121e40edada8.png
  • 推导树结构(Inducing Tree Structure):

作者通过每一层的softmax值构建了输入的推导树,发现模型可以学习出一定的语义信息,但是对于一些复杂或者更长的语义信息,模型很难学到

47496cd441e996af953cd3c94e396f10.png

7月22日

Generating Wikipedia by Summarizing Long Sequences

Generating Wikipedia by Summarizing Long Sequences​arxiv.org

主要介绍了一种多文本概括的方法

之前对于文本摘要的任务,主要采用的是从输入文档中选取句子或者短语,并没有产生新的文本。由于缺少大量的平行语料,这样的方式无法引入神经网络的方法。这个工作中,作者将一个Wiki的主题词和一系列参考文章作为输入,目标是一篇wiki百科文章。

由于输入的参考文章可能数量很多,所以在内存限制下无法训练一个端到端的模型。于是他们采取了两个步骤

(1)从输入中选取一些总结

(2)从这些总结中生成一篇文章

这仿照了人写一篇摘要时的思路:先画出文章中的重点部分,再产生总结

  • 提取阶段

论文中提到了以下一些提取方法:

  1. Identity:直接选取最开始的L个tokens
  2. tf-idf
  3. TextBank
  4. SmBasic:使用词频作为对每次词语的打分,之后再根据词语的打分给句子评分
  • 总结阶段

文章使用了标准的有attention机制的LSTM encoder-decoder作为baseline模型,引入了一个新模型,即扔掉transformer的encoder部分,将输入和输出合并为一个句子,训练一个语言模型

updating......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值