DeforGAN:用GAN实现星际争霸开全图外挂!

DeforGAN:用GAN实现星际争霸开全图外挂!
2020年04月02日 12:15 机器之心

作者:Yonghyun Jeong等

机器之心编译

参与:李诗萌、Geek AI

对于广大星际争霸迷来说,地图全开作弊代码「Black sheep wall」应该是再熟悉不过了!如何根据现有状态预测未知信息是博弈过程中举足轻重的一环。日前,韩国三星公司的研究人员在星际争霸游戏中,将预测战争迷雾背后的作战单位信息建模为了一个部分可观察马尔科夫决策过程,并使用基于 GAN 的方法实现了当前性能最佳的战争迷雾去雾算法。

论文地址:https://arxiv.org/abs/2003.01927

项目地址:https://github.com/TeamSAIDA/DefogGAN

本文提出了 DefogGAN,这是一种推断即时战略(Real-Time Strategy,RTS)游戏中战争迷雾后的隐藏信息状态的生成式方法。给定一个部分可观测的状态,DefogGAN 可以将游戏的去雾图像作为预测信息生成。这样的信息可以创造战略智能体。DefogGAN 是一种条件 GAN 的变体,它使用了金字塔重建损失,从而在多个特征分辨率尺度上进行优化。本文使用一个大型专业的星际争霸录像数据集验证了 DefogGAN。结果表明 DefogGAN 可以预测敌方建筑物和作战单位,准确率与职业玩家相当,并且比当前最佳的去雾模型的性能更好。

AlphaGo 的成功为人工智能在游戏中的应用(Game AI)带来了极大的关注。通过深度强化学习训练的智能体可以在国际象棋、围棋和 Atari 等经典游戏中轻而易举地胜过人类。随着任务环境越来越复杂,实时战略游戏(RTS)成为了一种评估最先进的学习算法的方式。如今,Game AI 为机器学习带来了全新的机遇和挑战。开发 Game AI 的好处十分广泛,不仅限于游戏应用中。在科学中应用智能体(例如,在有机化学领域中预测的蛋白质折叠)和企业的商业服务(例如,天机器人)的探索,使 Game AI 正走向一个新的时代。

在本文中,作者提出的 DefogGAN 采用生成式方方法补全因战争迷雾造成的显示给玩家的不完全信息。本文使用星际争霸作为实验场景——这是一款 RTS 游戏,游戏中有三个均衡的种族供玩家选择,玩家要建立完全不同的游戏风格和战略。在发行逾二十年后,星际争霸依然是一款非常受欢迎的电子竞技游戏。为了实现让 Game AI 超越高水平人类玩家的艰巨目标,本文作者使用超过 30,000 场的职业玩家的游戏录像训练了 DefogGAN。在星际争霸中,这样的目标是很难实现的。因为星际争霸长期以来一直广受欢迎,玩家们开发出了各种各样的成熟的游戏策略,除此之外,在电竞现场和暴雪战网(Battle.net)中玩家们还广泛使用了微操技术。

图 1:DefogGAN 预测值和真实值的比较。友方和敌方单位在地图(黑色)上分别用绿色和红色表示。DefogGAN 预测出了观察不到的敌方单位。

战争迷雾指在某个没有友方单位的区域中,不能获得视野和信息,这样的区域包括所有之前探索过但目前无人值守的区域。部分可观察马尔科夫决策过程(Partially Observable Markov Decision Process,POMDP)最适合描述战争迷雾问题。一般而言,POMDP 为真实世界中大多数有大量未观察到的变量的问题提供了一个实用的表达方式。对 Game AI 来说,解决部分可观察问题是提升性能的关键所在。事实上,许多现有的设计智能 Game AI 的方法都会遇到部分可观察问题。最近,生成模型被用来降低部分可观察问题的不确定性。利用生成模型的预测结果,智能体的性能得到了提升。然而,生成方法无法完全与顶尖的人类职业玩家的高水平侦察技术匹敌。

星际争霸为研究与 Game AI 相关的复杂 POMDP 问题提供了一个绝佳的平台。本文作者利用生成对抗网络,建立了 DefogGAN,它可以根据生成的逼真信息准确预测隐藏在战争迷雾中的对手的状态。根据经验,本文作者发现,GAN 比变分自编码器(Variational Autoencoder,VAE)生成的图像更逼真。为了生成去除战争迷雾的游戏状态,本文作者将原始的 GAN 生成器修改为编码器-解码器网络。

从原理上讲,DefogGAN 是条件 GAN 的变体。通过使用跳跃连接,DefogGAN 生成器利用根据编码器-解码器结构学习到的残差进行训练。除了 GAN 的对抗损失,本文作者还设置了有雾和去雾游戏状态间的重建损失,来强调单位位置和数量的回归。本文的贡献如下:

