AI自动化测试:技术原理、平台搭建与工程实践
上QQ阅读APP看书,第一时间看更新

3.3.4 A3C

DQN使用了经验回放进行数据存储,训练数据可以成批处理或者从不同的时间步长中随机抽样得到,这样减少了强化学习过程中的不稳定性,并且去除了更新序列的相关性。但是,经验回放的主要缺点是在每次训练时都要使用很多存储空间和计算资源,并且只能用于Off-policy的强化学习方法。

针对上述问题,2016年Mnih等人[1]提出了一种轻量级强化学习方法——异步优势演员-评论家(Asynchronous Advantage Actor-Critic,A3C)。A3C使用另一种思路替代经验回放,即创建多个智能体在多个环境中并行和异步地进行强化学习。首先,在一台机器上使用多核CPU的多线程构建异步的演员-评论家,节省梯度和参数的计算资源。然后,采用并行的多个演员-评论家探索环境中的不同部分,并且在每个环境中采用不同的策略,使策略具有多样性。最后,通过在不同的线程上采用不同的策略,对不同的演员-评论家进行参数更新,减少数据在时间上的相关性。因此,A3C不需要经验回放也可以实现稳定的强化学习过程。

A3C除了使强化学习的过程稳定之外,还有2个好处:①减少训练时间,线程数量越多,训练时间越短;②不再依赖经验回放,可以使用On-policy的强化学习算法稳定地训练神经网络。

和DDPG类似,A3C每执行tmax个动作之后或者到达终点状态时,其策略和值函数会更新一次。演员网络的梯度为,其中优势函数的估计值为:

其中,是策略参数,是状态值函数的参数,不同状态对应不同的k,k的取值上界为tmax

A3C的网络结构中使用了一个卷积神经网络,Softmax输出层的输出策略为,线性输出层的输出值函数为,其余层由Q网络和策略网络共享。除此以外,在目标函数关于策略参数的梯度中可以增加策略π的熵正则化项,其中,H(·)是熵,可以避免网络过早收敛到次优策略,提高A3C的探索效率。在训练时,A3C采用基于均方根传播(Root Mean Square Propagation,RMSProp)的优化方法。上述过程如图3-6所示。

图3-6 A3C的训练过程示意

[1] Mnih V,Badia A P,Mirza M,et al.Asynchronous Methods for Deep Reinforcement Learning[C].Proceedings of the International Conference on Machine Learning,2016:1928-1937.