强化学习On-policy vs Off-policy
这里我们讲讲强化学习中on-policy和off-policy的区别。
实际上这个区别非常简单,就是说如果算法在更新它的policy的时候,它是依赖于前面的Q value function的话,那么它就是on-policy的。反之如果它是依赖于随机的一个输入或者人为的操控,那么它就是一个off policy的。
具体来说就是由于在算法更新我们value fcuntion 的时候,实际上我们就是基于这个现有的policy去更新这个value的function,实际上就是你一直依赖于之前的那个policy。 所以这叫 on-policy。
然后 off-policy 就是说我们不依赖于之前学习的policy 来进行一些决策,使得这些生成的数据,和基于这个policy 生成的数据不同。所以这就叫 off-policy.
举个例子就是那 Monte Carlo methods 为例。再这个例子里,我们看到这里面的更新用到了-greedy policy 去随机的引入一些操作。这而这些随机的一些data就是off-policy的。 为什么呢,因为算法再更新 policy function 的时候, 会一直贪心地以 action value function 中值最大的action 为选择,这样就会让一些action 可能没有机会被访问到,说白了就是 被explore 的机会就少了。
参考: http://incompleteideas.net/book/first/ebook/node54.html