袁东:AI Frontiers 2018:Long Lin、袁东。我们将开始关于游戏中人工智能的下一个环节。众所周知,人工智能已应用于许多领域,但游戏是一个非常令人兴奋的领域。我们的第一位演讲者是 Electronic Arts(EA)的人工智能总监 Long Lin。我与 Long 相识多年,从他在 eBay 加入 eBay 数据科学团队时就开始认识。

随后他加入了 Woma Lab,并在那里担任工程总监。让我们欢迎 Long。Long:大家好。抱歉,刚才有点小插曲。好的,谢谢 Juning。很高兴来到这里,也很高兴看到这么多人对人工智能感兴趣。今天,我将谈论人工智能在游戏中的应用,特别是我们在 EA 从事的工作范围。

EA 是一家游戏公司,制作了一些最受欢迎的游戏,如《FIFA》、《Madden》、《战地》等。除了这些热门游戏外,EA 还提供全天候的在线服务来支持所有游戏玩法。它还拥有核心游戏引擎和技术平台,被全球各地的游戏工作室所使用。作为技术平台的一部分,我们的使命是让游戏的未来成为可能。

我们的首席技术官可以描绘出未来游戏的图景。在 EA,我们设想未来的游戏将超越玩家今天所享受的沉浸式体验。我指的是那些提供生机勃勃、不断进化的世界的游戏。想象一下这样的开放世界游戏,成千上万的玩家在同一场战斗中互动。

我们如何实现这一目标?我们如何创造一个巨大的世界?我们如何为每个玩家的兴趣创建个性化的内容?我们如何创造类人的非玩家角色(NPC)?最重要的是,我们如何确保为玩家提供极致的体验?随着游戏变得越来越复杂,如果不使用人工智能,这一切都是不可行的。

在 EA,我们利用人工智能贯穿业务的全生命周期,从游戏创作到游戏玩法,再到游戏运营。今天,我将重点介绍一个用例:AI 代理和模拟。让我们稍微回顾一下。人工智能在游戏领域已经取得了许多突破。IBM 的深蓝是第一个击败人类最佳棋手的人工智能代理。

Google DeepMind 证明,通过结合深度神经网络和蒙特卡洛树搜索,它可以训练出一个在围棋上达到超人水平的人工智能代理。最近,OpenAI 展示了人工智能代理可以在《Dota》游戏中达到超人水平,并能像职业选手一样与其他代理合作。

但是,击败人类玩家并不是游戏中人工智能的唯一目标。我们能否也创造出类似人类玩家玩游戏的人工智能代理?我们能否也利用人工智能使游戏受益?两个问题的答案都是肯定的。有人可能会问,为什么游戏领域会有如此多的突破?

游戏,尤其是电子游戏,是人工智能应用的最佳试验场之一。这里有大量的人类互动来产生数据、测试假设并衡量性能。而且这一切都是虚拟的,这意味着快速迭代,并且允许犯错。大多数游戏的范围界定清晰。

人们可以进一步将范围缩小为一个简单的问题来解决。生成和使用数据相对容易。这对于在游戏行业工作的人来说尤其如此。对于游戏而言,状态、动作和奖励相对明确,结果是可衡量的,大多数时候是可以可视化的。

为了给我们的玩家提供最佳体验,游戏设计师通常进行游戏测试。但仅依赖人类测试玩家可能无法扩展规模。AI 代理玩游戏的速度比人类快得多,并且可以更高效地探索游戏状态。代理可以学习以不同的目标玩游戏,例如训练类人的 NPC、游戏玩法模拟、游戏空间探索、协助游戏设计和游戏平衡。

寻找最优解,如 AlphaGo 或 OpenAI Five,提供快速的测试和反馈循环,并发现游戏中的潜在缺陷。所以这是人工智能代理使用游戏的一个例子。正如你在视频中看到的,我们将 AI 代理部署到了《模拟人生》手游中,这是一款流行的手机游戏,我们将其部署到一个深度构建的游戏版本中。

AI 代理的效率是人类的数千倍。它通过收集游戏玩法周围的指标提供近乎实时的反馈循环,我们可以部署任意数量的代理,为游戏设计师提供见解。它可以帮助回答所有这些问题,例如:关系类别之间是否存在显著的不平衡?在每个职业中前进需要多少行动?

