机器人落地「秘诀」:持续学习、知识迁移和自主参与

机器人落地「秘诀」:持续学习、知识迁移和自主参与
文章图片
亚马逊机器人实验室的三位顶级科学家 , 在ICRA会议上探讨了机器人的现有挑战 。 编译|刘冰一编辑|陈彩娴
2022年5月23日 , 一年一度的机器人技术领域的顶级国际会议ICRA2022(IEEEInternationalConferenceonRoboticsandAutomation)在美国费城如期举行 。 这是ICRA举办的第39个年头 。 ICRA是IEEE机器人和自动化学会的旗舰会议 , 也是机器人研究者展示和讨论他们工作的主要国际论坛 。 在今年的ICRA上 , 亚马逊的三位首席机器人专家 , SiddSrinivasa、TyeBrady和PhilippMichel简单讨论了在现实世界中构建人机互动的机器人系统所面临的挑战 。 机器人落地「秘诀」:持续学习、知识迁移和自主参与
文章图片
图注:从左到右为亚马逊机器人人工智能主管SiddSrinivasa , 亚马逊机器人公司(全球)首席技术专家TyeBrady , 以及亚马逊Scout应用科学高级经理PhilippMichelSiddSrinivasa是全球知名的机器人专家 , IEEEFellow , 现任华盛顿大学波音特聘教授 , 同时是Amazon机器人人工智能项目的负责人 , 负责管理协助Amazon物流中心员工的自主机器人的算法 , 研究可以收拾和包装产品的机器人和可自主搬卸和运输货物的推车式机器人 。 TyeBrady是亚马逊机器人公司(全球)首席技术专家 , MIT航空航天工程硕士背景 。 而PhilippMichel与SiddSrinivasa同为CMU机器人研究所的博士校友 , 是亚马逊Scout机器人项目的高级经理 。 在探讨解决机器人落地挑战的问题上 , 他们提出了自己的看法 。 AI科技评论作了不改原意的整理 , 如下:Q:你们在机器人领域的研究分别解决不同的问题 , 这些问题之间有什么相同点?SiddSrinivasa:机器人研究的一个重要难点是:我们生活在一个开放的世界中 。 我们甚至不知道即将面对的「输入」是什么 。 在我们的营运中心 , 我需要操控超过2000万件物品 , 而且这些物品还以每天成千上百件的数量在增加 。 大部分时候 , 我们的机器人并不清楚它们所拾起的物品是什么 , 但它们需要小心地拾起物品 , 并在不损坏物品的前提下将物品进行快速包装 。 PhilippMichel:对于Scout来说 , 难点是在人行道上遇到的物体 , 以及运送的环境 。 我们在美国四个州都部署了私人送货设备 。 天气状况、光照条件……我们从一开始就明确要处理大量的变量 , 使机器人能够适应复杂的环境 。 TyeBrady:在开发执行机器人的过程中 , 我们有一个显著的优势 , 就是在半结构化的环境中展开运营 。 我们可以自行制定机器人的交通规则 , 了解环境真的有助于我们的科学家和工程师深入理解我们要移动、操作、分类和识别的物体 , 完成订单 。 也就是说 , 我们可以在真实世界中实现对技术的追求 。 PhilippMichel:还有另一个共同点 , 就是我们非常依赖从数据中学习 , 以解决问题 。 Scout会在执行任务的过程中接收真实世界的数据 , 然后不断迭代开发用于感知、定位和导航的机器学习解决方案 。 SiddSrinivasa:我完全同意(从数据中学习解决问题) 。 我认为机器学习和自适应控制是超线性规模拓展的关键 。 如果我们部署了成千上万的机器人 , 我们不可能有成千上万的科学家和工程师来研究它们 , 我们需要依赖真实世界的数据 , 实现超线性地增长 。 另外 , 我认为开放的世界会迫使我们思考怎样「持续学习」 。 我们的机器学习模型往往是基于一些输入数据分布来训练的 , 但因为这是一个开放的世界 , 会遇到「协变量转移」(covariateshift)的问题 , 也就是看到的数据与分布不匹配 , 这会导致机器学习模型常常没来由地过于自信 。 因此 , 我们所做的大量工作就是创建一个「watchdogs」(看门狗 , 一种监督设备) , 用来识别输入数据分布何时偏离了它所受训的分布 。 然后 , 我们再进行「重要性抽样」(importancesampling) , 这样我们就可以挑选出已经改变的数据 , 重新训练机器学习模型 。 PhilippMichel:这也是为什么我们想要在不同的地方训练机器人的原因之一 , 这样我们就可以尽早知道机器人可能遇到的现实数据 , 反过来迫使我们开发能够解决新数据的方案 。 SiddSrinivasa:这的确是个好主意 。 拥有多机器人的优点之一就是系统能够识别出变化的内容 , 重新进行训练 , 然后将这些知识分享给其他机器人 。 想到一个分拣机器人的故事:在世界的某个角落 , 一个机器人遇到一个新的包装类型 。 一开始 , 它很困扰 , 因为它从来没有见过这种情况 , 也无法识别出来 。 后来出现了一个新的解决方案:这只机器人可以将新的包装类型传输给世界上所有机器人 。 如此一来 , 当这种新包装类型出现在其他地方 , 其余机器人就知晓如何处理了 。 相当于有了一个「备份」 , 新的数据出现在一个点 , 其他点都会知道 , 因为系统已经能够重新自我训练、并分享信息了 。 PhilippMichel:我们的机器人也在做类似的事情 。 如果我们的机器人遇到之前没有遇到过的新障碍 , 我们会尝试调整模型来识别与处理这些障碍 , 随后将新的模型部署到所有的机器人上 。 让我夜不能寐的一件事情是 , 我们的机器人会在人行道上遇到新的物体 , 但这些物体在接下来的三年都不会再遇到 , 例如:人们在万圣节上用来装饰草坪的滴水兽 , 或者人们在野餐的桌子上放一把伞、使桌子看起来不像「野餐桌」 。 对于这种情况 , 所有的机器学习算法都无法识别出这是一张野餐桌 。 因此 , 我们的部分研究还是关于如何平衡无需纠结的普通事物与具体类别的事物 。 如果这是一个敞开的井盖口 , 那么机器人一定要善于识别 , 不然它会掉下去 。 但如果它只是一个随机的盒子 , 我们可能就不需要知道这个盒子的层次结构 , 只需要知道这是我们要绕过去的物体即可 。 SiddSrinivasa:另一个挑战是 , 当你改变你的模型时 , 可能会出现意想不到的后果 。 改变后的模型也许不会影响机器人的感知 , 但可能会改变机器人「刹车」方式 , 导致两个月后滚珠轴承磨损 。 在端到端的系统中 , 未来许多有趣的研究都是关于“理解系统部分更改对整个系统性能的影响” 。 PhilippMichel:我们花了很多时间思考是否应该划分机器人堆栈的不同部分 。 在他们之间做整合能够带来很多好处 , 但也是有限的 。 一个极端情况是摄像头到电机到扭矩的学习 , 这在任何现实世界的机器人应用中都是非常具有挑战性的 。 还有就是传统的机器人堆栈 , 它被很好地分成了定位、感知、规划和控制等部分 。 我们还花了很多时间思考堆栈应该如何随着时间的推移而发展 , 把这些部分更紧密地结合在一起时性能有什么提升?同时 , 我们希望有一个系统尽可能地保持可解释性 。 我们试图最大化利用整个堆栈的学习组件集成 , 同时保留可解释性和安全功能的数量 。 SiddSrinivasa:这个观点很赞 , 我完全同意Philipp的观点 , 用一个模型来统治所有模型未必是正确的 。 但通常 , 我们最终建立的机器学习模型共享一个主干 , 有多个应用的头 。 一个物体是什么 , 分割一个物体意味着什么?可能类似于挑选、堆放或者包装 , 但是每一个都需要专门的头 , 搭载在专门任务的主干上 。 PhilippMichel:我们考虑的一些因素是电池、行程、温度、空间和计算限制 。 因此 , 我们需要高效使用我们的模型、优化模型、并尝试尽可能多地利用共享主干 , 就像Sidd提到的 , 不同的头用于不同的任务 。