Token导航 LogoToken导航

AI 资讯 · 科技行者

AI生成两分钟视频为何越拍越像做梦

更新 2026-11-02科技行者正文 5617字阅读约 18分钟

你有没有试过用AI生成一段视频,刚开始几秒钟画面干净漂亮,可是看到后面,颜色慢慢变得诡异,猫的身形开始扭曲,整个画面像蒙了一层滤镜一样飘走了?

这不是你的错觉。这是目前几乎所有能生成长视频的AI模型都会遇到的一个顽疾,业内管它叫“漂移”。

现在的视频生成模型,想生成几分钟的内容,通常不会一口气把整段视频做出来,而是像搭积木一样一段一段往后接。生成完第一小段之后,模型会把这段内容的“记忆”存起来,生成下一段的时候参考这个记忆接着往下编。这种方式确实能让视频无限延伸下去,理论上你想要多长都行。可现实是,做着做着,画面就开始走偏了。

这篇来自首尔大学、高丽大学、成均馆大学和佐治亚理工学院的研究,就是专门来治这个病的。他们给自己的方法起了个名字,叫“同分布强制”,英文是In-Distribution Forcing,简称ID-Forcing。读完这篇论文,你会发现,大家之前治这个病的思路可能一直都没对准病灶。

视频生成是怎么“一段一段接”出来的

要理解这个问题,得先搞懂这些AI模型是怎么干活的。

一段视频在模型眼里,不是一帧一帧的图片,而是被切成一个个“块”,每块包含几帧画面。模型生成视频的方式,是先生成第一块,然后生成第二块的时候去看第一块“写了什么”,生成第三块的时候去看前两块“写了什么”,以此类推。这种一步步往后推的生成方式,叫自回归,英文缩写是AR。

**自回归:指模型按顺序逐步生成内容,每一步都依赖前面已经生成的部分,就像写日记只能参考昨天写的内容往下写**

这种“往前看”的操作,靠的是一种叫KV缓存的机制。生成每一块视频的时候,模型会把这一块内容转换成两类数据存起来,叫做键和值,合起来就是KV。后面要生成新的内容时,模型不会去看原始的像素画面,而是去读取之前存下来的这些KV数据,相当于看一份压缩过的笔记,而不是原始资料。

**KV缓存:模型把已生成内容转换成键值对数据存储起来,后续生成时通过读取这些缓存数据来参考历史信息,而不是直接看原始画面**

这套机制为什么要分成两个动作:一个叫KV缓存,负责把生成好的内容存进笔记本;另一个叫KV条件化,负责决定新的一块该翻看笔记本里哪几页。

**KV条件化:模型在生成新内容时,决定该参考缓存中的哪些历史记录,相当于翻笔记本时该看哪几页**

这两个动作听起来挺顺的,训练的时候也确实没什么问题。可一旦视频长度超过模型训练时见过的长度,麻烦就来了。

问题出在哪:训练时没练过的姿势,上场就会摔

这些视频生成模型在训练的时候,通常只会学习生成几秒钟的内容,比如论文里提到的模型一次训练只覆盖几个视频块,大概对应几秒钟长度。模型在这个范围内反复练习,知道“看前面几页笔记,写下一页”该是什么样子。

问题是,真正要用的时候,谁会只要五秒钟的视频?大家都想要一分钟、两分钟甚至更长。于是模型就必须做一件训练时从来没做过的事:不停地把旧笔记撕掉,塞新笔记进去,维持一个固定大小的笔记本,这种做法叫滚动窗口。

**滚动窗口:为了控制计算量,系统只保留最近的若干段记忆,每生成一段新内容就扔掉最老的一段,始终维持固定数量的记忆片段**

这就好比一个只在小区里学过开车的新手司机,突然被扔到从没见过的高速公路立交桥上,还要求他全程不许看导航,只能凭直觉判断该怎么并道。他训练时经历的所有路况组合,全都没包括这种场景。他当然会越开越偏。

之前的研究者们也发现了漂移这个问题,大部分人把注意力放在了“翻笔记本该翻哪几页”这件事上,也就是前面说的KV条件化。比如有的方法会一直保留最早的几页笔记当作“锚点”,防止画面跑太远;有的方法会想办法调整笔记上标注的时间顺序,让它看起来还在训练时熟悉的范围内。

这些方法听起来都挺合理,可这篇论文的作者们敏锐地发现了一个被所有人忽略的漏洞:**你光管“读哪页笔记”是不够的,因为“这页笔记本身是怎么写出来的”才是真正的问题根源**

这个发现才是整篇论文真正的转折点。

真正的病灶:笔记本身写歪了,你翻哪页都没用

论文提出了一个关键概念,叫KV来源问题。

**KV来源问题:缓存中的每一条记忆数据,本身是依赖着之前哪些记忆才被写下来的,如果写下它时参考的上下文是训练时从未出现过的组合,这条记忆本身就已经偏离了训练分布**

这句话有点绕,换个说法:同一块干净的视频画面,如果写入笔记的时候参照了不同的“历史背景”,写出来的笔记内容在数学意义上是完全不一样的。

