强化学习(三)—— 策略学习(Policy-Based)及策略梯度(Policy Gradient)

策略学习与策略梯度
本文介绍了强化学习中策略学习的基础概念,包括策略网络如何近似策略函数、状态价值函数的定义及其近似方法,并详细解释了策略梯度方法的工作原理,展示了如何利用策略梯度进行参数更新。

强化学习(三)—— 策略学习(Policy-Based)及策略梯度(Policy Gradient)

1. 策略学习

Policy Network

  • 通过策略网络近似策略函数
    π ( a ∣ s t ) ≈ π ( a ∣ s t ; θ ) π(a|s_t)≈π(a|s_t;\theta) π(ast)π(ast;θ)
  • 状态价值函数及其近似
    V π ( s t ) = ∑ a π ( a ∣ s t ) Q π ( s t , a ) V_π(s_t)=\sum_aπ(a|s_t)Q_π(s_t,a) Vπ(st)=aπ(ast)Qπ(st,a)
    V ( s t ; θ ) = ∑ a π ( a ∣ s t ; θ ) ⋅ Q π ( s t , a ) V(s_t;\theta)=\sum_aπ(a|s_t;\theta)·Q_π(s_t,a) V(st;θ)=aπ(ast;θ)Qπ(st,a)
  • 策略学习最大化的目标函数
    J ( θ ) = E S [ V ( S ; θ ) ] J(\theta)=E_S[V(S;\theta)] J(θ)=ES[V(S;θ)]
  • 依据策略梯度上升进行
    θ ← θ + β ⋅ ∂ V ( s ; θ ) ∂ θ \theta\gets\theta+\beta·\frac{\partial V(s;\theta)}{\partial \theta} θθ+βθV(s;θ)

2. 策略梯度

Policy Gradient

∂ V ( s ; θ ) θ = ∑ a Q π ( s , a ) ∂ π ( a ∣ s ; θ ) ∂ θ = ∫ a Q π ( s , a ) ∂ π ( a ∣ s ; θ ) ∂ θ = ∑ a π ( a ∣ s ; θ ) ⋅ Q π ( s , a ) ∂ l n [ π ( a ∣ s ; θ ) ] ∂ θ = E A ∼ π ( a ∣ s ; θ ) [ Q π ( s , A ) ∂ l n [ π ( A ∣ s ; θ ) ] ∂ θ ] ≈ Q π ( s t , a t ) ∂ l n [ π ( a t ∣ s t ; θ ) ] ∂ θ \frac{\partial V(s;\theta)}{\theta}=\sum_a{Q_\pi(s,a)\frac{\partial\pi(a|s;\theta)}{\partial\theta}}\\=\int_a{Q_\pi(s,a)\frac{\partial\pi(a|s;\theta)}{\partial\theta}}\\=\sum_a{\pi(a|s;\theta)·Q_\pi(s,a)\frac{\partial ln[\pi(a|s;\theta)]}{\partial\theta}}\\=E_{A\sim\pi(a|s;\theta)}[Q_\pi(s,A)\frac{\partial ln[\pi(A|s;\theta)]}{\partial\theta}]\\≈Q_\pi(s_t,a_t)\frac{\partial ln[\pi(a_t|s_t;\theta)]}{\partial\theta} θV(s;θ)=aQπ(s,a)θπ(as;θ)=aQπ(s,a)θπ(as;θ)=aπ(as;θ)Qπ(s,a)θln[π(as;θ)]=EAπ(as;θ)[Qπ(s,A)θln[π(As;θ)]]Qπ(st,at)θln[π(atst;θ)]

  • 观测得到状态
    s t s_t st
  • 依据策略函数随机采样动作
    a t = π ( a t ∣ s t ; θ ) a_t = \pi(a_t|s_t;\theta) at=π(atst;θ)
  • 计算价值函数
    q t = Q π ( s t , a t ) q_t = Q_\pi(s_t,a_t) qt=Qπ(st,at)
  • 求取策略网络的梯度
    d θ , t = ∂ l n [ π ( a t ∣ s t ; θ ) ] ∂ θ ∣ θ = θ t d_{\theta,t}=\frac{\partial ln[\pi(a_t|s_t;\theta)]}{\partial\theta}|\theta=\theta_t dθ,t=θln[π(atst;θ)]θ=θt
  • 计算近似的策略梯度
    g ( a t , θ t ) = q t ⋅ d θ , t g(a_t,\theta _t)=q_t·d_{\theta,t} g(at,θt)=qtdθ,t
  • 更新策略网络
    θ t + 1 = θ t + β ⋅ g ( a t , θ t ) \theta_{t+1}=\theta_t+\beta·g(a_t,\theta_t) θt+1=θt+βg(at,θt)

3. 案例

目前没有好的方法近似动作价值函数,则未撰写案例。

by CyrusMay 2022 03 29

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值