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

流匹配动作生成

基于流匹配(Flow Matching)的动作生成

1. 核心思想

传统的方法(如行为克隆)直接学习一个确定性策略 A=π(o)A = \pi(o)A=π(o) 或一个条件分布 P(A∣o)P(A|o)P(Ao)。而流匹配方法采用了一种生成式模型的思路,通过一个速度场来刻画从噪声分布到目标动作分布的连续变换过程, 如图中从x4->x0,最上边是动作空间X0,坐标原点是高斯噪声空间X4。
在这里插入图片描述

2. 数学框架:定义路径

首先,需要定义一条连接噪声空间和真实动作空间的路径。

  • 起点(t=0t=0t=0:一个容易采样的简单分布,通常是标准高斯分布。

    • 动作状态:A0∼p0=N(0,I)A^0 \sim p_0 = \mathcal{N}(0, I)A0p0=N(0,I)
  • 终点(t=1t=1t=1:我们想要得到的真实、复杂的动作分布。

    • 动作状态:A1∼pdataA^1 \sim p_{\text{data}}A1pdata(即来自专家数据的真实动作块 AAA
  • 路径(0<t<10 < t < 10<t<1:在起点和终点之间,我们定义一条连续的路径。对于任意时间 ttt,都有一个对应的动作状态 AtA^tAt。最简单的是直线路径

    • At=(1−t)⋅A0+t⋅A1A^t = (1 - t) \cdot A^0 + t \cdot A^1At=(1t)A0+tA1
    • t=0t=0t=0 时,A0A^0A0 就是起点噪声
    • t=1t=1t=1 时,A1A^1A1 就是终点真实动作

3. 关键概念:速度场(Velocity Field)

速度场 v(At,o,t)v(A^t, o, t)v(At,o,t) 是流匹配方法的核心。

  • 直观理解:想象 AtA^tAt 是时刻 ttt 的一个粒子。这个粒子要从噪声 A0A^0A0 运动到目标动作 A1A^1A1速度场 vvv 就定义了这个粒子在每一个时间点 ttt、每一个位置 AtA^tAt 上,应该朝着哪个方向、以多快的速度运动。

  • 数学定义:速度场是路径 AtA^tAt 对时间 ttt 的导数,即瞬时变化率。

    • v(At,o,t)=dAtdtv(A^t, o, t) = \frac{dA^t}{dt}v(At,o,t)=dtdAt

对于我们上面定义的直线路径 At=(1−t)A0+tA1A^t = (1-t)A^0 + tA^1At=(1t)A0+tA1,我们可以计算其速度场:

v(At,o,t)=d[(1−t)A0+tA1]dt=A1−A0v(A^t, o, t) = \frac{d[(1-t)A^0 + tA^1]}{dt} = A^1 - A^0v(At,o,t)=dtd[(1t)A0+tA1]=A1A0

这个结果非常重要:它意味着,对于一条已知的、连接 A0A^0A0A1A^1A1 的路径,其真实的速度场就是终点和起点之间的向量差 (A1−A0)(A^1 - A^0)(A1A0)

4. 训练目标:学习速度场

在推理时,我们不知道真实的 A1A^1A1(那就是我们要生成的目标)。所以,我们需要一个神经网络 vθv_\thetavθ学习逼近这个真实的速度场

  • 训练数据:我们拥有专家数据对 (o,A)(o, A)(o,A),其中 AAA 就是真实的 A1A^1A1
  • 训练过程
    1. 随机采样一个专家数据对 (o,A)(o, A)(o,A)
    2. 从高斯分布中采样一个噪声起点 A0∼N(0,I)A^0 \sim \mathcal{N}(0, I)A0N(0,I)
    3. 随机采样一个时间点 t∼Uniform(0,1)t \sim \text{Uniform}(0, 1)tUniform(0,1)
    4. 根据路径公式(如直线路径)计算 ttt 时刻的中间状态:At=(1−t)A0+t⋅AA^t = (1-t)A^0 + t \cdot AAt=(1t)A0+tA
    5. 计算真实的速度场vtrue=A−A0v_{\text{true}} = A - A^0vtrue=AA0(根据上面的推导)
    6. 让神经网络 vθv_\thetavθ,以 (At,o,t)(A^t, o, t)(At,o,t) 为输入,预测速度场 vpred=vθ(At,o,t)v_{\text{pred}} = v_\theta(A^t, o, t)vpred=vθ(At,o,t)
    7. 最小化预测值与真实值之间的差距(如 L2 损失):

L(θ)=E[∥vθ(At,o,t)−(A−A0)∥2]\mathcal{L}(\theta) = \mathbb{E}[ \| v_\theta(A^t, o, t) - (A - A^0) \|^2 ]L(θ)=E[vθ(At,o,t)(AA0)2]

通过这个简单的损失函数,神经网络学会了在给定观测 ooo 下,如何将任意一个中间状态 AtA^tAt 推向下一个"更接近"真实专家动作 AAA 的状态。

5. 推理(生成)过程:从噪声迭代到动作

训练好网络后,我们就可以进行推理,从噪声"流式"地生成动作

  1. 初始化:从高斯分布采样一个随机噪声 A0∼N(0,I)A^0 \sim \mathcal{N}(0, I)A0N(0,I)

  2. 迭代求解(例如使用欧拉法):

    • 将时间区间 [0,1][0, 1][0,1] 离散成 NNN 个小步(如 t=0,0.1,0.2,…,1.0t=0, 0.1, 0.2, \ldots, 1.0t=0,0.1,0.2,,1.0

    • For k=0k = 0k=0 to N−1N-1N1:

      • 当前时间 tk=k/Nt_k = k / Ntk=k/N,当前状态是 AtkA^{t_k}Atk
      • (Atk,o,tk)(A^{t_k}, o, t_k)(Atk,o,tk) 输入神经网络 vθv_\thetavθ,得到预测的速度 vpredv_{\text{pred}}vpred
      • 更新状态(向前走一小步):

      Atk+1=Atk+1N⋅vpredA^{t_{k+1}} = A^{t_k} + \frac{1}{N} \cdot v_{\text{pred}}Atk+1=Atk+N1vpred

    • End For

  3. 输出:最终的状态 At=1A^{t=1}At=1 就是我们生成的动作 AAA

这个迭代过程,就是沿着学习到的速度场指引的方向,将初始的噪声粒子一步步"流动"到最终符合观测 ooo 的、合理的动作区域。

ref

https://zhuanlan.zhihu.com/p/704226398

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

相关文章:

  • 构建AI智能体:八十四、大模型涌现能力的解构分析:从量变到质变的神秘跃迁
  • 综合型企业网站有哪些在线做网站索引
  • 中天建设招标网站中国楼市最新消息已出
  • (dp)AT 一些区间函数 dp
  • 西安建设门户网站徐州百姓网
  • 历史网站怎么做广东重工建设监理有限公司官方网站
  • Boot问题分析-----内存访问相关bug分析
  • 图解KMP算法
  • 女士春深圳 网站制作网站名字大全
  • 做商城网站要哪些流程报告的英文
  • 《Effective Java》解读第7条:消除过期的对象引用精华总结
  • 做网站 要学 什么语言网架公司和网架加工厂的区别
  • 环保工程东莞网站建设搭建商城哪家好点
  • x86架构下docker部署freeswitch
  • 金融网站设计方案百度发布信息怎么弄
  • 单人做网站asp.net企业网站建设
  • 如何网站增加域名做宠物服务的相关网站
  • 建材网站建设功能方案jquery 的网站模板
  • Similarity Between Binary Vectors|二元向量的相似性
  • [CSP-J2025入门级T3]异或和
  • 网站制作器手机版下载wordpress d
  • 广东省住房和城乡建设局网站首页炫酷企业网站
  • C++:用哈希表封装unordered_map,unordered_set(代码版)
  • 安徽建设工程信息网站做地方网站数据哪里来
  • 门户网站开发请示50个单页面网站设计欣赏(2)
  • 代码随想录训练营打卡Day36| 动态规划part04
  • HTB-Alert靶场 | 低难度Linux提权实战:漏洞链利用(XSS→文件读取→定时任务)详解
  • 我想做个网站推广怎么做网页制作与设计考的在哪查房
  • o2o商城网站建设方案怎么建网站
  • 从0开始学算法——第一天(认识算法)