神经网络和深度学习-学习笔记
第五次作业05
1. Transformer是什么?
Transformer是一种基于自注意力机制(Self-Attention)的深度学习模型架构,由Google在2017年的论文《Attention Is All You Need》中首次提出。它最初用于自然语言处理(NLP)任务,如机器翻译,但后来被广泛应用于计算机视觉、语音处理等领域,成为现代深度学习的重要基石。
2. 核心思想
Transformer的核心思想是通过自注意力机制捕捉序列中的长距离依赖关系,替代传统的循环神经网络(RNN)或卷积神经网络(CNN)。具体来说:
自注意力机制:允许模型在处理序列中的每个元素时,动态地关注序列中的其他元素,并根据相关性分配权重。
并行化处理:相比RNN的串行处理,Transformer可以并行计算所有位置的注意力权重,显著提高效率。
全局信息捕捉:通过自注意力机制,模型可以直接捕捉序列中任意两个位置之间的依赖关系,不受距离限制。
3. 工作原理
Transformer的工作原理可以分为以下几个部分:
1.输入嵌入(Embedding):
将输入序列(如文本中的单词)转换为向量表示(嵌入)。
添加位置编码(Positional Encoding),因为自注意力机制本身不感知序列顺序。
2.自注意力机制(Self-Attention):
计算查询(Query)、键(Key)和值(Value)向量。
通过点积计算查询与键之间的相似度,得到注意力权重。
用注意力权重对值进行加权求和,得到上下文相关的表示。
3.多头注意力(Multi-Head Attention):
将自注意力机制扩展为多个“头”,每个头独立计算注意力权重。
拼接多个头的输出,通过线性变换得到最终结果。
4.前馈神经网络(Feed-Forward Network):
对每个位置的表示进行非线性变换,增强模型的表达能力。
残差连接与层归一化(Residual Connection & Layer Normalization):
缓解梯度消失问题,加速训练收敛。
4. 模型结构

Transformer由编码器(Encoder)和解码器(Decoder)组成:
编码器:
由多个相同的层堆叠而成,每层包含:
多头自注意力机制。
前馈神经网络。
残差连接与层归一化。
核心目标:将输入序列转换为上下文相关的向量表示,捕捉全局语义和依赖关系。
具体功能:
1.特征提取与编码
通过自注意力机制和前馈神经网络,将输入序列中的每个词或符号转换为高维向量。
例如,在机器翻译中,将源语言句子“Hello world”编码为包含语义和语法信息的向量序列。
2.捕捉长距离依赖
自注意力机制允许编码器直接关注输入序列中的任意位置,捕捉远距离依赖关系。
例如,在“The cat sat on the mat”中,编码器可以同时关注“cat”和“sat”的关联。
3.生成上下文表示
输出是一个包含所有输入信息的向量序列,供解码器使用。
例如,编码器输出的每个向量都融合了整个输入句子的信息。
解码器:
由多个相同的层堆叠而成,每层包含:
掩码多头自注意力机制。
编码器-解码器多头注意力机制(用于关注编码器的输出)。
前馈神经网络。
残差连接与层归一化。
核心目标:根据编码器的输出和已生成的部分序列,逐步生成目标序列。
具体功能:
1.自回归生成
每次生成一个位置时,仅基于之前已生成的部分和编码器的输出。
例如,在翻译“Hello world”→“Bonjour le monde”时,解码器先生成“Bonjour”,再生成“le”,最后生成“monde”。
2.动态关注编码器输出
通过编码器-解码器注意力机制,解码器可以动态关注编码器输出的不同部分。
例如,在生成“monde”时,解码器可能更关注编码器中“world”对应的向量。
3.掩码自注意力机制
防止解码器在生成当前位置时看到未来的信息,确保生成的顺序性。
5. 解决的问题
Transformer解决了传统序列模型(如RNN和LSTM)的以下问题:
长距离依赖问题:RNN难以捕捉序列中的长距离依赖关系,而Transformer通过自注意力机制可以直接捕捉任意两个位置之间的依赖。
并行化困难:RNN需要串行处理序列,效率低下;Transformer可以并行计算所有位置的注意力权重,显著提高效率。
梯度消失问题:RNN在处理长序列时容易出现梯度消失或爆炸,Transformer通过残差连接和层归一化缓解这一问题。
更多推荐

所有评论(0)