注意力机制与Transformer

本文是在DataWhale的开展下的BaseLLM课程的学习笔记, 课程项目链接是:

https://github.com/datawhalechina/base-llm

本文主要是关于BaseLLM的第四章节注意力机制与Transformer这部分;

1.对于注意力机制而言,需要提前了解的是Seq2Seq(Sequence-to-Sequence)序列到序列的架构

Seq2Seq在2014年提出的,当时基于RNN和LSTM已经将一对一、多对多(严格对齐)、多对一任务处理的比较出色了,但是对于多对多(非严格对齐)的任务RNN和LSTM难以胜任,从而Seq2Seq应运而生。

Seq2Seq的原理是基于Autoencoder的。对于Autoencoder(自动编码器)存在Encoder-Decoder两部分,编码器将输入数据压缩为高阶特征向量,解码器则将这些高阶特征向量重构为与输入相似的输出,从而实现数据的重构。

Seq2Seq相较于Autoencoder而言,存在不同,因为Autoencoder希望尽量得到的输出结果和输入相似,从而去噪、降维、升维的任务,无法处理变长序列的问题,而Seq2Seq能够做到,Autoencoder是一次就生成,而Seq2Seq是逐次生成。

复制代码
传统Autoencoder: 文件 → 压缩包 → 原文件(必须完全一样)
Seq2Seq:         英文小说 → 语义摘要 → 中文小说(内容等价,形式不同)
                 ↑_________________________|
                        跨语言语义传递

2.为什么Seq2Seq能做到处理变长序列?

虽然Seq2Seq的原理基本和Autoencoder相似,但是Seq2Seq不同在于Encoder将输入序列压缩为一个向量C,而Decoder将得到的上下文向量进行解码最终输出和Encoder得到的输入序列长度不同的输出序列。 这是对于Seq2Seq整体信息流动路径的简短介绍,以下是关于每个阶段的详细介绍:

2.1Encoder信息压缩与抽象

Encoder:

复制代码
# 以LSTM Encoder为例
h_t, c_t = LSTM(x_t, h_{t-1}, c_{t-1})

# 信息流动细节:
x_t (输入token) 
→ Embedding Layer (256维词向量) 
→ LSTM Cell (遗忘门/输入门/输出门) 
→ h_t (隐藏状态,256维) 
→ c_t (细胞状态,256维)

Encoder关键的信息流向特征:

  • **单向信息流:**t时刻状态仅依赖t-1时刻,无法看到未来信息
  • **渐进式压缩:**每步将新token信息与历史状态融合,信息密度逐步提升
  • **梯度瓶颈:**反向传播时,梯度需跨越整个序列,易出现梯度消失/爆炸

2.2Decoder信息解压与生成

Decoder

复制代码
# Decoder每步生成过程
s_t = LSTM(y_{t-1}, s_{t-1}, Context Vector)
y_t = softmax(W * s_t)  # 预测下一个token概率分布

双路输入:上一时刻输出(y_{t-1}) + 解码器状态(s_{t-1}) + 上下文信息

自回归特性:当前预测依赖于自身历史预测,误差会累积

2.3Context Vector

这个Context Vector就是encoder和decoder关联的重点,信息流动的临界点:

  • 维度固定:无论输入序列多长,Context Vector维度恒定(如512维)
  • 信息密度最大化:需将整个输入序列语义压缩到固定维度向量
  • 单点故障风险:若h_T信息不足,整个模型性能崩溃

3.Seq2Seq的训练

Seq2Seq引入了教师机制,在教师强制模式下,解码器在计算第 t 步的输出时,它的输入不再是上一时刻的预测值 ,而是直接使用数据集中真实的标签值 ,构造方式就是我们前面描述的"解码器输入"序列。通过这种方式,解码器的每个时间步都能接收到正确的历史信息,避免了误差累积,能够显著提升收敛稳定性与速度。

相关推荐
天辛大师1 分钟前
天辛大师谈人工智能时代,如何用AI研究历代放生劝善忏悔文
大数据·人工智能·随机森林·启发式算法
lazy_ma9 分钟前
(二)大模型实操- Skill 入门:从原理到第一个可调用工具
人工智能
ComputerInBook12 分钟前
数字图像处理(4版)——第 9 章——形态学图像处理(Rafael C.Gonzalez&Richard E. Woods)
图像处理·人工智能·计算机视觉·形态学·数学形态学
eastyuxiao24 分钟前
如何用思维导图拆解项目范围
大数据·人工智能·流程图
机器之心36 分钟前
DeepSeek版Claude Code登顶热榜:8700星,鲸鱼哥火了
人工智能·openai
易标AI37 分钟前
标书智能体(五)——如何让弱模型也能稳定输出复杂json
人工智能·python·提示词·智能体·招投标
:mnong39 分钟前
模具非标件报价-精密算盘智能体SOP
人工智能·cad
技术人生黄勇1 小时前
GitNexus 把代码库变成知识图谱|审核 AI 产出更清晰,改 Bug 更精准
人工智能·bug
俊哥V1 小时前
每日 AI 研究简报 · 2026-05-05
人工智能·ai
阿里云大数据AI技术1 小时前
Qwen3.6、Kimi-K2.6、Minimax-M2.7、GLM-5.1 来啦!PAI支持海量模型一键部署!
人工智能·llm