Transformer原论文

相关工作文献阅读与总结

Attention Is All You Need

知乎笔记

摘要

dominant sequence transduction 显性序列转导模型

传统的:基于包括编码器和解码器的复杂递归 / CNN卷积神经网络

文章提出:Transformer 模型,完全基于注意力机制,放弃了循环和卷积

介绍

最先进的序列模型和转导问题(如语言建模,机器翻译)等,都在用 RNN(Recurrent Netual Network) (循环神经网络),其中有lstm(Long Short-trem memory)(长短时记忆循环神经网络),gru(Recurrent netual network)(门控循环神经网络)存在一个时序化的,顺序计算的 约束,影响了计算效率

在各种任务的序列建模和转到模型中,允许建立不考虑在输入或者输出序列中的位置 的注意力机制,但是传统的用法都是结合循环网络一起使用的

背景

卷积神经网络为基础建构 ByteNetConvS2S 会导致:“来自任意输入输出位置的关联信号所需要的操作数量”随着两个信号位置距离而增加,前者是对数的,后者是线性。这些可能会使得远距离学习的依赖关系更困难。同时由于平均注意力加权的位置,不得不以降低分辨率为代价。在Transfermer中通过减少一定操作数,多方注意力机制来抵消掉“降低分辨率”的代价。

Tranformer 不使用序列对齐的方式,而是基于循环的注意力机制方式。它是是第一个完全依靠自我关注计算输入和输出的表示

模型架构

编码器把输入的序列先转化成连续表示的序列 ( 先经过一个 独热到词嵌入的映射 再加上 位置嵌入

解码器将刚刚生成的连续序列解码生成符号序列,一次生成一个

符号是自回归的,自己生成的符号作为自己下一次生成的附加输入

image

编码器:六个一致的层级结构堆叠

  • 多头注意层
  • 全连接的前馈神经网络
  • 残差通道

在接受上一个层级的残查输出之后做一个 批归一化 (并不常见,因为往往NLP内输入序列长度不一致,具体有填补方法)

解码器

  • 多头注意力机制通常是掩盖了后文的,即当前的位置信息只依赖于所有之前的序列信息,Bert引入了 MLM(Masked Language Model)进行双向建模
  • 添加了一个完整的多头注意力层对编码器每一格大层的输出向量进行提取

多头注意力层

  • 注意力机制

注意力机制最早在seq2seq里面引入,无论RNN模型改进多好,传入seq2seq解码器里面的初始输入向量总是有信息损失。但是我们可以使用输入向量作为 查询向量(query vector) 来对于编码器的每一个隐层求向量距离,最终使用 softmax 来转化成概率分布,就可以根据向量和距离得到一个 对每个隐层输出 的权重,做了加权平均之后可以得到一个新的向量

image

  • 多头注意力机制

多头注意力机制如图,他将咨询,键值,价值向量分别作了线性映射来改编维度。在分别进行了注意力操作之后,再拼接每个注意力头使用得到加权变化向量,最后进行一次线性变换来恢复维度

image

posted @ 2023-06-13 18:35  ZzTzZ  阅读(496)  评论(0编辑  收藏  举报