【论文讲义】正交策略梯度法和自动驾驶应用

【讲义】正交策略梯度法和自动驾驶应用

本文是论文Orthogonal Policy Gradient and Autonomous Driving Application的讲解讲义,本文中我们从一个关于奖励函数的回报梯度定理出发,证明了"当策略梯度向量和Q-Value向量正交时,奖励函数值为极大值",由此得出了一种实时逼近最优值的方法,并实现了这种方法且应用在了智能自动驾驶上.

在这里插入图片描述


关于奖励函数的回报梯度的定理

在此先证这个定理:在MDP(Markov Decision Process)中: 平均回报函数 ρ \rho ρ和策略 π \pi π及Q函数 Q π Q^{\pi} Qπ满足:

∂ ρ ∂ θ = ∑ a d π ( s ) ∑ a ∂ π ( s , a ) ∂ θ Q π ( s , a ) \frac{\partial \rho}{\partial \theta} = \sum_{a}d^\pi(s) \sum_a \frac{\partial \pi(s,a)}{\partial \theta} Q^\pi(s,a) θρ=adπ(s)aθπ(s,a)Qπ(s,a)

证明:

累计奖励可写作: V π ( s ) = ∑ a π ( s , a ) Q π ( s , a ) V^{\pi}(s) = \sum_a \pi(s,a) Q^\pi(s,a) Vπ(s)=aπ(s,a)Qπ(s,a)

可得:
∂ V π ( s ) ∂ θ = ∂ ∂ θ ∑ a π ( s , a ) Q π ( s , a ) \frac{\partial V^{\pi}(s)}{\partial \theta} =\frac{\partial}{\partial \theta} \sum_a \pi(s,a) Q^\pi(s,a) θVπ(s)=θaπ(s,a)Qπ(s,a)
= ∑ a ( ∂ π ( s , a ) ∂ θ Q π ( s , a ) + π ( s , a ) ∂ Q π ( s , a ) ∂ θ ) =\sum_a (\frac{\partial \pi(s,a)}{\partial \theta} Q^\pi(s,a) + \pi(s,a)\frac{\partial Q^\pi(s,a)}{\partial \theta} ) =a(θπ(s,a)Qπ(s,a)+π(s,a)θQπ(s,a))
= ∑ a ( ∂ π ( s , a ) ∂ θ Q π ( s , a ) + π ( s , a ) ∂ ∂ θ ( R a s − ρ ( π ) + ∑ s ′ P s s ′ a V π ( s ′ ) ) ) =\sum_a (\frac{\partial \pi(s,a)}{\partial \theta} Q^\pi(s,a) + \pi(s,a)\frac{\partial }{\partial \theta}(R^s_a-\rho(\pi)+\sum_{s'}P^a_{ss'} V^\pi(s')) ) =a(θπ(s,a)Qπ(s,a)+π(s,a)θ(Rasρ(π)+sPssaVπ(s)))
= ∑ a ( ∂ π ( s , a ) ∂ θ Q π ( s , a ) + π ( s , a ) ( − ∂ ρ ∂ θ + ∑ s ′ P s s ′ a ∂ V π ( s ′ ) ∂ θ ) ) =\sum_a (\frac{\partial \pi(s,a)}{\partial \theta} Q^\pi(s,a) + \pi(s,a)(-\frac{\partial \rho}{\partial \theta}+\sum_{s'}P^a_{ss'} \frac{\partial V^\pi(s')}{\partial \theta}) ) =a(θπ(s,a)Qπ(s,a)+π(s,a)(θρ+sPssaθVπ(s)))

d π d^\pi dπ项累加可得:
∑ s d π ( s ) ∂ ρ ∂ θ = ∑ s d π ( s ) ∑ a ∂ π ( s , a ) ∂ θ Q π ( s , a ) + ∑ s d π ( s ) ∑ a π ( s , a ) ∑ s ′ P s s ′ a ∂ V π ( s ′ ) ∂ θ ) − ∑ s d π ( s ) ∂ V π ( s ) ∂ θ \sum_s d^\pi(s) \frac{\partial \rho}{\partial \theta} = \sum_s d^\pi(s) \sum_a \frac{\partial \pi(s,a)}{\partial \theta} Q^\pi(s,a) + \sum_s d^\pi(s) \sum_a \pi(s,a) \sum_{s'}P^a_{ss'} \frac{\partial V^\pi(s')}{\partial \theta}) - \sum_s d^\pi(s) \frac{\partial V^{\pi}(s)}{\partial \theta} sdπ(s)θρ=sdπ(s)aθπ(s,a)Qπ(s,a)+sdπ(s)aπ(s,a)sPssaθVπ(s))sdπ(s)θVπ(s)

再由 d π d^\pi dπ的恒定性我们可得:
∑ s d π ( s ) ∂ ρ ∂ θ = ∑ s d π ( s ) ∑ a ∂ π ( s , a ) ∂ θ Q π ( s , a ) + ∑ s ′ ∈ S d π ( s ′ ) ∂ V π ( s ′ ) ∂ θ − ∑ s ∈ S d π ( s ) ∂ V π ( s ) ∂ θ \sum_s d^\pi(s) \frac{\partial \rho}{\partial \theta} = \sum_s d^\pi(s) \sum_a \frac{\partial \pi(s,a)}{\partial \theta} Q^\pi(s,a) + \sum_{s' \in S} d^\pi(s') \frac{\partial V^{\pi}(s')}{\partial \theta} - \sum_{s \in S} d^\pi(s) \frac{\partial V^{\pi}(s)}{\partial \theta} sdπ(s)θρ=sdπ(s)aθπ(s,a)Qπ(s,a)+sSdπ(s)θVπ(s)sSdπ(s)θVπ(s)
⇒ ∂ ρ ∂ θ = ∑ a d π ( s ) ∑ a ∂ π ( s , a ) ∂ θ Q π ( s , a ) \Rightarrow \frac{\partial \rho}{\partial \theta} = \sum_{a}d^\pi(s) \sum_a \frac{\partial \pi(s,a)}{\partial \theta} Q^\pi(s,a) θρ=adπ(s)aθπ(s,a)Qπ(s,a)
得证.


有了这个定理我们不难发现,

∑ a ∂ π ( s , a ) ∂ θ Q π ( s , a ) = ∂ π ∂ θ ⃗ ⊙ Q ⃗ \sum_a \frac{\partial \pi(s,a)}{\partial \theta} Q^\pi(s,a) =\vec{ \frac{\partial \pi}{\partial \theta}} \odot \vec{Q} aθπ(s,a)Qπ(s,a)=θπ Q

这意味着只需要使 ∣ ∣ ∂ π ∂ θ ⃗ ⊙ Q ⃗ ∣ ∣ = 0 ||\vec{ \frac{\partial \pi}{\partial \theta}} \odot \vec{Q}||=0 θπ Q =0即正交即可满足达到极值点。


用于自动驾驶

我们的实验环境是Torcs.《The Open Racing Car Simulator》(TORCS)是一款开源3D赛车模拟游戏.是在Linux操作系统上广受欢迎的赛车游戏.有50种车辆和20条赛道,简单的视觉效果.用C和C++写成,释放在GPL协议下.

在这里插入图片描述

整体架构是,由策略网络负责给出具体的驾驶操作,由Q值网络负责给出对驾驶操作达到的效果做预期评估.(这和人类的智能行为类似,是标准的Deep Reinforcement learning套路:行动能力和思考能力兼备).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值