开发了 DefogGAN,可以解析有战争迷雾的游戏状态,得到有用的获胜信息。DefogGAN 是最早的基于 GAN 处理星际争霸中的战争迷雾问题的方法;

利用跳跃连接进行残差学习,在不引入任何循环结构的情况下,DefogGAN 以前馈的方式包含过去的信息(序列),更适用于实时使用的情况;

本文作者在模型简化实验和其它设置(如针对提取出的游戏片段和当前最先进的去雾策略进行测试)中,对 DefogGAN 进行了实证验证。

本文涉及的数据集、源代码和预训练网络对公众开放,可以在线访问。

在 t 时刻,DefogGAN 根据部分可观察(有雾)状态,生成了完全的观察(去雾)状态。在星际争霸中,完全观察状态包括在给定时间下,所有友方和敌方单元的确切位置。图 2 展示了 DefogGAN 的架构。本文作者对当前的部分可观察状态的输入计算得到的特征图进行求和池化。在过去的观测结果的特征图进入生成器前,要和当前状态累积并拼接。本文作者用预测的可观察状态和实际的完全观察状态间的重建损失和判别器的对抗损失训练生成器。

图 2:DefogGAN 的架构概览。

DefogGAN 的生成器采用了 VGG 网络的风格。卷积核的大小固定为 3*3。当特征图大小减少一半时,卷积核的数量增加一倍。DefogGAN 没有使用任何空间池化层或全连接层,而是用了卷积层来保留从输入到输出的空间信息。

DefogGAN 的生成器包括编码器、解码器和通道组合层。编码器采用 32*32*82 的输入,利用卷积神经网络(Convolutional Neural Networks,CNN)提取出隐藏在战争迷雾中的语义特征。每个卷积层都用了批量归一化和修正线性单元(ReLU)来实现非线性转换。

解码器利用从语义上提取出的编码器特征生成预测数据。解码过程将数据重构为高维数据,再利用转置卷积运算完成推断。解码器产生的输出尺寸与输入相同。考虑到因初始通道尺寸大导致的学习速度大,我们没有使用像 ResNet 那么多的卷积层。

表 1:x¯_t 和 x˜_t 的混淆矩阵。使用到的测试数据超过 10,000 帧,表中为平均值。

表 1 总结了 DefogGAN 输入-输出的统计信息,包括部分可观察状态 x¯_t、累积的部分可观察状态 x˜_t,和真实值 y_t。平均而言,在部分可观察状态中可以看到 54% 的单位,在累积的部分可观察状态中可以看到 83% 的单位。注意,累积的部分可观察状态造成了第一类型错误(假阳性),因为累积状态包含此刻已经不再符合实际情况的、移动的单元之前的位置。在给定这样的输出空间时,去雾问题需要在可能的 67,584(32*32*66)个空间中平均选出 141 个空间。

图 4:预测结果的可视化。最左侧是累积的部分可观察状态(x˜_t)。第二列是部分可观察状态 x¯_t。第三列是 CED(当前最佳去雾器)的预测结果。4-7 列分别是 DCGAN、BEGAN、WGAN-GP 和 cWGAN 的生成结果。DefogGAN 的结果呈现在第八列,最后一列是真实值。行表示用于评估的录像。

表 4:DefogGAN 和其它模型的准确率比较结果。

图 4 中的可视化结果可以有效地解释 DefogGAN 的预测性能。随机选择四组录像,给出每个模型预测的、去雾后的完全观察状态。例如,在录像 4 中,在部分可观察状态 x¯_t 的右下角看不到红色的敌方单位。同时,在累积的部分可观察状态 x˜_t 中只能看到敌方单位的子集。同时使用观察结果和累积观察结果,DefogGAN 可以生成的完全可观察状态 y_t 看起来和真实值非常相似。CED 也生成相当可信的完整状态,但 DefogGAN 生成了更准确的结果。WGAN-GP 在没有重建损失的情况下也生成了可信的完整状态,但有生成假阳性(低精度)结果的倾向。cWGAN(一种使用了重建损失的 WGAN-GP 变体)似乎降低了假阳性率,但 DefogGAN 的预测结果仍然更好。

✄------------------------------------------------

加入机器之心(全职记者 / 实习生):hr@jiqizhixin.com

广告 & 商务合作:bd@jiqizhixin.com

解码器
新浪科技公众号
新浪科技公众号

“掌”握科技鲜闻 (微信搜索techsina或扫描左侧二维码关注)

创事记

科学探索

科学大家

苹果汇

众测

专题

官方微博

新浪科技 新浪数码 新浪手机 科学探索 苹果汇 新浪众测

公众号

新浪科技

新浪科技为你带来最新鲜的科技资讯

苹果汇

苹果汇为你带来最新鲜的苹果产品新闻

新浪众测

新酷产品第一时间免费试玩

新浪探索

提供最新的科学家新闻,精彩的震撼图片