软件学报  2020, Vol. 31 Issue (4): 948-966   PDF    
基于自回归预测模型的深度注意力强化学习方法
梁星星 , 冯旸赫 , 黄金才 , 王琦 , 马扬 , 刘忠     
国防科技大学 系统工程学院, 湖南 长沙 410072
摘要: 近年来,深度强化学习在各种决策、规划问题中展示了强大的智能性和良好的普适性,出现了诸如AlphaGo、OpenAI Five、Alpha Star等成功案例.然而,传统深度强化学习对计算资源的重度依赖及低效的数据利用率严重限制了其在复杂现实任务中的应用.传统的基于模型的强化学习算法通过学习环境的潜在动态性,可充分利用样本信息,有效提升数据利用率,加快模型训练速度,但如何快速建立准确的环境模型是基于模型的强化学习面临的难题.结合基于模型和无模型两类强化学习的优势,提出了一种基于时序自回归预测模型的深度注意力强化学习方法.利用自编码模型压缩表示潜在状态空间,结合自回归模型建立环境预测模型,基于注意力机制结合预测模型估计每个决策状态的值函数,通过端到端的方式统一训练各算法模块,实现高效的训练.通过CartPole-V0等经典控制任务的实验结果表明,该模型能够高效地建立环境预测模型,并有效结合基于模型和无模型两类强化学习方法,实现样本的高效利用.最后,针对导弹突防智能规划问题进行了算法实证研究,应用结果表明,采用所提出的学习模型可在特定场景取得优于传统突防规划的效果.
关键词: 注意力机制    深度强化学习    actor-critic算法    变分自动编码    混合密度网络-循环神经网络    
Novel Deep Reinforcement Learning Algorithm Based on Attention-based Value Function and Autoregressive Environment Model
LIANG Xing-Xing , FENG Yang-He , HUANG Jin-Cai , WANG Qi , MA Yang , LIU Zhong     
College of Systems Engineering, National University of Defense Technology, Changsha 410072, China
Abstract: Recently, deep reinforcement learning (DRL) is believed to be promising in continuous decision-making and intelligent scheduling problems, and some examples such as AlphaGo, OpenAI Five, and Alpha Star have demonstrated the great generalization capability of the paradigm. However, the inefficient utility of collected experience dataset in DRL restricts the universal extension to more practical scenarios and complicated tasks. As the auxiliary, the model-based reinforcement learning can well capture the dynamics of environment and bring the reduction in experience sampling. This study aggregates the model-based and model-free reinforcement learning algorithms to formulate an end-to-end framework, where the autoregressive environment model is constructed, and attention layer is incorporated to forecast state value function. Experiments on classical CartPole-V0 and so on witness the effectiveness of proposed framework in simulating environment and advancing utility of dataset. Finally, penetration mission as the practical instantiation is successfully completed with the framework.
Key words: attention mechanism    deep reinforcement learning    actor-critic algorithm    variational auto-encoder (VAE)    mixture density network-recurrent neural network (MDN-RNN)    

深度强化学习(deep reinforcement learning, 简称DRL)在战略博弈[1, 2]、无人机控制[3]、自主驾驶[4]和机器人合作[5]等领域取得了不错的成绩, 是复杂调度与控制任务中颇具前景的一种学习范式, 为通用人工智能的实现铺平了道路.DRL应对环境和决策过程中不确定性的有效性, 激发了将其应用于更多领域的研究热潮[6].Agent与环境的持续交互能力是DRL取得成功的主要因素, 这些交互能力缓解了环境的不确定性, 揭示了环境中的动态性, 使得Agent能够在延迟的奖励中学习驱动其获得良好表现的动作.

根据有无可用的环境模型, DRL被分为两类:无模型DRL(model-free DRL)和基于模型的DRL(model-based DRL).

无模型的DRL仅仅利用环境奖赏, 忽略了固有的、能够提高学习效率的潜在环境信息.虽然无模型DRL在实践中得到了广泛的应用, 但其需要不断收集数以百万计的实例或经验来进行策略评估和改进, 低效的数据利用率限制了其在复杂现实生活问题中的应用.

相反地, 基于模型的DRL不严格依赖于环境交互, 能够根据少量交互信息学习表征环境的潜在动力学, 揭示任务的规律.利用获得的虚拟环境模型, Agent不再通过与环境的直接交互来创造额外的经验, 能够直接根据模型推导出最优策略.基于模型的算法在某些情况下往往保持更高的效率[7-9], 但其修改能力弱, 对环境精确建模的依赖性强, 且在噪声环境中的适应性和灵活性较差.

在过去的几十年中, 一些研究已经尝试将这两类方法结合起来, 包括合成经验生成[10, 11]和部分基于模型的反向传播[7, 12, 13], 但在两种方法之间建立桥接的方式仍然有限.直觉表明, 人类不需要太多的经验即可学习和适应复杂环境.虽然人类利用感官感知环境信息的能力有限, 但可以概括复杂环境的知识, 即人类能够从有限的感官信息中概念化事物, 进而概括决策.神经网络模型的著作[14, 15]认为, 人类倾向于建立认知有限的世界模型, 并依托该模型进行决策.人类大脑频繁地在头脑中使用先前自构建的物理模型[16, 17], 通过预测在某个状态下即时行动后的未来情景, 迅速做出反应与决策并避免潜在的危险[18, 19].Ha & amp和Schmidhuber[15]将上述观点付诸实践, 建立了世界模型(world models, 简称WM), 证明了WM能够以有限的现实经验建立, 并显著改善策略学习的效率.这一框架通过学习虚拟环境模型, 减少了在环境中收集转移以及相关消耗的繁重工作.在现有的一些军事平台仿真实验中, 仿真往往需要耗费大量的时间进行模拟, 进而为系统学习提供数据.此类系统的泛化能力与获取环境数据的人工和财务费用呈正相关.幸运的是, 与虚拟环境的交互可以缓解这些消耗性的预测或控制.

本文对上述工作[15]进行了扩展, 研究了无模型DRL算法和基于模型的控制相结合的方法, 该方法探索了丰富的环境转移信息, 指导了最优策略的搜索.本文利用神经网络进行了环境状态嵌入表示、自回归预测, 并通过基于注意力机制的策略学习来改进WM.

本文第1节总结一些相关的研究成果, 并指出本文的研究意向.第2节对WM进行回顾, 详细介绍本文提出的模型框架VMAV-C, 包括模型中的成分、训练过程和技术细节.第3节利用所提算法对经典的控制问题以及导弹智能突防任务进行研究与分析.最后得出结论, 并介绍未来的研究工作.

1 相关工作

OpenAI Gym[20]提供了一系列虚拟环境开发和测试新的强化学习算法的任务与环境, 对算法性能进行比较和验证.这些任务包括一些传统的控制问题, 其中端到端(end-to-end)的任务更实际, 且更具挑战性.端到端的任务要求Agent直接接收场景图像等作为原始输入, 进而做出决策, 包括CartPole、MountainCar等.图像固有的高维性给学习过程带来了很大的困难, 激发了表征学习在强化学习中的应用[21].深度神经网络可以提取高维输入的紧凑表示特征, 将复杂的实例编码为低维向量, 能够训练一个处理复杂任务的强化学习模型.此外, 深度学习具有良好的泛化能力, DQN[1]和AlphaGo Zero[2]都得益于卷积神经网络对状态的表示, 在RL的策略学习中实现了最优的效果.

