/ Voiceofvr / 0浏览

使用NVIDIA的Project Holodeck在虚拟现实中对人工智能和机器人进行训练

The Voices of VR Podcast

导入

我的名字是Kent Bye,欢迎来到Voices of VR播客。今年在SIGGRAPH上,有一个虚拟现实的展览让我大开眼界。它在NVIDIA展位中,展示了一个与多种多米诺骨牌互动的机器人。真正令人着迷的是,他们能够在虚拟现实中训练这个机器人。展位前有一个正在操控多米诺骨牌的机器人,而侧面的房间里,有一个正在运行Unreal Engine 4的HEC 5,模型是这个与多米诺骨牌互动的Baxter机器人。你可以进入环境做不同的操作,实际上通过你的互动来训练人工智能,使用的代码和算法在虚拟世界和最终的真实机器人中是完全一样的。所以我们看到,游戏引擎现在已经达到了可以模拟现实的细致程度,可以在这些虚拟世界中训练AI算法。

今天的播客中,我们与Omar Shapira讨论人工智能和虚拟现实的交集以及NVIDIA在其Holodeck平台上所做的工作。与Omar的采访发生在2017年8月1日的SIGGRAPH会议上,地点在加利福尼亚州洛杉矶。那么,接下来,让我们深入探讨。

关于Omar Shapira

我叫Omar Shapira,我是NVIDIA的一名高级虚拟现实设计师,这意味着我不仅参与工程方面的工作,因为NVIDIA所有做虚拟现实的人都必须具备一定程度的工程能力,我还设计许多关于人类与虚拟现实互动的方面。

关于机器人的演示

在SIGGRAPH上,你展示了一个与机器人互动的demo。你能否谈谈你在机器人和虚拟现实之间的互动?

在NVIDIA,我们对人工智能的理解是,因为每个人很快就会跟人工智能互动,我们希望确保当这些智能系统与真实人类互动时,它们是经过良好验证的。因此,我们想要轻松测试交互式系统和智能系统,并能够进行自我反思。为了做到这一点,我们构建了一些模拟器,在这些模拟器中训练我们的虚拟代理。在这个案例中,我们希望展示一个真实的机器人能够安全且有趣地与人类一起玩多米诺骨牌。机器人实际上是一个挑战,因为它有足够的力量,可以损坏周围的东西,比如窗户或人类。这是现实。我们越与机器人互动,比如汽车,我们就越需要处理这些机器,如果它们没有被正确编程,它们可能不会做出正确的决策。

构建虚拟环境

为了确保机器人做出正确的决策,我们建立了一个大型系统,模拟环境以便于强化学习算法运行。在此基础上,我们建立了多米诺骨牌的环境。我们开发了一个非常优秀的多米诺骨牌模拟器,供人类使用。我们有一个名为Holodeck的环境,这个环境在NVIDIA内部开发,提供了一些手部VR的功能和非常直观的表情动作,你可以对世界中的物体进行良好的控制。你可以像用手一样使用控制器,抓取物体。

所以,我们设计了可以玩的多米诺骨牌,两个玩家可以在其中玩耍,但我们把其中一个人替换成一个知道如何放置多米诺骨牌的引擎。最初这是一个非常简单的抓取器,就像在VR体验中的飘浮物体。在此之后,我们将一个人替换成一个多米诺引擎,一个不懂多米诺的人与一个知道所有多米诺规则的机器进行互动。这个机器从另一个机器学习,它通过正确行为获取奖励,并且通过错误行为进行一些调整。这被称为强化学习。在经过数万场游戏后,机器人逐渐掌握了规则,最终形成了稳定的表现。

与真实机器人互动

因此,我们内置的机器人在这环境中表现得就像个五岁的孩子。我们将最初的虚拟代理替换成一个真实的Baxter机器人。这是一个标准的研究机器人,许多大学都在使用它。我们实际上模拟了将和人类互动的相同机器人。而我们希望确保它安全地玩耍,有趣地与之互动,因为它必须看着人类并与他们挥手。在虚拟现实中,我们很快进行了测试,艺术团队对此进行了建模。

这些艺术家知道最终会与Baxter机器人进行互动。因此,他们建模的虚拟模型与真实机器人的物理特性很相似,只有面部稍微不同以使其看起来更友好,但基本上功能上是相同的,而且可以用于模拟和观察与人类互动的感觉。

反向运动学和AI训练

真实机器人和虚拟机器人基本上运行相同的代码,直到反向运动学,即将坐标转换为机器人的实际运动的过程。从将图像输入到机器人到获得坐标,所有这一切都由同一段代码完成。因此,你实际上是能够通过虚拟现实来培训机器人,使用一个在机器人之内的虚拟相机,并能够执行相同的图像识别。

