ESC
输入关键词搜索文章
目录

Token-based 图像压缩

量化器、视觉 Tokenizer 与信息论
VQ-VAE → VQGAN → RVQ/FSQ/LFQ → TiTok → AR-VFM:离散化连续信号,在 token 空间做熵编码
32Tokens (TiTok)
LFQLookup-free
RVQResidual Coding
Chapter 0 · 先把格局放大
Token-based 压缩的核心不是 Token,而是量化器

Token-based 图像压缩常被理解为「把图像变成 token,然后用语言模型压缩」。这个说法只说到了表层。真正决定压缩性能的第一层结构,是量化器:连续视觉特征如何被离散化,离散符号如何被建模,码本是否会坍缩,梯度如何穿过不可微的取整或查表操作。

从 Ballé 系列的连续 latent 压缩到 VQ-VAE/VQGAN 的离散 latent,再到 TiTok 的 1D token 与 MAGVIT-v2 的 lookup-free tokenizer,研究主线不是简单地「从像素到 token」,而是从标量量化向量量化残差量化有限标量量化无码本查找量化的演化。

一句话判断:如果连续 latent 压缩的关键词是「概率模型」,那么 token-based 压缩的关键词就是「离散化机制 + token 先验」。量化器决定 token 的信息容量,先验模型决定 token 的熵编码效率。
Chapter 1 · 基础对照
连续 latent 压缩 vs Token-based 压缩

传统学习式压缩通常采用连续 latent + 标量量化。Encoder 输出连续特征 \(y=g_a(x)\),训练时用加性均匀噪声近似量化,测试时取整得到 \(\hat y=\mathrm{round}(y)\),再用熵模型估计 \(p(\hat y)\),最后算术编码。

Token-based 方法先把局部或全局视觉特征映射为离散索引:

$$q(z)=\arg\min_i \lVert z-e_i\rVert_2,\quad z_q=e_{q(z)}$$

