TRPO / PPO在损失函数中的重要抽样项

问题描述 投票:0回答:2

在信任区域政策优化(TRPO)算法(以及随后的PPO)中,我不理解从标准政策梯度中替换对数概率项的动机

enter image description here

与政策输出概率的重要抽样项相比,旧政策输出概率

enter image description here

有人可以向我解释这一步吗?

我理解一旦我们这样做了,为什么我们需要约束'信任区域'内的更新(以避免πθold增加梯度更新,其中梯度方向的近似是准确的),我只是不确定首先包括这个术语的原因。

machine-learning reinforcement-learning
2个回答
3
投票

PG的原始配方没有log,它只是E[pi*A]log用于数值稳定性,因为它不会改变最佳值。

必须使用重要性抽样项,因为您正在最大化pi(新政策),但您只有当前政策pi_old的样本。所以基本上是做什么的

  • 你想解决integral pi*A
  • 你没有来自pi的样品,只有来自pi_old的样品
  • 您将问题更改为integral pi/pi_old*pi_old*A
  • 这相当于integral pi/pi_old*Api_old的样本近似。

如果您希望存储在先前迭代期间收集的样本并仍然使用它们来更新策略,这也很有用。

然而,这种天真的重要性抽样通常是不稳定的,特别是如果您当前的政策与前一个政策有很大不同。在PPO和TRPO中它运作良好,因为政策更新受到限制(TRPO中的KL分歧和PPO中的IS比率削减)。

This是理解重要性抽样的好书。


1
投票

TRPO和PPO继续优化政策而不再采样。

这意味着用于估计梯度的数据已使用不同的策略(pi_old)进行采样。为了纠正抽样政策与正在优化的政策之间的差异,需要应用重要性抽样比率。

© www.soinside.com 2019 - 2024. All rights reserved.