物品如何影响职业进度,以及构建更改实际上产生了多大的影响?所有这些见解都将帮助游戏设计师更好地微调游戏,并为我们的玩家提供更好的体验。大多数 AI 代理问题都可以表述为马尔可夫决策过程。这是 David Silver 提供的一张很好的图片,描述了马尔可夫决策过程的工作流程。

代理从观察环境中的状态开始,然后决定采取行动,然后转移到下一个状态。在此过程中,它收集一些奖励。因此,在这种设置下,目标是找到一个策略 π,给定状态 s,决定采取什么行动以最大化累积收益。

但更常见的是,代理处理的是对游戏状态的不完全观察。这被称为部分可观察马尔可夫决策过程,这描述了我们在 EA 试图解决的许多问题。AI 代理的训练可能很困难。状态空间可能很大,特别是对于现代游戏而言。动作空间也可能很大,对于游戏来说,它们可能需要数百万个时钟周期才能完成,导致游戏剧集中有大量的步骤。

奖励可能是稀疏且压缩的。代理可以在同一时刻采取同时动作。多代理可以相互交互,在同一任务上合作或冲突。最后但同样重要的是,代理总是学会你教它学习的东西。因此,设计适当的奖励函数至关重要。这在长期战略重要的游戏中尤其如此。

幸运的是,随着计算能力和 AI 计算的进步,大规模神经网络和深度强化学习成为可能。我们可以始终分配我们的计算,分配我们的数据以加快训练过程。我们拥有比以往更多的数据。我们有更多的工具、库和框架可以利用,如 TensorFlow、DeepMind、OpenAI、Dreams 和 Universe、DeepMind Lab 等。但这些库通常无法访问游戏环境。

所以他们开始

从 scratch、帧缓冲区和动作空间通常是通过操纵杆移动和按钮点击来定义的。鉴于我们可以访问游戏环境,我们并不总是从帧缓冲区开始。虽然帧缓冲区方法是未来的方向,并标志着 AI 历史上的一些重大突破,但我们可以选择从更高层次的抽象开始,比如游戏状态参数或抽象动作。这样可以将问题很好地界定范围。将游戏状态空间和动作空间分解为更简单问题的层次结构,在实际用例中已被证明是有前景且高效的。

我们可以利用现有的先验数据。我们拥有大量的先验数据可供利用,以加速训练过程,并通过演示或模仿学习更好地训练我们的策略。最近许多令人印象深刻的 AI 突破部分归功于计算能力和 AI 计算能力的提升。OpenAI 的一项分析指出,在过去六年中,最大规模 AI 应用训练过程所利用的计算量每三到四个月翻一番。这是指数级增长,而对于复杂的游戏,智能体可能需要数十万甚至数百万次迭代才能达到人类玩家的水平。

与这些方法相关的成本可能过高,不足以证明许多 AI 应用带来的收益是合理的。在 EA,我们训练 AI 智能体玩现代游戏,特别是在游戏开发周期的多个步骤中。我们希望训练一个可重用的智能体,使其能够适应游戏的多个开发阶段和多个构建版本,同时保持合理的成本和合理的时间框架。因此,正如我之前提到的,我们并不总是从帧缓冲区开始。

我们构建一个封装游戏逻辑的游戏环境,并提供人类玩家可观察和可用的信息。例如:你拥有多少资源?有多少建筑物?附近玩家的状态如何?我们在游戏玩法环境和 AI 智能体学习环境之间构建了一个通用接口,智能体在此环境中进行训练和执行。这种方法在许多应用中显示出前景,并提高了训练过程的效率。

谈到马尔可夫决策过程,首先想到的方法通常是强化学习。这是解决此类问题的主流方法论。强化学习是一种机器学习技术,它从智能体自身的重复行为中学习,从尝试、错误和奖励中学习。这就像训练小狗一样。它表现出的积极行为越多,获得的奖励就越多;表现出的消极行为越多,获得的奖励就越少。因此,小狗通常会学会多做积极行为,少做消极行为。

