[Paper Reading] Imagen: Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding

名称

Imagen: Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding
时间:22/05
机构:Google

TL;DR

发现使用LLM(T5)可以作为text2image任务的text encoder,并且提升LLM模型size相对于提升image DM模型size性价比更高,生成的图像保真度更高,内容也更符合文本的描述。在COCO上FID score达到7.27。另外,作者也提出一种新的名为DrawBench的评测方案。

Method


算法pipeline整体如上图,除了使用LLM提取text特征之外,还使用了以下trick。

Large guidance weight samplers

一些已有工作发现训练DM时增加classifer-free的权重会导致图文一致性变好,但图像保真度变差。作者发现,其根本原因是train-test不一致问题,训练时xt往往会在固定range范围[-1, 1],但test时生成的xt可能会超出该range,如此迭代下去会生成不自然图像。个人理解,其实是训练过程classifer-free的权重太大,就会比较依赖于text信息,但测试时text分布与训练时分布不一致,导致生成的效果很差。
Dynamic thresholding 解决以上问题比较粗暴的方法是直接将xt截断到[-1, 1],但是实验表明当classifer-free的权重大到一定程度时还是会出现过饱和或者缺少细节的问题。作者使用Dynamic thresholding的方法,即设定某个百分位pixel value作为指标值s,如果s > 1,则对整体图像norm s。作者表示,这种方案能够比较好的tride-off保真度与图文对齐的整体效果。

Robust cascaded diffusion models

之所以称为cascaded DM是因为作者使用了3个DM,第一个是在64x64图像空间,后续两个分别上采样到256, 1024。除了z_t(text condition)之外,Imagen使用了一种称为noise conditioning augmentation的condition,具体作法是每次采样噪声之前都会随机采样出一个aug_level作为噪声幅度的限制,模型训练或者生成过程中,除了输入z_t与t之外,会将该aug_level也作为先验输入到模型。下面是将低分辨率图像通过DM上采样为高分辨率图像使用DM的训练与采样代码,可以关注下aug_level的使用。

模型结构

BaseModel使用LLM作为text encoder提取text embdding,使用UNet作为DM噪声模型,text embedding通过cross attention输入到UNet的各个stage。

Experiment

DrawBench

一种评测机制,主要衡量图像的保真度(fidelity)与图文一致性(image-text alignment),包含11个类别200个text prompts。真正评测过程需要人工评价者参与打分。

增加text encoder计算量比增加UNet计算量性价比更高

Q: 模型尺寸?=> image DM 64x64: 2B, 256x256: 600M, 1024x1024: 400M; text encoder T5: 4.6B
Q:使用了多少训练数据?=> 400M内部数据,400M laion公开数据集。

总结与发散

LLM抽出来的text特征竟然能直接给DM作condition使用,没有像CLIP一样专门对齐image与text的特征空间,应该是DM训练过程自适应了text embedding特征分布。

相关链接

Imagen: Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding
https://cloud.tencent.com/developer/article/2202539

资料查询

折叠Title FromChatGPT(提示词:XXX)
posted @ 2024-03-22 20:31  fariver  阅读(19)  评论(0编辑  收藏  举报