分析人形机器人的一般制作过程

核心提示选自evjang.com作者:Eric Jang机器之心编译编辑:rome romeEric Jang 表示:「作为一名机器人专家,在训练 ResNet18 时,很难不对 NLP 研究人员正在训练的大模型产生嫉妒。」目前机器人领域取得了显著

选自evjang.com

作者埃里克·张

由机器之心编译:罗马罗马

Eric Jang表示:“作为一名机器人专家,很难不嫉妒NLP研究人员在训练ResNet18时正在训练的大模型。」

目前,机器人领域已经取得了显著的进展,这表明机器人在未来可以做更多的事情。但也有令人不安的事情,因为相比一代机型,机器人的进步还是有点逊色,尤其是随着GPT-3等机型的出现,这种差距更加突出。

由生成的模型产生的结果好得惊人。上图左侧是Google推出的Imagen的输出结果。你可以给它提供一段文字,比如“一只戴着橙色帽子的仓鼠,手里拿着一张写着我爱JAX的纸”。根据给定的文本,Imagen会渲染出合理的图像。此外,谷歌还训练了一个大型语言模型PaLM,可以用来解释笑话为什么好笑等。他们使用先进的硬件如TPUv4来训练模型,在计算机视觉领域,研究人员正在开发一些非常复杂的架构,如视觉变压器。

随着模型生成的快速发展,它们与机器人技术相比是什么关系?

在这篇文章中,来自挪威机器人公司Halodi Robotics的AI副总裁Eric Jang介绍了“我们如何才能让机器人更像生成模型?》以下是文章的主要内容。

作为机器人领域的专家,在生成模型领域的进展有点让人羡慕。因为在机器人领域,大多数研究人员很可能还在使用ResNet18,一个7岁的深度学习架构。当然,我们不会像生成模型时那样在庞大的数据集上训练模型,所以很少有机器人研究作品成为“耀眼”的头条。

我们知道莫拉维克悖论:与认知任务相比,灵活操纵机器人是非常困难的。直觉上,让机器人拿起和运输物体的操作似乎没有把文字变成图像或解释笑话那么令人印象深刻。

首先,我们来定义一下生成模型。生成模型不仅仅是渲染图片或生成大量文本。它也是一个框架,我们可以用它来理解所有的概率机器学习。模型生成有两个核心问题:

1.您要建模的数据类别中有多少位?

2.你能建立多好的模型?

2012年,AlexNet取得了突破。可以预测1000个类别,Log2大概是10个类位。你可以把AlexNet想象成一个基于图像的生成模型,它包含10比特的信息。如果你把建模任务的难度升级为MS-CoCo字幕任务,那么这个模型包含了大约100比特的信息。例如,如果使用DALLE或Imagen从文本到图像生成图像,它包含大约1000比特的信息。

通常情况下,建模的类别越多,就需要越多的计算能力来计算其中包含的条件概率,这也是为什么模型会随着类别的增加而变得庞大。当我们训练越来越大的模型时,就有可能利用数据中的特征,从而学习更丰富的结构。这就是为什么模型生成和自监督学习成为流行的方法,可以深度学习大量的输入,而不需要大量的人工标注。

里奇在他的文章《惨痛的教训》中指出,人工智能的大部分进步似乎都是在这种计算热潮中取得的,而其他方面几乎没有发展。Yann LeCun的Vision algorithm、NLP、LeCake都受益于这股计算热潮。

这种趋势给我们什么启示?如果你有一个过渡的参数模型,可以处理更多的数据,模型可以掌握网络的所有特征,加上强大的计算能力和训练目标,深度学习几乎总是可行的。

让DALL-E 2生成一个图像:一只骡子踩在巨浪上。这张图展示了生成的模型是如何借助计算热潮取得非凡成果的。你有强大的计算能力,可以选择VQVAE、扩散、GAN、自回归等算法来建模。目前每个算法的细节都很重要,但是未来一旦计算机的计算能力足够强,这些细节可能就不重要了。但从长远来看,模型大小和良好的架构是所有这些进步的基础。

