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

4.2 模仿学习研究现状

4.2.1 行为克隆

行为克隆可以看作一种监督学习的算法,其主要思路是根据玩家提供的游戏录制的样本,由AI通过深度网络等模型从样本集中提取玩家玩游戏的策略,当AI与游戏环境交互时,能匹配当前的游戏状态,然后模仿玩家的动作进行应对。该算法与监督的图像分类问题很相似:在图像分类问题中,需要提供图像集和每张图像对应的类别标签,然后构建深度网络结构,提取图像中的潜在语义特征,优化目标要求模型预测的类别与真实的图像类别尽量相同;而在行为克隆中,它是将图像分类中的图像类别标签转换成玩家的动作标签,特征提取部分同样基于深度网络,训练模型的目标要求相同状态下尽量输出与玩家相同的动作。

与监督的图像分类问题相比,行为克隆训练的难度更高,主要有以下几个原因。

第一,在图像分类问题中,我们可以在构建样本集时便充分考虑训练集和样本集的样本分布,尽量保证两者相似,这样训练出来的模型在训练集和验证集都能取得较好的效果。但是,行为克隆训练出来的模型要求会根据当前的游戏画面做动作,游戏环境会根据当前动作更新游戏画面。也就是说在行为克隆问题中,训练集是根据玩家策略录制的图像和动作集合,而测试集是根据模型学习的策略生成的游戏图像,一旦模型策略和玩家策略存在偏差,训练集和样本集的样本分布会出现较大差异。当AI由于动作偏差而进入训练集中未出现的场景时,模型无法做出正确的动作。

第二,图像分类目前有诸如ImageNet的大规模数据集,可以先在大规模数据集训练得到初始的网络模型,由于图像样本覆盖大量场景,基于其训练的模型不容易出现过拟合的情况。然后,针对特定任务,在初始模型上微调模型参数,这样即使特定任务中采集的样本图像较少,也能提取到较为健壮的潜在特征,防止模型过拟合。但是针对游戏中的行为克隆问题,目前并没有大规模的游戏样本集,而且自然场景图像与游戏图像在外观上存在较大差异,不同游戏风格各异,很难提取针对游戏的通用特征,这也就导致行为克隆训练的模型容易过拟合,即训练过程中能获得较好的效果,但在测试过程中难以做出与玩家类似的动作。

第三,在图像分类问题中,图像的类别很少会出现标签模糊的情况。针对相同图像,不同人给出的类别标签基本是一致的,这也意味着相同类别的图像在外观上有较大的相似性,不同类别的图像在外观上区分度高。但是在行为克隆问题中,玩家在同一个状态下可以执行多种动作,而不同玩家游戏策略不同,相同游戏状态有可能会执行完全不同的行为,这使得模型很难从同一类动作对应的样本集中提取判别力强的抽象特征,进一步提高行为克隆的准确度。

第四,在玩家录制的样本中,不同类别的样本数量差异很大,采用这些样本训练模型容易使网络倾向于做特定动作。另外,很多游戏场景下,玩家有多种动作选择,而且不会对游戏结果产生不良影响,这会导致同一个动作对应的样本集外观差异较大,难以专注于学习关键时刻的动作策略。

行为克隆虽然有以上描述的问题,但其优点也很明显。在训练过程中,行为克隆不需要与真实环境进行交互,仅需要提供玩家录制的样本就可以训练,极大地降低了使用门槛,而无须使用游戏内部接口。