UT2014补充学习笔记

Part 4

2014年UT采用了广泛的分层设计学习机器人技能的学习方法,如站立、行走和踢腿。这包括顺序分层学习,其中新学习的层在学习后续层之前被冻结,以及重叠层,其中先前学习的层的部分作为当前学习层的一部分被重新优化。

在分层学习过程中,总共优化了500多个参数。所有参数均使用协方差矩阵自适应进化策略(CMA-ES)算法(Hansen 2009)进行优化,该算法此前已成功应用于RoboCup 3D仿真领域的学习技能(Urieli等人,2011年)

在优化19种行为的过程中,总共进行了705000次学习试验。优化是在Condor(Thain、Tannenbaum和Livny 2005)分布式计算集群上执行的,该集群允许并行运行许多作业。运行完整的优化过程大约需要5天,我们计算出,假设计算集群上没有作业排队延迟,理论上可以在49小时内完成,并利用优化过程中所有可能的并行性。请注意,当在一台计算机上按顺序执行相同数量的计算时,将需要大约561天或略多于1.5年的时间才能完成。

      以下小节记录了团队使用的方法中重叠的学习部分。由于空间限制,省略了一些学习行为层的全部细节,但是图3显示了学习过程中所有不同层次的学习行为如何结合在一起的示意图,图4提供了每个行为的简要说明。

      不同的分层学习行为,括号中显示了针对每个行为优化的参数数量。黑色实心箭头表示从先前学习的层行为传递的学习和冻结参数的数量,红色虚线箭头表示从一个行为传递和重新学习的重叠参数的数量,蓝色虚线箭头显示了作为种子值传递的参数值的数量,这些种子值将用于下一层学习的新参数中。重叠层的颜色为橙色的CILB层、绿色的PCLL层和黄色的PLLR层。图4给出了各层的描述

Getup Front行为:带漫游的Getup Front基本体。

Getup Back行为:带漫游的Getup Back原语。

Getup Front Primitive:躺在前面时站起来。

Getup Back Primitive:仰卧时站起来。

开球行为:开球时两名球员的行为得分,其中一名球员在其他球员开球前触球。

开球踢腿原语:单代理踢腿行为,在静止球的开球中得分。

开球触碰原语:单代理行为,代理轻轻触碰球,导致小球运动。

快速踢腿行为:快速踢腿和步行。

快速踢腿:快速和短踢腿。

高踢腿行为:高踢腿和步行。

踢高:踢过对手的踢。

低踢腿行为:低踢腿基本动作和步行。

低踢:踢低于球门高度的球。

长踢腿行为:长踢腿和步行。

长踢腿:长踢腿。

步行接近(Walk approach):步行参数,用于在踢球前在球后的精确位置停车。

漫游GoToTarget:常规默认漫游参数。

行走位置到Ribble:运球行走参数。

步行冲刺:快速向前行走的步行参数

图4:图3中分层学习行为的描述。

先前学习的层细化(PLLR):在学习和冻结一个层后,然后学习后续层,然后解冻和重新学习先前学习的部分或全部层,以便更好地处理现在完全或部分冻结的新学习层。我们认为在新的条件下重新优化先前冻结的层作为新的习得层行为,行为之间的“缝合”是先前学习层的未冻结部分。当需要先学习子任务,然后才能学习下一个后续任务层时,此场景非常有用,但随后改进或重新学习原始学习的任务层,以便更好地使用新学习的任务层会带来好处。示例:教机器人走路。首先,机器人需要学会如何站起来,这样,如果它摔倒了,它就可以重新站起来,继续尝试行走。最终,机器人学会了走路,以至于在训练中几乎不会摔倒。后来,当机器人最终摔倒时,发现如果机器人站起来后立即尝试行走,机器人学习到的行走动作不稳定。机器人需要重新学习站立行为层,以便在完成此操作后,它处于稳定位置,开始使用学习的行走行为层行走

4.1 用PLLR实现起身和行走

UT团队采用全方位行走引擎,使用双倒立摆模型控制行走。步行引擎有许多参数需要优化,以创建稳定和快速的步行,包括步长和频率以及重心偏移。我们在以前的工作中发现步行引擎只有一组参数限制性能,而不是将步行引擎分成不同的子任务,每个子任务学习一组步行引擎参数(MacAlpine et al.2012a)

在优化行走引擎的参数之前,将优化设置行为,以便在机器人摔倒时能够重新站立并开始行走。在步行优化过程中,为了更快地学习,必须要有站起来的行为,因为如果机器人摔倒后不能站起来,那么一旦机器人摔倒,步行优化任务就必须立即终止。起床有两种行为:正面朝下站立的“站起来”基本体和正面朝上站立的“站起来”基本体。通过一系列不同的关节角度对每个站立行为进行参数化,并根据机器人能够站立的速度进行评估(MacAlpine et al.2013)。

