动态规划之迭代策略评估
2021-08-09 本文已影响0人
Rain师兄
强化学习完解决两个问题
1.预测问题
给定一个策略,找出评估这个策略的价值函数。
2.控制问题
找出最佳德策略
强化学习最终目的是找到一个policy最大化未来的奖励之和。
迭代策略评估算法,核心是让两个相邻的价值函数做差,求其绝对值,再设置一个门槛,如果绝对值小于这个门槛,那么就结束迭代,得到最佳价值函数。
一开始想不通,这到底在干什么,在之前一些简单的状态图中的例子里,因为是决定论的,做出一个行为就必定到达一个状态,或者说没有考虑可能处在同一个状态。之前把agent直接当成人来理解。本质上agent只能认识数字,它并不理解最大化未来奖励是什么。如果设置随机策略,他会四处乱走,不存在有上帝视角一开始就知道最佳的策略是什么,它只能跟一个在迷宫里的老鼠一样,一步一步的学,一次次迭代,等到足够了就能一次性走出迷宫。
等到差值的绝对值小于这个门槛的话,相当于每个状态的价值都变化很少,相当于收集的数据已经很多了,相当于已经收敛了。
最开始不理解的是为什么每个state的价值是如此如此变化的,这个算法究竟是怎么起作用的。
这个算法是对每个状态进行迭代,而且是在一个无限循环中,只有等到收敛。
原来是初始化的时候,每个状态设置的初始价值都是不合适的(除了终止状态),因为事先并不知道每个状态真正的价值,所以才需要迭代来让价值结果更加精确。
随着迭代的进行,每个状态的价值都越来越接近平均值。既然是加权均值,那么应该是确定性的,只要给定了动作的概率分布,状态的转移概率分布,每个状态的奖励,那么最后的价值应该是一致的,而不是差值很小,即收敛。为什么会这样?
可能是小数位,处理一些不可数的数,才有了差别。