【RL】4.Policy Gradient

本文详细介绍了强化学习中的策略梯度算法,包括策略梯度的计算方法、Policy Gradient算法的基本概念、重要性采样及其在on-policy与off-policy中的应用。重点探讨了Trust Region Policy Optimization (TRPO) 和 Proximal Policy Optimization (PPO) 两种策略优化方法,旨在理解如何通过策略梯度更新来优化模型参数。

RL-Ch4-Policy Gradient

策略梯度(Policy Gradient)

强化学习的例子

Scene Agent Env Reward Function
Video 游戏手柄 主机 杀1怪得20分
Go AlphaGo 李世石 the Rule of Go

在上述例子中,策略(policy)π\piπ的具体表现形式可认为是神经网络从输入层到输出层之间的参数矩阵θ\thetaθ

下图为一个加入了action的马尔可夫链,

在这里插入图片描述

记Trajectory τ={ s1,a1,...,sT,aT}\tau=\{s_1,a_1,...,s_T,a_T\}τ={ s1,a1,...,sT,aT},则

pθ(τ)=p(s1)pθ(a1∣s1)p(s2∣s1,a1)pθ(a2∣s2)p(s3∣s2,a2)...=p(s1)∏t=1Tpθ(at∣st)p(st+1∣st,at) p_\theta(\tau)=p(s_1)p_\theta(a_1|s_1)p(s_2|s_1,a_1)p_\theta(a_2|s_2)p(s_3|s_2,a_2)...\\ =p(s_1)\prod_{t=1}^Tp_\theta(a_t|s_t)p(s_{t+1}|s_t,a_t) pθ(τ)=p(s1)pθ(a1s1)p(s2s1,a1)pθ(a2s2)p(s3s2,a2)...=p(s1)t=1Tpθ(atst)p(st+1st,at)

同时决策需要考虑到收益,我们在上图中加入reward。
R(τ)=∑t=1Trt R(\tau)=\sum_{t=1}^Tr_t R(τ)=t=1Trt

在这里插入图片描述

则期望收益为
Rθˉ=∑τR(τ)pθ(τ)=Eτ∼pθ(τ)[R(τ)] \bar{R_\theta}=\sum_\tau R(\tau)p_\theta(\tau)=\mathbb{E}_{\tau\sim p_\theta(\tau)}[R(\tau)] Rθˉ=τR(τ)pθ(τ)=Eτpθ(τ)[R(τ)]
求期望收益的梯度有
∇Rθˉ=∑τR(τ)∇pθ(τ)=∑τR(τ)pθ(τ)∇pθ(τ)pθ(τ)=∑τR(τ)pθ(τ)∇log⁡pθ(τ)=Eτ∼pθ(τ)[R(τ)∇log⁡pθ(τ)] \nabla \bar{R_\theta}=\sum_\tau R(\tau)\nabla p_\theta(\tau)=\sum_\tau R(\tau)p_\theta(\tau)\frac{\nabla p_\theta(\tau)}{p_\theta(\tau)}\\ =\sum_\tau R(\tau)p_\theta(\tau)\nabla \log p_\theta(\tau)\\ =\mathbb{E}_{\tau\sim p_\theta(\tau)}[R(\tau)\nabla \log p_\theta(\tau)] Rθˉ=τR(τ)pθ(τ)=τR(τ)pθ(τ)pθ(τ)pθ(τ)=τR(τ)pθ(τ)logpθ(τ)=Eτpθ(τ)[R(τ)logpθ(τ)]

策略梯度的计算

有两种计算方法:

  1. 蒙特卡洛采样,式(4)可以改写为如下式(5)

∇Rθˉ≈1N∑n=1NR(τn)∇log⁡pθ(τn)=式(1)1N∑n=1N∑t=1TnR(τn)∇log⁡pθ(atn∣stn) \nabla \bar{R_\theta}\approx \frac{1}{N}\sum_{n=1}^N R(\tau^n)\nabla\log p_\theta(\tau^n)\overset{\text{式(1)}}{=}\frac{1}{N}\sum_{n=1}^N\sum_{t=1}^{T_n}R(\tau^n)\nabla\log p_\theta(a_t^n|s_t^n) RθˉN1n=1NR(τn)logpθ(τn)=(1)N1n=1Nt=1TnR(τn)logpθ(atnstn)

  1. 时序差分更新,式(4)可以改写为如下式(6)

∇Rθˉ≈1N∑n=1N∑t=1TnQn(stn,atn)∇log⁡pθ(atn∣stn) \nabla \bar{R_\theta}\approx \frac{1}{N}\sum_{n=1}^N\sum_{t=1}^{T_n}Q^n(s_t^n,a_t^n)\nabla\log p_\theta(a_t^n|s_t^n) Rθ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值