强化学习—— 离散与连续动作空间(随机策略梯度与确定策略梯度)

深度强化学习:离散与连续动作空间的策略网络
本文介绍了强化学习中离散和连续动作空间的处理,重点讲解了确定策略梯度(DPG)和随机策略网络在连续控制任务中的应用。对于确定策略梯度,详细阐述了其推导过程和使用Target网络的改进;而对于随机策略网络,讨论了多维度连续动作空间的策略表示,并提到了策略梯度算法如reinforce和Actor-Critic。文章强调了在实际应用中,策略网络和价值网络的优化策略及其在解决维度灾难问题上的角色。

1. 动作空间

1.1 离散动作空间

  • 比如: { l e f t , r i g h t , u p } \{left,right,up\} { left,right,up}
  • DQN可以用于离散的动作空间(策略网络)
  • 在这里插入图片描述

1.2 连续动作空间

  • 比如: A = [ 0 ∘ , 18 0 ∘ ] ∗ [ 0 ∘ , 36 0 ∘ ] A=[0^{\circ} ,180^{\circ} ]*[0^{\circ} ,360^{\circ} ] A=[0180][0,360]
    在这里插入图片描述
  • 连续动作空间的两种处理方式:
  1. 离散化(discretization):比如机械臂进行二维网格划分。假设d为连续动作空间的自由度,动作离散化后的数量会随着d的增加呈现指数增长,从而造成维度灾难。
  2. 使用确定策略梯度。
  3. 使用随机策略梯度。

2. 确定策略梯度做连续控制

在这里插入图片描述

  • 动作空间为 R d R^d Rd的一个子集

2.1 确定策略梯度推导

  • 确定策略网络: a = π ( s ; θ ) a = \pi(s;\theta) a=π(s;θ)
  • 价值网络(输出为一个标量): q ( s , a ; W ) q(s,a;W) q(s,a;W)
    网络学习过程为:
  1. 观测到一个transition: ( s t , a t , r t , s t + 1 ) (s_t,a_t,r_t,s_{t+1}) (st,at,rt,st+1)
  2. 计算t时刻价值网络的函数值: q t = q ( s t , a t ; W ) q_t = q(s_t,a_t;W) qt=q(st,at;W)
  3. 计算t+1时刻价值网络的函数值: a t + 1 − = π ( s t + 1 ; θ ) q t + 1 = q ( s t + 1 , a t + 1 − ; W ) a_{t+1}^-=\pi(s_{t+1};\theta)\\q_{t+1}=q(s_{t+1},a_{t+1}^-;W) at+1=π(st+1;θ)qt+1=q(st+1,at+1;W)
  4. TD Error为: δ t = q t − ( r t + γ ⋅ q t + 1 ) \delta_t=q_t-(r_t+\gamma\cdot q_{t+1}) δt=qt(rt+γqt+1)
  5. 更新价值网络: W ← W − α ⋅ ∂ q ( s t , a t ; W ) ∂ W W\gets W-\alpha\cdot\frac{\partial q(s_t,a_t;W)}{\partial W} WWαWq(st,at;W)
  6. 更新策略网络所需的策略梯度推导: 策 略 网 络 的 目 标 为 通 过 策 略 网 络 a = π ( s ; θ ) 做 出 的 决 策 可 以 增 加 价 值 网 络 q = q ( s , a ; W ) 的 值 。 因 此 确 定 策 略 梯 度 ( d e t e r m i n i s t i c p o l i c y g r a d i e n t , D P G ) 为 : g = ∂ q ( s , π ( s ; θ ) ; W ) ∂ θ = ∂ q ( s . π ( s ; θ ) ; W ) ∂ π ( s ; θ ) ⋅ ∂ π ( s ; θ ) ∂ θ 策略网络的目标为通过策略网络a=\pi(s;\theta)\\做出的决策可以增加价值网络q=q(s,a;W)的值。\\ 因此确定策略梯度(deterministic policy gradient, DPG)为:\\ g=\frac{\partial q(s,\pi(s;\theta);W)}{\partial \theta}=\frac{\partial q(s.\pi(s;\theta);W)}{\partial \pi(s;\theta)}\cdot \frac{\partial \pi(s;\theta)}{\partial \theta} a=π(s;θ)q=q(s,a;W)deterministicpolicygradientDPGg=θq(s,π(s;θ);W)=π(s;θ)q(s.π(s;θ);W)θπ(s;θ)
  7. 依据确定策略梯度进行策略网络参数更新: g = ∂ q ( s , π ( s ; θ ) ; W ) ∂ θ = ∂ q ( s . π ( s ; θ ) ; W ) ∂ π ( s ; θ ) ⋅ ∂ π ( s ; θ ) ∂ θ θ ← θ + β ⋅ g g=\frac{\partial q(s,\pi(s;\theta);W)}{\partial \theta}=\frac{\partial q(s.\pi(s;\theta);W)}{\partial \pi(s;\theta)}\cdot \frac{\partial \pi(s;\theta)}{\partial \theta}\\ \theta\gets \theta+\beta\cdot g g=θq(s,π(s;θ);W)=π(s;θ)q(s.π(s;θ);W)θπ(s;θ)θθ+βg

2.2 确定策略梯度网络的改进

2.2.1 使用Target网络

Bootstrapping现象:

  • TD Target为: δ t = q t − ( r t + γ ⋅ q t − 1 ) \delta_t =q_t-(r_t+\gamma\cdot q_{t-1}) δt
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值