A3C

A3C（Asynchronous Advantage Actor-Critic）是由Google DeepMind团队于2016年提出的一种基于异步梯度的深度强化学习框架（Asynchronous Methods for Deep Reinforcement Learning），利用了多线程同时并行运行的特点，让多个Actor(演员)并行训练而定期与全局参数同步。该方法在Atari游戏和3D迷宫等方面都有不错的效果。

符号

优势函数 
由。

当选取k步TD后，在A3C中由于有参数,优势函数可改写为：

算法流程 
异步优势Actor-Critic - 每个Actor-Learner线程的伪代码如下：

 定义全局参数向量和以及全局计数器
 定义线程自身参数向量和,初始化线程步数计数器
 当:
 重置梯度: 和
 将线程自身的参数向量与全局参数向量同步:，
 令线程计数器并随机采样一个初始状态
 当(终止状态)且:
 根据当前线程的策略选择当前执行的动作执行动作后接受回报并转移到下一个状态。
 更新t以及并且
 初始化保存累积回报估计值的变量:
 对于，执行：
 
 累积关于参数的梯度:
 累积关于参数的梯度:
 分别使用和异步更新和

改进 
在Asynchronous Methods for Deep Reinforcement Learning 中作者还将熵()加到目标函数中以避免收敛到次优确定性解，这是由于在最大化熵的过程中会避免分布过于集中，包含熵在内的完整目标函数梯度如下

其中H为熵函数，是用于控制熵正则化项的超参数。

论文

代码实现

参考资料