强化学习Sarsa,Q-learning的收敛性最优性区别(on-policy跟off-policy的区别)

1. Sarsa 与Q-learning

强化学习Sarsa,Q-learning的收敛性最优性区别(on-policy跟off-policy的区别)_第1张图片

强化学习Sarsa,Q-learning的收敛性最优性区别(on-policy跟off-policy的区别)_第2张图片

Q-learning在每一步TD中贪心的获取下一步最优的状态动作值函数。而Sarsa则是e-greedy的选取TD中的下一个状态动作值函数。在这种情况下,Q-learning更倾向于找到一条最优policy,而Sarsa则会找到一条次优的policy。这是由于Sarsa在TD误差中随机的选取下一个状态动作值函数,这样可能会使整体的状态值函数降低。如下示例进一步说明这种情况。
强化学习Sarsa,Q-learning的收敛性最优性区别(on-policy跟off-policy的区别)_第3张图片

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:生成样本的policy(value function)跟网络更新参数时使用的policy(value function)相同。典型为SARAS算法,基于当前的policy直接执行一次动作选择,然后用这个样本更新当前的policy,因此生成样本的policy和学习时的policy相同,算法为on-policy算法。该方法会遭遇探索-利用的矛盾,光利用目前已知的最优选择,可能学不到最优解,收敛到局部最优,而加入探索又降低了学习效率。epsilon-greedy 算法是这种矛盾下的折衷。优点是直接了当,速度快,劣势是不一定找到最优策略。
强化学习Sarsa,Q-learning的收敛性最优性区别(on-policy跟off-policy的区别)_第4张图片
off-policy:生成样本的policy(value function)跟网络更新参数时使用的policy(value function)不同。典型为Q-learning算法,计算下一状态的预期收益时使用了max操作,直接选择最优动作,而当前policy并不一定能选择到最优动作,因此这里生成样本的policy和学习时的policy不同,为off-policy算法。先产生某概率分布下的大量行为数据(behavior policy),意在探索。从这些偏离(off)最优策略的数据中寻求target policy。当然这么做是需要满足数学条件的:假設π是目标策略, µ是行为策略,那么从µ学到π的条件是:π(a|s) > 0 必然有 µ(a|s) > 0成立。两种学习策略的关系是:on-policy是off-policy 的特殊情形,其target policy 和behavior policy是一个。劣势是曲折,收敛慢,但优势是更为强大和通用。其强大是因为它确保了数据全面性,所有行为都能覆盖。
强化学习Sarsa,Q-learning的收敛性最优性区别(on-policy跟off-policy的区别)_第5张图片

你可能感兴趣的:(强化学习,强化学习薄荷糖,强化学习)