【人工智能导论】09-学习-注意力机制与Transformer:用注意力机制动态关注,用Transformer并行计算,用GPT理解生成语言

文章目录

⏱️ 预计阅读时间 :40-50分钟

🎯 学习目标:学会怎么让模型动态关注输入并理解生成语言,怎么用注意力机制动态关注输入,怎么用Transformer并行计算,怎么用GPT理解和生成语言


📚 核心结论(塔尖):注意力机制+Transformer架构+GPT语言模型,动态关注、并行计算、理解生成语言

想象一下,你想设计一个能够动态关注输入、并行计算并理解生成自然语言的模型。传统模型(如RNN、CNN)使用固定的权重或结构,无法根据输入动态调整关注点;RNN需要顺序处理,无法并行;传统语言模型难以捕获长距离依赖。就像人看一幅画时会关注不同的部分,而不是平均地看所有部分;同时需要能够并行处理,而不是顺序处理;最终要能够理解和生成自然语言。

首先,怎么用注意力机制实现动态关注?通过Query-Key-Value框架,让模型能够根据输入动态调整关注点,而不是使用固定的权重。

其次,怎么用Transformer实现并行计算和全局依赖?通过自注意力、多头注意力和编码器-解码器架构,实现并行计算并捕获全局依赖关系。

最后,怎么用GPT实现语言理解和生成?通过自回归语言模型和大规模预训练,统一语言理解和生成任务。

那么,怎么用注意力机制实现动态关注?怎么用自注意力实现并行计算?怎么用Transformer架构捕获全局依赖?怎么用GPT实现语言理解和生成?这些正是本文要解决的核心。
注意力机制问题
动态关注/并行计算 注意力机制
动态关注
根据输入调整关注点 Transformer
并行全局
并行计算+全局依赖 GPT
语言理解生成
理解和生成语言 表达能力vs效率
能力强vs算得快


一、注意力机制:动态关注机制

注意力机制使模型能够动态地关注输入的不同部分,而不是使用固定的权重。就像用查询去找相关的键,然后根据相似度对值进行加权
Query
查询
需要关注什么
想找什么 计算相似度
score = Q·K^T
看查询和键有多相似 Key

输入的不同部分
输入的内容 Softmax归一化
权重 = softmax(score)
转换成权重 加权求和
Output = Σ(权重·Value)
按权重加起来 Value

实际信息
实际的内容 注意力输出
动态关注结果
关注的结果

1. Query-Key-Value框架:用查询去找相关的键,然后对值进行加权

注意力机制通过计算查询(Query)和键(Key)之间的相似度,生成注意力权重,对值(Value)进行加权求和,使模型能够动态地关注输入的不同部分。Query-Key-Value框架查询表示需要关注什么,键表示输入的不同部分,值表示实际信息,就像用查询去找相关的键,然后对值进行加权。

2. 相似度计算和权重归一化:看查询和键有多相似,转换成权重

相似度计算 计算Query和Key之间的相似度,决定关注程度,就像看查询和键有多相似;权重归一化使用softmax将相似度转换为权重,就像转换成权重。

3. 加权求和:按权重加起来,聚合关注的信息

加权求和根据权重对Value进行加权求和,聚合关注的信息,就像按权重加起来。
注意力机制计算过程
动态关注 步骤1: 计算相似度
score_i = Q·K_i^T
看查询和键有多相似 步骤2: 归一化权重
α_i = softmax(score_i)
转换成权重 步骤3: 加权求和
Output = Σ(α_i·V_i)
按权重加起来 动态关注结果
根据输入调整关注点
关注相关的内容


二、自注意力机制:序列内部的全局连接

自注意力机制使模型能够捕获序列内部的依赖关系,不受距离限制,同时实现并行计算。就像一句话中,每个词都关注其他词。
序列: '我 爱 你':一句话 词1: '我'
Q₁, K₁, V₁
第一个词 词2: '爱'
Q₂, K₂, V₂
第二个词 词3: '你'
Q₃, K₃, V₃
第三个词 自注意力计算
每个词关注所有词
每个词都看其他词 输出1
关注'我'、'爱'、'你'
第一个词的输出 输出2
关注'我'、'爱'、'你'
第二个词的输出 输出3
关注'我'、'爱'、'你'
第三个词的输出

