【发布时间】:2021-07-02 18:16:15
【问题描述】:
对于推车杆平衡问题,我想知道为什么要解决控制器的这么多强化学习实现都有一个奖励函数,每次杆倒下时奖励 -1,杆在每个时间步长时奖励 0保持直立。
如果跌倒立即产生与平衡一分钟后跌倒相同的奖励,这将如何训练系统?
【问题讨论】:
-
99.9% 的读者不知道 “Cart Pole 平衡问题” 是什么,所以请在引用中编辑。
对于推车杆平衡问题,我想知道为什么要解决控制器的这么多强化学习实现都有一个奖励函数,每次杆倒下时奖励 -1,杆在每个时间步长时奖励 0保持直立。
如果跌倒立即产生与平衡一分钟后跌倒相同的奖励,这将如何训练系统?
【问题讨论】:
您现在缺少的信息是time taken to reach that reward。
在对控制器执行更新时,RL 算法通常会使用折扣奖励,其中较早发生的 -1 奖励不如稍后发生的 -1 奖励。
例如,如果杆子稍微偏左一点;将杆一直向左移动,我们将比我们将杆一直向右移动更快地收到-1。因此,当杆在左侧时,将其向右移动更好。当杆在右边时,把它移到左边会更好。从而平衡中心周围的极点。
就奖励的折扣方式而言,我们通常使用介于 0 和 1 之间的折扣因子参数来乘以每个时间步的奖励。例如,如果通过选择左侧动作,我们在 1 个时间步内获得 -1 奖励,而右侧动作将在 2 个时间步内给我们 -1 奖励,那么 预期的折扣奖励 em> (折扣系数为 0.99)左侧为 0.99*-1 (-0.99),右侧为 0.99*0.99*-1 (-0.9801),因此选择右侧会更好。
另外,仅供参考 - https://stats.stackexchange.com 是询问 RL 问题的更好地方,因为问题与编码无关。
【讨论】: