对于DQN来说使用一个网络直接逼近了值函数,最后取得了非常不错的效果, 但是对于一些连续性控制或者动作空间特别大的环境来说,很难全部计算所有的值函数来得到最好的策略,那么直接计算策略的方法就别提出来了。
回顾一下前面几篇,所谓的策略,其实就是状态到动作的映射数学表达为 π:s→a\pi : s \to aπ:s→a,
我们用τ\tauτ 表示状态s到最后一个状态的一个序列,表示为:
τ:st,st+1....sT \tau : s_{t},s_{t+1}....s_{T} τ:st,st+1....sT
那么奖励R(τ)R(\tau)R(τ) 是一个随机变量,没法直接作为目标函数被优化,因此采用了随机变量的期望作为目标函数:
J=∫r(τ)Pπ(τ)dτ(1) J= \int r(\tau)P_{\pi}(\tau)d\tau \tag{1} J=∫r(τ)Pπ(τ)dτ(1)
因此强化学习的目标是找到最好的 maxπ∫R(τ)Pπ(τ)dτ\max\limits_{\pi} \int R(\tau)P_{\pi}(\tau)d\tauπmax∫R(τ)Pπ(τ)dτ,从最优策略的角度来说,对于序列$ s_{t},s_{t+1}…s_{T},最优的策略序列为:, 最优的策略序列为:,最优的策略序列为:u_{0}^{
} \to u_{1}^{
} \to u_{2}^{
} \to…u_{T}^{
}$,总结为:找到最优策略: π∗:s→u∗\pi^{*}:s \to u^{*}π∗:s→u∗。
继续从目标函数说起, 由于要用神经网络来计算策略梯度,需要用一个网络结构去逼近策略,在此处我们假设神经网络的结构参数为θ\thetaθ,将目标函数由公式-1变为:
J(θ)=Eτ∼πθ(τ)[r(τ)]=∫τ∼πθ(τ)πθ(τ)r(τ)dτ(2) J(\theta) = E_{\tau \sim \pi_{\theta}(\tau)}[r(\tau)] = \int _{\tau \sim \pi_{\theta}(\tau)}\pi_{\theta}(\tau)r(\tau)d\tau \tag{2} J(θ)=Eτ∼πθ(τ)[r(τ)]=∫τ∼πθ(τ)πθ(τ)r(τ)dτ(2)
推导原因:f(x)f(x)f(x) 关于某分布P(x)P(x)P(x)的期望,对于连续性变量,期望通过积分求得:
Ex∼P[f(x)]=∫p(x)f(x)dx(3) E_{x \sim P}[f(x)]= \int p(x)f(x)dx \tag{3} Ex∼P[f(x)]=

&spm=1001.2101.3001.5002&articleId=80705950&d=1&t=3&u=d195931ffed6419a984e9b6403be6fef)
4453