虽然强大的表示模型和日益增强的计算能力能够满足DRL解决复杂控制问题的基本要求, 但从实际环境中访问数据仍然是DRL的瓶颈, 算法对数据有着巨大的需求.与环境的交互对强化学习的成功应用起着决定性作用, 为了达到理想的效果, 需要消耗大量的人力、时间和金钱等资源来从环境中获得转移和奖赏.特别地, 对于无模型强化学习算法, 情况更为明显, 数据利用效率较低, 忽略了环境中的结构信息.这种困境受到了越来越多的关注, 并激发了一些有趣的想法以解决这一问题.

在本文的研究中, 学习环境模型是非常重要的, 主要有两种模式来捕捉环境的特性和消除建模中的偏差.一种是学习以某种概率分布反映环境动态性的样本, 并探索策略.早期的同步学习环境模型和策略的工作并不稳定, 期望最大化方法(EM)[22]将参数从控制模型中分离出来, 只需学习有限的控制参数就可以加快收敛速度.作为学习环境模型的突破, WM[15]可以自动揭示环境的动态性, 并提到了从认知科学中获得的动机.Piergiovanni等人[23]构建了深度神经网络, 将状态编码和预测未来场景作为环境模型的模拟, 并证明机器人可以通过与这种梦境的交互作用, 学会在现实世界中行动的合理策略.考虑到在基于视觉的强化学习中处理图像观察的高度复杂性和成本[24], Nair等人提出了一种将变分自动编码器(VAE)与非策略性目标条件强化学习相结合的图像目标强化学习算法, 训练了一个循环状态空间模型以解决不确定环境下的规划问题, 构造了一个称为深度规划网络的Agent可以学习控制策略[25].此外, 原始图像很少用于环境建模, 如世界模型[15]和PA[26], 大多采用自动编码器来获得低维状态, 进一步提高了训练效率, 减少了控制参数的规模.另一个范例是元学习, 它寻求从不同环境中学习到的多个动态模型, 并整合这些模型的特征来描述环境中的不确定性[22, 27, 28].

2 VMAV-C模型

VMAV-C模型对应于变分自动编码器(variational auto-encoder, 简称VAE)、混合密度网络-递归神经网络(mixture density network-recurrent neural network, 简称MDN-RNN)、基于注意力的值函数(attention-based value function, 简称AVF)和控制器模型的组合.

与WM[15]中用于优化控制器模型的协变矩阵自适应进化策略不同, 本文在控制器中使用了基于PPO的actor-critic(AC)算法[31]以解决离散动作空间的任务以及连续动作空间的任务.根据值函数的精确估计可以加速策略学习这一直觉, 本文在critic网络中考虑了注意力机制来估计状态值函数.

为方便阅读与理解, 本节首先对VMAV-C的结构进行介绍, 并在附录中给出具体的训练步骤; 之后对该框架中WM框架下的VM-C[15]中的一些基本组件(包括VAE、MDN-RNN和Controller)进行简要介绍; 然后重点介绍基于注意力的值函数, 并提出与critic网络相结合的方法.

2.1 VMAV-C RL模型框架

VMAV-C模型包含VAE、MDN-RNN、Attention Value Function以及Controller模型, 其中, VAE模型参数较多, 且主要目的是对输入的观测进行压缩编码, 因而可脱离原VMAV-C模型进行单独训练; MDN-RNN模型采用RNN结构, 网络训练缓慢, 需要的参数与样本较多, 与AV-C模型结合训练, 将拖慢整体学习速度, 因而可采用部分样本对MDN-RNN进行预先训练; Attention Value Function依靠MDN-RNN的部分隐藏层信息, 因而可将其与MDN-RNN剥离开来, 构建参数较少的神经网络结构加速学习速度; Controller是单独的模型, 参数较少, 可单独进行训练.

VMAV-C强化学习训练架构的示意图如图 1所示, 包含:样本采集(步骤0)、VAE训练(步骤1)、MAV训练(步骤2)、MAV-C训练(步骤3)和执行(步骤4).不同模块中组件之间的依赖性也在图 1的虚线框中进行了总结.这些步骤是按照训练和测试模型的顺序进行的, 模块的详细训练说明在附录2中给出了描述.

Fig. 1 VMAV-C reinforcement learning training framework (Arrows suggest information flow in modules) 图 1 VMAV-C强化学习训练架构(箭头示意为信息流)

2.2 VM-C模型框架

图 2揭示了VAE、MDN-RNN和控制器模型之间的关系, 并回答了VMC如何对环境做出动态反应的问题.图 2中的箭头线表示给定环境中的信息流和控制操作.

Fig. 2 Framework of VM-C used in World Models 图 2 World Models中的VM-C架构

2.2.1 VAE模型

基于任一d维分布都可以由一个d维正态分布经过足够复杂的变换获得的思想, 变分自编码器(variational auto-encoder, 简称VAE)[32]假定中间编码变量服从一个简单的高斯分布, 例如$\mathcal{N}(0, I)$(I为单位矩阵).

为了从模型中生成样本, VAE从编码分布${p_{model}}(z)$中采样z; 然后通过可微的生成网络g(z); 最后从分布${p_{model}}(x;g(z)) = {p_{_{model}}}(x|z)$中采样x.在训练期间, 编码器$q(z| \boldsymbol{x})$用于获得z, 而${p_{model}}( \boldsymbol{x}|z)$则被视为解码器网络. VAE通过最大化与数据点x相关联的变分下界$\mathcal{L}(q)$对网络进行训练.

$\mathcal{L}(q) = {\mathbb{E}_{z \sim q(z| \boldsymbol{x})}}\log {\rm{ }}{p_{model}}( \boldsymbol{x}|z) - {D_{KL}}(q(z| \boldsymbol{x})||{p_{model}}(z)).$

此外, 还包含MSEloss损失函数$\mathcal{L}(x, g(f(x))), $用于惩罚g(f(x))与x的差异.

图 3所示, 本文中的VAE输入是对环境的观测, 即CartPole-V0等任务的场景图像, 并将该观测压缩为一些低维向量作为状态的潜在表示; 导弹智能突防实验中的输入则是红蓝双方的特征信息.图 3中, 编解码器是两个神经网络, 均值向量和对数方差向量是某种状态的潜在表示.

Fig. 3 VAE in observation of CartPole-V0 图 3 VAE实现CartPole-V0观测编码

2.2.2 MDN-RNN模型

将混合密度模型与传统神经网络相结合, 可以近似任意条件概率分布, 特别是连续输入的概率分布, 并在实际应用中解决了反演问题.同时, 递归神经网络(RNN)在捕获序列数据集的依赖关系和感知序列趋势方面具有一定的效率.一些研究集中在这两种技术的结合上, 并提出了RNN的一些变体, 称为MDN-RNN, 用于处理现实生活中的问题[15, 33], 最近一项有趣的研究是将MDN-RNN应用于图纸中的草图生成[33].

在经典控制任务中, VAE模型压缩编码了实验过程中的每帧图片, 这些压缩编码在时间序列中, 同样存在着原始图片信息内含的相关转移关系.MDN-RNN模型的主要目的是预测当前状态下, agent采取相关动作后, 环境在下一时刻可能发生的状态, 进而输出状态的压缩编码.在需要可视化的要求下, 可以利用VAE的解码器对编码进行解码, 获取图片信息, 相应的示意图如图 3所示.在复杂的真实环境中, 环境的转移往往是不确定, 因而, 需要使用概率密度函数p(z)替代确定预测z对未来进行估计.

在RL任务中, 环境模型中的RNN通常被用来获得$P({z_{t + 1}}, {r_{t + 1}}|{a_t}, {z_t}, {h_t})$的状态转移函数, 其中, atztht分别表示当前时刻下的动作、状态表示、隐藏状态, zt+1表示对下一时刻状态表示的预测, rt+1表示下一时刻的奖赏.与传统的seq2seq任务不同, 有结束状态dt+1的RL环境还需要预测状态的结束标志, 即标记该状态是否为结束标记, 因而面向带结束状态的RL环境的RNN通常需要被建模为$P({z_{t + 1}}, {d_{t + 1}}, {r_{t + 1}}|{a_t}, {z_t}, {h_t}), $dt+1表示当前的状态zt+1是否表示结束状态, rt+1表示获得的奖赏(有些任务中, 奖赏是固定的, 下文将省略表示奖赏).