在学习Walk GoToTarget和Walk Sprint Walk engine参数集之后,我们通过学习GetUp Front行为和GetUp Back行为来重新优化装备。GetUp Front行为和GetUp Back行为是重叠的分层学习行为,因为它们分别包含与先前学习的GetUp Front原语和GetUp Back原语行为相同的参数。通过与设置基本体相同的优化,从基本体行为值重新优化设置行为参数,但在完成设置行为后,机器人会被要求向不同方向行走,如果在尝试行走时摔倒,则会受到惩罚.

不同于单独学习的装备原语,装备行为是从站立到几乎立即行走的稳定过渡。有人可能会认为,由于行走参数优化任务中使用了设置原语,因此学习到的行走参数集将从设置中稳定过渡,然而,情况并非总是如此,因为在学习行走过程中,行走变得稳定,以至于在优化行走参数设置的最后,机器人几乎不会摔倒,因此很少使用装备原语。学习设置行为是先前学习的层优化(PLLR)的一个示例.

4.2 用CILB实现踢球

组合独立学习行为(CILB):在同一层中独立学习两个或多个行为,然后通过重新学习行为参数的某个子集或行为之间的“接缝”,在下一层中组合为联合行为。当子任务行为过于复杂和/或在学习过程中可能相互干扰,因此必须独立学习,但最终需要为组合任务协同工作时,此场景最为理想。示例:一个篮球机器人,必须能够将球运过球场并射入篮筐。运球和投篮的任务太复杂,无法一起学习,但在独立学习任务后,可以通过重新优化控制球场上机器人停止运球的点和机器人投篮的角度的参数来组合任务。

