UniTok:拆分编码,共享表征
交互教程
UniTok 让重建与图文对齐共享同一量化表征。
之前已经能做什么
Section titled “之前已经能做什么”单个小码本可能限制量化后保留的细节和语义;重建与对比目标对特征也有不同要求。UniTok 用更灵活量化测试联合训练配方,而非假定这些要求必然冲突。
改变了什么,为什么
Section titled “改变了什么,为什么”多码本量化将通道向量拆成 M 个子向量,各自在独立码本中选择项,再拼接所选向量。这不同于反复量化剩余误差的残差量化。UniTok 用 CNN/Transformer 混合主干,将量化特征送到重建与图文两条分支。
阅读顺序从左到右。点击模块,将它与计算和代码对应。代码为教学伪代码;来源链接提供论文方法或已核查的实现。
混合视觉编码器
将特征投影到量化瓶颈。
z = projection(visual_encoder(image))通道子码本
主配置独立量化八个 8 维切片。
parts = split_channels(z,8)
quantized = concat([vq_m(part) for m,part in enumerate(parts)])共享读出
两分支都使用量化后的表征。
image_hat = decoder(quantized)
image_embedding = pool(project_back(quantized))
loss = reconstruction(image_hat,image)+contrastive(image_embedding,text)逐步理解机制
Section titled “逐步理解机制”M 个 K 项码本存储 M×K 个向量,却可表示 K^M 种组合。演示分别计算两者,组合数不是显式存储的大词表。采用固定长度时,每位置需要 M log₂K 名义 bit。
主配置有 256 个空间位置、8 个 4096 项子码本,每子向量 8 维,即 2048 个 ID、64 个 latent 通道、每图 24576 名义 bit,在 256² 上为 0.375 bpp。称为 256 个视觉 token 描述的是空间接口,不是 256 个独立 code。
改变参数,查看计算值,再把它与上方的真实模型说明对照。
解析教学模型 · 控件改变的是例子,不是训练后的研究模型。
独立子码拼接;这不是对同一向量反复量化残差。
| 量 | 值 |
|---|---|
| 存储项数 | 8 |
| 组合数 | 16 |
| 每位置名义 bits | 4.000 |
训练与采样的区别
Section titled “训练与采样的区别”联合训练重建与图文对比目标。多模态模型在每空间位置合并子码嵌入,形成主序列 token;depth Transformer 在该位置内部预测子码。Tokenizer 训练与 LLM 适配仍是不同阶段。主要 tokenizer 数据是 DataComp-1B,并非 ImageNet-only 预算。
论文证据(并非本地复现)
Section titled “论文证据(并非本地复现)”| 条件 | 指标 | 数值 | 解释 |
|---|---|---|---|
| UniTok,从头初始化,ImageNet-256 评估 | rFID ↓ / zero-shot top-1 ↑ | 0.41 / 70.8% | 主表,联合训练 tokenizer |
| UniTok†,预训练初始化 | rFID ↓ / zero-shot top-1 ↑ | 0.38 / 78.6% | 初始化不同,预训练成本不匹配 |
这些结果不能证明什么
Section titled “这些结果不能证明什么”预训练初始化模型的零样本分类更好,却不领先所有下游 VQA 结果。每个成绩须绑定初始化、数据与任务协议。当前编码器包含卷积空间结构,缺少显式位置表不等于没有位置信息。
展开公式推导
M 个独立子空间各从 K 项选一个,乘法规则得到 K^M 种组合;固定长编码需要其 log₂ bit。存储项数只有 M×K。
八个子码本等价于八级残差量化吗?
不是。MCQ 量化不同通道切片;RQ 反复量化同一向量的残差。
来源与后续阅读
Section titled “来源与后续阅读”本页图形与伪代码为教学重绘。论文报告、固定实现观察和解析示例分别标记;未运行研究模型。