自注意力机制中,序列中的每个元素既是Query ,也是Key和Value,计算序列内部元素之间的注意力。序列内部 计算序列内部元素之间的注意力,就像每个词都关注其他词;长距离依赖 不受距离限制,能够捕获长距离依赖,就像能理解很远的关系;并行计算 可以并行计算所有位置的注意力,就像同时计算所有位置;全局信息每个位置都能访问所有位置的信息,就像每个词都能看到所有词。
自注意力特点
序列内部注意力 序列内部
Q=K=V=输入序列
每个词都是查询/键/值 长距离依赖
不受距离限制
能理解很远的关系 并行计算
同时计算所有位置 全局信息
每个词都能看到所有词 捕获序列依赖
理解前后关系 理解很远的关系 提高计算效率 全局理解
理解整个序列


三、多头注意力:多视角关注

多头注意力使模型能够从多个角度关注输入,捕获不同类型的关系(如语法、语义),提高模型的表达能力。就像从多个角度观察同一个序列。
输入序列
输入的内容 头1
关注语法关系
看语法 头2
关注语义关系
看语义 头3
关注位置关系
看位置 头h
关注其他关系
看其他方面 拼接
Concat(head₁,...,headₕ)
把多个头的结果拼接 线性变换
W·Concat
线性变换 多头注意力输出
多视角表示
从多个角度理解

多头注意力使用多个注意力头,每个头关注不同的方面,然后将结果拼接。

  • 多个头:使用多个注意力头,每个头关注不同方面,就像从多个角度观察;
  • 不同视角:不同头捕获不同类型的关系,就像看语法、语义、位置等;
  • 结果拼接:将多个头的结果拼接,形成更丰富的表示,就像把多个角度的结果组合;
  • 表达能力:提高模型的表达能力,就像理解得更全面。

四、Transformer架构:并行且全局的序列模型

Transformer同时解决了并行计算和全局依赖的问题,既提高了计算效率,又捕获了长距离依赖。就像能够同时看到整个序列,理解所有位置的关系。
输入序列
+位置编码
输入+位置信息 编码器层1
多头自注意力
+残差连接+层归一化
+前馈网络
理解输入 编码器层N
...
多层理解 编码器输出
特征表示
理解后的特征 解码器层1
掩码多头自注意力
+编码器-解码器注意力
+前馈网络
生成输出 解码器层N
...
多层生成 解码器输出
生成序列
生成的序列 输出序列
最终输出

Transformer架构完全基于注意力机制的序列模型,通过自注意力机制替代RNN的循环结构,实现并行计算;通过多头注意力和编码器-解码器架构捕获全局依赖关系。

  • 自注意力序列内部的自注意力,实现全局连接和并行计算,就像每个词都关注所有词;
  • 多头注意力多视角关注,捕获不同类型的关系,就像从多个角度理解;
  • 编码器-解码器层次化处理,编码器提取特征,解码器生成序列,就像先理解再生成;
  • 位置编码编码位置信息,保持序列顺序,就像标记位置;
  • 残差连接和层归一化稳定训练,使深层网络能够有效训练,就像让训练更稳定。

Transformer组件
架构的组成部分 自注意力
全局连接
每个词关注所有词 多头注意力
多视角
从多个角度理解 位置编码
保持顺序
标记位置 残差连接
稳定训练
让训练更稳定 层归一化
加速收敛
加快训练 并行计算
捕获依赖
同时算+理解关系 丰富表示
多关系
理解得更全面 位置信息
序列理解
理解顺序 梯度流动
深层训练
能训练深层网络 训练稳定
性能提升
训练更稳定更好


五、自回归语言模型:从预测到生成

自回归语言模型能够学习语言的概率分布,既能够理解语言,又能够生成语言,统一了理解和生成任务。就像根据前面的词猜测下一个词。
输入: '我 爱'
前面的词 语言模型
P(下一个词|前面的词)
预测下一个词的概率 概率分布
P('你'|'我 爱')=0.8
P('他'|'我 爱')=0.1
P('她'|'我 爱')=0.1
每个词的概率 采样生成
选择'你'
选概率最高的 输出: '我 爱 你'
生成的词 继续生成下一个词...
继续生成