2014年UT学习了四种原始踢腿行为(长踢腿原语、低踢腿原语、高踢腿原语和快踢腿原语。每个踢腿原语或踢腿动作都是通过将机器人放置在球后的固定位置,并使其优化一组固定关键运动帧的关节角度来学习的。请注意,学习踢腿的初始尝试是直接通过步行,而不是通过步行独立学习踢腿基本动作,由于机器人靠近踢球时行走停止位置的变化,被证明过于困难。

当机器人站在球的后面时,踢的原始行为非常有效,但当机器人试图走到球前踢它时,它们很难执行。造成此困难的一个原因是,当机器人接近球并使用Walk Approach ToKick Walk参数踢它时,设置与球的精确偏移位置,该偏移位置是踢原语优化后使用的,与机器人向球走去后停止的位置不匹配。为了让机器人从步行过渡到踢腿,对所有踢腿的全踢腿行为进行了优化(长踢腿行为、低踢腿行为、高踢腿行为、快踢腿行为)。通过让机器人走向球并尝试从不同的起始位置踢它(与优化踢基本行为时让机器人仅仅站在球后面不同),可以学习每个全踢行为。

全踢行为是重叠的分层学习行为,因为它们正在重新优化先前的学习参数。在快速踢腿行为的情况下,仅对球的x和y踢腿基本体偏移位置参数进行重新优化,该参数是要执行踢腿的步行到达的目标位置。快速踢腿的速度足够快,在从步行过渡到快速踢腿后,它几乎会立即踢到球,因此只需要在靠近球的正确位置即可。图5显示了学习快速踢腿行为的重叠分层学习范例的比较。上述重叠分层学习法(先独立学习步行法和踢腿法,然后学习两个位置参数)比顺序分层学习法(冻结进近后学习所有踢腿参数)效果更好,以及并行分层学习方法,其中方法和井涌参数同时学习。

图5:优化快速踢腿行为时,不同分层学习范式在几代CMA-ES中的性能。结果是在所有测试中取平均值。

对于其他完整踢腿行为,来自其各自踢腿基本行为的所有井涌参数都将重新优化。与快速踢球不同,在停止行走和踢球之间至少有一秒的延迟,在此期间,机器人很容易变得不稳定并摔倒。通过打开所有踢腿参数,机器人可以自由学习踢腿动作,从而在行走后停止和接触球之间保持稳定。通过将踢腿行为与踢腿接近步行行为相结合来学习踢腿行为都是结合独立学习行为(CILB)的示例。

4.3同时使用CILB和PCLL开球

部分并发分层学习(PCLL):在使用新参数学习后续层时,只保留先前学习层的部分(但不是全部)行为参数。先前学习的层的参数中打开的部分是层之间的“接缝”。如果完全并发学习不必要地增加了搜索空间的维数,从而阻碍了学习,并且完全冻结前一层会降低各层协同工作的潜在行为,则部分并发学习是有益的。示例:教一个机器人捡起一个物体并将其交给另一个机器人。首先,机器人被教导捡起一个物体,然后伸出手臂并释放该物体。然后,第二个机器人被教导伸出手臂抓住第一个机器人释放的物体。在第二个机器人学习抓取物体的过程中,第一个机器人先前学习的移交物体的行为部分保持打开状态,以便第一个机器人可以将其物体的释放点调整到第二个机器人可以确定到达的位置。

      对于开球,机器人可以在开球前将自己移动到球旁边的起始位置,因此不需要担心走向球。但是,开球时不允许直接得分,因为另一个机器人必须在球进入对手球门前先触球。为了在开球时得分,我们执行一个多智能体任务,其中一个机器人在另一个机器人开球之前先触球。

      为开球得分而优化的第一个行为是开球基本动作,其中机器人从场地中间踢球。只要球越过球门高度以下的球门线,机器人就可以将球踢得尽可能高,尽可能远,从而获得奖励。平行触球是机器人学习到的另一种平行触球行为。在这里,机器人轻触球会得到奖励,在确保机器人接触到球后,球会尽可能少地移动。最后,学习称为开球行为的重叠分层行为,该行为根据开球基本体和开球-触球基本体行为重新优化球的x、y和角度偏移位置。同时重新优化这些定位参数非常重要,这样机器人就不会意外地相互碰撞,并且在第一个代理接触到球后,踢球机器人处于踢球的良好位置。学习开球行为是结合独立学习行为(CILB)的另一个例子。

除了为开球行为重新优化两个机器人的定位参数外,还优化了确定第一个机器人触球时间的新参数。此同步计时参数是必需的,以便机器人彼此同步,并且在第一个机器人触球之前,踢球机器人不会意外尝试踢球。由于一个新参数与先前学习的参数子集一起被优化,学习开球行为也是部分并发分层学习(PCLL)的一个例子。

关于开球的更多信息,包括如何通过观察了解开球种子,请参见(Depinet、MacAlpine和Stone 2015)

Part 5

2014年球队在比赛中的改进和成功的一个关键组成部分是新的重叠分层学习方法来学习球队的低层行为。

当打开和关闭踢球和踢球组件通过重叠的分层学习方法学习。此外,为了验证我们的重叠分层学习方法的通用性,我们提供了分离我们完整的重叠分层学习方法应用于不同机器人模型的性能的数据。

5.1整体团队绩效

表1显示了2014年UT队完成的所有比赛对手的平均进球差。

这说明团队重叠分层学习方式在戏剧性地提高团队绩效方面比上年有了明显的成效。

top3

(标准误差)

开球不踢进去

5.2开球表现

为了隔离学习到的多智能体行为在踢球时得分的表现,我们禁用了这一特性,取而代之的是刚刚让机器人把踢球朝着对手的目标踢到一个位置,尽可能接近一个没有得分的球哨。表2显示了在2013年机器人足球世界杯比赛中与前三名球队的比赛结果,没有试图在起跳时得分。将表2的结果与表1的结果进行比较,我们发现在不尝试踢球时,成绩显著下降。这一结果并不令人惊讶,因为我们发现,在对阵阿波罗3D和FCPortugal的90 %左右的时间,以及在对阵2013版UT Austin Villa的60 %以上的时间。使用CILB和PCLL重叠分层学习的结合大大提高了团队的绩效。

5.3踢球

为了隔离通过重叠的分层学习方法所学习到的踢球性能,我们禁用了所有的踢球(除了在踢球时,我们再次让机器人尽可能地朝着对手的目标踢球而不得分),并且使用了一种总是运球的行为。表3显示了2013年机器人足球世界杯比赛中仅运球时与前三名球队比赛的数据。

表3:全场比赛成绩,平均超过1000场。每一行对应2013年机器人足球世界杯排名前三的终点队之一。研究表明,2014年UT队的一个版本只使用运球策略与给定的对手队取得的平均进球差。括号中的值是标准误差。所有比赛的胜负和联系总数分别为2480、15和505场。

表4:全场比赛成绩,平均超过1000场。每一行对应2013年机器人足球世界杯排名前三的终点队之一。研究表明,2014年UT奥斯汀别墅队使用不同的异构机器人类型与给定的对手队相比,实现了平均目标差异。

在这里,我们看到在比较表3和表2时,性能的另一个明显下降。踢球在表现上提供了很大的增益,与FCPortugal相比,平均进球差几乎翻了一番,而仅仅是运球。这一结果与UT奥斯汀·维拉在2011年RoboCup比赛中获胜形成鲜明对比,在这场比赛中,球队试图在不使用重叠分层学习方法的情况下融入踢球技术,发现踢球实际上降低了球队的表现。

5.4不同的机器人模型

在RoboCup比赛中给出了使用5种不同机器人类型的选项,要求一个团队至少必须使用3种不同类型的机器人,任何一种类型不得超过7种。可供选择的五类机器人如下:

0型:标准Nao机器人

1型:长腿和手臂的

2型:快速移动的

3型:宽臀和最长腿和手臂的

4型:脚上有脚趾的

我们将我们的重叠分层学习方法应用于每个可用的机器人类型的学习行为。表4提供了每个机器人类型在2013年机器人足球世界杯与前三名球队比赛的比赛数据。虽然不同机器人类型之间在性能上存在一定差异,很可能是由于它们的身体模型存在差异,但所有的机器人类型都能够在2013年机器人足球世界杯比赛中可靠击败顶级球队。这表明了我们提出的重叠分层学习方法的有效性和对不同机器人模型的泛化能力。在2014年的比赛中,UT奥斯汀别墅队使用了7种性能最好的4型机器人模型,2种性能最好的0型机器人模型,1种和3种机器人模型各1种,行走速度最快。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值