Background
《Attention is All You Need》是由Vaswani等人于2017年提出的一篇开创性论文,引入了Transformer模型,该模型在自然语言处理任务中取得了巨大成功,成为了当前最流行的深度学习模型之一。
Summary
Transformer模型基于自注意力机制(self-attention mechanism),可以并行处理输入序列,避免了传统循环神经网络(RNN)和卷积神经网络(CNN)在处理长距离依赖关系时的局限性。Transformer模型由编码器(encoder)和解码器(decoder)组成,每个编码器和解码器都包含多层的自注意力机制和前馈神经网络。
在编码器中,自注意力机制使得模型能够同时考虑输入序列中不同位置的信息,从而更好地捕捉上下文信息。在解码器中,除了编码器的自注意力机制外,还引入了另一个自注意力机制,用于关注输入序列的不同部分。此外,Transformer模型中还使用了位置编码(position encoding)来帮助模型理解输入序列的顺序信息。
Model Architecture
- Positional Encoding
Transformer的编码器输入为位置编码和Embedding的和即[sin,cos,sin,...,sin,cos] + vector(N = 512,embedding)
由初等数学三角函数相关知识我们知道
基于上式可以得到
从上式可以得出对于pos+k的位置向量(奇数位/偶数位)可直接表示成pos位置与k位置的位置向量2i与2i+1的线性组合,这样就考虑了相对位置信息
只用了三角变换就考虑了相对位置信息,真是不得不感慨数学之美啊!
- Encoder and Decoder Stacks
Encoder Stack(原文中N=6)由多个相同结构的编码器(Encoder)层堆叠而成。每个编码器层包含两个子层:Self-Attention 层:利用自注意力机制来计算输入序列中不同位置之间的关系,并捕获全局依赖性。Fully connected feed-forward network 网络:采用全连接前馈神经网络对每个位置的隐藏表示进行非线性变换。
Decoder Stack:
Decoder Stack也由多个相同结构的解码器(Decoder)层堆叠而成。每个解码器层包含三个子层:
Self-Attention 层:与Encoder中的Self-Attention类似,但在Decoder中会限制关注前面的位置,避免信息泄露。
Encoder-Decoder Attention 层:利用另一个自注意力机制,使得Decoder可以关注输入序列的不同部分,帮助翻译和生成输出。
Feed-Forward 网络:同样采用全连接前馈神经网络对每个位置的隐藏表示进行变换。
经过位置编码后的输入部分—Attention机制—FCFNN(fully connected forward network)
-
Attention
Transformer模型中的attention机制是一种用于捕捉序列中不同位置之间依赖关系的机制,它在编码器-解码器结构和编码器自身中得到广泛应用。该机制允许模型根据输入的不同部分动态地分配注意力权重,从而更好地理解输入序列并生成相应的输出。
在Transformer中,attention机制由以下几个关键步骤组成:
Step1: 计算注意力分数(Attention Scores):
首先,通过将查询(query)、键(key)和数值(value)进行线性变换,得到用于计算注意力分数的查询向量Q、键向量K和数值向量V。
然后计算Q 和K 之间的点积,再进行缩放(scale)操作以控制注意力分布的稳定性。
Step2:计算注意力权重(Attention Weights):
在得到注意力分数后,通过对每个位置的分数进行softmax操作,将其转换为注意力权重。这些权重表示了每个位置对当前位置的重要性,即模型应该关注输入序列中的哪些部分。
Step3:计算加权和(Weighted Sum):
最后,使用注意力权重对数值向量 (V) 进行加权求和,得到最终的注意力表示。这个加权和反映了模型对输入序列不同位置的关注程度,是对输入信息的有效汇总。
在Transformer中,还有多种不同的attention机制,包括自注意力(self-attention)和多头注意力(multi-head attention)。自注意力机制允许模型在单个序列中计算注意力权重,而多头注意力通过并行计算多组注意力权重来增强模型的表达能力。
-- scaled Dot-Product Attention
矩阵化操作便于并行
-- Multi-Head Attention(多头注意力机制)
下图中展示了两套,一套信息映射到了多个空间上
多个head的Z矩阵经过Concat合并输出
Position-wise Feed-Forward Networks
Embeddings and softmax
Reference
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., ... & Polosukhin, I. (2017). Attention is All You Need.