Learning Smooth Humanoid Locomotion through Lipschitz-Constrained Policies
Learning Smooth Humanoid Locomotion through Lipschitz-Constrained Policies
- 研究动机
- 解决方案
- 技术路线
- 背景知识
- Lipschitz约束策略
- 实验结果
Learning Smooth Humanoid Locomotion through Lipschitz-Constrained Policies
研究动机
- 由于仿真中使用的简化动力学和驱动模型,所得到的模型往往接近理想化,这意味着电机可以在任何状态下产生所需的扭矩。因此,基于RL的策略在仿真中训练时,容易发展出类似于开环控制(bang-bang 控制)的抖动行为,导致连续时间步之间的动作差异显著,产生实际执行器无法产生的极高输出扭矩,这些行为往往无法转移到真实机器人上。因此,强制执行平滑行为对于成功的仿真到现实世界的转移至关重要。
- 训练过程中引入平滑性奖励是一种有效的方法,促使产生更平滑的行为。在机器人运动中,通常惩罚关节速度、关节加速度和能量消耗,或通过应用低通滤波器来平滑策略行为。然而,平滑性奖励需要仔细调整权重以平衡平滑行为与任务完成之间的关系,而低通滤波器往往会抑制或限制探索,导致在为新机器人训练控制器时需要额外的努力。
解决方案
引入Lipschitz-Constrained Policies(LCP),一种通用且可微的方法,用于鼓励RL策略发展平滑的行为。LCP通过可微的梯度惩罚在策略的输出动作与输入观察之间施加Lipschitz约束。LCP只需几行代码即可实现,并且可以轻松集成到现有的RL框架中。
技术路线
背景知识
Lipschitz连续性是一种限制函数变化速度的性质。该性质可用于描述函数平滑性,如图所示。
Lipschitz连续性。给定两个度量空间 ( X , d X ) (X,d_X) (X,dX)、 ( Y , d Y ) (Y,d_Y) (Y,dY),其中 d X d_X dX表示集合 X X X上的度量, d Y d_Y dY是集合 Y Y Y上的度量。如果函数 f : X → Y f:X\rightarrow Y f:X→Y满足存在一个实常数 K K K,使得对于 X X X中的所有 x 1 x_1 x1和 x 2 x_2 x2,都有
d Y ( f ( x 1 ) , f ( x 2 ) ) ≤ K d X ( x 1 , x 2 ) d_Y(f(x_1),f(x_2))\le K d_X(x_1,x_2) dY(f(x1),f(x2))≤KdX(x1,x2)
任何这样的 K K K被称为函数 f f f的Lipschitz常数。因此,如果一个函数的梯度是有界的:
∣ ∣ ▽ x f ( x ) ∣ ∣ ≤ K ||\bigtriangledown _xf(x)||\le K ∣∣▽xf(x)∣∣≤K
那么这个函数 f f f是Lipschitz连续的。
Lipschitz约束策略
Lipschitz约束策略是一种通过在训练过程中引入Lipschitz约束来训练产生平滑行为的策略方法。
平滑奖励可以减轻抖动行为,但奖励函数设计复杂,需要调整大量的超参数。此外,这些平滑度奖励是不可微的,因为它们是作为基础环境的一部分来实施的。通常需要通过采样方法,如策略梯度进行优化。而这项工作提出一种基于Lipschitz连续性的简单且可微的平滑度目标,用于策略优化。
m a x π J ( π ) \underset{\pi}{max}J(\pi) πmaxJ(π)
s . t . m a x s , a [ ∣ ∣ ▽ s l o g π ( a ∣ s ) ∣ ∣ 2 ] ≤ K 2 s.t. \quad\underset{s,a}{max}[||\bigtriangledown_s log\pi (a|s)||^2]\le K^2 s.t.s,amax[∣∣▽slogπ(a∣s)∣∣2]≤K2
其中 K K K为常数, J ( π ) J(\pi) J(π)为RL目标。由于计算所有状态下的最大梯度准则并不容易,因此用对策略推理过程中收集的样本的期望值来近似这一约束条件
m a x π J ( π ) \underset{\pi}{max} J(\pi) πmaxJ(π)
s . t . E s , a ∼ D [ ∣ ∣ ▽ s l o g π ( a ∣ s ) ∣ ∣ 2 ] ≤ K 2 s.t.\quad \mathbb{E}_{s,a\sim\mathcal{D}}[||\bigtriangledown_s log\pi(a|s)||^2]\le K^2 s.t.Es,a∼D[∣∣▽slogπ(a∣s)∣∣2]≤K2
其中 D \mathcal{D} D是由策略收集的状态-动作对 ( s t , a t ) (s_t,a_t) (st,at)组成的数据集。而后,使用拉格朗日乘数 λ \lambda λ将约束重新形式化为惩罚项。
m i n λ ≥ 0 m a x π J ( π ) − λ ( E s , a ∼ D [ ∣ ∣ ▽ s l o g π ( a ∣ s ) ∣ ∣ 2 ] − K 2 ) \underset{\lambda \ge 0}{min}\underset{\pi}{max}J(\pi)-\lambda(\mathbb{E}_{s,a\sim\mathcal{D}}[||\bigtriangledown_s log\pi(a|s)||^2]- K^2) λ≥0minπmaxJ(π)−λ(Es,a∼D[∣∣▽slogπ(a∣s)∣∣2]−K2)
为简化目标函数,将 λ g p \lambda_{gp} λgp设置为手动指定的系数,由于 K K K是一个常数,因此可推出一个简单的策略可变梯度惩罚。
m a x π J ( π ) − λ g p E s , a ∼ D [ ∣ ∣ ▽ s l o g π ( a ∣ s ) ∣ ∣ 2 ] \underset{\pi}{max}J(\pi)-\lambda_{gp}\mathbb{E}_{s,a\sim\mathcal{D}}[||\bigtriangledown_s log\pi(a|s)||^2] πmaxJ(π)−λgpEs,a∼D[∣∣▽slogπ(a∣s)∣∣2]
实验结果
请阅读原文。