兵棋地图坐标预训练向量表示方法
兵棋地图中坐标的向量表示、特征处理
自主原创
1. 背景
近年来,预训练模型在以自然语言处理(NLP)大放异彩。预训练模型是一种迁移学习的应用,它可以将从开放领域学到的知识迁移到下游任务,以改善低资源任务。以word2vec,Glove,ELMO,BERT为代表的不同属性的预训练词向量广泛开源,并被广泛利用于各类下游任务。
在陆战兵棋中,兵棋战场覆盖规模广,地形信息复杂多样,快速理解地形环境对克敌制胜至关重要。然而训练地形的特征表示仍面临着重大挑战:(1)训练数据获取困难:对于临机想定等考验智能体AI迁移性等场景下,面临着复盘训练数据匮乏的问题。(2)数据稀疏:复盘数据中算子的移动位置大多集中于战场的中心,对于较边缘的位置坐标面临着数据稀疏性的问题。(3)信息全面性:兵棋地图中位置坐标使用onehot等编码方式面临数据稀疏、无法反映地图中通视、遮挡等信息等问题。
因此,我们提出一种从地图自身特征出发的自监督预训练模型,学习蕴含于地图坐标中的通视知识,并将训练得到的地图坐标向量表示在下游任务中进行验证。实验表明,我们所提出的地图坐标预训练方法可以有效地在无动态复盘数据条件下对地形理解与学习,并对下游任务产生增益作用。
2. 算法设计
在陆战兵棋地图中,通视关系是指由于高程、特殊地形的遮挡造成坐标之间是否通视的结果。我们以通视为关系为基础建立兵棋地图的Graph,坐标作为节点(Node),通视关系作为边(Edge)。得到的不同地图的数据情况如下表:
我们提出一种基于图编码器的自学习预训练模型,从地图本身的特征出发学习坐标的嵌入表示。
模型主要包含三个重要模块:
(1) 坐标的特征输入与边掩盖(mask):
此模块主要处理输入图的邻接矩阵A和节点的特征矩阵X。其中邻接矩阵A进行mask操作,即掩盖一部分作为验证和测试使用。
(2) 图卷积编码:
编码器采用两层的图卷积神经网络,采用GCN的结构:
(3) 链路预测解码:
解码器两两计算两点之间存在边的概率来重构图:
损失函数包括生成图和原始图之间的距离度量,以及节点表示向量分布和正态分布的散度两部分:
3. 实验效果
(1)预训练任务实验效果:
实验参数设定图卷积层数为2, 第一层隐层维度为32, 第二层隐层维度为16。划分75% 数据为训练集,5%数据为验证集,20% 数据为测试集。
评测指标选用AUC值和精准度(AP)。在不同地图上训练效果如上表所示。
(2)攻击目标选择(下游)任务实验效果:
攻击目标选择任务,是指算子在某个态势下valid_actions中有多个射击目标,其最终可能会选择一个目标进行射击,我们通过机器学习模型来学习这种攻击目标的选择规律。
训练数据来源为2020年先知赛复盘数据,实验抽取了高原通道地图中201group的240场复盘数据和水网稻田中301group的480场复盘数据,形成攻击目标选择训练数据集为高原通道5479条,水网稻田17554条。
表中LR表示逻辑回归模型,DNN表示深度神经网络模型,-OH表示onehot编码方式,-E代表以预训练坐标向量作为初始化地编码方式。
分别对比LR和DNN中使用预训练表示和不使用(效果有明显提升),证明了对于不同地图和不同模型的适用性。在dnn中使用emb能取得更高的效果提升,说明了emb这种参数的方式更适合深度学习模型