相比之下,下图是机器人领域泛化研究的现状。目前很多机器人研究人员还在训练小模型,还没用过视觉变形金刚!

对于从事机器人研究的人来说,都希望机器人能在现实世界中得到更广泛的应用,发挥更大的作用。在模型生成领域,研究人员面临的问题相对较少,而在机器人研究领域,经常会遇到机器人部署困难、数据嘈杂等问题,这些问题是从事模型生成的研究人员所没有遇到的。

接下来我们从优化、评估、表达能力三个不同维度对生成模型和机器人技术进行比较。

使最优化

首先我们来看一个简单的生成模型:PixelRNN。

从第一个像素的红色通道开始,模型告诉canvas它想要绘制哪个像素。画布将完全按照指示绘制,因此它将像素值复制到画布上,然后将画布读回到模型中,以预测下一个通道,即绿色通道。然后,将R和G画布上的值反馈给RNN,以此类推,最终生成RGBRGBRGB…序列。

在实际的图像生成任务中,可以使用扩散或变换。但是为了简单起见,我们只使用向前执行的RNN。

现在让我们把一般的控制问题变成PixelRNN。与生成图像不同,我们想要生成MDP:状态、行动和回报的序列。我们希望生成MDP,它对应于完成某些任务的代理。这里,我们也从先验知识入手,模型对强化学习环境的初始状态进行采样。这是模型的第一个输入。RNN采样第一个像素,canvas完全按照指令生成一个。然而,与生成图像不同,canvas总是返回以前的RNN输出。现在的操作是下两个像素由当前环境决定:即它接受动作和所有之前的状态,并以某种方式计算R,S。

我们可以把RL环境想象成一个绘图对象。它执行RNN动作,而不是直接在画布上绘制所需的内容。它将使用任意复杂的函数来绘制像素。

如果我们与之前的PixelRNN绘制图像进行比较,这个任务显然更具挑战性,因为当你试图对想要的图像进行采样时,会出现一个黑盒,这将导致很难绘制内容。

在绘制的过程中,我们会遇到一个典型的问题:如果环境绘制出了一个意外的状态,那么就会出现一个问题,那就是如何发出纠正的指令,使我们能够回到我们试图绘制的图像。此外,与图像生成不同,我们实际上必须按顺序生成MDP图像,并且不能进行回溯编辑,这也带来了优化挑战。

如果我们想了解像PPO这样的RL方法是如何被推广的,我们应该在一个不受控制的环境中对它们进行基准测试,将它们应用到图像生成技术中,并与现代生成模型进行比较。Hinton和Nair在2006年使用springs系统来模拟MNIST数字合成。DeepMind使用RL方法重现了这个图像合成的一部分。

图像生成是研究优化和控制的一个很好的基准,因为它确实强调了在成千上万个不同场景中通用化的必要性。

最近的如决策变压器、轨迹变压器、多博弈决策变压器,倒挂RL技术在泛化方面做的很好。那么倒挂RL技术与在线或离线RL算法相比如何呢?其实评价起来也很简单。我们可以评估密度,并验证给定的RL算法是否可以在测量测试可能性时推广到大量图像。

评价

如果要估计机器人在某些任务中的成功率,可以用二项分布。

二项分布的方差为p/N,p为样本均值;n是测试的次数。最坏的情况下,如果p=50%,那么需要3000个样本才能使标准差小于1%!

如果从计算机视觉的角度来看,0.1-1%范围内的提升是进步的重要动力。ImageNet目标识别问题从2012年开始有了很大的进展。错误率从2012年到2014年下降了3%,之后每年下降1%左右。很多人都在研究如何让这项工作发挥作用。也许今年已经到了基准改进的瓶颈,但是从2012年到2018年的七年时间里,研究人员已经取得了很多进展和成果。

在生成模型的其他领域,研究人员一直在降低语言模型的复杂性和图像中生成模型的每维位数。

我们来大致对比一下一般基准的评测速度。2012年,ImageNet目标识别测试集中有150,000幅图像。假设每张图片的推理速度为10ms,每次连续评估每张图片,评估每个测试用例大约需要25分钟。但是这里假设我们只有一个机器人进行评估,图像必须连续处理。

