优化器 (Optimizer):驱动学习的引擎
如果说反向传播计算出了“应该朝哪个方向走才能让模型变得更好”,那么优化器就是决定“具体该怎么走”的算法。它负责根据计算出的梯度来更新网络的权重,是模型训练的核心驱动力。
SGD vs. 自适应优化器 (Adam, RMSprop)
随机梯度下降 (SGD)
比喻:一个新手司机,全程使用固定的速度(学习率)下山。在平缓路段可能太慢,在陡峭路段又可能太快导致“漂移”(震荡)。
Adam / RMSprop
比喻:一个经验丰富的老司机,会根据路况(参数的梯度历史)自适应地调整油门(学习率)。在平坦大道上(梯度稳定)就加速,在崎岖山路上(梯度变化大)就减速,从而更快更稳地到达目的地。
动手试试:
下图是一个损失函数的“地形图”,中心是最低点。选择一个优化器,点击“开始优化”,观察它如何从起点(黄星)开始寻找谷底。
from tensorflow import keras
model = keras.Sequential([...])
# 在 Keras 中切换优化器非常简单
model.compile(
optimizer='adam',
loss='binary_crossentropy'
)