并行梯度下降+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)的主要内容,如果未能解决你的问题,请参考以下文章