名称
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的训练与采样代码。
模型结构
BaseModel使用LLM作为text encoder提取text embdding,使用UNet作为DM噪声模型,text embedding通过cross attention输入到UNet的各个stage。
Experiment
DrawBench
一种评测机制,主要衡量图像的保真度(fidelity)与图文一致性(image-text alignment),包含11个类别200个text prompts。真正评测过程需要人工评价者参与打分。
Q: 模型尺寸?=> image DM 64x64: 2B, 256x256: 600M, 1024x1024: 400M; text encoder T5: 4.6B
Q:使用了多少训练数据?
400M内部数据,400M laion公开数据集。
增加text encoder计算量比增加UNet计算量性价比更高
总结与发散
LLM抽出来的text特征竟然能直接给DM作condition使用,没有像CLIP一样专门对应特征空间,应该是DM训练过程自动适应了text embedding特征分布,推理才会起作用。
相关链接
Imagen: Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding
https://cloud.tencent.com/developer/article/2202539