同样的过程应用于强化学习。起初,我们有一个初始策略,然后将其部署到游戏中。我将以赛车游戏为例。智能体会玩游戏,然后可能会出现成功的尝试或失败的尝试。随着时间的推移,智能体将学会执行更多导致成功尝试的动作,而减少导致失败尝试的动作。在每一集结束时,我们收集状态-动作对以及相应的奖励,并利用这些信息更新我们的策略。这个循环一直持续直到收敛,并希望最终得到一个通用的策略。

神经网络通常被用于此目的。随着游戏变得复杂,神经网络可能需要更深,这意味着几个隐藏层可能不足以捕捉知识的复杂性。当然,人们可以使用任何函数逼近器来训练他们的模型。综上所述,强化学习从奖励、尝试和错误中学习,目标是找到最优解。它可以探索超出专家技能范围的世界,训练智能体以超人水平玩游戏。它提供了快速的模拟和迭代。

但是这种方法存在复杂性,特别是对于非帧缓冲区方法。我们如何表示围绕环境的知识库?我们如何表示游戏状态、动作状态和奖励函数?当我们试图在非帧缓冲区空间中处理工作时,这一点尤为真实。将数据转化为表现良好的策略的效率,高度取决于你表示这些知识的效率。即使对于帧缓冲区方法,定义适当的奖励函数也是至关重要的。

我们可以利用一些帮助来克服这些复杂性。我们利用的另一种方法是模仿学习。模仿学习是一种监督学习方法。它通常这样工作:你有一组来自玩家的演示数据。我将继续以赛车游戏为例。我们的目标是训练一个具有与演示者相似行为的策略。从演示数据中,我们可以获得一组状态和动作对,然后基于该训练数据集训练策略,目标是创建一个模仿演示者行为的策略。同样,基于游戏的复杂性,神经网络或深度神经网络通常被使用。

因此,模仿学习从专家演示中学习,目标是达到类人行为。它简单、高效,在我们拥有大量演示数据覆盖的状态空间中表现良好。它非常擅长捕捉特定玩家或一组玩家的风格。但是,当专家数据的覆盖范围有限时,它可能表现不佳。这可以通过提供大量训练数据来克服,但这同样受限于人类玩家生成数据的速度和规模,而且有时模仿学习可能缺乏长期规划。

模仿学习已广泛用于训练自动驾驶汽车,并在训练 AI 智能体玩游戏方面也显示出有前景的结果。此外,模仿学习可以为强化学习提供巨大帮助。它可以为强化学习建立一个良好的基线,我们可以使用从模仿学习生成的策略来启动强化学习,以增加策略收敛的机会。此外,来自模仿学习的数据可以帮助更有效地探索游戏空间。现在,让我们重新审视训练流程。

我们有一个封装游戏逻辑的游戏环境,以及一个智能体在其中进行训练和执行的 AI 智能体环境。AI 智能体学习环境中需要哪些组件?当然,需要……

训练环境和策略存储。我们需要一个代理管理系统和代理执行引擎。最重要的是,我们需要构建一个完善的数据管道,以覆盖整个训练生命周期。因此,我们一直在致力于训练AI代理来玩现代游戏。我们采用的方法涵盖了从多分辨率神经模型到深度Q网络。在之前讨论过的各种游戏和用例中,我们都应用了这些方法。展望未来,我们将继续探索更多前沿的方法,如基于策略的强化学习,它在多代理相互作用的复杂环境中已显示出巨大的成功。我们还在研究分布式训练,以使我们的训练过程更加高效。

我的演讲到此结束,谢谢。现在有几个提问时间。如果您有问题,请举手,我们的志愿者会把麦克风递给您。刚才的演讲很棒,我很喜欢。从用户的角度来看,你知道,很多游戏基本上是在GPU上运行的。是的,你期望在游戏运行期间进行的许多推理工作,最终可能会消耗一些GPU资源。是的,所以看起来你知道我要说什么。

你是否考虑过将这个工作负载分担到CPU端,或者想办法在利用基于AI/ML代理进行游戏的同时,保持游戏的帧率,以确保体验不下降?是的,这是一个很好的问题。正如你提到的,很多游戏是在GPU上运行的。对于帧缓冲区方法,游戏环境数据与代理实际训练环境之间的通信成本很高。

