参考资料:蘑菇书;《世界冠军带你从零实践强化学习》B站课程
Q表格
前面讲马尔可夫过程的时候提到过Q函数,Q函数是在某状态s下采取某动作a得到的平均奖励(状态动作价值)。Q表格就是在状态和动作两个维度上可视化的一张二维图表。
免模型预测
免模型即无法获取马尔可夫决策过程的情况(不知道状态转移概率和奖励函数,需要agent与环境去交互,从而学习到最佳策略)。
免模型预测即在免模型情况下,去评估给定策略的价值。
动态规划方法(属于有模型预测,因为是由贝尔曼期望方程来更新的)
蒙特卡洛方法(免模型预测,在当前状态下,走完一条支路,然后根据这条路径上的状态来更新)
时序差分法(免模型预测,在当前状态下,走一步(或n步),马上更新一次)
免模型控制
在讲马尔可夫决策过程时,提到有策略迭代和价值迭代两种方法, 但是都不适合免模型的情况,因为都需要用到状态转移概率和奖励函数。于是对策略迭代进行改进,得到带有蒙特卡洛和时序差分方法的广义策略迭代算法。
分为同策略(on policy)和异策略(off policy)算法。
同策略:Sarsa算法
将时序差分更新价值V的公式套用到Q函数上,既可以用下一步的Q来更新这一步的Q。因此该方法具有时序差分的特性——即走一步更新一次。所以它用来执行的策略也是用来做优化的策略,属于同策略算法。
异策略:Q学习
Q学习和Sarsa的区别主要在于学习时不去看下一步执行的动作,而是默认以最优的动作去更新策略,所以执行的策略和做优化的策略不是同一套,属于异策略学习。
同策略和异策略
摘抄蘑菇书
Sarsa 是一个典型的同策略算法,它只用了一个策略 ππ,它不仅使用策略 ππ 学习,还使用策略 ππ 与环境交互产生经验。 如果策略采用 εε-贪心算法,它需要兼顾探索,为了兼顾探索和利用,它训练的时候会显得有点“胆小”。它在解决悬崖行走问题的时候,会尽可能地远离悬崖边,确保哪怕自己不小心探索了一点儿,也还是在安全区域内。此外,因为采用的是 εε-贪心 算法,策略会不断改变(εε 值会不断变小),所以策略不稳定。
Q学习是一个典型的异策略算法,它有两种策略————目标策略和行为策略,它分离了目标策略与行为策略。Q学习可以大胆地用行为策略探索得到的经验轨迹来优化目标策略,从而更有可能探索到最佳策略。行为策略可以采用 εε-贪心 算法,但目标策略采用的是贪心算法,它直接根据行为策略采集到的数据来采用最佳策略,所以 Q学习 不需要兼顾探索。
我们比较一下 Q学习 和 Sarsa 的更新公式,就可以发现 Sarsa 并没有选取最大值的最大化操作。因此,Q学习是一个非常激进的方法,它希望每一步都获得最大的利益;Sarsa 则相对较为保守,它会选择一条相对安全的迭代路线。
异策略的示意图,行为策略去大胆探索,目标策略根据行为策略的观测来做优化。