你有没有想过一个很奇怪的现象:训练模型的时候,它重建图片的效果好得不行,几乎能原样复刻;可一旦让它自己凭空生成一张新图片,出来的东西却经常模糊、扭曲、不成样子。
这不是个例,这是变分自编码器这个领域存在了十年的老毛病。
变分自编码器*:英文缩写VAE,一种通过学习数据的隐藏表示来生成新数据的模型,2013年由Kingma和Welling提出。
VAE的核心思路是把一张图片压缩成一组"隐藏变量",然后再从这组变量里把图片还原出来。训练的时候,模型会同时学两件事:怎么把图片压缩得准,以及怎么让压缩后的变量分布尽量接近一个标准的正态分布。问题就出在后面这件事上。
**标准正态分布这个限制,本意是为了方便生成,却成了生成质量的枷锁**
为什么要往标准正态分布上靠?因为生成新样本的时候,模型需要从某个已知的、简单的分布里随机采样一个隐藏变量,再丢给解码器还原成图片。如果这个分布是标准正态分布,那采样就非常简单,直接从N(0,1)里抽一个数就行。
但代价是什么?代价是模型在训练时会被迫在"重建得准"和"分布靠近标准正态"这两个目标之间来回拉扯。重建越准,隐藏变量里携带的信息越丰富、越有结构,离标准正态分布就越远。这就是论文里反复提到的"先验和后验的分布鸿沟"。
先验分布与后验分布*:先验分布是生成时模型假设隐藏变量服从的分布(比如标准正态分布),后验分布是模型看过真实数据后、针对具体某张图片实际学出来的隐藏变量分布。两者如果差得太远,用先验分布采样生成的东西就会和训练时看到的隐藏变量很不一样,效果自然差。
这就好比你在家里练习做饭,练习的时候你允许自己看菜谱、尝味道、随时调整,做出来的菜又香又好吃。可是考试那天,规则突然变成"必须完全凭空想象,不许看任何参考",你脑子里关于这道菜的所有细节知识瞬间用不上了,做出来的东西自然走样。VAE的后验分布就是那个"看过菜谱的你",先验分布是"凭空想象的你",两者能力差一大截,考试成绩自然难看。
正因为这个毛病,论文开篇就点出一个行业现状:现在大规模生成模型的流水线里,VAE越来越多地只被当作"压缩工具"或者"分词器"来用,而不是独立的生成模型。换句话说,大家已经默认接受了VAE自己生成东西不太行这件事,只拿它来做数据压缩的预处理,真正的生成任务交给扩散模型或者自回归模型去做。
这篇论文想挑战的,就是这个默认设定。
一个被忽略的简单问题:为什么先验分布非要是固定的?
论文作者提出一个听起来有点天真、但细想之下相当犀利的问题:
**既然后验分布是模型自己学出来的,为什么先验分布不能也让模型自己学?**
传统VAE里,先验分布被写死成标准正态分布,这是个人为设定的、和数据完全无关的"规矩"。而EVA的做法是,不再强行把隐藏变量往标准正态分布上拉,而是另外训练一个小网络,专门去预测"在给定前面所有隐藏变量的情况下,下一个隐藏变量大概长什么样"。这个预测出来的分布,就是新的先验分布。
Empirical Variational Autoencoder*:论文提出的方法,简称EVA,意为"经验变分自编码器"。它的核心改动是把VAE里固定不变的标准正态先验,换成了一个从训练数据里经验性学出来的、随序列位置变化的自回归先验。
这个改动乍一看很小,实现起来也确实简单,论文说只需要在解码器基础上多加一个线性层。但它解决的矛盾非常根本:固定先验和数据驱动的后验之间,天生存在信息量的不对等。固定先验对所有样本、所有位置都一视同仁,完全不知道"这是第几个token"、"前面已经生成了什么";而后验却是针对每个具体样本、具体位置精细计算出来的。让一个不知道上下文的分布去逼近一个充满上下文信息的分布,这件事本身就是在做无用功。
打个比方,这就像让一个从没读过这本小说的人去猜下一句台词该怎么写,而要求他的猜测必须和那个通读了全书、理解了人物性格和情节走向的编辑写出的台词高度相似。无论这个局外人多努力,他能做到的最好结果也就是写个放之四海而皆准的、毫无特色的句子,因为他手里压根没有具体上下文。如果不让这个"猜台词的人"也看一眼前文,他永远写不出贴合剧情的句子,这正是传统VAE先验分布的处境。
EVA做的事,相当于把这个局外人换成了一个真正读过前文的助理编辑。他看着前面已经写好的所有内容,再去预测下一句该怎么写,预测出来的东西自然就贴切得多。
序列生成的骨架:自回归结构是怎么串起来的
要理解EVA具体怎么运作,得先弄清楚它处理的对象是什么。
论文把图片、声音这类数据都看成一个"序列":图片被切成一个个小块(patch),按顺序排成一串;声音被切成一段段时间片,也排成一串。每个序列位置对应一个观测值x_t,以及一个隐藏变量z_t。
自回归*:指模型生成序列时,一步一步来,每一步都依赖前面已经生成的所有内容,而不是一次性把整个序列全部生成出来。GPT这类语言模型就是典型的自回归模型,写一个字就要看前面写过的所有字。
EVA的整体架构由三部分组成:一个全注意力编码器,负责把完整的观测序列映射成隐藏变量;一个因果注意力解码器,只能看到当前位置之前的隐藏变量,负责把隐藏变量还原回观测值;还有一个新增的预测器,负责根据前面的隐藏变量,预测当前位置隐藏变量的分布,也就是前面说的那个经验先验。
因果注意力*:一种只允许模型看到当前位置及之前位置信息、不能偷看未来信息的注意力机制,是自回归生成的技术基础。
有意思的是,论文发现这个预测器完全可以和解码器共享主干网络,只需要在解码器的Transformer主干上加两个不同的输出头,一个输出头负责预测隐藏变量z_t的分布参数,另一个输出头负责预测观测值x_t。这意味着整个EVA相比传统因果VAE,参数开销几乎可以忽略不计。
训练时,模型要同时优化两件事:解码器要把隐藏变量还原成尽量准确的观测值,预测器要让自己预测出来的先验分布尽量贴近编码器算出来的后验分布。两者的损失函数被统一成一个叫EVA ELBO的目标函数,本质上是把传统VAE的证据下界公式,按序列位置展开,并且把原来写死的标准正态先验换成了预测器输出的先验。
生成的时候,流程变得非常直接:先从预测器那里采样出第一个隐藏变量,再基于这个变量采样第二个,依此类推,像多米诺骨牌一样一节一节往下推,每生成一个隐藏变量,就立刻用解码器把它翻译成对应的观测值。整个过程只需要一次性的前向传播链条,不需要像扩散模型那样反复去噪几十步。
一个三组数据的小实验,把问题看得明明白白
光讲道理可能还不够直观,论文设计了一个极简的玩具实验,专门用来对比几种生成模型家族在处理"多模态"问题上的差异。
多模态分布*:指一个变量可能有好几种截然不同的取值可能性,比如预测下一帧画面时,角色既可能向左转也可能向右转,这两种可能性在分布图上会形成两个分开的峰,而不是一个峰。
实验构造了一个两步的观测序列(x0, x1),背后有一个隐藏状态会分叉成不同路径,每条路径又会产生好几种可见的观测结果。论文设置了三种复杂度递增的场景,用两个参数来控制:隐藏状态分叉的数量,以及每个隐藏状态能观测到的表现形式数量。
结果相当能说明问题。用均方误差训练的普通自回归模型,不管场景多复杂,都会掉进"取平均"的陷阱,生成的点挤在几个分叉中间的模糊地带,完全抓不住真实的多个峰值。这很好理解,均方误差训练出来的最优策略就是预测条件均值,而当真实分布有好几个峰的时候,均值恰好落在峰与峰之间最空的地方,哪个峰都够不着。
混合高斯模型头*:在自回归模型顶部加一个输出多个高斯分布加权组合的预测头,试图用有限个"峰"去逼近真实的多峰分布,论文中简称GMM。
混合高斯模型表现要好一些,当真实分布的峰数量不超过预设的组件数K时,它能完美覆盖。但一旦真实的峰数量超过K,比如论文设置的那组参数让观测端实际出现了四个可见模式,而模型只预设了三个组件,模型就只能被迫用一个组件去硬凑两个峰,结果自然是模糊和失真。这暴露了混合高斯模型的根本局限:你得提前知道现实世界到底有几种可能性,可现实往往比你预想的复杂。
传统的因果VAE,也就是只是把解码器改成只能看过去信息、但先验依然是标准正态分布的VAE,能够大致捕捉到主要的几个聚类中心,这得益于隐藏变量边缘化带来的连续混合建模能力。但它依然会生成不少落在聚类之间的"杂散点",这正是先验和后验分布错位造成的噪音。
而EVA呢,论文的描述是"把样本点牢牢摁在真实的峰值上,并且大幅压制了聚类之间的散点"。这组对比图直观地展示出,当先验分布真正学会了"记住前面发生了什么"之后,生成出来的样本会变得干净利落得多,不再有那种模糊的、哪儿都不像的中间态。
真实场景的较量:图片和声音生成的硬核数据
玩具实验说明了原理,真正的考验还是要看大规模真实数据集上的表现。论文在ImageNet图片数据集(分辨率256×256)和VGGSound声音数据集上做了系统对比。
Fréchet Inception Distance*:简称FID,衡量生成图片和真实图片在特征空间分布差异的指标,数值越低说明生成质量越接近真实数据,是图像生成领域最常用的评价标准之一。
Inception Score*:简称IS,衡量生成图片多样性和清晰度的指标,数值越高越好。
结果显示,传统因果VAE在ImageNet上的FID高达100.27,这个数字非常难看,说明生成出来的图片和真实图片的分布差异巨大。而EVA在参数规模几乎相同的情况下,FID降到了7.68,相当于提升了十几倍的生成质量,这个跨度相当惊人。
加了归一化流先验的改进版因果VAE表现也不错,FID是12.43,但这个改进需要额外引入8800多万参数的归一化流网络,模型体积明显变大,而EVA只用一个线性层就把FID做到了比它更低的7.68。
归一化流*:一种通过一系列可逆变换把简单分布逐步转换成复杂分布的技术,常被用来构造更灵活的先验分布,但计算开销通常不小。
再看自回归扩散模型这个强力对手。拥有和EVA训练时同等规模Transformer模块数量(24个模块,321.3M参数)的版本,FID做到了5.44,确实比EVA更好。但代价是推理时间,它需要反复进行去噪迭代,论文测得的归一化推理时间是EVA的差不多10倍。换句话说,自回归扩散模型想要追上EVA的质量,得多花十倍的生成时间。
而当把自回归扩散模型的模块数砍半(12个模块,236.2M参数),让它在推理阶段的计算规模和EVA打平的时候,它的FID反而掉到了29.96,远远不如EVA的7.68。
这组对比其实揭示了一个很朴素的道理。打个比方,这就像两个人去同一个地方,一个人开车走高速,另一个人骑自行车但抄了近路。如果给骑自行车的人足够多的时间,他确实可能先到;但如果规定两人必须同时出发同时到达,开车的那个人几乎稳赢。扩散模型的"反复去噪"就是那条高速公路,理论上能达到更高精度,但每一步去噪都要花时间,如果你要求和EVA这种一步到位的方法比速度,扩散模型就必须压缩自己的网络规模,而网络规模一压缩,生成质量立刻掉下去。EVA的巧妙之处在于,它从设计上就没有"反复迭代"这个步骤,一次性采样、一次性解码,天然就快。
VGGSound声音生成这边结果类似。EVA的FID是0.64,和表现最好的归一化流版本因果VAE(0.65)基本持平,但同样用更少的参数、更快的推理实现了这个效果。
论文还做了一个重要的额外对比:生成质量提升了,会不会是牺牲了重建质量换来的?毕竟经典理论认为VAE存在"重建精度"和"先验正则化"之间的权衡,鱼和熊掌不可兼得。
**重建保真度FID(rFID)的数据显示,EVA在显著提升生成FID的同时,重建FID几乎没有损失**
在ImageNet上,因果VAE的重建FID是2.49,EVA是2.42,两者几乎相同;而生成FID却从100.27骤降到7.68。这说明只要隐藏变量的容量足够大,重建精度和生成质量这两个目标在EVA的框架下并不是非此即彼的关系,EVA用一种"不伤己"的方式拿到了生成质量的巨大提升。
模型多大合适,隐藏空间多宽合适
论文还做了两组很实在的调参实验,一个是关于隐藏变量的维度大小,一个是关于Transformer主干的规模。
隐藏变量维度从16一路试到256,发现太小的隐藏空间(比如16维)会让FID明显变差,这不难理解,维度太小,模型压根没地方塞进足够的信息去描述多模态的细节。随着维度增加到128,FID达到最优的7.68。但继续往上加到256维,效果反而回落,论文给出的解释是维度太大会让先验分布本身变得更难建模和采样,相当于给预测器出了一道更难的题。
这其实挺符合直觉的一个权衡:维度太小装不下信息,维度太大又太难学,中间总有个甜蜜点。这就好比收拾行李箱,箱子太小东西塞不进去,箱子太大反而找东西的时候翻来翻去更费劲,合适大小的箱子才最好用。
模型规模方面,论文对比了小号(16层Transformer,隐藏宽度512)、基础号(标准配置)和大号(32层,隐藏宽度1024)三个版本,EVA-S到EVA-L这几个版本,结果是模型越大效果越好,EVA-B的FID是8.41,EVA-L做到了6.04。这个趋势符合深度学习里常见的"规模法则",网络越大,表达能力越强,生成质量跟着水涨船高。
隐藏空间里到底藏了什么秘密
论文还做了一个挺有意思的可视化分析,试图回答一个更深层的问题:EVA学出来的隐藏空间,内部结构到底是什么样子?
具体做法是,拿一张图片切成很多小块,选定一个小块作为"源点",然后计算这个源点和图片里所有其他小块在隐藏变量分布上的相似程度,用KL散度来衡量这种相似性,颜色越浅表示越相似。
KL散度*:全称Kullback-Leibler散度,衡量两个概率分布差异程度的数学工具,数值越小说明两个分布越接近。
结果很直观:在EVA的隐藏空间里,语义相似的图像区域(比如同一只狗的不同部位、同一片天空的不同角落)确实会呈现出相似的隐藏分布,呈现出一种有组织的、和图片语义对齐的结构。而传统因果VAE的隐藏空间虽然名义上被强行拉向标准正态分布,却依然保留着一些零散的空间结构变化,这恰恰说明它的正则化并没有真正把分布鸿沟抹平,只是表面上看起来"均匀",实际上残留着没被消除的系统性偏差。
这个发现挺耐人寻味的。EVA并没有专门设计什么语义学习模块,它只是换了一种学习先验的方式,结果隐藏空间自己就长出了语义结构。这说明学会"生成"这件事,本身可能天然蕴含着学会"理解"的副产品,这倒是给生成模型和表示学习之间的关系提供了一个新的观察角度。
论文还展示了EVA做图片补全的能力:给模型一张图片的前半部分隐藏变量,让它自己续写剩下的部分。更有意思的是,当给续写部分换一个不同的类别条件时(比如从"吸尘器"换成"花盆",从"沉船"换成"邮轮"),模型能够在保持前缀画面连贯的基础上,把后续内容自然地朝新条件的方向过渡,这说明条件信息和隐藏变量先验之间配合得相当顺畅。
这件事还没做完的地方
论文也挺坦诚地列出了两点局限。
第一点是EVA目前把二维的图片空间硬是拉平成一维的因果序列去处理,并没有专门针对图片的二维空间结构去设计先验,如果能设计出真正懂得"上下左右"空间关系的先验结构,图片生成质量可能还有提升空间。
第二点是目前的实验规模还停留在ImageNet和VGGSound这种相对封闭的数据集上,还没有验证过文本生成图片、文本转语音这类更大规模、更复杂的实际应用场景。
论文对比了近期一些更前沿的模型,比如VAR、SiT、JiT这些允许模型在生成过程中看到图片全局信息的"双向"模型,它们在同等参数规模下确实能做到更低的FID,比如JiT-B只用131.3M参数就做到了FID 3.72。不过这类模型和EVA属于不同的技术路线,双向模型在每一步生成时能看到整张图的全部区域,而EVA这种因果模型只能看到已经生成的部分,这是个本质性的设计差异,不完全是一个量级上的对比。
写在后面
读完这篇论文,最触动我的其实不是那些FID数字的下降,而是作者问出的那个朴素到近乎天真的问题:先验分布凭什么是固定的?
这个问题之所以有意思,是因为它揭示了一种很常见的思维惯性。VAE从2013年诞生到现在,十多年里无数研究者在后验分布上做文章,设计各种更复杂的编码器结构,却很少有人认真质疑"先验必须是标准正态分布"这件事本身是不是合理的。固定先验这个设定用起来太顺手了,顺手到大家忘了去问它是不是必要的。
论文里那个三行公式就能讲清楚的改动,实现起来只需要加一个线性层,却直接把ImageNet的FID从100多降到个位数。这种"改动小、效果大"的反差,有时候恰恰说明了一个领域里存在着被集体忽略的假设,而不是说明这个问题本身有多难。
另外一个让我反复琢磨的细节,是EVA的隐藏空间自己长出了语义结构这件事。没有人专门告诉模型"同一只狗的身体各部位应该相似",这个结构是训练目标的副产品。这让我想起表示学习领域一直在争论的一个问题:好的表示到底是设计出来的还是涌现出来的?EVA这个小实验似乎在说,至少在这个场景下,涌现胜过设计。
VAE曾经是生成模型世界的主角,后来被GAN和扩散模型抢了风头,渐渐沦为别人的"打工仔",专门负责压缩数据给别的模型用。这篇论文算是给VAE挣回了一点面子。它到底能不能在更大规模的任务上,比如真正的文本生成图片系统里站稳脚跟,还得看后续的工作。但至少现在,重新把VAE当回事的理由,又多了一条。
Q&A
Q1:EVA是什么,它解决了VAE的什么问题?
A:EVA全称Empirical Variational Autoencoder,是一种生成模型,它把传统VAE里固定不变的标准正态先验分布,换成了从训练数据里自回归学出来的经验先验,只需额外加一个线性层,就能大幅缩小先验分布和后验分布之间的差距,显著提升生成质量。
Q2:EVA和自回归扩散模型相比优势在哪?
A:EVA在ImageNet上用更少的推理参数实现了接近甚至优于同等计算规模自回归扩散模型的生成质量,而且推理速度快得多,不需要像扩散模型那样反复去噪,论文实验显示同等推理块数下EVA的FID明显更低。
Q3:EVA会不会牺牲图片重建质量来换取生成效果提升?
A:不会。论文对比发现,EVA和传统因果VAE的重建FID几乎一致(2.42对2.49),但生成FID从100.27大幅降到7.68,说明重建精度和生成质量在EVA框架下可以同时兼顾。
好文章,需要你的鼓励
GeoVerse融合几何潜在扩散模型与Wan2.2视频生成先验,并引入全局空间记忆机制,实现了跨视角一致、生成质量高且推理速度快的新视角合成,在多个数据集上大幅超越现有方法GLD。
本文解读TT-VidT,一种通过分离外观锚点与动作令牌、结合Diff Compression训练目标的视频自监督方法。在24种架构目标组合的受控实验中,仅TT3D与Diff Compression搭配才能进入强动作敏感区,且计算量比同类方法降低近一半。
Q&A Q1:Imprint Reader是什么? A:Imprint Reader是上海人工智能实验室团队开发的模型,通过SMaRT训练方法学会读取另一个模型冻结的权重更新,把参数层面的变化翻译成自然语言描述,判断这次更新到底注入了什么知识或诱导了什么行为习惯。 Q2:MetaEdit能做什么? A:MetaEdit能把Reader对目标行为的梯度信号迁移到原始模型上,不需要任何目标任务的训练数据,只用一句行为描述就能定向调整模型参数,已经在安全性拒绝率调节、数学推理风格转变和工具调用能力提升上验证过效果。 Q3:Imprint Reader读权重更新的准确率高吗? A:目前还不高,知识类目标的Pass@100只有2%,行为类目标是16%,说明自由生成描述的可靠性有限,但相比原始模型完全答不出来的0%基线,已经证明了权重更新的自然语言读取是可行的。
统一多模态模型能看也能画,理论上该会自我修正。本论文提出UMM-Reflection,用整条轨迹的强化学习联合训练诊断和修图能力,GenEval提升12分,且迁移到多个未训练基准,揭示RL提升的是选择可靠性而非新能力。