此外,从速度角度来看,为了加速代理的训练过程,你通常需要将游戏运行在更高的速度下。因此,渲染游戏所花费的时间可能很昂贵。这就是为什么我们仍然使用帧缓冲区方法。但在我们可以从游戏状态参数中提取更高级别的信息,以辅助渲染或驱动游戏逻辑的场景中,我们通常从那里开始。同样的逻辑也适用于动作空间。

我们确实发表了一些论文,在会议或期刊上讨论了这类研究工作。你好,演讲很棒。我的问题是,你提到了模仿学习和强化学习。我想知道,是否有人尝试过使用迁移学习?你是否认为迁移学习在这个游戏领域有应用前景?

是的,我认为迁移学习可以用于获取类似游戏之间的经验,例如,如果两者都是第一人称射击游戏,你可以使用那里的某些技术。相反,我们的主要研究重点是如何提出一种快速且自适应的方法,以跨越游戏的多个版本。在这种背景下,迁移学习确实有助于我们如何适应将代理从一个版本迁移到另一个版本,甚至从一个游戏迁移到另一个相似的游戏。

好的,让我们感谢我们的演讲者。谢谢,谢谢。我们的下一位演讲者是来自Facebook的研究科学家兼经理田元东,他是我们去年的实际演讲者。今年,他将谈论为游戏构建深度强化学习框架。大家好,感谢大家参加这次演讲。今天我将谈谈强化学习中的规划。

我在标题上做了一些细微的调整,以便更好地反映演讲内容。首先,我们知道AI已经在许多情况下取得了成功,比如物体识别、医学影像、语音识别等。但AI仍然有很多做不到的事情。例如,如何建模常识?人们一直在尝试让聊天机器人和问答工作得更好,但结果表明,AI实际上只是在寻找答案与问题之间的强相关性,而不是进行实际的推理。

这是AI应该改进的地方。此外,AI无法处理极少监督数据的情况。例如,对于自动驾驶汽车,有很多AI从未见过的情形。在这种情况下,AI如何处理那些事先未训练过的情形?这实际上非常困难。为了实现这一目标,我们需要思考很多问题。

如果你只使用监督训练,我们会看到这样的性能曲线。起初,你将AI应用到系统中并放入大量数据,说“这真的有效”,你会看到曲线迅速上升。然而,当你放入更多数据并开始经历情绪变化时,你可能会从轻微的压力一直走到失望,因为你发现无论放入什么数据,系统都无法工作。

而且,与人类水平以及当前最佳系统水平相比,仍然存在差距。为了改善这种情况,我们肯定需要新的算法。一种很好的候选算法是强化学习。我想在上一场演讲中我们已经看到了强化学习的定义,所以这里我不想重复。

基本上,强化学习是指你有一个与环境交互的代理。代理可以采取当前状态,然后采取行动,行动会改变环境,代理会再次看到状态。基本上,你重复这个过程,直到代理完成一个回合或任务。这里的目标是最大化累积奖励。

由于代理通常在虚拟环境中运行,这使得事情变得容易得多,因为你可以生成任意多的数据。这实际上使该方向的许多强大研究人员能够解决诸如Atari游戏、围棋、Dota以及Quake 3等问题。在星际争霸中,我们也看到了有趣的进展。人们可能会问,既然我们在所有这些游戏中都看到了进展,那么……

那么下一步会是什么?人们可能会思考,也许下一步是什么?我们需要构建越来越复杂的环境吗?或者需要使用更强大、更复杂的机器来训练模型吗?其实目前还不确定。所以我认为,在当前的研究社区中,我们真正想要理解并思考的是,下一步我们想要做什么。因此,我想谈谈规划。首先,我将通过一个例子来说明规划的重要性。这里有一个关于AlphaGo Zero的例子。

大家都知道,AlphaGo Zero是去年DeepMind在《自然》杂志上发表的一篇论文,讲述了如何训练一个非常强大的围棋机器人,它能在零人类知识的情况下击败人类,甚至达到超人类水平。这看起来非常不可思议,因为以前人们都认为需要人类监督才能制造出强大的机器人。其理念非常简单:从非常随机的模型开始,利用该模型进行前瞻规划来下棋。

