揭秘星际2人工智能AlphaStar:DeepMind科学家回应一切(2)
时间:2019-01-27 12:29 来源:百度新闻 作者:巧天工 点击:次
David Silver:为了训练 AlphaStar,我们用谷歌的 TPU v3 构建了一个高度可扩展的分布式训练系统,该系统支持很多智能体从星际 II 的数千个并行示例中学习。AlphaStar 联赛运行了 14 天,每个智能体使用 16 个 TPU。最终的 AlphaStar 智能体由发现的最有效策略组成,然后在单个桌面 GPU 上运行。 问:看起来 AI 的反应速度不太稳定。神经网络是在 GPU 上以 50 毫秒或者 350 毫秒运行吗?还是说这些是指不同的东西(前向传递 VS 行动限制)? David Silver:神经网络本身大概要花 50 毫秒来计算一个动作,但这只是游戏事件发生和 AlphaStar 对该事件做出反应期间的部分处理过程。首先,AlphaStar 平均每 250 毫秒才观察一次游戏,这是因为神经网络除了本身的动作(有时被称为时间抽象动作)之外,还会等待一些其他的游戏动作。观察结果必须从星际争霸 2 传到 AlphaStar,然后再将 AlphaStar 的动作传回到星际争霸 2,这样除了神经网络选择动作的时间之外,又增加了另外 50 毫秒的延迟时间,导致平均反应时间为 350 毫秒。 问:有做过泛化测试吗?可能这些智能体无法玩其他种族(因为可用的单位/动作完全不同,甚至架构也不尽相同),但它们至少可以泛化至其它地图吧? Oriol Vinyals:我们的确做了这种测试。我们有 AlphaStar 的内部排行榜,我们没有将该榜单的地图设置为 Catalyst,而是留白了。这意味它会在所有目前的天梯地图上运行。令人惊讶的是,智能体仍然表现很好,虽然没到昨天看到的那种水平。 问:看起来人工智能不擅长打逆风?如果落后的话它就会不知所措,这和 OpenAI 在 Dota2 上的 AI 很相似。这是否是人工智能自我博弈所导致的问题? David Silver:实际上有很多种不同的学习方法。我们发现单纯的自我博弈经常会陷入特定的策略中,有时也会让人工智能忘记如何击败此前了解的战术。AlphaStar 联赛也是基于让人工智能进行自我博弈的思路,但多个智能体进行动态学习鼓励了与多种战术之间的对抗,并在实践中展现了对抗不寻常战术的更强大实力。 问:在去年 11 月 Blizzcon 访谈中,Vinyals 曾经说过会把星际争霸 2 bot 开放到天梯上,现在还有这样的计划吗? Oriol Vinyals:非常感谢社区的支持,它会纳入我们的工作中,我们已经把这十场比赛的 Replay 公开,让大家观看。未来如有新计划随时会公开。 问:它如何处理不可见的单位?人类玩家在非常靠近隐身单位时会发现它(注:在星际争霸 2 中,隐身单位在对手的屏幕上显示为类似水波纹的模糊轮廓)。但如果 AI 可以看到的话,那隐身几乎没有什么用。但如果它看不见的话,又会给大规模隐形单位策略带来很大优势,因为观察者必须在场才能看到东西。 Oriol Vinyals:非常有趣的问题。一开始我们忽略了不可见单位的「水波纹」。智能体仍然可以玩,因为你可以制造检测器,这样单位会像往常一样显示出来。但我们后来又增加了一个「shimmer」功能,如果某个位置有隐形装置,这个功能就会激活。 问:从这次经历中,你们是否获得了一些可以用到其他人机交互强化学习任务中的经验? Oriol Vinyals:当我们看到高 APM 值或点错键这种问题时,我们觉得这些可能是来自模仿。其实,我们经常看到智能体的某些动作出现冗余行为(滥发移动命令、在游戏刚开始时闪烁镜头)。 David Silver:就像星际争霸一样,多数人类与 AI 交互的现实应用都有信息不完全的问题。这就意味着没有真正意义上的最佳行为,智能体必须能够稳健地应对人类可能采取的一系列不可预测的行为。也许从星际争霸中学到的最有用的一点是,我们必须非常谨慎,确保学习算法能够覆盖所有可能出现的状况。另外,我认为我们学到了很多关于如何将 RL 扩展到真正复杂问题中的经验,这些问题都有很大的动作空间和长远的视野。 问:很多人认为 AlphaStar 在最后一局中的失败是因为该算法在最后一场比赛中受到了视力限制。我个人认为这种说法没有说服力,因为折跃棱镜在战争迷雾中进进出出,AI 相应地指挥其部队前进撤退。这看起来绝对像是理解上的差距,而不是操作的局限。AlphaStar 以这种方式落败,对此您有什么看法? David Silver:很难说清我们为什么输掉(或赢了)某场比赛,因为 AlphaStar 的决策非常复杂,是一个动态多智能体训练进程导致的结果。MaNa 游戏打得很棒,似乎发现并利用了 AlphaStar 的弱点——但很难确定这一弱点究竟是什么造成的:视角?训练时间不够?还是对手和其它智能体不一样? 问:Alphastar 的「记忆」有多大?它在玩游戏时需要接收多少数据? Oriol Vinyals:每个智能体使用一个深度 LSTM,每个 LSTM 有 3 个层和 384 个单元。AlphaStar 在游戏中每做出一个动作,该记忆就会更新一次。平均每个游戏会有 1000 个动作。我们的网络大约有 7000 万个参数。 问:像 AlphaGo 和 AlphaZero 这样的智能体是使用完美信息游戏进行训练的。对于不完美信息游戏如星际争霸来说,智能体的设计会有什么不同?AlphaStar 是否有之前与人类对决的「记忆」? David Silver:有趣的是,像 AlphaGo 和 AlphaZero 这样的基于搜索的方法更难适应不完美信息博弈。例如,基于搜索的德州扑克算法(比如 DeepStack 和 Libratus)通过信念状态推测对手的手牌。 与之不同的是,AlphaStar 是一种无模型的强化学习算法,可以间接地推理对手状态,即通过学习行为这一最有效击败对手的方法,而不是试图给对手看到什么建模。可以认为,这是应对不完整信息的一个有效方法。 另一方面,不完美信息游戏没有绝对最佳的游戏方式,而是取决于对手的行为。这就是星际争霸如此让人着迷的原因,就像「石头剪刀布」一样,所有决策都有优势劣势。这就是我们使用 AlphaStar 联赛,以及为什么策略空间的所有角落都如此重要的原因——在围棋这样的游戏里这是不重要的,掌握了最优策略就可以击败所有对手。 问:星际争霸 2 之后的下一个里程碑会是什么? (责任编辑:波少) |