并行梯度下降+A2C (A3C)

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并行梯度下降+A2C (A3C)相关的知识,希望对你有一定的参考价值。

1 大体思想(来自李宏毅教授)

强化学习有一个问题就是它很慢,那怎么增加训练的速度呢?李宏毅教授举了一个很直观的例子:

        有一次鸣人说,他想要在一周之内打败晓,所以要加快修行的速度,他老师就教他一个方法:用影分身进行同样修行。两个一起修行的话,经验值累积的速度就会变成 2 倍,所以鸣人就开了 1000 个影分身来进行修行。这个其实就是 Asynchronous(异步的) Advantage Actor-Critic,也就是 A3C 这个方法的精神。

2 主体框架


 

  • 系统中有一个服务器和 m Worker 节点。
  • 服务器维护策略网络和价值网络最新的参数,并用 Worker 节点发来的梯度更新参数。
  • 每个 Worker节点有一份参数的拷贝,并每隔一段时间向服务器索要最新的参数。
    • 每个 Worker 节点有一个目标网络,而服务器上不储存目标网络。
    • 每个 Worker 节点有独立的环境,用本地的策略网络控制智能体与环境交互,用状态、动作、奖励计算梯度。

3 worker的计算

每个 Worker 节点有独立的环境,独立做计算,随时可以与服务器通信。 每个 Worker 节点本地有一个策略网络 π ( a | s ; θ ) 、一个价值网络 v ( s ; w ) 、一个目标网络 v ( s ; w-  )
设第 k Worker 节点当前参数为。第 k Worker 节点重复下面的步骤:

 

 

4 服务器端的计算

 

 

以上是关于并行梯度下降+A2C (A3C)的主要内容,如果未能解决你的问题,请参考以下文章

机器学习笔记:并行计算 (基础介绍)

随机梯度下降算法

向量化

Tensorflow细节-P84-梯度下降与批量梯度下降

通过实例详解随机梯度与梯度下降

梯度下降法