1. 策略梯度基础与多任务强化学习框架策略梯度方法是强化学习领域中直接优化策略参数的一类算法。与基于价值函数的方法不同策略梯度直接对策略πθ(a|s)进行参数化通过梯度上升来最大化期望回报。其核心公式来源于策略梯度定理∇θJ(θ) Eπ[∇θ log πθ(a|s)Qπ(s,a)]在实际应用中我们常用优势函数A(s,a)替代Q值函数来降低方差。对于多任务场景我们需要同时优化多个目标函数。假设有k个任务每个任务的目标函数为Ji(θ)则多任务策略梯度可以表示为∇θJmulti(θ) Σλi∇θJi(θ)其中λi是第i个任务的权重系数。如何自动调整这些权重系数是多任务学习的关键挑战。注意在实际实现中直接相加不同任务的梯度可能导致训练不稳定因为不同任务的梯度可能量纲不同。通常需要对梯度进行归一化处理。2. METRA算法与技能发现机制2.1 技能表示学习METRAMutual-Information-based Exploration and Trajectory Representation Acquisition算法通过最大化技能变量z与状态转移之间的互信息来学习有意义的技能表示。其目标函数为I(z; (s,s)) H(z) - H(z|s,s)在实践中我们通过优化以下替代目标来实现J(ϕ) E[(ϕ(s)-ϕ(s))Tz] - κ·min(ϵ,1-∥ϕ(s)-ϕ(s)∥²)其中ϕ是状态的特征提取器κ是Lagrange乘数。第一项鼓励技能z能预测状态变化方向第二项约束状态特征的变化量。2.2 多样性奖励设计多样性奖励rdiv的设计是技能发现的核心。在爬行机器人实验中我们使用rdiv (ϕ(s)-ϕ(s))Tz这种设计使得不同的z会引导策略产生不同的行为模式。例如在木材和橡胶垫两种地面上相同的z会产生相似的行为模式而不同z会产生明显不同的移动策略。3. 多任务平衡与λ自动调整3.1 目标函数分解在多任务设置中总目标函数可以分解为J(θ) Jtask(θ) λJdiv(θ)其中Jtask是主任务奖励如移动速度Jdiv是多样性奖励。λ的动态调整对算法性能至关重要。3.2 λ的梯度推导基于链式法则我们可以推导出λ的梯度∇λJtask ∇θJtask∇λθ其中θ θ α∇θ(Jtask λJdiv)。经过推导如原文附录所示最终得到∇λJtask ≈ αAtaskAdiv(∇θ log πθ(a|s,z))²这个梯度告诉我们当主任务优势函数Atask和多样性优势函数Adiv同号时即两者目标一致应该增加λ当它们符号相反时应该减小λ。4. 机器人控制实验实现细节4.1 观测空间设计如表3所示A1机器人的观测空间包含65维特征主要包括基础状态位置、旋转、速度等关节信息角度、角速度环境信息障碍物距离、类型命令信息目标速度当前技能z关键点观测空间的设计需要平衡信息完备性和维度灾难。实验表明加入环境特征如障碍物信息比仅使用本体感知能获得更好的泛化性能。4.2 奖励函数组成如表2所示爬行任务的主要奖励组成角速度跟踪e^{-|wyaw|}鼓励保持稳定朝向线速度跟踪-|vx-vtarget|鼓励达到目标速度存活奖励2鼓励延长episode力矩惩罚-1e-6·Στj²鼓励节能关节限位惩罚-0.1·Σmax(|dofj|-doflim,0)力矩超限惩罚-0.2·Σmax(|τj|-τlim,0)4.3 域随机化参数如表5所示训练中使用了以下随机化质量变化[-1.0,3.0]增加质量不确定性摩擦系数[0.0,2.0]适应不同地面电机强度[0.9,1.1]模拟执行器差异初始位置随机化5. 训练技巧与参数设置5.1 PPO算法实现使用PPO算法进行策略优化关键参数学习率0.0005PPO clip阈值0.2GAE λ0.95折扣因子γ0.99熵系数0.001网络结构策略网络MLP[512,256,128]ELU激活价值网络MLP[512,256,128]ELU激活ϕ网络MLP[256,256,256]ReLU激活5.2 训练流程优化每个epoch收集多个episode的数据对每个transition计算rtask和rdiv更新ϕ网络和κ使用PPO更新策略奖励rrtaskλrdiv更新价值函数根据梯度调整λ6. 实际部署中的挑战与解决方案6.1 仿真到现实的迁移在真实机器人部署时遇到的主要问题执行器延迟仿真中假设瞬时响应实际电机有50-100ms延迟解决方案在观测中加入历史动作传感器噪声IMU读数存在漂移解决方案增加观测噪声训练如表4地面不确定性摩擦系数变化大解决方案训练时随机化摩擦系数6.2 技能发现的可解释性通过分析不同z对应的行为模式我们发现z的某些维度控制步态频率某些维度控制身体高度其他维度影响腿的摆动幅度这种解耦表示使得我们可以通过人工干预z来获得特定行为。7. 高级应用墙壁跳跃任务墙壁跳跃任务展示了本方法的强大能力。如图9所示定义基于人类示范的引导点奖励 rt e^{-||x-gi||2}策略自动学习到先跑向墙壁用前空翻动作蹬墙完成后空翻并平稳落地这个任务的成功关键在于多样性奖励鼓励探索各种接触墙壁的方式而λ的自动调整确保在探索和利用间取得平衡。8. 性能优化经验分享梯度裁剪策略梯度幅值限制在[-0.5,0.5]防止突变优势归一化将优势函数归一化为均值0方差1并行数据收集使用8个环境并行采样加速训练阶段性训练先训练基础移动技能再添加障碍物课程学习逐步增加任务难度如障碍高度9. 扩展应用与未来方向本方法已成功应用于四足机器人复杂地形导航机械臂多物体操作无人机特技飞行可能的改进方向包括分层技能结构将基础技能组合成复杂行为基于语言的技能描述将z与自然语言关联多机器人技能迁移在不同形态机器人间共享技能在实际机器人项目中我发现策略梯度方法的性能对以下几个因素特别敏感优势估计的准确性使用n-step或GAE时需要仔细调参奖励函数的平衡各子奖励的量级需要匹配探索充分性初期需要足够大的熵系数一个实用的调试技巧是定期可视化策略的行为分布。当发现策略陷入局部最优时可以临时增加熵系数或多样性奖励权重来促进探索。
策略梯度与多任务强化学习在机器人控制中的应用
1. 策略梯度基础与多任务强化学习框架策略梯度方法是强化学习领域中直接优化策略参数的一类算法。与基于价值函数的方法不同策略梯度直接对策略πθ(a|s)进行参数化通过梯度上升来最大化期望回报。其核心公式来源于策略梯度定理∇θJ(θ) Eπ[∇θ log πθ(a|s)Qπ(s,a)]在实际应用中我们常用优势函数A(s,a)替代Q值函数来降低方差。对于多任务场景我们需要同时优化多个目标函数。假设有k个任务每个任务的目标函数为Ji(θ)则多任务策略梯度可以表示为∇θJmulti(θ) Σλi∇θJi(θ)其中λi是第i个任务的权重系数。如何自动调整这些权重系数是多任务学习的关键挑战。注意在实际实现中直接相加不同任务的梯度可能导致训练不稳定因为不同任务的梯度可能量纲不同。通常需要对梯度进行归一化处理。2. METRA算法与技能发现机制2.1 技能表示学习METRAMutual-Information-based Exploration and Trajectory Representation Acquisition算法通过最大化技能变量z与状态转移之间的互信息来学习有意义的技能表示。其目标函数为I(z; (s,s)) H(z) - H(z|s,s)在实践中我们通过优化以下替代目标来实现J(ϕ) E[(ϕ(s)-ϕ(s))Tz] - κ·min(ϵ,1-∥ϕ(s)-ϕ(s)∥²)其中ϕ是状态的特征提取器κ是Lagrange乘数。第一项鼓励技能z能预测状态变化方向第二项约束状态特征的变化量。2.2 多样性奖励设计多样性奖励rdiv的设计是技能发现的核心。在爬行机器人实验中我们使用rdiv (ϕ(s)-ϕ(s))Tz这种设计使得不同的z会引导策略产生不同的行为模式。例如在木材和橡胶垫两种地面上相同的z会产生相似的行为模式而不同z会产生明显不同的移动策略。3. 多任务平衡与λ自动调整3.1 目标函数分解在多任务设置中总目标函数可以分解为J(θ) Jtask(θ) λJdiv(θ)其中Jtask是主任务奖励如移动速度Jdiv是多样性奖励。λ的动态调整对算法性能至关重要。3.2 λ的梯度推导基于链式法则我们可以推导出λ的梯度∇λJtask ∇θJtask∇λθ其中θ θ α∇θ(Jtask λJdiv)。经过推导如原文附录所示最终得到∇λJtask ≈ αAtaskAdiv(∇θ log πθ(a|s,z))²这个梯度告诉我们当主任务优势函数Atask和多样性优势函数Adiv同号时即两者目标一致应该增加λ当它们符号相反时应该减小λ。4. 机器人控制实验实现细节4.1 观测空间设计如表3所示A1机器人的观测空间包含65维特征主要包括基础状态位置、旋转、速度等关节信息角度、角速度环境信息障碍物距离、类型命令信息目标速度当前技能z关键点观测空间的设计需要平衡信息完备性和维度灾难。实验表明加入环境特征如障碍物信息比仅使用本体感知能获得更好的泛化性能。4.2 奖励函数组成如表2所示爬行任务的主要奖励组成角速度跟踪e^{-|wyaw|}鼓励保持稳定朝向线速度跟踪-|vx-vtarget|鼓励达到目标速度存活奖励2鼓励延长episode力矩惩罚-1e-6·Στj²鼓励节能关节限位惩罚-0.1·Σmax(|dofj|-doflim,0)力矩超限惩罚-0.2·Σmax(|τj|-τlim,0)4.3 域随机化参数如表5所示训练中使用了以下随机化质量变化[-1.0,3.0]增加质量不确定性摩擦系数[0.0,2.0]适应不同地面电机强度[0.9,1.1]模拟执行器差异初始位置随机化5. 训练技巧与参数设置5.1 PPO算法实现使用PPO算法进行策略优化关键参数学习率0.0005PPO clip阈值0.2GAE λ0.95折扣因子γ0.99熵系数0.001网络结构策略网络MLP[512,256,128]ELU激活价值网络MLP[512,256,128]ELU激活ϕ网络MLP[256,256,256]ReLU激活5.2 训练流程优化每个epoch收集多个episode的数据对每个transition计算rtask和rdiv更新ϕ网络和κ使用PPO更新策略奖励rrtaskλrdiv更新价值函数根据梯度调整λ6. 实际部署中的挑战与解决方案6.1 仿真到现实的迁移在真实机器人部署时遇到的主要问题执行器延迟仿真中假设瞬时响应实际电机有50-100ms延迟解决方案在观测中加入历史动作传感器噪声IMU读数存在漂移解决方案增加观测噪声训练如表4地面不确定性摩擦系数变化大解决方案训练时随机化摩擦系数6.2 技能发现的可解释性通过分析不同z对应的行为模式我们发现z的某些维度控制步态频率某些维度控制身体高度其他维度影响腿的摆动幅度这种解耦表示使得我们可以通过人工干预z来获得特定行为。7. 高级应用墙壁跳跃任务墙壁跳跃任务展示了本方法的强大能力。如图9所示定义基于人类示范的引导点奖励 rt e^{-||x-gi||2}策略自动学习到先跑向墙壁用前空翻动作蹬墙完成后空翻并平稳落地这个任务的成功关键在于多样性奖励鼓励探索各种接触墙壁的方式而λ的自动调整确保在探索和利用间取得平衡。8. 性能优化经验分享梯度裁剪策略梯度幅值限制在[-0.5,0.5]防止突变优势归一化将优势函数归一化为均值0方差1并行数据收集使用8个环境并行采样加速训练阶段性训练先训练基础移动技能再添加障碍物课程学习逐步增加任务难度如障碍高度9. 扩展应用与未来方向本方法已成功应用于四足机器人复杂地形导航机械臂多物体操作无人机特技飞行可能的改进方向包括分层技能结构将基础技能组合成复杂行为基于语言的技能描述将z与自然语言关联多机器人技能迁移在不同形态机器人间共享技能在实际机器人项目中我发现策略梯度方法的性能对以下几个因素特别敏感优势估计的准确性使用n-step或GAE时需要仔细调参奖励函数的平衡各子奖励的量级需要匹配探索充分性初期需要足够大的熵系数一个实用的调试技巧是定期可视化策略的行为分布。当发现策略陷入局部最优时可以临时增加熵系数或多样性奖励权重来促进探索。