在离散动作空间的任务中, 本文对离散的动作进行编码后与环境编码进行结合并加入到预测模型中, 即$P({z_{t + 1}}, {d_{t + 1}}|f({a_t}), {z_t}, {h_t}).$MDN-RNN的损失函数由下一状态的预测损失Ls以及结束标记的预测损失Lp所组成.

${L_s} = - \frac{1}{N}\sum\limits_{i = 1}^N {\log \left( {\sum\limits_{j = 1}^M {{\theta _{j, i}}\mathcal{N}({x_i}, {y_i}|{\mu _{x, j, i}}, {\mu _{y, j, i}}, {\sigma _{x, j, i}}, {\sigma _{y, j, i}}, {\rho _{xy, j, i}})} } \right)} , $
${L_p} = - \frac{1}{N}\sum\limits_{i = 1}^N {(\alpha {d_{(t + 1)}}_i\log {q_i} + (1 - {d_{(t + 1)}}_i)\log (1 - {q_i}))} , $

其中, ${\theta _k} = \frac{{\exp ({{\hat \theta }_k})}}{{\sum\nolimits_{j = 1}^M {\exp ({{\hat \theta }_j})} }}, k \in \{ 1, ..., M\} .$为了控制高斯分布采样的随机性, 使用温度参数τ对权重、方差进行伸缩, τ的取值通常在0和1之间(视具体任务而定, 可松弛至 > 1):${\hat \theta _k} \to \frac{{{{\hat \theta }_k}}}{\tau }, {\sigma ^2} \to {\sigma ^2}\tau .$

损失函数LossLsLp的加权和:

$Loss = {\beta _1}{L_s} + {\beta _2}{L_p}, $

其中, {β1, β2}是损失项的权重.图 4详细描述了MDN-RNN模型的结构, 指出了动作、状态的潜在表示、RNN序列中的隐藏信息和结束状态之间的依赖关系.图 4中, 每个LSTM网络包含3个LSTM单元.在结束标记的预测损失Lp中, 考虑到一个时间样本中结束标记分布较小, 为了提高预测的准确性, 本文利用超参数调整结束位上的惩罚权重.

Fig. 4 MDN-RNN 图 4 MDN-RNN结构

2.2.3 控制器模型

控制器模型用来决策当前时刻以及状态下所采取的动作.在决策中, 利用MDN-RNN的上一时刻隐藏状态信息以及当前时刻的状态信息共同预测当前时刻应采取的动作, 即${a_t} \sim \pi ( \boldsymbol{a}|{z_t}, {h_t}).$在真实环境中, 环境编码的信息zt来自于真实环境的观测压缩编码; 在虚拟环境中, 编码信息zt来自于预测的采样信息zt.控制器模型结构图如图 5所示.其中, ht来源于MDN-RNN中的隐藏信息, zt是当前状态的潜在表示, 动作受这两种信息的制约.这里使用的是全连接(FC)网络.

Fig. 5 Controller model 图 5 控制器模型结构图

2.3 AVF模型

近年来, 注意力机制越来越受到人们的关注, 尤其是在序列学习领域.注意力机制是对历史序列中的隐藏信息赋予各种权重, 然后对其进行聚合, 形成预测时间步的上下文向量.与预测时间步相关的隐藏信息将受到更多的关注, 并被赋予更多的权重, 即给定某个t步序列的隐藏信息H=[h1, …, ht], 预测时间步的上下文向量$v = \sum\limits_{i = 1}^t {{\alpha _i}{h_i}} $作为历史序列的嵌入信息.

在强化学习算法的训练过程中, 本文将注意力机制引入状态值函数的估计中, 历史隐藏信息将有助于准确地估计当前状态值.

在AC算法的critic网络中, 图 6所示的每一次隐藏信息都来自MDN-RNN的rout, 并利用前n个时间步的历史信息进行当前状态值估计.为了确保初始状态也能满足注意力结构, 缺少的隐藏信息, 如$[{h_{ - 2}}, {h_{ - 1}}, {h_0}]$被初始化为0(这里以图 6中的情况为例).图 6中, 包含MDN-RNN隐藏信息的4个最近单元有助于状态值估计, 注意, 层是计算这些信息的重要因素.

Fig. 6 Attention-based value function representation 图 6 基于注意力的值函数(AVF)表示

因此, 有注意力的上下文向量可以计算为

${c_t} = \sum\limits_{i = 1}^n {{\alpha _i}{h_{t - i}}} , $
${\alpha _i} = \frac{{\exp ({{\tilde \alpha }_i})}}{{\sum\nolimits_{j = 1}^n {\exp ({{\tilde \alpha }_j})} }}, $
${\tilde \alpha _i} = W[{h_{t - i}}, {z_t}] + b, $

其中, Wb是注意力网络的参数, αi反映了以i为索引的历史信息在上下文向量ctzt中的影响强度, zt作为预测时间步的输入.对于状态值函数估计, 需要将从隐藏信息$\{ {h_{t - 1}}, {h_{t - 2}}, ..., {h_{t - n}}\} $导出的上下文信息ct和当前状态信息合并计算:$V({s_t}) = {W_v}[{z_t}, {c_t}] + {b_v}, $其中, zt是时间步t中状态的潜在表示, ct是具有注意力机制的上下文向量, [., .]是向量的串联, {W, b, Wv, bv}是基于注意力机制的值神经网络中要学习的参数集.图 6揭示了状态值的学习过程, 这种结构也是本文实验中的具体设置.

3 实验和性能分析

上述小节描述了VMAV-C的实现过程, 本节将在具体环境中对VMAV-C的算法性能进行测试与评估.本文选取了CartPole-V0、MountainCar-V0以及Acrobot-V1等OpenAI Gym中的经典控制任务和导弹智能突防等环境进行测试, 分别考察了在真实环境和虚拟环境中算法的表现.采用CartPole等实验的原因是由于该任务较为简单, 但其拥有复杂任务应有高维度、端到端、连续性交互等特点, 能够对算法进行快速验证.针对当前强化学习方法在具体问题中难以落地的困境, 我们结合自身项目需求, 对DRL在军事问题中的应用进行了研究, 利用本文的算法对我们自主开发的导弹智能突防环境中的任务进行了求解, 验证DRL在实际系统中的可行性.

3.1 实验环境介绍

CartPole:在这一任务下, 一辆推车与一根杆子连接在一起形成一个倒立摆, 控制决策包括对倒立摆实施向左或向右的力等两个离散的动作.倒立摆初始化为直立式, 延长直立时间是该任务的目标.当倒立摆从中心2.4单位的范围内移出, 或者摆与垂直方向的夹角超过15°时, 任务结束.在杆保持直立的情况下, 每一步返回+1的奖赏信号.OpenAI GYM中的CartPole包含CartPole-V0和CartPole-V1这两个任务, CartPole-V0的最大步长为200步, CartPole-V1为500步.本文所使用的任务为CartPole-V0.

MountainCar-V0:在该任务中, 汽车位于一条轨道上, 位于两个“山脉”之间.目标是在右边开出; 然而, 汽车的发动机强度不足以在一次通过中攀登山峰.因此, 成功的唯一途径是来回驾驶以增强动力.动作包含3个离散动作:向左、不动和向右.原本实验中的奖赏为单步-1, 离开后奖赏为0.本文为了加快收敛, 将奖赏函数设置为距离底部越远, 奖赏值越高, 即$r = abs(position + 0.5) \times 0.1, $离开后奖赏值为10, 离开的标志为:if position-goal_ position > -0, done=Ture.学习的目标是使得小车用尽可能短的步数离开.

