强化学习实践技巧

强化学习算法在一个具体问题的解决上能否起作用的关键是关于这个问题的状态空间、动作空间以及奖励函数的设计。

状态空间的设计

状态空间设计的两个极端是端到端和极致的特征工程。端到端的设计由于状态空间中包含许多冗余的信息,导致网络(在DRL中)不能很好地学习状态与奖励之间的关系;而极致的特征工程往往会造成 reality gap。好的状态空间设计能够保证智能体学习时环境的稳定性(状态分布以及状态的转移概率),从而使得待解决的问题成为一个MDP问题而不是POMDP问题。

在Sim-to-Real minitaur这篇文章中,四足机器人学习的两种步态,分别是Golloping步态和Trotting步态。学习这两种不同步态时,分别对其状态空间进行了设计,学习Golloping步态时的状态空间为12维 (包括[roll, pitch, roll_rate, pitch_rate, motor_front_leftL_joint, motor_front_leftR_joint, motor_back_leftL_joint, motor_back_leftR_joint, motor_front_rightL_joint, motor_front_rightR_joint, motor_back_rightL_joint, motor_back_rightR_joint]),而在学习Trotting步态时的状态空间为4维 (包括[roll, pitch, roll_rate, pitch_rate]),不同的状态空间设计都保证了智能体能学习到状态与奖励之间的关系。因为在四足机器人的控制信号中加入了开环控制信号来指导学习步态,所以在Golloping步态学习时不将各条腿的电机角度作为状态空间的一部分作为输入,那么这个问题就会变成POMDP问题。如果只将前4维作为输入,那么就不能很好的描述四足机器人的状态(因为Golloping步态下有很多不同的情况会导致相同的roll和pitch),而在Trotting步态导致四足机器人基座相同的roll和pitch的情况几乎时唯一的(Trotting步态的对角腿的开环控制信号的周期时相同的,而在使用开环控制信号指导强化学习学习步态的这个问题中强化学习所学习到的最优策略是趋向于“配合”开环控制信息(因为mlp是“没有记忆”的而开环控制信号是周期的,所以强化学习所学习的策略只能是“配合”的)),所以Trotting步态的学习只使用Golloping步态的前4维度便已经足够了。另一方面Trotting步态使用更加的紧凑的状态空间也使得网络更加容易学习到状态与奖励之间的关系。

后续待更新。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值