强化学习 (RL) 中的奖励函数是一个数学公式或规则,用于量化智能体在其环境中表现的优劣。它在每次行动后为智能体提供即时反馈,引导它朝向期望的行为。智能体的目标是最大化随时间推移的总累积奖励,这意味着奖励函数直接影响智能体学习的内容。例如,在智能体控制角色的游戏中,奖励函数可以为收集物品提供正值,为失去生命值提供负值。这种反馈告诉智能体哪些行动是有益的或有害的,使其能够调整其策略。
设计有效的奖励函数需要仔细考虑。一个常见的挑战是在稀疏奖励和密集奖励之间取得平衡。稀疏奖励发生在仅对罕见事件(如赢得游戏)给出反馈时,这会使学习缓慢或不稳定,因为智能体获得的指导很少。密集奖励(例如,因靠近目标而奖励积分)提供更频繁的反馈,但有使函数过于复杂的风险。例如,学习步行的机器人可能会因每向前一步而获得少量奖励,但因跌倒而受到严重惩罚。设计不当的奖励也可能导致意外的行为——机器人可能会学习绕圈行走以积累“移动”奖励,而没有真正到达目标。因此,奖励函数必须与期望的结果精确对齐,同时避免漏洞。
在实践中,开发人员将奖励函数实现为评估智能体状态和行为的代码。例如,在自动驾驶汽车模拟中,奖励函数可以计算出保持在车道线内、保持速度限制和避免碰撞的正值,同时惩罚突然刹车或转向。奖励塑造——添加中间奖励以指导学习——通常是必要的。但是,这需要测试:经过训练以优先考虑速度的智能体可能会忽略安全,因此必须校准对不安全行为的惩罚。诸如贴现(减少未来奖励的权重)之类的技术可帮助智能体平衡短期和长期收益。最终,奖励函数充当 RL 中的“教师”,以算法可以优化的方式定义成功和失败。