论文里做了一个很漂亮的实验来证明这件事。他们让模型生成同一块视频内容,但是故意改变这一块内容被存入笔记时所参考的历史记录。结果发现,哪怕后面要生成的下一块视频看到的“当前笔记本”完全一样,只因为笔记本里某一页当初写入时参照的历史不同,下一块视频的质量差异巨大。

有一种写法,让这一页笔记完全不参照任何历史,自己独立写下来,结果后续生成完全没有漂移。另一种写法,让这一页笔记按照训练时从没出现过的方式参照历史,结果后续生成立刻开始退化。第三种写法,试图保留最早的那页笔记当锚点,结果依然没用,因为参照的组合依然是训练时没见过的。

这说明了什么?以前大家都以为漂移的根源出在“读”的那一步,现在发现问题其实出在“写”的那一步,而且写错了之后,不管后面怎么挑着读,都救不回来了。

这就像一份被污染的原始档案,不管你后来用什么高明的检索算法去查阅它,查出来的结果照样是错的。问题不在检索系统,在档案本身就是假的。如果档案室里混进去一份造假的文件,你哪怕请最厉害的档案管理员来整理分类,他翻出来的还是那份假文件,因为错误发生在文件被放进档案室那一刻,不是发生在后来被取出来那一刻。

解决方案:自我缓存,让每一页笔记都“根正苗红”

搞清楚了病灶在哪,解决方案其实变得异常简洁。研究者们提出了一个叫自我缓存的机制。

**自我缓存:在超出训练长度之后,让较早的几段记忆在被写入缓存时完全不参照任何历史内容,独立存在;后面的记忆再依次叠加到这些独立记忆之上,从而保证每一段记忆诞生时所处的历史环境都是训练阶段见过的**

具体怎么操作呢?论文的做法是,在滚动窗口里,让窗口最前面的几个KV条目,写入的时候谁都不看,就只看自己对应的那一小段视频内容,相当于凭空独立诞生。后面的条目,再正常地一个接一个地叠加上去,就像训练时那样,一步一步往后写。

这样一来,整个窗口里,不管是哪一条记忆,它诞生时所经历的“历史环境”都和训练时某个阶段完全吻合,没有任何一条记忆是在训练时从未出现过的组合下被凭空制造出来的。

打个比方,这就像公司新来了一批员工,如果让他们一上来就模仿十年工作经验的老员工处理最复杂的客户关系,那无论怎么培训都会出岔子,因为这种“十年经验”的状态他们从没真正经历过。但如果让新员工先独立处理简单业务,积累出真实的、哪怕是短期的工作经历,再逐步叠加经验往上走,每一步的状态都是他们真实经历过的,那表现就会稳得多。关键不在于经验多寡,而在于每一步的状态必须是真实经历过的,不能是凭空编造的履历。

除了KV缓存这一层,论文还处理了KV条件化这一层的两个细节。

第一个细节,是关于第一块视频内容要不要一直留在窗口里。研究者发现,视频生成模型用的是一种叫因果3D变分自编码器的技术来处理画面,这个技术处理第一帧画面的方式和处理后面所有帧的方式是不一样的,第一帧是单独编码的,后面的帧则是好几帧打包一起编码。

**因果3D变分自编码器:一种把视频压缩成更小数据表示的技术,它处理第一帧的方式和处理后续帧的方式不同,第一帧是独立编码的,后续帧则是多帧打包一起编码**

正因为第一帧的编码方式独一无二,无法被任何后续帧替代,所以研究者坚持把第一块内容永久固定在窗口的第一个位置,不管窗口怎么滚动都不删掉它。这个做法听起来有点像业内常用的“注意力锚点”技术,但论文特意强调,动机完全不同。注意力锚点保留开头几块内容,是因为经验上发现这样做能让生成更稳定,说不清具体为什么。而这篇论文保留第一块,是因为有明确的技术原因,第一块的数据结构本身就是独特的、不可替代的。

第二个细节,是关于窗口滚动时怎么调整时间标记。视频生成模型用一种叫旋转位置编码的技术来告诉模型每一帧画面发生在时间轴的什么位置。

**旋转位置编码:一种让模型理解数据先后顺序的编码方式,常用缩写是RoPE,它通过旋转操作让模型感知内容之间的相对时间距离**

窗口每滚动一次,研究者就把窗口里剩下的记忆重新标记一遍时间位置,保证窗口内部呈现的时间间隔结构永远和训练时看到的一致,不会出现训练时没见过的超长间隔。

实验结果:数字不会说谎

说了这么多设计思路,到底管不管用?论文做了相当扎实的测试。

他们在两个基础模型上做实验,一个叫Self-Forcing,一个叫LongLive,分别测试生成30秒、60秒、120秒、240秒长度的视频,并且对比了三个同类竞品方法,分别叫Deep Forcing、∞-RoPE和MemRoPE。

论文设计了两个专门衡量“漂移”程度的指标,一个叫颜色漂移,衡量视频开头和结尾的色调差异有多大;另一个叫运动漂移,衡量视频开头和结尾的运动幅度差异有多大。两个指标都是分数越高代表越稳定。

