基于多任务强化学习的地形自适应模仿学习方法
摘要
地形自适应能力是智能体在复杂地形条件下稳定运动的基础,而由于机器人动力学系统的复杂性,传统逆动力学方法通常难以使其具备这种能力。现有利用强化学习在解决序列决策问题上的优势训练智能体地形适应能力的单任务学习方法无法有效学习各类地形中的相关性。事实上,复杂地形自适应任务可以认为是一种多任务,子任务间的关系可以用不同地形影响因素来衡量,通过子任务模型的相互学习解决数据分布信息获取不全面的问题。基于此,本文提出一种多任务强化学习方法。该方法包含1个由子任务预训练模型组成的执行层和1个基于强化学习方法、采用软约束融合执行层模型的决策层。在LeggedGym地形仿真器上的实验证明,本文方法训练的智能体运动更加稳定,在复杂地形上的摔倒次数更少,并且表现出更好的泛化性能。
关键词
多任务学习; 模仿学习; 强化学习; 地形影响因素; LeggedGym地形仿真器 ;
引 言
地形自适应能力是智能体在复杂地形保持稳定运动的基础。地形自适应技术增强了机器人在复杂地形下的运动性能,可用于外附骨骼可保证残障人士在日常生活中的安全行走,同时该技术也被用于角色动画或游戏引擎,使角色在复杂地形上的运动更加自然[1‑5]。苏黎世联邦理工的机器人系统实验室设计了一个包含5类地形影响因素的复杂地形仿真器LeggedGym,并采用游戏激励课程策略通过大规模并行训练,使智能体获得地形自适应技能[6]。DeepMimic方法[7]以地势高度图和腿式机器人本体状态为输入,奖励函数通过模仿奖励和任务奖励使腿式机器人获得地形适应能力。然而,这一类单任务学习模式的不同类型地形适应任务是彼此独立的,忽略了任务之间的潜在共享因素,不同任务模型之间无法相互学习,获取到的任务数据分布不够全面,当出现新的复杂地形时,模型需要重新训练。事实上,复杂地形适应任务可以因其含有的不同地形影响因素种类被看作是一种多任务,子任务被认为是对特定地形影响因素的适应任务,因此可以利用多任务学习的优势来解决。基于以上想法,本文针对地形自适应问题,提出一种地形自适应运动模仿的多任务学习方法。该方法利用地形影响因素种类衡量子任务关系,在子任务上预训练适应性策略组成执行层,采用强化学习训练的策略作为决策层,根据地形信息和决策层奖励,建立多个子任务之间的共享因素表示,融合执行层策略。
具体地,执行层为在单一影响因素所构成的地形上预训练的符合高斯分布的策略集合,根据地形高度图和智能体当前状态输出最优动作。决策层策略被建模为一种混合高斯模型,它根据输入地形高度图和智能体的本体状态信息,融合执行层策略完成模型融合,使得融合模型能够根据地形高度图和智能体自身状态信息输出关节坐标。然后利用PD 控制器将关节坐标转化为关节力矩作用于智能体。在LeggedGym地形仿真器下的智能体运动结果可视化示例如图1所示。
图1 本文方法训练智能体在LeggedGym地形仿真器上的运动可视化
Fig.1 Motion visualization of agents on the LeggedGym terrain simulator by using the proposed method
本文工作的主要贡献包括两个方面:(1)提出一种多任务学习强化学习解决机器人复杂地形自适应任务,有效利用单一影响因素地形适应任务模型间的互学习提高运动模仿性能的稳定性;(2)一个可扩展的地形适应模型,可以利用与任务无关的运动剪辑和地形高度图训练可重复使用的地形适应策略。
1 相关工作
在LeggedGym地形仿真器的实验设置中,复杂地形被认为是含有以下影响因素的地形:discrete, stairs down, stairs up, rough slope, smooth slope等[6]。现有的方法中,DeepMimic采用近端策略优化(Proximal policy optimization, PPO)算法,将地势高度图和腿式机器人自身的状态作为输入[7],并将奖励函数分为模仿奖励和任务奖励来使腿式机器人具备了地形适应能力。Merel‑GAIL是一种修改的生成式对抗模仿学习(Generative adversarial imitation learning, GAIL)方法[8]。该方法对原本GAIL中策略的输入进行简化,使其不再关注上一时刻输出的动作,而只关注上一时刻的状态,简化了计算量,同时提出了一种分层强化学习方法来解决地形自适应任务。对抗性运动先验(Adversarial motion priors,AMP)采用生成对抗模仿学习方法使机器人模仿示教运动轨迹[9],并在此基础上加入了一个任务奖励,使其完成地形适应任务,然而由于其采用了生成对抗网络,导致模型效率差,容易出现模式崩溃现象。DeepMimic采用PPO算法,通过游戏激励课程策略在IsaacGym平台首次实现大规模并行训练,使得ANYmal等机器人具备了地形适应能力[7],然而由于其奖励函数设计得过于复杂,难以将其迁移到其他机器人,例如人形机器人。
多任务学习可以将一个复杂任务按照合理的衡量因素分解成多个相关子任务,对子任务分别训练相应模型,最后通过软约束或硬约束实现模型融合。多任务学习可以有效利用子任务的相关性,促进子任务间的相互学习,以及为新任务的学习提供额外信息,使融合后的模型具有更好的表现效果和鲁棒性[10]。
2 基本定义
在本文方法中,执行层和决策层都用到了PPO算法[16],这是一种从置信域策略优化(Trust region policy optimization, TRPO)[17]改进来的新型策略梯度算法。原本策略梯度算法对步长十分敏感,但又难以选择合适步长,PPO提出的新目标函数实现了训练步骤的小批量更新,解决了策略梯度算法中步长难以确定的问题,也解决了TRPO计算过程复杂、每一步更新运算量大的问题,能够采用更少的时间达到甚至超越TRPO训练的智能体。
自从PPO算法被提出,OpenAI和DeepMind等实验室都将其作为强化学习的首选算法来使用。PPO算法的实现方式分为两种:PPO惩罚和PPO截断。PPO惩罚用拉格朗日乘数法直接将 KL 散度的限制放进了目标函数中,使其变成了一个无约束的优化问题,在迭代的过程中不断更新 KL 散度前的系数为
虽然强化学习的奖励函数提供了一种交互方式,然而仅通过设计一个有效奖励函数使智能体完成复杂地形适应任务,通常运动效果难以保证[18]。这是因为针对任务的单个策略对环境探索难以做到完备,获得的任务数据分布不完整,难以保证模型性能。
3 本文方法
基于多任务学习模式,本文提出一种地形自适应运动模仿的多任务强化学习方法,如图2所示。该方法的整体架构包含决策层和执行层两部分,均采用PPO算法。决策层用于环境探索,并依据智能体的状态‑地势对{s,h}和决策层奖励r采用软约束方式输出混合系数{w1,w2,…,wn},将多个任务模型融合,产生混合动作amix,使各个单一影响因素地形适应任务模型能够相互学习,优化提升融合模型在任意影响因素的地形适应任务效果。执行层由多个预训练策略构成,这些策略在单一影响因素地形适应任务中由示教数据训练。执行层在每一时刻智能体的状态‑地势对{s,h}输出智能体动作a,由PD控制器将动作转化为对应关节的关节力矩。
图2 本文方法框架图
Fig.2 Framework of the proposed method
3.1 策略融合
3.2 执行层设计
3.3 决策层设计
4 实验与结果分析
本文在IsaacGym仿真环境设计实验,实验主要关注人形机器人(Humanoid)控制任务,该机器人包含28个自由度,远高于先前研究工作使用的ANYmal机器狗(只有12自由度),任务更具挑战性[19]。实验数据采用CMU动作捕捉数据集[20]。算法用PyTorch框架实现并使用了elegantRL[21]强化学习算法库,所有算法均在1块GTX titan xp上训练。
实验基于LeggedGym地形仿真器,构建了10×20的地形网格,每一列为相同地形,其中discrete为4列,stairs down为5列,stairs up为7列,rough slope为2列,smooth slope为2列,每一行地形难度等级相同,共分为0~9十级难度,由第1行开始向后地形难度等级上升,地形难度等级的上升意味着地势的高度差增加,其中最大地势高度差为2.25 m,对智能体运动的影响更大。
智能体初始化的位置全部在第1行,初始地形难度等级为0,运动方向为地形难度等级增加的方向。智能体通过相应难度地形时能够维持正常的运动状态,被认为适应了该难度等级的地形。此时若对智能体进行初始化,则初始地形难度等级加1,否则初始地形难度等级不变。能够引发智能体初始化的事件有两个:(1)智能体与环境的交互达到1 000时间步;(2)智能体无法维持正常运动状态而摔倒。
4.1 对比实验
本文通过在LeggedGym地形仿真器中与解决地形自适应问题的3种方法AMP、Merel‑GAIL和DeepMimic进行对比实验,来评估方法的稳定性。3种对比方法和本文方法都构建了4 096个环境。4 096个智能体平均初始化在每一列的第1行位置,即地形难度等级为1的位置,运动的方向为地形难度等级增加的方向。
图3是本文方法和其他3种方法训练出来的4 096个智能体在复杂地形上,每次与环境交互时摔倒的智能体数量。其中横轴表示智能体每次与环境的交互(时间步),纵轴代表此次交互智能体摔倒的数量。随着智能体与环境交互次数的增加,智能体所处的地形难度等级呈现增加趋势,横轴向右地形难度呈现增加趋势。可以看出,本文方法训练出的智能体在每次与环境交互时摔倒的数量更少,地形适应能力更强。同时也可以看出,基于生成对抗模仿学习的两种方法:Merel‑GAIL和AMP相比于基于PPO的本文方法和DeepMimic方法曲线波动更加剧烈,这说明生成对抗模仿学习方法容易出现模式崩溃,限制了智能体技能的多样性。
图3 对比实验结果
Fig.3 Comparative experimental results
4.2 消融实验
为验证本文方法能够促进单一任务模型,及执行层预训练模型间的相互学习,使得最终的融合模型相比于任意单一任务的模型在相应的单一影响因素地形上的效果更稳定,本文进行了相应的消融实验设计如下:(1)对照组,每种单一影响因素地形的4 096个仿真环境中的智能体采用与之相应的预训练策略;(2)实验组,将对照组的预训练策略作为执行层中的预训练策略,然后加入决策层策略进行融合得到融合策略,使该融合策略作为5种单一影响因素地形仿真环境中智能体的策略。
表2为消融实验结果。通过表2可以得出,融合策略训练出的智能体在5种单一影响因素地形中,每次与环境交互的摔倒平均次数都要比相应预训练策略少19%~50%。这表明本文方法的决策层可有效共享执行层单一任务模型信息,模型之间可以相互学习,优化并提升了最终融合模型性能,使得训练出的智能体更加稳定,同时在子任务上的效果也优于单一预训练模型。
表2 消融实验结果
Table 2 Ablation experiment results
地形影响因素 | 实验组摔倒智能体数量(融合策略) | 对照组摔倒智能体数量(预训练策略) |
---|---|---|
discrete | 2.11(↓45.90%) | 3.90 |
stairs down | 15.23(↓18.95%) | 18.79 |
stairs up | 8.38(↓30.69%) | 12.09 |
rough slope | 1.69(↓46.18%) | 3.14 |
smooth slope | 1.95(↓50.26%) | 3.92 |
4.3 泛化性能实验
在测试泛化效果的实验中,本文方法和其他3种方法的训练环境地形难度等级使用0~4五个等级。验证阶段的测试地形难度使用5~9五个等级,智能体均为4 096个。验证阶段统计4 096个智能体在每一时间步的摔倒数量,然后求均值和方差,如表3所示,该数据可用于反映不同方法将已知难度地形上训练模型泛化到未知难度地形能力。由表3可以看出,本文方法训练的智能体在5种地形上平均每一时间步的摔倒数量更少的同时,具有更小的方差;基于生成对抗模仿学习的方法Merel‑GAIL和AMP相比于基于PPO的DeepMimic和本文方法具有更大的方差,这与对比实验结果一致,说明基于生成对抗模仿学习的方法容易出现模式崩溃问题。综上可以得出,本文方法训练的智能体更加稳定,训练的效果不会出现巨大波动,同时泛化性更好,能够将低难度等级地形上训练的模型更好地泛化到高难度等级的地形上。
表3 泛化性能对比
Table 3 Comparison of generalization performance
地形影响因素 | 本文方法 | DeepMimic | Merel‑GAIL | AMP | ||||
---|---|---|---|---|---|---|---|---|
均值 | 方差 | 均值 | 方差 | 均值 | 方差 | 均值 | 方差 | |
discrete | 3.01 | 4.73 | 4.91 | 5.21 | 7.66 | 123.94 | 19.84 | 157.35 |
stairs down | 26.05 | 30.61 | 26.07 | 28.69 | 124.96 | 1019.46 | 71.62 | 546.86 |
stairs up | 14.07 | 18.91 | 16.19 | 20.47 | 12.05 | 150.40 | 8.43 | 77.92 |
rough slope | 2.51 | 2.62 | 4.58 | 4.78 | 6.42 | 74.30 | 3.62 | 29.97 |
smooth slope | 2.28 | 3.77 | 6.60 | 6.95 | 6.98 | 111.74 | 3.60 | 29.18 |
5 结束语
本文提出了一种多任务强化学习方法,使人形机器人具备地形自适应能力。这项工作能够利用非结构化的运动剪辑数据和地形高度图使智能体学习一组可重用的技能及执行层策略。同时,基于多任务学习思想,提出了一种多策略融合方法及决策层策略。消融实验展示了决策策略能够有效利用多任务学习的优势,促进执行策略间的相互学习。泛化性实验展示了本文方法基于多任务学习模式的另一优势,能够使模型具备泛化性。然而,由于这项工作基于深度强化学习方法,因此奖励函数的设计难以考虑数据的所有分布情况,之后的工作将考虑基于生成对抗模仿学习。但是就像对比实验和泛化实验中对AMP和Merel‑GAIL的讨论一样,生成对抗网络容易出现模式崩溃,以致于限制模型的运动多样性。所以下一步工作应避免模式崩溃问题,提高模型运动的多样性。此外,将仿真模仿迁移到真实机器人也将是未来研究的方向之一。
声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。