下面的观点可能有点反直觉:为了让AI更好的应对现实世界的应用场景,最好不要使用真实的-用于训练数据集的世界数据。是的,合成数据是释放人工智能真正潜力的关键。顾名思义,合成数据不是从现实世界中收集的,而是人工生成的。然而,合成数据的使用一直伴随着争议。业界一直对它能否准确对应现实世界,能否让训练有素的AI能够处理真实情况存有疑虑。为此,负责仿真技术和Omniverse引擎构建的NVIDIA副总裁RevLebaredian在接受采访时给出了答案。物理模拟2021年11月,老黄在GTC大会上推出了OmniverseReplicator,这是一个强大的合成数据生成引擎,可以生成用于物理模拟的合成数据,并用它来训练神经网络。说到“模拟”,我们接触最多的其实是游戏,加入一些真实的物理定律可以让体验更加真实。例如,当你用炸药炸开一堵墙时,墙会轰然倒塌。但如果墙没有移动,人们就会不禁怀疑他们是否又在偷工减料。当然,在大多数情况下,游戏不会尝试做到真正的100%还原。毕竟模拟现实世界太耗算力了。此外,游戏最终是为了娱乐而模拟幻想世界,因此遵循现实世界的物理准确性并不一定是一件好事。虽然之前有很多研究讨论过在游戏中训练AI,但效果肯定还是大打折扣。Omniverse的目标是还原一个完全遵守真实物理定律的模拟世界。这里的模拟是利用刚体物理、软体物理、流体动力学等相关的东西来模拟原子是如何相互作用的。例如,光如何与物体表面相互作用,从而形成我们通常看到的外观。而当我们能够足够逼近地模拟现实世界时,我们就会得到相应的“超能力”。预测未来比如,如果我们所在的房间在虚拟世界中1:1重现,那么我就可以用上帝的视角选择任何我想去的地方,然后“瞬移”到那里。再比如,通过在火星上安装传感器,摄取现实世界的信息,在虚拟世界中重构,我可以随时体验生活在火星上的感觉。这还不是最强大的。在足够精确的模拟下,只需要设置一定的初始条件就具有预测未来的能力。还是以这个房间为例,我拿着手机。在这一点上,我可以模拟我放手的那一刻发生的事情,而不是真的放手。显然,手机会因重力而掉落。在模拟世界里,我可以预测手机会怎么掉,落地后屏幕会不会碎等等。也就是说,你可以无限地检验不同决策和条件的结果,甚至探索所有可能的“平行世界”。如果能在此基础上做出相应的优化,就能找到最好的未来。还在用真实数据训练AI?在这个蓬勃发展的AI行业的新时代,研究生不可能用笔记本电脑编写高级软件。可以说,任何高级算法的开发都需要在一个拥有海量数据的巨型系统下进行训练。因此,也有“数据是新时代的石油”之说。从这个角度来看,为数据收集提供便利的大型科技公司似乎更有优势。但事实是,今天企业收集的大数据对于未来创造的尖端人工智能并没有真正的用处。我在2017年国际计算机图形学会议(SIGGRAPH2017)上注意到了这一点。当时我们开发了一个会玩多米诺骨牌的机器人,也开发了几个训练机器人的AI模型。其中最基本的一个是计算机视觉模型,它可以检测牌桌上的多米诺骨牌,并可以区分多米诺骨牌的方向与牌的花色和点数。你总能用谷歌找到足够的训练数据,对吧?确实,你可以用谷歌图片搜索找到很多多米诺骨牌图片,但是你会发现这些图片都没有标注,所以要对每张图片中的多米诺骨牌进行一张一张的标注,需要大量的体力劳动。即使在标记之后,你会发现数据缺乏必要的多样性。为了使应用于真实场景的图像识别算法具有鲁棒性,它们必须在不同的光照条件和相机/传感器状态下成功运行。识别多米诺骨牌的算法也必须能够成功区分所有材料的多米诺骨牌。因此,即使有如此简单的训练要求,也不存在必要和充分的数据。如果你真的想在现实中收集必要的数据,你必须购买数百张不同的多米诺骨牌,并使用不同的相机在不同的光照条件下拍摄。于是在2017年,我们直接用游戏引擎编写了一个随机多米诺牌生成器,用它来生成所有的训练数据,连夜训练出了一个鲁棒的图像分辨率模型。该模型还对在会议现场使用不同相机拍摄的图像进行处理后的工作方式感到满意。这只是一个简单的例子。对于更复杂的场景,如自动驾驶汽车或全自动机器,不可能满足从现实世界收集的所需训练数据的数量、准确性和多样性。除非生成物理上足够准确的AI训练数据,否则没有进一步发展的空间。培训所需的危险情况是否可以涵盖?在Omniverse中,昼夜随时切换,可以模拟包括冰雪环境、尖角等场景。还可以将行人和动物置于现实世界中永远不会安排的危险场景中。实际上没有人愿意将人或动物置于高风险之中,但自动驾驶汽车制造商当然需要了解他们的产品在各种边缘到边缘环境中的表现。因此,在虚拟世界中训练人工智能有其自身的优势。合成数据是最好的训练策略?当前的大多数人工智能仍然是通过“监督学习”创造出来的。比如让神经网络AI区分猫和狗,先用标记过的图片教AI什么是猫,什么是狗,然后再应用到新的未标记的图片上。用于训练AI的合成数据,由于内置了超精准的数据标注,可以作为“基准真实数据”。在自动驾驶汽车的场景中,用户需要通过现实世界的传感器让智能汽车知道道路上各种车辆和行人相对于自己的3D位置。但实际上,传感器给AI的信息是二维图像,只有像素。如果要训练AI推断物体的3D信息,首先要在2D图像中围绕物体画一个框,告诉AI“这是物体基于某个传感器的某个镜头的相对距离””但是,如果数据是在Omniverse中合成的,则可以省略这一步,直接得到物理精度完整的物体3D位置信息,避免人为引入数据造成标注错误。如果用它来训练神经网络,也会得到更智能、更准确的结果。会不会出现过拟合的问题?合成数据实际上是解决过拟合问题的有效方法之一,因为生成多样化的数据集要方便得多。如果你想训练一个识别面部表情的神经网络AI,但训练数据集全部来自白人男性,那么AI就会在白人男性数据上过拟合,无法识别多种族面部表情。合成数据不会使情况恶化,它只会更容易在数据中创造多样性。如果有一个合成数据生成器,可以在生成人像时改变人脸的参数,那么肤色、瞳孔颜色、发型等各种信息就可以有丰富多样的差异,可以用来训练AI以避免上述的过拟合情况。没有偏见的乌托邦?人工智能诞生的环境是合成的。它们是在计算机中诞生的,然后只根据人类输入的任何数据进行训练。因此构建一个完美的虚拟世界来训练人工智能是可行的。在这样的世界中训练的人工智能将比在真实数据上训练的人工智能更聪明,并且在现实世界中表现更好。然而,合成数据的难点在于生成高质量的数据并不容易。需要有一个像Omniverse这样在物理上对现实世界准确的模拟器。如果合成数据生成器生成卡通质量的图像,它显然不能胜任这项任务。没有人愿意将经过卡通训练的AI放在为真实医院服务的机器人身上。这种机器人照顾老弱病残的结果太吓人了。因此,模拟器需要在物理上尽可能准确,这确实很难做到。
