1. On policy VS Off policy
On policy: agent在与环境互动的过程中学习
Off policy: agent看别人与环境互动的过程来学习。
On polocy的缺点:
每一次迭代都要重新sample data。要花很多时间在sample data上。
改进方法:
使用πθ′的sample来训练θ。
θ′是固定的,因此同一组sample data可以用多次。
2. Importance Sampling
已知:
Ex∼p[f(x)]≈N1∑f(x)
公式要求的x是从P中sample出的data,但我们只有从Q sample出的data。如何基于Q中的Data计算以上公式?经过公式推导得:
Ex∼p[f(x)]=Ex∼q[f(x)q(x)p(x)]
这样就转成了基于Q的data的计算公式。这个技巧叫做Importance Sampling,不只上用于这里,在很多地方都有应用。
公式中的q(x)p(x)称为Important Weight。
以上等式是用积分的形式推导出来的,实际计算的时候是使用sample data来计算的,所以计算结果只是近似。如果sample的点数太少,可能结果差别会比较大。只有sample的数据足够大,才能得到近似的结果。
3. 回到Reinforce Learning
offline policy是指用θ′与环境做互动来更新θ。
x∼p相当于τ∼pθ(τ),x∼q相当于τ∼pθ′(τ),得:
∇R¯θ==Eτ∼pθ(τ)[R(τ)∇logpθ(τ)]Eτ∼pθ′(τ)[pθ′(τ)pθ(τ)R(τ)∇logpθ(τ)]
再结合上面提到的“公式改进”,得:
∇R¯θ=E(st,at)∼πθ′[pθ′(st,at)pθ(st,at)Aθ′(st,at)∇logpθ(atn∣stn)]
反推出object function:
Jθ′(θ)=E(st,at)∼πθ′[pθ′(st,at)pθ(st,at)Aθ′(st,at)]