[RL Notes] 持续性任务的策略梯度
Contents [show]
1. 学习策略的目标
为了改善参数化策略,首先要确定优化目标。强化学习的目标是最大化长期收益,更具体地,分幕式任务的目标是最大化收益序列构成的回报
Gt=T∑t=0Rt
对于持续性任务,为了使回报有限而引入折扣,目标是最大化折后回报
Gt=∞∑t=0γtRt
持续性任务还可以使用平均收益的回报
Gt=∞∑t=0Rt–r(π)
以平均收益的回报为例,我们的目标是通过学习策略最大化平均收益的回报。在策略 π 下的平均收益定义为
r(π)=∑sμπ(s)∑aπ(a|s)∑s′,rp(s′,r|s,a)r
上式中:
- ∑s′,rp(s′,r|s,a)r 表示策略 π 下在状态 s 选择动作 a 的期望收益,即 E[Rt|St=s,At=a]。
- ∑aπ(a|s)∑s′,rp(s′,r|s,a)r 通过对所有动作求和,得到策略 π 下在状态 s 的期望收益,即 E[Rt|St=s]。
- ∑sμπ(s)∑aπ(a|s)∑s′,rp(s′,r|s,a)r 通过使用策略 π 下各个状态出现的概率进行加权,得到策略 π 的整体平均收益,即 Eπ(Rt)
策略优化的目标是找到最大化平均收益的策略,对于函数逼近的方法,首先要找到平均收益对于策略参数的梯度
∇r(π)=∇∑sμπ(s)∑aπ(a|s)∑s′,rp(s′,r|s,a)r
然后据此改善策略,这种方法称为策略梯度方法。
注意在之前的改善策略的方法中,都是通过广义策略迭代来估计动作价值,然后通过动作价值来改善策略,而这里的策略梯度方法是直接对参数化的策略进行学习。另外需要注意的是我们的目标是最大化平均收益,在梯度方法中,我们要朝着梯度上升的方向进行优化。
2. 策略梯度定理
计算式 (5) 的一个难点在于式中的 μπ(s) 依赖于策略参数 θ,改善策略的同时会改变策略 π 下访问每个状态的概率 μπ(s)。进一步计算式 (5) 的梯度
∇r(π)=∇∑sμπ(s)∑aπ(a|s)∑s′,rp(s′,r|s,a)r=∑s∇μπ(s)∑aπ(a|s)∑s′,rp(s′,r|s,a)r+∑sμπ(s)∇∑aπ(a|s)∑s′,rp(s′,r|s,a)r
式 (6) 中的 ∇μπ(s) 往往也难以计算,因为 μπ(s) 依赖于策略和环境的长期交互。
策略梯度定理给出了计算 ∇r(π) 的简单方法
∇r(π)=∑sμπ(s)∑a∇π(a|s,θ)qπ(s,a)
上式中的梯度项只有策略的梯度 ∇π(a|s,θ),只要参数化的策略可微,就容易计算策略梯度。∇π(a|s,θ) 表示要提高选择某个动作的概率,需要如何调整策略的参数,调整的幅度受到动作价值 qπ(s,a) 的控制。对于具有较高价值的动作,调整策略大幅提高选择该动作的概率;对于具有较低价值的动作,提高的幅度较小;如果动作具有负的价值,则会导致反向的调整——提高选择“相反”动作的概率。最后,式 (7) 中通过 ∑sμπ(s) 以每个状态出现的概率进行加权,给出能够最有效提高整体平均收益方向。