因为图像很多,所以可以得到0.1%以内的标准误差。事实上,我们不需要0.1%的标准误差就能在这个领域取得进展,也许1%就足够了。

端到端性能也是评估复杂性的一个重要部分。我们来看看如何评价神经网络在模拟任务中的端到端性能。Habitat Sim是目前速度最快的模拟器之一,其设计目的是最小化神经网络推理和环境步进之间的代价。模拟器可以达到每秒10000步,但是由于神经网络的正向传输大约是10ms,这个瓶颈导致每集的评测时间为2秒。这比运行真正的机器人快得多,但比评估单个计算机视觉样本慢得多。

如果要对端到端的机器人系统进行评估,其多样性水平类似于我们用ImageNet所做的。普通测评需要1周时间,处理几十万个测评场景。这并不完全是一个合理的比较,因为每一集其实都有200个左右的推理过程,但我们不能把单集中的图像看成独立的验证集。如果没有其他的插曲测量,我们只知道任务成功与否,那么插曲中的所有推理只贡献给二项式估计的单个样本。我们必须根据几万集而不是图片来估算成功率。当然,我们可以尝试使用其他策略评估方法,但这些算法的可靠性不足以开箱即用。

在下一阶段,我们实地评估真正的机器人。在现实世界中,每集评估大约需要30秒。如果一个10人的运营团队每天能完成300集,那么每天大概能做3000个评价。

如果要花一整天的时间来评估模型,会大大限制工作效率,因为每天只能尝试一个想法。所以我们无法研究那些逐渐提升0.1%性能的小点子,或者非常极端的点子。我们必须找到一种方法来实现性能的巨大飞跃。虽然这看起来不错,但实际操作起来很难做到。

在考虑机器人学习的迭代过程时,很容易使评估实验的次数远远超过你的训练数据!几个月不间断的评测,大概产生了上万集,已经超过了大多数机器人深度学习演示数据集。

几年前,研究人员还在试图解决用机械臂开门的问题,但这些策略不能很好地推广。研究人员通常以大约10集的数量级来评估它们。然而,10-50次试验实际上不足以确保统计稳健性。为了获得好的结果,实际上可能要进行1000多次测试来进行最终评估。

但是实验进一步扩大会怎么样呢?如果我们最终需要训练一个O行为的机器人系统,我们需要多少次测试来评估这样一个通用的系统?这里的评估成本变得极高。

这里再次声明:数据够用,评测有瓶颈!

如何加快评估速度?

以下是关于如何加速通用机器人系统评估的一些想法。

一种方法是分别研究泛化问题和机器人。其实深度学习社区早就这么做了。大多数计算机视觉和生成建模研究人员并不直接在实际机器人上测试他们的想法,而是期望一旦他们的模型具有很强的泛化能力,就会迅速迁移到机器人上。在计算机视觉领域开发的ResNets大大简化了许多机器人视觉运动建模选择。想象一下,如果一名研究人员每次想尝试不同的神经网络架构时,都必须在一个真实的机器人上测试他们的想法!另一个成功的案例是CLIPort,它将图文模型强大的多模态泛化能力与用于抓取规划的基本几何推理相耦合。

我们可以进一步将RL的技术栈分为三层:模拟玩具环境、模拟机器人、真实机器人。

在金字塔的底部,有通用的基准,比如Kaggle竞赛的基准。再往上,就是一组“玩具控制问题”,用“裸机”的方式研究。只有模拟器和神经网络运行,所有与现实世界机器人相关的代码,比如电池管理,都不存在。沿着金字塔往上走,你会来到一个更具体的领域,这个领域与你试图解决的问题更相关。例如,“模拟机器人”和“真实机器人”可以用于相同的任务,并且重用相同的底层机器人代码。模拟的玩具环境可以用来研究通用算法,但和最终的机器人领域几乎没有重叠。在“评估金字塔”的顶端是我们试图解决的真正的机器人任务。直接迭代的过程很慢,所以我们都想在这里尽量少花时间。我们希望在低层训练和评估的基本模型可以帮助我们了解哪些想法是有效的,而不必在高层进行每一次评估。

