Token-based 图像压缩
Token-based 图像压缩常被理解为「把图像变成 token,然后用语言模型压缩」。这个说法只说到了表层。真正决定压缩性能的第一层结构,是量化器:连续视觉特征如何被离散化,离散符号如何被建模,码本是否会坍缩,梯度如何穿过不可微的取整或查表操作。
从 Ballé 系列的连续 latent 压缩到 VQ-VAE/VQGAN 的离散 latent,再到 TiTok 的 1D token 与 MAGVIT-v2 的 lookup-free tokenizer,研究主线不是简单地「从像素到 token」,而是从标量量化、向量量化、残差量化、有限标量量化到无码本查找量化的演化。
传统学习式压缩通常采用连续 latent + 标量量化。Encoder 输出连续特征 \(y=g_a(x)\),训练时用加性均匀噪声近似量化,测试时取整得到 \(\hat y=\mathrm{round}(y)\),再用熵模型估计 \(p(\hat y)\),最后算术编码。
Token-based 方法先把局部或全局视觉特征映射为离散索引:
其中 \(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。
1. Scalar Quantization:Ballé 系连续压缩的默认基底
标量量化对 latent 的每个维度独立取整。优点是简单、天然适配高斯/拉普拉斯熵模型;缺点是无法利用向量维度之间的联合结构。Ballé 2017/2018 的学习式压缩本质上仍是连续特征经过标量量化,再由 hyperprior/context model 建模其概率分布。
2. Vector Quantization:VQ-VAE 的基本操作
VQ 把整个向量映射到码本最近邻。损失通常写作:
第一项是重建损失,第二项更新码本,第三项是 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 用多个码本逐层量化残差:
最终重建为 \(\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 | 有 | 梯度更平滑 | 训练/推理 mismatch | Gumbel VQ, differentiable tokenization |
VQ-VAE (Oord et al., 2017)
VQ-VAE 第一次把深度自编码器的 latent 明确做成离散码字。它让「压缩」不再只是连续 latent 的熵估计,也可以是对离散 token 序列的建模。对于图像压缩而言,VQ-VAE 的关键意义在于:只要传输码本索引,就可以避免存储完整浮点 latent。
VQGAN (Esser et al., CVPR 2021)
VQGAN 的真正贡献是把离散 tokenizer 的重建质量提升到可用水平。感知损失和对抗损失缓解了 VQ-VAE 的模糊问题;Transformer prior 证明 token 序列可以被语言模型式架构有效建模。
- 普通自编码器的 latent 若以浮点存储,并不构成真正压缩。
- VQ-VAE 的压缩性来自「码本共享 + 索引传输」。
- 码本大小决定每个 token 的基础码长,但 token 分布和先验模型决定实际熵编码码长。
- RVQ 在同等码率下通常比单一码本更灵活,因为它允许粗到细渐进表达。
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 序列也更符合语言模型的建模习惯。
| Tokenizer | 量化器 | Token 组织 | 压缩意义 | 主要限制 |
|---|---|---|---|---|
| VQ-VAE | VQ | 2D grid | 首次稳定离散 latent | 重建质量弱,码本坍缩 |
| VQGAN | VQ | 2D grid | 高保真视觉 token 基础 | token 数多,AR prior 慢 |
| RQVAE | RVQ | 多层 token | 粗到细渐进码率控制 | 多码本训练复杂 |
| MAGVIT / MAGVIT-v2 | VQ / LFQ | 图像视频统一 token | 为生成模型提供高效视觉词表 | 压缩评价通常不是主目标 |
| TiTok | VQ + 1D latent | 1D sequence | 极少 token,适合超低码率 | 细节保真依赖 decoder hallucination |
| ALIT | 自适应 tokenization | variable length | 把 RDO 变成 token 数分配 | 熵编码和训练调度复杂 |
| DINO-Tok | 语义引导 tokenizer | 语义 token | 强化理解/生成通用性 | 不一定最优于像素级压缩 |
| SemHiTok | 层次化语义码本 | hierarchical tokens | 语义与细节分层 | 结构复杂,依赖任务权衡 |
| AR-VFM Compression | 依赖预训练 tokenizer | AR sequence | 直接复用视觉基础模型先验做熵编码 | 模型规模和解码成本高 |
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 的可学习组成部分。
AR-VFM for Compression 的核心不是训练一个新 codec,而是复用预训练 AR 视觉基础模型的 token 预测能力。若模型能准确预测下一个视觉 token,则它天然给出了条件概率 \(p(t_i\mid t_{,这正是算术编码需要的概率模型。
这把「生成」和「压缩」统一到同一件事:生成模型学的是数据分布,压缩模型需要的是数据分布的概率估计。区别只在于生成时采样 token,压缩时用概率分布编码真实 token。
「Token-based 压缩的第一性问题是量化器,而不是 Transformer。」
「码本大小不等于信息容量。」
「RVQ 是 token-based 压缩最自然的率控机制之一。」
「LFQ 的重要性在于去掉了码本这个中心化瓶颈。」
「TiTok 的 1D token 化把压缩与 LLM prior 真正接上了。」
参考来源
- 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 Simple — arXiv:2309.15505
- Yu et al. (2023) Language Model Beats Diffusion — Tokenizer is Key to Visual Generation — arXiv:2310.05737
- TiTok (2024) An Image is Worth 32 Tokens for Reconstruction and Generation — arXiv: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) — 探索自回归视觉基础模型在压缩中的应用