A3C模型[Asynchronous Advantage Actor-Critic,异步的优势演员-评论家模型],这也是深度强化学习中非常著名的模型。

Actor-Critic

Actor-Critic是2000年在NIPS上发表的一篇名为Actor-Critic Algorithms的论文中提出的。这篇论文论述的内容很多,但是核心就是提出了Actor-Critic模式或者框架。

在Actor-Critic模式的驱动下,模型的训练就分成了两个环节,一个是Actor角色,另一个就是Critic角色。Actor是一个相对独立的神经网络模型,其任务就是学动作,优化它的过程和优化一个普通DQN里 面的网络没有太大的区别。Critic角色也是一个独立的模型。它的目的是学习估值的大小。在这种思维的指导下,估值学习也是一个独立的可优化的任务,需要通过一个模型进行拟合。动作输出也是一个模型,通过一个模型进行拟合。这就有点类似DQN的主网络和目标网络的思想

由于AC模式基本上也是参用单步更新[主要是指Critic],这就比类似MC哪种基于episode的更新要好,模型收敛的稳定性会高一些。缺点是需要更新两个模型,且其中一个会直接影响另一个,如果Critic模型学出来的东西都是错的,那么Actor模型根本不可能学到一个好的动作策略。

Asynchronous Advantage Actor-Critic (A3C)

A3C的理念是,希望通过多个进程或者线程的Agent,在不同策略的指导下,不断在环境中试探,然后收集动作,最终博采众长。这种模式并不依赖于具体实现,所以A3C由基于Q-Learning的实现,也有基于Policy Gradient的实现。

A3C Example

Reference:

  1. Richard S. Sutton and Andrew G. Barto. Reinforcement learning: An introduction. MIT press, 2018.
  2. 高扬,叶振斌,白话强化学习与PyTorch