根据策略梯度方法,参数更新方程式为:
在策略梯度方法中,合适的步长对于参数更新至关重要,当步长不合适时,更新的参数所对应的策略是一个更不好的策略,当利用这个更不好的策略进行采样学习时,再次更新的参数会更差,因此很容易导致越学越差,最后崩溃。
TRPO要解决的问题就是解决这个问题,找到新的策略使得新的回报函数的值单调增,或单调不减。
是一个随机策略,是初始状态的分布。代表折扣奖赏的期望,定义如下:
TRPO的目的是找到新的策略,使得回报函数单调不减。那么如果将新的策略所对应的回报函数可以用旧的策略所对应的回报函数与其他项之和(公式3)代替并保证新的策略所对应的其他项大于等于零,那么新的策略就能保证回报函数单调不减。
其中,
证明如下(为新策略,为旧策略):
我们定义:
为了出现策略项,我们可以利用公式(5)将公式(3)改写为
由于严重的依赖于新的策略,使得公式(6)很难去优化。因此,我们忽略因策略改变而产生的状态分布的改变,即令,近似后的公式为
对比公式(6)与公式(7),我们发现在策略 处一阶近似,即:
TRPO在“自然策略梯度”的基础上提出了如下的算法,
该不等式带给我们重要的启示,那就是给出了的下界,我们定义这个下界为
利用这个下界我们可以证明策略的单调性:
如果新的策略能使得最大,那么有不等式,则,那么我们的目标将转化为寻找使得最大的新的策略。可形式化为
然而在实际中,使用惩罚系数 C 会使得更新步伐非常小,因此,提出如下的形式
但是,这个问题强加了一个约束,即KL散度在状态空间的每个点都有界限, 尽管理论上可行,但由于存在大量约束,这个问题难以解决。因此我们可以使用考虑平均KL散度来近似
另外,我们同样也可以引入“重要性采样”,并作形式上的演化,最终的不等式化为
论文中提出,可以将用代替。
论文的部分技巧总结
- 理论上证明了可通过优化替代目标并对KL散度进行惩罚来更新策略使得单调递增。 然而,较大惩罚系数会导致更新步伐过小,所以我们希望减小这个系数。实际上,很难有力地选择惩罚系数,因此我们使用硬约束(KL散度的界限)而不是惩罚。
- 很难进行数值优化和估计,因此我们用来代替。
- 我们的理论忽略了优势函数的估计误差。 Kakade和Langford(2002)在他们的推导中考虑了这个误差,并且在本文的背景中也存在相同的论点,但是为了简单化我们省略了它。