微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 你玩游戏时突然想往左转,屏幕却硬是让你的角色又往前走了半秒才反应过来,这个体验是不是很熟悉?

你玩游戏时突然想往左转,屏幕却硬是让你的角色又往前走了半秒才反应过来,这个体验是不是很熟悉?

2026-10-01 16:36
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-10-01 16:36 • 科技行者

你有没有玩过那种用AI实时生成画面的游戏?就是那种没有预先渲染好的场景,而是电脑一边算一边给你看下一帧的那种。

这类系统最近几年冒出来不少,有个共同的毛病,就是你按下方向键之后,画面总要卡那么零点几秒才转向。不是网络延迟,是模型本身的计算方式导致的。今天要聊的这篇论文,就是专门治这个毛病的。

**为什么AI生成的世界会"反应迟钝"**

先说说这类模型是怎么工作的。

现在主流的交互式视频世界模型,大多采用一种叫chunk-autoregressive(分块自回归)的生成方式。

分块自回归:模型不是一帧一帧生成画面,而是一次性生成一小段(比如几帧到十几帧)视频,这一小段叫一个chunk(区块)。生成完这个区块之后,才会去看下一个动作指令,生成下一个区块。

这里就有个大问题。

每个区块的生成过程,本身也不是一步到位的。它要经过K轮所谓的"去噪"计算,像是把一团雾气一点点吹散,最后显出清晰画面。这个过程叫扩散采样。

扩散采样:AI生成图像/视频的一种主流技术,从一团随机噪声出发,经过多轮迭代计算,逐步把噪声"雕刻"成清晰的画面。每一轮迭代叫一个solver step(求解步)。

假设一个区块需要4轮计算才能生成完整画面。你在第2轮计算做完之后,突然按下了转向键。这时候问题来了:这个区块前两轮的计算,已经是照着"继续直行"这个动作算出来的了。你的转向指令,该怎么办?

论文里给出了三种传统做法,每一种都有明显的代价。

第一种是"等",也就是让当前区块按老动作走完,等下一个区块开始时才响应新动作。这就是文章开头说的那种迟钝感的来源,你按了键,但要多等半个区块甚至一个区块的时间才能看到转向。

第二种叫"直接换条件",就是接下来的计算直接换成新动作,但已经算完的前两轮不管。问题是,这两轮的计算结果里已经带着"直行"的信息,硬塞进新动作,会让画面显得别扭,衔接不自然,论文管这个叫"状态失配"。

第三种叫"完全回滚",就是把已经算完的那两轮推倒重来,从头开始用新动作重新算。这样最准确,但代价是浪费掉了已经完成的计算,而且要花更长时间才能出画面。

这三条路,一条慢,一条糊,一条费。这篇论文的团队想的是,能不能找到第四条路?

**把"回滚该到达的状态"直接算出来**

研究者们的思路挺巧妙的。

他们没有去改整个AI模型,模型和采样器都保持冻结不动。他们做的是,训练一个很轻量的"矫正器",专门干一件事:预测如果真的做了完全回滚,第2轮计算结束时的状态应该长什么样,然后直接把当前这个"被旧动作污染"的状态,往那个理想状态上推一把。

这个思路论文里管它叫Counterfactual State Transport,缩写CST。

反事实状态迁移(CST):一种推理时的修正技术,不需要真的重新计算,而是用一个学习好的小模型,直接估计"如果按新动作从头算会得到什么状态",然后把当前状态往这个目标状态上修正。

这里有个类比我觉得挺贴切的。

想象你在导航一艘船,船长按照原计划航线已经开了两个小时,突然接到新指令要改道。完全回滚相当于把船开回港口重新出发,准确但极其浪费时间和燃料。直接换条件相当于船长听到新指令后立刻打满舵,但船身的惯性、航速、姿态都还是按老航线设定的,这一下硬转船可能会剧烈摇晃甚至失控。而CST做的事情,是有一个经验丰富的领航员,他不需要把船开回港口重新计算,只根据现在的船速、位置、水流,直接算出"如果两小时前就朝新方向开,现在船应该在哪个位置、什么姿态",然后轻轻地把船的姿态调整过去,接着往下开。如果没有这个领航员,你要么白白多花两小时重新出发,要么让船在不该转的时候硬拗,两种代价都很实在。

