为了账号安全,请及时绑定邮箱和手机立即绑定

利用路点拼接扩散生成的子轨迹方法

路点引导扩散政策使路径更高效

作者: Naren Dasan 和 Yutong Zhang

我们通过使用航点引导来提高由扩散策略生成的轨迹的效率和质量。未经过引导的扩散策略是一种有效的方法,用于创建多样化的计划以解决任务,但这些轨迹有时可能是不可行或低效的。我们通过引入从收集的数据中学习到的航点指导,证明可以在Maze2D模拟中提高生成轨迹的效率。我们相信,通过我们的方法,不仅可以生成更优的路径,还可以让扩散模型在不同环境设置中得到重用。

强化学习

强化学习是一种训练模型与环境互动以达成目标的方法。在最简单的形式中,这可能通过直接与环境互动、收集经验并更新代理的“策略”来完成,该策略是用于在代理可以采取的动作之间做出选择的模型。这被称为“在线强化学习”,这种方法存在若干问题。在线方法的局限性在于受限于代理探索环境的速度。此外,由于非最优策略的代理需要与环境互动来收集数据,要达到专家水平所需的数据样本量非常大。离线方法试图通过从预收集的专家数据中学习策略来解决这些扩展限制(Lange 等人,2012 年)。传统强化学习方法针对固定、预定义的任务进行优化,并基于环境的状态空间。目标条件强化学习(GCRL)使代理能够开发出灵活的策略,这些策略可以动态调整其行为以适应不同的目标状态。通过将目标视为附加的输入参数,这些系统可以在多个任务之间泛化。

Udluft 等人 2020

离线强化学习方法

最流行的离线强化学习环境方法涉及学习状态的“价值”估计,即遵循特定策略时所收集的折扣奖励。这使策略能够评估长期目标方面不同行动的优势。在离线强化学习环境的背景下,这隐式地将数据中的轨迹连接起来,从而使策略不仅仅复制数据中的策略。然而,基于价值的方法训练困难,需要精细调整超参数以确保训练的稳定性。

相比之下,通过监督学习实现的强化学习(RvS)方法基于目标条件的行为克隆,直接使用监督学习复制数据中展示的策略。这种方法的优势在于消除了对价值估计的需求,使得训练更加简单。然而,这些方法历史上一直难以解决“衔接问题”。在RvS中,“衔接问题”出现在代理需要连接或“衔接”数据集中次优行为的片段以形成全局最优策略时。例如,在通过包含死胡同的例子学习迷宫导航时,将这些例子中的子轨迹连接起来生成有效解决方案的能力是必要的,以此来限制训练所需的数据量。这反映了在成功部分之间搭桥的挑战,尤其是在数据集包含次优、不完整或稀疏的演示的情况下。基于简单的行为克隆的策略在遇到数据稀疏的状态空间部分时,往往会失败。这导致RvS方法的表现不如基于价值的方法。

使用路径点来连接生成的子轨迹

路点变换器 (Badrinath et al. 2023)

路点变换器是一种RvS(奖励和策略)方法,它引入了一个生成中间目标(子目标)和更稳定代理奖励的模块,这些奖励引导策略朝目标前进。然后,他们使用经过训练以达成生成的子目标的变换器,通过从数据中的演示学习,获得一个策略,使其遵循路点到达目标。这解决了其他RvS方法中存在的衔接问题,并且该论文特别展示了如何使用路点使路点变换器在跨越状态空间中的某些区域时比其他方法所需的样本更少。

要了解更多关于Waypoint Transformer的内容,你可以阅读这篇文章,

论文点评:Waypoint Transformer:通过监督学习利用生成的中间子目标改进强化学习medium.com
扩散策略

最近,扩散模型作为一种新方法兴起,用于学习复杂分布并生成多样化的样本。最值得注意的是,它们能够以可控的方式生成新的图像,但它们也可以以类似可控的方式生成长期规划。由于不采用其他方法所需的迭代规划,扩散模型避免了累积误差。这使得它们成为GCRL中一个有吸引力的选择。然而,单独使用时,这些扩散模型往往会生成不可行的计划(参见SSD论文下的示例,)。

