炉石版AlphaGo:酒馆战棋AI助手

作者简介:LFM包子

在这个人工智能引领的时代,AI似乎能够完成一切,大到医疗、安防等民生领域,小到围棋等智力竞技,都少不了AI的身影。而“深度学习”、“神经网络”等名词,也从高大上的专业名词,逐渐走入大家的生活之中。而在炉石传说这种非对称的竞技游戏中,AI的表现会怎么样呢?让我们看看这个AI战棋助手究竟是如何诞生的。

酒馆战棋中,每个版本更新后都会有漫长适应期,有时候甚至几天不打,就完全看不懂这个版本应该怎么玩而屡屡速8。有了酒馆战棋助手后,就可以轻松地解决这个问题。酒馆战棋助手应用了本站自研的人工智能技术,以海量战棋高端玩家对战操作为参考依据,会在对局中根据玩家的当前情况实时作出打法推荐,帮助玩家熟悉环境与打法,是新手玩家和中轻度玩家的福音

电子游戏的AI领域,最大的难题就是操作的多样性,以及版本迭代导致的AI更新问题。众所周知,许多竞技类游戏的每一次大更新后都是一个几乎全新的游戏,哪怕是顶尖职业选手也会随着版本的更迭出现状态的起伏,因此也有“一代补丁一代神”的说法。而在这种节奏下,想要保持AI的更新和稳定性就需要做到底层的稳定,这需要对战棋的机制有充分的理解。在这个问题上,本站的AI团队每一位工程师都是酒馆战棋的资深玩家,在早期开发中就很注重酒馆战棋AI在不同游戏版本的扩展能力,比如在一张随从有多个维度来表征,攻击、血量、是否带有圣盾等,这些维度在版本更新的时候也可以很方便扩充,比如是否带有暴怒(铁匠)、是否处在休眠状态玛维)等。而对于特殊的随从,则可以根据种族关键字进行关联,如红衣、熊妈妈等。

围棋棋盘是二维的,可以视作一张图片;因此alphago,绝艺棋类AI往往采用CNN网络结构,将每个位置作为一个像素点,转换成一个19*19*17的矩阵进行输入。而酒馆战棋虽然名字中带有“棋”字,实际的操作却十分多样化,有大量的随从信息、对手信息和自身的状态等。因此,本站的AI团队选择了另一个方向——自然语言处理中的transformer结构,把卡牌的排列类比为文本语句,判断当前阵容鲍勃酒馆中随从的相关性,同时将自身血量与所处排名作为阈值,即自身越危险的时候,就越倾向于买一些打工怪保血量,而安全时可以多去找核心

Alphago在与柯洁交手

同样地,围棋每一手只有一种操作和一个位置的选择,而酒馆战棋的选择则非常多样化。比如“刷新酒馆”是一步行动,而“购买随从”不是一步完整的行动,像“购买布莱恩·铜须”指明具体对象的才是,也就是说有的行动不需要指明随从对象,而有的则需要。这方面和MOBA游戏有些类似,比如在施放技能的时候,有的技能需要指定方向,有的则不需要。本站的AI团队在模型输出的设计上应用了Dota2 OpenAI-Five的一些技巧来表示不同层级、类型的子输出,最后组合这些子输出为完整的一个行动。

Open AI five

训练数据方面,AI团队综合考虑了玩家的分段、最终排名和当轮状态,设定了短期目标和长期目标,以避免训练出过于极端的AI(如机杂苟烂分流AI)。

酒馆战棋AI的诞生,既凸显了本站的技术深度,也表现了本站在AI领域上的深耕意识。新手向的战棋AI只是一个开始,随着网络结构的进化与数据的积累,战棋AI将变得越来越强。在AlphaGo诞生后,围棋棋坛也随着AlphaGo引领的“点三三”等新下法有了革命性的突破,而随着战棋AI的进步,以及强化学习等更深入的技术引入,战棋AI或许也能给我们带来打法与节奏选择上的惊喜。或许有一天,我们也能看到战棋AI与瓦娘会长墨衣大神同台竞技的场景

参考文献

1.Vaswani, Ashish, et al. "Attention is all you need." arXiv preprint arXiv:1706.03762 (2017).

2.DEVLIN, Jacob, et al. Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, 2018.

3. BERNER, Christopher, et al. Dota 2 with large scale deep reinforcement learning. arXiv preprint arXiv:1912.06680, 2019.

4. SILVER, David, et al. Mastering the game of Go with deep neural networks and tree search. nature, 2016, 529.7587: 484-489.