特约文章丨无任务学习及在机器人任务和运动规划中的应用

时间: 2024-04-16 10:05:10
作者: 植绒类

  本文提出了无任务学习的方法,阐述了其与现有方法(包括自监督学习、迁移学习、模仿学习、强化学习)的区别与联系;然后,介绍了无任务学习在机器人任务和运动规划领域的应用,并分析了无任务学习在该领域的优势和主要研究难点。最后,对无任务学习在机器人领域的发展,以及在生产生活中的应用前景进行了展望。

  1961 年,第一台工业机器人 Unimate 出现在通用汽车的产线上,自此,机器人在工业生产领域蒸蒸日上。相比之下,家用机器人的发展却不尽如人意,1921 年的舞台剧中为罗素姆服务的万能机器人,在 100 年后的今天仍未能实现。相比工业机器人,家用机器人需要更强的智能,相关研究也面临更多的困难,例如意图识别、工具的使用和构造、面向任务的物体替换、用户个性化定制等。近年来,智能决策、大语言模型等人工智能技术快速的提升,使得实现拥有类人智能的机器人慢慢的变成为可能。

  目前,用于机器人智能决策的方法,主要可大致分为强化学习和模仿学习两类。强化学习方法需要设置任务相关的奖励函数,以此引导智能体学习怎么样达成目标。相比之下,模仿学习让智能体从预先收集的专家数据中学习知识,模仿专家的行为(行为克隆),或根据专家行为来学习一个合理的奖励函数(逆强化学习)。然而,这两种方法仍存在一些缺点,如设置任务相关的奖励函数通常使得模型泛化性能较差,收集专家数据成本比较高。为此,我们提出一种新的学习方法,称为无任务学习(taskagnostic learning)。

  无任务学习的提出,主要基于人类所学知识的碎片性和无目的性。知识的碎片性表现在完成具体任务所需的知识,通常不是连贯且完整学习的。一次性学习任务相关的所有知识后再去达成目标,在生活中并不常见,而是在生活中不间断地积累,在面向具体任务时筛选整合碎片化知识来达成目标(可能还需要学习部分任务相关的新知识)。例如,我们很早以前就知道怎么打开一扇门和如何摆放一个杯子,那么对于把盘子放进冰箱的任务,只需要迁移并合并这些碎片知识就可以了。而无目的性则表现在很多知识的获取并没有具体目标,反而更倾向于在环境探索过程中的偶然性。例如,我们得知新买的杯子有点重,或者某个书签有点割手,这些知识在面向具体任务时会突然变得很有用,比如可能突然想起来某个杯子可拿来压住纸条以免它被风吹走,又或是意识到某个割手的书签用来拆快递也许很合适。受到上述现象的启发,我们提出无任务学习。另外,相比任务不敏感学习一类的称呼,我们更倾向于称为无任务学习,因为在知识的学习过程中,可能并无目的 / 任务。

  在本文以下的内容中,首先给出无任务学习的定义,以及与现有方法的区别与联系;其次,介绍一种基于无任务学习的机器人任务和运动规划方法,并讨论在该研究领域中无任务学习的优势与难点;最后展望无任务学习的发展和应用前景。

  如果一个学习方法的训练数据完全是由与最终目标任务不直接相关的方法来收集的,且在解决最终任务时无需重复训练模型,我们将这种学习方式称为无任务学习。同时,默认训练数据中包含能够解决最终任务的碎片化知识。具体到机器人相关的研究领域,如果环境探索方法与最终任务不直接相关,例如完全随机的环境探索、新奇性引导的环境探索等,我们称利用此类探索数据来引导智能体学习知识的方法为基于无任务学习的智能决策方法。

  自监督学习(self-supervised learning)通常用于特征提取模型的预训练,通过自行设置数据标签(即监督信号)来完成自监督学习。例如,用掩码覆盖图像部分区域训练模型恢复图像,或者将图像切块打乱后训练模型正确排列图像块等。这种方法更侧重于使模型能够更好地提取特征,可当作辅助任务来提升模型性能,或作为预训练模型并针对下游任务微调以提升性能。相比之下,无任务学习更侧重约束训练数据与测试任务的关系,而不强调训练数据的监督信号是怎么样产生的,可以是由历史任务有关信息来设置,也能够最终靠自监督方法设置。

  迁移学习(transfer learning)通过将源域学习到的知识迁移到目标域中,以减少模型对新任务(即目标域)的数据需求,并使模型在目标域任务上获得更好的性能。这通常要求源域与目标域存在较强的关联关系或相似性。这与无任务学习存在一定的相似性,即需要源域 / 训练数据中存在能够解决目标域 / 目标任务的知识。但无任务学习更强调知识的碎片性,即整体训练数据中的任务可能与目标任务存在较大差别。

  强 化 学 习(reinforcement learning,RL)通过设置奖励函数来引导智能体探索环境和学习怎么样解决任务,近年来在很多领域取得了巨大成功,如AlphaGo。然而,设置任务相关的奖励函数,常常要任务相关的专业相关知识,并且使得智能体泛化性能不佳。一个与无任务学习较为相关的分支是目标导向的强化学习,相比传统强化学习,额外增加目标作为输入,使得智能体能完成多任务,然而它仍然需要设置目标相关的奖励函数。此外,近年来有很多学者提出自监督强化学习,然而这一些方法通常是采用自监督方法来提取状态特征,或将其与奖励函数的设置相结合,完全摒弃任务相关的奖励函数,目前仍是十分困难的,使其与无任务学习存在根本差别。

  模仿学习(imitation learning,IL)需要收集大量专家数据用于智能体训练。智能体可以监督学习的方式训练智能体模仿专家行为(行为克隆),或者从专家演示中学习一个良好的奖励函数(逆强化学习)。此外,还有很多工作将其与生成对抗的思想相结合(生成对抗模仿学习)。然而,专家数据通常是对具体任务的演示,这与无任务学习对训练数据的要求是完全不同的。目前,有部分工作利用与目标任务不直接相关的数据来辅助强化学习和模仿学习来训练智能体,但仍将该类数据作为次要辅助。

  本小节主要介绍基于无任务学习的机器人任务和运动规划方法,其主要框架如图 1 所示。

  planning,TAMP),即通过三维重建和场景信息估计等技术将真实场景信息在虚拟场景(即物理模拟器)中重建,在虚拟场景中完成决策后,在真实场景中执行被选择的动作。为完成 Real2Sim 的转换,采用基于深度图的三维重建方法,而物体属性(大小、材质等)则通过相关的人工智能方法估测。常用机器人和由于构建虚拟场景的物理模拟器,如图 2 所示。

  为了使智能体理解不同动作在环境中与物体交互产生的效果(action effect)、直观物理(intuitive physics)等信息,需要在环境中执行不同的动作来收集数据,以便于后期智能体学习。环境探索方法采用与任务目标不直接相关的方式来进行,以模拟人在日常生活中与环境的交互方式。探索方法可采用随机探索、新奇性引导的环境探索或者其他与任务不直接相关的内在奖励(intrinsic reward)驱动的探索方法。数据保存为 […, 状态 i,动作 i,状态 i+1,…],包含用于解决下游任务的碎片化知识。对于机器人动作执行,我们默认采用机器人运动学和动力学(kinematics and dynamics)解决有关问题,并且不对操控方法做额外要求(采用运动控制、力控制或混合控制等方式,与具体问题相关)。

  对物体属性和功能的学习、对客观规律的总结抽象、对动作执行结果预判等能力是人类智能的核心,也是人工智能要解决的核心问题。知识可以分类为低层知识和高层知识,其中低层知识与具体环境相关,主要涉及场景理解(scene understanding)等研究领域,即在当前环境中,机器人采用不一样动作与物体交互时产生的结果;高层知识仅与物体类别等属性相关,主要涉及物体功能学习(functional and affordance reasoning)、工具的使用(tool use)、物理规律(physics/ intuitive physics)、因果推理(causality)等研究领域。针对低层知识的学习,我们将当前场景中物体信息直接作为神经网络模型的输入,而针对高层知识,能提取物体类别、形状、材质等信息作为神经网络模型的输入。

  与动作执行效果相关的知识对于后续任务和运动规划是十分必要的,为学习此类知识,一个简单的方法是将任务执行前后的物体状态与相应的动作输入神经网络中,将提取的特征信息作为对应动作执行效果。为了使提取到的动作效果特征更准确,可能还需要额外的约束,例如,相同动作对应特征尽可能相似。在某些情况下,动作效果特征与物体特征的结合,可作为碎片知识,能够最终靠组合来完成具体任务。当然,碎片知识的表示也能够使用其他知识表示方式。

  任务和运动规划中,任务规划将一个目标任务分解为多个子任务,这与人类不断将复杂问题简化为多个简单子问题来解决的情况相似;而运动规划则解决机器人实际运动时从一个开始状态到终止状态的问题,需要满足无碰撞、符合具体机器人关节力矩和位姿限制等约束条件。由于任务规划只关注离散的任务空间,且通常不考虑现实环境和机器人硬件实现,因此有几率存在子任务难以完成的情况。为此,近年来很多学者将两者相结合,利用一个规划器来同时考虑任务和运动规划两部分。

  为了将无任务学习应用于任务和运动规划问题,一种任务分解方法是将当前环境状态和具体任务信息作为神经网络输入,将模型输出作为子任务,同时,约束子任务特征可以由某些碎片知识合成。通过子任务特征和已学习的碎片知识特征,筛选合适的碎片知识用于达成目标。而针对机器人运动规划问题,可通过已保存的探索数据来训练神经网络模型解决,类似目标导向的强化学习方法,或采用其他传统方法,如网格方法(grid methods)、虚拟势场(virtual potential fields)等。

  我们采用真实场景 - 虚拟场景 - 真实场景的框架来模拟人类思考方式,即大脑通过视觉等信息对真实场景进行重建,在大脑中思考并模拟动作结果后,最终选择正真适合的动作在真实场景中执行来达成目标。对应的,首先利用深度摄像机获取的深度图像在虚拟环境中对真实场景重建;然后在虚拟场景中进行思考(规划);最后将思考结果(动作)在真实场景中执行以获得新的环境状态,迭代思考和执行直到任务完成。由于思考(规划)在虚拟环境中进行,可生成多个思路(即动作序列),筛选最优解在真实环境中执行,这与蒙特卡洛树搜索相似,但其模拟部分不是直接计算(例如围棋等,可根据当前棋盘状态和动作,直接计算下一个棋盘状态)或由神经网络模型估测,而是采用虚拟环境(物理模拟器)模拟计算的。

  采用无任务学习极大地降低了相关人工智能方法的数据需求,并促进了类人智能机器人的实现。在数据方面,由于无任务学习仅需要与任务不直接相关的探索数据,使得无需收集专家数据或设计可能需要较强领域经验的奖励函数,极大地降低了数据成本。此外,由于与任务不直接相关的探索数据更容易获取,使得智能体能够得到更大规模的训练数据。无任务学习的一个难点是碎片化知识的学习和表示方法,以及面向具体任务时,碎片化知识的检索和拼接。由于绝对没专家数据或奖励信息引导,使得碎片化知识的表示在面向不同环境和任务时,难以取得良好的泛化效果。一个可能的解决办法是将无任务学习与模仿学习相结合,通过少量的专家数据引导碎片化知识的提取和拼接,这种取长补短式的组合可能是更为合理的,类似人类的知识学习过程,一部分来自自身的探索和思考,另一部分来自父母师长的言传身教。

  下面介绍几个可能与无任务学习相结合的研究领域,同时也对应智能机器人的几个亟待解决的问题。

  相比于机器人与物体直接交互,工具使得机器人与物体间接交互。合适的工具可以使任务更容易完成,例如,使用箱子可以一次搬运多个物体。然而,在生活中,工具的使用和构造对于机器人通常是较为困难的问题。

  对于工具的使用,一方面,相同工具在不同任务中的使用方法不同。例如,直接用向下的力能够适用于切断偏向刚体的物体,但为了切断可变形物体,额外施加前后的力来“锯”也是必不可少的。另一方面,相同工具在同一任务的不同阶段有几率存在不同的使用方式。例如,在墙上钉钉子时,初始时可能采用靠前的握持位置和较小的挥动幅度,以将钉子初步固定,在后期采用更靠后的握持位置和更大的挥动幅度,以此用更大的力使钉子没入墙壁。

  对于工具的构造,一方面,物体的某一属性可以使得物体可成为工具。例如,将书本的一个平面当作托盘。另一方面,面向具体任务时,依据单一属性构造的工具可能并不能够满足任务需求。例如,书本可当作托盘用于运输水果,但用于运输盛满水的茶杯可能并不是好的选择。

  智能机器人面临的另一个较大的难题是面向任务的物体替换,这主要是由于训练数据中难以覆盖千变万化的工作环境。智能体规划结果中涉及的物体在实际在做的工作环境中可能并不存在,这是非常有可能发生的问题。然而怎么样判定物体间相似性,并以此选择替换物品是较为困难的问题。这与当前人工智能中一般会用外形特征判定相似性不同,通常还与具体任务相关,并且需要满足一些约定俗成的习惯。例如,在厨房里,有时候盐和酱油可以互相替换,有时候酱油又和醋相互替换;但是,即便冰糖和水果糖再相似,后者也很少出现在厨房里作为前者的替代品。

  用户的个性化定制,可视为智能体对用户偏好的自适应。在今天,大部分应用都包含用户个性化推荐的功能,对于直接用于使用户得到满足需求的智能机器人,智能体决策中考虑到用户偏好,以提升使用者真实的体验,也是必然的发展趋势。然而,个体的偏好通常是较难学习的。一个原因是人类对于偏好的表达较为复杂,多次的物体交互并不直接表示对于该物体的喜好,还与交互类型和交互意图相关。例如,某本书通常用来垫桌角或当桌垫,尽管多次交互,但偏好仍然是负向的,这使得智能体做出将这本书放在书架上,或者用其他的书来作为桌垫都是错误的行为,但相同作者的其他书被同样对待也许是正确的。

  由于无任务学习降低了智能体对数据的要求,结合真实场景 - 虚拟场景 - 真实场景框架,可通过探索数据在虚拟场景中高效学习,并在真实场景中验证,利用反馈信息逐步调整,以实现已学习知识与具体工作环境的适配。在生产方面,可以替代人在危险作业区域作业,如煤矿、野外等;在生活方面,可用于家用机器人对居家环境的探索和物体属性的学习,以便于知识迁移完成具体任务。

  本文提出了无任务学习方法,介绍了无任务学习的定义以及与现有方法的区别与联系,并介绍了其在机器人任务和运动规划中的应用,最后,展望了未来可能的发展趋势和实际应用前景。期待智能机器人的逐步发展,早日便捷人们的生活。

  哈尔滨工业大学教授,国家级高层次人才。主要研究方向为视频编解码、计算机视觉、机器人。