[论文素材]Background----The Transformer

目录

什么是 Transformer

Transformer结构理解

Transformer的优点


什么是 Transformer

Transformer是第一个完全采用self-attention机制,对序列输入数据(eg:自然语言)各部分的重要性进行差分加权,从而得到序列输出的转换模型。由Google Brain团队推出,现在已经成为了NLP领域的首选模型。

论文地址:https://arxiv.org/pdf/1706.03762.pdf

论文翻译:Transformer论文翻译_tomeasure的博客-CSDN博客_transformer论文翻译

[论文素材]Background----The Transformer_第1张图片

(图片来自:Transformers 是如何工作的? - Hugging Face Course)

Transformer结构理解

 

 

[论文素材]Background----The Transformer_第2张图片

(图片来自论文) 

Transformer结构

可以看成两个部分:左边“inputs”一列为编码器(encoder),右边“output”一列为解码器。论文里设置了N=6,也就是左边有6个堆叠起来的编码器,右边有6个堆叠起来的解码器。

编码器的细节:

编码器有三部分组成:

  1. Multi-Head Attention  (包括self-attention)
  2. Add&Norm (Add指attention的输入和输出相加)
  3. Feed Forward

 最详细可视化讲解

解码器的细节:

  1. Masked Multi-Head Self-Attention
  2. Multi-Head Encoder-Decoder Attention
  3. FeedForward Network
  4. Add&Norm

最详细可视化讲解

另一个详解网页

Transformer大致流程:

  1. 将 input:“I am a student” (4个单词),output:“我是一个学生”,都进行Embedding
  2. 让Embedding的input经过左边6层编码器得到一个带有所有input信息的矩阵A (n x 512), (这里n是4,4个单词)
  3. 把A传到右边编码器中,从Embedding的output的第一个字开始输入,A 和 一起经过6层解码器和Linear,softmax得到第一个翻译:我
  4. 把 A 和 [,我]一起经过6层解码器和Linear,softmax得到第二个翻译:是
  5. 把 A 和 [,我,是]一起经过6层解码器和Linear,softmax得到第三个翻译:一个
  6. 把 A 和 [,我,是,一个]一起经过6层解码器和Linear,softmax得到第三个翻译:学生

Transformer的优点

  1. RNN不能并行计算,Transformer模型能够一次性处理所有输入数据,并以此减少训练时间,允许其在更大的数据集上进行训练。
  2. 注意力机制可以为输入序列中的任意位置提供上下文。
  3. 自注意力可以产生更具可解释性的模型。
  4. 相比 CNN,计算两个位置之间的关联所需的操作次数不随距离增长。

Transformer模型已在TensorFlow、PyTorch等标准深度学习框架中实现。

Transformers是由Hugging Face制作的一个库,提供基于Transformer的架构和预训练模型。它的目标是提供一个API,通过它可以加载、训练和保存任何Transformer模型[1]

[1] 本章简介 - Hugging Face Course

你可能感兴趣的:(论文素材,transformer,深度学习,人工智能,nlp)