策略搜索:
之前降到的其他方法都是通过最优值函数从而得到最优策略。利用这种方法得到的策略往往是状态空间向有限集动作空间的映射。(每个状态都有一个值函数,执行策略到下一个状态的值函数最大,直接argmax_a(值函数))
策略搜索是将策略进行参数化即 π θ ( s ) \pi_{\theta}\left(s\right) πθ(s),利用线性或非线性(如神经网络)对策略进行表示,寻找最优的参数 θ \theta θ使得强化学习的目标:累积回报的期望 E [ ∑ t = 0 H R ( s t ) ∣ π θ ] E\left[\sum_{t=0}^H{R\left(s_t\right)|\pi_{\theta}}\right] E[∑t=0HR(st)∣πθ]最大。
在值函数的方法中,我们迭代计算的是值函数,然后根据值函数对策略进行改进;而在策略搜索方法中,我们直接对策略进行迭代计算,也就是迭代更新参数值,直到累积回报的期望最大,此时的参数所对应的策略为最优策略。
比较:
优点:
适用动作空间很大或者动作为连续集
对策略
π
\pi
π进行参数化表示。
直接策略搜索方法经常采用的随机策略,能够学习随机策略。可以将探索直接集成到策略之中。
缺点:
策略搜索的方法容易收敛到局部最小值。
评估单个策略时并不充分,方差较大。
分类:
策略表示:
随机策略可以写为确定性策略加随机部分,即:
π
θ
=
μ
θ
+
ε
\pi_{\theta}=\mu_{\theta}+\varepsilon
πθ=μθ+ε是一个高斯策略。
确定性部分常见的表示为:
线性策略: μ ( s ) = ϕ ( s ) T θ \mu\left(s\right)=\phi\left(s\right)^T\theta μ(s)=ϕ(s)Tθ
径向基策略:
μ
θ
(
s
)
=
ω
T
ϕ
(
s
)
,
\mu_{\theta}\left(s\right)=\omega^T\phi\left(s\right),
μθ(s)=ωTϕ(s),
策略梯度: