Q30: 分析随机梯度下降(SGD)在鞍点处的逃离概率
随机梯度下降与鞍点是啥?
随机梯度下降(SGD)是深度学习中常用的优化算法,每次更新仅基于一个样本的梯度。鞍点是函数一阶导数为零,但非极值点的位置(类似马鞍中心)。在鞍点处,SGD 因梯度噪声有逃离可能。
逃离概率分析
鞍点处梯度为零,但 Hessian 矩阵特征值有正有负。SGD 更新公式为 (
含噪声)。噪声使梯度偏离零,向 Hessian 负特征值方向移动。逃离概率与学习率、噪声相关,大学习率下噪声影响强,逃离概率高。
在 LLM 中的使用
训练 LLM(如 GPT-4)时,参数达千亿级,损失函数曲面复杂,鞍点众多。SGD 的噪声机制助其逃离鞍点。例如,训练中某层参数陷入鞍点,SGD 利用样本梯度随机性,使更新方向偏离鞍点。如在文本生成任务中,若模型生成重复文本(可能因参数在鞍点附近),SGD 的逃离特性推动参数更新,改善生成效果。
代码示例(模拟鞍点附近 SGD 更新):
import torch
import numpy as np
# 定义鞍点函数 f(x, y) = x² - y²
def f(x, y):
return x ** 2 - y ** 2
# 计算梯度
def grad_f(x, y):
return torch.tensor([2 * x, -2 * y])
# 模拟SGD在鞍点(0,0)附近的更新
x, y = 0.1, 0.1
eta = 0.1
num_steps = 10
for _ in range(num_steps):
# 加入噪声的梯度
gx, gy = grad_f(x, y) + torch.normal(0, 0.1, size=(2,))
x -= eta * gx
y -= eta * gy
print(f"x: {x.item():.4f}, y: {y.item():.4f}")
代码解释:定义鞍点函数,梯度含噪声模拟 SGD。即使初始在鞍点附近,噪声使梯度非零,参数更新逃离鞍点,类似 LLM 训练中 SGD 借助噪声逃离鞍点。
Q31: 证明 EM 算法的单调递增性质 
EM 算法是啥?
EM 算法用于含隐变量的概率模型参数估计,分 E 步(计算隐变量后验期望)和 M 步(最大化期望似然)。单调递增性指每次迭代后,观测数据 X 的对数似然 不减少。
证明过程
- E 步:计算
。
- M 步:
。 利用 Jensen 不等式,

最低0.47元/天 解锁文章
978

被折叠的 条评论
为什么被折叠?