那这个"矫正器"具体怎么训练出来的?

关键在于配对数据。

研究者构造了大量"配对轨迹":一条是旧动作走到第r步的状态,另一条是从同一个起点,用新动作老老实实完整回滚到第r步应该到达的状态。两条轨迹除了动作不一样,其他所有条件,包括初始状态、历史记忆、随机种子全都一致。

用这些配对数据,训练一个六层的三维残差编码解码网络,让它学会预测"从旧状态到新状态"需要加多少修正量。

论文里提到用了FiLM conditioning这个技术手段。

FiLM调制:一种让神经网络根据额外信息(比如相机运动指令、当前是第几步计算)动态调整自身内部特征处理方式的技术,相当于给网络加了一个"情境感知"的开关。

矫正器不是直接输出结果,而是输出一个"残差",也就是需要往当前状态上叠加的修正量。这个设计很关键,因为学习一个小的修正量,比让网络从零开始学习整个目标状态要容易得多,也更稳定。

**两种编辑方式,管全场还是管半场**

论文里提出了两个变体,一个叫CSTR,一个叫CSTT。这两个字母R和T分别代表retargeting(重定向)和temporal splicing(时间拼接)。

CSTR做的事情比较直接:新动作一来,整个还没生成完的区块全部推倒重算方向,就像前面说的领航员例子一样,整艘船的航向全部按新指令修正。

CSTT则更精细。它假设新动作是"在这个区块的第m帧开始生效",那么m帧之前的画面保持旧动作不变,只有m帧之后的部分才应用新动作。这个设计用了一个"硬掩码"来强制保证前半段绝对不被修改。

硬掩码:一种强制性的空间/时间限制机制,通过给不该修改的区域打上标记,强制神经网络的输出在这些区域保持为零修正,从而确保这部分内容完全不被触碰。

为什么要专门弄一个精细版本?

想想你在看一部电视剧,前半集导演已经拍完了,你现在突然要求改剧情走向,但不能把前半集也一起改了,那样观众会发现明显的穿帮镜头。CSTT就是让"改剧情"这件事只影响还没拍的部分,已经拍完并且播出去的那部分,保持原样,不能有丝毫改动。如果没有这个硬掩码约束,矫正器完全可能"手滑"顺带把前半段也改了一点,观众看到的衔接处就会出现肉眼可见的跳变,这在论文的实验里被称为"边界误差",是专门测量过的指标。

**跑分说话,效果到底怎么样**

光说思路好不够,得看数据。

研究者在两个不同的模型骨架上做了测试,一个叫minWM,配合Wan Action2V使用,另一个叫HY-WM1.5,来自腾讯混元世界模型团队。这两个骨架的内部实现方式完全不同,一个是清晰预测式的传输,一个是欧拉求解器状态式的传输,研究者专门针对每个骨架单独训练矫正器,没有偷懒用同一套权重通用。

先看CSTR这个整体重定向版本的成绩。

在minWM骨架上,用直接换条件这种最简单的老办法,LPIPS(一种衡量图像感知差异的指标,数值越低说明和参考画面越接近)是0.3155,而用了CSTR之后降到0.1214,相对降低了61.5%。PSNR(峰值信噪比,衡量画面清晰还原程度,数值越高越好)也从12.97提高到16.30。

在HY-WM1.5骨架上,效果更明显。LPIPS从0.3446降到0.0831,降幅达到75.9%,PSNR从15.20提升到20.51,足足提高了5.31分。

而且速度上,CSTR并没有比直接换条件慢多少,在minWM上几乎是同样的耗时,而在HY-WM1.5上,相对于"等下一个区块"这种最慢的方式,能达到1.57倍的速度提升。

再看CSTT这个精细拼接版本的成绩。

在HY-WM1.5骨架上,衡量修改部分质量的Suffix LPIPS(后缀区域的图像差异)从换条件方法的0.2731降到CSTT的0.0615,降幅达到77.5%,PSNR从15.53提升到25.05,提升了将近10分,而且它还保持了1.69倍于"等"的速度优势。

