机器学习与模式识别 第十二章 自适应学习优化器 考点压缩

第十二章:SGD & Adam --- 知识点笔记

综合来源:Lecture 12 PDF(25页)、课堂笔记(CSDN)


占位图

12.1 学习率调度(Learning Rate Schedules)

调度策略 公式 适用
线性(Linear) η(τ)=(1−τT)ηstart+τTηend\eta^{(\tau)} = (1-\frac{\tau}{T})\eta_{start} + \frac{\tau}{T}\eta_{end}η(τ)=(1−Tτ)ηstart+Tτηend 简单任务
幂律(Power-law) η(τ)=ηstart(1+τs)−c\eta^{(\tau)} = \eta_{start}(1+\frac{\tau}{s})^{-c}η(τ)=ηstart(1+sτ)−c 最常用
指数(Exponential) η(τ)=ηstart⋅cτ\eta^{(\tau)} = \eta_{start} \cdot c^{\tau}η(τ)=ηstart⋅cτ ---
余弦(Cosine) η(τ)=ηmin+ηmax−ηmin2(1+cos⁡(πτT))\eta^{(\tau)} = \eta_{min} + \frac{\eta_{max}-\eta_{min}}{2}(1+\cos(\pi\frac{\tau}{T}))η(τ)=ηmin+2ηmax−ηmin(1+cos(πTτ)) LLM常用

12.2 自适应学习率 ⭐⭐

AdaGrad

  • 对每个参数维度独立调整学习率
  • 累积梯度平方和→梯度大的维度学习率减小

ri=ri+(∂E∂wi)2r_i = r_i + \left(\frac{\partial E}{\partial w_i}\right)^2ri=ri+(∂wi∂E)2

wi=wi−ηri+ϵ⋅∂E∂wiw_i = w_i - \frac{\eta}{\sqrt{r_i + \epsilon}} \cdot \frac{\partial E}{\partial w_i}wi=wi−ri+ϵ η⋅∂wi∂E

问题 :rrr单调增长→学习率过度减小→早期大梯度导致后期停滞

RMSProp

  • 用指数加权移动平均替代AdaGrad的累积和→关注近期梯度

ri=βri+(1−β)(∂E∂wi)2r_i = \beta r_i + (1-\beta)\left(\frac{\partial E}{\partial w_i}\right)^2ri=βri+(1−β)(∂wi∂E)2

  • β≈0.9\beta \approx 0.9β≈0.9:越近的梯度权重越大

12.3 Adam ⭐⭐⭐

Adam = RMSProp + Momentum

si(τ)=β1si(τ−1)+(1−β1)∂E∂wi(Momentum: 一阶矩)s_i^{(\tau)} = \beta_1 s_i^{(\tau-1)} + (1-\beta_1)\frac{\partial E}{\partial w_i} \quad \text{(Momentum: 一阶矩)}si(τ)=β1si(τ−1)+(1−β1)∂wi∂E(Momentum: 一阶矩)

ri(τ)=β2ri(τ−1)+(1−β2)(∂E∂wi)2(RMSProp: 二阶矩)r_i^{(\tau)} = \beta_2 r_i^{(\tau-1)} + (1-\beta_2)\left(\frac{\partial E}{\partial w_i}\right)^2 \quad \text{(RMSProp: 二阶矩)}ri(τ)=β2ri(τ−1)+(1−β2)(∂wi∂E)2(RMSProp: 二阶矩)

偏差校正 (解决初始步过小问题):

s^i=si1−β1τ,r^i=ri1−β2τ\hat{s}_i = \frac{s_i}{1-\beta_1^\tau}, \quad \hat{r}_i = \frac{r_i}{1-\beta_2^\tau}s^i=1−β1τsi,r^i=1−β2τri

更新 :

wi=wi−ηs^ir^i+ϵw_i = w_i - \eta \frac{\hat{s}_i}{\sqrt{\hat{r}_i} + \epsilon}wi=wi−ηr^i +ϵs^i