轨迹线由决策扩散器生成(决策扩散器是Ajay等人2023年提出的技术术语)(Ajay 等 2023)

想了解更多关于扩散政策的内容,请阅读这篇文章。

扩散策略:一种强大的模仿学习方法和机器人基础模型的基石medium.com
基于扩散的子轨迹缝合 — SSD:Kim 等人,2024

基于扩散的子轨迹拼接(Kim等人,2024)

借助扩散(Kim 等人 2024)的方法将子轨迹拼接起来,展示了一种解决扩散策略在处理GCRL问题时的局限性。SSD 受其他离线强化学习方法的启发,使用一个学习到的价值估计器来调整扩散模型,使其能在设定的时间范围内生成轨迹。该模型学会了将这些较短的子轨迹连接起来,以达到指定的目标。训练过程通过交替训练价值估计器和扩散策略来完成。价值估计器采用了基于 transformer 的 Unet 架构。

使用航点配合扩散策略

直接从数据生成的航点,正如我们之前讨论的,并不会像训练值估算器那样遇到稳定性问题。训练一个模型来生成这些航点既快速且简单。该模型无需与策略一起训练。因此,我们建议用类似路点变换器论文提出的航点生成器来替代SSD中的动作值评判器。

推-T 环境

我们尝试了流行的推-T环境。借鉴Waypoint Transformer的理念,我们从推-T数据集中训练了一个基于MLP的航点预测器。训练起来非常简单,因为我们可以任意选取演示序列中的某个时间点,并使用未来的状态作为监督。给定当前的观察值 _[end_effector.x, endeffector.y, T.x, T.y, T.angle],网络预测 K 步之后的状态 [T.x, T.y, T.angle],采用均方误差损失。

这里有一些关于预测T路径的例子。其中包括两个成功的例子和一个失败的例子。

时间从左到右推移,在Push-T环境中预测T的航点。

扩散网络的扩展是直截了当的。原始网络通过FiLM条件化以过去的观察为基础。我们可以简单地将目标条件添加到条件变量中,并训练扩散网络。在执行阶段,我们可以通过查询航路点扩散器来获取中间目标条件,然后通过扩散生成动作序列。

我们用相同的初始条件初始化环境,并让正常的扩散和带有航点的扩散生成动作序列。两个策略都在观察范围为 2,预测范围为 16 的相同数据集上进行训练。在执行阶段,正常的扩散遵循原来的方案,在重新规划前只执行 8 个动作,然后。相比之下,我们的带有航点的扩散在重新规划前执行完整的 16 个动作。

我们可以看出,航点扩散策略可以使T形更快地移动到期望的位置,比普通的扩散策略更快。

比较纯扩散策略和路径引导的扩散策略在 Push-T 任务中的表现

这一观察得到了奖励图的支持。在初始步骤中,航点扩散的奖励增加速度比正常扩散要快得多。尽管两者最终的最大奖励差不多,航点扩散有时在最终准确性上会略逊一筹。我们推测,航点预测网络可以引导T向正确方向前进,但难以精确预测T形状的具体目标位置。因此,特别是当T接近目标位置时,航点网络此时生成的目标状态可能不如预期,甚至更差。

航点引导扩散失败案例:航点引导扩散 vs 无航点引导扩散策略

Maze2D 环境及其与 SSD 的对比

Waypoint(定位点)和条件扩散模型的架构

我们将我们的方法与SSD进行对比,SSD是另一种在Maze2D环境中使用基于其他离线强化学习方法的动作价值评论家来拼接扩散生成的子轨迹的方法。我们保持其扩散策略架构不变,仅用我们的路点生成器模型替换他们的动作价值评论家模型,并相应地调整训练过程,从价值估计器和扩散策略交替训练的过程,转变为先完全训练路点生成器,然后将其冻结,并在扩散策略的训练中使用它。

我们比较了简单环境_maze-umaze-v1_和_maze-medium-v1_的定性测试结果。UMaze提供了100万样本,而Medium提供了200万样本。UMaze提供了100万样本,而Medium提供了200万样本。我们使用SSD的_SampleEveryControl_控制器从每个策略中采样动作。该控制器在每个时间步直接从扩散策略模型中采样动作,以进行更直接的对比。

