最近在读一篇增强学习的综述
DEEP REINFORCEMENT LEARNING : AN OVERVIEW
发现里边介绍SARSA时,伪代码是错误的。
1.TD Learning
TD Learning,SARSA,Q Learning
2.SARSA
TD Learning,SARSA,Q Learning
错误就在于,sarsa算法的下一个动作在这次更新时就已经确定了。所以需要在step迭代之前对action进行初始化。
3.Q Learning
TD Learning,SARSA,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的区别。
这三种方法在特定条件下收敛。根据最优值函数,我们能得到最优策略。

相关文章:

  • 2022-01-05
  • 2021-10-19
  • 2021-04-24
  • 2021-04-13
  • 2021-12-26
  • 2022-12-23
  • 2021-11-21
  • 2021-07-19
猜你喜欢
  • 2021-09-01
  • 2021-05-14
  • 2021-08-05
  • 2021-12-01
  • 2022-01-04
  • 2021-08-22
相关资源
相似解决方案