其中 \(E=\{e_1,\dots,e_K\}\) 是码本。压缩时传输的是索引 \(q(z)\),也就是视觉 token。若每个 token 独立以固定长度编码,则每个 token 至少需要 \(\log_2 K\) bit;若使用 AR/LM 先验,则实际码长接近 \(-\log_2 p(t_i\mid t_{

真正的压缩率公式

粗略估算:\(R \approx N_{token}\log_2 K\)。更准确地说,熵编码后码长是 \(R=\sum_i -\log_2 p(t_i\mid c_i)\),其中 \(c_i\) 可以是上下文、语义条件、hyperprior 或 AR hidden state。

Chapter 2 · 量化器谱系
从 Scalar Quantization 到 Lookup-Free Quantization

1. Scalar Quantization:Ballé 系连续压缩的默认基底

标量量化对 latent 的每个维度独立取整。优点是简单、天然适配高斯/拉普拉斯熵模型;缺点是无法利用向量维度之间的联合结构。Ballé 2017/2018 的学习式压缩本质上仍是连续特征经过标量量化,再由 hyperprior/context model 建模其概率分布。

2. Vector Quantization:VQ-VAE 的基本操作

VQ 把整个向量映射到码本最近邻。损失通常写作:

$$\mathcal L = \lVert x-\hat x\rVert + \lVert \mathrm{sg}[z_e]-e\rVert_2^2 + \beta\lVert z_e-\mathrm{sg}[e]\rVert_2^2$$

第一项是重建损失,第二项更新码本,第三项是 commitment loss,防止 encoder 输出在码本外漂移。由于最近邻选择不可微,训练时通常使用 straight-through estimator:前向传播使用硬量化,反向传播近似令 \(\partial z_q/\partial z_e \approx I\)

3. Codebook Collapse:VQ 的核心病灶

VQ 最大的问题是码本坍缩:只有少数码字被频繁使用,大量码字从不被选中,因而拿不到梯度。坍缩会带来两个后果:第一,表面码本很大,实际信息容量很小;第二,token 分布高度不均匀,后续 AR 先验容易学到偏置而非结构。

常见缓解方法包括 EMA 更新码本、dead code 重启、entropy regularization、commitment loss 调权、码本归一化、分组量化、残差量化和 lookup-free 量化。

4. Residual Vector Quantization (RVQ):渐进式 token 化

RVQ 用多个码本逐层量化残差:

$$r_0=z,\quad i_m=\arg\min_i\lVert r_{m-1}-e_i^{(m)}\rVert_2,\quad r_m=r_{m-1}-e_{i_m}^{(m)}$$

最终重建为 \(\hat z=\sum_m e_{i_m}^{(m)}\)。直观地说,第一层码本编码粗结构,后续码本补残差细节。这与传统压缩中的 bit-plane/progressive coding 很接近。音频 codec(如 SoundStream/EnCodec)广泛使用 RVQ,图像 tokenizer 中 MAGVIT 系列、Residual Quantization for Tokenized Image Synthesis 等工作也沿着这条线推进。

5. Product / Group Quantization:把大码本拆成多个小码本

Product Quantization 将高维向量拆成若干子向量,每个子向量独立查表。Group Scalar/Vector Quantization(GSVQ)也遵循类似思想:组内保持紧凑表达,组间降低组合复杂度。它的核心价值是用多个小码本近似一个指数级大码本,使表达能力随组数乘法增长,而存储和查找开销线性增长。

6. Finite Scalar Quantization (FSQ):去掉可学习码本

FSQ 的思路是:不再学习一个高维码本,而是为每个维度指定有限个标量 level,再把多维离散 level 的笛卡尔积视为隐式码本。例如维度 levels 为 \([8,5,5,5]\),隐式码本大小就是 \(8\times5\times5\times5=1000\)

FSQ 的优点是训练稳定、无码本坍缩、实现简单;缺点是每个维度的离散结构相对刚性,不如 VQ 那样能学习任意形状的语义聚类。它适合需要稳定 tokenizer、但不想维护大码本的视觉生成和压缩场景。

7. Lookup-Free Quantization (LFQ):把码本查找替换为 bit 决策

LFQ 在 MAGVIT-v2 / Language Model Beats Diffusion 一线中变得重要。它的核心做法是取消显式 embedding codebook,把每个 latent 维度二值化为 \(\{-1,+1\}\),一个 d 维二值向量天然对应 \(2^d\) 个离散码。也就是说,码本从「显式存储的一组向量」变成「所有 bit pattern 的全集」。

LFQ 的价值很明确:没有码本查找,没有 dead code,没有大表存储;码字天然被 bit 表示,适合大规模视觉 tokenizer。代价是表达空间被限制在超立方体顶点,需要靠 encoder/decoder 和 entropy regularization 学会使用这些顶点。

8. Soft-to-Hard Quantization:训练时软,推理时硬

另一类方法在训练时用 softmax/Gumbel-softmax 对码字做软分配,随着温度下降逐渐逼近硬分配。它缓解了不可微问题,但会引入训练/推理 mismatch,并且在大码本场景下 softmax 计算成本不低。

量化器是否有显式码本核心优势主要问题典型应用
Scalar Q简单、适合概率建模不能表达向量级语义聚类Ballé/Minnen 系学习式压缩
VQ离散 token 清晰,适合 AR/LM码本坍缩、查表开销VQ-VAE, VQGAN, TiTok
RVQ多个小码本渐进式残差编码,率失真灵活多层量化带来训练复杂度RQVAE, MAGVIT, neural codec
Product/GSVQ多个子码本指数级组合容量,线性存储组间依赖难建模大码本 tokenizer
FSQ隐式码本稳定、无码本坍缩语义聚类能力受限稳定视觉 tokenizer
LFQ无显式码本lookup-free、无 dead code、大规模友好表达空间受 bit 超立方体约束MAGVIT-v2, LlamaGen-style tokenizer
Soft-to-Hard梯度更平滑训练/推理 mismatchGumbel VQ, differentiable tokenization
Chapter 3 · 奠基
VQ-VAE 与 VQGAN:离散表示的基础

VQ-VAE (Oord et al., 2017)

VQ-VAE 第一次把深度自编码器的 latent 明确做成离散码字。它让「压缩」不再只是连续 latent 的熵估计,也可以是对离散 token 序列的建模。对于图像压缩而言,VQ-VAE 的关键意义在于:只要传输码本索引,就可以避免存储完整浮点 latent。

VQGAN (Esser et al., CVPR 2021)

VQGAN 架构
VQGAN 架构:GAN 判别器与 VQ-VAE 结合。它把离散 token 从「压缩表示」推进为「高保真生成表示」

VQGAN 的真正贡献是把离散 tokenizer 的重建质量提升到可用水平。感知损失和对抗损失缓解了 VQ-VAE 的模糊问题;Transformer prior 证明 token 序列可以被语言模型式架构有效建模。

从已有笔记提取的压缩结论
  • 普通自编码器的 latent 若以浮点存储,并不构成真正压缩。
  • VQ-VAE 的压缩性来自「码本共享 + 索引传输」。
  • 码本大小决定每个 token 的基础码长,但 token 分布和先验模型决定实际熵编码码长。
  • RVQ 在同等码率下通常比单一码本更灵活,因为它允许粗到细渐进表达。
Chapter 4 · 1D Tokenizer
TiTok:256×256 图像 → 32 个 1D Token
TiTok 1D Tokenizer
TiTok (ByteDance, 2024):用 K 个 latent query 汇聚整图信息,再量化为 1D token 序列

TiTok 的关键不是简单减少 token 数,而是改变 token 的空间假设。传统 2D tokenizer 让 token 与图像网格位置强绑定,16×16 网格就是 256 个 token;TiTok 用 ViT encoder 将 patch 序列与少量 latent tokens 交互,最后只保留 latent tokens。每个 token 不再对应一个固定 patch,而是全局聚合后的信息瓶颈。

这对压缩非常重要:2D token 适合局部重建,1D token 更接近「整图语义摘要 + 细节索引」。如果后续接 AR prior,1D 序列也更符合语言模型的建模习惯。

极端码率估算:32 个 token,码本大小 4096,则基础码长为 \(32\times\log_2 4096=384\) bit。对于 256×256 RGB 图像,bpp 约为 \(384/(256\times256)=0.00586\) bpp。若按原始 RGB bit 数比值计算,则约为 1/4096 的原始比特预算。注意:这里的 bpp 应以像素数为分母,不应再乘以 3 个通道。
Chapter 5 · Tokenizer 横向地图
视觉 Tokenizer 不止 VQGAN 与 TiTok
Tokenizer量化器Token 组织压缩意义主要限制
VQ-VAEVQ2D grid首次稳定离散 latent重建质量弱,码本坍缩
VQGANVQ2D grid高保真视觉 token 基础token 数多,AR prior 慢
RQVAERVQ多层 token粗到细渐进码率控制多码本训练复杂
MAGVIT / MAGVIT-v2VQ / LFQ图像视频统一 token为生成模型提供高效视觉词表压缩评价通常不是主目标
TiTokVQ + 1D latent1D sequence极少 token,适合超低码率细节保真依赖 decoder hallucination
ALIT自适应 tokenizationvariable length把 RDO 变成 token 数分配熵编码和训练调度复杂
DINO-Tok语义引导 tokenizer语义 token强化理解/生成通用性不一定最优于像素级压缩
SemHiTok层次化语义码本hierarchical tokens语义与细节分层结构复杂,依赖任务权衡
AR-VFM Compression依赖预训练 tokenizerAR sequence直接复用视觉基础模型先验做熵编码模型规模和解码成本高
Chapter 6 · 从固定长度到自适应
Token 数本身就是码率控制旋钮

ALIT:自适应长度 Image Tokenization

ALIT 的思想可以放回压缩语言中理解:不同图像、不同区域的信息量不同,固定 token 数等价于固定码率,不符合率失真优化。自适应长度 tokenizer 让高信息区域获得更多 token,让低信息区域获得更少 token,本质上是 token 级 bit allocation。

GLC:在生成式 latent 空间做压缩

Generative Latent Coding 的关键是:生成模型 latent 往往已经具有语义对齐和稀疏结构,因此在生成式 latent 空间做变换编码,可能比在像素或普通 latent 空间更接近感知压缩目标。

RDVQ:把 VQ 放回率失真优化

RDVQ 的问题意识非常明确:传统 VQ 的硬最近邻操作会阻断梯度,导致 rate-distortion 目标难以真正端到端优化。可微 VQ 试图让量化器本身也成为 RDO 的可学习组成部分。

Chapter 7 · AR-VFM
当视觉基础模型变成熵模型

AR-VFM for Compression 的核心不是训练一个新 codec,而是复用预训练 AR 视觉基础模型的 token 预测能力。若模型能准确预测下一个视觉 token,则它天然给出了条件概率 \(p(t_i\mid t_{,这正是算术编码需要的概率模型。

这把「生成」和「压缩」统一到同一件事:生成模型学的是数据分布,压缩模型需要的是数据分布的概率估计。区别只在于生成时采样 token,压缩时用概率分布编码真实 token。

范式转变:传统 learned compression 从头训练 analysis/synthesis transform 与 entropy model。AR-VFM 路线意味着压缩可以直接继承视觉基础模型的 token prior,尤其适合 token-based compression。
五条核心洞察

「Token-based 压缩的第一性问题是量化器,而不是 Transformer。」

如果量化器产生的 token 语义混乱、码本坍缩或熵过高,再强的 prior 也只能补救,无法从根本上修复表示瓶颈。

「码本大小不等于信息容量。」

一个 100K 码本如果只使用 5K 个码字,实际容量远低于标称容量。码本利用率和 token 熵比 nominal codebook size 更重要。

「RVQ 是 token-based 压缩最自然的率控机制之一。」

多层残差码本天然对应粗到细、低码率到高码率的渐进式编码。

「LFQ 的重要性在于去掉了码本这个中心化瓶颈。」

当视觉 tokenizer 要服务大规模生成模型时,lookup-free 和无 dead code 的特性会越来越重要。

「TiTok 的 1D token 化把压缩与 LLM prior 真正接上了。」

2D 网格 token 更像图像 patch;1D token 序列更像语言序列,适合 AR/LM 直接建模。

参考来源

  • Oord et al. (2017) Neural Discrete Representation Learning (VQ-VAE)arXiv:1711.00937
  • Esser et al. (2021) Taming Transformers for High-Resolution Image Synthesis (VQGAN)arXiv:2012.09841
  • Mentzer et al. (2023) Finite Scalar Quantization: VQ-VAE Made SimplearXiv:2309.15505
  • Yu et al. (2023) Language Model Beats Diffusion — Tokenizer is Key to Visual GenerationarXiv:2310.05737
  • TiTok (2024) An Image is Worth 32 Tokens for Reconstruction and GenerationarXiv:2406.07550
  • Factorized Visual Tokenization and Generation (2024) — arXiv:2411.16681
  • ALIT (2025) Adaptive Length Image Tokenization — ICLR 2025
  • GLC (2024) Generative Latent Coding for Image Compression — CVPR 2024 / IEEE TCSVT 2025
  • RDVQ (2026) Differentiable Vector Quantization for Rate-Distortion Optimization — CVPR 2026
  • AR-VFM for Compression (2025) — 探索自回归视觉基础模型在压缩中的应用