最近在读一篇增强学习的综述
DEEP REINFORCEMENT LEARNING : AN OVERVIEW
发现里边介绍SARSA时,伪代码是错误的。
1.TD Learning
2.SARSA
错误就在于,sarsa算法的下一个动作在这次更新时就已经确定了。所以需要在step迭代之前对action进行初始化。
3.Q Learning
TD Learning包含Q Learning和sarsa。
我们说Q Learning是off-policy的,而sarsa是on-policy的。为什么这么说呢?
是因为更新Q时,sarsa是确定好下一个状态和action才进行更新的。但是Q Learning更新时,是选取下一个state的最优动作进行更新,而下一个state实际上采取的action是不能在这次更新时确定的。Q Learning好比是观察你上一次的情况,这次我在做决定。但是sarsa这次更新之前就已经确定好了下一个state和action。这也是Q Learning和sarsa的区别。
这三种方法在特定条件下收敛。根据最优值函数,我们能得到最优策略。
TD Learning,SARSA,Q Learning
最新推荐文章于 2024-05-30 09:00:17 发布