除了自动化指标,研究团队还专门做了人工盲测。找人观看匿名处理过的视频,判断新动作是否真的在预期的时间窗口内生效,以及计算从动作发出到画面响应之间隔了多少帧"过时"画面。

在HY-WM1.5上,用"等"的方式,动作响应率只有21.1%,平均要拖15.37帧才有反应。而用了CSTR之后,响应率跳到94.7%,平均延迟压缩到1.05帧,几乎是立刻响应。

研究者还专门测试了连续多次动作变化的场景,一段视频里连续发生五次中断,矫正器只在训练时见过三次中断的场景,属于跨出训练分布的情况。结果发现,误差没有出现明显的累积失控,每次中断后CSTR依然比直接换条件更接近真正回滚该有的结果。这说明这套方法不是靠死记硬背特定场景,而是真学到了一种可以泛化的修正规律。

**如果矫正器学错了会怎样**

论文里还做了消融实验,也就是故意去掉某个组件,看看会发生什么。

去掉CSTT里那个硬掩码约束之后,前缀区域(本该完全不变的部分)的LPIPS从0.0412恶化到0.0604,边界误差也从0.0215上升到0.0240。这说明这个强制约束不是可有可无的装饰,它实实在在地防止了矫正器"手滑"。

更极端的是去掉配对监督这个设计,直接用不匹配的源状态和目标状态来训练。结果灾难性的,动作误差从0.6192暴涨到4.6889,回滚相对LPIPS从0.0831恶化到0.7797,基本等于矫正器完全学不到有用的东西。

这个对比其实很说明问题。这套方法的核心价值不在网络结构有多复杂,而在于那个"配对数据"的构造思路本身,让矫正器学到的是干净的、只关于动作变化本身的映射关系,如果配对关系错了,再精巧的网络架构也救不回来。

写在后面

读这篇论文最触动我的地方,其实不是那些跑分数字,而是它对"实时性"这个词的重新定义。

我们平时说一个系统"实时",往往只关心它每秒能出多少帧。但这篇论文提醒我一件容易被忽略的事:帧率高不代表响应快。一个每秒能吐出60帧画面的系统,如果每次你按了键都要等半秒才转向,那这个系统在体感上依然是迟钝的。这两件事看似相关,其实是两个完全独立的性能维度,一个衡量吞吐,一个衡量延迟,工程师们太容易只盯着前者优化,而忽略了后者。

另一个让我觉得有意思的细节,是研究团队坚持"矫正器不能跨骨架共享权重"这个设定。他们特意强调,两个不同的模型骨架各自训练独立的矫正器,没有去尝试搞一个通用矫正器来偷懒。这背后其实藏着一种诚实的科研态度:与其做一个看起来更"通用"但效果打折扣的方案,不如老老实实针对每个系统的内部状态结构单独建模。这种不贪多、不图省事的做法,反而让结果更扎实。

还有一点值得琢磨。矫正器本质上是在学习"世界模型的反事实推演能力",也就是说,它在学习一件AI原本不会做的事:预测一个从未真正发生过的分支会长什么样。这种能力如果推广开来,是不是意味着未来的交互系统可以不只是响应你的操作,还能提前预判你可能做出的操作,并提前算好对应的分支状态?这篇论文没有走到这一步,但它打开的这扇门,我觉得值得继续往里看看。

Q&A

Q1:ActionSplice是什么?

A:ActionSplice是一种推理时的技术框架,能让AI生成视频世界模型在生成过程中收到新的动作指令时,快速把当前计算状态修正为新动作对应的结果,而不需要等待下一个生成区块,也不需要把已完成的计算推倒重来。

Q2:ActionSplice和直接切换动作条件有什么区别?

A:直接切换条件只是让后续计算换成新动作,但已经算完的部分仍然带着旧动作的痕迹,导致画面衔接生硬。ActionSplice额外用一个轻量矫正器,把当前状态主动修正到接近"完全重算"才会得到的结果,衔接更自然,同时速度几乎不受影响。

Q3:CSTR和CSTT两种模式有什么不同?

A:CSTR会把还没生成完的整个画面区块都按新动作重新调整方向,适合动作突然全局改变的情况。CSTT则更精细,只修改区块中新动作生效之后的部分,之前已经生成的画面完全保持不变,适合动作在区块内某个时间点才切换的场景。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-