同样,该领域已经以这种分离的方式运作。大部分有志于为机器人做贡献的人不一定会控制机器人。他们可能会训练视觉表现和架构,最终可能对机器人有用。当然,解耦的缺点是感知基准的提高并不总是对应着机器人能力的提高。比如正在提高语义分割或视频分类精度的mAP指标,甚至无损压缩基准,我们不知道目标的提高实际上是如何与下游任务的提高进行映射的。所以最后必须在端到端的系统上测试,才能知道真正的瓶颈在哪里。

谷歌曾经发表过一篇很酷的论文“挑战无支持学习中的常见假设”。他们证明,许多完全无监督的呈现学习方法不会在下游任务中带来显著的性能改善,除非我们使用我们关心的最终下游标准来评估和选择模型。

地址:file/tupian/20220831/pp提高评估算法速度的方法是改进sim-to-real的迁移算法。我们可以并行模拟很多机器人,这样就不会再受约束了。Mohi.pdf Khansari、Daniel Ho和Yuqing Du开发了一种称为“任务一致性损失”的技术,它将sim和real的表示正则化为不变量,因此sim和real下的策略行为应该是相似的。当我们将sim中评估的策略迁移到real中时,我们希望确保sim中的较高性能指标确实对应于real中的较高性能指标。M2与真实的差异越小,模拟实验中的指标越可靠。

表示

我们来看看现代一代模型能输出多少位。每通道8位的64x64x3 RGB图像是36864位。语言模型可以生成任意数量的标记,但是如果我们将输出窗口固定为2048个标记,每个标记有17位,总共36793位。因此,图像和文本生成模型都可以合成大约37k比特。随着模特的表现力越来越强,人们对这些模特的认知会有质的飞跃。有些人甚至开始认为语言模型是部分意识的,因为它们的表达能力太强了!

相比之下,现在的机器人表现力如何?这里我们设计了一个简化现实世界的环境。桌子上有6样东西。机器人的任务是将一个物品移动到另一个物品的顶部,或者运输一些物品。总共有100个任务。Log2约为7比特,这意味着“给定世界的状态,机器人可以将原子移动到N个状态中的一个,其中N可以用7比特来描述”。谷歌的SayCan算法可以用一个神经网络完成大约550个运算任务,这在目前的机器人深度学习标准中是相当可观的,总共只有10比特左右。

这种比较并不完美,也不合理,因为两者对信息的定义不同。这里只是一个大概的直觉。当人们衡量一组任务与另一组任务的相对复杂性时,他们需要弄清楚什么是重要的。

我们的挑战之一是机器人的功能仍然有限。如果看Ego4D的数据集,很多任务需要双手操作,但是现在大部分机器人还是使用轮式底座和单臂移动机械手。他们不能移动或去任何地方。显然,我们所拥有的只是一个“机械臂”,它排除了许多有趣的任务。

我们需要研究更有表现力的机器人,但是机器人学习算法的表现力受到硬件的限制。下面是机器人开门、收拾行李箱、拉上拉链、给植物浇水、翻水瓶盖的画面。随着机器人硬件越来越接近真实的人类,你在以人类为中心的世界中可以做的事情数量呈指数级增长。

随着机器人的表达能力越来越强,我们不仅需要互联网规模的训练数据,还需要互联网规模的评估过程。如果你看看大型语言模型的进展,有很多关于调优以及现有模型能做什么和不能做什么的论文。

比如BigBench的基准编译了一系列任务,问我们能从这些模型中得到什么。OpenAI评估互联网用户的DALLE-2和GPT-3模型。他们的工程和产品团队可以从用户参与的人工智能实验中学习,因为任何研究者都很难掌握LLMs模型的细节。

最后想问读者一个问题。GPT-3或DALLE-2 API在机器人领域的等效技术是什么?通过这种等价技术,互联网社区的研究人员能质疑机器人研究,知道它能做什么吗?

最后,用一个表格来总结优化、评估和表现力之间的比较:

原文链接:https://evjang.com/2022/07/23/robotics-generative.html

 
友情链接
鄂ICP备19019357号-22