我们从空棋盘开始,每一步都根据使用当前模型的规划程序找到最优着法。这样我们就获得了大量的自我对弈数据。一旦拥有自我对弈数据,我们基本上将其放入监督训练程序中,输出一个更好的模型,并用这个更好的模型再次生成训练数据。这就像是一个重复的循环,令人惊讶的是,我们实际上从中看到了非常强大的性能。

那个仅使用490万局游戏的3D版本,已经击败了AlphaGo Lee,后者是2016年与世界冠军李世石比赛时使用的版本。而那个14天的版本甚至更强。但其中有很多谜团,对吧?人们可能会问,为什么这个简单的算法实际上有效?为了复制他们的方法并理解其中的奥秘,我们实际上使用Elf平台尝试复制这种算法,并想了解这四个循环中到底发生了什么。

这是去年在NIPS上发表的一篇论文,介绍了一个广泛、轻量且灵活的游戏研究框架。代码已在线发布,如果人们想使用它,可以访问该链接,并找到指向其更新版本的下一个链接。Elf非常简单,你只需将所有繁琐的工作放入C++中,并开放一个Python接口。通过这个接口,你基本上可以复制强化学习中的初始for循环,而不必考虑C++端所有需要多线程或通信的详细细节。

这基本上是一个概念简单的框架,这一页展示了Elf的工作原理。你有几个游戏实例同时运行,时不时地,它们需要调用神经网络来获取下一个动作和策略,获取当前的价值。但这种调用需要被批处理。因为神经网络通常将事物批量处理时效率更高。Elf基本上是一个可以在不同线程上进行动态批处理的平台。

这基本上可以用一句话总结Elf的工作原理。我们通过建立Elf的分布式版本来改进现有方法,然后你可以基本上将AlphaGo Zero和AlphaGo Zero的后继者AlphaZero(它使用同步训练版本)一起放入同一个框架中。你可以通过几个开关启用或禁用这两者。借助这个框架,我们以相当的方式复制了他们的性能。

我们使用两千个GPU在两周内训练了我们的系统。也许我们实际上可以在少于两周内完成训练,我们正在尝试再次进行,并且我们实际上取得了对抗职业玩家的不错成绩。我们也开源了代码以及围棋和机器学习社区的预训练模型。我认为目前的Open Go模型是世界上最好的开源围棋模型,任何人都可以使用它。

这里有一些性能总结。我们可以看到我们与韩国职业围棋协会合作,他们有四名职业棋手,他们在世界排名中都非常高。我们使用我们的Open Go程序与他们竞争。每位围棋棋手被分配可以无限思考时间来思考下一步,而在我们这边,我们只使用单个GPU,每一步仅使用50秒。

结果似乎表明,在20局比赛中,他们无法在一局中击败我们。我们还有其他与不同版本的AlphaZero复制品的比较,比如Lila Zero。有趣的是,不仅是复制,我们还能够看到这种系统是如何工作的。这实际上是从研究角度来看更重要的事情。首先,我们实际上看到的是,如果你从零开始,在训练开始时一切都是随机的,所以你不期望在那里看到任何有趣的事情。

但有意义的着法实际上来自游戏的末尾,对吧?因为在游戏末尾,你确实有奖励信号,它告诉你谁赢得了游戏。这非常重要,你基本上使用该信息来传播。我会说这是“回溯”,它与神经网络的反向传播不同。它是从游戏的所有步骤回溯到游戏的开局。这很有趣,你可以看到开局非常强大。即使它在开始时随机移动。

这很有趣。第二件事是,我们发现规划实际上是创造新知识的方式。如果你有一个已经训练好的机器人,并用它去对抗另一个机器人,但不进行训练,不进行规划,对吧?你有一个配备规划的机器人,和一个没有规划的机器人。你会发现,只要规划机器人有规划,例如几百次 rollout,那么该机器人与无规划机器人相比就非常强大。训练实际上是利用这种结构从规划中提取知识。规划可能会说,好吧,那步棋更好。好吧,然后之后……

神经网络试图记住某一步比其它步更好。因为它记住了许多重要步骤,以及黑方或白方可能获胜的许多情境,所以在下一个情境中,你可以将其作为规划的基础,并提前进行更长远规划。这基本上就是它起作用的原因。这种情况实际上也发生在其他不同的地方。例如,如果你确实在强化学习中进行时序差分学习,你实际上是在做同样的事情。你进行一步或T步或不同类型的规划,一直持续到下一步,从而你实际上能从规划中获取信息,并尝试提取这些信息,将其保存到神经网络中。

