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

第十二章: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日

相关推荐
机汇五金_1 小时前
钣金外壳定制厂家助力设备升级
大数据·人工智能·python·物联网
ai产品老杨1 小时前
多路摄像头AI分析性能优化指南
人工智能·性能优化
想你依然心痛1 小时前
HarmonyOS 6(API 23)实战:基于HMAF的「量子编排」——PC端AI智能体量子计算模拟与量子-经典混合智能编排平台
人工智能·交互·实时音视频·智能体
自不量力的A同学1 小时前
Solon AI v4.0.3 发布
人工智能
LDR0061 小时前
LDR6500赋能POS机底座:单口Type-C供电、维护与产测一体化解决方案
大数据·c语言·人工智能
ai产品老杨1 小时前
RTSP摄像头接入AI分析常见问题和排查清单
人工智能
AI科技星1 小时前
32维超复数流形中意识信息场与物质耦合的拓扑动力学
人工智能·学习·算法·数据挖掘·回归·乖乖数学·全域数学
matlab代码1 小时前
基于CNN卷积神经网络日常物品识别系统 (数字图像处理GUI界面)【源码37期】
人工智能·神经网络·cnn·物品识别
2zcode2 小时前
基于HSV颜色空间和卷积神经网络的交通标志识别系统设计与实现
人工智能·神经网络·cnn