我们训练了一个简单的多层感知机(MLP,结构为[4+2x256],[256x256],[256x256],[256x256],[256x2]),用于预测轨迹中当前状态K步之后的位置(其中K远小于SSD扩散策略使用的有限时间范围),使用均方误差损失。网络的输入是代理在任一状态下将获得的观察值([x, y, v_x, v_y])和整体目标位置([x,y])的连接。选择K是一个超参数,但我们发现较短的K(例如在实验中为8步)比更长的选择表现更好。这个网络代替了SSD中的行动价值评估器,并先进行训练然后冻结,类似Waypoint Transformer的做法。

Maze2D-UMaze-v1 (迷宫2D-UMaze版本1)

在maze-umaze-v1环境中使用条件扩散政策结合动作价值评估者(我们提出的)

在maze-umaze-v1(SSD)任务中使用条件扩散策略和动作价值批评者。

Maze2D-Medium-v1

在maze-medium-v1中使用直接学习的航点+条件策略(我们的,O

在maze-medium-v1(SSD)环境中使用条件扩散政策结合动作价值评估器。

我们能够在Maze2D环境中重现SSD的成功案例,而无需使用更大的基于变压器的动作价值网络和复杂的训练流程。相反,通过使用一个参数量仅为价值网络一小部分的简单多层感知机(MLP),并且可以独立于扩散模型训练,我们也能取得类似的结果。我们还发现,在更复杂的环境中,利用直接学习到的路点,策略更能够直接穿越迷宫的两个区域。这使我们假设,通过使用路点,扩散策略更容易穿越数据较少的区域,从而使我们的方法能够生成更高效的路径。

总结:

我们能够在小规模案例中展示,可以通过直接从收集到的专家数据中训练一个简单的航路点生成器来创建一个以目标条件为基础的扩散策略。这种方法比SSD中的方法更简单,训练起来也更容易,并且由于航路点模型无需与扩散策略联合训练,因此所需的参数更少。这可能使得像快速生成航路点网络的库这样的用例成为可能,这些网络可以与单个扩散模型一起使用。由于扩散模型在训练中成本最大,重用此组件将更为有利,且在测试时,可以在未知环境中学习新的策略。

未来的计划

接下来的步骤是扩展到更复杂的环境,例如FetchReach和FetchPush,这些环境SSD也进行考察,还包括FrankaKitchen这类更离散的任务链式环境。我们还需要解决策略的终止条件问题,具体来说,当模型接近终端状态时,我们观察到性能有所下降。SSD论文中使用目标位置控制器来插值并终止于目标。我们认为,在我们的方法中,这可能是因为在训练数据集中,没有描述接近终端位置(距离终端位置少于K步)时所需行为的样本。在这种情况下,可以假设目标航点就是终端位置。

我们也有一些架构选择可以探索,包括是否只需要生成的航点,而不需要像我们在该项目中尝试的那样同时生成航点和最终目标。我们还可以探索是否值得不仅预测K步后的位置,而且还预测状态的其他组成部分,如速度,速度也是环境提供给代理的观察信息的一部分。虽然位置可以轻松地在不同的子轨迹之间转移,但速度更依赖于特定轨迹,因此尚不清楚这是否会帮助或妨碍该模型。此外,如前所述,在不同环境中训练扩散模型并能够训练针对冻结的扩散模型的目标航点生成器,将使目前难以实现的少量样本的应用场景变得可行。

参考文献

Lange, Sascha 等。《批处理强化学习》。Reinforcement Learning (2012)。

Ajay, Anurag 等。 “条件生成模型是否足够用于决策?。” arXiv 预印本 arXiv:2211.15657 (2022)

Badrinath, Anirudhan, 等。 “航点变换器:具有中间目标的强化学习。” 神经信息处理系统年会 36 (2024)。

Kim, Sungyoon, 等。“使用条件扩散模型拼接子轨迹的目标导向离线强化学习研究。”AAAI人工智能会议论文集。第38卷,第12期。2024。

Towers, Mark, 等. “Gymnasium: 强化学习环境的标准接口规范。” arXiv 预印 arXiv:2407.17032 (2024).

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消