在足球比赛的场景下,Humanoid面对的是一个动态的而非开放式的环境,不仅需要机器人能够监测和理解环境的变化,且需要根据情况制定目标并做出实时响应。虽然它面对的复杂性相较于自动驾驶汽车面对的动态且开放环境的复杂性相对较低,但是在足球比赛场景下可很方便的研究Humanoid的EAI(Embodied AI)技术,该技术也可迁移到其它环境,例如:工厂,也是迈向开放环境坚实的一步。同时,足球比赛能够体现出人类运动智能的许多方面。

根据DeepMind团队的最新研究Learning Agile Soccer Skills for a Bipedal Robot with Deep Reinforcement Learning,Humanoid已经可以进行1v1的足球比赛,已经拥有的技能:

  • Rapid fall recovery
  • Walking
  • Side stepping
  • Turning
  • Kicking
  • Ball interaction
  • Block opponent shots and more.

其中,有些技能是基于脚本的策略根本做不到的,甚至研究者也没有认识到,例如:在角落紧急转弯的行为。然而,基于学习的方式可探索到这些技能。这些技能的例子有:上下文依赖的敏捷技能,例如:Kicking a moveing ball;涌现的战术,例如:微妙的防御性运动模式;以及适应游戏场景的footwork,例如:在射球时接近attacker的短跑和追逐一个loose ball。智能体需要学习预测球和对手,从而使运动模式适应游戏的上下文,且为进球得分而长时间的协调自身技能。

Future Work

作者们表明下一步工作有:

  • 多智能体足球比赛:智能体需要学会合作和敏捷技能。
  • 只基于有限的历史视觉信息的足球比赛:智能体基于视觉推断球、目标、以及对手的位置,这是很困难的。

对于只基于历史视觉信息的足球比赛,作者们基于NeRF进行了研究:NeRF2Real: Sim2real Transfer of Vision-guided Bipedal Motion Skills using Neural Radiance Fields

技术原理

在仿真环境中,以本体感知运动捕获观测为条件,基于RL算法分两个阶段训练模型,从而使智能体学习长期任务的Humanoid全身控制。如图1所示,算法训练的两个阶段。

图1 智能体的训练范式

在第一阶段,训练了两个技能,分别是fall recovery和与未经过训练的对手对战而进球的技能。在第二阶段,通过蒸馏技能和以自我博弈训练多智能体的方式训练智能体1v1的足球任务,其中对手的技能来自于训练过程保存的自身技能。因此,在第二阶段,智能体学习结合之前的技能而完善整个足球任务需要的技能,且预测对手行为。为了能够zero-shot sim-to-real,作者们利用了领域随机化和随机push与扰动,而且设计了奖励函数提升探索。

同时,作者们发现预训练独立的足球技能和fall recovery技能是任务成功所必须的最小技能集合。与之相对,端到端的方式学习会导致次优解决方案,例如:机器人只会在地面上滚动或站立。预训练fall recovery技能也可简化奖励设计和探索问题,从而避免局部最优的运动。这种最小技能库的方式也能够使机器人学习到涌现或紧急行为。

对于智能体的策略,作者们利用MPO算法进行学习。其中,MPO算法的Critic为Distributional Critic,即算法被称为DMPO。在训练的第一阶段,对手的策略是固定的。然而,在第二阶段,对手的策略是从训练过程中保存的自身策略中采样,因此环境属于动态且部分可观测的。确切的说,在第二阶段,主要是蒸馏技能和自我博弈。其中,在智能体表现超过预先设置的阈值时蒸馏技能结束,自我博弈提供了一个自动的课程且扩展了智能体遇到的环境。

简单的说,对于fall recovery技能,机器人通过匹配预定义位姿的方式学习,主要以关节角和重力方向与目标匹配程度作为奖励函数的方式实现

策略蒸馏

对于蒸馏,作者们利用策略蒸馏Actor-Mimic的方式从技能策略中学习,主要通过增加一个正则化项的方式使智能体策略与技能策略相似。这种方式与之前正则化学生策略到跨任务的共享策略或收到有限状态信息的默认策略、以及kickstarting工作和From motor control to team play in simulated humanoid football工作相似。然而,与之前工作不同的是,本文的两个技能策略相互独立:智能体站立时足球技能有效,否则恢复技能有效。因此,对于每个状态,作者们正则化智能体策略至其中一个。确切的说,在策略提升阶段,$Q$函数值被替换为:
$$
\begin{aligned}
\begin{cases}
(1-{\lambda}_s)\mathbb{E}_{\alpha\sim\pi(\cdot\vert s)}[Q^{\pi_{\theta}}(s,a)-\lambda_sKL(\pi_{\theta}(\cdot\vert s)\Vert\pi_{s}(\cdot\vert s))] & if & s\in\mathcal{U} \\
(1-{\lambda}_g)\mathbb{E}_{\alpha\sim\pi(\cdot\vert s)}[Q^{\pi_{\theta}}(s,a)-\lambda_gKL(\pi_{\theta}(\cdot\vert s)\Vert\pi_{g}(\cdot\vert s))] & if & s\notin\mathcal{U}
\end{cases}
\end{aligned}\tag{1}
$$
式(1)中$\mathcal{U}$表示智能体处于站立状态的集合。

为了使智能体超越技能策略,权重$\lambda_s$与$\lambda_g$自适应的调整,从而使预测的$Q$高于阈值时没有正则化项。这种方式提出于多目标策略优化Constrained-RL。确切的说,权重参数更新通过随机梯度下降的方式最小化式(2)

$$
\begin{aligned}
c(\lambda_s)=\lambda_s(\mathbb{E}_{\xi}[Q^{\pi_{\theta}}(s,a)]-Q_s)
\end{aligned}\tag{2}
$$
且利用softplus变形和clip的方式限制$0\le\lambda_s\le1$

自我博弈

自我博弈可提高智能体的对手意识,从而训练智能体敏捷的和防御性的对抗对手进球策略。在实验中,作者们发现利用前$\frac{1}{4}$备份的策略作为对手策略有利于智能体训练的稳定性,这种方式能够确保对手的表现随着时间缓慢的提升。同时,为了处理对手的混合导致的部分可观测性,作者们把critic以对手的整数身份为条件。

标签: Bipedals, Self-Play

版权: 本篇博文采用《CC BY-NC-ND 4.0》,转载必须注明作者和本文链接

添加新评论