2

百度PARL再度夺冠NeurIPS仿生人挑战赛:强化学习控制的流畅行走

 3 years ago
source link: https://my.oschina.net/u/4067628/blog/3197645
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

百度PARL再度夺冠NeurIPS仿生人挑战赛:强化学习控制的流畅行走 - 飞桨PaddlePaddle的个人空间 - OSCHINA - 中文开源技术交流社区

机器学习领域顶级会议 NeurIPS 2019 将于 12 月 8 日-14 日在加拿大温哥华开幕。不久之前,大会公布了论文评审结果,今年大会共收到 6743 份有效论文,接收了1428篇,录取率为21.17%。
作为国内最早投身 AI 领域的科技巨头,百度今年有多篇论文入选。
此外,会议主办的 NeurIPS 2019: Learn to Move 强化学习赛事落下帷幕,百度继  后再度蝉联冠军。本次比赛的难度非常大,在参赛的近 300 支队伍中,仅有 3 支队伍完成了最后挑战。百度基于飞桨的强化学习框架 PARL 不仅成功完成挑战,还大幅领先第二名 143 分。显而易见,百度在强化学习领域占据了明显的优势,冠军含金量颇高。
强化学习框架 PARL:https://github.com/PaddlePaddle/PARL

640?wx_fmt=png

近年,随着机械设计以及动力学控制技术的发展,仿生机器人正取得不断的进步。比如近来波士顿动力(Boston Dynamics)发布的机器人会跑步,会拉货车,甚至还会“反击”人类,而控制这些机器人的主要节点是动力学关节。
相比于钢铁造就、机械控制的机器人,人体的复杂程度有过之而无不及。探索和理解人体自身是人类的终极目标之一。人体内有206块骨骼、639块肌肉,正是对这些骨骼和肌肉的精细控制,造就了人类出色灵活的运动能力和平衡保持能力。近年来有很多研究希望了解人体的运动机制,甚至端到端地从肌肉层面直接学习控制仿生人体。针对人体控制这样复杂的场景,强化学习(Reinforcement Learning)是重要的研究手段。
强化学习是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中,通过学习策略以达成回报最大化或实现特定目标的问题。但直接使用强化学习,仍然非常困难。其中一个原因在于,人体控制的解空间实在太大了!高达两百多维度的连续状态空间,非常复杂,一般的强化学习算法完全无法奏效。正因为如此,诞生了很多以控制人体为目标的研究和比赛,吸引着各路高手一决雌雄。
NeurIPS: Learn to Move 强化学习赛事的诞生正意在于此。该赛事由斯坦福仿生动力学实验室举办,比赛采用斯坦福国家医学康复研究中心研发的 Opensim 人体骨骼高仿模型。参赛者需要根据该模型中多达 100 多维以上的状态描述特征,来决定模型肌肉的信号,控制模型的肌体行走。
该挑战赛创办于 2017 年,今年是第三年举办。2017 年第一次挑战赛上,比赛规则围绕谁能让模型肌体行走速度最快,2018 年赛事将整个模型运动控制从 2D 改为 3D 外,还引入带有假肢的模型,而今年比赛难度再次提升。
据悉,赛事分为 2 轮,首轮主要是增加了实时的速度变换要求,而真正的挑战集中在第 2 轮,参赛选手仅有短短2周时间来完成任务。这一轮不仅要求实时切换速度,而且是360° 范围调整行走方向,更增加了模型控制难度。由于实际状态空间和动作空间稠密并且非常大,导致基于强化学习的算法无法准确把握模型肌体的行走姿势。
尽管每年的赛事难度都在增加,但今年的百度仍取得了优异成绩。据了解,在百度的最优解决方案中,甚至出现了一些普通人也难以做到的动作,如从立定状态突然平顺地向后转向并且同时以要求的速度行走,而且这个过程需要全程保持稳定不会摔倒。

640?wx_fmt=gif

百度能够在此次赛事中取得优异表现、蝉联冠军的主要因素是在于训练机制、通用算法库、迭代效率三个方面长足的技术积累。
首先,百度构建了「课程学习」的训练机制,先从高速奔跑中学习姿态,再逐步降速提升行走稳定性,从而学到了一个和人类极为相似的行走姿态。根据历届参赛选手提供的行走视频来看,百度通过这种方法学习出来的行走姿势是最为自然的,接近真实人类行走姿势的。这个行走姿势不仅可以维持人体的平衡性,还可以灵活地应付各种速度大小、角度的变化。

640?wx_fmt=gif

640?wx_fmt=gif

其次,百度采用了自主研发的强化学习框架  PARL。通过复用通用算法库里面已经实现好的算法,参赛选手得以很快地在不同算法间切换,保持了高效的迭代频率。PARL 的算法库涵盖了经典的连续控制算法 Reinforce,以及主流的 DDPG/PPO 等算法,到最前沿的 model-based 等相关算法。尽管算法库包含了各种类型的复杂算法,但是其接口是相当简单的,基本上是 import 即可用的方式。
最后,百度基于PARL提供的高效灵活的并行化训练能力进行强化学习训练,使得训练效率得以数百倍地提升。PARL 的并行接口的设计思想是用 python 的多线程代码实现真正意义上的高并发,参赛选手只需要写多线程级别的代码,然后加上PARL的并行修饰符就可以调度不同机器的计算资源,达到高并发的性能。
而此次获得冠军的百度「PARL」,名字来源于 PaddlePaddle Reinforcement Learning,是基于百度飞桨PaddlePaddle)研发的灵活高效的强化学习框架。PARL 应用了百度多年来在强化学习领域的技术深耕和产品应用经验,具有更高的可扩展性、可复现性和可复用性,强大的大规模并行化支持能力。开发者可以通过 PARL 用数行代码定制自己的模型,一个修饰符就能实现并行。此外,PARL 代码风格统一,包含了多个入门级别的强化学习算法,对初学者相当友好。
事实上百度对强化学习的关注始于 2012 年,当时的百度就已经将多臂老虎机 (Multi-armed bandit) 的研究结果应用在百度搜索和推荐等产品和功能上,此后,强化学习相继落地在了度秘、凤巢、新闻 Feed 推荐以及越来越多的相关产品中。
今年 1 月,百度正式发布了深度强化学习框架 PARL,更强劲的强化学习能力也正在通过飞桨平台赋能给更多开发者。

>> 访问 PaddlePaddle 官网,了解更多相关内容

下载安装命令

## CPU版本安装命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/cpu paddlepaddle

## GPU版本安装命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/gpu paddlepaddle-gpu

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK