强化学习douzero模型伪代码

伪代码

在这里插入图片描述

中文逻辑

算法1 Douzero的Actor过程

  • Input: 对于每一次entry,共享buffer B L , B U , B D B_L, B_U, B_D BL,BU,BD有B个entries,size为 S S S,探索超参数为 ϵ \epsilon ϵ,折扣为 γ \gamma γ
  • 初始化本地Q-networks Q L , Q U , Q D Q_L,Q_U,Q_D QL,QU,QD,本地buffers D L , D U , D D D_L,D_U,D_D DL,DU,DD
  • for 迭代=1,2,…,T do
    • 用learner过程异步化 Q L , Q U , Q D Q_L,Q_U,Q_D QL,QU,QD
    • for t = 1,2,…,T do #生成一个回合
      • Q ← \leftarrow 基于一个位置, Q L , Q U , Q D Q_L,Q_U,Q_D QL,QU,QD其中的一个
      • a t ← { a r g m a x a Q ( s t , a ) , w i t h   p r o b ( 1 − ϵ ) 随 机 动 作 , w i t h   p r o b   ϵ a_t \leftarrow \begin{cases}argmax_aQ(s_t,a), with\ prob (1-\epsilon)\\随机动作, with\ prob\ \epsilon \end{cases} at{argmaxaQ(st,a),with prob(1ϵ),with prob ϵ
      • 执行 a t a_t at,观察到 s t + 1 s_{t+1} st+1和奖励 r t r_t rt
      • { s t , a t , r t } \{s_t,a_t,r_t \} {st,at,rt}进相应的 D L , D U , D D D_L,D_U,D_D DL,DU,DD
    • end for
    • for t=T-1,T-2,…,1 do #获得累计奖励
      • r t ← r t + γ r t + 1 r_t \leftarrow r_t+\gamma r_{t+1} rtrt+γrt+1然后更新 D L , D U , D D D_L,D_U,D_D DL,DU,DD中的 r t r_t rt
    • end for
    • for p ∈ { L , U , D } p\in \{L,U,D \} p{L,U,D}do #多线程优化
      • if D p . l e n g t h ≥ L D_p.length \ge L Dp.lengthL then
        • 请求并等待 B p B_p Bp的一个空entry
        • D p D_p Dp中移动大小为 L L L { s t , a t , r t } \{s_t,a_t,r_t\} {st,at,rt} B p B_p Bp
      • end if
    • end for
  • end for

算法2 Douzero的Learner过程

  • Input: 对于每一次entry,共享buffer B L , B U , B D B_L, B_U, B_D BL,BU,BD有B个entries,size为 S S S, batch size M M M,学习率为 ψ \psi ψ
  • 初始化全局Q-networks Q L g , Q U g , Q D g Q^g_L,Q^g_U,Q^g_D QLg,QUg,QDg
  • for 迭代=1,2,… 知道收敛 do
    • for p ∈ { L , U , D } p\in \{L,U,D \} p{L,U,D} do #多线程优化
      • if B p B_p Bp中的full entries的数目 ≥ M \ge M M then
        • B p B_p Bp中抽样一个 M × S 实 例 { s t , a t , r t } M\times S实例\{s_t,a_t,r_t\} M×S{st,at,rt}的一个batch然后释放entris
        • 用MSE loss和学习率 ψ \psi ψ更新 Q p g Q^g_p Qpg
      • end if
    • end for
  • end for
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值