因此,这在强化学习的不同情境中无处不在,你也可以看到游戏AI是如何创建的。人们必须利用规划来实现这一点。好的,接下来。如果我们已经有了真实动力学模型,对吧?既然我们已经知道围棋的规则,对吧?我们基本上知道可以通过自我对弈或随机采样状态来获取大量数据。但是,如果你没有真正的真实动力学模型,会发生什么?这实际上非常、非常常见。

例如,如果你真的想在机器人上运行,而机器人的动力学模型很难获取,对吧?这是一方面。另一方面,可能只有人类或专家轨迹,没有在此基础上构建的世界模型。例如,你想通过观看其他人玩游戏来学习。所以你基本上看到的是视频序列,但你并不真正知道他们采取了什么行动来实现该视频序列。

此外,可能存在获取完整模型成本极高的情况。也许在自动驾驶汽车中,很难构建模拟器,因为模拟器可能总是存在问题。在这种情况下,我们该如何训练它?所以问题是,答案很简单,对吧?你只需在此基础上训练一个模型。这里我谈论两项最近的工作,我们一直在尝试如何构建模型,或者如何使用强化学习来改进规划。这基本上就是演讲的其余部分。

第一部分是如何构建一个模型,以帮助虚拟环境中智能体的导航。在这里,你有一个虚拟环境,还有一个可以在其中移动的智能体,智能体的目标是尝试移动到某些地方。我们的论文解决方案是,我们可以尝试在该虚拟环境中所有抽象概念的基础上构建一个语义模型。

例如,当这个智能体寻找烤箱时,它已经知道哪里是户外,哪里是客厅,哪里是沙发,以及它们之间的关系。然后你可以尝试利用这些关系来推断其余部分,即其余的房间及其位置。你可能会使用贝叶斯网络来基本预测客厅与厨房相连的概率等,然后你可以基本上利用这一点进行规划。

规划将基本上在这个图上进行,这将是一种更有效地理解机器人情境并引导机器人前往正确位置的方法。基本上,我们提出了所谓的LEAPS(学习和规划环境中的规划框架),它可以与这些语义模型结合使用。你从房间的所有先验知识开始。这些先验可以从训练环境中提取,然后你开始探索环境。

每当你探索环境时,你都会更新你的先验知识。因此,这个先验变成了后验。一旦你拥有先验、后验和世界模型,你就可以提前规划,以确定为了实现最终目标,下一个要探索的房间是哪个。

好的,这基本上是我们使用房屋训练环境,这是我们之前的工作,将45k个场景转化为一个环境,以便智能体可以四处移动。每个场景基本上都是由人类设计的,因此它们比随机生成的迷宫更自然。你基本上使用该环境来训练模型。首先,你可以学习不同房间之间的先验关系。如果餐厅离厨房更近,但离户外较远,等等。

然后你可以基本上对其进行训练。你可以在一个你从未见过的新环境中进行测试,我们发现与随机探索或使用简单的无模型方法相比,性能有所提升。提升相当大。当最优规划路径实际上很长时,例如,如果你想穿过整座建筑去另一个房间,那么规划变得更为重要。

这里有一个案例研究,由于时间关系我将跳过。基本上,思路是你首先尝试不同的路径。第一条路径是直接去户外,但失败了。然后你更新你的信念,并尝试不同的路径,直到找到正确的路径,即通过客厅去户外,这是你可以走的正确路径。

我想介绍的另一项工作是如何使用强化学习来改进现有的规划。例如,在这个图中,我们基本上展示了一条通往目的地的轨迹,这是你的规划。但在那之后,我们可以通过移动所有这些节点来使规划变得更好,从而使总成本更小。

如果你处理的是连续控制问题,那么通常人们已经开发了许多非常强大的数学工具来解决这个问题。例如,迭代LQR。在这种情况下,你所做的是将你拥有的动态模型以及你拥有的奖励模型局部扩展为局部线性、局部二次形式。

