不靠对抗训练:DeepMind 用离散码让自回归模型画出 256×256 图像

Hierarchical Autoregressive Image Models with Auxiliary Decoders

Jeffrey De Fauw, Sander Dieleman, Karen Simonyan

cs.CV, cs.LG, stat.ML

2019-03-07

用辅助解码器学出抽掉局部细节的离散码,再在码上训练自回归先验,likelihood 模型在 ImageNet 上生成大尺度连贯的 128×128 与 256×256 图像,人评追平 SPN、逊于 BigGAN。

这篇在解决什么

PixelCNN 一族的自回归模型逐像素建模、按 likelihood 训练,纹理细节是强项,大尺度结构是短板:样本局部像样,整体拼不起来。卷积的归纳偏置偏局部是一个原因,更根本的是 likelihood 损失对局部相关的奖励远比长程结构慷慨,容量自然都花在局部。同期 GAN 已能生成 512×512 的 ImageNet 图像,但会丢模式;likelihood 模型原理上不丢,却在分辨率和整体连贯性上落后。这篇 DeepMind 的工作把问题重新定义成表示问题:先把局部细节从输入表示里抽掉,自回归模型只学剩下的骨架,编码器递归堆叠成逐级抽象的层级,容量显式分配到不同尺度的结构上。

方法

难点在学出「抽掉局部细节、又够重建用」的表示。最自然的方案是自回归自编码器、编码解码联合训练,论文专门用一节拆它的病理,根源都是 teacher forcing(训练时解码器拿真实前文,推理时只能吃自己的预测)与自编码目标的冲突:整体色调这类慢变化信息编码器懒得存,推理时采样一偏离,颜色误差逐像素累积;噪声反而被存进码里,因为自回归解码器从前文预测不了噪声;表示容量大,解码器就没动力用自回归连接,容量被 KL 压住又出现 posterior collapse,隐变量被无视。

解法是辅助解码器:单独训一个解码器,只给编码器提供学习信号,训完丢弃,换成单独训练的条件自回归解码器(局部 PixelCNN 加 modulator,把码映射成各层 bias)。两种辅助解码器:

编码器输出经 VQ 瓶颈(量化到可学习码本)变成离散码,信息量有上界,先验训练更稳,也避开 posterior collapse;内置下采样让高层码分辨率更低。三组网络可同时训练,只要自回归解码器的损失不回传编码器,对重建质量影响可忽略。

结果

128×128 压到 32×32 单通道 8-bit 码(256 bins),压缩 48 倍,先验是 PixelSNAIL 式带 masked self-attention 的大号 gated PixelCNN;256×256 两级堆叠,总压缩 192 倍。

辅助解码器ISFID联合 NLL
前馈18.10 ± 0.9644.953.343 bits/dim
MSP17.02 ± 0.7946.053.409 bits/dim

作者不与旧论文直接比 NLL,预处理差异会显著影响数值;IS/FID 远差于 BigGAN 等对抗模型,论文自己的定位是与 32×32 ImageNet 上 PixelCNN 的数字(IS 8.33、FID 33.27)同一量级。人评(15 分,20 类,128×128;真实图像也只有 2.941,分辨率本身压住了观感):

模型平均分
BigGAN(high truncation)2.113
BigGAN(low truncation)1.874
SPN1.452
层级模型(MSP)1.431
层级模型(前馈)1.412

两两对比:MSP 对 SPN 胜率 50.57%,对 BigGAN(low truncation)22.89%,对真实图像 5.39%。256×256 只有样本展示,没有量化指标;采样温度从 1.0 降到 0.970.98 更稳定出好图。消融显示辅助解码器越深、码越难预测,mask 越大、码越好预测;重建上 MSE 解码器更保局部结构(盒子上的文字),MSP 更保纹理有无(鸟身、墙纸),两类重建在颜色纹理上都随机波动,这些细节确实没进码。

为什么重要

这篇把「likelihood 模型画不大图」重新定义成表示学习问题:码抽掉局部细节,先验只管大尺度结构。同期的 Razavi et al. 走多尺度 VQ-VAE 加自回归先验的近亲路线,论文明确讨论过,差别在对方像素级解码器是前馈,采样更快但有些糊。掩码预测学表示,论文自己点名 word2vec、ELMo、BERT 这条线;今天训练图像 tokenizer,「遮住局部、逼编码器学长程」仍是现成的目标设计。结果上要泼冷水:对 SPN 的 50.57% 基本是掷硬币,对 BigGAN 的 22.89% 是明确落败。贡献在病理分析和训练配方,不在榜单。

局限与存疑

作者自述:层级各层的 likelihood 在不同特征空间计算,互不可比;联合 NLL 被像素级条件项主导,基本没信息量;像素域 likelihood 本就不适合衡量大尺度结构,全模型因此缺统一指标;人评只测真实感,不测多样性;前馈与 MSP 的相对优劣留给未来工作。论文没覆盖的:256×256 无任何量化评估;单级自编码器在该分辨率明显掉质量,两级堆叠里每级的层数、mask 大小、压缩比全是手工配置,怎么找或能不能学出来没有讨论;类条件给先验提供了强信号,无条件场景没有实验。

术语

原文与代码

社区讨论

相关论文

全部论文解读