| 方法 | 颜色漂移分数 | 运动漂移分数 | 动态程度 |

|---|---|---|---|

| Self-Forcing原始模型 | 25.54 | 46.88 | 30.04 |

| Deep Forcing | 59.65 | 71.88 | 45.49 |

| ∞-RoPE | 54.15 | 85.16 | 62.30 |

| MemRoPE | 59.25 | 82.81 | 62.90 |

| **ID-Forcing(本文方法)** | **72.37** | **89.06** | **65.65** |

这是在120秒长度、基于Self-Forcing模型的测试结果。可以看到颜色漂移这一项,原始模型只有25.54分,而ID-Forcing达到72.37分,几乎是原始模型的三倍。

更能说明问题的是,当把视频拉长到240秒的时候,原始Self-Forcing模型的动态程度分数从30秒视频时的44.58分一路掉到29.61分,说明视频越长,画面越趋向静止,也就是俗称的“画面卡死”。而ID-Forcing在30秒到240秒的跨度里,动态程度分数始终稳定在64到66分之间,几乎没有随着时长增加而衰退。

论文还做了一个20人参与的用户盲测,让大家在不知道哪个是哪个方法的情况下,两两比较视频质量。结果显示,在所有对比维度上,参与者几乎一致地更偏好ID-Forcing生成的视频,在和原始Self-Forcing模型对比时,偏好率甚至达到了93%到100%之间。

拆开看每个零件管不管用

论文还做了一个很细致的拆解实验,把自我缓存、固定第一块、重新标记时间这三个设计一个一个加进去,看看每一步各自贡献了多少。

什么都不加的原始模型,颜色漂移分数只有25.54,画面会出现剧烈的色彩撕裂和扭曲。

只加上固定第一块这一招,颜色漂移分数提升到48.65,画面不再剧烈撕裂,但还是会出现周期性的“场景重置”现象,仿佛视频看着看着突然跳回了开头的某个画面。

再加上重新标记时间这一招,颜色漂移分数涨到60.66,画面更稳了,但颜色依然会慢慢偏移,因为笔记本身写入时的问题还没解决。

最后加上自我缓存这个核心设计,颜色漂移分数一下跳到72.37,画面质感和色彩终于稳定下来。

这组实验说明一个挺重要的道理:之前大家在KV条件化这个层面做的各种优化,确实都有效果,但效果有上限,因为它们都没有触碰到真正的病灶所在的那一层。只有把KV缓存这一层也一起治好,整套系统才能真正稳定下来。

写在后面

读这篇论文最让我愣住的地方,是那个用同一块视频内容做对照实验的设计。它用一种近乎物理实验的严谨方式证明了一件反直觉的事:表面上完全相同的输入,经过不同的历史路径写入记忆系统,会在数学上变成两个截然不同的东西。这不是玄学,是可以被实验复现、被数字量化的现象。

这让我想到一个问题:我们平时评价一个AI系统“记忆”好不好,往往只关心它存了多少内容、检索得准不准,很少有人去追问“这段记忆本身是怎么被写进去的”。这篇论文提醒我们,一个记忆系统出问题,有时候根子不在检索算法,而在写入那一刻的上下文环境。这个思路放到别的领域里是不是也适用,比如人类自己回忆往事时,记忆被扭曲,很多时候也不是“提取”环节的问题,而是当初“编码”那一刻的情境本身就不稳定。

论文里还有个细节我觉得值得单独说一说:作者特意区分了他们保留第一块内容的做法和业内常用的“注意力锚点”技术的区别,前者有明确的技术原因,后者只是经验上管用说不清为什么。这种对“我们为什么这么做”和“这么做确实有效但说不清原因”之间界限的较真,是一种挺难得的科研态度。

视频生成模型能不能真正做到无限长,其实还是个开放问题。这篇论文解决的是一个确定的、可以被清楚定义的病灶,但生成几十分钟甚至几小时视频会不会出现全新的、还没被发现的病灶,没人知道答案。

Q&A

Q1:ID-Forcing是什么?

A:ID-Forcing全称In-Distribution Forcing,是一种测试阶段使用的方法,通过让视频生成模型的记忆缓存机制始终保持在训练时见过的状态范围内,来解决长视频生成中出现的颜色漂移和动作衰退问题。

Q2:为什么AI生成的长视频会出现颜色和画面漂移?

A:因为视频生成模型靠滚动记忆窗口往后生成内容,训练时只见过有限长度的组合方式,超出这个长度后,记忆被写入时所参考的历史环境是训练阶段从未出现过的,导致记忆本身出现偏差,进而让后续画面逐渐失真。

Q3:ID-Forcing和之前的KV缓存优化方法有什么区别?

A:之前的方法像Deep Forcing、∞-RoPE、MemRoPE都只优化“读取哪些历史记忆”这一步,而ID-Forcing额外解决了“记忆本身是怎么被写入的”这个更根本的问题,实验显示这才是漂移的真正来源。

文章标签AI资讯

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。