当前位置: 首页 > news >正文

UniVLA训练思路

一、整体架构思想

UniVLA的核心创新是使用**潜在动作模型(Latent Action Model)**从视频中提取任务相关的动作表示,而不是直接预测具体的机器人动作。

为什么这样设计?
传统VLA模型的问题:

  • 不同机器人的动作空间不同(7轴 vs 14轴)
  • 不同任务的动作定义不同
  • 需要大量标注的动作数据

UniVLA的解决方案:

  • 创建一个统一的潜在动作空间
  • 所有机器人、所有任务都映射到这个统一空间
  • 可以利用无标注的视频数据

二、训练分为三个阶段

阶段0:潜在动作模型训练(LAM Training)

这是UniVLA独特的部分,训练一个能从视频中提取"抽象动作"的模型。

Stage 1 - 学习任务无关的潜在动作:

输入:大量视频(机器人 + 人类)
目标:学习通用的运动模式
方法:VQ-VAE(Vector Quantized VAE)
- 把连续的动作压缩成离散的token
- 建立一个"动作词典"(codebook)

Stage 2 - 学习任务相关的潜在动作:

输入:视频 + 语言指令
目标:让潜在动作与任务目标对齐
方法:在DINO特征空间中训练
- 结合视觉特征和语言信息
- 生成"任务驱动"的抽象动作

训练数据:

  • OpenX机器人数据集
  • Ego4D人类视频
  • 导航数据集

阶段1:VLA预训练(Generalist Policy Pre-training)

训练一个能理解视觉、语言并预测潜在动作的大模型。

架构:

  • Backbone: Prismatic-7B(视觉-语言模型)
  • 输入: 图像 + 语言指令
  • 输出: 潜在动作token序列
# 训练过程伪代码
for batch in training_data:image = batch['observation']instruction = batch['language']# 1. 用LAM把真实动作转换为潜在动作tokenlatent_actions = LAM.encode(batch['video'])# latent_actions 是离散的 token,例如 [ACT_42, ACT_156, ACT_89, ...]# 2. VLA模型预测潜在动作predicted_tokens = VLA(image, instruction)# 3. 下一个token预测损失loss = CrossEntropy(predicted_tokens, latent_actions)loss.backward()

**关键点:潜在动作被映射为特殊token {ACT_0, ACT_1, …, ACT_C},就像语言token一样

阶段2:LIBERO微调(Downstream Fine-tuning)

在特定任务上微调,添加机器人特定的action decoder。

新增组件:Action Decoder(仅12M参数)

功能:把潜在动作转换为机器人的实际控制信号
输入:潜在动作 token + 视觉特征
输出:7维动作(LIBERO的情况)

训练配置:

# 训练设置
- 使用LoRA (rank=32) 微调VLA backbone
- 训练Action Decoder(从头开始)
- 总可训练参数:约123M(仅占总参数的1.6%# LIBERO-specific
- Spatial/Object/Goal: 30k steps
- Long (LIBERO-10): 40k steps
- Batch size: 128
- 只使用第三人称相机 + 语言指令

训练流程:

# 微调伪代码
for batch in libero_dataset:image = batch['observation']instruction = batch['task_description']real_action = batch['action']  # 7维真实动作# 1. VLA预测潜在动作(冻结或LoRA微调)latent_action_tokens = VLA(image, instruction)# 2. 获取潜在动作的embeddinglatent_embedding = LAM.get_embedding(latent_action_tokens)# 3. Action Decoder解码为真实动作predicted_action = ActionDecoder(latent_embedding, visual_features)# 4. 监督损失loss = MSE(predicted_action, real_action)loss.backward()

三、数据流动全流程

训练时:
视频帧 → LAM Encoder → 潜在动作token → VLA学习预测这些token微调时:
观察图像 + 指令 → VLA → 潜在动作token → LAM Embedding → 
Action Decoder → 机器人动作推理时:
相机图像 + 任务指令 → VLA → 潜在动作token → 
Action Decoder → 执行动作 → 环境反馈 → 下一帧

四、为什么这样设计有效?

1. 跨机器人泛化:

  • 不同机器人通过各自的Action Decoder连接到统一的潜在空间
  • VLA backbone可以共享,只需训练12M的decoder

2. 数据效率:

  • 可以使用人类视频(无动作标注)预训练
  • 潜在动作捕捉了"任务本质"而非"机器人特定"的知识

3. 计算效率:

  • 仅需OpenVLA 5%的预训练算力(960 GPU小时)
  • 微调时只更新很少的参数

4. 语言对齐:

  • 潜在动作在DINO特征空间训练,与视觉语义对齐
  • 更容易理解自然语言指令

五、LIBERO训练的具体要点

# 你需要准备的
1. 预训练模型:univla-7b (通用VLA模型)
2. 潜在动作模型:lam-stage-2.ckpt
3. LIBERO数据集:轨迹数据(图像+动作+指令)# 训练时发生的事
1. 冻结LAM(已经训好)
2. LoRA微调VLA backbone(学习LIBERO任务特征)
3. 从头训练Action Decoder(学习解码到7维动作空间)# 关键超参数
- max_steps: 30k (Spatial/Object/Goal) 或 40k (Long)
- batch_size: 根据GPU显存调整
- LoRA rank: 32
- learning_rate: 通常5e-4

这个设计的精妙之处在于:潜在动作作为中间表示,既保留了任务相关信息,又抽象掉了机器人特定细节,这使得模型能高效地在不同机器人和任务间迁移!

有什么具体环节需要我详细解释吗?

http://www.dtcms.com/a/521954.html

相关文章:

  • 教育培训网站案例深圳网站建设 利科技
  • 网站2级目录怎么做个人网站首页内容
  • 禁忌网站wordpress 分类 标题
  • 喀什哪有做网站的网站logo怎么改
  • dede网站模板下载哈尔滨网站建设丿薇
  • 文化传播公司网站备案网络公司的网页设计
  • 【C++闯关笔记】map与set底层:二叉搜索树
  • 电影网站 模板专业的赣州网站建设
  • 微网站制作软件企业网关
  • 社交网站制作建站网址导航hao123
  • 公司品牌网站建设福建建设人才市场网站
  • PHP网站建设视频免费加盟酒店网站制作
  • 网站开发技术要学什么ghost 博客wordpress
  • 免费网站电视剧全免费的app简述传统营销与网络营销的整合
  • 循化网站建设公司wordpress crossapple
  • 深圳做模板网站python官网
  • 滁州市建设工程管理处网站公益 建网站
  • 厦门网站建设模拟南宁营销型网站专家
  • 二级域名网站可以做关键词优化吗智慧团建登录入口官网电脑版
  • 网站排名不可有利就前网站建设维护 知乎
  • 常德人才网百度搜索引擎关键词优化
  • php网站建设的几个流程wordpress大学主题下载
  • 如何建设软件下载网站wordpress手机站点
  • 宝塔面板怎么建设网站零陵网站建设
  • 备案系统新增网站照片编辑器app
  • 企业网站建设方案书目录网站公司的利润
  • 网站可以几个服务器网站建设的功能有哪些
  • 微网站模板 php网站开发工资低
  • 专门做婚姻法的网站国内重大新闻10条
  • 网站 欣赏做品牌网站的企业