导入
优化器简介
了解 JAX 中使用的各种优化器类型。
什么是优化器?
优化器在训练神经网络时用于减少真实值与预测值之间的误差。这种优化通过梯度下降法实现。梯度下降法利用损失函数来调整网络中的误差。在 JAX 中,优化器来自 Optax 库。
![示意图]
优化器大致可分为两类:
- 自适应优化器:Adam、Adagrad、Adadelta 和 RMSprop。
- 随机梯度下降(SGD)类优化器:带动量的 SGD、重球法(HB)以及 Nesterov 加速梯度(NAG)。
自适应优化器与基于 SGD 的优化器对比
在执行优化过程中,自适应优化器初始采用较大的更新步长,但随着接近全局最小值,逐步减小步长,从而避免错过最优解。
像 Adam 这样的自适应优化器非常常见,因为它们收敛更快,但可能存在泛化能力较差的问题。
基于 SGD 的优化器对所有参数使用统一的学习率,而自适应优化器则为每个参数单独计算学习率。