梯度下降与反向传播(Gradient Descent & Backpropagation)

  1. 核心概念(是什么)
    ● 梯度下降(Gradient Descent) 是一种参数优化算法,通过沿着损失函数下降最快的方向调整参数,逐步逼近最优解。
    ● 反向传播(Backpropagation, BP) 是一种梯度计算方法,用于高效求出神经网络中每个参数对损失的偏导。
    ● 两者关系:
    BP 负责“计算梯度”,
    GD 负责“利用梯度更新参数”。
    BP + GD = 神经网络学习的核心循环。

  2. 数学原理(怎么做)
    2.1 梯度下降的更新公式
    θt+1=θt−η,∇θL(θt)\theta_{t+1} = \theta_t - \eta , \nabla_{\theta} L(\theta_t)θt+1=θtη,θL(θt)
    其中:
    θt\theta_tθt:参数(如权重、偏置)
    η\etaη:学习率
    ∇θL(θt)\nabla_{\theta} L(\theta_t)θL(θt):损失函数对参数的梯度
    梯度表示“上坡方向”,因此我们沿 负梯度方向 更新。

2.2 反向传播的核心思想
BP 是一种利用链式法则(Chain Rule)的梯度计算方法。
假设网络结构:
x→f1a→f2b→f3Lx \xrightarrow[]{f_1} a \xrightarrow[]{f_2} b \xrightarrow[]{f_3} Lxf1af2bf3L
则:
∂L∂x=∂L∂b⋅∂b∂a⋅∂a∂x\frac{\partial L}{\partial x} = \frac{\partial L}{\partial b} \cdot \frac{\partial b}{\partial a} \cdot \frac{\partial a}{\partial x}xL=bLabxa
BP 的工作流程:

  1. 前向传播:计算输出与损失。

  2. 反向传播:逐层用链式法则求偏导。

  3. 参数更新:用梯度下降调整每个权重。

  4. 网络中的完整更新流程
    以一层神经元为例:
    y=f(Wx+b)y = f(Wx + b)y=f(Wx+b)
    损失函数:
    L=12(y−t)2L = \frac{1}{2}(y - t)^2L=21(yt)2
    反向传播计算步骤:

  5. 计算输出误差:
    δ=∂L∂y=y−t\delta = \frac{\partial L}{\partial y} = y - tδ=yL=yt

  6. 求权重梯度:
    ∂L∂W=δ⋅f′(Wx+b)⋅x⊤\frac{\partial L}{\partial W} = \delta \cdot f'(Wx+b) \cdot x^\topWL=δf(Wx+b)x

  7. 更新参数(梯度下降):
    W←W−η∂L∂W,b←b−η∂L∂bW \leftarrow W - \eta \frac{\partial L}{\partial W}, \quad b \leftarrow b - \eta \frac{\partial L}{\partial b}WWηWL,bbηbL
    梯度来自 BP,更新由 GD 执行。
    二者循环进行,模型不断逼近最优。

  8. 实际生活类比(形象理解)
    ① “夜爬山下谷”类比(梯度下降)
    ● 想象你在夜晚的山谷中,手中只有一个坡度传感器(梯度)。
    ● 每次你感知脚下的坡度,就沿最陡的下坡方向迈出一小步。
    ● 走太快会滚下山(学习率过大),
    走太慢又难以下山(学习率过小)。
    ● 走几步,坡度变平——说明接近谷底(梯度趋近 0)。
    → 这就是 梯度下降的核心思想:沿负梯度方向走向最小值。

② “老师批改作业”类比(反向传播)
● 学生(神经网络)做题得分偏低(高损失)。
● 老师从最终答案反推,
哪个步骤出错、误差来自哪里、该怎么改。
● 每道小题(网络层)都收到一份“误差反馈”,
调整自己的解题方法(权重),
直到最终答对(损失最小)。
→ 这就是 反向传播:误差从输出层逐步传回输入层的梯度计算过程。

