365bet体育在线投注

365bet体育在线投注
2019年01月26日 14:40 体育综合
DeepMind首席研究员David Silver DeepMind首席研究员David Silver

  文章来源:新智元公众号   

  来源:Reddit

  编辑:小芹 元子

  [新智元导读]昨天DeepMind的AlphaStar横扫星际2职业玩家,项目负责人Oriol Vinyals和David Silver两位技术大牛亲自答网友提问。新智元摘选点赞最高的15个问题,关于APM、算法和工程的精华。

  “AI早晚会超越人类”的念头,其实从AlphaGo开始,就已经在每个人心底,悄悄蔓延开。

  只不过我们每个人心里还是很不甘心!面对智力甚至无法达到人类婴儿水平的AI,玩起游戏来,已经没人能打得过了。

  AlphaStar取胜靠的APM、计算机多线操作,还是AI已经有了战术判断、宏观大局分析能力?

  赛后,DeepMind官方在Reddit上,回复了网友关于AlphaStar的种种疑问。

  此次派出的是Oriol Vinyals和David Silver。

  Oriol Vinyals 是 Google 旗下365bet官网网址多少公司 DeepMind 的研究科学家,年少时,他曾是西班牙《星际争霸》游戏排名第一的电竞高手,同时参与 Gmail、Google 图像识别服务开发。

  David Silver是DeepMind首席研究员,带领DeepMind强化学习研究小组,也是AlphaGo项目的负责人。可以说,Silver从AlphaGo诞生前起,到最强版本AlphaGo Zero,一直在用深度强化学习攻克围棋。David Silver也是AlphaStar项目的联合负责人。

  AlphaStar获胜靠的是APM吗?

  问:APM是怎么回事?我印象中是被SC2限制为180 WPM,但看视频,AS的平均APM似乎很长一段时间都远远超过了180 WPM,而且DeepMind的博客文章里提到了上面的图表和数字,但没有解释为什么APM这么高。

  Oriol Vinyals:我认为这是一个很好的问题,也是我们想要澄清的。

  我们向TLO和暴雪咨询了关于APM的问题,也对APM增加了一个硬性限制。特别是,我们设置了5秒内最多600 APM, 15秒内最多400 APM, 30秒内最多320 APM, 60秒内最多300 APM。

  如果智能体在此期间发出更多操作,我们会删除/忽略这些操作。这些是来自人类统计的数据。

  同样重要的是,暴雪在APM计算中多次计算某些动作(上面的数字是指来自pysc2中的“代理动作”)。

  同时,我们的智能体使用模仿学习,这意味着我们经常会看到非常“垃圾”的行为。也就是说,并不是所有的操作都是有效的操作,因为代理倾向于发送糟糕的“移动”命令,例如在周围绕来绕去。

  有人已经在reddit的帖子中指出了这一点——AlphaStar的有效APM (或EPM) 要低得多。

  AlphaStar一共有几个版本?

  问:在PBT中需要多少种不同的agent才能保持足够的多样性,以防止灾难性遗忘?这与agent的数量有多大关系,或者只需要几个agent就可以保持鲁棒性?有没有与比较常用的历史检查点策略的效率进行比较?

  David Silver:我们保留每个agent的旧版本作为AlphaStar联赛的竞争对手。

  当前的agent通常根据对手的胜率来打。这在防止灾难性遗忘方面是非常成功的,因为agent必须要能够继续打败它之前的所有版本。

  我们尝试了许多其他的多智能体学习策略,发现这种方法非常有效。此外,增加AlphaStar联赛的多样性也很重要,尽管这实际上是灾难性遗忘的另一个方面。

  很难给出准确的数字,但我们的经验是,丰富联盟中的战略空间有助于使最终的智能体更强大。

  AlphaStar的关键算法是什么?

  问:像AlphaGo和AlphaZero这样的agent接受的是完美信息的博弈训练。像星际争霸这样的不完美信息的博弈如何影响agent的设计?AlphaStar对之前的观察是否有类似于人类的“记忆”?

  David Silver:有趣的是,基于搜索的方法,例如AlphaGo和AlphaZero,实际上可能更难适应不完美的信息。例如,基于搜索的扑克算法 (例如DeepStack或Libratus) 通过belief states显式地推理对手的牌。

  但AlphaStar是一个model-free的强化学习算法,可以隐式地对对手进行推理,即通过学习对其对手最有效的行为,而不是试图建立一个对手实际看到的模型——可以说,这是一种更容易处理不完全信息的方法。

  此外,不完美的信息博弈并没有一种绝对最优的博弈方式——这取决于对手的行为。这就是《星际争霸》中有趣的“石头剪刀布”动态的来源。

  这是我们在AlphaStar联赛中使用的方法背后的动机,以及为什么这种方法对于覆盖所有战略空间很重要——这在围棋之类的游戏是不需要的,其中有一个minimax的最优策略可以击败所有对手,不管对手做出何种举动。

  AlphaStar有使用人类信息,还是全靠自我对弈?

  问:你们还尝试了什么其他方法吗?大家非常好奇是否涉及任何树搜索、深度环境模型或分层RL技术,但似乎没有一个涉及;这些方法中有那个在尝试后取得了可观的进步吗?

  子问题:鉴于SC2的极端稀疏性,你对于单纯self-play是否对SC2有效这一点有什么看法?OA5在没有任何模仿学习或领域知识的情况下就成功地打败了DoTA2,所以仅仅是拥有巨大动作空间的长游戏并不能说明self-play就不能成功。

  David Silver:我们在self-play方面确实取得了一些初步的积极成果,事实上,我们的agent的早期版本完全通过self-play,使用基本策略就击败了内置的bot。

  但是,有监督的人类数据对引导探索过程非常有帮助,并有助于更广泛地覆盖高级策略。

  特别是,我们包含了一个policy distillation cost,以确保在整个训练过程中,agent以某种概率继续尝试类似人的行为,这跟从self-play开始相比,发现不太可能的策略要更容易。

  迄今为止最有效的方法没有使用树搜索、环境模型或显式HRL。当然,这些都是很大的开放研究领域,不可能系统地尝试所有可能的研究方向,而且这些领域很可能为未来的研究带来丰硕的成果。

  需要提一下的是,我们的研究中有一些可能被认为是“hierarchical”的元素。

  AlphaStar消耗的计算量如何?

  问:你们使用的TPU和CPU总计算时间是多少?

  David Silver:为了训练AlphaStar,我们使用Google的v3 TPU构建了一个高度可伸缩的分布式训练设置,该设置支持从数千个《星际争霸2》的并行实例中学习的agents。

  AlphaStar联赛运行了14天,每个agent使用16个TPU。最终的AlphaStar agent由已发现的最有效的策略组合而成,在单个桌面GPU上运行。

  AlphaStar 和 OpenAI Five 谁更强?

  问:谈到OpenAI Five,似乎它在DoTA2游戏中崩溃,你们是否有进行检查看看AlphaStar在self-play中是否会出现类似的问题?

  David Silver:其实有很多不同的方法可以通过self-play学习。我们发现,单纯的self-play实现往往会陷入特定的策略中,或者忘记如何打败以前的策略。

  AlphaStar联赛也是基于agent的自己与自己打,但它的多智能体学习机制鼓励agent在面对各种不同的对手策略时进行更强的博弈,并且在实践中,面对不同寻常的对抗模式时,似乎会产生更强的行为。

  神经网络执行一个动作需要多少时间?

  问:神经网络在GPU上运行的时间是50ms还是350ms,还是指的是不同的东西(前向传递 vs 动作限制)?

  David Silver:神经网络本身需要大约50ms来计算一个动作,但这只是发生在游戏事件和AlphaStar对该事件作出反应之间的处理的一部分。

  首先,AlphaStar平均每250ms观察一次游戏,这是因为神经网络除了动作(有时称为时间抽象动作)之外,还会选择一些时间等待。

  然后,观察结果必须从Starcraft传递到Starcraft,除了神经网络选择动作的时间之外,这又增加了50ms的延迟。总的来说,平均反应时间是350ms。

  AlphaStar对战MaNa输掉的那一场原因是什么?

  问:许多人将AlphaStar的单次失利归咎于算法在最后一场比赛中被限制了视觉。我个人并不认为这是一个令人信服的解释,因为相位棱镜在战争的迷雾中进进出出,而AI则在整个军队中来回移动作为回应。这看起来绝对像是理解上的差距,而不是机械操作上的局限。你对AlphaStar以这种方式失败的原因有什么看法?

  David Silver:很难解释我们为什么会输掉(或赢得)任何一场游戏,因为AlphaStar的决策很复杂,是动态多智能体训练过程的结果。

  MaNa打了一场非常精彩的游戏,似乎发现并利用了AlphaStar的一个弱点——但是很难说这个弱点是由于摄像头、较少的训练时间、不同的对手等等,而不是其他agent。

  AlphaStar是从摄像头还是从API获取信息?

  问:本次比赛中AI是可以看到全地图的。这与从API中获取原始数据并简单地将它们抽象为结构化数据作为NN的输入有何不同?似乎新版本不再使用要素图层了?PySC2(DeepMind的星际争霸II学习环境的Python组件。它将暴雪娱乐的星际争霸II机器学习API暴露为Python RL环境)中建筑的状态,是在造中、已建成等等。这些信息在camera_interface方法中是如何保留的?

  Oriol Vinyals:实际上,通过摄像头(和非摄像头)接口,当我们将其作为列表输入(由神经网络变换器进一步处理)时,智能体就能获得是什么建筑被被建造出来的信息。 

  通常,即使没有保留这样的列表,智能体也会知道什么建筑被建造出来。智能体的内存(LSTM)跟踪所有先前发布的操作,以及过去访问过的所有摄像头位置。

  我们确实为小地图使用了要素图层,但是对于屏幕,您可以将要素列表视为“转置”该信息。事实证明,即使是处理图像,将每个像素作为列表独立处理,也能很好地工作!更多信息请参阅:https://arxiv.org/abs/1711.07971

  AlphaStar的两百年相当于人类多久时间?

  问:有多少类似星际争霸这种需要200年训练时间的游戏?

  Oriol Vinyals:平均每场比赛持续10分钟,这相当于大约1000万场比赛。但请注意,并非所有智能体都经过长达200年的培训,这是各种版本的AlphaStar中智商最高的。

  AlphaStar如何攒钱生成高级兵种?

  问:它怎么学习到“为某种目的存钱”,比如攒钱生成高级兵种?这种“不作为”的操作被称作NOOP,在RL算法中,会越来越多的认为NOOP是非理想点的最佳决策。

  David Silver:事实上AlphaStar选择执行多少次NOOP,就是作为其行动的一部分。

  这首先是从监督数据中学习的,镜像人类操作,这意味着AlphaStar通常以与人类玩家类似的速度进行“点击”操作。 

  然后通过强化学习来改进,可以选择减少或增加NOOP的数量。 因此,通过事先规划好有几个NOOP,可以很容易地实现“为X省钱”。

  AlphaStar的输入数据是实时的吗?

  问:最终使用的步长是多少?在博客中你写道,星际争霸的每一帧都被用作输入的一步。但是,你还提到平均处理时间为50ms,这将超过即时游戏给定22.4fps时需要<46ms的要求。所以你们是逐帧作为输入,还是隔帧呢?隔的帧数是固定还动态?

  Oriol Vinyals:我们是逐帧的,但是由于延迟和您注意到的几个延迟,操作将仅在该步骤结束后处理(即,我们异步播放)。 另一种选择是锁定步骤,这使得玩家的游戏体验不是很好:)

  AlphaStar还能玩星际2的其他地图吗?

  问:你们是否做过泛化 (generalizations) 测试?假设没有一个agent可以选择不同的族来打(因为可用的单元/操作是完全不同的,甚至在架构上也不能工作),但是至少应该能推广到其他地图,是吗?

  David Silver:我们实际上(无意中)测试了这个。我们有一个AlphaStar的内部排行榜,我们没有将排行榜的地图设置为Catalyst,而是将字段留空——这意味着它能在所有的Ladder 地图上运行。

  令人惊讶的是,agent仍然很强大,表现也很不错,尽管还不能达到我们昨天公开的那个水平。

  只用台式机如何在机器学习和强化学习领域取得好成绩?

  问:你有什么建议ML/RL爱好者关注的领域吗?哪些领域不需要超过台式机级别的计算资源就可以做出有用的贡献?

  Oriol Vinyals:有很多事情不需要大量计算资源就可以做,可以推进ML的进步。

  我最喜欢的例子是我们做机器翻译的时候,我们开发了一个叫做seq2seq的东西,它有一个大型的LSTM,在机器翻译中达到了state of the art的性能,并且只使用了8个GPU训练。

  与此同时,蒙特利尔大学开发了叫做“attention”的机制,这是ML技术的一个根本性进步,使得模型变得更小,从而不需在大型硬件上运行。

  普通玩家何时能对战AlphaStar?

  问:在11月 Blizzcon的演讲中,IIRC Vinyals说他很乐意将SC2 bot开放给普通玩家。这件事有什么计划吗?

  Oriol Vinyals:这让人兴奋!我们非常感谢社区的支持,我们希望将社区的反馈纳入到我们的工作中,这也是为什么我们要发布这10个游戏回放供社区去评论和欣赏。我们将随时告诉大家我们的计划进展!

  参考链接:  https://www.reddit.com/r/MachineLearning/comments/ajgzoc/we_are_oriol_vinyals_and_david_silver_from/

 

(责编:樊璐璐)

推荐阅读

阅读排行榜

体育视频

精彩图集

秒拍精选

新浪扶翼