在强化学习 (RL) 中,学习率是一个超参数,它控制智能体根据新经验更新其策略或价值估计的程度。它决定了优化过程中采取的步长,平衡了最新数据与先验知识的影响。例如,在 Q-learning 等算法中,当智能体观察到新的奖励时,学习率会调整状态-行为值 (Q 值) 的变化幅度。较高的学习率会导致更快的更新,而较低的学习率则会导致渐进的变化,这可以稳定训练但会减慢收敛速度。
学习率直接影响智能体适应新信息的速度。考虑 Q-learning 的更新规则:Q(s, a) = Q(s, a) + α * [reward + γ * max Q(s', a') - Q(s, a)]
。在这里,α(学习率)决定了新估计值(奖励加上折扣未来的价值)影响现有 Q 值的程度。如果 α 过高,智能体可能会对噪声奖励反应过度或超调最佳值。如果 α 过低,收敛时间可能会过长。同样,在策略梯度方法中,学习率会缩放更新策略参数时的梯度步长。例如,在 REINFORCE 中,高学习率可能导致策略急剧变化,从而导致训练不稳定,而低学习率则可能导致改进缓慢。
开发者通常通过经验来调整学习率。常见的策略包括开始时使用较高的学习率以实现早期的快速学习,然后随着时间的推移衰减学习率以优化行为。在深度强化学习(例如 DQN 或 PPO)中,学习率通常是优化器配置的一部分(例如 Adam 的学习率),并与其他因素(如批量大小或折扣因子)相互作用。RMSProp 或 Adam 等自适应方法会针对每个参数调整有效的学习率,这可以减轻不稳定性。例如,在 Atari 游戏上训练 DQN 时,0.0001 的学习率可能与 Adam 配合良好,而像 CartPole 这样的简单环境则可以使用更高的学习率(例如 0.001)和原始 SGD。在一定范围内测试不同的值并监控学习曲线对于平衡速度和稳定性至关重要。