我对 On-Policy 和 Off-Policy TD 算法的理解是否正确?

数据挖掘 强化学习 q学习
2022-02-27 17:48:28

在阅读了这里的几个问题并浏览了有关该主题的一些页面之后,这是我对 Q-learning(作为 off-policy 的示例)和 SARSA(作为 on-policy 的示例)方法之间主要区别的理解。如果我被误导了,请纠正我。

1)通过on-policy算法,我们使用当前策略(权重为W的回归模型和ε-贪婪选择)来生成下一个状态Q。

2) 使用离策略算法,我们使用当前策略的贪婪版本来生成下一个状态的Q

3) 如果探索常数 ε 设置为 0,则关闭策略方法变为在线策略,因为Q是使用相同的贪心策略导出的。

4)然而,on-policy方法使用一个样本来更新策略,这个样本来自在线世界探索,因为我们需要确切地知道策略在当前和下一个状态下产生了哪些动作。而off-policy方法可以使用过去轨迹的经验回放(由不同的策略生成)来使用策略模型的输入和输出分布。

在此处输入图像描述

资料来源:https ://courses.engr.illinois.edu/cs440/fa2009/lectures/Lect24.pdf

再读一篇:http: //mi.eng.cam.ac.uk/~mg436/LectureSlides/MLSALT7/L3.pdf

1个回答

1)通过on-policy算法,我们使用当前策略(权重为W的回归模型和ε-贪婪选择)来生成下一个状态的Q。

是的。为避免混淆,对控制当前行为的策略使用术语“行为策略”,对正在评估和/或学习的策略使用“目标策略”可能会更好。

2)使用off-policy算法,我们使用当前策略的贪婪版本来生成下一个状态的Q。

有点。算法偏离策略的唯一要求是目标策略与行为策略不同。Q-learning 中通常的目标策略不一定是行为策略的贪婪版本,而是 Q 上的最大化策略。但是,如果行为策略是 Q 上的 ε-greedy,并且适应 Q 中的更新,那么是的,你的声明成立。

3) 如果探索常数 ε 设置为 0,则关闭策略方法变为在线策略,因为 Q 是使用相同的贪心策略导出的。

将 SARSA 与 Q 学习进行比较时确实如此,但在查看其他算法时可能不成立。这种仅贪婪的动作选择在所有环境中都不是非常有效的学习器。

4)然而,on-policy方法使用一个样本来更新策略,这个样本来自在线世界探索,因为我们需要确切地知道策略在当前和下一个状态下产生了哪些动作。而off-policy方法可以使用过去轨迹的经验回放(由不同的策略生成)来使用策略模型的输入和输出分布。

经验回放与策略内学习与策略外学习没有直接关系。但从技术上讲,是的,当经验被存储并在以后使用时,如果 Q 值在样本和学习代理的当前参数之间发生了足够的变化,那么这对于 SARSA 来说是不合时宜的。

但是,您会看到经验回放更常用于离策略方法,因为引导的离策略学习器(即使用下一个状态/动作的 Q 值来帮助估计当前 Q 值)在与函数逼近器一起使用时不太稳定. 经验回放有助于解决这个问题。