奖励工程
Reward Engineering常用为强化学习设计和调试奖励函数,让机器人学到真正想要的行为。
奖励工程指为强化学习任务设计奖励函数的整套工作:放哪些奖励项、各项权重多大、什么时候给、怎样防止被钻空子。只有「成功 +1」这种稀疏奖励时,智能体很难碰巧拿到正反馈,于是常加稠密的中间奖励(奖励塑形),比如离目标越近分越高。机器人运动控制的奖励常由十几项组成,既奖励跟上速度指令,也惩罚力矩过大、动作抖动、身体碰撞,权重要反复试,设计不当就会出现奖励黑客。近年也用大模型自动写奖励:Eureka 让 GPT-4 迭代生成奖励代码,在 29 个环境中 83% 的任务超过人类专家写的奖励。
例子legged_gym 四足行走的默认奖励:跟踪线速度指令(权重 1.0)、跟踪角速度(0.5)、惩罚竖直方向速度(−2.0)、惩罚关节力矩和加速度、惩罚动作变化率(−0.01)和身体碰撞(−1),并奖励足端腾空时间(1.0)。
- 也叫
- 奖励设计、Reward Design、奖励函数设计
- 相关
- 奖励函数、奖励塑形、稀疏奖励、稠密奖励、奖励黑客、Eureka
- 来源
- Eureka: Human-Level Reward Design via Coding Large Language Models
legged_gym: legged_robot_config.py (reward scales)
Learning to Walk in Minutes Using Massively Parallel Deep Reinforcement Learning