强化学习---A3C

时间:2021-07-19 16:43:04

Asynchronous Advantage Actor-Critic (A3C)

在RL任务中,我们本质上最终要学习的是策略(Policy)

value-based方法:间接方法,即通过学习值函数(value function)或者动作值函数(action-value function)来得到policy。

policy-based方法:直接对policy进行建模和学习,因此后者也称为policy optimization。

Policy-based方法

gradient-based方法--(policy gradient(PG))---finite difference,Monte-Carlo和Actor-Critic等

gradient-free方法。

Actor-Critic(AC)方法其实是policy-based和value-based方法的结合。因为它本身是一种PG方法,同时又结合了value estimation方法,所以有些地方将之归为PG方法的一种,有些地方把它列为policy-based和value-based以外的另一种方法,都好理解。在AC框架中,actor负责policy gradient学习策略,而critic负责policy evaluation估计value function。可以看到,一方面actor学习策略,而策略更新依赖critic估计的value function;另一方面critic估计value function,而value function又是策略的函数。Policy和value function互为依赖,相互影响,因此需要在训练过程中迭代优化。这种多元优化的迭代思想其实在机器学习中有很多体现。

A3C 的算法实际上就是将 Actor-Critic 放在了多个线程中进行同步训练. 可以想象成几个人同时在玩一样的游戏, 而他们玩游戏的经验都会同步上传到一个*大脑. 然后他们又从*大脑中获取最新的玩游戏方法.

这样, 对于这几个人, 他们的好处是: *大脑汇集了所有人的经验, 是最会玩游戏的一个, 他们能时不时获取到*大脑的必杀招, 用在自己的场景中.

对于*大脑的好处是: *大脑最怕一个人的连续性更新, 不只基于一个人推送更新这种方式能打消这种连续性. 使*大脑不必有用像 DQNDDPG 那样的记忆库也能很好的更新.

强化学习---A3C

强化学习---A3C