Acrobot-V1:Acrobot是一个双连杆摆, 该机器人系统包括两个接头和两个连杆, 其中, 两个连杆之间的接头被致动, 两个链接都可以自由摆动并且可以相互通过, 即它们不会在具有相同的角度时会发生碰撞.最初, 链接向下悬挂, 目标是将下部链接的末端摆动到给定高度.动作是在两者之间的关节上施加+1、0或-1的扭矩.奖赏为固定奖赏-1.为了加快收敛, 我们假定, 若在500步以内没有到达指定高度, 则结束, 给予-10的惩罚值, 反之, 则为+10.学习的目标是使得下部链接尽快到达指定高度.

导弹智能突防:导弹智能突防场景是一款面向军事应用的仿真环境, 该环境依靠概念级模型以及部分半实物仿真模型构建而成, 用于仿真当前红蓝双方的导弹对抗过程.该环境采用模拟时钟实时推进系统演化, 可以通过控制仿真时钟速度而加快仿真速度.虽然该环境可以获得当前对抗的图片信息, 但考虑到真实对抗过程中, 决策的数据是经过多传感器综合处理后的目标特征.红方的导弹特征包含经度、纬度、高度、速度、偏向角、燃料、所处阶段等, 蓝方拦截导弹的特征包含经度、纬度、高度、速度等.环境定义奖赏函数为燃料的消耗量以及预计落点相对目标的变化量:${r_{t + 1}} = - \Delta fuel + \alpha \Delta dis, $其中, α=le-3.此外, 在仿真结束时刻, 如果击中目标, 则额外赋予+1的奖赏值, 反之, 则为-1.仿真结束包含3种情况:红方导弹被拦截; 红方导弹突防成功并击中目标; 红方导弹突防成功未击中目标.

3.2 经典控制任务实验

CartPole-V0、MountainCar-V0以及Acrobot-V1等OpenAI Gym中的经典控制任务有着相似的任务特征, 本文在附录4中对实验的设置进行了描述, 在本节中对实验的相关算法以及实验结果进行对比分析.在附录6中, 对MDN-RNN所学习的环境模型进行了展示.

3.2.1 对比算法

为了更好地描述VMAV-C模型的性能, 本文提出了两种基线算法, 与VMAV-C方法进行了对比.

(1) 经过编码表示的输入的PPO算法(contractive PPO, 简称CP).该方法将从真实环境中获得的图片放入VAE模型中, 获得当前状态的编码表示, 并将此编码表示作为agent的决策输入.

(2) 带MDN_RNN模型输入的PPO算法(MDN-RNN PPO algorithm, 简称MRP).该方法以Ha等人[15]所述的方法作为基础, 但在controller模型中采用PPO算法进行策略学习.

此外, 在这些实验中还包括了完全在虚拟环境中训练agent进行决策的场景.本文将从实际环境中随机抽取一些初始状态进行编码作为虚拟环境的初始状态, 运行MDN-RNN, 自动生成给定动作的未来状态、反馈奖赏和改进策略.此外, 在实际环境中运用该学习策略, 对累计奖励进行无折扣测试.此操作与步骤4不同, 因为实际环境在策略改进中不提供连续的奖励信号, 而只是在每个固定的时间段测试从虚拟环境中学习的策略.因此, 采用PPO算法, 作为agent的控制器通过与虚拟环境的交互直接学习策略.

3.2.2 结果与分析

实验结果分析

在经典控制问题中, 采用了CP模型、MRP模型和VMAV-C模型, 3个模型均使用PPO算法在真实的环境中进行了训练, 模型差异见表 1.

Table 1 Comparison model in classic control environment 表 1 经典控制任务环境中的对比模型

本文将分别分析上述3种模型无折扣累积奖赏和状态值网络的损失, 结合表 1图 7分析其背后的潜在原因.此外, 还考察了VMAV-C在虚拟环境中的性能, 在图 7中, 用Vir-VMAV-C进行表示, 与上述3种模型一起进行了比较.

Fig. 7 Cumulative rewards and value network losses under classic control environment 图 7 经典控制任务下的累计奖赏以及值函数损失表示

根据每个任务的特性, 真实环境中训练的3个模型在训练中的迭代次数为50 000次及以上, 每次迭代交互过程中最多有32个步骤的转换序列, 剧烈波动的阴影曲线是结果中的真实累积值.为了更好地显示结果, 使用TensorboardX[34]将这些结果平滑为深色曲线.图 7分别展示了3个任务下的实验效果.在图 7所示的Tensorboard中, 测试报酬和值网络损失的平滑率分别设置为0.9和0.995.

CP模型

好的特征表示是深度强化学习成功的关键因素.在这一模型中, 本文仅利用VAE模型对状态输入进行表示, 采用最近的4个观测作为决策所需的状态, 测试在这一条件下agent的学习效果.

在经典控制任务的3个实验中可以看到, 与MRP模型相比, 仅仅利用单纯的图片编码信息, 随着值函数损失的下降, agent虽然也能够逐渐学习到较好的策略, 但所需要的样本更多, 学习速度慢.可以得出结论, MDN-RNN模型不仅能够对过去的信息进行良好的总结, 而且还包含这对未来信息的预测, 获得的状态表示相比单纯的图片信息, 更能够反映当前的实际状态.

MRP模型

单纯的状态表示仅仅对当前的状态进行了较好的特征提取, 但没有包含环境变化的趋势预测信息.MDN- RNN模型从已有样本中对环境进行学习, 利用当前的动作和过往的隐藏信息预测环境的未来状态, 该隐藏信息不仅包含对过往信息的总结, 同时也包含了对未来的预测.本文利用当前的状态以及对环境预测的信息得到的决策向量, 作为agent的决策依据.

实验结果表明, 结合编码信息和预测信息的agent能够快速对环境加以适应.相对于仅采用编码的训练方式, agent所需训练样本更少, 能够较快地达到较高的累积奖赏, 而且值函数的损失相比CP模型下降得更快.但与VMAV-C模型相比, 在Critic模型中没有包含注意力机制以及预训练, critic函数的损失收敛较慢, 使得算法性能落后于VMAV-C模型.该对比实验验证了critic函数对稳定actor函数具有重要的影响.

VMAV-C模型

RNN网络的隐藏信息虽然包含了对环境的预测信息, 但忽略了信息的时间尺度, 仅依赖上一时刻的预测信息作为输入, 没有对历史信息加以足够的区分.带注意力机制的world models根据人类的思考方式, 综合判断最近几次动作的行为, 获得对当前状态值更好的估计.

带注意力机制的world models与原始的world models相比, 具有更快的学习能力, 达到同样的效果所需要的样本量更少.同时, 对比两者的值函数损失值, 结果表明, 在注意力机制的影响下, agent对状态值收敛更快, 进而对策略具有更强的指导能力.

Vir-VMAV-C模型

Vir-VMAV-C模型不与真实环境进行交互, 仅依靠MDN-RNN模型对环境进行向前推理.在具体实验设置中, 本文从经典任务的初始状态中采样一帧图片, 对其进行编码后传入MDN-RNN模型中进行虚拟交互.与VMAV-C模型的实验过程相同, 每经过1 000次的训练后将所得actor模型在真实环境中进行10次测试后取其均值.

