GRAPE
Paper
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优点:
- 通过step-wise的human preference, 在trajectory-wise的层面对齐
- 使用梯度下降反向传播, 稳定policy, 引导向最终目标
- 提高泛化能力
Guided-Cost Preference Generation
对齐的过程中需要人工标注. 使用Guided-Cost Preference Generation(GCPG)可以自动整合
Multi-Stage Temporal Keypoint Constraints
使用基于VLM的阶段分解器, 将一个task分解成多个stage. 使用VLM生成每一个stage的起始和结束的关键帧, 然后分解成多个轨迹:
Example
如, 将一个“抓取并放置物体”的任务可被分解为:
- 接近目标物体
- 抓取物体
- 移动物体至目标位置
- 释放物体
对于每个阶段, 使用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
输入:
- 基础的VLA policy
- 一系列的task instructions
- 阶段分解器
- 最大迭代次数
- reward权重
- stage-wise keypoints
- cost function
- thresholds
迭代过程:
- 使用policy 和 采样轨迹
- 对于每一个轨迹, 分解成多个阶段
- 计算每个阶段的cost
- 计算external reward
- 计算policy self-reward
- 根据是否成功给出
- 生成GCPG reward
- 每一个轨迹都有一个GCPG reward, 根据这个进行TPO, 使用loss更新
Pros and Cons
优点:提升泛化性、支持多目标对齐、降低训练成本、阶段性因果建模
缺点:计算复杂度高、依赖预训练模型、任务分解普适性有限