雷锋网 AI 科技评论按:机器人如何能够学到在多样且复杂的真实世界物体和环境中能够广泛使用的技能呢?如果机器人是设计用来在可控环境下进行高效的重复工作,那么这个任务就相对来说更加简单,比如设计一个在流水线上组装产品的机器人。但要是想要设计能够观察周围环境,根据环境决定最优的行动,同时还能够对不可预知的环境做出反应的机器人,那难度就
会指数级的增长。目前,有两个有力的工具能够帮助机器人从试验中学习到这些技能,一个是深度学习,一个是强化学习。深度学习非常适合解决非结构化的真实世界场景,而强化学习能够实现较长期的推理(longer-term reasoning),同时能够在一系列决策时做出更好更鲁棒的决策。将这两个工具结合到一起,就有可能能够让机器人从自身经验中不断学习,使得机器人能够通过数据,而不是人工手动定义的方法来掌握运动感知的技能。
为机器人设计强化学习算法主要有几个挑战:首先真实世界中的物体通常有多样的视觉和物理特征,接触力(触觉)的细微差异可能导致物体的运动难以预测。于此同时机械臂可能会遮挡住视线而导致难以通过视觉识别的方法预测物体运动。此外,机器人传感器本身充满噪声,这也增加了算法的复杂性。所有这些因素结合到一起,使得设计一个能够学习到通用解决方案的算法变得异常困难,除非训练数据足够丰富,有足够多的不同种类的数据,但是这也使得构建数据集的时间成本变得很高。这些难点也激励着研究者探索能够复用过去经验的学习算法,比如之前 Google 设计的抓取学习算法,就能够从大型数据集中获益。但是该工作存在一个问题,就是机器无法推断出其行动的长期后果,而这这长期的推理对于学习如何抓取物体是非常重要的。比如,如果多个物体聚集在一起,先将它们中的一个分离出来(称作「单一化」),在进行抓取时会变得更加容易,但「单一化」这一步骤并不能直接导致抓取成功,而是有一个较为长期的成功率的提升。
为了提高效率,使用离线策略强化学习(off-policy reinforcement learning)是必须的,即能够从之前几小时,几天或者几周的数据中学习。为了设计一个这样的能够从之前的交互中获得大量不同经验的离线策略强化学习算法,谷歌的研究人员将大规模分布式优化与一个新型拟合深度Q学习(new fitted deep Q-learning algorithm)算法相结合,名为 QT-Opt 。该论文目前可以在 arXiv上 查看。
QT-Opt是一种分布式 Q 学习算法,支持连续行动空间,非常适合于机器人问题。为了使用 QT-Opt,研究人员首先使用之前收集的数据完全离线地训练了一个模型。这个过程并不需要运行实际的机器人,这点使得该算法更容易分布式的训练。之后,将该模型部署到真正的机器人上进行 finetune,这个阶段则使用全新的数据进行训练。在运行 QT-Opt 算法时,同时也在积累更多的离线数据,使得模型能够训练得更好,于是也能够得到更好的数据,这样就形成了一个正反馈循环。
为了将该方法应用到机器人抓取任务上,谷歌的研究人员们使用了 7 个真实的机器人,在四个月的时间里,运行了超过 800 个机器人小时。为了引导数据收集过程,研究人员开始时手动设计了一个抓取策略,大概有 15%-30% 的概率能够成功完成抓取任务。当算法学习到的模型的性能比手动设计的策略更好时,就将机器人的抓取策略换成该学习到的模型。该策略使用相机拍摄图像,之后返回机械臂和抓取器应该如何运动的数据。整个离线训练数据包含超过 1000 种不同物体的抓取数据。
过去的研究表明,跨机器人的经验分享能够加速学习过程。研究人员将训练和数据收集的过程扩展到十块GPU,七个机器人和许多 CPU 上面,这最终收集并处理了一个超过 580,000 次抓取尝试的大型数据集。在最后,研究人员成功训练了一个能够在真实机器人上运行的抓取策略,它能够泛化到不同种类的物体的抓取上,即使这些物体并没有在训练时遇到过。
(雷锋网 AI 科技评论往期报道中,谷歌 AI 负责人 Jeff Dean 曾经谈到过他们用大量机械臂组成了一个「机械臂农场」,专门以大规模训练的方式解决机器人问题。这也就是一个例子)
从定量的角度分析,QT-Opt 方法在训练集没有遇到过的物体的 700 次抓取尝试中,有 96% 的成功率。与之前的基于监督学习的抓取方法(成功率78%)相比,该方法将错误率降低了五倍以上。
值得注意的是,该抓取策略具有标准机器人抓取系统中不常见的各种闭环反应行为:
面对一组无法一起拾取的互锁在一起的物体时,该策略会在拾取之前将其中一块与其他块分开。
当抓住互相缠绕的杂乱物体时,该抓取策略会先探测不同的物体,直到手指牢牢握住其中一个,然后才抬起手臂
在机器人抓取到一个物体后,如果人故意将物体从夹具中拍打出来以扰乱机器人(训练时并没有这种场景),它会自动重新定位夹具,并进行另一次尝试。
最重要的是,这些行为都不是手动设计的,它们都是通过 QT-Opt 进行自监督训练而自动学习到的,因为这些行为能够从长期的角度提高模型抓取的成功率。
此外,研究人员还发现 QT-Opt 使用较少的数据就达到了更高的成功率,尽管可能需要更长时间才能收敛。这点对于机器人来说尤其令人兴奋,因为训练的瓶颈通常是如何收集到众多真实的机器人数据,而不是训练时间。将该方法与其他提高数据效率的技术相结合,可能会在机器人技术中开辟一些新的有趣的方向。谷歌的研究人员也正在将 QT-Opt 与最近的学习如何进行自校准(self-calibra)的工作相结合,想要进一步提高模型的泛化能力。
总体而言,QT-Opt 算法是一种通用的强化学习方法,可以为真实世界的机器人提供良好的性能。除了奖励函数的定义之外,QT-Opt 的任何内容都没有针对于机器人抓取做任何设计。这是迈向更通用的机器人学习算法的重要一步,并且也更期待该算法能够应用到什么其他的机器人任务中。
Via Google Bolg,雷锋网 AI 科技评论编译