图 7可以看出, Vir-VMAV-C模型的训练结果与MRP模型类似, 但弱于在真实环境中进行训练的VMAV- C模型.考虑到经典任务环境相对简单, 本文没有迭代式地对MDN-RNN模型进行训练.由于虚拟环境的自身特性, 因而在该训练环境下无法达到真实环境中的训练效果.该实验验证了基于循环神经网络的MDN-RNN模型能够学习环境的动态性, 且在该虚拟环境中进行一般性的强化学习训练能够达到与真实环境中训练相当的效果.训练虚拟环境所使用的交互样本少, 而且达到同等效果所需时间仅为真实环境所需时间的1/5(算法的软硬件环境描述见附录5).

注意力权重分析

为了理解注意力机制在值函数估计中的作用, 我们考察了3种任务下, 在1次实验中4个潜在状态的注意力权重变化.如图 8所示, 在CartPole-V0任务中, 我们发现, 在实验初期, 第4个潜在状态对值估计具有较高影响, 4个潜在状态按照距离当前时刻的远近, 权重依次降低, 而到了实验的后期, 4个状态对值估计趋于同等权重; 在MountainCar-V0任务中, 在运行之初, 更偏重于第4个潜在状态, 而越到后期越偏重于第1和第4状态, 但更偏重于第1状态, 我们认为这主要是由于该任务相邻的状态间难以分析山地车的相关速度信息, 而较大的时间间隔能够获得相对速度信息, 有助于做出更为准确的状态值估计; 在Acrobot-V1任务中, 在前期的摆动中, 状态值估计更偏好于第4状态, 在摆动的中期, 则对4个状态给予同等的权重, 到了后期, 则更偏好于第1和第4状态, 这样的分布变化是由该任务的特性所决定的.Acrobot-V1的摆动过程也可以看作分3个阶段进行, 首先是起始的加速度, 将链接摆动到中间位置; 其次, 在中间位置时, 需要调整下摆的位置, 避免两杆的重合; 在最后一个阶段, 下摆要超过上杆并达到指定高度, 因而需要对远近的状态进行比较.在图 8所示的TensorboardX中, 平滑率均设置为0.97.

Fig. 8 Attention weight change under classic control environment 图 8 经典任务下的注意力权重变化

3.3 导弹智能突防实验

CartPole实验验证了虚拟环境中对agent训练的可行性, 而且基于注意力机制的critic模型对actor模型的稳定具有重要影响.在智能突防的实验中, 本文直接使用带注意力机制的PPO算法(critic模型使用最近的4个MDN-RNN模型隐层状态)在多种数据获得的虚拟环境和真实环境中, 分别对控制模型进行训练.在本文中, 每经过100次训练, 对控制器模型进行15次测试, 获得当前模型的突防成功概率.对比算法的差异见表 2.

Table 2 Comparison model in penetration mission 表 2 导弹智能突防实验的对比模型

图 9对不同训练条件下的获胜概率进行了表示, 其中绿线表示利用内置的规则进行突防的获胜概率, 灰线表示最大的获胜概率.VMAV-C线表示的是利用VMAV-C方法和内置策略获得的MDN-RNN模型, 在真实环境下进行训练的效果; Two iteration线表示利用VMAV-C方法和预训练策略获得的MDN-RNN模型, 在虚拟环境中进行训练的效果; Rule-based线表示利用VMAV-C方法和内置策略获得的MDN-RNN模型, 在虚拟环境中进行训练的效果; Random policy线表示利用VMAV-C方法和随机策略获得的MDN-RNN模型, 在虚拟环境中进行训练的效果.在图 9所示的Tensorboard中, 获胜概率的平滑率分别设置为0.95.

Fig. 9 Win probability in the actual environment and virtual environment 图 9 智能突防场景胜率表示

图 9可以看到, VMAV-C线训练效果最好, 在经过10 000次的片段训练后, 胜率可达0.8;其次, Two iteration线和Rule-baesd线效果相近, 经过训练, 胜率可达0.7;而Random policy线训练效果最差, 获胜概率始终在0.1以下.

经过分析我们发现, 在利用随机策略采样得到的样本中, 没有成功击中目标的片段, 因而无法准确仿真出击中目标的实验片段, 而利用该学习之后的策略再次从环境中采样, 获得了一些成功的片段, 所获得的样本能够训练出反映攻防对抗动态性的MDN-RNN模型, 其达到的效果可以媲美基于内置策略获得的MDN-RNN模型.此外, 尽管VMAV-C线获得的效果优于Two iteration线和Rule-baesd线, 但其所花费的时间却远远大于后者.

随机因子的影响

为了分析MDN-RNN模型的随机性对虚拟环境的影响, 本文在基于内置策略采样数据得到的MDN-RNN模型的基础上, 考察了控制器模型在3个随机因子τ={0.8, 1.0, 1.2}下的影响情况.

图 10可以看出, 随着随机因子的提高, 导弹的突防概率有所下降.当τ=0.8时, 突防概率最高, 突防概率可以达到75%附近; 当τ=1.0时, 突防概率可以达到70%左右; 当τ=1.2时, 突防概率则在60%左右.为了分析这一原因, 本文分别选取了各随机因子下的一段仿真片段进行解码还原.经过分析发现, 随机因子越低, 对导弹的对轨迹还原越精确; 随机因子越高, 导致导弹的飞行轨迹偏离实际运动模型, 进而导致在虚拟环境中无法有效判别蓝方导弹是否有效拦截红方导弹, 使得在真实环境中测试时效果较差.图 10中, 对于测试奖励, Tensorboard中的平滑率分别设置为0.9.

Fig. 10 Win probability in various τ values of GMMs 图 10 不同随机因子对突防概率的影响

4 结论

深度强化学习的进步为智能决策的发展提供了新的契机.无模型的强化学习通过与环境的交互可以获得容量相当的模型, 然而其需要大量的样本, 数据利用率低; 基于模型的强化学习方法, 通过规划能够快速得到决策模型, 但其泛化能力较弱, 对环境模型要求高.本文对世界模型的工作进行了修改, 改进了策略学习过程, 包括将注意力机制纳入状态值估计函数, 利用基于PPO的AC算法优化离散动作空间的任务的策略学习, 并利用高斯采样动作对导弹智能突防场景的突防策略进行了学习.实验结果证明了这些改进的有效性, 加快了策略的学习速度, 并进一步证明:结合VAE和MDN-RNN的有限经验可以建立对任务有益的虚拟环境模型, 在虚拟环境中的训练大幅提高了agent的数据效率.在实际仿真系统中, VMAV-C的性能优于以前的工作, 大幅提高了数据的利用效率, 且在虚拟环境中训练的agent也能够学习有效的策略.

在未来, 我们将探索建立更多环境模型的方法, 在更加复杂的任务中应用该模型.此外, 也会更多地关注多agent系统, 以提高仿真性能和效率.

附录1 深度强化学习背景知识

