昨天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 旗下人工智能公司 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个游戏回放供社区去评论和欣赏。我们将随时告诉大家我们的计划进展!
基数排序是怎么排的_基数排序详细过程
语音识别系统市场前景及发展趋势
如何释放电脑内存
曝微软Surface广告投入比苹果iPad至少高出4倍以上
基于DSP实现可并机的逆变电源
关于AlphaStar你最应该知道的15件事
苹果 M1 芯片 Mac 的常用软件体验怎么样了?已成功了一大半
2016-2021年我国智慧城市市场规模及预测
海尔U Home OS率先破冰 实现智能家居互联互通
谷歌正在大力研发全新的AR头显
智慧城市建设以什么为根本
交换芯片只适用在交换机上的?
iPhone X耗电异常 飞行模式闪降64%电量
低压总断路器保护整定方法详解
Vishay电动汽车专用EMI抑制安规电容器
为实现管控物联网卡上网行为,SIMBOSS物联网卡支持“白名单功能
LTC2512-24的分布式读取示例
Mini LED技术哪家厂商实力领跑
鸿蒙上成功调用相机!
这8个因素会导致HPC存储成本增加