自回归语言模型通过预测下一个词的概率分布来学习语言模型,给定前面的词,预测下一个词。

  • 条件概率给定前面的词,预测下一个词的概率,就像根据前面的词猜下一个词;
  • 自回归逐个生成词,每个词依赖于前面的词,就像一个一个地生成;
  • 概率分布学习语言的概率分布,就像学习每个词出现的概率;
  • 生成能力 通过采样从概率分布中生成文本,就像从概率分布中选词生成。

自回归生成过程
逐个生成词 步骤1: 给定前缀
'我 爱'
前面的词 步骤2: 预测概率
P(下一个词|'我 爱')
预测下一个词的概率 步骤3: 采样生成
选择概率最高的词
选最可能的词 步骤4: 更新前缀
'我 爱 你'
加上新生成的词 重复步骤2-4
直到生成结束
继续生成直到结束


六、GPT语言模型:大规模预训练的语言模型

大规模预训练能够充分利用无标注数据,学习通用的语言表示,提高模型性能。就像先学习通用语言知识,再学习特定任务。

GPT语言模型基于Transformer架构的自回归语言模型,通过大规模无标注文本数据预训练,学习通用的语言表示,然后在下游任务上微调。

  • Transformer架构=》理解语言:使用Transformer作为骨干网络,捕获长距离依赖,就像用Transformer理解语言;
  • 大规模预训练=》学习通用知识在大规模无标注文本数据上预训练,学习通用表示,就像先学通用知识;
  • 预训练-微调=》学特定知识先预训练,再在下游任务上微调,就像先学通用再学特定;
  • 统一模型=》同时用于理解和生成同一个模型用于理解和生成,统一不同任务,就像一个模型做多种任务;
  • 上下文学习:通过少量示例或提示,快速适应新任务,就像给几个例子就能学会。

七、方法选择:根据问题特点权衡

注意力机制问题
动态关注/并行计算 动态关注
根据输入调整 并行计算
同时计算 全局依赖
理解全局关系 语言理解生成
理解和生成语言 注意力机制
Query-Key-Value
动态关注 自注意力
并行计算
同时算所有位置 多头注意力
全局连接
从多个角度理解 GPT
大规模预训练
先学通用再学特定

从固定到动态:

  • 固定权重(RNN、CNN,就像固定的关注)→ 注意力机制(动态权重,就像根据输入调整关注)→ 自注意力(序列内部动态关注,就像每个词都关注其他词)。

从循环到并行:

  • RNN(顺序处理,就像一个一个处理)→ Transformer(并行计算,就像同时处理所有位置)。

从局部到全局:

  • CNN(局部连接,就像只看局部)→ RNN(局部记忆,就像只记住最近的)→ Transformer(全局连接,就像看到全局)。

从单一到多头:

  • 单头注意力(单一视角,就像从一个角度看)→ 多头注意力(多视角,就像从多个角度看)。

从预测到生成:

  • 语言模型(预测下一个词,就像猜下一个词)→ 生成模型(生成完整文本,就像生成完整句子)。

从专用到通用:

  • 专用模型(针对特定任务,就像只做一种任务)→ 通用模型(处理多种任务,就像一个模型做多种任务)。
相关推荐
大、男人2 小时前
FastMCP高级特性之Message Handling
人工智能·python·mcp·fastmcp
b***25112 小时前
汽车圆柱电池气动点焊机:串并联组合自动化焊接的核心驱动力
大数据·人工智能
kkk123442 小时前
2025 大模型的发展
人工智能·深度学习·机器学习
骚戴2 小时前
在科研与项目开发中:如何高效调用大语言模型(LLM)API
人工智能·语言模型·自然语言处理·大模型·llm·api
red_redemption2 小时前
藤井風《何なんw》
学习
czijin2 小时前
【论文阅读】LoRA: Low-Rank Adaptation of Large Language Models
论文阅读·人工智能·语言模型
江苏世纪龙科技2 小时前
汽车结构原理VR课:看得见、摸得着的机械世界
学习
im_AMBER2 小时前
React 20 useState管理组件状态 | 解构 | 将事件处理函数作为 props 传递 | 状态提升
前端·javascript·笔记·学习·react.js·前端框架
oliveray2 小时前
基于 OpenVINO 优化的 GroundingDINO + EfficientSAM 视频分割追踪
人工智能·目标检测·语义分割·openvino