使用游戏引擎进行训练

在这个过程中,我们有一个名为Isaac的产品,它是一个在世界模拟器内训练人工智能的环境。游戏引擎在这一点上恰好非常适合世界模拟器。我们有许多技术旨在让游戏引擎看起来足够真实,因此在这个案例中,我们实际上是将游戏引擎的相机与来自现实世界的图像连接起来。不仅如此,我们实际上还训练了现实世界的相机识别多米诺骨牌,使用的是游戏引擎。我们会将多米诺放在一个板上,训练系统学习到这些内容。我们没有做任何特别的事情,只是将多米诺放在一个板上多次,并添加语义信息。

游戏引擎的作用

AI在像游戏引擎的环境中互动的组件实际上是可以查询的。这是我们的关键点之一。如果我们希望机器人做正确的事情并避免错误的做法,我们希望能够以可靠的方式测试这一点。像游戏引擎这样的世界模拟器不仅适合训练这些机器人,还适合测试它们。在虚拟体验中,我们正在让机器人证明它们能够与人类良好互动。经过一段时间的质量保证后,我们可以将这些应用部署到真实的机器人上,而这正是我们所做的。

涉及AI训练的云服务和神经网络架构

在此过程中,我们涉及了许多不同的AI组件,从经典的机器学习到强化学习,显然还有许多卷积神经网络用于各种识别。而我们内部有一个机器视觉模型,旨在识别多米诺骨牌,并将其从相机传送到一个“更高级别”的语义层面,以供强化学习环境使用。同时,游戏引擎本身也进行了很高效的处理,能够进行如多米诺塔楼等模拟。

我们检查了强化学习模型,并进行了大量的调整,不知道最后使用的是TensorFlow还是Theano。我们有一群研究人员,各自对工具有不同的偏好,有些算法的论文使用一种框架,因此可以轻松查询和查看这些算法的性能,而我们那几位研究人员则喜欢使用其他工具,我们在这个后端上运行一堆不同的机器学习产品。

虚拟世界中的AI训练机会

我对在游戏引擎中进行训练的各种领域充满好奇。每当你在真实世界中训练事物时,都会受到物理现实和物理法则的限制。但是想象一下,能够加速物理,或者以更快的速度并行进行一些操作的情况。利用虚拟世界训练AI的机会在哪里?

这是一个非常有趣的问题,因为作为一个工具制造者,每当你构建一个工具时,你会发现如果人们不去滥用你的工具,那你可能就没有构建出足够好的工具。这是我们在物理引擎中发现的事情,同时在AI工具中也是如此。你总会发现AI有意外的用法。如果没有,这也意味着你的系统不够强健。

革命性应用

好吧,随着我们与机器人的互动变得愈加密切,我们必须考虑它们的行为。我们希望能够以安全的方式覆盖这些机器人的怪异行为。因为如果你正在培训一些关键任务或与脆弱的人类互动的东西,你希望尽快发现其中的bug。因此,你希望用不同的场景多方位地挑战它。这对于任何有人的地方和机器互动的行业都有很大的意义。

如果你有一个机器人,比如说负责狗托儿所的,你可以针对真实世界的数据进行测试,观察发生了什么。你可以暂停并尝试多种方法,查看数据。但如果目标模拟中有一个与人类互动的机器人,那么你实际上可以让这些人以VR的方式在内部进行互动。这是我们的观点。我们并没有使游戏引擎变得多余。如果我们制作了更好的模拟器,它并不会使游戏引擎失去价值。游戏引擎同样是用来让人类与真实机器人互动的。

关于游戏引擎的称呼也很有意思,它们不再只是游戏引擎。它们介于媒体框架和操作系统之间。游戏引擎是做很多人们想看到的事情的模拟器。如果我们在进行机器人与现实世界的互动训练,我们必须使用尽可能接近真实世界的工具。实现的唯一方法就是使用非常优秀的模拟器,最终实现一个真实的模拟器。

结尾

非常感谢Omar Shapira,他是NVIDIA的资深VR设计师,正在利用虚拟现实技术培训AI算法。对我而言,这是在SIGGRAPH上看到的最令人震惊的应用之一。我一直想在Voices of AI播客启动并运行后谈论这个,现已上线,我有前五期可以供大家收听。

随着我们“Voices of VR播客”的各位嘉宾讨论,人工智能将会在虚拟世界的某些方面展现出无限的可能性。我们将继续探讨如何利用虚拟环境训练AI并促进人类与机器人的良好互动。感谢你的收听,如果你喜欢这个播客,请帮我传播,让更多人知道,同时考虑支持我的Patreon项目。这是一个听众支持的播客,我依靠你的捐赠来继续提供这样的内容。

感谢你的收听!