GRAPE——RLAIF微调VLA模型:通过偏好对齐提升机器人策略的泛化能力(含24年具身模型汇总)
前言 24年具身前沿模型大汇总
过去的这两年,工作之余,我狂写大模型与具身的文章,加之具身大火,每周都有各种朋友通过CSDN私我及我司「七月在线」寻求帮助/指导(当然,也欢迎各大开发团队与我司合作共同交付):
- 要么是做科研想复现
- 要么是工厂想做自动化生产线的智能升级
- 要么是想通过机械臂/人形解决各种业务场景问题
让我感慨:二零一一年,因为算法,首次有「天下无人不识君」的感觉,过去这两年,因为大模型和具身机器人,再次有了这感觉
具身的论文解读过很多之后,便会发现整个今24年的具身模型/策略大概如下所示——目前全网独一份「(建议按照从下至上的顺序看,且所有点我都做了详尽而细致的解读,点击下表中对应的文字即可阅读,我后续也会不断完善之——毕竟还有很多并未囊括于下表中,如转载请于文章开头标明作者July及本文链接」
2024年具身前沿模型/策略大汇总 | 说明 | 补充备注 | 典型代表 |
通用之路:Robotics VLM和VLA中的动作预测 | 专门的action head | 基于LSTM | Robotics VLM:字节RoboFlamingo |
基于diffusion model | Robotics VLM:Octo | ||
VLA:TinyVLA(diffusion-based head) | |||
基于流匹配 | VLA:π0 (流匹配微调VLM) | ||
基于Diffusion Transformer(DiT) | VLA:CogACT(相比Octo的头 更大) | ||
基于下一个token预测技术预测动作token | 对于离散化token动作表示,即指将机器人的每个动作维度分别离散化为 256 个箱子中的一个 | VLA:RT-2、OpenVLA(相当于RT-2开源版) | |
模型训练方法 | 预训练的VLA | 先对VLM基于机器人数据(开源OXE + 自采,或只开源OXE)做二次预训练(模仿人类)变成VLA,再真实环境中微调VLA | π0:先在高度多样化的开源 + 自采机器人数据上进行预训练——变成了相比不二次预训练情况下更强大的VLA,然后针对所需任务进行微调 |
RT2和OpenVLA:只在开源OXE上做的预训练 | |||
不用预训练的VLA | 其考虑到预训练成本较高 | TinyVLA | |
预训练的Robotics VLM | 针对VLM的二次预训练,通过开源OXE训练VLM变成Robotics VLM | Octo:在Open X-Embodiment数据集上进行预训练 | |
不预训练的Robotics VLM | 没有针对VLM的二次预训练,而是直接机器人数据微调VLM变成Robotics VLM | 字节RoboFlamingo:使用简单、少量的微调就可以把 VLM 变成 Robotics VLM | |
直接真实环境中RL开训,摒弃仿真 | 真实环境中得到的RL数据微调VLM + 机器人动作微调:RL训练运行创建的数据集,可以用于二次训练,代替人类提供的例子(效果如何 待验证) | UC伯克利的Sergey Levine,于24年年底在DAI 2024上的演讲:RLDG——Reinforcement Learning Distilled Generalist | |
结合视觉和人类示教与纠正的RL方法,目前暂时还是小众赛道 | UC伯克利的HIL-SERL | ||
RL仿真 + VR遥操 | 重定向 + sim to real(师生学习/策略蒸馏) + VR遥操 | ||
OmniH2O | |||
RL仿真训本体 + RGB遥操部署 | Retargeting、Sim-to-Real、RGB Real-time遥控 | H2O:通过重定向清除不可行的动作,然后仿真训练,最后RGB实时遥操作部署(使用训练好的Sim-to-Real模仿策略进行模仿) | |
仿真中训小脑HST(仿真中训练好之后,RGB遥操部署) 且其真实中训大脑HIT | HumanPlus:RL仿真训本体 + 人类示教(模仿学习/行为克隆)训大脑 | ||
静态数据训练 + 人类示教 | 比如通过示范数据做行为克隆,更结合前身ALOHA的静态数据做协同训练 | Mobile ALOHA | |
动作预测策略 | iDP3(改进的3D diffusion policy) | 可落地在人形机器人上 | 斯坦福iDP3 |
3D diffusion policy | 将3D视觉表示与扩散策略 | 3D Diffusion Policy: Generalizable Visuomotor Policy Learning via Simple 3D Representations | |
Diffusion Policy(还可基于点云) | diffusion policy基于扩散模型 | UMI/dexcap | |
Diffusion Transformer(DiT) | 基于Diffusion Transformer(DiT)改造 | 清华RDT | |
预测与动作扩散器PAD:通过联合去噪同时预测未来图像和动作 | Prediction with Action: Visual Policy Learning via Joint Denoising Process | ||
ACT | ACT基于Transformer | Mobile ALOHA | |
基于下一个token预测技术预测动作token | 基于类似下个token预测策略 | ||
伯克利Digit | |||
训练数据来源 | 1 人类行为视频数据(比如MimicPlay) 2 开源数据(比如Open X-Embodiment等) 3 仿真数据 4 人工收集 | 左边第4种——人工数据收集方式的有: 手持夹爪,收集方便 | 这几种人工收集方式分别以如下 为代表 umi/fastumi |
动作捕捉,精度较高 | dexcap | ||
遥操,精度很高 | 主从机械臂遥操数据ALOHA | ||
VR遥操Open-television |
有意思的是,其中的RDT、π0都通过聚合各大机器人数据集先做预训练,然后微调,且它两的参数规模也分别达到了1B、3B
大有类似大语言模型的发展路线(其实搞具身的如果顺着大语言模型的发展路线走,至少大方向上,不会有太多差错),比如
- 17-20年,以BERT、GPT为代表的预训练-微调模式
且从GPT3起,模型的参数规模越来越大,慢慢的不再需要针对下游特定任务做微调——一个模型搞定所有任务 - 途中经历过GPT3.5的RLHF微调(而巧的是本文要介绍的GRAPE便是通过RLHF微调VLA模型)
- 及至到GPT4之后,模型在各方面的能力逼近人类甚至超越人类
你说,是不是有趣?且越往后越会发现
- 大模型和机器人的融合会越来越深入、彻底,很多大模型的技术会加速嵌入至机器人中
- 所以说,如果懂大模型对搞具身智能是好处多多的(包括本文涉及的RLHF,如果深入搞过大模型的话,则会和我一样 太熟悉不过了——毕竟两年前,我就是从开写ChatGPT及背后的RLHF开卷的,而写本文时,是在24年12.31日凌晨,真是与23年年初开写ChatGPT原理解析,遥相呼应,算是给这两年弄上一个完美的纪念),建议大家好好学,^_^
第一部分 GRAPE:通过偏好对齐实现机器人策略的泛化
1.1 GRAPE的提出背景与相关工作
1.1.1 提出背景
近年来,视觉-语言-动作(VLA)模型的快速发展简化了一般的机器人操作任务,在受控环境变化的一系列任务中展示了令人印象深刻的能力
然而,这些模型面临几个关键挑战,例如在新环境、对象、任务和语义上下文中的泛化能力差[26-Openvla]。导致这一限制的一个重要因素是它们依赖于监督微调(SFT),即VLA通过行为克隆简单模仿成功演练的动作,而未能对任务目标或潜在失败模式形成整体理解[27-Should i run offline reinforcement learning or behavioral cloning?]
- 虽然像PPO[42]这样的强化学习(RL)算法在增强其泛化能力方面表现出色[52-Fine-Tuning Large Vision-Language Models as Decision-Making Agents via Reinforcement Learning],但收集足够的在线轨迹和明确定义奖励的高成本使其在训练VLA时不切实际[44-Octo]
- 此外,训练VLA仅仅复制专家行为通常会导致行为崩溃[28-Training language models to self-correct via reinforcement learning,即通过强化学习进行自我纠正,详见此文的2.3 Self-Correct之SCoRe:通过多轮强化学习进行自我纠正],即计划的轨迹往往次优[26-Openvla]
这是因为SFT数据集通常未经策划,由从专家处收集的离线演示组成,这些演示隐含地嵌入了不同的价值观(例如任务完成、安全性和成本效益),而这些并未在数据中明确定义[36-Open x-embodiment,45-Bridgedata v2]
总之,简单地通过SFT模仿这些行为可能会混淆模型,并导致次优-偏离演示实际目标的恶意轨迹 - 一些方法试图通过明确定义一组目标并分层解决它们来应对这一挑战 [24-Rekep,详见此文《ReKep——李飞飞团队提出的让机器人具备空间智能:基于VLM模型GPT-4o和关系关键点约束(含源码解析)》]。然而,这种方法会带来额外的推理开销,并且缺乏可扩展性 [30-HAMSTER: Hierarchical action models for open-world robot manipulation]
为了解决这些问题,24年,来自北卡罗来纳大学教堂山分校和华盛顿大学的研究者提出了GRAPE(Generalizing Robot Policy via Preference Alignment):通过偏好对齐来泛化机器人策略,以减轻使用强化学习目标训练VLA的高成本,同时提供灵活性以实现定制化操控目标的对齐
- 其对应的论文为《GRAPE: Generalizing Robot Policy via Preference Alignment》
论文一作为北卡罗来纳大学教堂山分校张子健,指导老师为北卡罗来纳大学教堂山分校助理教授 Huaxiu Yao,共同第一作者为华盛顿大学 Kaiyuan Zheng
其余作者包括来自北卡教堂山的 Mingyu Ding、来自华盛顿大学的 Joel Jang、Yi Li 和Dieter Fox,以及来自芝加哥大学的 Zhaorun Chen、Chaoqi Wang - 如下图图2所示,GRAPE引入了轨迹偏好优化(trajectory-wise preference optimization,简称TPO),通过隐式建模成功和失败试验的奖励,在轨迹层面对VLA策略进行对齐,从而提升对多样化任务的泛化能力
具体而言
1) 给定一个复杂的操作任务(顶部),GRAPE首先采用视觉语言模型——比如HAMSTER将任务分解为几个时间阶段,然后识别每个阶段子任务完成所需的空间关键点
Given a complex manipulation task (top), GRAPE first adopts a vision-language model to decompose thetask into several temporal stages, then identifies spatial keypoints essential for each stage’s subtask completion.
具体而言首先将包含prompt——比如pick up the grape..和初始状态的图文对输入到视觉语言模型(VLM)Hamster [30]中。利用Hamster生成的阶段信息和阶段点,对收集的轨迹进行了分段。这有助于更精确地分析复杂任务序列,详细关注每个阶段
且利用Grounded-SAM[41]或结合SAM [41]和DinoV2 [38-DinoV2详见此文《https://blog.csdn.net/v_JULY_v/article/details/144622001》]的方法从图像中提取关键点信息——类似rekep
这些关键点与作者自收集的轨迹数据相结合,使作者能够根据Hamster模型生成的阶段信息优化任务的执行步骤和路径规划
例如,对于一个简单的抓取和放置任务,可以将其分解为多个明确的阶段:抓住葡萄,将葡萄移动到盘子上,将葡萄放在盘子上
2) 然后,给定用户指定的对齐目标「包括:碰撞约束:确保机器人避免与障碍物碰撞。路径约束:优化机器人的运动路径的效率和安全性」,GRAPE提示一个强大的视觉语言模型比如GPT4o——为每个阶段获得一系列成本函数(准确的说,生成每个阶段的详细操作信息和成本函数),其中较低的成本意味着更高的对齐合规性
Then given user-specifiedalignment goals, GRAPE prompts a powerful vision-language model to obtain a series of cost functions for each stage, where lower costimplies higher alignment compliance.
3) 在迭代偏好优化过程中(底部),作者从基础VLA模型中采样多个离线轨迹(一般轨迹条数定义为),并获得具有相关多阶段成本的轨迹。该评分进一步结合了模型对每条轨迹的自我评估和二元任务成功指示器
During iterative preference optimization (bottom), we sample multiple offline trajectories from thebase VLA model and obtain trajectories with associated multi-stage costs. This score further incorporates the model’s self-evaluation ofeach trajectory and a binary task success indicator.
4) 再之后,根据采样轨迹的相应得分对其进行排名,以获得偏好列表——每个任务中奖励最高的轨迹为,奖励最低的轨迹为
Then we rank the sampled trajectories with their corresponding scores to obtain a list ofpreferences.
5) 最后,执行轨迹偏好优化以获得改进的模型,从中进一步采样在线轨迹并迭代直到收敛
Then we perform a trajectory-wise preference optimization to obtain a improved model, from which we further sample onlinetrajectories and iterate until convergence - 且为了进一步缓解轨迹排序和提供任意对齐目标偏好的难度,GRAPE建议将复杂的操控任务分解为多个独立阶段,并采用大型视觉模型为每个阶段提出关键点,每个关键点都与时空约束相关
值得注意的是,这些约束是灵活的,可以定制以使模型与不同的操控目标对齐,例如任务完成、机器人交互安全性和成本效益
1.1.2 相关工作:VLA、强化学习与偏好优化
第一方面,先前的机器人学习工作[14,23-Voxposer,24-Rekep,30-HAMSTER,31-Code as policies,34-Robocodex,35-Embodiedgpt]通常采用分层规划策略
例如,Code asPolicies[31]和EmbodiedGPT[35]采用LLMs和VLMs首先生成一系列高层次的行动计划,然后进一步利用低层次的控制器来解决局部轨迹
然而,这些模型存在低层次技能有限的问题,难以推广到日常任务中
好在VLA通过将大型视觉语言模型作为骨干并直接在模型内生成动作,倾向于扩展低层次任务。它们通常通过两种主流方法实现动作规划:
- 动作空间的离散化 [6-Rt-1,7-Rt-2,26-Openvla],例如 Open-VLA [26],它保留了自回归语言解码目标,并将动作空间均匀地截断为一小组动作token
由于这种离散化不可避免地引入误差,一些方法如π0 [4-π0,详见此文《π0——用于通用机器人控制的VLA模型:一套框架控制7种机械臂(基于PaliGemma和流匹配的3B模型)》] 采用更新的结构 [53-Transfusion] 并直接集成扩散头diffusion head进行动作预测,以避免离散化 - 扩散模型[2,16-Diffusion policy,18-Diffusion models beat gans on image synthesis,25- Planning with diffusion for flexible behavior synthesis,32-Adaptdiffuser,49-Chaineddiffuser]——如 Diffusion Policy [16]作为动作头,不是每次生成一个逐步的动作,而是通过几个去噪步骤生成一系列未来动作
虽然这些模型在结构上有所不同,但它们始终通过行为克隆对成功的展开进行监督训练(they are consistently supervised-trained on successful rollouts via behavior cloning),这很难推广到未见过的操作任务
然而,我们的GRAPE首先通过试错在轨迹层面对VLA策略进行对齐,有效提高了可推广性和可定制性
第二方面,强化学习RL
- [17-2017年6月OpenAI联合DeepMind首次正式提出的:Deep Reinforcement Learning from Human Preferences,即基于人类偏好的深度强化学习,简称RLHF,详见此文《ChatGPT技术原理解析:从RL之PPO算法、RLHF到GPT4、instructGPT》,
- 42-PPO「详见此文《强化学习极简入门:通俗理解MDP、DP MC TC和Q学习、策略梯度、PPO》的第4部分」,
- 56-Fine-Tuning Language Models from Human Preferences,OpenAI进一步阐述RLHF的文章]
在SOTA基础模型(FMs)的后训练中发挥着关键作用,包括
- 文本生成模型[1-GPT4,12,15,19-The llama 3 herd of models,39- Training language models to follow instructions with human feedback,即instructGPT,详见上面刚提到过的ChatGPT原理解析]
- 图像生成模型[13- Mj-bench: Is your multimodal reward model really a good judge for text-toimage generation?,20-DPOK: Reinforcement Learning for Fine-tuning Text-to-Image Diffusion Models]
- 视频生成[50- Cogvideox: Text-to-video diffusion models with an expert transformer]
这些模型通过偏好数据的嵌入被广泛用于使预训练的FMs与人类价值观对齐
同时,RL在训练机器人任务的策略方面也取得了巨大成功
- [10-Decision transformer: Reinforcement learning via sequence modeling,
- 11-Towards human-level bimanual dexterous manipulation with reinforcement learning,
- 14- Safe reinforcement learning via hierarchical adaptive chanceconstraint safeguards,
- 42-PPO,47-EscIRL: Evolving self-contrastive IRL for trajectory prediction in autonomous driving,
- 48- Unidexfpm: Universal dexterous functional pre-grasp manipulation via diffusion policy,55-Dexterous manipulation with
- deep reinforcement learning: Efficient, general, and lowcost]
尽管直观上通过RL后对齐VLA是有益的,但之前的工作尚未报告这样的成功,主要是因为
- 操作目标通常多样且复杂,使得奖励难以进行分析性定义[21];
- 虽然这种奖励可以从人类偏好中建模,但在机器人操作任务中标注此类偏好通常耗时复杂,且需要人类专业知识[45]
- 奖励的不完美数值微分通常会导致RL算法——如PPO[42] 崩溃[8-Reinforcement learning for control: Performance, stability, and deep approximators]
然而,最近的一些研究[40- Direct preference optimization: Your language model is secretly a reward model,详见《RLHF的替代之DPO原理解析:从RLHF、Claude的RAILF到DPO、Zephyr》,46-Preference optimization with multi-sample comparisons]显示了无需这种显式奖励建模即可直接通过RL对策略进行对齐的成功
受此启发,GRAPE通过对比轨迹来对齐策略,从而避免了奖励建模中的数值问题。此外,作者引入了一种自动偏好合成管道,可以轻松扩展到各种操作任务,并能够适应不同的对齐目标
1.2 通过偏好对齐来推广机器人策略
在推理过程中,VLA 通常以任务指令 初始化,并且在每个时间步
,它接收环境观察
(通常是一张图像)并输出一个动作
,如此可以将
表示为由
参数化的VLA 的动作策略
为了完成任务,VLA 与环境反复交互并获得长度为 的轨迹
。通常,VLA通过SFT 进行微调以模仿专家行为(定义为方程1):
其中,表示包含
个专家轨迹的训练集,具体来说,
迫使VLA 记住从分布
中采样的每个观察相关的动作,导致对新任务环境的泛化能力较差
值得注意的是,虽然遵循Brohan 等人[7-Rt-2] 和O’Neill 等人[36-Open x-embodiment] 的做法,并基于马尔可夫决策过程MDP假设[43-Richard S Sutton. Reinforcement learning: An introduction. A Bradford Book, 2018] 考虑逐步策略
- 但作者的方法可以很容易地适应非MDP 情况,该情况将过去的交互历史(通常是视频或一系列图像)作为状态[9-Gr-2,详见此文《字节GR2——在大规模视频数据集上预训练且机器人数据上微调,随后预测动作轨迹和视频(含GR1详解)》]以及扩散策略[16-Diffusion policy]
- 其一次生成多个未来步骤[44-Octo]「which takes past interaction histories (usually a video or a series of images) as state [9] and diffusion policy [16] which generates multiple futuresteps all at once [44]」
1.2.1 TPO:轨迹偏好优化(直接用的DPO的思想)
先来进一步解释下图中右下角的Trajectory-wise Preference Optimization
为了提高泛化能力,作者遵循
- Bai等人[3-Training a helpful and harmless assistant with reinforcement learning from human feedback,相当于早在2022年4月份,目前OpenAI最大的竞争对手Ahthropic就发了其LLM论文:Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback,这篇论文和OpenAI的instructGPT论文极其相似 (如果你之前还没看到instructGPT论文,或者尚不了解ChatGPT的三阶段训练方式,强烈建议先看此文:ChatGPT技术原理解析:从RL之PPO算法、RLHF到GPT4、instructGPT),也就比后者晚发布40多天]
- Schulman等人[42-Proximal policy optimization algorithms,即PPO算法的工作
并通过RL目标进一步微调VLA策略
- 令
表示由
参数化的奖励函数,从而有(定义为方程2)
其中,控制与通过SFT 在方程(1) 中训练的基础参考策略
的偏差,
是在指令
下策略
生成整个轨迹
的可能性
- 然后作者遵循Rafailov 等人的方法[40-Direct preference optimization: Your language model is secretly a reward model,即DPO,详见此文《RLHF的替代之DPO原理解析:从RLHF、Claude的RAILF到DPO、Zephyr》],推导出轨迹奖励
的解析重参数化为(定义为方程3)
- 类似于Rafailov 等人[40-即DPO],作者采用Bradley-Terry(BT) [5-Rank analysis of incomplete block designs: I. the method of paired comparisons] 模型,并从一组带有偏好排序的轨迹中对
进行建模
具体来说,令和
分别表示从相同初始状态开始的被选择和被拒绝的轨迹,可以将轨迹奖励建模目标公式化为(定义为方程4)
- 然后,我们遵循Rafailov等人DPO[40]的方法,将公式(3)代入公式(4),得到如下轨迹偏好优化(TPO)损失
,相当于公式(2)——定义为方程5
- 然后可以进一步从MDP中提取,并将轨迹
的可能性分解为单个状态-动作对,即
且进一步获得(定义为方程6)
最后,可以将方程(6) 代入方程(5),以获得逐步状态-动作对形式的TPO 损失
最终得到的TPO损失方程6是有益的,因为它:
- 通过简单地使用VLA收集的逐步回合,将策略
在轨迹级别上全局对齐到人类偏好
- 通过在整个轨迹的状态-动作对中反向传播梯度,稳定策略并引导其朝向最终目标
- 通过通过RL目标从成功和失败的轨迹中学习,显著提升泛化能力。尽管Finn等人[21-Guided cost learning: Deep inverse optimal control via policy optimization]指出,扩大采样轨迹的规模可以减少奖励建模中的偏差,但这也增加了训练成本
因此,虽然作者的方法可以轻松扩展,但作者还是建议将讨论限制在仅存在一个选择/拒绝轨迹的二进制情况
1.2.2 引导成本偏好生成:Guided-Cost Preference Generation(GCPG)
然后,再来进一步解释下图右上角,及下图底部的中间部分:目标对齐下的多阶段成本、模型自我奖励、任务是否成功的二元指示器
虽然在给定 TPO 目标方程(5)的情况下,可以通过根据相应偏好排序的轨迹来对策略进行任意目标的对齐,但这会产生很高的成本,因为它需要人类专业知识和冗长的手动注释
因此,为了更好地扩展偏好合成以实现任意对齐目标(例如任务完成、安全性、效率),作者提出引导成本偏好生成 (GCPG),以自动策划集成不同对齐目标的此类偏好「we propose Guided-Cost Prefer-ence Generation (GCPG) to automatically curate such pref-erences that integrate different alignment objectives」
首先,针对多阶段时间关键点约束(Multi-Stage Temporal Keypoint Constraints)
- 基于Huang 等人[24-Rekep,详见《ReKep——李飞飞团队提出的让机器人具备空间智能:基于VLM模型GPT-4o和关系关键点约束(含源码解析)》] 的见解,作者通过将轨迹分解为时间阶段,并为每个阶段分配成本以量化性能,来解决复杂操作任务中指定精确轨迹偏好的复杂性
- 然后,聚合这些特定阶段的成本,以获得对每个轨迹的整体评价
具体来说,采用基于VLM 的阶段分解器(更多详见附录A),将轨迹
划分为一系列
连续阶段,公式化为(定义为方程7)
其中 表示轨迹
的第
阶段
- 在获得阶段分解后,作者进一步使用视觉-语言模型「例如DINOv2 [37]-详见此文《从DINO、DINOv2到DINO-X——自监督视觉Transformer的升级改进之路(基于ViT)》的第二部分」来识别在各个阶段作为参考指标的关键点
- 然后,作者提示一个强大的LLM [1-GPT4o] 为每个阶段提出多个成本函数(参见附录E.2 中的示例),这些函数与对齐目标相对应,其中较低的成本表示更好的目标符合性
- 接着,在阶段
的成本
被公式化(定义为方程8)
其中表示在阶段
中使用关键点子集
计算的第
个成本
是一个可调的阈值参数,来调整每个成本的容忍度——只有当成本超过阈值时才会应用
是一个权重参数,用于调整每个成本的重要性
- 最后,为了汇总整个轨迹的成本,作者不是线性地对每个阶段求和,而是应用指数衰减来捕捉每个时间阶段的因果依赖关系(例如,如果一个轨迹在前面的阶段产生了高成本,则不期望其随后表现良好)
定义为外部奖励(是为方程9)
其中,方程9汇总了每个阶段的个体成本和子目标,以应对维度灾难,并有效地遵循定制化的对齐方式
其次,针对引导成本偏好生成
为了进一步提高偏好合成的稳定性和最优性,作者从自我奖励[54- Calibrated self-rewarding vision language models]中获得灵感,并确定更优的轨迹应该由外部评判「如公式(9)所示」和模型本身确认
因此,作者加入了两个额外的奖励并获得了GCPG奖励
- 首先是方程10——相当于是对方程9 11 12的汇总
其中是由π 提供的自评得分,其等于生成轨迹
的对数似然(定义为方程11)
- 其次是,
——一个二元指示函数,指示轨迹
是否成功完成任务(定义为方程12)
其中是调整每个奖励重要性的权重参数
直观上,方程(11) 可以看作是方程(12) 所提供的稀疏信号的密集近似,这些信号通过方程(9) 进一步校准,以获得对轨迹的整体评估,该评估既考虑其最优性,又考虑通过方程(9) 中的外部奖励指定的定制目标的对齐程度
1.2.3 迭代偏好优化Iterative Preference Optimization
最后,再解释下图最右下角的迭代优化过程
在生成偏好之后,接着讨论迭代偏好优化策略。受在线策略强化学习[42-PPO]实践的启发,这些实践通常比离线训练产生更优的策略
故作者通过在线收集的轨迹使用TPO迭代微调SFT VLA模型
例如,在第 次迭代中
- 首先为各种任务采样大量轨迹并获得
- 然后使用公式(10)计算每条轨迹的成本,并根据每个任务对这些轨迹进行排序
- 将每个任务的前
和后
条轨迹配对,获得
个选择-拒绝轨迹对
- 然后通过公式(5) 使用TPO 微调相同的采样策略,获得更新后的策略
重复这一过程K 次,并获得与目标目标对齐的最终模型
对了,作者在算法1 中详细介绍了GRAPE迭代偏好优化过程
至此,可能你也看出来了,其实GRAPE
更像Ahthropic的Claude的训练方式——RAIHF「详见此文《RLHF的替代之DPO原理解析:从RLHF、Claude的RAILF到DPO、Zephyr》的1.3 节Claude的两阶段训练方式:先监督微调 后RAIHF」
为何这么说呢?因为GRAPE的本质质是类似 给VLA上RLAIF,这个AI即GPT4o在对齐目标的前提下计算各个轨迹的成本,然后根据计算结果自动排序(不像RLHF 得人工对结果做排序),根据排序结果选择优-差对做DPO优化,所以可以不断刺激机器人选择更优的运动策略——从而不断优化机器人的运动轨迹
第二部分 GRAPE的数据设置、及实验设置
2.1 实验数据集
2.1.1 现实世界数据集
对于SFT数据集,在真实世界机器人实验中,作者使用一个由Franka机器人手臂和Robotiq夹持器组成的机器人平台进行数据收集
- 为了确保数据收集和评估的一致性,所有操作都在相同的实验环境中进行
在数据收集过程中,收集了220个包含常见物体(如香蕉、玉米、牛奶和盐)的抓取和放置任务的数据集 - 此外,收集了50个涉及按下不同颜色按钮的任务的数据。由于用于按钮按压任务的物体数量有限,在测试阶段引入了背景噪音和干扰物体,以创造未见过的场景
且为了进一步增强OpenVLA处理不同动作的能力,还收集了50个推倒任务的数据
这些多样化的任务数据集有助于提高模型在处理不同类型动作时的泛化能力
对于TPO数据集,在真实世界实验中,使用通过OpenVLA在真实世界SFT数据集上微调的模型进行轨迹采样
每个任务进行了五次。在TPO数据集中,实验了15个不同的任务,包括10个抓取和放置任务、3个按钮按压任务和2个推倒任务,共计75个数据条目。经过选择过程,得出一个由30个轨迹组成的偏好数据集
2.1.2 仿真数据集
对于SFT 数据集,对于 Simpler-Env,SFT 数据集包括 100 条轨迹,总计约 2,900 个转换。这些回合是使用 Octo 从Simpler-Env 生成的,遵循 Ye 等人 [51] 中描述的方法
值得注意的是,LIBERO并没有收集新的数据,也没有对OpenVLA模型进行微调。相反,作者直接使用OpenVLA团队提供的OpenVLA-SFT模型,这显著简化了流程
对于TPO数据集,在Simpler-Env的情况下,每个任务的轨迹都是使用OpenVLA-SFT模型采样的,每个任务进行五次试验。这个过程产生了一个包含80条轨迹的TPO数据集
对于LIBERO,使用OpenVLA-SFT模型(每个任务一个模型)在LIBERO中的四个任务中进行数据采样。对于每个任务,每个子任务采样五条轨迹,最终形成一个包含总共20条轨迹的TPO数据集
2.2 实验设置
作者采用OpenVLA [26] 作为基础模型,使用LoRA 微调和AdamW 优化器进行监督和偏好微调。在监督微调阶段,作者使用学习率4 × 10−5,批量大小为16
对于偏好微调应用学习率2 × 10−5,使用相同的批量大小。有关训练过程和数据集的更多详细信息,请参见附录A 和B
在基线模型的选择上,作者将GRAPE与两个在机器人控制任务中以强大性能著称的领先机器人学习模型进行比较
- 第一个模型是Octo [44-详见此文《从Octo、OpenVLA到TinyVLA、CogACT——视觉语言动作模型VLA的持续升级(RT-2和π0在其他文章介绍)》],一个基于大型transformer的策略模型
- 第二个模型是OpenVLA [26,详见此文],一个7B视觉-语言-动作模型
这两个模型均使用从相应环境中采样的相同数据集进行了监督微调。作者分别将监督微调后的模型称为Octo-SFT和OpenVLA-SFT
2.1.1 在真实世界机器人环境中的评估
在真实世界实验中,GRAPE在各种任务中显著优于其他模型
- 值得注意的是,在领域内任务中,GRAPE达到了67.5%的成功率,比OpenVLA-SFT的45%提高了22.5%,且远高于Octo-SFT的20%
- 此外,在视觉泛化任务中,GRAPE展示了更高的适应性,成功率为56%
- 在更具挑战性的动作泛化任务中,尽管OpenVLA-SFT表现尚可,但GRAPE仍优于OpenVLA-SFT,显示了其理解各种动作和基于语言执行命令的潜力
综合所有类别的任务,GRAPE的总平均成功率为52.3%,比OpenVLA-SFT的33.3%提高了19%,且远高于Octo-SFT的5.8%。这一表现突出了GRAPE在处理复杂和多变任务环境中的有效性和高适应性
2.1.2 奖励模型的消融研究
在本节中,作者进行消融研究以分析方程10中每个奖励组件的贡献
最终性能的评估对象包括:外部目标对齐奖励,自我评估奖励
,以及成功指示器
此外,还进行了一项单独的消融研究,以强调使用整个奖励得分进行偏好选择的重要性。该方法与随机选择一个成功轨迹作为首选轨迹和一个失败轨迹作为拒绝轨迹的方法进行了比较
Simpler-Env 环境中的结果在下表表1 中报告
结果表明:
- 将完整的奖励评分方程(10) 用于偏好排序相比仅基于成功的随机选择显著提高了性能;
- 所有奖励组件都有助于提高模型性能。这些发现与预期一致
具体来说,Rself (ζ) 通过鼓励模型选择具有更高生成概率的轨迹来增强GRAPE 模型的稳健性。同时,Rext (ζ) 引导模型学习特定行为,如安全性和效率。最后,Isuccess (ζ) 起到作为一个关键指标的作用,引导模型优先考虑成功的轨迹
总之,GRAPE通过从成功和失败的尝试中学习来增强泛化能力,并通过定制的时空约束提供与安全性、效率和任务成功等目标对齐的灵活性
实验结果表明,GRAPE在域内和未见任务上显著提高了成功率,同时实现了灵活的对齐。虽然GRAPE在泛化和对齐灵活性方面表现出显著的改进,但它也有一些局限性
- 首先,对偏好排序的依赖需要足够多样化的轨迹,这可能限制在仅有有限任务设置的场景中的应用
- 其次,虽然GRAPE支持可定制的对齐,但特定目标的阈值参数的手动调整可能引入主观偏见,并需要领域专业知识。未来的工作可能会探索更高效和自动化的偏好合成和适应方法
// 待更
相关文章:

GRAPE——RLAIF微调VLA模型:通过偏好对齐提升机器人策略的泛化能力(含24年具身模型汇总)
前言 24年具身前沿模型大汇总 过去的这两年,工作之余,我狂写大模型与具身的文章,加之具身大火,每周都有各种朋友通过CSDN私我及我司「七月在线」寻求帮助/指导(当然,也欢迎各大开发团队与我司合作共同交付)…...

NeurIPS 2024 | 像素级LLM实现图像视频理解、生成、分割和编辑大统一(昆仑万维等)
Accepted by NeurIPS 2024 文章链接:https://arxiv.org/pdf/2412.19806 项目链接:https://vitron-llm.github.io/ Github链接:https://github.com/SkyworkAI/Vitron 亮点直击 首次提出了一种通用的视觉多模态大语言模型(MLLM&…...

中药和西药的区别
中药和西药的区别 一、定义与来源 (一)中药 中药主要是在中国传统医学理论指导下用于预防、诊断、治疗疾病或调节人体机能的药物。它的来源广泛,包括植物药、动物药、矿物药等。植物药是中药的主要组成部分,例如人参࿰…...

Spring Security(maven项目) 3.0.2.4版本
前言: 通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能动地发展到理性认识,又从理性认识而能动地指导革命实践,改造主观世界和客观世界。实践、认识、再实践、再认识,这种形式,循环往…...

【Ubuntu】安装华为的MindSpore
目录 1 安装Anaconda 2 更换国内源 3 安装MindSpore 1 安装Anaconda 2 更换国内源 具体方法如下: 打开命令行 cmd 工具,输入以下命令。 ① Conda 换源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ c…...

【模型】Qwen2-VL 服务端UI
1. 前言 最近在测试VLM模型,发现官方的网页demo,代码中视频与图片分辨率可能由于高并发设置的很小,导致达不到预期效果,于是自己研究了一下,搞了一个简单的前端部署,自己在服务器部署了下UI界面࿰…...

计算机网络•自顶向下方法:网络层介绍、路由器的组成
网络层介绍 网络层服务:网络层为传输层提供主机到主机的通信服务 每一台主机和路由器都运行网络层协议 发送终端:将传输层报文段封装到网络层分组中,发送给边缘路由器路由器:将分组从输入链路转发到输出链路接收终端࿱…...

安卓11 SysteUI添加按钮以及下拉状态栏的色温调节按钮
最近客户想要做一个台灯产品,需要实现 串口调节台灯功能 ,其中包括 亮度调节 色温调节 开关 三个功能 话不多说,贴代码 diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml old mode 100644 new …...

多个线程处理不同的数据,等线程都完成后再进行下一步操作
现在有三个任务,三个任务之间没有关联关系,但是第四个任务要等前三个完成之后才能进行,于是使用多线程完成前三个任务节省时间 示例代码: public void saveDataByOnlineTimeNew(LocalDateTime startTime, LocalDateTime endTime) {Objects.requireNonNull(startTime, "开…...

聆听音乐 1.5.9 | 畅听全网音乐,支持无损音质下载
聆听音乐手机版是面向广大音乐爱好者的移动应用程序,用户可以随时随地通过手机享受丰富的音乐资源。它提供了多种魅力功能,让用户在手机上畅享更舒适的音乐体验,每位用户都能享受精彩纷呈的收听体验。此外,软件还支持无损音质音乐…...

Rust 基础入门指南
Rust 基础入门指南 1. Rust 语言概述 Rust 的历史与设计理念 Rust 是由 Mozilla 研究院的 Graydon Hoare 于2010年开始创建的系统编程语言。其设计目标是创建一种安全、并发、实用的编程语言,特别关注内存安全和并发性。 Rust 的核心设计理念包括: …...

青少年编程与数学 02-006 前端开发框架VUE 03课题、编写APP组件
青少年编程与数学 02-006 前端开发框架VUE 03课题、编写APP组件 一、组件二、VUE中的组件三、APP组件四、应用示例1. App.vue - 根组件2. HelloWorld.vue - 子组件3. main.js - 应用入口文件4. router/index.js - 路由配置文件5. index.html - HTML入口文件6. package.json - 项…...

基于Java的银行排号系统的设计与实现【源码+文档+部署讲解】
目 录 内容提要 1. 引言 2. 系统分析 2.1 系统初步调查 2.2 系统可行性分析 2.2.1 经济可行性 2.2.2 操作可行性 2.2.3 技术可行性 2.3 系统开发环境概述 2.3.1 硬件环境 2.3.2 软件环境 2.4 系统需求分析 2.4.1 业务流程分析 2.4.2 系统体系结构设计 2.4.3 系统逻辑模型 2.5 …...

linux-26 文件管理(四)install
说一个命令,叫install,man install,install是什么意思?安装,install表示安装的意思,那你猜install是用来干什么的?猜一猜干什么的?安装软件,安装第三方软件,错…...

VS2015中使用boost库函数时报错问题解决error C4996 ‘std::_Copy_impl‘
在VS2015中使用boost库函数buffer时遇到问题,其他函数定义均能执行,当加上bg::buffer(参数输入正确);语句后就报如下错误: 错误 C4996 std::_Copy_impl: Function call with parameters that may be unsafe - this call relies…...

pikachu靶场--目录遍历和敏感信息泄露
pikachu靶场—目录遍历和敏感信息泄露 目录遍历 概述 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台再…...

植物大战僵尸杂交版3.0.2版本
更新内容 植物大战僵尸杂交版3.0.2版本的更新内容如下: • 修复BUG: • 游戏内贴图错乱的BUG。 • 无尽模式卡死的BUG。 • 卡牌模仿者的一系列BUG。 • 干扰车可能同时出现多辆的BUG。 • 冒险模式部分关卡无法过关的BUG。 • 新增内容…...

kafka怎么保证顺序消费?
kafka怎么保证顺序消费? 1. 分区内的顺序保证2. 并发消费3. 实现顺序消费的策略4. 注意事项 kafka创建 topic 的时候没有指定分区数量,那么默认只会有一个分区。如果你想要创建一个具有多个分区的 topic,你可以在创建 topic 的命令中指定 --p…...

Makefile 模板 --- 内核模块
内核模块模板 驱动源码同级目录下 #******************************************************************************* # xxx Co., Ltd. All Right Reserved. # Author : # Version : V1.0.0 2020.10.21 # Description : # Note : gaoyang3513163.co…...

仓库叉车高科技安全辅助设备——AI防碰撞系统N2024G-2
在当今这个高效运作、安全第一的物流时代,仓库作为供应链的中心地带,其安全与效率直接关系到企业的命脉。 随着科技的飞速发展,传统叉车作业模式正逐步向智能化、安全化转型,而在这场技术革新中,AI防碰撞系统N2024G-2…...

计算机视觉CV期末总复习
1.计算机视觉基础 数字图像表示 二值图像 仅包含黑白两种颜色的图像,只使用1个比特为(0黑或1白)表示 彩色图像:分不同的颜色空间 gray灰度图像 每个像素只有一个采样颜色,取值范围0--255,为8比特位&a…...

【微信小程序获取用户手机号
微信小程序获取用户手机号有2种,一种是前端自己解密,一种是获取后发给后端,后端去解密 重点:要在微信公众平台设置里面绑定微信开放平台账号,不然反解不出来用户手机号上代码: <button style"font-size: 16px;" open-type"getPhoneNumber" getphonenumb…...

WFP Listbox绑定数据后,数据变化的刷新
Listbox绑定数据通过ItemsSource来的,如果绑定的是普通的List<数据>,不会自己刷新。 使用ObservableCollection集合 解决问题的方法: 将数组替换为 ObservableCollection ObservableCollection 是专为绑定设计的集合类型,可以通知 W…...

Android Camera压力测试工具
背景描述: 随着系统的复杂化和业务的积累,日常的功能性测试已不足以满足我们对Android Camera相机系统的测试需求。为了确保Android Camera系统在高负载和多任务情况下的稳定性和性能优化,需要对Android Camera应用进行全面的压测。 对于压…...

【华为OD-E卷 - 最优资源分配 100分(python、java、c++、js、c)】
【华为OD-E卷 - 最优资源分配 100分(python、java、c、js、c)】 题目 某块业务芯片最小容量单位为1.25G,总容量为M*1.25G,对该芯片资源编号为1,2,…,M。该芯片支持3种不同的配置,分…...

字符串格式时间(HH-MM)添加间隔时间后转为HH-MM输出
转换时间代码如下所示 #include <iostream> #include <iomanip> #include <sstream>//添加时间转换为时间 std::string addMinutesToTime(const std::string& timeStr, int minutesToAdd) {int hours, minutes;char delimiter;//解析输入时间std::istri…...

SQL 基础教程 - SQL ORDER BY 关键字
SQL ORDER BY 关键字 ORDER BY 关键字用于对结果集进行排序。 SQL ORDER BY 关键字 ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。 ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。 SQL ORD…...

STM32 软件I2C读写
单片机学习! 目录 前言 一、软件I2C读写代码框架 二、I2C初始化 三、六个时序基本单元 3.1 引脚操作的封装和改名 3.2 起始条件执行逻辑 3.3 终止条件执行逻辑 3.4 发送一个字节 3.5 接收一个字节 3.5 发送应答&接收应答 3.5.1 发送应答 3.5.2 接…...

neo4j学习笔记
图数据库 图数据库是基于图论实现的一种NoSQL数据库,其数据存储结构和数据查询方式都是图论为基础的,图数据库主要用于存储更多的连接数据。 图论(GraphTheory)是数学的一个分支。图论以图为研究对象,图论的图是由若干…...

【动手学电机驱动】STM32-MBD(2)将 Simulink 模型部署到 STM32G431 开发板
STM32-MBD(1)安装 STM32 硬件支持包 STM32-MBD(2)Simulink 模型部署 【动手学电机驱动】STM32-MBD(2)Simulink 模型部署 1. 软硬件条件和环境测试1.1 软硬件条件1.2 开发环境测试 2. 创建基于 STM32 处理器…...