跳转到内容

图书馆:带有经验回放的演员-评论家算法

维基百科,自由的百科全书

{{vfd|没有足够的可靠资料来源能够让这个条目符合Wikipedia:关注度中的标准|date=2022/06/24}}

{{Notability|time=2022-05-25T01:09:01+00:00}} 带有经验回放的演员-评论家算法({{lang-en|Actor-Critic with Experience Replay}}),简称ACER。是2017年由DeepMind团队在提出的算法。其论文发表在{{le|ICLR|International Conference on Learning Representations}}上。该文提出了一种基于深度强化学习Actor-Critic下带有经验回放的算法,能够在变化的环境中取得不错的效果,其中包括了57个Atari游戏以及一些需要持续控制的问题。[1]

特色

[编辑]

强化学习中,环境交互需要付出极大的代价;这与普通的分类、回归问题不同,会消耗大量的时间和系统资源。有效采样({{lang-en|Sample Efficiency}})的方法可以使得算法在与环境交互较少的情况下获得较好的结果。其中,为了提高有效采样,使用经验回放是一个很好的方法。而在强化学习中,如果采样时所选取的策略{{lang-en|policy}}与选取动作时所用到的策略不同,我们将这种情况称之为离轨策略({{lang-en|off-policy}})控制。

ACER就是一种离轨策略下的演员评论家算法({{lang-en|off-policy actor-critic}})。

理论依据

[编辑]

对于离轨策略而言,我们采样所得到的轨迹是与同轨策略({{lang-en|on-policy}})不同的。这里同轨是指采样时所用的策略与选取动作时的策略相同。所以需要用到重要性采样来对其进行调整。加上重要性采样的权重后策略梯度可以被写作

据Off-Policy Actor-Critic称,离线策略的策略梯度可以拆解为[2]

过程

[编辑]
  1. 由于重要性采样的参数是一个比值,有可能非常大或者非常小,严重影响算法的稳定性,所以使用了带有偏差矫正的重要性权重截断技术,使得  ,其中,这样的变换既不会产生额外的偏差,而且产生的两项各自都是有界的,第一项,第二项
  2. 动作值函数的估计使用了回溯技术。
  3. 以上的Q函数和V函数的估计使用了dueling network的结构。使用采样的方法计算 这样输出的网络为
  4. 综合前三项,最终得到了ACER的离线策略梯度解析失败 (语法错误): {\displaystyle \widehat{g_t}^{acer} = \bar{\rho_t}\nabla _{\phi _\theta(x_t)}\log f(a_t|\phi_\theta(x))[Q^ret(x_t,a_t)- V_{\theta_v}(x_t)]+\mathbb{E}_{a\sim\pi}([{{((}}\rho_t(a)-c}\over{\rho_t(a)}}]_+\nabla_{\phi_\theta(x_t)} \log f(a_t|\phi_\theta(x))[Q_{\theta_v}(x_t,a)-V_{\theta_v}(x_t)]} 通过写出信赖域最优化问题

直接解析求得最优解解析失败 (语法错误): {\displaystyle z^* = \hat{g_t}^{acer}-max\{ 0,{{((}}k^T \hat{g_t}^{acer}-\delta}\over {||k||^2_2}} \}k}

得到参数更新公式解析失败 (语法错误): {\displaystyle \theta\leftarrow \theta +{{((}}\partial \phi_\theta(x)}\over{\partial\theta}}z^*}

算法流程

[编辑]

算法1:对于离散动作情况下ACER的主算法

  1. 初始化全局共享参数向量
  2. 设置回放率
  3. 在达到最大迭代次数或者时间用完前:
    1. 调用算法2中的在线策略ACER
    2. 对于执行:
      1. 调用算法2中的离线策略ACER

算法2:离散动作下的ACER

  1. 重置梯度
  2. 初始化参数
  3. 如果不是在线策略:
    1. 从经验回放中采样轨迹
  4. 否则,获取状态
  5. 对于执行:
    1. 计算
    2. 如果是在线策略则
      1. 依据执行动作
      2. 得到回报和新的状态
    3. 解析失败 (语法错误): {\displaystyle \bar{\rho_i}\leftarrow min\{1,{{((}}f(a_i|\phi_{\theta'}(xi))}\over{\mu(a_i|x_i)}} \}}
  6. 对于执行
    1. 计算信赖域更新所需的:
      1. 解析失败 (语法错误): {\displaystyle g \leftarrow min \{ c,\rho_i(a_i)\} \nabla_{\phi_'(x_i)}\log f(a_i|\phi_{\theta'}(x_i))(Q^{ret}-V_i)+ \sum_a[1-{{((}}c}\over{\rho_i(a)}}]_+ f(a|\phi_{\theta'}(x_i))\nabla_{\phi_{\theta'}(x_i)}\log f(a|\phi_{\theta'}(x_i))(Q_{\theta'_v}(x_i,a_i)-V_i)}
    2. 累积梯度解析失败 (语法错误): {\displaystyle \theta':d\theta'\leftarrow +{{((}}\partial \phi_{\theta'}(x_i)}\over{\partial\theta'}}(g-max\{ 0,{{((}}k^Tg-\delta}\over{||k||^2_2}}k \})}
    3. 累积梯度
  7. 分别异步更新
  8. 更新平均策略网络:

参考文献

[编辑]

{{reflist}}

延伸阅读

[编辑]

Category:算法

  1. ^ {{Cite journal |last=Wang |first=Ziyu |date=2017 |title=SAMPLE EFFICIENT ACTOR-CRITIC WITH EXPERIENCE REPLAY |url=https://arxiv.org/pdf/1611.01224.pdf |journal=ICLR}}
  2. ^ {{cite web |title=Off-Policy Actor-Critic |url=https://arxiv.org/pdf/1205.4839.pdf |website=arXiv |accessdate=2022-05-28}}