对于购物车杆子平衡问题,我想知道为什么这么多用于控制器的强化学习实现都有一个奖励函数,每当杆子倒下时奖励-1,而对于杆子保持直立的每个时间步奖励0。
如果倒下立即产生与平衡一分钟后倒下的奖励相同的奖励,这将如何训练系统?
发布于 2021-04-07 23:09:14
你现在缺少的信息是time taken to reach that reward。
当对控制器执行更新时,RL算法通常会使用折扣奖励,其中较早发生的-1奖励不如较晚发生的-1奖励。
例如,如果极点在中心的左侧,我们通过将极点一直向左移动会比将极点一直向右移动更快地收到-1。因此,当杆子向左移动时,向右移动会更好。当杆子在右边时,把它移到左边更好。从而使杆子围绕中心保持平衡。
就奖励如何打折而言,我们通常使用0到1之间的折扣因子参数来乘以每个时间步的奖励。例如,如果通过选择左侧动作,我们在1个时间步内获得-1奖励,而右侧动作将在2个时间步内为我们提供-1奖励,那么预期的折扣奖励(折扣率为0.99)将是左侧的0.99*-1 (-0.99)和右侧的0.99*0.99*-1 (-0.9801),因此选择右侧会更好。
此外,供参考的https://stats.stackexchange.com是一个更好的地方来询问RL问题,因为问题实际上不是关于编码的。
https://stackoverflow.com/questions/66977523
复制相似问题