【Reinforcement Learning For Quadruped Control】2
奖励函数。奖励函数是状态和动作的函数 r t ( s t , a t , s t + 1 ) r_t(s_t, a_t, s_{t+1}) rt(st,at,st+1),是强化学习(RL)算法的驱动力。在四足机器人等复杂系统的背景下,奖励可能是速度偏差与期望速度的差异、关节扭矩值与电机扭矩限制的符合度、机器人能耗以及与自身或地面的碰撞等因素。手工设计有效的奖励函数是具有挑战性的,因为它们对超参数非常敏感。手工设计的奖励函数需要大量的领域知识和精细的调整。不充分的奖励函数可能导致不良行为,而过度的奖励函数可能使超参数优化变得复杂。其他可能妨碍学习过程并导致次优策略的情况包括稀疏奖励;其中奖励通常仅在实现最终目标时获得,而不是通过中间奖励来指导策略;奖励操控;如果奖励函数设计不当,策略可能导致剥削行为和意外行为;以及奖励不确定性;这种情况可能由于信息不完整或环境的随机性而产生。
四足运动的奖励函数通常包括诸如期望朝向、期望速度、基座方向、基座速度、关节扭矩、关节速度、足部接触状态和足部速度等因素。这些因素依赖于控制器的任务及其期望的结果。通过惩罚过度的接触力和碰撞等负奖励,进一步完善奖励函数,以提高能效并实现自然的运动。也可以将风格特定的元素纳入奖励函数中,鼓励特定行为,抑制不希望出现的动作,并提高准确性。
最近的研究探索了奖励函数的分解(参见公式(2)),将任务( r t t a s k r_t^{task} rttask)和风格( r t s t y l e r_t^{style} rtstyle)奖励组件分开。虽然这种方法可以有效地将任务完成与风格考虑分开,但它引入了训练风格评估判别器的挑战。
r t = r t t a s k + r t s t y l e (2) r_t = r_t^{task} + r_t^{style} \ \ \ \ \ \ \text{(2)} rt=rttask+rtstyle (2)
类似于生成对抗网络,在这种背景下,判别器的训练可能会因为数据稀缺、模型崩溃、梯度消失和超参数敏感性等问题而变得困难。此外,任务奖励和风格奖励之间的冲突可能会妨碍训练,甚至导致类似模型崩溃的效果。为了解决这一问题,需要谨慎的训练策略,例如,首先只关注任务奖励或风格奖励,直到策略充分收敛,然后再引入其他元素。
Rudin et al. (2022a); Hoeller et al. (2024) 通过实验使用了一种包含最终位置跟踪的奖励函数,而不是通常使用的速度跟踪。这个方法得到了一个有趣的策略,既能提高能效,又能学习更复杂的机动动作。代理并不严格保持设定的速度,而是通过优先考虑最终位置而非速度,来适应复杂地形,从而调节其速度以确保稳定性。
另一种有效的技术是使用课程奖励,通过单调增加或减少的奖励,或根据训练进展或特定条件动态调整奖励函数来定义课程奖励。适应不断变化的奖励结构能提高样本效率。
仿真平台。在深度强化学习(DRL)领域,仿真器占据了关键角色。这导致了一个常见的误解,即强化学习本质上需要模型来进行训练,尽管有相反的说法。虽然可以使用无模型的强化学习策略来训练现实世界的机器人,但这种方法通常不切实际,尤其是对于复杂且昂贵的机器人,如四足机器人。利用高保真度仿真器来训练代理可以显著加速训练过程。仿真平台可以实现更快速、更可扩展、低成本的数据收集。MuJoCo、Raisim 和 PyBullet是四足运动领域常用的仿真平台。尽管这些仿真器相对简单,但在将策略转移到现实环境时,它们的精度可能不那么可靠。尽管MuJoCo是一个流行的DRL验证平台,但在四足机器人控制器策略学习中使用较少。相比之下,Raisim和PyBullet已获得广泛采用。Isaac Gym ,专为DRL应用设计,因其GPU能力和先进的物理仿真而近期获得关注。这些先进的高保真度仿真器对促进开发算法的仿真到现实转移具有不可估量的价值。因此,Raisim和PyBullet通常用于机器人仿真,而Isaac Gym主要专注于基于DRL的控制策略开发。然而,Dreamer世界模型,一种基于模型的强化学习技术,已应用于现实世界的四足机器人,而无需使用仿真器或示范来训练运动控制器。
在仿真中学习的策略通常无法有效地推广到现实世界的场景中,原因是领域不匹配和模型误差。这也被称为仿真器的现实差距reality gap。为了减少这一现实差距,需要采用领域随机化和领域适应等技术,以使代理能够适应现实世界的环境或任务,而不需要在仿真环境中经过广泛的重新训练。
领域随机化是在训练期间,训练环境的动态或机器人测量参数会发生变化)。通过这种方式,领域随机化鼓励机器人策略学习在各种环境参数和测量下有效的策略,例如机器人质量、腿长、驱动参数、重力、摩擦力、光照、纹理、传感器噪声等的变化。当对领域参数的不确定性没有先验知识时,领域随机化特别有用,但这可能会增加额外的训练时间和复杂性,并且需要专家知识来决定适当的随机化范围。过度随机化可能导致次优策略或不收敛。
领域适应的目标是通过在现实世界中对策略进行微调,或通过使用现实世界的数据在仿真中适应训练好的策略,从而最小化仿真和现实世界之间的差距。这可以通过使用基于重建的方法或不变特征生成方法来完成。在基于重建的方法中,必要的组件通过模型进行重建,策略在重建模型上进行训练。虽然方法类似,但在不变特征生成方法中,编码发生在输入数据中,以生成领域不变特征,策略在这些特征上进行训练。这些方法需要一些现实世界的数据来精炼策略。如果新领域与初始训练数据的概率分布高度不同,那么策略在仿真中适应就变得具有挑战性。
课程学习
受人类学习启发,课程学习涉及逐步增加任务或环境的复杂性。通过从较简单的任务开始,代理可以更高效地学习并为更复杂的任务做好准备。课程学习由几个关键技术定义。其中一项技术是任务排序,其中任务的难度逐渐增加,从简单的任务开始。另一项技术是经验策划,它有助于缓解遗忘效应。此外,还使用降级技术,在某些任务表现不佳的agent会被降级到较低的水平。设计有效的课程需要一定的专家知识,因为它可能是定义代理性能的关键因素。此外,这种方法也存在过度拟合早期任务的潜在风险。
层次学习
在这种方法中,任务被划分为子层次,例如较高和较低层次,每个层次单独训练。通常,由于强化学习(RL)策略在数据驱动能力上的优势,它们被用作层次结构中的较高层次控制器,以有效地管理复杂的决策过程并适应动态环境。它生成子目标指令,随后由低级控制器执行。在一些研究中,这些子目标是低级控制器用来学习控制策略的潜在空间嵌入。这种方法使agent能够学习与输入分布无关的策略,从而提高了agent学习zero-shot策略的能力。通过将最终目标分解为更易管理的子目标,策略的样本效率可以得到提高。然而,子目标的组合可能导致次优的最终策略。因此,在设计和分解子目标时需要专家知识。
端到端控制
在端到端控制中,RL策略直接将传感器输入映射到输出的关节角度,其中输入可以是复杂的传感器数据,如像素和体素,也可以是简单的传感器数据,如IMU、关节角度和期望的基座速度。这种方法消除了中间设计步骤的需求,如显式的状态估计或规划,从而减少了对机器人控制器设计阶段专家领域知识的要求。这些控制器能够学习广泛的控制方法,因为策略是在完整的解决空间中直接训练的。然而,由于神经网络的黑箱性质,这限制了控制器的可解释性,进而限制了它们在安全关键场景中的应用。尽管存在开发可解释的深度神经网络(DNN)模型的技术,但它们在四足运动应用中的使用仍然有限。在端到端控制中,DNN架构的开发是针对要解决的任务量身定制的,因此无法泛化到其他任务。此外,训练所需的适当RL优化算法的选择,以及策略的输入输出选择,必须仔细决定。
模仿学习
通过专家示范学习可以提供一个强有力的初始策略,减少训练初期所需的探索量,从而得出一个相对较好的策略。这些策略通常利用运动跟踪,其中控制器通过行为克隆、逆向强化学习(IRL)或生成对抗技术跟踪目标姿势的期望轨迹。与RL相结合,模仿学习在产生复杂行为方面已显示出其有效性。主要挑战是防止策略过度依赖模仿数据集。为了解决这一问题,可以采用数据增强、课程学习和探索技术等方法。
师生策略学习
师生策略学习解决了现实世界中噪声或不可靠传感器数据带来的挑战。教师策略配备了包括环境真实信息(如摩擦系数和非遮挡高度图)在内的特权信息,可以在仿真中学习最优策略。这些特权信息有时仅在仿真环境中可用。相比之下,学生策略缺乏这些特权信息,仅依赖于噪声传感器数据。使用师生策略的一种常见方法是让教师策略学习控制,并使用特权数据在观察和动作之间创建信念状态。在训练学生策略时,它学习模仿教师策略,并在不使用特权数据的情况下生成这些信念状态。这种方法可以提高训练效率,并实现zero-shot仿真到现实的转移,处理现实世界中的噪声传感器数据。
元学习Meta-Learning
元学习,又称“学习的学习”(Learning to Learn),是训练能够快速适应新任务或新环境的代理的过程,代理通过学习如何更快、更高效地学习来实现这一点。结合强化学习(RL),代理可以学习智能地探索和学习正确的特征,使其在训练后将策略部署到不同环境中时,通过利用先前的学习经验,能够快速适应该领域。结合RL的元学习是一种新兴技术,具有较高的样本效率。
比如你正在训练一个服务型机器人,在一个家庭环境中完成三个任务:
- 开门(Open the door)
- 关灯(Turn off the light)
- 倒水(Pour water into a cup)
训练过程中,机器人反复接触多种任务(如开门、关灯、倒水、关窗、扭旋钮等),元学习算法(比如 MAML 或 RL²)试图从这些任务中学习一个共享的任务适应机制。
训练后的元策略具备这样的能力:
在遇到“开冰箱门”这种没见过但结构类似的新任务时,能够通过1~2次尝试快速适应;
不再需要从随机动作开始探索,而是能利用已有的“开门”技能快速转移;
学习到的知识是关于“开合结构的交互方式”,而不是“特定门的打开方法”。
离线强化学习
离线强化学习方法也叫“批量强化学习(Batch RL)”,利用预先收集的数据来训练RL代理,而无需与环境进行交互。通过离线RL,RL可以应用于那些传统上看起来不像RL问题的领域,在这些领域中,探索、试错是极其危险的。离线RL可以在强大的硬件上训练大量数据。然而,这也存在标准RL中采样误差和函数逼近误差的根本问题,但由于训练的性质,这些误差可能更加严重。通常,在这种方法中,数据的时间确定性特性被忽略。
参考资料
来源网络,仅供学习使用
如有侵权,联系删除