③ 结合:BP + GD 的闭环
● “老师(BP)指出错在哪儿”,
● “学生(GD)根据反馈修正笔迹”,
● 下次再做题(新一轮前向传播)就更接近满分。
● BP 给出方向,GD 决定迈步。

  1. 实际例子(数值直观)
    假设一个最简单的单变量函数:
    L(w)=(w−3)2L(w) = (w - 3)^2L(w)=(w3)2

  2. 目标最小化 L(w)L(w)L(w)

  3. 梯度:
    dLdw=2(w−3)\frac{dL}{dw} = 2(w - 3)dwdL=2(w3)

  4. 更新:
    wt+1=wt−η,2(wt−3)w_{t+1} = w_t - \eta , 2(w_t - 3)wt+1=wtη,2(wt3)
    若初始 w0=0w_0 = 0w0=0,学习率 η=0.1\eta = 0.1η=0.1
    迭代次数 当前 wtw_twt 梯度 2(wt−3)2(w_t-3)2(wt3) 更新后 wt+1w_{t+1}wt+1
    0 0 -6 0.6
    1 0.6 -4.8 1.08
    2 1.08 -3.84 1.464
    … … … …
    最终 wt→3w_t \to 3wt3,损失 →0\to 00
    → 梯度每次都告诉我们“往 3 靠近”的方向与距离。

  5. 工程要点(严谨与深度)
    ● 学习率 η\etaη 的选择
    ○ 太大:震荡或发散。
    ○ 太小:收敛极慢。
    ○ 通常结合调度策略(如余弦衰减、Warmup)。
    ● 梯度消失与爆炸
    ○ 深层网络中,链式乘积导致梯度趋近 0 或变得极大。
    ○ 解决方法:ReLU 激活、BatchNorm、残差连接。
    ● 动量与自适应学习率
    ○ Momentum、RMSProp、Adam 等优化器在 GD 基础上改进收敛速度。
    ● 损失函数平滑性
    ○ 非凸函数可能存在多个局部最小值或鞍点。
    ○ 在大模型中,噪声(如 SGD)反而有助于跳出局部最优。

  6. CNN / Transformer 中的应用(实战理解)
    ● 在 CNN 中:
    ○ BP 用于计算卷积核与偏置的梯度;
    ○ GD 调整卷积核权重,使特征图更符合任务目标。
    ● 在 Transformer 中:
    ○ BP 反向穿过自注意力和线性层;
    ○ GD 更新 WQ,WK,WVW_Q, W_K, W_VWQ,WK,WV 等矩阵,让注意力学到更有意义的关联。
    无论是 CNN、RNN、Transformer,核心优化循环都离不开 BP + GD。

  7. 从生活到公式(快速串线)
    ● 每次训练 = “先预测 → 算误差 → 反传误差 → 更新参数”
    ● 梯度下降更新公式:
    θt+1=θt−η,∇θL(θt)\theta_{t+1} = \theta_t - \eta , \nabla_\theta L(\theta_t)θt+1=θtη,θL(θt)
    ● 链式求导(反向传播):
    ∂L∂θi=∂L∂y⋅∂y∂θi\frac{\partial L}{\partial \theta_i} = \frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial \theta_i}θiL=yLθiy
    ● BP 负责算 ∇L\nabla LL
    GD 负责减 η∇L\eta \nabla LηL
    数学上两行,逻辑上一环。
    算方向 → 调参数 → 再算 → 再调 → 收敛。

  8. 一图记忆(逻辑闭环)
    ┌──────────────┐
    │ 前向传播 │
    │ 计算预测输出 │
    └──────┬───────┘


    ┌──────────────┐
    │ 计算损失 L │
    └──────┬───────┘


    ┌──────────────┐
    │ 反向传播 BP │
    │ 计算各层梯度 │
    └──────┬───────┘


    ┌──────────────┐
    │ 梯度下降 GD │
    │ 更新参数 θ │
    └──────┬───────┘


    (进入下一轮迭代)

  9. 自检清单(快速复盘)
    ● 我能解释梯度下降的数学原理和更新公式吗?
    ● 我能用“下山”类比描述梯度下降吗?
    ● 我理解反向传播的链式法则如何传递误差吗?
    ● 我能写出 Wt+1=Wt−η∂L/∂WtW_{t+1} = W_t - \eta \partial L/\partial W_tWt+1=WtηL/Wt 吗?
    ● 我能描述 BP + GD 的训练闭环吗?

✅ 语雀使用提示
● 打开「数学公式(KaTeX)」渲染。
......... 为行内公式,......... 为独立公式。
● 支持复制到同一系列笔记,与 CNN / Transform 风格统一。

是否希望我帮你补上一个配套的 公式推导图 + 类比图(BP + GD 流程可视化),
让你在语雀中一页就能完整展示整个优化过程?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值