ddpg/Continuous control with deep reinforcement learning

该博客探讨了一种解决连续动作空间强化学习的方法,通过结合DQN和Actor-Critic算法。它建立了两个网络,一个Actor网络用于选择动作,一个Critic网络用于价值评估。在更新过程中,使用Actor网络的梯度来改进策略,而不是直接更新策略网络。更新步骤包括从经验回放缓冲区采样,利用目标网络进行稳定训练,并逐步更新Actor和Critic网络的参数。
摘要由CSDN通过智能技术生成

文章目录

总结

融合dqn buffer+actor/critic分别2个网络,连续的action(更新时不是 ∇ θ π ( a ∣ s ) \nabla_\theta\pi(a|s) θπ(as)了,而是 ∇ θ μ ( s ) \nabla_\theta\mu(s) θμ(s) μ \mu μ是actor网络)、连续的states

细节

之前的方法action都是离散的,这里可以解决连续action的问题

在这里插入图片描述

对action和critic分别建了2个网络,actor网络 μ , μ ′ \mu, \mu' μ,μ,critic网络 Q , Q ′ Q, Q' Q,Q,更新步骤为:

  1. 根据当前actor μ \mu μ及噪音 N t \mathcal{N}_t Nt选动作: a t = μ ( s t ) + N t a_t = \mu(s_t) + \mathcal{N}_t at=μ(st)+Nt
  2. 执行动作 a t a_t at获得reward r t r_t rt以及新的state s t + 1 s_{t+1} st+1
  3. buffer
  4. 从buffer中sample N个trajectory
  5. 计算 y i = r i + γ Q ′ ( s i + 1 , μ ′ ( s i + 1 ) ) y_i = r_i + \gamma Q'(s_{i+1}, \mu'(s_{i+1})) yi=ri+γQ(si+1,μ(si+1))
  6. 更新critic网络: L = 1 N ∑ i ( y i − Q ( s i , a i ) ) 2 L = \frac{1}{N}\sum_i(y_i - Q(s_i, a_i))^2 L=N1i(yiQ(si,ai))2
  7. 更新actor网络: ∇ θ μ ≈ 1 N ∑ i ∇ a Q ( s , a ) ∇ θ μ μ ( s ) \nabla_{\theta_\mu} \approx \frac{1}{N}\sum_i \nabla_aQ(s, a)\nabla_{\theta_\mu}\mu(s) θμN1iaQ(s,a)θμμ(s),作为对比,之前的policy gradient更新时是 ∇ θ μ ≈ 1 N ∑ i ∇ a Q ( s , a ) ∇ θ π ( a ∣ s ) \nabla_{\theta_\mu} \approx \frac{1}{N}\sum_i \nabla_aQ(s, a)\nabla_{\theta}\pi(a|s) θμN1iaQ(s,a)θπ(as)
  8. 更新critic, actor的target网络:
    θ Q ′ ← τ θ Q + ( 1 − τ ) θ Q ′ θ μ ′ ← τ θ μ + ( 1 − τ ) θ μ ′ \theta^{Q'} \leftarrow \tau\theta^Q + (1 - \tau)\theta^{Q'} \\ \theta^{\mu'} \leftarrow \tau\theta^\mu + (1 - \tau)\theta^{\mu'} \\ θQτθQ+(1τ)θQθμτθμ+(1τ)θμ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值