1. Sarsa 与Q-learning
Q-learning在每一步TD中贪心的获取下一步最优的状态动作值函数。而Sarsa则是e-greedy的选取TD中的下一个状态动作值函数。在这种情况下,Q-learning更倾向于找到一条最优policy,而Sarsa则会找到一条次优的policy。这是由于Sarsa在TD误差中随机的选取下一个状态动作值函数,这样可能会使整体的状态值函数降低。如下示例进一步说明这种情况。
The cliff是一个悬崖,上面的小方格表示可以走的道路。S为起点,G为终点。悬崖的reward为-100,小方格的reward为-1。则Q-learning的结果为optimial path最优路径。Sarsa的结果为safe path次优路径。这是由于在Sarsa更新的过程中,如果在悬崖边缘处,下一个状态由于是随机选取可能会掉下悬崖,因此当前状态值函数会降低,使得智能体不愿意走靠近悬崖的路径。而Q-learning在悬崖边选取的下一步是最优路径,不会掉下悬崖,因此更偏向于走悬崖边的最优路径。
如果e-greedy的e逐渐衰减,则Sarsa与Q-learning的结果都近似收敛到最优解。
2. on-policy 与off-policy
on-policy:生成样本的pol