基于人工智能深度增强学习的装备维修保障兵棋研究
2018-03-14李承兴高桂清鞠金鑫
李承兴,高桂清,鞠金鑫,蒋 振
(火箭军工程大学, 西安 710025)
随着人工智能学习技术的日趋发展,以Alphago为首的围棋AI掀起“人机大战”的潮流。在兵棋推演系统中通过利用基于大量兵棋对抗数据的深度增强学习人工智能技术方法,提升计算机AI的学习与进化能力,模拟人的思维方式,实现对抗经验的快速积累,同步提高对抗水准的同时,帮助装备保障推演指挥员改善、提高指挥策略、谋略水平。
1 增强学习原理
1.1 基本原理
参与学习过程的机器称为智能体,增强学习的本质是智能体通过尝试与环境反馈而完善策略的过程。智能体的学习过程基于环境感知,通过付出行为动作得到反馈,并根据结果进行学习优化。深度增强学习的原理主要包括两方面:马尔科夫决策过程(MDP)与神经网络。
1) 马尔科夫决策过程(MDP)。一个完整的MDP是一系列状态S与动作A的组合,智能体通过动作完成状态转变,而马尔科夫过程的基本假设是每个状态只与上一个状态相关。一个MDP一般由五要素构成:{S,A,{Psa},γ,R},其中:
智能体在状态s0的情况下采取动作a0,并按照Psa的转移概率到s1,在这个过程中产生了回值r0,按照以上步骤完成的决策过程可以用图1表示。
在MDP基本元素确定后由于增强学习过程之中很多行动并不能立刻得到回报,而是延迟到行动结果产生时,因而一步回报函数r(s,a)并不能具备表示策略好坏的能力。为了解决上述问题,需要定义值函数来体现整个策略π的回报(π定义了各种状态对应的行动)。常用的值函数如下:
(1)
在状态s下采用策略π时:考虑未来回报与即时回报拥有不同权重。增强学习最终的目标是最大化值函数,因而最优化的π可以定义为
π*=arg maxVπ(s),(∀s)
(2)
即在每个状态下均能取到最大值函数的动作集合π。
一般一个状态下可以对应有多个动作,进而延伸出能够清楚表示出不同动作下的回报动作效用函数Q函数,记为Q(s,a)。Q函数可以简单地理解为一张表格,即记录下每个状态s下采用动作a对应的回报值。Q表的更新迭代规则为:
(3)
式(3)中表示在状态s下采取动作a时,i+1轮参数等于第i轮的参数r与转化后的状态s′下能够取得的最大回报之和。Q函数动态更新,最初初始化为0矩阵。
2) 神经网络。对于装备维修保障兵棋而言,上述最小化值函数的过程能够很好地得到最优化的策略集π,但是当状态集较大的情况,Vπ(s)对应的值空间将无比巨大,随之而来的需要模拟的次数也将使得算法失去时间上的可行性。在这种情况下,需要采用相似的方法进行处理,即使用新的函数表示值函数。新函数在任意输入的情况下均能给出近似输出,即Vπ(s,W)≈Vπ(s),其中W为新函数的参数集。对于新的函数,需要通过更新参数W来逼近最优值函数,这个更新过程即优化过程。
对于海量状态集且不确定函数形式的情况,基于神经网络的监督学习是最优解法。监督学习是给定数据与结果,利用结果更新参数使得输出尽可能逼近结果。神经网络通过梯度下降法,根据损失函数更新网络参数,从而实现函数逼近。神经网络学习的最终结果是大量神经元的参数,即W。
1.2 深度Q学习流程
对于推演状态动作空间极大的过程,直接最优化Q函数时间限制无法满足,因而采用神经网络代替Q值的方法,即深度Q学习。深度Q学习的过程按照准备、训练和应用3个层次递进,其中准备阶段包括状态与行动空间的确定、回报的确定;训练阶段包括随机模拟数据生成、神经网络参数训练;应用阶段即采用贪心或最长路径算法确定最优策略。
1.2.1 准备阶段
1) 状态空间。状态空间是Q学习中的主线,各种状态对应需要的动作收益即Q学习目标。在装备维修保障兵棋系统中,其状态空间包括推演过程中每个回合结束后可能出现所有局面情况,可能出现复杂度较高的场景,因而可以对状态进行分类,如分离状态、交战状态、受损状态、维修状态,其中分离状态是指双方并未接触,各自执行任务;交战状态一般包含袭扰的过程;受损状态即装备受损且未被维修的状态;维修状态则是维修过程状态,每个状态空间包含多种状态,但是具有极大的相似性。
2) 动作空间。动作空间是智能体在一定状态下进行的操作行为统称,分为全局和局部。全局动作是指整个过程中所有动作的集合,而局部动作则是针对特定状态采用的动作,局部动作有助于减小动作空间,集中处理相应状态。在装备维修保障兵棋中,动作空间等同于命令数据。局部动作空间是在特定场景下的命令集,如修理状态命令主要集中在修理命令上。
3) 回报。回报是Q学习的目标,是动作带来的状态转变的收益。装备维修保障兵棋中回报的确定主要包括装备损伤、物资消耗与维修结果,并根据其重要程度分别复制不同的回报。红方最终目的是取得损伤最小、消耗最少且维修成果最好的局面,而蓝方则是在自己消耗最少的情况下尽可能使得红方损伤最大。
1.2.2 训练阶段
1) 随机模拟数据生成。在状态与动作空间确定后,遍历所有状态与动作序列在时间上不现实,因而采用随机初始化初始情况,并根据当前状态空间下的可选动作,按照选定的概率分布,随机选择动作模拟。通过一系列模拟生成不同类型的数据资料,为神经网络的学习提供数据参考。
在装备维修保障兵棋中,确定想定场景之后的步骤均能够根据相应的空间执行动作,模拟完成推演,推演的结束是维修任务的完成。在随机模拟数据完成后,一套状态动作序列的所有回报均能用于网络训练。
2) 网络训练。对神经网络的训练过程可以看作Q表的更新过程。第一步对网络参数进行初始化,通过在网络上做出相应的动作行为触发神经元,最终由此得到相应的反馈输出进行在线学习。每个状态动作序列按顺序投入训练,不同的是每轮训练完成时,需要保留本轮的网络参数为W-,用于下一轮更新相应的Q值,其损失函数即两轮之间Q值之差的平方,利用梯度下降法更新网络。
由此可见,网络训练就是Q表的生成,利用网络对多种不同状态的规律提取能力节省了大量存储空间。直观上理解为:在一次机动任务完成过程中存在多个不同的状态,这些状态中采取袭扰而产生的结果可能是相似的。
1.2.3 应用阶段
应用阶段就是将训练好的网络用于实际策略选取的过程。在Q值完全精确的情况下,智能体只需要在每个状态下选择回报最高的动作进行操作,即能够保证最优的最终结果,这种策略称为贪心法。在实际操作过程中,智能体遍历通过当前状态下的动作空间实现贪心。为避免局部最优解的影响,通常还可以采用最长路径算法优化贪心法,增加贪心的步骤而更加靠近全局最优解法。
2 增强学习过程
通过装备维修保障过程中的装备受损和机动维修分队抵达受损装备位置点等具体内容,探讨人工智能技术理论在推演中的状态、动作量化,状态转移与回报值确定以及深度学习3个方面增强学习能力的应用方式方法。
2.1 状态与动作量化
机动分队抵达受损位置后开始维修过程的模拟是对状态的量化。在学习过程中采用一个状态矩阵来表示当前状态,设置当前受损装备所在部队番号为K,机动分队代号为X,则针对当前维修过程的状态进行量化,如表1所示。其中各型状态取值如表2所示。
表1 机动维修分队维修状态类型量化
表2 机动维修分队维修状态类型取值
状态的改变即为状态矩阵中对应属性值的改变。马尔科夫决策过程中的动作,可以狭义地理解为兵棋系统中的指令。维修过程中的指令只针对维修处置。同样采用当前受损装备所在部队番号为K,机动分队番号为L,则动作可以用指令向量描述如表3所示。
表3 维修指令向量描述
注:指令源棋子指执行命令棋子,指令目标棋子指命令所影响棋子,如受损单位
2.2 状态转移概率与回报值
状态的转移主要包含两方面因素,状态转移的概率以及转移后新的状态。在MDP中每个状态转移的过程即是变化的过程,状态转移的概率即引发状态变化的多种裁决过程的概率集合,而转移后的概率即裁决的最终结果。在维修过程中,维修指令下达后开始维修过程,每次维修都有成功的概率,即状态转移概率,而利用随机数判定的维修结果即是新的状态。具体应用中设置当前的状态为St,此时的行动集为A(其中动作集包括a1与a2,分别代指维修与放弃维修)。当前状态中详细描述了受损装备的受损等级、维修棋子的维修等级与维修能力值。采取不同动作的状态转移概率描述如下:
1) 采取动作a2。在采取动作a2,即放弃维修的情况下,当前状态St向下一个状态转移的概率为0,即状态不会改变。
2) 采取动作a1。采取动作a1,即立刻维修的情况下,当前状态的下一个状态St+1共有两种可能:
第1种情况下,在St+1中装备维修成功,则受损装备k等级将为0,同时维修棋子l的维修能力值减去相应消耗值,此时的P(St,St+1)即为裁决表中维修成功的概率p;
第2种情况下,在St+1中装备维修失败,则受损装备k等级保持不变,同时维修棋子l的维修能力值减去相应消耗值,此时的P(St,St+1)为1减去裁决表中维修成功的概率p,即1-p;
如上所述,兵棋中状态转移概率依照相应的动作由裁决表决定。
在确定状态转移概率后,动作的回报值由状态之间的差异确定。状态矩阵表示方法的优点在于一步或多步回报均可采用矩阵差值的方式求得,针对维修过程的回报值考虑维修成果以及维修过程中的消耗,回报函数表示为
回报=Ea(α1×装备受损等级之差+
α2×维修能力值消耗)
(4)
式(4)中,α1,α2为两种属性的回报权重,满足等级差越大回报越大,维修能力值消耗越大,回报越小的原则。而Ea表示采取动作a时的回报期望。
确定了状态转移概率与回报值函数,即可通过马尔科夫决策过程模拟动作过程,获取最佳行动策略。
2.3 深度学习的应用
兵棋的状态空间包括了整个棋局所有单位的状态信息,而每个状态下对应的动作集差异巨大。在不同状态下动作集基础上,状态空间叠乘动作空间范围过大带来存储空间与查询时间过大的问题。通过状态转移概率与回报函数,利用深度神经网络进行监督学习的方式能够有效模拟整个状态行为空间。
维修过程中,每个状态可以由二维的状态矩阵表征,相应的动作由一维的指令向量表征,将状态矩阵展开成一维,并拼接动作向量形成的长向量Vec为神经网络的输入,相应计算得到的回报值为神经网络的输出,整体流程如图2所示。
假设状态矩阵为M*N维,动作向量为1*K维,展开拼接所得的输入向量为1*(M*N+K)维,通过给定的回报期望来训练深度神经网络。在状态矩阵的动作向量大量变化过程中,神经网络记录其回报特征,模拟每种状态与动作情况下的期望回报,从而解决Q值表过大的问题。
3 增强学习意义
当前部队在使用各型训练系统的过程中存在效能发挥不佳、资源分配不均等一系列问题,兵棋系统在汲取部队应用训练系统过程中的实际情况和短板问题基础上,通过对人工智能技术理论领域的认识和分析,以技术展望的角度探究融合MDP和神经网络技术,从而增强装备维修保障兵棋系统的深度策略学习能力,为更好发挥系统潜能,提高应用的质量效益提供了方法思路。
1) 提高训练对抗水准。策略学习的过程主要有两部分:线下学习与在线增强学习。线下学习是建立在多次对弈的数据基础上,通过数据训练神经网络作为增强学习的近似值函数,在对弈时利用在线增强学习达到最优化策略的目的。以往经验的积累只能够通过汲取历史资料或实践演习任务和平时训练而来,且经验的传递具有极大的限制性。机器学习的过程是经验积累的过程,通过大量数据抽象出最直接有效的策略,机器学习具备一次性与进化性,一次性是指通过一波训练得到的结果将能够永久保存,而进化性则是表示训练完成的网络参数能够根据推演活动任务的区别、时代的变化而进行迁移训练,在已有的经验基础上学习新的策略。
2) 挖掘资源利用效率。充分发掘兵棋系统的潜力,除了通过棋局复盘积累经验以外,充分的训练过程必不可少。装备维修保障兵棋的推演对抗活动需要导调员和红蓝方推演者,这意味着每次训练需要一定的人力资源。此外,与类型、岗位的推演者进行对弈有助于受训指挥员应对不同思想和指挥风格的对抗者,这是有效提升训练质量对人力提出的功能需求,而经由学习产生的AI具有多样性与复用性,多样性是指AI能够通过改变训练数据而模拟不同风格的对弈者,为指挥员提供多样的训练效果。复用性是计算机带有的特性,即一个AI能够同时参与多人对弈,不同于一对一的真人对弈,利用有效的资源充分发挥了计算机系统的潜能效益。
3) 有效充当多重角色。推演过程中,增强训练产生的策略除了用作AI以外,还能够为推演者提供最优化的指挥策略建议及验证完善任务方案。通过确定模型,AI计算出的策略在一定的概率范围内浮动,不因推演者心理情绪的波动而产生偏差,体现出计算机的绝对理性,并且通过强大的计算能力,AI能够根据战场态势情况模拟出多种策略方案并选取最优解。虽然计算机在创造性上存在短板,但是在多数情况下,由大量数据累计的计算及先验知识得出的结论对推演指挥员还是具有一定的参考意义。
:
[1] 石崇林.基于数据挖掘的兵棋推演数据分析方法研究[D].北京:国防科学技术大学,2014.
[2] 杜羡.基于分布式径向基网络的板形识别模型研究[D].秦皇岛:燕山大学,2013.
[3] 杨宇航,李志忠,傅焜,等.基于虚拟现实的导弹维修训练系统[J].兵工学报,2006(2):107-110.
[4] 刘平,高崎,黄照协,等.维修分队战时装备维修能力评估方法研究[J].装备环境工程,2012(5):130-134.
[5] 钟剑辉,傅调平,邓超.基于人工智能的兵棋推演作战分析研究与设计[J].舰船电子工程,2015(1):32-33.
[6] 吴伟,吴琳.基于兵棋推演的作战效能评估方法研究[J].军事运筹与系统工程,2013(6):16-19.
[7] 刘纪红,徐晓东.计算机兵棋人机交互平台的研究[J].东北大学学报,2008(5):23-26.
[8] 杨南征.虚拟演兵—兵棋、作战模拟与仿真[M].北京:解放军出版社,2007.