你可以利用这一点运行LQR,它具有闭式解。一旦你有了这个LQR,你就可以更新所有的节点,比如那里的状态,从而改进你的规划。一旦你获得新策略,你可以对策略进行采样,获得新轨迹,并使用它。但是,如果你没有一个好的规划会发生什么?如果规划不可微分会发生什么?

这实际上在组合优化中非常常见。例如,如果你有四个点,你想使用这四个点,你想找到它们的凸包。以前的工作,例如来自DeepMind。

来自 Google Brain 的团队基本上尝试通过序列到序列模型来预测凸包,该模型常用于语言模型。此外,最近还有一项新发表的工作,主要利用神经网络直接为作业调度预测计划。因此,我们正试图通过迭代地在局部范围内改进解决方案,以不同的方式解决这一问题。每次你基本上都会选择当前状态的一个局部部分。例如,这是一个作业调度问题。我们从类似的状态开始,找到一个想要改进的区域,然后使用神经网络来寻找更好的解决方案以进行改进,从而获得更好的作业调度结果。

与几种不同的启发式算法相比,我们实际上获得了更好的性能,例如“最短作业优先”以及启发式搜索加搜索的方法。而且,我们的方法也比那些直接预测整个计划的其他方法表现更好。当情况变得更加复杂时,直接预测正确的计划可能会非常困难。但我们的方法可以逐步提升性能。好的,我们还将同样的方法应用于表达式简化,并取得了良好的效果。这里有一个例子。

我认为还有很多我们正在思考的未来方向,包括分层强化学习、多智能体,以及可能基于模型的强化学习。我们实际上已经提交过相关研究,但由于时间限制,将在本次演讲中省略。最后几页是关于希望从事强化学习工作的人,如何在强化学习中表现出色?有几个要求:你需要具备非常强的数学技能,需要掌握参数调优技能,拥有分布式系统方面的 C++ 经验,并且具备非常强的编码能力。这就是我的演讲,谢谢。

谢谢。我们还有时间进行几个提问。请举手,我们的志愿者会过来。你好,谢谢。演讲非常精彩。关于强化学习,我的意思是,有时它需要大量的计算资源,比如数千个 GPU。对于 Facebook 或 Google 来说,这肯定不是问题。但对于没有这种计算资源的小型研究团队来说,你有什么建议吗?可以进行强化学习研究吗?

呃,强化学习。好的,我认为这个问题非常实际。我们可以做的一件事是从人类演示开始。如果你已经有了人类演示,那么训练初始模型将会容易得多,你基本上可以在此基础上使用强化学习进行改进。所以这是你可以做的一件事。

你可以做的另一件事是,例如,如果你想要已经学习了一个模型,正如我在演讲中提到的。一旦你学习了模型,你基本上可以进行想象式 rollout(展开)。你可以尝试使用模型进行想象,而不是运行实际的模拟器。这通常要快得多。所以这里有几种你可以思考的方法。下一个问题。

呃,谢谢,精彩的演讲。我是来自索尼 PlayStation 的 Jackie。所以我们遇到了一些需要解决的问题。我们现在正尝试训练智能体在游戏对局中表现出色,但也可能训练模型让玩家玩游戏更有趣。例如,如果你有一个“顶角”的情况,呃,这是真事。我的朋友给她女儿买了一款国际象棋游戏,她只玩了三次,因为她被击败了,因为 AI 相当不错。

好的,所以是否有可能存在一种个性化模型?我有相同的标签,所以我有一个与我相同标签的组件。有可能实现这种类型的智能体吗?是的,我认为这完全可能。我认为这完全取决于你如何设计奖励。如果奖励与人类良好协作,那么智能体将试图找到与人类协作的良好策略。这确实取决于目标。例如,因为最终奖励是看你是否想赢得游戏,所以在训练之后它会变得非常强大。

但如果目标不同,那么它将导致不同的情况。你也可以从模仿学习开始,在那里你已经有了一条人类轨迹,并要求强化学习智能体不要偏离轨迹太多。这可能会给你一个合理的策略,而不是一个非常奇怪或广泛的策略。是的,或者你可以为计算机设置让子( handicap)。例如,每当你开采一个矿物时,我意思是你得一分,而计算机只得零点五分。这也是平衡双方的一种方法。

我想我们时间到了。让我们感谢我们的演讲者。好的,谢谢。