GRAPE

Introduce

解决问题:

  • 泛化性差
  • 行为崩溃
  • 目标单一

使用 轨迹级别的偏好对齐(Trajectory-wised Preference Optimization, TPO) 和 隐式奖励建模, 从成功和失败的轨迹中学习, 提升泛化性, 并支持自定义目标(安全性, 效率)来调整策略

自动生成多阶段cost function, 避免人工标注preference的高成本

Generalizing Robot Policy via Preference Alignment

轨迹对齐, 模仿dataset的轨迹:

其中数据集是expert dataset

TPO

RL目标:

是SFT之后的模型. 使用RL进行fine-tune, 是强化学习自身的reward

定义一个针对trajectory的reward :

其中, 是似然, 是根据Direct preference optimization: Your language model is secretly a reward modal定义的分配函数. 将轨迹分解成action和observe, 有:

使用Bardley-Terry model进行偏好选择:

这个的意思是: 偏好轨迹的概率.

Question

这个公式有点不能理解, 为什么是打错了(应该是)还是说这个是一个特殊的函数?

对TPO进行优化, 有loss:

该loss可以展开为action-wised log likelihood.

TPO优点:

  1. 通过step-wise的human preference, 在trajectory-wise的层面对齐
  2. 使用梯度下降反向传播, 稳定policy, 引导向最终目标
  3. 提高泛化能力

Guided-Cost Preference Generation

对齐的过程中需要人工标注. 使用Guided-Cost Preference Generation(GCPG)可以自动整合

Multi-Stage Temporal Keypoint Constraints

使用基于VLM的阶段分解器, 将一个task分解成多个stage. 使用VLM生成每一个stage的起始和结束的关键帧, 然后分解成多个轨迹:

对于每个阶段, 使用VLM(如, DINOv2)提取keypoint , 然后使用LLM(如, GPT-4)生成cost function .

因此定义external reward:

  • 使用指数函数: 映射到
  • 使用累乘: 如果某一个阶段失败了或者花费很高, 那么整个轨迹都会受到影响

Guided-Cost Preference Generation

其中:

使用self-evaluated score提高policy生成制定action的概率; 使用external reward使policy满足指定要求(由LLM根据要求生成cost function); 使用提高成功率

Iterative Preference Optimization

输入:

  1. 基础的VLA policy
  2. 一系列的task instructions
  3. 阶段分解器
  4. 最大迭代次数
  5. reward权重
  6. stage-wise keypoints
  7. cost function
  8. thresholds

迭代过程:

  1. 使用policy 采样轨迹
  2. 对于每一个轨迹, 分解成多个阶段
    1. 计算每个阶段的cost
    2. 计算external reward
    3. 计算policy self-reward
    4. 根据是否成功给出
    5. 生成GCPG reward
  3. 每一个轨迹都有一个GCPG reward, 根据这个进行TPO, 使用loss更新

Pros and Cons

优点:提升泛化性、支持多目标对齐、降低训练成本、阶段性因果建模

缺点:计算复杂度高、依赖预训练模型、任务分解普适性有限