典型超参数 :β1=0.9,β2=0.99,ϵ=10−8\beta_1=0.9, \beta_2=0.99, \epsilon=10^{-8}β1=0.9,β2=0.99,ϵ=10−8

Adam是最广泛使用的梯度下降变体!


12.4 Batch GD → SGD → Mini-batch ⭐⭐

Batch GD的代价

  • 每步计算N个数据点的梯度→**O(ND)\mathcal{O}(ND)O(ND)**
  • 大数据集→每步都极昂贵

SGD(随机梯度下降)

  • 每步随机选1个 数据点→O(D)\mathcal{O}(D)O(D)
  • 梯度有噪声→但便宜+快
  • 噪声可能帮助逃离局部最小值!

Mini-batch SGD

  • 每步随机选B个 数据点→O(BD)\mathcal{O}(BD)O(BD)
  • 在噪声和精度之间取得平衡

三种方法对比

方法 每步梯度 代价 特点
Batch GD 全部N点 O(ND)\mathcal{O}(ND)O(ND) 精确但昂贵
SGD 1个点 O(D)\mathcal{O}(D)O(D) 噪声大但便宜+快
Mini-batch SGD B个点 O(BD)\mathcal{O}(BD)O(BD) 最优折中

训练误差=测试误差的经验估计

1N∑nL(tn,fw(xn))≈Ep(t,x)L(t,fw(x))\frac{1}{N}\sum_n L(t_n, f_w(x_n)) \approx \mathbb{E}_{p(t,x)}L(t, f_w(x))N1n∑L(tn,fw(xn))≈Ep(t,x)L(t,fw(x))

  • 大N→训练误差≈期望测试误差(大数定律)

12.5 Epoch与Shuffling

Epoch

  • 1 Epoch = 完整遍历全部N个数据点一次

Shuffling

  • 每个Epoch开始前随机打乱数据顺序
  • Mini-batch按序取B个→自然随机

每Epoch步数

  • Batch size B → 每Epoch ⌈N/B⌉\lceil N/B \rceil⌈N/B⌉ 步

选择Batch Size

大B 小B
梯度估计更准 计算便宜→更多步
GPU并行更好 随机性帮助逃离局部最优
→先增大B填满GPU →η\etaη可随B成比例增大

笔记中的图片索引

序号 图片内容描述 来源位置
图1 四种学习率调度策略曲线 Lecture 12 第2-3页
图2 Batch/SGD/Mini-batch梯度估计谱 Lecture 12 第18-19页
图3 Epoch与Shuffling循环 Lecture 12 第21页

笔记整理时间:2026年6月29日

相关推荐
invicinble几秒前
提示词设计与维特根斯坦哲学
人工智能
MiYi124061 分钟前
2026深度解读:Work Agent如何拆解复杂需求并执行长程任务
人工智能
镜象科技2 分钟前
企业AI心理健康服务怎么选?需求动因、三类路线与选型方法
人工智能
亚远景aspice4 分钟前
亚远景科技受邀出席随州2026世界标准日培训会:建言汽车出口认证与研发能力重塑
人工智能·科技·aspice·过程改进·亚远景科技·过程能力评估·aspice评估
oscar99915 分钟前
Opik 优化器数据集指南:如何定义、拆分与验证你的数据
人工智能·数据集·opik
飞鸟真人18 分钟前
AI应用入门(七)用 promptfoo 测试评估 Ollama 本地模型
人工智能·安全测试·ai agent
新知图书22 分钟前
3.2 品牌被“选中”的技术链路
人工智能
FITA阿泽要努力24 分钟前
LLM 和 Agent 的核心术语和原理
人工智能
lucas_AI28 分钟前
Meta 掀桌了:号称「美国最强开源模型」的 Muse Spark Open 开放下载,816B MoE + 1M 上下文
人工智能·llm
ZEB110632 分钟前
全球首发!创盈芯Agent PC“芯”发明,开启AI终端新纪元
人工智能