TellWorldAI 世界档案
问档案English

首页›论文

论文arXiv

神经离散表示学习(VQ-VAE)

这是 van den Oord、Vinyals 与 Kavukcuoglu 在 2017 年提出的 VQ-VAE:一种潜在编码为离散而非连续、先验由学习而非固定的生成模型,让无监督地学到有用表示成为可能。

arXiv 编号 1711.00937 时代 大模型

论文要解决的问题

无监督地学到有用的表示(representation),在机器学习里一直是个核心难题,论文正是从这一观察出发的[1]。所谓表示,是把原始数据——一张图像、一段波形、一句话——压缩成一段更短的描述,同时保留后面任务真正需要的信息。自编码器(autoencoder)是做这件事的标准工具:编码器把输入映射成编码,解码器把编码还原成输入,训练时不断让还原结果逼近原始数据。变分自编码器(variational autoencoder,VAE)在此基础上加入概率:编码器输出的是连续潜在空间上的一个分布,解码器从中采样,训练目标是最大化数据似然的下界。连续编码的好处是梯度可以顺畅地穿过它。论文要问的是:如果编码根本不是连续的,而是一组离散符号,会怎样。

VQ-VAE 是什么

论文提出一种学习离散表示的生成模型,即向量量化变分自编码器(Vector Quantised-Variational AutoEncoder,VQ-VAE)[1]。与普通变分自编码器相比,它有两处关键不同:编码器输出的是离散编码而不是连续编码;先验(prior)是学出来的,而不是固定不变的[1]。为了学到离散的潜在表示,作者引入了向量量化(vector quantisation)的思路[1]。

向量量化是信号压缩里的老办法:把一个连续向量换成一张码本(codebook)表里离它最近的那一条,只保留那一条的编号。于是一长串实数被替换成一串短短的编号。VQ-VAE 用同样的操作把编码器的连续输出变成离散编码,再由解码器把编码还原成数据。

可微性带来的麻烦

挑出最近的码本条目是一次查表,不是一个关于输入的平滑函数,因此普通链式法则在这一步失效:这个选择动作本身并不能定义出对编码器输出的梯度。要让量化嵌进用梯度下降训练的网络里,就必须另想办法,把学习信号从解码器送回编码器。任何把向量量化和神经网络结合起来的尝试都得面对这一困难,这类模型的大量设计工作也集中在这里。

后验崩塌与学出来的先验

与变分自编码器的第二处不同是:先验是学出来的,而不是固定的[1]。标准变分自编码器里,潜在编码的先验是一个固定的分布,通常取某种简单的形式,训练目标会把编码器输出的分布往它身上拉。当解码器足够强时,模型可能干脆不理潜在编码:解码器自己就能把数据还原得不错,编码器输出的信息量很小,目标函数也就停在那里。这就是后验崩塌(posterior collapse),即潜在变量在与强解码器配对时被忽略的情况[1]。

作者说,向量量化的做法让模型绕开了这个问题[1]。直观地讲,离散编码不会像连续编码那样被拉向一个平滑的固定先验;而先验既然是学出来的而不是事先定死的,模型就可以去拟合一个真正描述数据的编码分布,而不是迁就一个预先选好的分布。

作者与发表

论文题为《Neural Discrete Representation Learning》,2017 年 11 月 2 日首次提交到 arXiv,编号 1711.00937[1]。作者是 Aaron van den Oord、Oriol Vinyals 和 Koray Kavukcuoglu[1]。

离散编码为什么重要

很多数据本身就是离散的:文本是词或词的片段的序列,压缩后的信号也可以用一串码本编号来描述。潜在变量是一串离散编码的生成模型,比潜在变量是连续空间中一团点的模型更贴近这类数据。建模工作于是变成对符号序列的建模,让一个学出来的先验压在这些编码之上,而不是在连续潜在空间里拟合密度。论文的贡献在于说明:这样一个离散的潜在空间,可以在无监督的情况下与编码器、解码器一起学出来,而且潜在变量不会在这个过程中被悄悄丢掉。

能力图像生成

技术路线生成式模型

历史研究史

注释与来源

  1. Neural Discrete Representation Learninghttps://arxiv.org/abs/1711.00937

引用本页: 神经离散表示学习(VQ-VAE). TellWorld, https://www.tellworld.net/zh/papers/vq-vae-2017. 更新于 2026-11-07