强化学习(reinforcement learning, 简称RL)是机器学习的一个子领域, 学习如何将场景(环境状态)映射到动作, 以获取能够反映任务目标的最大的数值型奖赏信号, 即在某种环境状态下, 决策选择何种动作去改变环境, 使得获得的收益最大(策略, 状态到动作的映射).现有强化学习方法利用马尔可夫决策过程(Markov decision process, 简称MDP)从理论方面对RL问题进行基础建模.MDP由一个五元组$\langle $S, A, R, T, γ$\rangle $定义, 其中, S表示由有限状态集合组成的环境; A表示可采取的一组有限动作集; 状态转移函数T:S×A→Δ(S)表示将某一状态-动作对映射到可能的后继状态的概率分布, Δ(S)表示状态全集的概率分布, 对于状态s, s'∈S以及aA, 函数T确定了采取动作a后, 环境由状态s转移到状态s'的概率; 奖赏函数R(s, a, s')定义了状态转移获得的立即奖赏; γ是折扣因子, 代表长期奖赏与立即奖赏之间的权衡.与基本的强化学习方法相比, DRL将深度神经网络作为函数近似和策略梯度的回归函数.虽然使用深度神经网络解决强化学习问题缺乏较好的理论保证, 但深度神经网络的强大表现力使得DRL的结果远超预期.

近端策略优化

在非凸优化的情况下, 梯度可以用数值方法或抽样方法计算, 但很难确定适当的迭代学习率, 需要随时间变化以确保更好的性能.早期的强化学习研究在使用基于梯度的优化技术时也遇到了这样的困境, 为了规避瓶颈, Schulman等人[29]提出了一种处理随机策略的信任域策略优化(trust region policy optimization, 简称TRPO)算法, 该算法在目标函数中考虑了旧策略和更新策略之间的Kullback-Leibler(KL)发散, 并能对每个状态点的KL发散进行有界处理.该方法跳出了对学习率的修正, 使策略改进过程更加稳定, 理论证明, 该方法单调地增加了累积奖赏.考虑到TRPO中二阶Hessian矩阵计算的复杂性, Schulman等人[30]进一步发展了一阶导数近端策略优化(proximal policy optimization, 简称PPO)算法.

近端策略优化方法与TRPO方法一样, 定义了surrogate目标:

$\max {{L}^{CPI}}(\theta )=\max {{\hat{\mathbb{E}}}_{t}}[{{r}_{t}}(\theta ){{\hat{A}}_{t}}],\text{ }{{r}_{t}}(\theta )=\frac{{{\pi }_{\theta }}({{a}_{t}}|{{s}_{t}})}{{{\pi }_{{{\theta }_{old}}}}({{a}_{t}}|{{s}_{t}})},$

其中, π代表策略, πθold代表上一时刻的策略, ${\hat A_t}$估计了动作at在状态下st的优势函数.

在PPO中, 对上述代理目标进行了裁剪:

${{L}^{CLIP}}(\theta )={{\hat{\mathbb{E}}}_{t}}[\min ({{r}_{t}}(\theta ){{\hat{A}}_{t}},{\rm clip}({{r}_{t}}(\theta ),1-\varepsilon ,1+\varepsilon ){{\hat{A}}_{t}}],$
$\text{clip}(x,{{x}_{\text{MIN}}},{{x}_{\text{MAX}}})=\left\{ \begin{align} & x, \;\;\;\;\;\text{ if }{{x}_{\text{MIN}}}\le x\le {{x}_{\text{MAX}}} \\ & {{x}_{\text{MIN}}}\text{, if }x <{{x}_{\text{MIN}}} \\ & {{x}_{\text{MAX}}},\text{ if }{{x}_{\text{MAX}}} <x \\ \end{align} \right..$

该目标LCLIP(θ)实现了一种与随机梯度下降兼容的信赖域修正方法, 并通过消除KL损失来简化算法以及减小适应性修正的需求.

附录2 训练步骤

预训练VMAV-C模型

VAE、MDN-RNN、AVF和Controller模型的目的是同时学习环境中状态的表示和动态转移, 但是网络结构的庞大参数和复杂性使得VMAV-C的训练变得困难和耗时, 因此, 同步预训练VMAV是本文实验中的必要步骤.为了实现这一目标, 首先需要与实际环境进行一系列的互动, 利用随机策略获得多个完整的训练片段, 如步骤0中的集合$\{ episode = \{ ({x_t},{a_t},{x_{t + 1}},{r_{t + 1}},{d_{t + 1}})\} \} .$环境的屏幕截图用作VAE的训练数据集, 在相对简单的任务中初始采样包含了环境的动态信息, 尤其是状态表示和有关环境转移的信息.

图 6所示的步骤1中, 将作为VAE输入的整个状态数据集随机分为两部分:75%用于训练过程, 其余部分用于测试重构性能.在此过程中, 通过对测试数据集重构误差的监测, 有效地探索了图像的环境潜在空间.一旦完成VAE的训练过程, 用低维向量编码采集到的图像作为MDN-RNN模型的输入.

在将采样片段应用于MDN-RNN之前, 本文首先按照时间顺序将这些片段合并成一个长序列, 然后分割成固定长度的小序列作为数据集学习MDN-RNN.经过几次迭代后, AVF将加入到预训练过程中.步骤2得到了一个隐藏在MDN-RNN中的虚拟环境.

算法1.预训练VMAV-C模型.

输入:利用随机参数初始化VAE、MDN-RNN、AVF;

输出:训练好的VAE、MDN-RNN以及预训练的AVF.

(1) 利用随机策略通过环境交互N次, 存储所有的动作、观测、奖赏以及结束标记.

$\{ episode = \{ ({x_t},{a_t},{x_{t + 1}},{r_{t + 1}},{d_{t + 1}})\} \} $到内部存储D

(2) 收集所有的观测{xt}训练VAE模型

While VAE未收敛do:

采样观测的mini-batch

$los{s_{vae}} = \frac{1}{N}\sum\nolimits_{i = 1}^N {\left[ {{{(VAE({x_i}) - {x_i})}^2} + \frac{1}{2}\sum\nolimits_{j = 1}^k {(\mu _{{x_i}}^{(j)2} + \sigma _{{x_i}}^{(j)2} - \ln \sigma _{{x_i}}^{(j)2} - k)} } \right]} $

后向传播更新VAE   //默认优化器是RMSProp

(3) 收集MDN-RNN的训练数据集

For episode in storage D:

将片段转换成固定长度为L的序列

For each time step:

规范化采集样本为$({z_t} = VA{E_{Enco}}({x_t}),{a_t},{z_{t + 1}} = VA{E_{Enco}}({x_{t + 1}}),{r_{t + 1}},{d_{t + 1}})$

将这些mini-sequence存储至内存MMDN-RNN

(4) 训练MDN-RNN

While MDN-RNN未收敛Do:

MMDNRNN中采样batch

计算损失函数${L_{total}} = {\beta _1} \times {L_s} + {\beta _2} \times {L_p}$

后向传播更新MDN-RNN   //默认优化器是Adam

(5) 训练AVF

While AVF未收敛Do:

${M_{MDN - RNN}}$中采样mini-batch

生成rout, 并按照图 5所示规范化数据集

使用n-step返回:

$\tilde V = \left\{ \begin{array}{l} \sum\nolimits_{t = 0}^{T - 1} {{\lambda ^t}r + AVF({z_T},{h_T})} ,{\rm{ if }}\;{d_T} = 0 \\ \sum\nolimits_{t = 0}^{T - 1} {{\lambda ^t}r + 0, \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\rm{ if }} \;{d_T} = 1} \\ \end{array} \right.$

损失函数$los{s_{AVF}} = - \mathbb{E}{(\tilde V - AVF(z,h))^2}$

后向传播更新AVF   //默认优化器为Adam

训练MAV-C模型

步骤2学习了一个基于MDN-RNN的虚拟环境模型, 从理论上揭示了状态和奖赏信号的转移.在步骤3中, 通过与虚拟环境的交互训练AVF和控制器, 并利用PPO算法对控制器模型进行优化.在步骤4中, 使用步骤3中的VAE、MDN-RNN和训练有素的控制器在实际环境中进行决策.此外, 除了在策略学习中使用虚拟环境信息外, 步骤4也是利用MDN-RNN在真实环境中训练控制器模型的过程.算法2给出了离散环境下的控制模型训练过程.

算法2.基于PPO的MAV-C模型训练.

输入:训练好的VAE、MDN-RNN以及预训练好的AVF模型.

(1) 初始化环境, 采样获得初始状态

(2) For i=0, 1, ..., K:

驱动agent与虚拟环境MDN-RNN进行交互, 收集训练中RNN的隐藏信息h, 本征向量z, 动作a和奖赏r利用PPO算法优化控制器模型:${L^{CLP}}(\theta ) = \mathbb{E}\mathbb{T}[\min ({r_t}(\theta ){\tilde A_t},{\rm{clip}}({r_t}(\theta ),1 - \varepsilon ,1 + \varepsilon ){\tilde A_t}]$

AVF损失:$\mathop {\min }\limits_w E{\left( {\sum\nolimits_{t = 1}^T {{\lambda ^{t - 1}}{r_t} + AVF({h_T},{z_T},w) - AVF(h,z,w)} } \right)^2}$

End For

附录3 实验设置

经典控制任务

经典控制任务中环境图片的大小初始为400×600.我们发现CartPole-V0环境中的大部分区域都是空白的, 因而, 我们将倒立摆的位置作为图片中心, 将原图裁剪为160×320大小(如果倒立摆的位置靠近边缘, 则截取边缘的320个像素点), 之后进一步将图片压缩为40×80大小.对于MountainCar-V0以及Acrobot-V1, 为了保持图片原本的比例信息, 我们将其压缩为80×120大小.3种任务的VAE网络架构相似, 在图 11中进行了展示.其中, 在实验中, 潜变量服从32维多元正态分布.3种任务的采集数据设置见表 3, 其中, MountainCar-V0和Acrobot-V1的kernel_size和stride设计由下方粗体公式表示.

Fig. 11 The network structure of VAE in classic control environment 图 11 经典控制任务中的VAE结构

Table 3 Data collecting setting in classic control environment 表 3 经典控制任务下采集数据设置

在获得任务的本征空间的基础上, 我们对上述获得的数据中的图片状态进行压缩, 对MDN-RNN模型进行训练.在训练过程中, 我们将训练样本拼接在一起构成训练集, 并按照32-step的长度对其逐位进行切割; 将剩余的测试样本作为测试集.这样操作避免了done结束位仅出现在最后一个时间片中的问题, done可以出现在每个时间序列中的任一位置, 克服了MDN_RNN模型利用该缺陷获得不良预测模型.然而, 这样的操作却带来了起始状态的隐藏层信息不够准确, 起始状态的隐藏层信息应来自于初始化的隐藏层信息, 而非上一结束时间片传递而来的隐藏状态信息.本文利用LSTM cell, 对每一个batch中当前时间片的后续隐藏信息是否初始化进行判断.采用算法1中的步骤4对MDN-RNN进行预训练, 各个环境中的参数设置见表 4.

Table 4 MDN-RNN parameter setting in classic control environment 表 4 经典控制任务中MDN-RNN的参数设置

导弹智能突防实验

在导弹智能突防任务中, 我们构建了红方的一枚导弹突破蓝方的两枚导弹, 并命中目标的智能突防场景.在这一场景中, 我们利用VMAV-C方法对红方导弹的突防策略进行学习, 即根据当前的红蓝双方的信息, 决策导弹的变轨矢量以及变轨时间; 蓝方的拦截策略由内置的规则进行控制.

为了获得初始的样本, 我们利用随机策略、内置策略以及预训练策略(根据第1次虚拟训练获得的策略)对红方的导弹进行控制, 分别进行了1 000次的仿真实验, 从导弹进入可规划段开始采集数据, 每隔2s对导弹进行1次规划, 将当前的红蓝双方导弹特征作为一次观测, 存入训练数据集合$\{ episode = \{ ({x_t},{a_t},{x_{t + 1}},{r_{t + 1}},{d_{t + 1}})\} \} $中, 其中, xt包含红蓝双方的特征.智能突防场景中的VAE结构图如图 12所示, 将原始的红蓝双方的特征信息经过两层全连接层压缩为一个8维向量编码, 经过采样后, 利用两层的全连接层将采样编码解码为同维度的特征.在实验中, 潜变量服从8维多元正态分布.

Fig. 12 The network structure of VAE in task of intelligence penetration 图 12 智能突防场景中的VAE结构

与CartPole的固定奖赏相同, 该任务下的奖赏是可变的, 因而需要利用MDN-RNN的隐藏状态预测下一时刻的奖赏和结束位表示.智能突防场景中MDN-RNN的结束位预测包含3种情况:仿真未结束; 击中目标; 未击中目标.此外, 在VAE获得的潜在状态空间的基础上, 对训练样本中的数据进行压缩编码.在训练过程中, 我们将前800个episode拼接在一起构成训练集, 并按照32-step的长度对其逐位进行切割; 将剩余的200个episode作为测试集.采用算法1中的步骤4对MDN-RNN进行预训练, 其中, 参数设置为β1=1, β2=2.5, batch大小设置为128, 优化器选择为Adam, 学习率设置为le–5, 随机性控制参数τ=1.在神经网络设计中, 我们将动作的8维嵌入信息和状态的编码表示作为输入, 经过3层的LSTM, 获得隐藏层信息, 根据这一隐藏信息, 分别输出5个高斯分布的mean和log-sigma以及它们的权重, 同时输出对dt+1的预测.在基于注意力的值函数中, 我们采用当前4个隐藏信息来获得注意向量.本文利用PPO算法对控制器模型进行训练, 利用高斯分布在连续动作空间内采样动作.

附录4 VMC决策过程

附录5 软硬件环境

软件:使用的神经网络框架为pytorch=0.4.1, torchvision=0.2.1, 数据可视化软件为tensorflow=1.13.1, tensorboardX=1.4, 数据处理工具numpy=1.14.6, 强化学习环境为openAI gym=0.10.5, mujoco=1.50.1.56.

硬件:本文所使用的微机环境为:一块华硕1080TI显卡, 一块8核Inter I7 7820X CPU, 主板为华硕X299, 内存为16G, 硬盘为256G的固态硬盘.

附录6 MDN-RNN虚拟环境场景展示

本文从经典控制任务中采样初始状态作为MDN-RNN环境的第1帧状态, 在此基础上, 每两步进行一次还原, 进行32步仿真, 获得的场景图如图 13~图 15所示.

Fig. 13 Virtual simulation in CartPole-v0 图 13 CartPole-v0环境中的虚拟仿真

Fig. 14 Virtual simulation in MountainCar-v0 图 14 MountainCar-v0环境中的虚拟仿真

Fig. 15 Virtual simulation in Acrobot-V1 图 15 Acrobot-V1环境中的虚拟仿真

参考文献
[1]
Mnih V, Kavukcuoglu K, Silver D, Rusu AA, Veness J, Bellemare MG, Graves A, Riedmiller M, Fidjeland AK, Ostrovski G. Human-level control through deep reinforcement learning. Nature, 2015, 518(7540): 529. [doi:10.1038/nature14236]
[2]
Silver D, Schrittwieser J, Simonyan K, Antonoglou I, Huang A, Guez A, Hubert T, Baker L, Lai M, Bolton A. Mastering the game of Go without human knowledge. Nature, 2017, 550(7676): 354. [doi:10.1038/nature24270]
[3]
Conde R, Llata JR, Torre-Ferrero C. Time-varying formation controllers for unmanned aerial vehicles using deep reinforcement learning. arXiv Preprint arXiv: 1706.01384, 2017. https://www.researchgate.net/publication/317356726_Time-Varying_Formation_Controllers_for_Unmanned_Aerial_Vehicles_Using_Deep_Reinforcement_Learning
[4]
Shalev-Shwartz S, Shammah S, Shashua A. Safe, multi-agent, reinforcement learning for autonomous driving. arXiv Preprint arXiv: 1610.03295, 2016.
[5]
Su PH, Gasic M, Mrksic N, Rojas-Barahona L, Ultes S, Vandyke D, Wen TH, Young S. On-line active reward learning for policy optimisation in spoken dialogue systems. arXiv Preprint arXiv: 1605.07669, 2016.
[6]
Wang Q, Zhao X, Huang J, et al. Addressing complexities of machine learning in big data: Principles, trends and challenges from systematical perspectives. 2017.[doi: 10.20944/preprints201710.0076.v1]
[7]
Pong V, Gu S, Dalal M, Levine S. Temporal difference models: Model-free deep rl for model-based control. arXiv Preprint arXiv: 1802.09081, 2018. https://www.researchgate.net/publication/323410520_Temporal_Difference_Models_Model-Free_Deep_RL_for_Model-Based_Control
[8]
Nagabandi A, Kahn G, Fearing RS, Levine S. Neural network dynamics for model-based deep reinforcement learning with model-free fine-tuning. 2017. https://arxiv.org/pdf/1708.02596.pdf
[9]
Kamthe S, Deisenroth MP. Data-efficient reinforcement learning with probabilistic model predictive control. arXiv Preprint arXiv: 1706.06491, 2017. https://www.researchgate.net/publication/317711704_Data-Efficient_Reinforcement_Learning_with_Probabilistic_Model_Predictive_Control
[10]
Sutton RS. Integrated architectures for learning, planning, and reacting based on approximating dynamic programming. In: Proc. of the Machine Learning. Elsevier, 1990. 216-224. https://www.researchgate.net/publication/2751430_Integrated_Architectures_for_Learning_Planning_and_Reacting_Based_on_Approximating_Dynamic_Programming
[11]
Kumar A, Biswas A, Sanyal S. eCommerceGAN: A generative adversarial network for e-commerce. arXiv Preprint arXiv: 1801. 03244, 2018. http://www.researchgate.net/publication/322383842_eCommerceGAN_A_Generative_Adversarial_Network_for_E-commerce
[12]
Heess N, Wayne G, Silver D, Lillicrap T, Erez T, Tassa Y. Learning continuous control policies by stochastic value gradients. 2015. https://arxiv.org/pdf/1510.09142.pdf
[13]
Chebotar Y, Hausman K, Zhang M, Sukhatme G, Schaal S, Levine S. Combining model-based and model-free updates for trajectory-centric reinforcement learning. arXiv Preprint arXiv: 1703.03078, 2017. http://www.researchgate.net/publication/314433552_Combining_Model-Based_and_Model-Free_Updates_for_Trajectory-Centric_Reinforcement_Learning
[14]
Forrester JW. Counterintuitive behavior of social systems. Technological Forecasting and Social Change, 1971, 3: 1-22. [doi:10.1016/S0040-1625(71)80001-X]
[15]
Ha D, Schmidhuber J. World Models. 2018. https://arxiv.org/pdf/1803.10122.pdf
[16]
Chang L, Tsao DY. The code for facial identity in the primate brain. Cell, 2017, 169(6): 1013-1028. [doi:10.1016/j.cell.2017.05.011]
[17]
Nortmann N, Rekauzke S, Onat S, König P, Jancke D. Primary visual cortex represents the difference between past and present. Cerebral Cortex, 2013, 25(6): 1427-1440. https://www.researchgate.net/publication/259349771_Primary_Visual_Cortex_Represents_the_Difference_Between_Past_and_Present
[18]
Leinweber M, Ward DR, Sobczak JM, Attinger A, Keller GB. A sensorimotor circuit in mouse cortex for visual flow predictions. Neuron, 2017, 95(6): 1420-1432. [doi:10.1016/j.neuron.2017.08.036]
[19]
Mobbs D, Hagan CC, Dalgleish T, Silston B, Prévost C. The ecology of human fear:Survival optimization and the nervous system. Frontiers in Neuroscience, 2015, 9: 55. http://www.researchgate.net/publication/274727876_The_ecology_of_human_fear_survival_optimization_and_the_nervous_system
[20]
Brockman G, Cheung V, Pettersson L, Schneider J, Schulman J, Tang J, Zaremba W. Openai GYM. arXiv Preprint arXiv: 1606. 01540, 2016.
[21]
Sun R, Silver D, Tesauro G, Huang GB. Introduction to the special issue on deep reinforcement learning: An editorial. 2018.[doi: 10.1016/j.neunet.2018.08.001]
[22]
Kurutach T, Clavera I, Duan Y, Tamar A, Abbeel P. Model-ensemble trust-region policy optimization. arXiv Preprint arXiv: 1802. 10592, 2018. http://www.researchgate.net/publication/323471401_Model-Ensemble_Trust-Region_Policy_Optimization
[23]
Piergiovanni A, Wu A, Ryoo MS. Learning real-world robot policies by dreaming. arXiv Preprint arXiv: 1805.07813, 2018. http://www.researchgate.net/publication/325282850_Learning_Real-World_Robot_Policies_by_Dreaming
[24]
Nair AV, Pong V, Dalal M, Bahl S, Lin S, Levine S. Visual reinforcement learning with imagined goals. 2018. http://export.arxiv.org/abs/1807.04742
[25]
Hafner D, Lillicrap T, Fischer I, Villegas R, Ha D, Lee H, Davidson J. Learning latent dynamics for planning from pixels. arXiv Preprint arXiv: 1811.04551, 2018. http://www.researchgate.net/publication/328900161_Learning_Latent_Dynamics_for_Planning_from_Pixels
[26]
Cuccu G, Togelius J, Cudre-Mauroux P. Playing atari with six neurons. arXiv Preprint arXiv: 1806.01363, 2018. http://www.researchgate.net/publication/325592192_Playing_Atari_with_Six_Neurons
[27]
Clavera I, Rothfuss J, Schulman J, Fujita Y, Asfour T, Abbeel P. Model-based reinforcement learning via meta-policy optimization. arXiv Preprint arXiv: 1809.05214, 2018. https://www.researchgate.net/publication/327687787_Model-Based_Reinforcement_Learning_via_Meta-Policy_Optimization
[28]
Rajeswaran A, Ghotra S, Ravindran B, Levine S. Epopt: Learning robust neural network policies using model ensembles. arXiv Preprint arXiv: 1610.01283, 2016. http://www.researchgate.net/publication/308896398_EPOpt_Learning_Robust_Neural_Network_Policies_Using_Model_Ensembles
[29]
Schulman J, Levine S, Abbeel P, Jordan M, Moritz P. Trust region policy optimization. 2015. https://arxiv.org/abs/1502.05477
[30]
Schulman J, Wolski F, Dhariwal P, Radford A, Klimov O. Proximal policy optimization algorithms. arXiv Preprint arXiv: 1707. 06347, 2017. https://www.researchgate.net/publication/318584439_Proximal_Policy_Optimization_Algorithms
[31]
Konda VR, Tsitsiklis JN. Actor-critic algorithms. In: Advances in Neural Information Processing Systems. 2000. 1008-1014.
[32]
Kingma DP, Welling M. Auto-encoding variational Bayes. arXiv Preprint arXiv: 1312.6114, 2013. https://www.researchgate.net/publication/319770229_Auto-Encoding_Variational_Bayes
[33]
Ha D, Eck D. A neural representation of sketch drawings. arXiv Preprint arXiv: 1704.03477, 2017. https://www.researchgate.net/publication/316085164_A_Neural_Representation_of_Sketch_Drawings
[34]
Abadi M, Barham P, Chen J, Chen Z, Davis A, Dean J, Devin M, Ghemawat S, Irving G, Isard M. Tensorflow: A system for large-scale machine learning. 2016. https://arxiv.org/abs/1605.08695