基于课程学习的精细步态高效稳健学习
1. 深度探索与课程学习概述
在深度强化学习(RL)中,探索是一个关键挑战,尤其是在高维状态和动作空间中。深度探索的目标是探索潜在解决方案,防止智能体行为过早收敛到局部最小值。近年来,为提高探索效率做出了许多努力,产生了一系列表现出色的工作。
-
基于计数的探索方法
:鼓励智能体探索之前未充分访问的状态。
-
参数噪声引入
:在参数噪声中引入噪声比在动作空间中更有效。
-
深度探索
:在价值函数中引入多头结构。在每个情节中,智能体随机选择一个头来决定整个情节的动作。Atari游戏的实验结果表明,这种深度探索不仅提高了性能,还促进了稳定性。
课程学习的思想在机器学习领域由来已久。当目标任务过于复杂而无法直接解决时,课程学习从较简单的任务开始,然后随着训练智能体的改进逐渐增加难度。强化学习与课程学习的结合也吸引了很多关注。例如,在3D第一人称射击游戏Vizdoom中设计了一系列难度逐渐增加的游戏,以学习竞争技能;通过两级课程学习复杂的杂技技能,在较低级课程中学习基本技能,在较高级课程中学习子任务的规划顺序。
2. 方法框架
我们的框架采用了多种技术:
-
目标驱动的DDPG
:将目标速度作为环境观察的一部分输入到策略和价值模型中,这是2018年AI假肢挑战的一个重要特征。
-
深度探索应用于DDPG模型
:价值和策略模型都采用多头结构。
-
分布式训练框架
:由于模拟器计算成本高,采用分布式训练框架,将数百个模拟器分布到集群中,集中收集数据进行学习和预测。
-
课程学习
:设计一系列课程,教智能体自然高效地行走。
3. 策略表示
3.1 特征工程
输入特征分为两组:肌肉骨骼模型的观察和目标速度信息,总共189维,具体如下:
1. 11个身体部位在身体坐标系中的位置和线速度。
2. 11个身体部位在身体坐标系中的旋转和旋转速度。
3. 质心在身体坐标系中的位置和线速度。
4. 所有关节的屈曲角度和屈曲速度。
5. 所有肌肉的激活、纤维长度和纤维速度。
6. 完整胫骨与其他假肢胫骨在X - Z平面上的距离。
目标速度由以下特征表示:
- 目标速度向量与实际速度向量在x、z坐标上的差异。
- 目标速度与实际速度的差异。
- 目标速度向量与当前速度向量之间的角度。
为了保持状态空间紧凑,将大多数输入特征转换到身体坐标系中,以骨盆位置为中心,骨盆向前为x轴。这样可以保留必要信息,减少冗余。
3.2 网络架构
具有深度探索的目标驱动DDPG由Actor网络和Critic网络组成。除最后一层外,密集层表示具有ReLU激活的线性层。Actor网络最后一层使用tanh作为激活函数,Critic网络最后一层不使用激活函数。两个模型都采用多头结构进行深度探索,并分别为身体观察、目标速度和动作向量添加了额外的密集层。
4. DDPG与深度探索结合
结合Actor模型不同头的预测结果,计算集成动作。通过共享底层参数,多头集成节省了大量计算成本。为了提高探索性能,对不同头设置不同的学习率,并发现不同头之间共享数据在实验中表现更好。
5. 分布式训练
为了提高训练速度,使用并行模拟器加速训练。模拟器分布在CPU集群中,每个模拟器在一台机器上运行,通过网络通信将数据记录发送到服务器。学习者、Actor和回放内存部署在高性能GPU服务器上。Actor根据状态返回动作,回放内存收集所有记录,学习者根据回放内存中的样本优化Actor。需要注意保持数据生成速率和训练节奏的平衡,在实验中使用了200台CPU机器和一台P40 GPU机器。
6. 课程学习
肌肉骨骼模型需要尽可能准确地遵循实时切换的外部命令。然而,从头开始学习容易产生次优策略,如横向行走、碰撞和拖腿等。这是因为解决方案存在局部最小值,尽管这些策略行为不自然,但能获得合理的累积奖励,阻止了策略的进一步进化。
为了解决这个问题,将目标切换为尽可能快地奔跑,设置奖励与奔跑速度成正比。发现智能体可以自然地获得类似人类的步态,因为快速奔跑任务受局部最优的影响较小。但将策略从高速转移到低速并不直接,例如高速奔跑时身体前倾有利于平衡,但不适用于正常速度行走;肌肉的激活力通常比正常速度行走时高。
为了将运动技能转移到较低速度,首先直接使用快速奔跑策略作为初始策略,然后设置奖励与$ - |v_t - (1.25, 0, 0)|^2$成正比,并微调策略。结果显示收敛的策略偶尔会左右摇晃,虽有改进但并不完美。为了进一步提高性能,设计了一系列课程进行转换,引入了四个课程,目标速度逐渐从3.75 m/s降低到1.25 m/s,并添加额外惩罚防止过度激活。
7. 其他重要技巧
- 集成预测 :在推理过程中,利用用于深度探索的多头模型,根据Q值估计从K个不同头中选择最有前景的动作,提高了Actor - Critic模型的鲁棒性。
- 情节截断 :将外部控制命令添加到模型中会引入额外噪声,目标切换时过渡变得非常嘈杂。为避免学习过程中的噪声问题,在目标速度切换时将整个情节分割成几个小情节,放弃状态切换时的记录,中断价值函数的备份。
8. 实验
所有实验在Opensim上进行评估,使用比赛第二轮的评估指标。除非另有说明,所有实验结果在三次不同种子的运行中取平均值。
-
课程学习与从头学习的比较
:使用相同的模型架构和超参数,仅初始参数不同。定性和定量结果都表明,课程学习收敛更快,性能更好。
-
消融分析
:
- 没有特征工程(包括坐标系转换),性能下降11分,这是由于冗余的状态空间。
- 集成预测使最终性能提高9分,同时将跌倒率从8.3%降低到0.3%,提高了鲁棒性。
- 情节截断使性能额外提高1分。
- 课程学习步骤带来最大的性能提升(260分),表明初始参数在这种情况下有很大影响。
9. 超参数
| 超参数 | 值 | 描述 |
|---|---|---|
| Frame - skip | 4 | 重复智能体选择的每个动作的次数 |
| Head number | 12 | 用于引导探索的头的数量,用于策略和动作价值函数 |
| CPUs | 200 | 用于分布式训练的并行模拟数量 |
| Learning rate (μ) | 3e - 5 | 目标驱动DDPG中策略网络的学习率 |
| Learning rate (Q) | 3e - 5 | 目标驱动DDPG中动作价值网络的学习率 |
| Batch size | 128 | 训练神经网络时使用的批量大小 |
| Replay memory size | 2e6 | 用于存储轨迹转换的最大缓冲区大小 |
| γ | 0.96 | 计算累积奖励的折扣因子 |
| Warm - up episodes | 50 | 收集这么多轨迹后开始训练过程 |
10. 对话数据集分析
Conversational Intelligence Challenge(ConvAI)是无目标导向对话系统(聊天机器人)的竞赛,旨在改进现有聊天机器人并创建无偏评估和比较聊天机器人的评估设置。第二届ConvAI竞赛的任务是关于爱好、工作、家庭、宠物等常见话题的闲聊。
本报告描述了ConvAI2期间收集的人机对话数据,分析了这些数据并与第一届ConvAI(讨论维基百科文章)的对话进行了比较。发现ConvAI2的任务对用户更有吸引力,对聊天机器人的挑战更小。对付费工人和志愿者表现的比较表明,付费工人生成的对话质量更高,对聊天机器人的评分也更高。但为了使竞赛更接近聊天机器人的实际使用情况,任务应该对志愿者更有吸引力。
以下是训练流程的mermaid流程图:
graph LR
A[开始] --> B[目标驱动DDPG]
B --> C[深度探索]
C --> D[分布式训练]
D --> E[课程学习]
E --> F[集成预测]
F --> G[情节截断]
G --> H[实验评估]
H --> I[结束]
通过以上方法和实验,我们提出的目标驱动DDPG与分布式模拟器和深度探索相结合的方法,为OpenSim肌肉骨骼模型提供了一种解决方案。通过课程学习,智能体先学会快速奔跑,再过渡到较慢速度的行走,最后适应随机目标速度的环境。未来,需要寻找更通用的解决方案,减少手动子任务定义。
基于课程学习的精细步态高效稳健学习
11. 方法优势总结
我们所采用的一系列方法在训练智能体实现精细步态学习方面具有显著优势,下面通过表格形式进行总结:
|方法|优势|
| ---- | ---- |
|目标驱动的DDPG|将目标速度融入环境观察输入,使策略和价值模型能更好地根据目标进行学习和决策,适应实时外部命令的要求。|
|深度探索(多头结构)|通过在价值和策略模型中引入多头结构,提高了探索效率,防止智能体过早收敛到局部最小值,增强了学习的稳定性和性能。|
|分布式训练|解决了模拟器计算成本高的问题,通过并行计算加速训练过程,同时需要注意平衡数据生成和训练节奏,以确保训练效果。|
|课程学习|避免了从头学习产生次优策略的问题,先让智能体学习快速奔跑,再逐步过渡到正常速度行走,利用不同速度任务之间的共性,有效提升了学习效果。|
|集成预测|利用多头模型进行集成预测,根据Q值选择最有前景的动作,提高了Actor - Critic模型的鲁棒性。|
|情节截断|在目标速度切换时进行情节截断,避免了外部控制命令带来的噪声对学习过程的干扰,保证了学习的有效性。|
12. 技术细节深入分析
为了更深入理解这些方法,我们进一步分析其技术细节。
12.1 特征工程的重要性
特征工程是策略表示的基础,将输入特征分为肌肉骨骼模型观察和目标速度信息两组,并转换到身体坐标系中,具有多方面的意义。以下是一个详细的分析列表:
-
减少冗余信息
:在全局坐标系中,不同方向的相同速度行走会产生不同的观察结果,而转换到身体坐标系后,这些观察结果保持不变,减少了不必要的信息冗余。
-
保留关键信息
:虽然进行了坐标系转换,但仍然保留了必要的信息,如身体各部分的位置、速度以及关节和肌肉的状态等,确保智能体能够获取足够的信息进行决策。
-
便于学习
:紧凑的状态空间使得智能体更容易学习和理解环境,提高了学习效率。
12.2 课程学习的原理和实现
课程学习的核心在于逐步引导智能体从简单任务过渡到复杂任务,避免陷入局部最优。下面是课程学习的详细流程mermaid流程图:
graph LR
A[初始任务:快速奔跑] --> B[设置奖励与速度成正比]
B --> C[智能体学习快速奔跑策略]
C --> D[策略迁移:过渡到正常速度]
D --> E[以快速奔跑策略为初始策略]
E --> F[设置新奖励:与 -\|v_t - (1.25, 0, 0)\|^2 成正比]
F --> G[微调策略]
G --> H[设计课程:目标速度逐步降低]
H --> I[添加额外惩罚防止过度激活]
I --> J[最终策略:稳定自然行走]
13. 实验结果可视化分析
为了更直观地展示实验结果,我们对课程学习与从头学习的比较以及消融分析的结果进行可视化。
13.1 课程学习与从头学习的性能对比图
通过绘制平均得分随训练轮数的变化曲线,可以清晰地看到课程学习和从头学习的性能差异。课程学习在前期就能快速提升性能,并且在后续的训练中持续保持优势,最终收敛到更高的得分。
13.2 消融分析各项指标的柱状图
绘制柱状图展示消融分析中各项指标对性能的影响。可以看到,课程学习带来的性能提升最为显著,其次是集成预测和特征工程,情节截断也有一定的贡献。
14. 实际应用前景
这些方法在实际应用中具有广泛的前景,以下是一些可能的应用场景列表:
-
假肢控制
:帮助假肢使用者实现更自然、高效的行走,提高他们的生活质量。
-
机器人运动
:使机器人能够学习各种复杂的步态,适应不同的环境和任务需求。
-
运动康复
:为运动康复训练提供辅助,通过模拟人体运动,帮助患者恢复运动功能。
15. 总结与展望
通过上述一系列方法和实验,我们成功地实现了智能体在OpenSim肌肉骨骼模型上的精细步态学习。课程学习、深度探索、分布式训练等方法的结合,有效地解决了深度强化学习中的诸多挑战,提高了学习的效率和鲁棒性。
然而,目前的方法仍然存在一些局限性。课程是针对特定任务手动设计的,对于通用的高维连续运动控制问题,还需要寻找更通用的解决方案,减少手动子任务定义。未来的研究方向可以集中在以下几个方面:
-
自动课程生成
:开发算法自动生成适合不同任务的课程,提高方法的通用性。
-
自适应探索策略
:设计能够根据环境和任务自适应调整的探索策略,进一步提高探索效率。
-
多任务学习
:使智能体能够同时学习多种不同的步态和运动技能,增强其适应性和灵活性。
总之,我们的研究为精细步态学习提供了一种有效的方法,未来将继续探索和改进,以实现更高效、更智能的运动控制。
超级会员免费看
9420

被折叠的 条评论
为什么被折叠?



