1 研究现状
当前, 强化学习(reinforcement learning, RL)[1]方法在一系列复杂决策问题上取得了巨大成功, 如棋牌[2−4]和实时战略类游戏[5,6]、推荐系统[7−9]、自动驾驶[10,11]等. 在诸如机器人运动控制[12,13]、机器人操控[14−17]、运动导航[18−21]和机器人足球[22,23]等任务上, 强化学习也取得了令人瞩目的进展. 为了得到有效机器人控制策略, 强化学习依赖大量交互样本进行训练, 而在真实环境中获取样本具有较高的成本代价与安全风险; 此外, 由于机器人结构复杂且真实世界动态变化, 在机器人控制中运用强化学习依然面临有效性、安全性以及实时性等问题. 为减轻真实样本的需求, 仿真环境被广泛用于机器人策略学习当中. 基于仿真的机器人策略学习有如下优点: (1)廉价性: 仿真环境的物理引擎能够以比实时更快的速度对真实环境进行计算模拟, 以较低成本生成训练样本用于机器人策略学习, 从而提高机器人策略的训练效率. (2)真实性: 仿真环境不但能模拟机器人的完整运动特性, 如关节及关节之间的运动关联等, 还能模拟机器人和环境作用之间的物理属性, 如重力、压力、摩擦力等, 从而为真实世界建立逼真的物理模型. (3)多维性: 在特定的机器人任务中可以利用多个仿真环境对真实世界进行不同粒度建模, 从不同层次反映真实场景的环境属性, 提供与真实世界相关的数据与信息以满足不同的应用需求. (4)安全性: 在仿真环境中的试错行为没有实际风险, 可以重复不断地执行现实世界中耗时且危险的任务.
综上可知, 基于仿真的强化学习在机器人控制中具有一定优势. 为使机器人成功地完成现实世界中的一系列操作, 需要将仿真环境中学习的策略迁移至真实世界中. 然而, 由于仿真环境和真实世界之间存在现实差距(reality gap)[24], 包括在不同平台中机器人动力模型的差异以及环境物理属性的差异(如动作感知延迟、地面状况与大气状况等[25−27]), 即使最高逼真度的仿真环境也难以对真实世界进行完全一致的建模. 因此, 将仿真环境中学到的策略直接迁移到真实机器人上, 效果通常难以达到预期. 为了弥合仿真环境和现实之间的差异, 基于虚实迁移(sim-to-real transfer)[24,28−30]的机器人强化学习方法通过解决仿真环境和真实环境之间的差异性问题, 从而实现学习策略的有效迁移. 近年来, 一系列虚实混合迁移强化学习方法被提出, 包括系统识别[31−33]、域随机化[34−37]、域自适应[38−40]、多保真度学习[41−43]等, 广泛地应用于运动控制、运动操控以及运动导航等机器人任务上, 取得了巨大的成功, 为机器人行为控制策略优化提供了一个现实可行的解决方案.
已有一些工作对现有的机器人虚实迁移学习方法进行了总结. Zhao等人[30]对虚实迁移中基本概念与具体技术进行了简要的介绍. Dimitropoulos等人[29]按照是否需要真实数据将现有虚实迁移方法分类为模拟器方法以及自适应方法, 前者不依赖真实数据, 后者则需要真实数据用于策略迁移. Salvato等人[24]将虚实迁移方法分为3类: 域随机化、对抗强化学习以及迁移学习方法. Zhu等人[28]按照不同的应用目标, 将仿生机器人研究中使用的虚实迁移方法分为4类: 基于精准的模拟器、基于运动学和动力学模型、基于分层与分布式控制器、基于演示的方法. 尽管这些工作对现有的虚实迁移学习研究工作进行了总结, 但缺乏一个通用的框架对现有工作进行全面梳理和分类. 因此, 本文对当前研究进行全面梳理, 从方法执行过程中信息流动和智能化方法作用对象的角度建立一个通用的虚实迁移学习框架, 并基于此框架将当前主要的虚实迁移强化学习方法划分为3类: 基于真实环境的模型优化方法、基于仿真环境的知识迁移方法和基于虚实环境的策略迭代提升方法, 并对相关具体理论和应用进行讨论.
本文第2节介绍强化学习与迁移学习中重要的概念. 第3节深入探讨为了缩小仿真与现实之间的差异所采取的不同方法, 并提出一个通用的虚实迁移学习框架, 对迁移步骤中的数据信息流动和智能化方法作用的对象进行阐述与分析, 并在此基础上对现有方法进行分类, 分析它们的基本差异与优缺点. 第4节对该领域的目前的挑战进行分析, 并对于未来研究进行展望. 最后, 第5节对本文工作进行总结.
2 基础知识
2.1 深度强化学习
强化学习[1]是一种基于环境交互的机器学习范式, 智能体不断与环境进行交互并收集样本, 通过样本学习最优策略以实现累积回报的最大化. 智能体与环境的交互被建模为马尔可夫过程(MDP), 由五元组(S,A,P,R,γ)所定义, 其中S是状态的集合, A是动作的集合, P是状态转移函数/动力学模型P:S×A×S→[0,1], R是奖励函数R:S×A×S→R, γ(0⩽γ⩽1)为折扣因子, 决定未来奖励对总回报G=T∑t=0γtRt的影响. 强化学习算法使用智能体与环境的交互样本, 即由转移元组(st,at,rt,st+1)组成的轨迹样本τ, 对策略π进行优化, 使得总回报期望最大化, 即π=argmaxπEτ∼p(τ|π)[G(τ)].
考虑到在机器人控制等实际问题中, 状态/动作空间通常是连续的且维度较高, 基于表格的方法不能很好地处理这类问题. 此外, 为获得最优控制策略, 通常需要建立一个复杂的非线性映射将状态空间映射到动作空间. 为解决上述问题, 需要将神经网络引入策略与值函数表征中. 深度强化学习(deep reinforcement learning, DRL)[44,45]结合了强化学习以及深度学习, 不仅提供了用于环境交互和策略优化的强化学习范式, 同时具备深度学习赋予的强大的模型学习与信息提取能力. 从策略的表示形式出发, 深度强化学习可以被分为基于值函数的深度强化学习以及基于策略函数的深度强化学习.
基于值函数的深度强化学习利用深度神经网络以及梯度下降方法建立从状态、动作到期望回报的映射函数, 实现值函数的拟合与学习. 其代表工作包括DeepMind提出的深度Q网络算法(deep Q network, DQN)[46], 该工作在利用深度神经网络表示值函数的基础上, 引入经验池回放机制并提出在值函数更新时将原网络与目标网络分离, 提高了样本的利用效率以及训练的稳定性. 在此基础上, 后续提出的一系列深度强化学习方法如double Q-learning[47]和 dueling network[48]针对值函数估计中出现的过估计、值函数分解等问题提出了新的解决方案. 虽然DQN算法在离散动作任务上具有不错的表现, 但较难应用于如机器人控制等具有连续动作空间的任务上.
在基于策略函数的深度强化学习中, 策略被直接表示为状态到动作的映射, 而深度神经网络则被用于学习该映射. 相较基于值函数的深度强化学习, 基于策略函数的深度强化学习可以解决具有连续动作空间的任务且具有更高的训练效率, 但在训练时也更容易陷入局部最优. 其代表工作包括Lillicrap等人提出的深度确定性策略梯度算法(deep deterministic policy gradient, DDPG)[49], 该方法学习确定性策略并且通过加入噪音提高探索能力, 具有较高的训练效率, 被广泛应用于连续动作控制任务中. Schulman 等人提出的近端策略优化算法(proximal policy optimization, PPO)[50]提出了Clip技巧, 通过限制策略的波动提高策略稳定性. 此外, Haarnoja等人提出的柔性执行者-评论者算法(soft actor-critic, SAC)[51]在策略的优化目标中加入了熵正则项, 通过最大化策略的熵提高算法的探索能力. 深度强化学习在诸多领域中都取得了瞩目的成果, 尤其在机器人控制领域, 通过从仿真环境中获取的低成本且数量无限制的样本实现机器人控制策略的高效学习.
2.2 迁移强化学习
在传统机器学习领域中, 迁移学习从不同域之间的数据分布差异出发实现域间的知识迁移. 定义源域为DS, 源域中的学习任务为TS, 目标域为DT, 目标域中的学习任务为TT, 迁移学习是指当DS≠DT, TS≠TT时, 将DS的知识迁移至DT, 从而提高目标域的学习效率. 域可表示为D={χ,P(X)}, 其中χ为特征空间, P(X)为边缘概率分布; 学习任务可表示为T={y,P(Y|X)}, 其中y为标记空间, P(Y|X)为预测函数. 一种经典的迁移场景是在一个分类任务(DT)中缺少标注数据, 而在另一个相似的分类任务(DS)中有足够的标注数据, 但后者的数据可能遵循不同的数据分布(P(XS)≠P(XT))或样本与标注信息间存在不同的关联模式. 在这种情况下, 使用迁移学习完成知识的转移将避免昂贵的数据标记工作, 从而极大地提高学习性能. 传统迁移学习方法可分为4类[52]: 基于实例的迁移学习[53,54]、基于特征的迁移学习[55,56]、基于参数的迁移学习[57,58]和基于关系的迁移学习[59,60]. 基于实例的迁移学习方法适用于源域和目标域相似度较高的情况, 其核心是挑选源域数据的某些部分进行复用, 通过改变样本的存在形式来减少源域和目标域的差异; 基于特征的迁移学习算法可应用在域间相似度不太高的情况, 核心是通过特征变换使源域和目标域在某个特征空间下表现出相似的性质; 基于参数的迁移学习方法从模型的角度出发, 共享源域与目标域模型之间的某些参数以达到迁移学习的效果; 基于关系的迁移学习将数据之间的联系从源域迁移到目标域, 通过将两个域之间的相关性知识建立一个映射来实现迁移学习.
在强化学习领域, 迁移学习具体关注不同域之间状态、动作、奖励等数据分布的关联与差异性问题. 源域与目标域是否具有相同的状态空间S或动作空间A领域将直接影响迁移学习的难度、适用的方法等问题[61,62]. 强化学习问题下迁移学习的目标是从轨迹样本、值函数等构件中提取知识并迁移到目标域, 以提高目标域上策略的性能表现: 令MS表示源域, MT表示目标域, IS∼MS是从源域中获取的外部信息, IT∼MT是从目标域中的内部信息, 迁移学习的最终目标是获得目标域上的最优策略π∗, 即π∗=argmaxπEa∼π[G], 其中π是基于IS与IT学到的从状态到动作的映射. 迁移强化学习中常用方法[62,63]包括奖励函数设计[64,65]、示例学习[66,67]、策略迁移[68,69]、任务间映射[70,71]以及表征迁移[71,72]等. 奖励函数设计类方法指通过源域收集的信息设计合理的奖励函数引导在目标域上的策略学习, 以提高学习效率与策略表现; 示例学习类方法通过人类指导或是专家策略与环境交互产生的示例样本实现知识迁移. 在源域与目标域MDP相同或是非常相似的情况下, 可以通过模仿学习等方法将示例样本用于学习目标域上的最优策略; 策略迁移方法关注如何将在源域上预先训练好的策略迁移到目标域, 通过策略蒸馏、策略复用等方法提取并迁移源域策略中的知识; 任务间映射方法假设源域与目标域的状态、动作、奖励函数等构成之间存在某种映射关系, 通过手工或学习方法求解该映射关系实现迁移学习; 表征学习方法迁移的对象是从源域中学到的特征表示, 从价值函数、策略网络等部件中提取特征, 然后直接或是进一步解构后迁移到目标域.
2.3 仿真环境
机器人迁移强化学习对仿真环境的逼真度与采样效率提出了较高要求, 仿真环境的选择将对最终的迁移效果产生重要影响. 表1列举了当前机器人控制与策略学习中常用的仿真环境[73–92], 并从适用场景、优点与缺点等方面进行对比与分析. 物理模拟器是最重要的一类仿真环境, 其中Gazebo[73]、Webots[74]以及V-REP[75]是传统机器人控制领域中常见的物理模拟器, 具有较丰富的生态系统, 被广泛应用于工业机器人的开发以及机器人控制学习中. Gazebo能够模拟室内外环境中机器人之间的交互, 提供逼真的传感器反馈, 完全开源且可免费访问, 拥有庞大的开发贡献者; Webots 是一个开源机器人模拟器, 为建模、编程和模拟机器人提供了一个完整的开发环境, 拥有友好的使用界面并支持控制算法的快速测试; V-REP作为一种通用且可扩展的仿真框架, 支持多种不同的编程语言, 允许将控制器和功能嵌入到仿真模型中.
表 1
表 1 主流仿真环境介绍
类别 | 仿真环境 | 适用场景 | 基于该模拟器的强化学习环境 | 优点 | 缺点 |
物理模拟器 | 传统控制领域 | Gazebo[73] + ROS | 对真实世界的机器人、传感器、执行器、物体和材料进行仿真, 适用于机械臂、双足机器人、无人机等多类型机器人的操纵、运动、控制、导航等任务 | NA | 完全开源免费, 算法与模型库丰富, 便于ROS框架下的真机迁移 | 参考文档不足, 入门难点稍高 | Webots[74] | NA | Webots以及V-REP教育版开源免费, 提供多种编程接口, 支持多种操作系统, 具有良好的ROS接口, 支持对碰撞和接触点进行精确建模 | 缺少强化学习框架及接口支持, 与ROS系统的兼容略低, 社区规模较小 | V-REP[75]/PyRep[76] | RLBench[77] | 面向强化学习 | MuJoCo[78] | 1. OpenAI Gym[79] 2. DeepMind control suite[80] 3. Surreal Robotics Suite[81] 4. ROBEL[82] | 开源免费, 支持常见的机器人任务场景仿真, 提供便于强化学习的框架与接口, 具有较高的样本收集效率, 具有庞大的社区支持 | 与真实物理世界存在一定差异, 模拟计算需要专用的硬件, 成本较高, 计算成本与仿真精准度上的不足限制机器人的仿真效果 | PyBullet[83]/Bullet | 1. Roboschool 2. PyBullet Gym 3. GibsonEnv[84] 4. PyRoboLearn[85] | 游戏引擎 | Unreal Engine/ Unity3D | 主要用于针对无人车或飞行无人机导航任务的强化学习 | 1. AirSim[86] 2. Carla[87] | 仿真图像画质逼真, 仿真效果高, 可设置多种任务场景 | 对计算资源要求较高, 仿真时间较长 | 可微分模拟器 | Brax[88] | 支持刚体、柔体、弹性对象的接触、碰撞、反弹等物理过程的仿真, 实验提供了简易的机器人仿真场景 | NA | 深度神经网络控制器及物理模拟模块相结合, 支持仿真环境的动态学习与提升 | 技术提出的时间不长, 缺少完善的集成平台或仿真软件, 与上述仿真环境相比技术尚未成熟与推广, 难以运用于机器人强化学习研究之中 | 太极[89] | NA | JBDL[90] | NA | GPU模拟器 | RaiSim[91] | NA | 支持模拟器直接在GPU上进行并行仿真, 极大地提高了仿真的速度 | Isaac Gym[92] | NA |
|
表 1 主流仿真环境介绍
|
与Gazebo[73]物理模拟器不同, 基于接触动力学模型的物理引擎如MuJoCo[78]、PyBullet[83]被广泛地运用机器人强化学习研究领域. 依托于这些物理引擎, 如OpenAI Gym[79]和DeepMind Control[80]等强化学习集成环境被不断提出, 其中MuJoCo[78]专注于机器人和生物力学仿真以及动画和机器学习应用, 支持常见的机器人任务场景仿真, 具有相当高效的样本收集效率, 契合了强化学习对样本的巨大需求; PyBullet[83]基于Bullet物理引擎, 同样具有不错的样本收集效率, 将机器人控制与机器学习相结合, 支持加载多种模型格式, 并且拥有一个大型社区为开发者提供支持.
上述机器人仿真平台注重仿真通用性, 在真实性上与特定的实际应用场景还存在一定差距, 导致其在某些特定场景下的仿真存在较大误差. 因此, 一些针对特定机器人场景的高逼真度仿真模拟平台受到关注, 例如专用于机器人足球世界杯的SimSpark[93]、用于混合四足机器人的ANYmal[94]、用于两足机器人的ATRIAS[95], 以及高分辨率光学触觉传感模拟器Tactile Gym[96]和进一步扩展的Tactile Gym 2.0[97]、视触觉传感器GelSight[98]等. 除此之外, 最近如Unreal Engine、Unity3D等游戏引擎被逐渐应用于机器人强化学习之中, 具有逼真的仿真画质以及丰富的任务场景, 尤其适用于无人驾驶等对画质与训练场景具有要求较高的任务, 其中AirSim[86]专注无人车以及无人飞行器控制的仿真插件.
在最新的关于仿真环境的研究工作中, 可微分模拟器受到了广泛关注. 可微分模拟器将深度神经网络控制器及物理模拟模块进行结合, 允许梯度通过环境进行传播, 并在训练机器人的同时动态优化仿真环境. 可微分模拟器在仿真速度与效果上都有很大的提升, 其代表工作有可实现自动微分的框架——太极[89]、Google开发的Brax[88]以及腾讯的以Jax[99]为基础的机器人身体动力学算法库JBDL[90]等. 另外, 不同于以往在CPU上用多线程并行采集仿真数据并传送到GPU上训练的做法, 以NVIDIA开发的Isaac Gym[92]为代表的GPU模拟器, 支持模拟器直接在GPU上进行并行仿真与训练, 节省了数据传输时间, 从而极大地提高了样本的采集效率. 与Isaac Gym类似, RaiSim[91]是一个开源的物理仿真引擎, 通过GPU加速实现高性能的实时物理仿真, 可用于实现高性能、实时的仿真环境. RaiSim专注于模拟刚体和柔性体的物理行为, 并提供了多种功能和特性, 使其适用于机器人、虚拟现实、仿真训练和物理交互等领域.
3 虚实迁移强化学习
虚实迁移[24,30,100]指机器人在仿真环境中进行训练, 获得的策略被迁移部署至真实机器人控制系统中, 其中仿真环境作为源域, 真实环境作为目标域, 机器人的控制策略作为迁移对象, 核心内容是实现环境信息与控制信息在真实环境与仿真环境之间的迁移. 虚实迁移对迁移效果提出了4个重要的目标: 有效性、效率性、安全性、泛化性. 有效性[101,102]是指在仿真环境中学到的策略能在真实世界中发挥预期作用, 即在仿真环境中获得高回报的策略在真实环境中也能获得较高回报, 针对有效性的研究大多从缩小环境差异角度着手. 效率性[103,104]从采样的时间与经济成本出发, 强调在真实世界中进行尽可能少的探索采样, 针对效率性的研究关注对真实样本中环境信息的充分挖掘与利用. 安全性[105,106]强调现实中的探索与直接的策略部署具有潜在的安全风险及较高的成本代价, 需要指导真实机器人进行安全的探索与样本收集. 泛化性[107,108]针对多任务迁移场景, 强调获得的策略能在尽可能少的微调下快速适应不同环境的任务. 本文主要关注围绕虚实迁移的有效性以及效率性开展的相关研究工作, 在此基础上对现有方法进行梳理总结.
本文从迁移学习过程中的信息流动和智能化方法作用对象的角度提出了一个通用的虚实迁移强化学习系统流程框架, 如图1所示. 首先将策略学习与迁移过程分为以下5个主要步骤: 基于真实环境的仿真模型优化、仿真策略优化、基于仿真环境的知识迁移、真实环境探索与评估, 以及基于虚实环境的策略迭代提升.
(1) 基于真实环境的仿真模型优化: 通过修正或调整仿真模型来缩小仿真环境与真实环境的差异.
(2) 仿真环境策略优化: 通过仿真环境的交互样本对策略进行学习训练.
(3) 基于仿真环境的知识迁移: 将仿真环境中获取的学习知识向真实环境迁移.
(4) 真实环境探索与评估: 对真实环境进行充分探索以及部署策略性能评估.
(5) 基于虚实环境的策略迭代提升: 上述4个步骤的循环迭代实现策略的不断提升.
真实环境信息包含了真实任务场景中的动力学模型以及奖励模型, 前者受复杂的环境参数, 如温度、湿度、摩擦力系数等影响, 后者则由最终的任务目标及奖励结构决定. 复杂的真实环境难以被精准且完整地表征, 但蕴含于样本数据、评估指标以及人类对任务的先验认知中的真实环境信息能够被有效利用, 这些信息蕴藏于人类在建立仿真环境时所用的物理方程、环境参数的估计以及对参数范围的约束中. 基于真实环境的仿真模型优化通过真实世界的样本数据修正或调整仿真环境, 其本质是将仿真模型中的先验但不精确信息与真实样本中的真实但局部信息相融合以还原真实环境. 在仿真环境策略优化中, 机器人与仿真环境进行高效交互生成大量廉价样本并利用当前已有的深度强化学习算法如DDPG[49]、PPO[50]等实现策略优化, 在此过程中融合真实环境信息后的仿真环境信息被转化成仿真控制策略中的控制信息. 在基于仿真环境的知识迁移中, 仿真环境中优化得到的策略控制信息通过分解、组合或者直接迁移等手段从仿真策略中被提炼并迁移到真实策略. 最后, 迁移得到的真实策略又用于真实环境探索与评估, 通过样本采集以及策略评估从真实环境中提取局部信息, 通过真实策略的控制信息引导机器人探索真实环境的未知部分以建立更加精准的环境模型.
虚实迁移中的仿真环境策略优化、真实环境探索与评估是传统强化学习领域中独立的研究方向. 现有的虚实迁移强化学习方法通常针对基于真实环境的仿真模型优化、基于仿真环境的知识迁移以及基于虚实环境的策略迭代提升这3个部分开展, 所以本文着重从上述3个角度出发对虚实迁移方法及代表工作进行分类与总结, 并阐述每类方法内在动机与关联.
3.1 基于真实环境的模型优化方法
该类方法旨在根据真实环境实现对仿真环境的优化, 进而缩小仿真环境与真实环境的差异或是通过合理的环境参数设置来提高训练效率. 如图2所示, 该类方法根据真实环境确定仿真环境集合, 从中选择特定的仿真环境用于策略训练. 决定环境集合以及控制环境选择的技术包括系统识别、域随机化、课程式学习与多保真度仿真. 此外, 从迁移目标上看, 系统识别、域随机化通过修正或随机化仿真环境以缩小仿真和真实环境的差异, 而课程式学习与多保真度仿真则根据具体任务合理设置仿真环境参数以加速策略学习和训练.
3.1.1 系统识别
系统识别[109]类方法通过为物理系统建立一个精确的数学模型并对模型进行精确校准, 从而使模拟器提供的仿真环境更加逼真, 已广泛用于机器人领域[110−112], 涉及运动学校准、自适应控制、环境预测及摩擦估计等一系列问题[31,33]. 如图2所示, 系统识别根据真实环境动态调整仿真环境的模型参数, 减小对应的仿真环境与真实环境之间的差异. 通过系统识别构建的模型需要经历不断的修改与调整, 在确定合适的数学模型后可以用静态的参数来表示这些真实系统的组件模型, 并通过最小二乘法、协方差方法、频谱分析和时间序列分析等方法进行参数优化[112]. 此外, 一些端到端的方法, 如人工神经网络, 也被广泛地用于表示系统组件的模型. Allevato等人[113]构建了网络模型TuneNet, 使用神经网络直接调整一个模型的参数以匹配另一个模型, 将来自两个不同模型(即仿真环境和真实世界)的观察结果作为输入, 估计模型之间参数的差异, 并利用迭代剩余调谐技术进行快速准确的一次性系统识别, 直接调整仿真环境的系统模块参数以匹配真实环境模型, 提高了调优速度并减少了所需的模拟样本数量. 如图3所示, 仿真环境和真实世界分别利用当前环境的动力学模型fs、fr以及观测函数zs和zr得到观测值Osim和Oreal, 根据观测值及神经网络hθ直接估计参数误差, 并通过ξk=ξk−1+Δξ更新参数, 如此迭代直至达到以下优化目标, 其中α是权重正则化常数.
Du等人[114]将系统识别重新建模为参数搜索问题, 建立模型预测当前仿真环境参数与真实环境参数的大小关系, 在此基础上展开搜索求解合适的目标参数. 为了更精确地对真实世界的物体建模, Gao等人建立了一个由100个隐式视觉、听觉和触觉表示的3D对象组成的数据集ObjectFolder[115,116], 促进了机器人抓取、运动协同作用等研究, 在涉及随机动力学的任务上弥合仿真与现实之间的差距. Kumar等人[117] 针对四足机器人实时在线自适应的问题, 提出一种快速电机自适应算法RMA. 其中心思想是: 假设系统当前状态是机器人在特定环境下产生的, 则根据过去的状态和动作信息可以推断出当前的环境信息的隐变量 {{\textit{z}}}_{t} . 在真实部署阶段利用仿真阶段训练的适应模块 \Phi 进行在线的系统识别, 输出机器人动作的关节角度. 基于此工作, 研究人员后续分别在双足机器人[118]、机械臂[119]和四轴飞行器上[120]验证了该算法思想的有效性.
尽管精确的仿真模型能有效地缩小虚实环境之间的差异, 但直接对真实环境下的机器人系统建模仍极具挑战, 存在诸如缺乏观测样本和存在估计误差等问题, 且机器人运行机理通常十分复杂, 需要考虑如响应延迟、关节阻尼等[121,122]因素影响. 此外, 系统识别建模的准确性通常取决于研究人员的经验, 对于一些动态环境建模的准确度仍有所欠缺. 因此, 提出误差更小且具有自主性的建模方法将是系统识别下一阶段的研究重点.
3.1.2 域随机化
由于真实机器人系统难以被精确建模, 而且随着温度、湿度、位置或时间的改变, 同一机器人系统的物理参数可能发生显著变化, 从而加剧系统识别的难度. 此外, 不断地调整仿真环境参数以适应环境变化需要付出昂贵的代价, 且难以保证其准确性[123]. 域随机化方法旨在通过对仿真环境进行随机化, 生成鲁棒的控制策略以解决系统识别难以适应动态环境以及识别准确度不足的问题, 被广泛应用于不同的机器人控制任务[34−37]. 域随机化原理如下: 尽管仿真环境和真实世界之间存在差异, 但不必对真实世界所有的参数进行精确的识别与建模, 而是在训练过程中根据环境参数的分布对仿真环境进行随机化, 以覆盖真实的动态环境, 获得更鲁棒的策略[30,124]. 如图2所示, 在迁移框架中域随机化根据真实环境调整环境参数的随机分布, 每次训练根据该分布随机采样一组环境参数并生成对应仿真环境用于机器人训练与学习. 具体而言, 一组环境参数\xi 决定了仿真环境的动力学模型{\mathcal{P}_{\xi \sim p\left( \xi \right)}} = \mathcal{P}({s_{t + 1}}|{s_t}, {a_t}, \xi ), 仿真策略的训练目标重新定义为在分布\xi \sim p\left( \xi \right)对应的环境中实现回报最大化, 即: \mathop {\max }\limits_\pi {\mathbb{E}_{\xi \sim p\left( \xi \right)}}\left[ {{\mathbb{E}_{\tau \sim p\left( \tau \right)}}\left[ {G\left( \tau \right)} \right]} \right]. 域随机化的核心在于参数\xi 的选择以及分布p\left( \xi \right)的确定. 常见的方式包括通过专家知识与手工设计[123,125]或者通过学习的方式获得[101] 获得环境参数及其分布. 由于随机参数的选择对最终的迁移效果有较大的影响, 因此通常根据任务的不同进行不同的随机参数选择. 例如, 在基于图像输入的虚实迁移任务中[35,126], 颜色、光照属性、纹理以及干扰噪声等基础的视觉属性被广泛地挑选作为随机化属性. Alghonaim等人[35]针对基于图像的姿态估计任务中不同环境随机参数的重要性开展研究, 发现图像质量、干扰噪音以及纹理对域随机化效果有较大影响. James等人[104]结合域随机化和自适应方法, 通过对抗网络将随机渲染图像和现实世界图像转化为统一的标准模拟图像, 大幅提高策略训练效率.
对于随机参数的分布, 目前域随机化方法多从人工设计的固定先验分布中采样域参数, 例如低保真度仿真的动态随机化方法[125]、应用域随机化进行姿态估计[127]、基于域随机化并具有可转移性的策略优化算法(SPOTA)[128]等. 而Muratore等人[124]提出了贝叶斯域随机化(BayRn)策略搜索算法, 其核心是在随机仿真环境中进行策略训练, 同时在学习过程中使用贝叶斯优化来适应源域分布. 与以往的工作相比, 该算法不局限于固定的分布, 利用域分布参数在仿真环境中构建了域分布参数和策略收益之间的概率模型, 因此在BayRn优化中只需要与真实环境进行少量的交互. 此外, Muratore等人[129]同样使用了贝叶斯优化提出了神经后域随机化(NPDR)来调整仿真环境参数, 摆脱了域随机化中对域参数分布的一些限制性假设. 作为高效便捷的虚实迁移方法, 域随机化已被广泛用于弥合仿真与现实的差距, 但当下仍面临一些亟待解决的问题. 例如, 许多方法仍从固定分布中采样域参数; 部分方法中域随机化参数分布的调整缺乏主动性, 过分依赖人工经验和启发式方法, 在复杂高维场景中的效率也有待提升.
3.1.3 课程学习与多保真度仿真
课程式学习的概念最早由Bengio等人在2009年提出[130], 借鉴人类由易到难的学习顺序, 主张让模型先从容易的样本开始学习, 并逐渐进阶到复杂的样本与知识. 课程式学习为不同难易的训练样本赋予不同的权重, 随着训练过程的持续, 简单样本的权重下降而困难样本的权重上升, 对样本进行权重动态分配的过程被称为课程. 在机器人迁移强化学习中, 课程式学习成为有效解决高样本复杂度以及稀疏奖励值等问题的有效方法之一[131,132]. 如图2所示, 针对虚实迁移场景, 课程式学习根据真实的目标任务手工或自动设计由易到难的一组学习任务, 每个任务被建模为马尔可夫过程, 并对应一个独立的任务环境, 共同构成仿真环境集合. 作为课程式学习中的关键部分, 课程的设计以及切换机制直接作用于仿真环境的模型优化中, 通过设置合理的任务环境减少高成本样本的需求, 进而解决稀疏奖励值的问题和提高训练效率.
针对课程设计与规划问题, Florensa等人[133]针对稀疏奖励值问题提出了一种课程设计方法, 根据不同的课程任务中机器人的初始状态与目标状态的距离来实现任务由简单过渡到复杂. Nguyen等人[134]将课程式学习与机械臂、移动机器人的分层结构相结合提出分层强化学习框架, 利用学习任务的依赖关系以及层次结构生成课程, 通过内在动机探索以及主动模仿学习实现任务的切换. Sukhbaatar等人[135]和He等人[136]采用了对抗学习的思想, 利用上层的生成策略产生课程任务供底层的行动策略进行课程式学习, 两级策略同时且独立地训练并保证生成的课程任务难度适中以满足训练效率要求. 针对课程的切换控制问题, Shukla等人[137]从特定任务的奖励回报以及任务特征出发设计了多种在线方法来规划课程学习的顺序, 在多目标导航任务上完成了从仿真到实物的迁移. Matiisen等人[138]将任务的切换建模为多臂赌博机问题, 根据历史的训练记录拟合策略在某一任务中的下一次训练回报, 并采用探索方法挑选出在该任务上表现增长或下降最快的任务作为下一个训练任务.
按照课程学习的思想, 多保真度学习在不同保真度的仿真环境中进行策略训练, 其中, 低保真度与高保真度的仿真环境分别对应简单与困难的训练任务. 通过合理地安排策略在不同仿真环境的切换, 可以极大减少物理机器人所需的样本数量, 节省训练成本与时间. Cutler 等人[41]在2015年提出的多保真度学习框架允许智能体停留在仍为其提供有利用价值信息的最低保真度模拟器上进行策略训练, 从而减少高保真度环境上所需要的昂贵的样本. 作者在之后的工作中[42]将不同保真度的仿真环境与真实世界上的策略学习形成闭环, 如图4所示, 在简单仿真环境 {\Sigma }_{s} 中通过如经典、自适应和最优控制等传统控制方法得到最优策略\pi _s^*, 结合K-means方法和正则化径向基函数(RBF)网络将\pi _s^*转化为复杂仿真环境 {\Sigma }_{c} 的初始策略\pi _c^{\rm init}. 之后在复杂仿真环境中使用基于学习的方法如强化学习PILCO算法[139]等来优化初始策略, 得到的策略\pi _c^{\rm new}再用于指导真实世界 {\Sigma }_{rw} 中的学习. 来自真实世界的观测数据用于评估\pi _c^{\rm new}是否是最优, 若不是最优则使\pi _c^{\rm init} = \pi _c^{\rm new}, 结合观测数据继续迭代更新策略, 从而实现虚实闭环. Di Castro等人[43]提出一种有效方法来平衡高吞吐量、低成本、低保真度的仿真样本以及低吞吐量、高成本、高保真度的真实样本, 为每个环境维护单独的经验池, 并设计训练权重以平衡不同样本对策略训练的影响. 与传统的不断增加保真度的方法相比, Truong等人[140]提出了通过降低保真度以提升虚实迁移效果的思想, 并将策略分解为仅在仿真中训练的“高级策略”和完全在硬件上设计的“低级控制器”以缓解仿真训练缓慢和过拟合的问题.
随着课程学习的应用场景日益丰富, 对该领域的总结和梳理也至关重要. Wang 等人[141]从动机、定义、理论和应用等各个方面全面回顾了课程学习, 详细说明如何设计一个手动预定义课程或自动课程, 提出了统一的课程学习框架将课程学习算法分为两个大类和多个小类. Zhou等人进一步发布了全球首个课程学习开源库CurML[142], 将现有课程学习算法集成至一个高度封装的统一框架中, 具有较高的易用性. 当前, 课程学习和多保真度仿真方面的研究仍面临一些问题. 例如, 在预设课程时, 由于人类思维与机器思维的差异, 许多人类认为简单的样本对模型来说较为困难, 这种人机决策边界的不一致容易造成课程梯度设置不合理等问题. 此外, 课程学习还存在专家知识昂贵、灵活性欠缺等问题. 针对课程学习的未来研究方向集中在建立评价数据集和指标、提供更完善的理论分析和算法等方面.
3.2 基于仿真环境的知识迁移方法
基于仿真环境的知识迁移方法关注如何将仿真环境获得的知识向真实策略进行迁移, 如图5所示, 可分为基于样本的知识迁移以及基于策略的知识迁移, 前者的迁移对象是包含了环境信息的仿真样本, 后者的迁移对象是包含了控制信息的仿真策略. 基于样本的知识迁移关注仿真轨迹的迁移与利用, 具体是通过重要性权重以及模仿学习将仿真样本向真实样本经验池进行迁移. 基于策略的知识迁移关注仿真策略分解与部件迁移, 按功能或层次对策略进行划分与迁移.
3.2.1 仿真轨迹的迁移与利用
由于仿真环境与真实环境存在内在关联性, 仿真环境获取的大量丰富的样本数据一定程度上能包含真实环境的动力学模型与奖励模型信息, 如何利用仿真样本将是真实策略优化的重点, 也是提高训练效率的关键. 如图5所示, 通过重要性权重与模仿学习实现仿真样本向真实样本经验池的迁移是利用仿真轨迹的重要方法. 通过这些方法, 仿真样本极大地拓展真实策略的训练样本池, 为真实策略提供丰富的演示信息, 进而提高训练效率并减少对真实样本的需求.
重要性权重是迁移学习领域中一种通用方法[143,144], 该方法通过估计目标域样本与源域样本的似然比对源域样本进行加权, 将加权后的源域样本用于目标域的训练中. 针对强化学习的应用场景, 设训练样本为{\tau _i} = \left( {{s_i}, {a_i}, s'_i, {r_i}} \right), 则源域{M_S}中的样本{\tau _i}向目标域{M_T}迁移后的重要性权重应设置为{w_i} = \dfrac{{p({\tau _i}|{M_T})}}{{p({\tau _i}|{M_S})}}, 其中p({\tau _i}|M) = \mathcal{P}(s{'_i}|{s_i}, {a_i})R({r_i}|{s_i}, {a_i}), 重要性权重由动力学模型\mathcal{P}(s{'_i}|{s_i}, {a_i})和奖励模型R({r_i}|{s_i}, {a_i})共同决定. Lazaric等人[145]计算重要性权重时首先基于奖励模型与动力学模型计算不同域之间整体样本的相关性度量, 从整体上度量样本迁移的契合度, 然后计算样本间个体的相似性度量, 用以反映相同域中不同样本的独特性, 将两者结合得到最终的重要性权重. Tirinzoni等人[146]采用高斯过程从样本中估计奖励模型R({r_i}|{s_i}, {a_i})和动力学模型\mathcal{P}(s{'_i}|{s_i}, {a_i}), 重要性权重被分为奖励权重{w_{r, i}} = \dfrac{{{R_T}({r_i}|{s_i}, {a_i})}}{{{R_S}({r_i}|{s_i}, {a_i})}}与动力学权重{w_{p, i}} = \dfrac{{{\mathcal{P}_T}(s{'_i}|{s_i}, {a_i})}}{{{\mathcal{P}_S}(s{'_i}|{s_i}, {a_i})}}, 在Q值迭代算法中前者用于估计迁移样本在目标域中奖励值, 后者用于调整迁移样本在目标域更新Q函数时的影响大小.
模仿学习是另一种基于轨迹样本的迁移方法, 通过采用专家演示或轨迹代替人工设计的固定奖励函数来训练智能体, 将专家演示数据作为真实环境智能体的模仿范例来训练智能体的策略网络逼近演示效果, 进而大幅缩短训练时间. 常用的专家演示数据包括人类演示和仿真环境生成的轨迹样本. 其方法大致可分为两类: 行为克隆, 即智能体学习从观测到行为演示的映射[147,148]; 逆强化学习, 即智能体尝试估计专家策略的奖励函数[149]. 模仿学习为智能体提供关于奖励函数的环境信息, 可被用于鲁棒的强化学习以及虚实迁移[150]. Christiano等人[151]假设仿真环境产生的状态轨迹在真实环境中出现的概率总不为0, 但是相同的状态轨迹在仿真与真实中对应的动作序列可能不同, 基于上述假设训练真实环境中的逆动力学模型\phi , 该模型基于时刻H到H + k的历史观测\left( {{o_H}, {o_{H + 1}},\ldots, {o_{H + k}}} \right)以及下一时刻的观测{o_{H + k + 1}}预测当前时刻真实环境做出的动作{a_{H + k}}, 即\phi :\left( {{o_H}, {o_{H + 1}}, {o_{H + k}}, {o_{H + k + 1}}} \right) \to {a_{H + k}}, 如果学习到的逆动力学模型足够准确, 那么仿真环境中采取行动后的下一个观测{o_{H + K + 1}}将与{o_{H + k}}相似, 如图6所示.
仿真环境训练得到的策略被视作专家策略, 用以输出预期的高奖励值的状态轨迹序列, 真实策略则通过逆动力学模型\phi 求解对应的动作序列并执行. 另外, 仿真轨迹样本还被用于数据收集, 例如, Rahmatizadeh等人[152]从机器人训练的安全和成本出发, 在真实环境的示例数据难以被直接采集的场景下选择在虚拟环境中进行人工演示, 得到的仿真轨迹作为专家轨迹用于训练真实机器人的控制策略. Kaushik等人[153]提出了SafeAPT算法, 充分利用仿真环境数据作为真实世界的先验知识, 从真实世界的观察中迭代学习奖励概率和安全模型, 再利用奖励模型进行贝叶斯优化, 在保持指定安全约束的同时, 利用安全模型从集合中选择最优策略. Lai等人[154]提出了一种两阶段训练框架TERT, 该框架由离线预训练阶段和在线校正阶段组成. 在第1阶段的离线预训练中, 教师策略与仿真环境交互并收集训练轨迹, 然后训练 Transformer根据教师的观察动作序列给出相对准确的预测; 在第2阶段的在线校正中, Transformer策略的与仿真环境进行交互, 与此同时, 教师给出相应的参考动作. 然后将教师的观察动作序列作为条件, 训练Transformer策略以适应教师的动作. 该模型将Transformer与特权训练相结合, 使四足机器人能在不同地形上稳定运动.
3.2.2 仿真策略分解与部件迁移
针对仿真策略的迁移, 最常见的方式是直接地将仿真训练得到的整个策略网络迁移到真实环境中, 根据真实样本对策略进行微调. 但这种方式可能导致模型无法收敛, 或者遗忘仿真环境学到的知识. 基于这一思想, 许多工作通过功能划分或者层次划分将仿真策略进行分解并对其中的部件进行迁移. 如图5所示, 当按功能划分时, 策略网络被分解为感知模块与控制模块, 前者对观测输入进行高效的编码与特征提取, 被直接的迁移与微调, 后者通过提取的特征实现策略控制并输出动作, 通常需要重新设置与训练. Rusu等人[72]提出渐进式网络, 在保留源域学习到的网络的基础上在目标域上训练新网络, 通过侧边连接将旧网络输出的各层特征作为新网络对应层输入的一部分, 新任务k的第i层特征{h_i}^{\left( k \right)}由新任务策略网络的上一层特征h_{i - 1}^{\left( k \right)}以及旧任务j对应的策略网络的上一层特征h_{i - 1}^{\left( j \right)}共同决定, 即{h_i^{\left( k \right)}} = f\left( {{W_i^{(k)}}h_{i - 1}^{\left( k \right)} + \displaystyle\mathop \sum \limits_{j < k} U_i^{\left( {k:j} \right)}h_{i - 1}^{\left( j \right)}} \right), 其中W和U分别为新网络权重以及侧边连接权重. Rusu 等人[155]将上述的渐进式网络运用到机器人的迁移任务上, 冻结仿真策略的参数并训练真实策略, 在真实策略对应的下一层网络中输入仿真策略输出的每一层状态表示, 从而避免迁移后出现知识遗忘问题(如图7所示), 并在机械臂抓取任务上的实验说明该方法能很好地提高样本效率与策略表现. Kang 等人[156]针对飞行器的视觉任务, 提出了一种将大量模拟数据与少量真实世界经验相结合的方法. 飞行器在真实世界学习机器的物理特性及其动力学, 同时从仿真环境中学习视觉不变量和模式. 迁移时将仿真环境中近似Q函数的神经网络按层划分为视觉感知模型以及基于动作的奖励预测模型, 其中视觉感知模型用以处理逼真和多样的视觉场景, 被直接迁移至现实世界, 并在现实世界策略训练期间保持这些感知层参数不变, 防止策略过拟合; 奖励预测模型在仿真环境的训练任务与真实世界机器人任务一致, 被迁移至真实世界后再利用真实世界数据进行训练优化.
当进行层次划分时, 策略的结构按语义层次进行划分, 得到层次不同的若干独立策略, 在进行选择与组合后得到真实环境中的控制策略. Wulfmeier等人[157]提出的分层结构化策略包含了一个高层策略与若干低层的策略, 在一组任务上训练时, 高层策略在任务已知的条件下选择低层策略, 低层策略则在任务未知的条件下做出决策. 前者获取任务相关的高层语义信息用以控制低层策略的切换, 后者捕获任务通用的底层语义信息用以特征提取与策略控制, 迁移时保留低层策略重新训练高层策略. 此外, 仿真策略还可以按行为模式进行划分与迁移, Yu等人[158]结合域随机化技术, 在仿真环境中学习一组高期望回报且行为模式不同的策略, 根据策略在目标任务上的表现在策略组中搜索最佳策略组合进行迁移.
3.3 基于虚实环境的策略迭代提升方法
由于真实环境的复杂性以及静态探索策略的局限性, 离线探索往往无法获得真实环境的全部信息, 需要动态地改进策略以便更好地探索环境, 与此同时, 策略的进一步提升又对环境信息提出了更高的要求. 基于虚实环境的策略迭代提升方法强调了模型优化与知识迁移的循环迭代, 其中基于真实环境的仿真模型优化、仿真环境中策略提升、基于仿真环境的知识迁移以及真实环境下探索与策略评估4个步骤不断地迭代执行, 在此过程中仿真环境与真实环境的差异不断减小, 真实策略的表现也不断提升. 根据不同的优化模板, 该类方法又可分为两类: 环境的在线探索与对齐方法以及基于轨迹分布的域自适应方法. 图8展示了这两类优化方法的技术路线, 前者以缩小环境差异为目标进行迭代优化, 包括环境对齐以及探索策略的迁移; 后者则从拉近仿真与真实的轨迹分布出发进行迭代优化, 包括轨迹分布的近似、分布对齐以及奖励补偿等机制.
3.3.1 环境在线探索与对齐方法
缩小仿真环境和真实环境的差异是确保迁移策略有效性的重要方法, 但通过固定策略的离线探索难以实现这个目标, 所以在策略学习过程中需要对真实环境进行持续探索, 在此基础上对训练环境进行在线对齐, 即, 仿真环境训练得到的策略用于真实环境的探索, 收集的样本用于仿真环境中动力学模型与奖励模型的修正, 反复迭代直至策略的表现不再提升.
在Farchy 等人[159]于2013年提出的GSL (grounded simulation learning)框架中, 策略在仿真环境中训练并在真实世界中采样与评估, 从中获取真实动力学模型的信息. GSL针对机器人行走任务, 通过真实样本建立输入为关节状态和关节命令, 输出为下一关节状态的映射, 并利用该映射调整仿真环境中的力矩参数使仿真机器人到达与真实机器人相同的目标关节状态, 修正后的动力学模型被用于重新学习控制策略, 新策略被继续用于样本收集. 与GSL[159]中调整环境参数的对齐机制不同, Hanna等人提出的GAT (grounded action transformation)[160]不直接对仿真环境的动力学模型进行修正, 而是在控制策略后接入了一个动作转化层, 通过监督方法学习真实环境的动力学模型建立从\left( {{s_t}, {a_t}} \right)到{s_{t + 1}}的映射f, 并学习仿真环境的逆动力学过程以建立从\left( {{s_t}, {s_{t + 1}}} \right)到{a_t}的映射f_{sim}^{ - 1}. 动作转化层输出的动作为{\hat a_t} = f_{sim}^{ - 1}({s_t}, f({s_t}, {a_t})), 使得在仿真环境中执行动作{\hat a_t}后的状态与在真实世界中执行动作{a_t}后的状态一致, 进而缩小动力学模型的差异, 如图9所示. 一系列建立在GAT基础上的工作[161−163]将适用场景拓展到随机环境, 通过深度学习建立动力模型并使用强化学习进行策略学习, 提高了方法的泛化性与迁移表现.
除了直接学习动力学模型, 另一种常见的环境对齐方式是对真实环境与仿真环境的动力学差异进行建模[103,164−166]. 为降低迁移学习中对真实样本的巨大需求以及对硬件的严格要求, Ha等人[164]以及Rastogi等人[103]都对仿真环境和真实环境的动力学差异进行建模与学习, 建立预测转移状态差值d\left( {{s_t}, {a_t}} \right) = s_{t + 1}^{\rm sim} - s_{t + 1}^{\rm real}的模型. 在策略优化与环境探索的迭代中, 新策略在该模型修正的状态转移样本上进行训练并用于真实环境的探索. Liu等人[167]提出了一种数字孪生系统, 将真实世界采取到的数据作为孪生数据传输到仿真环境中, 同时将仿真环境中的数据提取和计算传递给真实环境中的物理实体, 使虚拟机器人的运动也能影响物理实体, 从而保证物理实体和虚拟实体的运动过程同步. Abeyruwan等人[168]设计了虚实迭代模型i-Sim2Real, 将仿真环境中训练的初始机器人策略应用于现实世界进行人机交互, 收集交互数据的同时在现实世界微调此策略, 再将交互数据用于更新仿真环境中使用的人类行为模型, 最后将微调后的策略重新部署在仿真环境中, 与更新后的人类行为模型进行交互, 虚实迭代训练出与人类球员合作打乒乓球的机械臂.
与关注动力学模型不同, 另一类工作侧重于奖励模型的探索与对齐[169,170]. Laroche等人[169]假设源域和目标域的动力学模型相同, 通过源域样本与目标域奖励函数直接学习目标域策略, 在目标域奖励函数未知的情况下, 根据不确定性乐观原则探索目标域内未知的状态. Barreto等人[170]针对奖励函数发生变化但环境动态保持不变的场景提出了一个探索与学习框架, 在一系列导航任务和仿真机械臂的控制中实验并取得了不错的效果. 为了解决在仿真环境中难以准确地渲染真实世界场景的问题, Chen等人[171]提出了Real2Sim方法, 通过仿真环境产生的虚拟图像和真实世界的图像的相互转换, 缩小现实和仿真环境图像的差异.
3.3.2 基于轨迹分布的域自适应方法
基于轨迹分布的域自适应方法利用与环境交互产生的样本估计轨迹分布, 并通过互信息、KL散度、对抗损失等指标[101,172−174]将缩小源域轨迹分布和目标域轨迹分布的差异作为优化目标. 进而实现对策略的优化与迁移. 在此过程中, 策略的更新优化会导致轨迹分布的改变, 需要重新估计轨迹分布并计算分布差异, 因此, 轨迹估计与策略优化的过程将在源域与目标域之间不断迭代, 进而提高策略的性能以及迁移的有效性.
缩小轨迹分布差异的一种简单且直观的方法是在训练时对与目标域轨迹有较大差异的源域轨迹样本在奖励函数上给与额外的惩罚, 进而抑制仿真策略产生在真实世界中出现概率较低的轨迹. Eysenbach等人[173]推导得到, 最小化源域轨迹和目标域轨迹的KL散度等价于最大化熵正则化的回报加上奖励补偿, 即\mathop {\min }\limits_\pi {D_{\rm KL}} ( {p_{\rm source}}\left( \tau \right)|| {p_{\rm target}}\left( \tau \right) )等价于:
\begin{array}{*{20}{c}}
{\mathop {\max }\limits_\pi {\mathbb{E}_{{p_{\rm source}}}}\left[ {\displaystyle\sum\limits_t {r\left( {{s_t}, {a_t}} \right) + {H_\pi }\left[ {{a_t}{\text{|}}{s_t}} \right] + \Delta r\left( {{s_{t + 1}}, {s_t}, {a_t}} \right)} } \right] + c }
\end{array}
|
(2) |
其中, \Delta r\left( {{s_{t + 1}}, {s_t}, {a_t}} \right) \triangleq \log {p_{\rm target}}\left( {{s_{t + 1}}|{s_t}, {a_t}} \right) - \log {p_{\rm source}}\left( {{s_{t + 1}}|{s_t}, {a_t}} \right), 而\displaystyle\sum\limits_t {r\left( {{s_t}, {a_t}} \right) + {H_\pi }\left[ {{a_t}|{s_t}} \right]} 合称熵正则化的回报, 是传统的强化学习最大熵算法的优化目标. 另外, 算法还学习两个区分源域轨迹和目标域轨迹的辅助分类器, 以此对奖励补偿项\Delta r进行估计. Wulfmeier 等人[174]提出相互对齐转移学习模型, 该模型通过学习区分仿真轨迹状态序列和真实轨迹状态序列的辅助分类器来估计轨迹分布的差异, 这一差异被作为额外的奖励函数, 同时作用于仿真机器人和真实机器人训练中, 并指导对现实世界的探索. 如图10所示, 分别在仿真环境和真实环境训练策略{\pi _{sim}}和{\pi _{real}}, 产生相应轨迹, 利用辅助分类器{D_w}判别轨迹以得到辅助奖励值r', 其中r'_{sim} = - \log \left( {{D_w}\left( {{\xi _k}} \right)} \right)而r'_{real} = \log \left( {{D_w}\left( {{\xi _k}} \right)} \right). 辅助奖励与环境反馈一起组成用以调整策略的完整奖励r = {r_t} + \lambda r'. 再利用TRPO算法根据 {\mathbb{E}_{{\pi _\theta }}}\left[ {{\nabla _\theta }\log {\pi _\theta }\left( {{a_t}|{s_t}} \right){r_t}} \right] 分别调整仿真环境和真实世界的策略. Wu等人[175]同样将基于奖励的自适应方法应用于仿真推荐系统中, 用以缩小动态差异, 同时将对抗学习与奇异值分解(SVD)结合用于观察的表示学习. Chung等人[176]针对自动驾驶任务提出了分段编码虚实迁移算法SESR, 通过多类分割网络将仿真环境和真实环境中分割后的RGB图像转移到同一个域, 最小化编码器和并行网络VAE所产生向量的KL散度, 同时保留初级对象如行人、道路和汽车的必要信息.
另一种常见的迁移方法是基于观测分布的域自适应方法[38−40]. 可以证明在源域和目标域状态转移概率相同的假设下, 基于观测的域自适应是基于轨迹分布的域自适应的一个特例[173]. Gamrian等人[177]提出基于对抗思想建立源域到目标域的视觉映射, 目标是使经过视觉映射后的图片难以被分类器区分来源. Bousmalis等人[178]针对基于像素图片的机器人抓取任务, 结合合成图片与域随机化技术, 训练了用于视觉观测自适应对齐的对抗生成网络, 实验证明其方法在实物机器人上有效并降低了真实样本的需求量. 从轨迹分布差异出发, Chebotar 等人[101]提出基于仿真轨迹和真实轨迹中观测状态序列的度量距离, 并利用域随机化方法调整仿真环境参数的随机分布. Truong等人[179]提出一种双向的域自适应方法, 对仿真中的状态以及真实环境的观察输入采用域自适应方法弥合差异.
3.4 总 结
以上从基于真实环境的仿真模型优化、基于仿真环境的知识迁移、基于虚实环境的策略迭代提升3个方向总结了现有的虚实迁移方法, 并对虚实迁移强化学习研究领域建立了一个统一的通用系统框架. 表2从实验的角度总结了上述3个方向代表性工作的内容与成果, 罗列了实验的仿真环境、真实环境及实验任务和结果等信息, 并对各个方向现存挑战与未来可能的研究方向进行概述.
表 2
表 2 代表性工作汇总
类别 |
文献 |
实验任务 |
策略优化 |
仿真环境 |
真实机器人 |
实验结果概况 |
困难挑战 |
未来方向 |
真实到仿真的环境优化 |
Allevato 等人[113] |
1. 建立真实机械臂与弹跳球对应仿真环境 2. 机械臂弹跳击球(将球从斜面上弹回篮筐)虚实迁移 |
- |
PyBullet |
Kinova Jaco 7DOF robot arm |
系统识别得到仿真环境与真实环境参数误差小, 弹跳击球任务的成功率达到87% |
1. 环境建模依赖较强的先验知识或专家经验 2. 模型拟合需要大量真实样本并存在较大的估计误差 |
1. 设计自主的环境建模方法, 从多个环境因素中自动识别关键因素 2. 研究计算高效、建模精确以及高样本效率的模拟器和仿真环境 |
Peng 等人[125] |
机械臂抓取 |
RDPG |
MuJoCo |
7DOF Fetch Robotics arm |
仿真与真实环境中机械臂抓取成功分别达到91%与89% |
Cutler 等人[42] |
机器人小车的受控漂移 |
RBF network |
- |
RC car |
仿真策略控制真实小车获得漂移轨迹达到预期 效果 |
仿真到真实的知识迁移 |
Rusu 等人[155] |
基于图像输入的机械臂抓取 |
A3C |
MuJoCo |
Jaco arm |
方法有效, 与直接迁移微调相比平均奖励更高 |
1. 仿真样本与真实样本间存在的分布偏移导致策略性能低下等问题2. 仿真策略的分解与迁移需要较强的先验假设以及启发式设计 |
1. 引入重要性采样、数据增强、域自适应等方法减少不同环境样本间分布偏移 2. 进一步研究对抗学习、域自适应等方法, 提出更灵活通用的策略分解和迁移框架 |
Kang 等人[156] |
飞行器避障 |
deep Q-learning |
Gibson simulator |
Crazyflie 2.0 nano quadcopter |
以避障时间作为指标, 提出的模型优于直接迁移微调、监督迁移与无监督, 避障时间长达85.8 s, 在复杂场景中也能有效避障 |
Christiano 等人[151] |
机械臂抓取 |
TRPO |
MuJoCo |
Physical Fetch robot |
其策略在环境参数的干扰下具有鲁棒性, 真实轨迹和仿真轨迹误差在3.7%以内 |
仿真与真实的迭代提升 |
Farchy 等人[159] |
双足机器人 行走 |
CMA-ES |
SimSpark |
Bipedal robot NAO |
与基线策略相比机器人行走速度增加26.7% |
1. 在多轮迭代中, 策略性能提升依赖高效探索与安全性之间的权衡 2. 仿真环境需要动态地适应每轮迭代中新收集的真实样本并做出相应调整 |
1. 将安全强化学习引入策略学习中, 实现对真实环境高效探索的同时保证策略的安全性 2. 设计可动态调整的仿真环境模型或模拟器, 以实现对真实环境的精确拟合 |
Hanna 等人[160] |
双足机器人 行走 |
CMA-ES |
SimSpark、Gazebo |
Bipedal robot NAO |
SimSpark到Gazebo的迁移中行走行走速度增加34.6% (一次迭代)和43.3% (二次迭代), Gazebo到真实机器人的迁移中速度增加了37.8% |
Chebotar 等人[101] |
基于深度图的机械臂控制摆锤进洞以及拉开抽屉 |
基于GPU并行仿真器的PPO[180] |
NVIDIA Flex |
7-DoF Franka Panda and ABB Yumi robots |
在少量真实样本的支持下, 最终进洞率达90%, 并且策略学习到拉开抽屉的规范动作 |
|
表 2 代表性工作汇总
|
表2中第1类基于真实环境的模型优化方法主要在PyBullet、MuJoCo等仿真环境中通过系统识别通过系统识别、域随机化等代表性方法使仿真环境不断逼近现实世界, 通过课程式学习和多保真度仿真合理地设置环境, 提高样本效率与训练速度. 该类方法在机械臂、机器人汽车等真实环境上得到验证, 但仍存在过度依赖先验知识、真实样本需求大、环境建模精度低等问题. 针对这些问题, 可能的解决方案包括研究更通用的环境建模方法以及更精准的仿真模拟器等; 表2中第2类基于仿真环境的知识迁移方法, 则从另一角度出发, 利用重要性采样、模仿学习、策略分解与部件迁移等方法, 将仿真样本中的环境信息以及仿真策略中控制信息向真实策略迁移, 在器械臂、飞行器等机器上取得了良好效果, 但该类方法面临仿真样本与真实样本间分布偏移、策略分解依赖人类知识等问题, 需要更有效的方法进行样本甄别及策略或部件划分; 表2中第3类基于虚实环境的策略迭代提升方法将前二者相结合, 通过仿真环境与真实环境的在线对齐、基于轨迹分布的域自适应等方法, 在迭代优化中不断减小仿真环境与真实环境差异, 从而实现真实策略表现的不断提升, 已能够较好应用于真实机械臂、双足机器人等的控制行为的学习训练. 该类方法中存在包括安全探索、环境模型动态适应等问题. 针对这些问题的一些解决思路包括将约束强化学习引入策略学习以及设计可动态调整的仿真环境模型或模拟器等.
4 挑战与展望
尽管当前虚实迁移强化学习领域研究取得了一些进展, 但仍有许多问题未能得到有效解决, 本节梳理当下所面临的挑战及未来具有潜力的研究方向.
4.1 挑 战
4.1.1 缺乏理论分析
当前已有方法的迁移效果通常仅通过有限、理想化的实验进行验证, 存在严格的前提假设或是缺少相应的理论分析, 导致算法在实际应用中存在局限性以及盲目性, 算法精确性、稳定性和灵活性得不到理论保证. 针对这一问题, 一些工作尝试对迁移学习过程的样本复杂性等算法性能进行了理论分析, 例如Cutler等人[41]在建立多保真度学习模型时, 利用KWIK探索框架对基于模型学习的样本复杂性进行了深入分析; Modi等人[181]提出了一种基于样本有效模型且具有多项式样本复杂性保证的算法; Du等人[182]从样本复杂性角度提出了设计高效强化学习算法的必要条件等, 以确保在虚实迁移场景中现实可行. 但这些工作大多基于某些特定的任务场景或者算法类型, 而且仅考虑样本复杂度这一单一维度, 如何从样本的重要性、多样性等角度进一步开展相关的理论研究和论证, 是当前虚实迁移学习领域的一大挑战性难题.
4.1.2 依赖人工经验
当前, 迁移强化学习方法大多依赖某种程度的人工经验知识, 如域随机化方法中的随机参数与随机分布的选择大多依赖研究人员手工设计, 而选择一个或多个辅助任务作为源任务进行迁移时也通常依赖专家知识, 因此, 最终迁移性能易受研究人员专业知识及偏好等影响, 造成较高的时间与安全成本, 无法完全保证所设计的策略能够有效地迁移至现实世界. 此外, 域随机化类方法在人工设计初期常假设模拟任务和实际任务来自相同的分布. 若真实环境与随机模拟有很大不同, 或在真实任务中遇到意外情况, 脱离人工经验辅助的迁移策略性能可能会在真实环境出现显著下降[183]. 在此情况下, 一个有效的解决途径是依靠真实世界样本来提高迁移策略的初始性能, 如将域随机化与第3.3.1节环境在线探索与对齐方法相结合, 通过域随机化在仿真环境建立初始模型, 再将仿真环境训练得到的策略用于真实环境的探索, 收集的真实环境样本用于仿真环境中模型的修正. 如何让模型自主选择合适的源数据来实现知识的自动有效迁移仍是亟待解决的问题.
4.1.3 缺少评估指标
目前虚实迁移方法大多针对特定任务量身研制, 不同的迁移方法之间缺少统一的指标用于评估不同方法的性能、适用程度以及策略鲁棒性等, 导致缺少能够保证迁移有效性的, 且与任务无关的通用方法. 如何设计一些通用指标如一致性、适用性、鲁棒性和安全性指标等, 在保证最终迁移效果的同时实现对不同算法性能的更全面评估, 仍然是一个挑战性难题. 例如, 一致性指标可通过表征或量化性能差距用以评价不同测量方法或观察者对同一研究对象进行实验的结果一致性; 适用性指标则通过衡量迁移任务的难度以及迁移效果, 较客观地评估该迁移方法能否适应当前场景, 同时还可被直接用于衡量迁移方法的优化目标以缩小现实差距, 有助于提出更加有效的解决方案; 而鲁棒性指标可用于评估迁移策略是否足够健壮, 能否在异常或扰动的条件下保证理想的迁移效果. 此外, 因为虚实迁移涉及复杂过程, 在迁移之前设计相应安全性指标以评估迁移可行性, 可以保障迁移的安全性, 避免迁移意外情况的发生.
4.2 展 望
4.2.1 自动迁移学习和终生迁移学习
自动迁移学习和终身迁移学习[184,185]能较好地解决依赖人工知识这一问题. 自动迁移学习旨在从过去已实施过的一系列迁移学习任务中学习总结经验, 并把这些经验应用到未来可能出现的迁移学习任务中; 终身迁移学习的核心思想是通过不断学习不同任务自适应地使用各种迁移学习技术来提高终身学习的有效性. 以上方法均通过建立学习目标域与源域的联系, 让机器人在新环境下也能自主决定何时迁移、如何迁移和迁移什么, 自动化地设计随机过程, 尽可能少地使用人类知识和干预, 避免研究人员花费过多时间在参数设定、源域选择等工作上. 如Bou Ammar等人[184]率先提出了自主高效的跨域终身迁移强化学习框架, 使智能体能够自主在交织的任务域中学习, 迅速在目标域中获得较高性能的策略; Wei等人[186]提出了自动迁移学习框架L2T, 利用先前的迁移学习经验, 自动优化源域和目标域之间的迁移目标及迁移方法. 如何设计高效的自动迁移学习模型并与终身迁移学习相结合将是虚实迁移的强化学习领域拥有巨大挖掘潜力的研究方向之一. 此外, 可进一步将其他方法与自动迁移学习和终生迁移学习相结合, 例如将潜在特征因素纳入迁移内容进行分层迁移或引入对抗性鲁棒迁移学习[187]等.
4.2.2 基于元强化学习的迁移学习
在多任务或环境动态变化的机器人应用场景中引入元强化学习[107,188,189], 可通过在多任务上进行训练和优化以快速适应新任务[107], 进而提升迁移学习的泛化能力. 元强化学习可以从有限的真实样本中学习到具有较高泛化性的策略, 对于具有相似的动力学或奖励模型的新任务, 该策略在从新任务中收集的少量样本上进一步训练就能取到不错的表现, 进而提高真实样本利用率. 基于元强化学习的迁移学习[190]可以看作自动迁移学习的一种具象实现, 该方法学习将源域的何种知识迁移至目标域的何处, 进而使智能体具备自动迁移学习的能力. 目前关于元强化学习的研究大多都集中在固定的任务分布上, 仍需要再更广泛的任务分布上对策略进行评估以提高迁移策略的泛化性和鲁棒性, 例如全面设计适用于更大任务范围的元强化学习基准和评估指标[189]等. 在算法层面, 当前算法通常难以适用于元训练任务高度多样化的环境中, 如何在元学习过程中充分利用一些智能化手段和方法在适应多样化环境方面的显著优势, 例如多智能体强化学习算法[189], 是未来值得探索的方向之一. 此外, 元学习严重依赖奖励信号, 这使其在稀疏奖励环境下表现不佳, 如何引入辅助密集奖励等方法克服稀疏奖励困难也将是该领域未来研究的重点之一[191].
4.2.3 对抗强化学习
对抗强化学习的基本思想是通过在一组环境模型而不是单个环境中训练智能体从而增强策略鲁棒性, 从而提升策略的鲁棒性. 与第3.3节所述对抗方法类似, 对抗强化学习方法设置一个待训练的智能体和一个对抗者, 通过二者博弈改变目标项目特征的分布, 使其接近于源项目特征的分布, 不断演化出更复杂的模型以提升虚实迁移效果. 在训练过程中, 一些复杂环境的模拟可以转换成对智能体施加额外干扰, 对抗者会对智能体施加干扰以逼近真实环境, 迫使智能体学习高级策略以应对对抗者的干扰. 通过二者联合训练、协同优化, 智能体最终将学会一种最优的、泛化性强的策略. 一些研究已证明可将对抗性学习嵌入到深度网络中, 以学习更多的可转移特征, 从而减少域之间的分布差异[192]. 在迁移过程中, Pinto等人[193]将建模误差、虚实环境差异等视为系统中的额外干扰, 利用对抗强化学习思想设计对手施加干扰, 演化出鲁棒对抗性强化学习框架RARL. Fu等人[194]则提出了一种基于对抗性奖励学习公式且可扩展的逆强化学习算法AIRL, 其迁移效果在迷宫、蚂蚁奔跑等任务上得到了验证. 尽管对抗性思想可以有效提高迁移策略的鲁棒性, 但多数工作仅停留在仿真环境的不同任务域中进行迁移实验, 在仿真至真实环境下的迁移验证是一个有意义的研究方向.
4.2.4 虚实迁移学习通用实验平台
由于真实环境复杂多变且仿真环境难以对其进行完全模拟, 在验证算法或迁移方法效果时, 为了保证迁移的安全性, 通常先将策略从一个仿真平台迁移至另一仿真平台, 在多个仿真平台验证后再迁移至真实世界机器人, 以免对机器人造成损伤. 图11(a)展示了特定条件下(以固定仿真平台、算法、迁移方法举例) NAO机器人的虚实迁移过程, 大致可分为如下步骤: (1) 配置仿真环境PyBullet及仿真环境针对机器人的接口qibullet; (2) 重写Gym环境; (3) 实现深度强化学习算法如DDPG; (4) 通过域随机化方法将训练后的模型先迁移至Webot仿真平台观察效果, 避免直接迁移的安全性问题; (5) 通过域随机化方法将训练后的模型迁移至实体机器人.
由于机器人种类、仿真环境、强化学习算法及虚实迁移方法具有多样性, 在不同条件下迁移需要手动配置相关环境, 流程较为繁琐复杂, 耗费大量时间精力, 急需一个自主可控、开发便捷、简单易用的虚实迁移通用平台. 尽管迁移学习任务不同, 但整体流程大致可如图11(b)所示, 将虚实迁移中涉及的一些功能操作进行封装, 过该平台相应功能接口调用指定库, 包括机器人种类库(如NAO机器人、机械臂等)、仿真环境库(如PyBullet、MuJoCo等)、通用算法库(如DDPG、PPO等)和迁移方法库(如域自适应、域随机化、课程学习等). 研究人员只需在该平台调用配置接口完成的环境信息将同步至实体机器人或目标仿真平台, 待模型训练完成后调用迁移接口即可实施迁移. 构建一套虚实迁移的通用实验平台将有助于开发人员专注于迁移学习算法本身的研究, 节约在环境配置方面的时间与精力, 这将大幅缩短科研周期, 提高研究效率.
5 总 结
本文总结了有关于机器人虚实迁移学习的主要工作, 从迁移学习过程中数据信息流动和智能化方法作用对象的角度提出一个虚实迁移的流程框架, 并在此基础上提出了当前虚实迁移学习技术的3个主要方向: 基于真实环境的仿真模型优化、基于仿真环境的知识迁移、基于虚实环境的策略迭代提升. 接着, 对每个方向中的主要方法以及相关工作进行阐述, 并对比了一些代表性工作的实验内容. 最后, 介绍虚实迁移学习领域未来面临的挑战, 给出了相应的解决思路与发展方向. 值得说明的是, 除了机器人领域, 虚实迁移强化学习相关思想与技术也可广泛应用于其他领域, 以避免高风险的真实环境交互并提高训练效率. 如在金融交易中, 虚实迁移强化学习可应用于虚拟金融市场环境中的交易策略开发和优化, 以提高交易策略的性能和鲁棒性, 并将其应用于实际市场中进行交易. 另外, 在医疗决策场景中, 虚实迁移强化学习可用于在虚拟环境中训练智能代理来模拟医疗治疗决策, 并将其迁移到实际临床实践中, 以提高医疗决策的准确性和效果. 我们希望通过对当前相关工作的分类与总结, 为相关研究人员提供一种新的视角解读虚实迁移强化学习领域的研究现状与方向.