一、什么是优化算法?
在训练深度学习模型时,我们的目标是让模型预测更准确。为了达到这个目的,我们需要“调整”模型里的参数,使得预测误差(损失)尽可能小。这个“调整参数”的过程,本质上就是一个优化问题,而优化算法就是解决这个问题的“搬砖工具”。
两种最常见的优化算法是:
-
SGD(随机梯度下降)
-
Adam(Adaptive Moment Estimation)
这两种方式看起来只是几行代码的切换,但对训练速度、收敛稳定性、甚至模型表现都会有非常大的影响。
二、SGD:老派但稳定的优化利器
SGD 的核心思路其实很简单:
每次拿一小部分样本(mini-batch),算出误差的梯度,然后用这个梯度反向更新参数。
公式:
复制编辑
θ = θ - η * ∇J(θ)
其中:
-
θ 表示模型参数;
-
η 是学习率(learning rate);
-
∇J(θ) 是损失函数对参数的梯度。
优点:
-
实现简单,资源消耗少;
-
对泛化能力有一定帮助(因为训练过程更“粗糙”)。
<