反事实强化学习论文阅读:GROUNDING LANGUAGE PLANS IN DEMONSTRATIONS THROUGH COUNTERFACTUAL PERTURBATIONS

RL& TrustworthyAI Paper Reading : GROUNDING LANGUAGE PLANS IN DEMONSTRATIONS THROUGH COUNTERFACTUAL PERTURBATIONS


原文链接:https://arxiv.org/pdf/2403.17124

to solve what problems?

传统的比如BC,问题在于训练数据太具体,因此很难学到抽象的constraint
而一般的LLM,可以做到对动作流程进行抽象,但缺乏物理知识的grounding
而且当前的模型很难做到recover和replanning

所以问题关键在于怎么让机器人可信地进行学习,和怎么让机器人能够实时重新规划

和强化学习的关系?

根据mode指定policy、BC、模型通过与环境交互完成task、学习mode的边界(RL的state space划分)、损失函数设置奖励信号

Interpretability的体现

  1. 对state进行划分,得到了更高层次抽象的mode,易于模型学习到边界,并直观展示了mode边界
  2. 模型决策过程可追溯——feasible matrix&mode belief

How?(generally)

提出了一种GiDle方法,使得机器人或虚拟代理(embodied agents)可以通过演示来学习完成任务。

演示的概念定义:完成一系列动作步骤的实例。可能以视频、传感器数据、时序数据、动作标注数据等形式出现。

GLiDE有两个阶段:

  • 模式分类:根据状态(states)对当前的模式(modes)进行分类(比如,机器人在不同位置或执行不同动作时)。
  • 模式特定策略学习:根据这些modes制定具体的操作策略
    在这里插入图片描述

要让模型更好地学习模式分类,有两个要点:

  1. 如何更好地区分正负样本
  2. 寻找人工、全面标注每一个modes的替代方案——通过添加扰动,产生”反事实“轨迹 这是一种对抗样本的思想。
  • 扰动不重要的部分:如果机器人成功地把水杯拿起来,我们可以稍微改变这个过程,比如让它用不同的方式移动手臂。这个新过程生成的“反事实”轨迹可以用来扩大学习的状态覆盖范围。
  • 扰动导致失败的结果:如果我们让机器人在取水时不小心撞到了桌子,导致失败,这种情况可以帮助模型识别在操作中可能的限制和问题。

数据集构建

我们构建了一个数据集 D,其中包含 N 条轨迹及其对应的成功信号:

D = { ( τ i , s u c c i ) } i = 1 N D = \{(\tau_i, succ_i)\}_{i=1}^N D={(τi,succi)}i=1N

其中:

  • τ i = { s 1 , s 2 , … , s T } \tau_i = \{s_1, s_2, \ldots, s_T\} τi={ s1,s2,,sT} 表示第 i i i 条轨迹,包含 T T T 个状态。
  • s u c c i ∈ { 0 , 1 } succ_i \in \{0, 1\} succi{ 0,1} 表示任务成功(1)或失败(0)。

轨迹扰动

对于每条成功的轨迹 τ \tau τ,我们进行以下扰动:

  • 末端执行器扰动

  1. 随机选择轨迹中的两个点 X X X Y Y Y
  2. 随机选择一个点 Z Z Z
  3. 替换轨迹中的 X Y XY XY 段为 X Z XZ XZ Z Y ZY ZY

新轨迹 τ ′ \tau' τ 表示为:
τ ′ = { s 1 , … , s k − 1 , X , Z , Y , s k + 1 , … , s T } \tau' = \{s_1, \ldots, s_{k-1}, X, Z, Y, s_{k+1}, \ldots, s_T\} τ={ s1,,sk1,X,Z,Y,sk+1,,sT}

其中 k k k Y Y Y 在轨迹中的索引。

  • 夹持器扰动

  1. 随机选择夹持器状态 g j ∈ { 0 , 1 } g_j \in \{0, 1\} gj{ 0,1}(0表示未抓握,1表示抓握)。
  2. 在轨迹中随机切换夹持器状态。

扰动后的轨迹表示为:
τ ′ ′ = { ( s 1 , g 1 ) , ( s 2 , g 2 ) , … , ( s T , g T ) } \tau'' = \{(s_1, g_1), (s_2, g_2), \ldots, (s_T, g_T)\} τ′′={(s1,g1),(s2,g2),,(sT,gT)}

其中 g j g_j gj 是每个状态对应的夹持器状态。
在这里插入图片描述

任务成功信号

执行扰动后的轨迹 τ ′ \tau' τ τ ′ ′ \tau'' τ′′ 后,使用控制器在环境中执行,并收集每个轨迹的成功信号:
s u c c ′ = f ( τ ′ ) succ' = f(\tau') succ=f(τ) s u c c ′ ′ = f ( τ ′ ′ ) succ'' = f(\tau'') succ′′=f(τ′′)

这里 f ( ⋅ ) f(\cdot) f() 是一个函数,返回成功(1)或失败(0)
所以,这一阶段的输出可以视为生成的配对轨迹及其任务成功标签: { ( τ i , s u c c i ) } \{(\tau_i, succ_i)\} {(τi,succi)}

获取正负样本,构建分类器

把连续的、具体的演示动作,转变为抽象的、离散的模式过渡的过程

  • 模式序列的学习

    • 定义模式序列:
      ϕ ( τ i ) = { m 1 , m 2 , … , m T } \phi(\tau_i) = \{m_1, m_2, \ldots, m_T\} ϕ(τi
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值