目前机器人畛域取得了显著发达,这些发达预示着未来机器人可以做更多事情。但是也有让人困扰的事情,因为与天生模型相比,机器人的发达还是有点逊色,尤其是 GPT-3 等模型的出现,这一差距更加突出。天生模型产生的结果好到令人震惊。如上图左侧是谷歌推出的 Imagen 的输出结果。你可以提供一段文字给它,如「一只仓鼠戴着橙色的小帽,手里拿着我爱 JAX 的纸片」,根据给定的文字,Imagen 会渲染出合理的图象。此外,谷歌还训练了一个大型语言模型 PaLM,可以用来解释为什么笑话很有趣等。他们用 TPUv4 等先进硬件训练模型,并且在计算机视觉畛域,研讨职员正在开发一些非常复杂的架构,如 Vision Transformers 等。天生模型发展如此迅猛,与机器人技术相比,两者之间有什么联系呢?本文中,来自挪威机器人公司「Halodi Robotics」的 AI 副总裁 Eric Jang 介绍了《我们如何让机器人更像天生模型?》。以下为文章主要内容。作为一名机器人畛域专家,天生模型畛域的发达让人有点羡慕。因为在机器人畛域中,大多数研讨者可能仍在应用 ResNet18,这个已有 7 年历史的深度进修架构。我们当然不会像天生模型那样在巨大的数据集上训练模型,所以很少有机器人方面的研讨工作成为「耀眼」的头条新闻。我们知道莫拉维克悖论:相较于认知型工作,灵活的操纵机器人很困难,从直觉上看,让机器人拿起并运送物体这些操作,似乎没有把文字变成图象或解释笑话那么令人印象深刻。首先我们给天生模型下一个定义。天生模型不仅仅是渲染图片或天生大量的文本。它还是一个框架,我们可以用它来理解所有的概率机器进修。天生模型有两个核心成绩:1、你要建模的数据类别有多少 bits?2、你能把模型建的多好?2012 年 AlexNet 取得突破,它可以对 1000 个类别从事预测,Log2(1000 classes)约莫是 10 class bit。你可以把 AlexNet 想象成基于图象的天生模型,包含 10bits 信息。如果你把建模工作的难度升级到 MS-CoCo 字幕工作,这时模型包含约莫 100bits信息。如果你正在从事图象天生,例如应用 DALLE 或 Imagen 从文本到图象天生,约莫包含 1000bits信息。通常对越多的类别从事建模,就须要越多的算力来计算其中蕴含的条件概率,这就是为什么随着类别的增多模型会变的庞大。当我们训练越来越大的模型时,就有可能利用数据中的特征,从而可以进修更丰富的结构。这就是为什么天生模型和自监督进修已经成为流行的方法,可以在不须要大量人工标签的情况下对大量的输入从事深度进修。Rich Sutton 在其文章《The Bitter Lesson》中指出:人工智能的大部分发达似乎都是在这股计算热潮中取得的,而其他方面几乎没有发展。Vision 算法、NLP 和 Yann LeCun 的 LeCake 等都受益于这股计算热潮。
这种趋势给我们什么启示?如果你有过渡参数化的模型,其能够处理更多数据,并且模型能够掌握网络中的所有特征,加上很强的算力和训练目标,深度进修几乎总是可行的。下面让 DALL-E 2 天生一副图象:一头踏在巨浪上的骡子,这幅图展示了天生模型是如何借助计算热潮取得不凡的成绩。你手握强大的算力(transformer、Resnet 等),并且可以选择 VQVAE、Diffusion、GAN、Autoregressive 等算法来建模。当前每种算法细节很重要,但未来一旦计算机的算力足够强大,这些细节可能就不重要了。但从长远来看,模型规模和良好的架构是所有这些进步的基础。
相比之下,下图展示的是机器人畛域泛化研讨的现状。目前很多机器人研讨职员仍在从事的是小模型训练,并且还没有用过 Vision Transformer!
对于从事机器人研讨的人来说,他们都希望机器人能更广泛的应用在现实世界中,并且发挥更大的作用。在天生模型畛域,研讨者面临的成绩相对较少,而在机器人研讨畛域,经常遇到机器人部署难、噪声数据等成绩,这些从事天生模型的研讨者都不会遇到。接下来我们从三个不同的维度比较天生模型和机器人技术,这三个方面包括优化、评价和表达能力。优化首先让我们看一个简单的天生模型:PixelRNN。
从第一个像素的红色通道开始(红色通道的先验概率是已知的),模型告诉 canvas(顶行)它要绘制的像素。canvas 将完全按照指令绘制,因此它将像素值复制到 canvas 上,然后将 canvas 读回模型中,以预测下一个通道即绿色通道。然后将 R、G canvas 上的值反馈给 RNN,依此类推,最终天生 RGBRGBRGB… 序列。在实际的图象天生工作中,可以应用 diffusion 或 transformer。但为了简单起见,我们仅应用前向执行的 RNN。现在让我们将一般控制成绩转换为 PixelRNN。与天生图象不同的是,我们要天生 MDP(马尔可夫决策过程):状态、动作和奖励的序列。我们希望天生 MDP,这个 MDP 对应于完成某些工作的智能体(如机器人)。这里我们也是从先验知识开始,模型对强化进修 (RL) 环境的初始状态从事采样。这是模型的第一个输入,RNN 对第一个像素 (A) 从事采样,canvas 完全按照指令的要求天生 A。但是,与天生图象不同的是,canvas 总是将之前的 RNN 输出返回,现在的操作是接下来的两个像素(R,S)由当前环境决定:即它接受动作和所有之前的状态,并以某种方式计算 R,S。
我们可以把 RL 环境视为绘制对象(painter object),它执行 RNN 动作,而不是直接在 canvas 上绘制想要的内容,它会应用任意复杂的函数绘制像素。如果我们将其与前面绘制图象的 PixelRNN 从事对比,这个工作显然更具挑战,因为当你尝试对想要的图象从事采样,会有一个黑盒,这个黑盒会对要绘制内容造成困难。绘制过程中会碰到一个典型的成绩:如果环境绘制了一个非预期内的状态,就会有成绩,即如何发出纠正指令,以便可以返回到我们尝试绘制的图象。此外,与图象天生不同,我们实际上必须按顺序天生 MDP 图象,并且不能回溯从事编辑,这也带来了优化挑战。如果想理解 PPO 这样的 RL 方法是如何泛化的,我们应该在非控制环境下对其从事基准尝试,将其应用于图象天生技术,并将其与现代天生模型从事比较。Hinton 和 Nair 在 2006 年的工作中,他们应用 springs 系统对 MNIST 数字合成从事建模。DeepMind 应用 RL 方法复现这种图象合成的部分工作。图象天生是研讨优化和控制的很好的基准,因为它真正强调了在成千上万个不同场景中从事泛化的必要性。近期如 Decision Transformer、Trajectory Transformer 以及 Multi-Game Decision Transformer 表明,upside-down RL 技术在泛化方面做得很好。那么 upside-down RL 技术与在线(PPO)或离线 RL 算法(CQL)相比如何?其实要从事评价也很简便,我们可以评价密度(专家完全观察的似然模型)并验证给定的 RL 算法选择是否可以在测量尝试似然度时泛化到大量图象。评价如果想估量机器人在某些工作上的成功率,我们可以应用二项分布。二项分布的方差为 p(1−p)/N,p 为样本均值(估计的成功率); N 为试验次数。在最坏的情况下,如果 p=50%(最大方差),那么须要 3000 个样本才能使标准差小于 1%!如果我们从计算机视觉的角度来看,0.1-1% 范围内的提升是前进的重要驱动力。ImageNet 目标识别成绩,自 2012 年以来取得了很大进步,2012 到 2014 年的错误率降低了 3%,然后每年约莫降低 1%,有很多人在研讨如何使这项工作发挥作用。也许今年 (2022 年) 在基准提升上已经达到瓶颈,但在 2012-2018 年的这 7 年间,研讨职员取得了很多发达和成果。
在天生建模的其他畛域,研讨职员一直在降低语言模型的复杂性,以及天生模型在图象上的每维 bit 数(bits-per-dimension)。
下面大致比较一下通用基准的评价速度。2012 年 ImageNet 目标识别尝试集中有 150000 个图象。假设每一个图象的推理速度为 10ms,并且每次是连续评价每一个图象,这样评价每一个尝试示例约莫须要 25 分钟(实际上评价速度要快得多,因为可以从事批量处理)。但这里假设我们只有单台机器人从事评价操作,并且必须连续处理图象。因为有海量图象,所以我们可以得到标准误差估计在 0.1% 以内。事实上我们不须要 0.1% 的标准误差才能在该畛域取得发达,可能 1% 就够了。在评价复杂性方面,端到端的性能也是重要的一块。下面我们来看看怎样从事神经网络在模拟工作中的端到端性能评价。Habitat Sim 是目前速度最快的模拟器之一,其设计目的是最大限度地减少神经网络推理和环境步进之间的开销。模拟器可以每秒 10000 step,但由于神经网络的正向传递约为 10ms,该瓶颈导致每一个 episode 的评价时间为 2 秒(假设典型的 navigation episode 为 200 step)。这比运行真正的机器人快得多,但比评价单个计算机视觉样本慢得多。如果要评价端到端的机器人系统,其多样性水平与我们应用 ImageNet 所做的相似,普通的评价须要 1 周时间来处理数十万个评价场景。这并不完全是合理的比较,因为每一个 episode 实际上有 200 个左右的推理过程,但我们不能将单个 episode 内的图象视为独立的验证集。如果没有任何其它 episode 度量,我们只知道工作是否成功,因此 episode 内的所有推理只对二项式估计的单个样本有贡献。我们必须根据数万个 episode 而不是图片来估计成功率。当然,我们可以尝试应用其他策略评价方法,但这些算法还不够可靠,无法开箱即用。接下来阶段,我们对真实机器人从事现场评价。在现实世界中每一个 episode 约莫须要 30 秒的时间从事评价,如果一个由 10 名操作员组成的团队从事评价,每一个操作员每天可以完成 300 个 episode,那么每天可以从事约莫 3000 次评价。如果评价模型须要一整天的时间,这会对工作效率造成很大的限制,因为这样每天只能尝试一种想法。所以我们不能再研讨那些将性能逐步提高 0.1% 的小想法,或者非常极端的想法。我们必须想办法在性能上实现大飞跃。虽然这看起来不错,但在实践中很难做到。当考虑从事机器人进修迭代过程时,很容易让评价试验的数量远远超过你的训练数据!几个月的不间断评价产生了约数万个 episode,这已经超过了大多数机器人深度进修演示数据集。
几年前,研讨职员仍在解决类似让机械臂开门的成绩,但这些策略不能从事很好的泛化。研讨职员通常按照 10 个 episode 左右的顺序从事评价。但 10-50 次试验实际上不足以保证统计鲁棒性。为了取得好的效果,实际可能要从事超过 1000 次试验以从事最终评价。但当进一步扩展试验时会发生什么呢?假如我们最终须要训练具有 O(100,000)种行为、极其通用的机器人系统,我们须要多少次试验来评价这样的通用系统?这里的评价成本变得极其高昂。这里再强调一次:数据是足够的,评价存在瓶颈!
如何加速评价?下面介绍关于如何加快通用机器人系统评价的想法。方法之一是分别对泛化成绩和机器人从事研讨。其实深度进修社区已经做到了这一点。大多数计算机视觉和天生建模研讨职员并不直接在实际机器人上尝试他们的想法,而是期盼一旦他们的模型获得强大的泛化能力,那么它将快速地迁移到机器人上。在计算机视觉畛域开发的 ResNets 极大地简化了许多机器人视觉运动建模选择。想象一下,如果一名研讨职员每次想尝试不同的神经网络架构时都必须在真实的机器人上尝试他们的想法!另一个成功案例是 CLIPort,它将图象 – 文本模型强大的多模式泛化能力与用于抓取规划的基本几何推理解耦。我们可以进一步将 RL 的技术堆栈分为「模拟玩具环境」、「模拟机器人」和「真实机器人」三层(按评价难度的增加顺序排列)。
在金字塔的底层,是一般的基准,比如 Kaggle 竞赛的基准。往上走,是一组「玩具控制成绩」,以「裸机」的方式研讨成绩,只有模拟器和神经网络运行,所有与真实世界机器人相关的代码,如电池管理等都不存在。沿着金字塔再向上走,就来到更特定畛域,与你试图解决的成绩更相关。例如「模拟机器人」和「真实机器人」可能用于相同的工作,并重用相同的底层机器人代码。模拟玩具环境可用于研讨一般算法,但与最终机器人畛域重叠的较少。在「评价金字塔」的顶部,是我们试图解决的真实机器人工作。直接迭代这个过程非常慢,因此我们都希望在这里花费尽可能少的时间。我们希望,在较低层次上训练和评价的基础模型能够帮助了解哪些想法有效,而不必在顶层从事每一次评价。同样,该畛域已经以这种解藕的方式运作。大多数有兴趣为机器人做出贡献的人不一定会操控机器人。他们可能会训练最终可能对机器人有用的视觉表示和架构。当然,去耦合的缺点是感知基准的改进并不总是对应于机器人能力的改进。例如正在改进语义分割或视频分类准确性的 mAP 指标,甚至是无损压缩基准(理论上最终应该有所贡献),我们不知道表示目标的改进在实际上如何与下游工作的改进产生映射。所以最终必须在端到端系统上从事尝试,以了解真正的瓶颈在哪里。Google 曾发表过一篇很酷的论文《Challenging Common Assumptions in Unsupervised Learning of Disentangled Representations》,他们证明了许多完全无监督的表示进修方法不会在下游工作中带来显著的性能改进,除非我们正在执行评价和选择模型应用的是自己关心的最终下游标准。
论文地址:https://arxiv.org/pdf/1811.12359.pdf另一种降低评价成本的方法是确保数据收集和评价过程一致。我们可以同时收集评价数据和专家操作数据。我们可以通过一定的干预来收集 HG-dagger 数据,这样就可以收集有用的训练数据。同时,每一个 episode 的平均干预次数大致可以告诉我们该策略是否够好。我们还可以观察标量指标,而不是二项式指标,因为这些指标的每一个 episode 产生的信息比单次成功 / 失败更多。应用 RL 算法从事自主数据收集是将评价和数据收集相结合的另一种方法,但该方法须要我们对 episode 从事人工评分,或者应用精心设计的奖励函数。所有这些方法都须要在现实世界中部署大量机器人,这仍然会陷入在现实世界中不断迭代的泥潭。让评价算法更快的方法是改进 sim-to-real 的迁移算法。我们可以并行模拟许多机器人,这样就不会再受约束。Mohi Khansari、Daniel Ho 和 Yuqing Du 等人开发了一种被称为「工作一致性损失(Task Consistency Loss)」的技术,该技术将来自 sim 和 real 的表示正则化为不变量,因此策略在 sim 和 real 下的行为应该类似的。当我们将 sim 中评价的策略迁移到 real 时,我们希望确保 sim 中的较高性能指标也确实对应于 real 中的较高性能指标。sim2real 差距越小,就越可信任模拟实验中的指标。表达性让我们看看现代天生模型可以输出多少位。每通道 8 位的 64x64x3 RGB 图象为 36864bits。语言模型可以天生任意数量的 tokens,但如果我们将输出窗口固定为 2048 个 tokens,每一个 token 有 17bits,总共 36793bits。因此,图象和文本天生模型都可以合成约莫 37kbits。随着模型的表现力越来越强,人们对这些模型的感知会发生质的飞跃。甚至有人开始认为语言模型是部分有意识的,因为它们的表达能力太强大!
相比之下,当下机器人的表达性如何?这里我们设计一个简化现实世界的环境,桌上有 6 个物品,机器人的工作是必须将一个物品移动到另一个物品的顶部或运送某几个物品,总共 100 个工作。log2(100)约莫是 7 个 bits,也就是说“给定世界的状态,机器人能够将原子移动到 N 个状态中的一个,其中 N 可以用 7bits 来描述”。谷歌的 SayCan 算法可以用一个神经网络完成约莫 550 个操作工作,这在当前的机器人深度进修标准中是相当令人印象深刻的,总共只有约莫 10 个 bits。这种比较并不是完美合理的,因为信息的定义在两者之间是不同的,这里只是提供一个粗略的直觉,当人们衡量一组工作与另一组工作的相对复杂性时,须要弄明白什么是重要的。我们遇到的挑战之一是机器人的功能仍然有限。如果你看一下 Ego4D 数据集,很多工作都须要双手操作,但现在大多数机器人仍然应用带轮底座、单臂的移动机械手。他们无法移动不能去任何地方,显然我们拥有的只是「机械臂」,这排除了很多有趣的工作。
我们须要研讨更具表达性的机器人,但是机器人进修算法的表现力是受硬件限制的。下面是机器人开门、打包行李箱、拉上拉链、给植物浇水以及翻转水瓶瓶盖的画面。随着机器人硬件越来越接近真实的人类,在以人类为中心的世界里,你可以做的事情的数量呈指数级增长。
随着机器人变得更具表达性,我们不仅须要互联网规模的训练数据,还须要互联网规模的评价过程。如果你看一下大型语言模型 (LLMs) 的发达,现在有很多论文研讨调优以及现有模型可以做什么和不能做什么。比如,BigBench 的基准编译了一系列工作,并询问我们可以从这些模型中获得什么。OpenAI 面向互联网用户评价他们的 DALLE-2 和 GPT-3 模型。他们的工程和产品团队可以从用户参与的人工智能试验中进修,因为任何一位研讨职员都很难掌握 LLMs 模型的细节。最后向读者提个成绩,机器人畛域中与 GPT-3 或 DALLE-2 API 等价的技术是什么?通过这个等价技术,互联网社区的研讨职员可以对机器人研讨从事质疑、并了解它到底可以做什么吗?最后用表格总结优化、评价和表达性之间的比较:
原文链接:https://evjang.com/2022/07/23/robotics-generative.html
原创文章,作者:机器之心,如若转载,请注明出处:https://www.iaiol.com/news/26440