【深度学习】Transformer 技术报告:架构与原理
一、引言
Transformer 是一种基于注意力机制(Attention Mechanism)的深度学习架构,最初由 Vaswani 等人在 2017 年的论文《Attention Is All You Need》中提出。它彻底改变了自然语言处理(NLP)领域,成为许多语言模型和任务的核心架构。Transformer 的设计理念是摒弃传统的循环神经网络(RNN)及其变体(如 LSTM 和 GRU),转而通过并行计算和注意力机制高效处理序列数据。
二、Transformer 的基本架构
2.1 总体架构
Transformer 采用编码器 - 解码器(Encoder-Decoder)架构,主要用于处理序列到序列的任务,如机器翻译、文本生成等。编码器负责将输入序列编码为上下文表示,解码器则基于这些上下文信息生成输出序列。整个架构由以下部分组成:
编码器(Encoder):由多个相同的层(通常为 6 层)堆叠而成,每层包含两个子层。
解码器(Decoder):同样由多个相同的层堆叠而成,每层包含三个子层。
输入嵌入与位置编码:为输入序列提供初始表示,并保留序列的顺序信息。
输出层:将解码器的输出转换为目标序列。
2.2 编码器(Encoder)
编码器由多个相同的层组成,每层包含两个子层:
多头自注意力层(Multi-Head Self-Attention Layer)
作用:允许模型在处理输入序列时,同时关注序列中的所有位置,捕捉词与词之间的关系。
机制:将输入序列分割成多个 “头”(Head),每个头独立计算注意力权重,然后将所有头的输出拼接起来。这种设计能够捕捉到输入序列中不同子空间的特征。
公式:
Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dkQKT)V
其中,Q、K、V 分别代表查询(Query)、键(Key)和值(Value), d k d_k dk是键向量的维度。
多头注意力: