所在位置:首页 > 手游攻略 > 在线将棋游戏 无一:人类并不是完美的,这简直是拆迁!

在线将棋游戏 无一:人类并不是完美的,这简直是拆迁!

发布时间:2022-11-24 06:06:04来源:网络整理浏览:30

联合创始人 Demis (左三)五天前在谷歌总部的国际象棋比赛中微笑

编者按:20年前的1997年,超级计算机“深蓝”在对局中战胜了加里,开启了计算机和棋手的新革命。从在围棋领域打败李世石、柯洁,到只靠自学打败,再到今天的主角——学了一天就精通三门棋艺。这些生动的例子无不向我们揭示了一个事实:人是不完美的。也许我们在这个时代唯一的安慰就是这些殴打人类的程序仍然是人类建立的。

2017年12月5日,谷歌团队的一篇学术论文《Chess and Shogi by Self-Play with》悄然发表。

在论文中,该团队展示了他们的程序可以在 4 小时内学会国际象棋,2 小时学会将棋,8 小时学会围棋,并击败相应领域的“世界冠军”。很多观看了象棋“冠军”节目对局记录的网友表示:

这不是简单的“打”,这简直就是拆!

论文摘要

概括地说,团队是这样说的:

国际象棋是人工智能历史上研究最广泛的领域,这是一个庞大的项目,它结合了复杂的搜索技术、特定领域的适应和人类专家几十年来改进的评估功能。相比之下,零号项目最近取得了喜人的成绩。通过强化学习,它从一块“白板”自学成超越人类的围棋高手。在这篇论文中,我们概括了强化学习算法,并介绍了一种新的“白板”算法,它可以适应多个领域,并且比人类表现得更好——。从一个除了游戏规则之外没有任何知识数据的随机游戏开始,他在24小时内学会了国际象棋、将棋、围棋,并令人信服地击败了相应领域的“世界冠军”。

事实上,国际象棋领域的计算机研究历史几乎与计算机科学本身一样古老。、、、von ,这些大师设计了用于国际象棋分析和下棋的硬件和算法。和理论。此后,国际象棋成为人工智能领域一代研究者的重大挑战。为了让机器能够承受超越人类极限的计算任务,无数人投身于高性能计算机的制造。这种行为今天仍在发生。.

然而,到目前为止,他们取得的成果仅限于棋盘游戏这一狭窄领域,如果没有其他人的大量投入,他们无法推广到其他问题。而这次尝试,正是对这种局面的突破。

介绍

比赛的目的是利用深度学习网络和蒙特卡洛树搜索算法与自己对战,然后依靠评分系统不断训练自己在比赛中取得优势,最终击败对手。其设计主要围绕以下几个方面:

一个神经网络系统被用来模拟一个网格状的棋盘,输入是棋子的坐标,输出是动作(棋子移动的方式),被构建成多层。

为了提供非常详细的游戏规则,该算法可以使用蒙特卡洛树搜索来模拟规则允许的任何移动来结束游戏,并对这些模拟的最终性能进行评分;

这些游戏规则也用于对输入层(即没有进化的重复)和输出层(走棋、叫牌和下棋)进行编码;

该算法将通过特定数量的合理移动按比例减少搜索噪声;

如果棋局有长度/步数限制,则在下棋和将棋时会限制自己的最大步数来得出一个计算结果;而 Go 使用 Tromp-rules 进行评分。

如摘要所述,该算法除了必要的游戏规则外,没有任何与游戏相关的学习资料,如、棋谱、固定公式等。

算法原理

论文中并没有给出具体的模型设计,只是说是Zero算法的通用版本。两者都不再使用传统的人工收集整理数据和游戏的具体技巧来学习,而是依靠DNN和“白板”强化学习算法不断地与自己博弈。

使用的深度神经网络包含一个参数θ:

(p, v) = fθ(s)

输入s为棋子的坐标,神经网络根据每个动作输出一个分量a

pa = Pr(a|s)

的运动概率向量 p,v 是从坐标 s 估计的预期结果 z 的标量值:

v ≈ E[z|s]。

移动概率计算和预期结果估计可以在自学中学习并用于指导搜索。

与使用游戏特定数据的 alpha-beta 搜索不同,使用了蒙特卡洛树搜索算法 (MCTS)。每次搜索都包括一系列从根节点到叶节点并最终遍历整棵树的自我对弈模拟。每次模拟都会从每个状态s中选择一个访问次数少、移动概率大、值高的动作a进行(衡量标准是a在s中模拟的叶节点状态的平均值)。最后,搜索返回一个向量 π,表示与访问根节点的次数成比例且贪婪地移动的概率分布。

DNN中的参数θ被随机初始化后,会通过self-play强化学习算法进行训练。在国际象棋游戏中,蒙特卡洛树搜索算法将给出双方的下一步棋:at∼πt。棋局结束后在线将棋游戏,算法根据游戏规则计算棋子位置sT的表现得分z:-1为负;-1为负;0 是并列;+1 是胜利。为了减小预测结果vt与得分z的误差,同时使动作向量pt与搜索概率πt更接近,参数θ将被重新调整。具体地,θ可以通过以下公式计算:

日本将棋_在线将棋游戏_百锻将棋诘将棋3手诘第42关

其中 c 是控制 L2 权重正则化级别的参数。调整后,更新后的参数将在后续的自走棋游戏中使用。

与零的区别

还介绍了与论文中的Zero的一些不同之处,主要表现在以下几个方面:

零只考虑输赢结果,所以它不断地估计和优化赢率;相反,它会估计和优化游戏结果,同时考虑平局或其他潜在情况。

由于无论怎么调整走棋的走位,围棋的规则都不会改变,所以采用Zero的方法,通过加入一些对称的数据加强训练,同时随机调整棋盘的角度蒙特卡洛树搜索评价。但是考虑到国际象棋和将棋的规则是不对称的,所以没有增加训练数据,在搜索过程中不会改变棋盘的位置。

Zero算法自我提升的方式就是不断迭代。它将计算每次训练的表现。如果后者优于前者,则后者将取代前者进行后续的自我博弈。但是从头到尾只有一个神经网络,只通过更新参数完成自我更新,省略了打分步骤,不统计最佳状态。

零调整通过贝叶斯优化搜索的超参数,同时重用相同的超参数而无需特定于游戏的更改。当然,这一点也有例外,只是为了保证搜索会在之前的动作中加入噪音,这与合理动作的数量成正比。

象棋表演

在展示结果之前,本文评估了围棋、国际象棋和将棋对神经网络架构的适应性。他们指出,围棋规则对称性高,动作空间简单,棋局结果只有输赢,最适合神经网络训练。国际象棋和将棋的棋盘规则是不对称的,棋子的走法也不同,尤其是将棋在线将棋游戏,可以让被俘的棋子返回战场,因此有必要引入一些新的设计和思路。事实上,国际象棋和将棋都有平局的结果,尤其是国际象棋也把平局作为最优解,这给游戏带来了新的挑战。

国际象棋、将棋、围棋比赛结果

在本次实验中,“世界冠军”的对手分别是2016年TCEC冠军、今年51场比赛保持不败战绩的国际象棋AI程序、2017年CSA世界冠军、日本将棋AI程序Elmo,以及一盘棋的主角论文中,围棋 AI 程序 AG0 3(零 3 天训练版)仅经过 3 天的训练就超越了(李世石版)。

如上图所示,三场比赛他们都占据优势,总成绩28胜72平,90胜2平8负,60胜40负锁定胜局。但是我们也可以发现,持黑和持白似乎对性能有一定的影响。执白时,在国际象棋和将棋中以25胜25平、43胜2平5负击败对手;在执黑的情况下,在将棋方面以47胜3负的成绩击败了埃尔莫,但在棋方面,他们以3胜47平的成绩险胜。可能是因为“同窗同窗”,在围棋方面表现稳定,相比AG0 3提升也很明显。

70万步训练后,与其他“世界冠军”比较Elo成绩

虽然在比赛结果中似乎出现了一些关于黑白棋公平性的发现,但毫无疑问,这300场比赛的使用已经证明了它的实力,而这一切除了比赛规则之外,没有任何准备。训练数据和训练时间只在24小时内压缩。

上图是论文中的得分图。暂且抛开分数的可信度不谈,通过数据对比我们可以发现,训练到30万步的时候我们已经超过了,此时大约需要4个小时。在将棋训练中,仅用了2小时11万步就超越了埃尔莫。面对棋盘情况较为复杂的围棋,算法以16.5万步(8小时)追平战胜李世石,随后继续走高。

不幸的是,虽然显示了与 AG0 3 的比赛结果,但论文中并没有说明训练用了多长时间。

评论国际象棋的某些部分是如何下棋的

是RL还是TPU?

虽然技术成果毋庸置疑,但在相当多的国际象棋爱好者和一些​​机器学习爱好者看来,这篇论文并没有真正证明强化学习算法及其本身的优越性,而引发争议的是下面这张图。

随着思考时间的增加,Elo 分数和 Elmo 的变化

据介绍,训练时使用了 5000 个 TPU 和 64 个二代 TPU,这也是他们将训练时间压缩到 24 小时内的主要原因。其中,第二代TPU是谷歌今年5月发布的一款全新深度学习芯片。连接64个二代TPU后,其浮点性能可以达到惊人的11%,远超世界500强超级计算机的计算能力。.

在论文中,该团队表示,为了公平起见,AG0 3 使用了一台配备 4 个 TPU 的机器,而 Elmo 使用了 64 个线程和一个 1GB 的哈希表,“足以发挥它们的最大效果”。在此背景下,依靠蒙特卡洛树搜索,国际象棋每秒只需要搜索8万次,将棋需要搜索4万次,而每秒需要的搜索次数高达7000万次,Elmo也需要3500万次次。成千上万次,他们使用 alpha-beta 搜索。

对此,给出的结论是需要重新考虑α-β搜索的先天优势。如上图所示,延长思考时间后,得分表现优于其他两个程序。

但对此也有不少人提出异议。众所周知,AI思考的时间越长,决策就会越准确,但其对算力的压力也会随着时间的推移而增加,与Elmo的硬件配置相比,实在是太差了。诚然,开发者在设计时会考虑硬件的承受能力,将资源消耗控制在可接受的范围内,这让他们远远落后于起跑线,再加上搜索量惨不忍睹,所以一个合理的问题是:如果同样是基于4个TPU的计算能力设计的,它能超越吗?

此外,也有人对文章中的Elo分数提出异议。考虑到象棋不需要书本,这些分数很可能是有问题的。

结语

不管怎么说,仅凭游戏规则就能在一天内击败3种棋类游戏中的顶尖“高手”,这本身就是一个非常了不起的成就。在这种情况下,比较算法的优劣或争论谁强谁弱可能并不重要。重要的是我们需要看到神经网络的力量。未来,机器学习在定义游戏中的“输赢”方面还有很长的路要走,但同时,它将给我们的认知方式带来前所未有的改变。