在一个包含Actor、Env、Reward Function的强化学习的情景中,Env和Reward Function是你所不能控制的。
Actor的策略 π \pi π是一个参数为 θ \theta θ的网络
引入奖励机制的话:
策略
π
\pi
π的总奖励:
R
(
τ
)
=
∑
t
=
1
T
r
t
R(\tau)=\sum_{t=1}^Tr_t
R(τ)=t=1∑Trt
策略梯度的计算方法:
∇
R
‾
θ
=
∑
R
(
τ
)
∇
p
θ
(
τ
)
=
∑
R
(
τ
)
p
θ
∇
p
θ
(
τ
)
p
θ
(
τ
)
\nabla \overline{R}_\theta = \sum R(\tau)\nabla p_\theta(\tau)=\sum R(\tau)p_\theta \frac{\nabla p_\theta(\tau)}{p_\theta(\tau)}
∇Rθ=∑R(τ)∇pθ(τ)=∑R(τ)pθpθ(τ)∇pθ(τ)
由上式,计算策略梯度是, R ( τ ) R(\tau) R(τ)不需要必须是可微的,甚至可以是一个黑盒。因为不需要对它进行求导。
借助 ∇ f ( x ) = f ( x ) ∇ l o g f ( x ) \nabla f(x)=f(x)\nabla logf(x) ∇f(x)=f(x)∇logf(x),可得:
∇ R ‾ θ = ∑ R ( τ ) p θ ( τ ) ∇ l o g p θ ( τ ) = E τ ∼ p θ ( τ ) [ R ( τ ) ∇ l o g p θ ( τ ) ] \nabla \overline{R}_\theta = \sum R(\tau)p_\theta(\tau)\nabla logp_\theta(\tau)=E_{\tau\sim p_\theta(\tau)}[R(\tau)\nabla logp_\theta(\tau)] ∇Rθ=∑R(τ)pθ(τ)∇logpθ(τ)=Eτ∼pθ(τ)[R(τ)∇logpθ(τ)] ≈ 1 N ∑ n = 1 N R ( τ n ) ∇ l o g p θ ( τ n ) = 1 N ∑ n = 1 N ∑ t = 1 T n R ( τ n ) ∇ l o g p θ ( a t n ∣ s t n ) \approx \frac{1}{N}\sum_{n=1}^{N}R(\tau^n)\nabla logp_\theta(\tau^n)=\frac{1}{N}\sum_{n=1}^N\sum_{t=1}^{T_n}R(\tau^n)\nabla logp_\theta(a_t^n|s_t^n) ≈N1n=1∑NR(τn)∇logpθ(τn)=N1n=1∑Nt=1∑TnR(τn)∇logpθ(atn∣stn)
也就是说,我们是以采样求和的方式来逼近概率分布 p θ ( τ ) p_\theta(\tau) pθ(τ)下的期望的。
在给定策略
π
θ
\pi_\theta
πθ的条件下,我们采用梯度下降类似的策略梯度上升的方法来更新模型,注意每一个迹(Trajectory) 仅使用一次。
梯度计算时,在奖励函数R的部分添加一个负的偏移量b,这个偏移量b可以简单取整个奖励函数在迹 τ \tau τ上的期望,这样就形成了一个基准线。高于基准线算出来的log概率是正的,低于基准线算出来log概率是负的。这会使得计算梯度的每一项有增有减,并且只有reward高于基准线,才让其action概率增加,从而解决了单纯因为没有采样导致某个action概率大规模下降的问题。
技巧二:采取更恰当的奖励:
以左半部分为例,上图的意思是,计算action
a
1
a_1
a1的reward,原本是只看
(
s
a
,
a
1
)
(s_a,a_1)
(sa,a1)这一个pair,但由于执行了
a
1
a_1
a1导致执行
a
3
a_3
a3时会被扣2分,所以
a
1
a_1
a1的reward应该是+3而不是+5。
所以计算reward的更为恰当的方法是,计算执行该步action后的reward总和。
更近一步还可以添加一个折扣因子
γ
\gamma
γ:
因为我们计算一个action的reward是采用对当前步及以后步求和方式进行的,所以前面步的action会对后面步的action的reward产生影响。引入
γ
\gamma
γ是为了使得距离越远的action对当前action的reward影响越小。
最后,b也可以是状态的,即每一个state都独有一个b。
还有一种方法是采用基于Actor-Critic模式的优势函数(Advantage function): A θ ( s t , a t ) A^\theta(s_t,a_t) Aθ(st,at)来替代 R ( τ n ) − b R(\tau^n)-b R(τn)−b。优势函数衡量了在观察 s t s_t st下采取动作 a t a_t at而不是其他动作的好坏程度,由critic给出。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- axer.cn 版权所有 湘ICP备2023022495号-12
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务