具身智能:skyJEPA诞生的背景

  本轮AI行情是chatGPT在2022年底发起的,至今已接近4年,核心还是因为transformer架构在NLP领域的效果比以往任何网络架构都要好!但时至今日,transformer架构带来的技术红利已经见顶,除非出现了新的、更好的网络架构,否则NLP的能力也已见顶了,下一个风口轮到具身智能了!说到具身智能,Yann LeCun的JEPA系列必须浓墨重彩地学习!刚好其团队6.22又发布了skyJEPA,专门用于机器人的自动控制(目前在无人机上做测试,但从其原理讲,未来完全可以横向扩展到自动驾驶、其他类型的机器人领域),这个skyJEPA的网络结构是什么?为啥理论上能适用于所有机器人/自动控制领域?

   1、先说说传统机器人控制领域的问题!以无人机为例,如果需要软件程序自动控制:

  • 需要安装大量的传感器,实时采集各种环境数据,包括但不限于:风速、风向、空气密度、高度、温度.......
  • 上述所有的数据采集后,接着就是用合理的物理公式计算所需的硬件参数了,比如根据当前的风速、风向、空气密度、高度,计算无人机悬停所需的升力;
  • 最后把所需升力转换成硬件能设置的参数,比如电流大小、4个螺旋桨电机的转速、螺旋桨叶片的倾斜角度......

  上述做法,从物理角度看,非常严谨,可解释性也很强,但缺陷也很明显:

  • 传感器的精度和实时性要高,采集的环境数据要准确
    • 传感器的质量要好,价格肯定不便宜
  • 物理公式和定理的运用要准确,不能有大误差,比如明明应该用newton第二定律计算速度,结果错用了胡克定律计算弹性.....
    • 或则说物理公式本身就有误差,本身就无法100%精确反应对应的物理现象
  • 物理公式计算复杂,耗电量高,续航低
  • 物理量一旦变化,无人机的参数必须更新:比如无人家初始重量1kg,四个电机只需要提供约10N的升力就能让无人机悬停!但此时在无人机下方悬挂0.2kg的相机,此时无人机总重就变成了1.2kg,此时如果还是只提供10N升力,无人机是无法正常悬停的,必须也该电机、电流等参数增加升力才行!

      上述的这些问题怎么低成本地解决了? 先来看看人是怎么操作、控制这些机械设备的,从中或许可以得到一些启发!

      2、比如人在开车,如果前方没有任何障碍物,路况和视野都很好,并且当前速度远低于法定限速,那么司机是可以适当踩油门提速的!反之:如果前方车辆很多,或突然有人“鬼探头”从路边隐蔽的掩体后面突然窜出来跑到马路中间,司机第一时间就是急踩刹车,甚至是猛打方向盘来躲避前方的紧急情况,这么做没毛病吧!再比如,飞手把无人机悬停在距离地面3米高的空中,但是突然旁边的树叶向左边倾斜很厉害,说明有向左吹的大风,为了继续保持无人机的位置,会适当加大往右飞的力来抵消向左吹的风!那么问题来了:

  • 人在遇到这些紧急情况的时候完全是根据自己过往大量经验形成的物理直觉来行事,完全没有在现场临时用物理公式计算吧!比如司机遇到紧急情况,第一时间就是踩刹车,而不是套用牛顿第二定律公式F=ma,以及现在的速度来计算需要多大的力量才能在撞车前刹停!遇到这种紧急情况,谁有闲心和足够的知识储备来套用公式计算了?只要能避开险情,保障任务顺利执行,不用严谨的物理公式不也一样行么?
  • 既然人都能在不套用物理公式的前提下成功避险,自动驾驶、自动控制等领域是不是也能模仿人类的方式来保障任务顺利执行了

  3、再来捋捋人的思路:上面说了,人在操作这些机器设备时,主要还是利用自己的经验和直觉来决定后续的行为,本质还是:

  • state +  action -> next state
    • state:当前状态,比如有人“鬼探头”从马路牙子突然窜出来
    • action: 人的行为,比如紧急刹车制动;或猛打方向盘躲避
    • next state:如果action是紧急刹车,那车就滑动一段距离后停下来;如果action是猛打方向盘,车可能侧翻或撞上左边的事物
    • 核心是:建立一个 state + action到next state的映射(状态转移函数 f(state, action) )!比如 “鬼探头” + 急刹制动=车辆急停;  “鬼探头” + 猛打方向盘 = 车辆侧翻撞上路边其他事物 ......

      怎样,人操作机械设备的本质简单吧!只要开过车(甚至是不需要开车,哪怕就是坐过车、看过别人开车的人)都能理解上述原理!这么做的好处:

  • 智商正常的人学习开车,只要在车上实际操作10~20个小时就能学会了
  • 完全不需要学些复杂的数学或物理定律和公式,一样也能正常学会开车

  既然人都不用学习复杂的物理定理、数学公式也能正常学会开车,那AI是不是也能这么干了?绕开复杂的物理定理、数学公式,直接模仿人的方式,建立正确的 state + action -> next state的映射不就行了?这也是Yann LeCun觉得通往AGI的正确道路

  • 观察世界  ->  模拟不同action的结果 ->  选择最好的action -> 继续观察世界 -> 继续模拟不同action的结果 ->  继续选择最好的action..... ->任务结束
    • 看着有点像AI agent的开发......

  4、既然人都绕开了复杂的物理定理、数学公式,AI应该怎么做了?核心就是建立“state + action -> next state”的映射呗,这样AI在遇到了不同的state才知道采取哪些合适的action来应对嘛(100%复刻人类开车、玩无人机的经验)!skeyJEPA是怎么做的了?思路如下:

  image

  • Sim Data Synthesis(仿真数据合成)

    • 图上内容:左边展示了各种不同颜色、大小的无人机 3D 模型(Principled Data Generation)。

    • 解读:这是训练数据源。为了解决现实中训飞机会“炸机”的安全问题,团队在高度原则化的仿真器中进行数据增强(Domain Randomization),生成了包含各种无人机动力学特性的基础数据。

  • Latent Dynamics Model(隐空间动力学模型)  
    •  网络架构的核心“大脑”,也是最地道的 JEPA 风格(JEPA-Style)
    • 输入端

      • At无人机飞手的action,通过encoder把action编码成latent向量

      • Xt:无人机的历史状态、传感器采集的观测数据,同样通过另一个encoder转成latent向量
    • 预测端pred
      • 通常是个轻量 GRU/MLP,把上述两个latent融合放入
      • 重点看那个回环箭头:它在隐空间内部进行自回归(循环)迭代,一口气推演出未来步长的预测隐状态St+1 
  • Physics-Inspired Prober(物理启发探针)
    • pred输出的是一个在latent space的向量啊,这个向量有很多维度,这些维度具体都是什么含义了?要让人或设备理解这个latent space的向量,需要转换成物理参数啊,包括但不限于位置、姿态、速度、加速度等
    • 线性探针:负责把pred产生的下一个状态St+1转成人类可读、控制算法可用的确切未来物理状态(位置、姿态等)
      • 总所周知:做线性转换,数学上直接乘以矩阵就行了,但矩阵每个元素的值是多少了?怎么确保每个数值都是对的了?如果矩阵中每个元素的数值是错的,那转换后的物理状态肯定是错的啊!用什么来保障转换矩阵的数值都是正确的了
      • 这些机械设备,必须满足客观存在的物理定理呀,还是以开车为例:遇到紧急情况时急刹车,车速肯定下降,不能反而加速啊,否则违反了物理定理咯!那也用物理公式和定理来约束转换矩阵呗,这就是DKI(Differentiable Kinematic Integration,可微运动学积分):线性探针解码出来的速度、加速度等物理量,必须和这个 DKI 模块结合,强行用物理公式(如位置 = 速度 <span style="background-color: rgb(255, 255, 0);">*时间)进行时序积分校验;
  • Zero-Shot Sim2Real(零样本数字到现实迁移)
    • 右边是一张真实的无人机在户外树林旁飞行的照片,身后拖着绿黄相间的时序预测轨迹线(Sampling-Based Control)
    • 解读:这是最终的落地应用。利用第 3 步探针源源不断高频输出的未来预测状态St+1,机载板端运行基于采样的控制算法(如 MPPI,<span style="background-color: rgb(255, 255, 0); color: rgb(255, 0, 0); font-size: 15px;"><strong>盲猜数百条轨迹并挑出最好的一条</strong>),从而实现无人机在真实世界大风环境下的高速、精准、零样本轨迹追踪

  5、这么牛逼哄哄的模型,都是怎么训练得到的了?

  先回顾一下skyJEPA的精髓和核心:

  • 面对当前的state,穷举可以使用的action,快速模拟不同action对应未来不同的trajectory,找到最适合当前state的action去执行
  • trajectory、后续的每个state必须符合客观的物理规律!

  所以训练的流程至少需要两个阶段:

  • 神经网络能建立f(state, action) = next state的正确映射,也就是说当前某个state采取了某个action,能得到正确的next state;
    • 这里衍生出第一个约束,也就是loss:训练数据集中t-H区间的state,加上t-H到未来t+U时刻的action,能正确得到t到t+U时刻的state; 因为是loss,所以state用latent space的embedding向量来计算最合适!
  • 上述第一步只能保证next state在latent space空间的数值能根据过去的历史state + 当前action得到,但怎么保证next state的数值是正确的了? 最重要的是符合客观的物理规律啊
    • 这里衍生出第二个约束:当前state + action输入DKI ,算出来的物理预测值和真实的物理状态比对,loss越小越好!

  最终,skyJEPA官方提供的网络如下:

  image

  •  (t-H, t+U)时刻的action通过TCN转成latent space的Zt; (t-H, t)时刻的state也通过TCN转成latent space的St;Zt和St通过GRU得到S^t+1, 这一步的核心是:state + action -> next state!
  •  上述的next state预测的对不对了?把训练样本中(t, t+U)时刻的state,用同样的(共享)TCN转成St+1,然后和上一步的S^t+1比对看看预测的准不准!
  •  GRU训练好后,能根据历史state + action得到next state了,那得到的next state符合物理规律么?还需要进一步验证啊!因为next state的数值已经能根据历史state + action得到了,所以此时应该冻结GRU的参数,不能再更改了,避免后续的AI 的基础特征表征不会被后面的物理任务给“带偏”或破坏,为了能把St+1还原成物理预测值,只能新增一个MLP来适配了!本质还是新增一个矩阵 + 非线性转变来还原成物理量
  • 当前的真实动作At、当前的真实状态Xt塞进标准的物理公式:名义动力学与外力残差(Nominal Dynamics with Residuals)、可微运动学积分(Differentiable Kinematic Integration)来牵引MLP还原的物理量要正确无误!
    • 名义动力学与外力残差(Nominal Dynamics with Residuals):负责计算无人机当前的加速度角加速度。它的标准物理形式如下

                  image

    •  可微运动学积分(Differentiable Kinematic Integration):拿到了方程 15 算出的精确加速度后,方程 16 负责执行一阶/二阶时间积分,把“加速度”变成“下一步的速度和位置”。在计算机里,这是一个离散时间积分(常用一阶欧拉积分或隐式中点法):

      image

       

总结:

  skyJEPA核心思路:不是使用复杂的物理公式实时计算和预测,而是用神经网络建立“state + action -> next state”的映射,这完全是模拟人类使用这类机械设备时的方式:完全根据大量经验形成的物理直觉来操作, 不会时时刻刻都用复杂的物理定理和数学公式来计算,鲁棒性大幅提升,计算量也降低很多!

  打个岔:神经网络核心的作用就是建立映射关系,用以前的概念阐述就是连接主义。相比于规则化的符号主义,连接主义的特点:

  • 用大规模的概率统计模型,替换了严谨的逻辑规则树; 
  • 人类看不懂的黑盒 
  • 冲破了感知的天花板,但没了严密的因果推理 
    • 舍弃逻辑,拥抱概率 

 

参考:

1、https://arxiv.org/abs/2606.23444    SkyJEPA: Learning Long-Horizon World Models for Zero-Shot Sim-to-Real Control of Quadrotors

posted @ 2026-07-05 22:04  第七子007  阅读(39)  评论(0)    收藏  举报