基于深度学习的五子棋行为预测分析外文翻译资料
2021-12-11 22:17:00
英语原文共 4 页
基于深度学习的五子棋行为预测分析
概要——在人工智能研究领域,五子棋游戏是一个长期存在的挑战。随着深度学习的发展,行为预测可以帮助提高棋类游戏AI的智能水平,比如AlphaGo。按照这个想法,我们通过有监督地训练深卷积神经网络,以预测由专家五子棋RenjuNet数据集所做的移动。为了解决这个问题,我们提出了一系列具有不同结构和不同参数的深层神经网络。本文提出的深卷积神经网络仅以棋局的状态作为输入,就能识别出五子棋的一些特殊特征,并选择最有可能的下一步动作。最终的神经网络在RenjuNet数据集上实现了约42%的移动预测精度,达到了五子棋专家级玩家的水平。此外,以行为预测为导向能够生成人类水平的超强五子棋AI。
一、介绍
- 五子棋
五子棋,又名连珠,是起源于古代中国的一种策略棋盘游戏。如图1所示五子棋是由黑白两种棋子在15*15的棋盘上进行游戏的。最简单的规则下,执黑先行,两名玩家交替将自己颜色的棋子放在一个空的十字交叉处,要赢得游戏,你必须在水平、垂直或对角线上获得一排五个连续的棋子。
作为人工智能研究的合适对象,已经有很多研究五子棋的方法被提了出来,其中最流行的当属博弈树研究。此方法从当前棋局状态的根节点搜索博弈树,一旦搜索到出现连续五个棋子时就返回当前行为状态。然而,完整搜索需要评估p!/(p-n)!种局势状态,其中p是当前棋盘局势下的可能合理次数,n是深度。在穷尽搜索不可行的情况下,Schaeffer提出了历史启发式搜索和alpha;-beta;剪枝搜索,以加速博弈树搜索。
另一方面,研究者们试图使用神经网络来创建高水平的五子棋助手。Freisleben训练了一个神经网络使用强化学习来与人对弈,通过奖励好的动作和惩罚坏的动作来评估棋盘状态。赵用三层全连通神经网络自适应动态规划学习玩五子棋。这种方法可以通过与AI自身的对抗来提高五子棋AI的水平。由于神经网络的输入由40个选定的模式组成,这种AI的性能严重依赖于所选特征的质量和可用的专业知识。
- 深度学习
深度学习是机器学习的一个新分支,它具有多个网络工作层,可以在海量数据中实现高水平的学习。深度学习作为一种表征学习方法,具有多种表征层次。通过组合大量简单而非线性的模块,深度网络可以将原始输入的表示转化为更高的表示,并学习非常复杂的函数。
深度学习在解决人工智能问题方面取得了重大进展。结果表明,该算法能够很好地发现高维数据中的复杂特征,有助于解决手工特征提取问题。近年来,各种深度学习体系结构,如深度连通神经网络、深度进化神经网络、深度信念网络和循环神经网络等已经被运用于计算机视觉、语音识别以及自然语言处理等多种领域。
随着AlphaGo的成功,深入学习成为一种有前途的棋盘游戏人工智能方法。作为AlphaGo的第一阶段,我们训练了一个策略网络,通过有监督的学习来预测专家玩家的移动,从而将搜索的范围缩小到很大程度。在此基础上,本文尝试用深度学习的方法来提高五子棋AI的行为预测能力。
文章剩余内容的安排如下。在第二部分中我们描述了本文中使用的移动预测方法。第三部分详细介绍了应用深度卷积神经网络方法进行五子棋移动预测的方法。第四节介绍了不同网络结构和超参数的实验结果,并对其进行了简要的讨论。最后,得出本文的结论。
二、行为预测
通常来说,人类专家在玩游戏时很大程度上依靠模式识别来选择行为。专家级玩家可以一目了然地获得对当前棋盘局势的准确判断,而无需考虑未来可能的位置。这种机制不同于传统的计算机算法,后者模拟了数千种可能的未来移动。因此,基于模式识别的游戏行为预测可能是提高游戏AI性能的关键。到目前为止,移动预测已经成功地应用在棋盘游戏中,如围棋和Hex。
- 围棋中的行为预测
围棋是由两名玩家进行的古老棋盘游戏。不仅相较于五子棋有着更大的棋盘,围棋的规则也要更加复杂。由于巨大的搜索空间和评估棋盘局势以及行为的难度,围棋被视为人工智能领域最具挑战的游戏。
近些年来,运动预测与深度学习逐渐被应用到游戏中去。2008年,Sutskever应用了两层卷积网络来预测围棋的行为。使用当前棋盘局势和以前的移动作为输入,其精度达到34%。在2014年,Clark采用了类似的方法,使用8层卷积神经网络来实现44%的移动预测精度。2015年,Maddision通过监督学习训练了12层卷积神经网络,该网络正确预测了55%的专家移动,相当于6 段的人类棋手。同样在2015年,田用他的“黑森林行动计划”获得了几乎相同的预测结果。
2015年底,谷歌成功解决了围棋问题,发表在了《自然》杂志论文。2016年3月晚些时候,Alphago以4:1击败了李世石,并帮助计算机首次实现了最高的人类水准。在AlphaGo中,策略网络由13个卷积层和部分非线性组成,其中asoftmax层输出所有合法移动的概率分布,如图2所示。该网络接受了KGS Go服务器3000万个位置的培训,以最大限度地提高在特定状态下选择人类移动的可能性。使用所有48个输入功能的测试精度为57.0%,仅使用原始棋盘局势和移动历史作为输入的测试精度为55.7%,两者都符合最先进的预测性能。通过神经网络的移动预测,AlphaGo提高了搜索效率,达到了顶级的专家级别。
- Hex中的行为预测
Hex3是一个经典的连接板游戏,由两个玩家在一个13times;13菱形的六角形单元上进行,每个玩家被分配两个相反的董事会和一个石头颜色。胜利者是第一个将双方的石头连成一条链子的玩家,如图3所示。尽管规则很简单,但是hex的策略很深,策略也很复杂,可以作为人工智能算法的测试平台。以前的计算机Hex研究方法主要是搜索树方法,现在也采用了带深度学习的运动预测方法。Young通过有监督的学习来训练网络,以预测在位置数据库中产生的移动,该网络由10个卷积层和1个完全连接的输出层组成。移动预测作为深度Q网络的初始化阶段,帮助神经网络HexAI实现较高的水准。
- 基于深度学习的行为预测
行为预测与深度学习有着密切的关系。由于人类专家通常以一种复杂的、非线性的方式思考,棋盘游戏的目标函数曾经非常复杂。此外,目标函数总是不平滑的,因为对位置的微小更改可能会显著地改变最可能的下一个移动。这些特性使这项学习任务非常具有挑战性,并激励我们尝试一种深度学习方法,因为深度学习非常适合学习复杂、非光滑的功能。行为预测同样提供了一个测试游戏的人工智能深度学习能力的机会。
三、深卷积神经网络
本文中,我们训练了一个深卷积神经网络,在当前几盘状态作为输入的情况下,预测下一步的移动。在本节中,我们将介绍数据预处理技巧、不同的网络结构以及训练过程的详细信息。
- 实验平台
在接下来的实验中,我们选择Tensroflow和Keras作为实验平台进行行为预测研究。作为当前最为流行的深度学习库,Tensroflow促进了深度学习的发展,它主要源于机器学习算法的表达,尤其是深度学习。自发布以来,越来越多的人使用Tensroflow进行机器学习和深入的神经网络研究。此外,为了有效地进行深度学习实验,许多研究开始采用Tensroflow与Keras相结合的方法。Keras是一个高度模块化的神经网络库,能够在TensorFlow之上运行。它的开发重点是在尽可能少的延迟下实现快速实验,从而实现深入学习。
- 数据和预处理
培训数据集来自RenjuNet。RenjuNet是一个在线数据库,为五子棋游戏提供所有游戏记录的下载服务用于进行游戏和研究。所有游戏记录和相关信息都存放在XML文件里,名为renjunet_v10_yyyymmdd.rif的文件。
在本文中,我们使用的数据集中包含多达66000个五子棋游戏记录。对于每一个游戏记录,从几十个移动到100多个移动的数量是不同的。显然,当从不同的游戏中提取状态和动作对时,它会产生重复的数据。为了有效地删除重复的数据,我们使用不同的哈希值(基于图像灰度值)迭代每个棋盘图像。通过这种方式,我们可以比较哈希值,而不是比较图像。因此,每个图像只需要访问一次,从而节省了大量时间。之后,我们得到了1247582对(状态、动作)对。数据集的每个棋盘状态都被视为图像,标签是该特定状态下的下一个移动。也就是说,每个棋盘状态S被预处理成一组15times;15的特征平面。特征值通过一个热编码拆分为多个二进制值平面,表示交叉点是黑色、白色还是空的。地面真值标签存储在一个单独的数组中,该数组匹配其相关状态的索引。标签也可以通过一个热编码进行处理。这样一来,五子棋行为预测问题就变成了一个图像分类问题。考虑到特定的配置,深度神经网络体系结构试图确定最可能的下一步行动。
- 体系结构
为了使我们的五子棋行为预测问题获得最佳性能,我们尝试了许多不同的网络架构。我们使用多层全卷积神经网络。如图4所示,网络的输入由15times;15times;3个特征平面组成,随后是5times;5个滤波器的卷积层。因为五子棋的获胜策略形成了连续5块棋子的模式,所以我们选择5times;5的第一个过滤器来捕获少于5块连续石头的特征。以下卷积隐藏层的内核大小为3times;3,该层重复n次。所有卷积隐藏层的步幅均为1,输出为零,可填充至15times;15。每个卷积层后面都有一个直线单元非线性。其中x是ReLU的输入然后f(x)是输出。最终隐藏层卷积1个内核大小为1times;1的过滤器,并应用SoftMax函数选择下一步。我们不使用两个SoftMax输出层分别预测黑白移动,只使用一个SoftMax层预测下一个移动。因为在一个五子棋游戏中,下一步的颜色可以根据棋盘状态获得。值得注意的是,在深度卷积网络模型中,我们不使用池,因为它们会对性能产生负面影响,正如前面所证明的那样。与图像分类任务类似,SoftMax 将网络层的输出解释为每个特定移动的记录概率。第i个板位移动的丢失功能是
其中zi是第i个棋盘位置的softmax层的输入值,在五子棋游戏中m等于225。
- 训练
Renjunet数据集分为训练集、验证集和测试集。我们有147582个数据用于测试,剩下的1100000个数据用于培训和评估,使用8:2的分割。与AlphaGo的异步随机梯度下降优化器不同,我们使用Adam优化器来帮助收敛。Adam易于实现,计算效率高,内存需求小。Adam更新规则如下所示。
目的是根据梯度dx更新x,超参数beta;1beta;2 eps和alpha;.我们初始化超参数的默认值beta;1等于0.9,beta;2等于0.999,eps等于1eminus;8。所得alpha;初始化为0.003,M和V的具体初始化方法见Kingma的论文。训练之前,我们将训练数据随机分为不同的游戏阶段。这样可以确保每个批次包含不同的板状态,防止网络快速过度配置和陷入不良的本地优化。对于每个培训步骤,我们从RenjuNet数据集中随机选择一个小批量的样本,并应用Adam更新规则来最大化操作的日志可能性。我们使用Glorot均匀函数初始化卷积层的权重及其偏差。培训过程应用于具有4GHz Intel i7-6700K CPU、Nvidia Titanx GPU和32GB内存的计算机。
四、结果和讨论
为了评估我们行为预测网络的表现,我们测试了不同的顶尖选手,来批量规范化方法,以及各种超参数。最后,我们对行为预测方法及未来的研究方向进行了探讨。
A.1times;1顶部卷积层
在第一阶段,我们评估1times;1顶部卷积层如何影响预测精度。在Clark看来,使用完全连接的顶层比使用卷积顶层更有效。为了比较这两个选项在我们的五子棋问题中的性能,我们训练了不同的顶层,结果如表1所示。
从表一可以看出,与Clark的结论不同,全连接顶层的性能比1times;1顶部卷积层稍差。在Renjunet数据集中,保留1times;1顶部卷积层会使测试精度下降近1%-2%。此外,1times;1的顶部卷积网络参数较少,训练时间也大大缩短。一般来说,1times;1顶部卷积网络结构对于行为预测问题是非常有效的。在下面的实验中,我们都使用了一个1times;1的顶部卷积层的全卷积网络结构。
- 批处理规范化
批处理规范化用于规范化每一批上一层的激活。它可能有两种方式有助于深入学习:更快的学习速度和更高的整体准确度。在我们的工作中,我们测试了批处理规范化如何影响培训性能。
从表二可以看出,批量规范化确实提高了行为预测的准确性,但非常有限。可能是因为训练数据与ImageNet数据集有很大的不同,因为批处理规范化可以显著提高性能。为了使我们的模型简单易行,我们在下面的实验中不使用批量规范化。
- 不同的超参数和阶段
在此阶段,我们测试了一些超参数,并比较了不同网络的精度和损耗。所有结果见表三。
1)深度、过滤器编号和批量大小:从结果中可以明显看出,在n从0增加到10的情况下,较大和较深的网络在质量上比较浅的网络有更好的性能。此外,随着网络深度增加到四个以上的卷积层,精度变化变得不明显。对于每个卷积层的不同滤波器数(除最后一个外),结果表明,当该数等于128时,我们具有最佳的精度和损耗。对于不同的批量,32似乎是最好的选择。总的来说,令人振奋的是,预测精度可以达到42%左右。据我们所知,这是一个可接近的精度,可以称作五子棋行为预测的专家。以运行时间和准确性为代价,最佳网络有一个128 5times;5过滤器的卷积层、四个128 3times;3过滤器的卷积层和一个1times;1过滤器的卷积层。
2)准确度和损失配置:最佳模型的训练精度和验证精度如图5所示。在第一个阶段,精度增长非常快。而在其后,准确度增长缓慢,并且在3个时段之后几乎保持不变。培训损失和验证损失也如图6所示。我们可以看到,损失在第一个时期迅速减少,之后又缓慢减少。最终,在接下来的几个时期内,损失会收敛到大约2。
3)不同阶段的
资料编号:[5705]