相较于之前一些基于扩散模型的text2image方法,Imagen一个基本的认识是:
用更大的在纯文本上训练的自然语言模型(T5)作为text encoder比用更大的diffusion model效果更显著:更加高保真以及文本-图片匹配度更高
Imagen架构图整体结构:
通过一个固定的text encoder(T5-XXL)提取文本embedding,然后经过一个输出大小为64x64的classifier-free Diffusion Model,最后经过两个级联的超分DM将图片分辨率放大到1024x1024,所有的DM都条件于text embedding。
text encoder对比了BERT(base模型参数量:1.1亿)CLIP(0.63亿)以及T5(模型参数量:110亿),后来发现T5效果最好。并且因为参数大几个量级的原因,还舍弃了之前基于<text, image>数据对,对Text Encoder进行finetune的流程。
classifier DM对噪声的建模公式:与glide相近,只是在uncondition的时候没有使用空的文本表示。
w表示clip_guidance。w=1表示关闭classifier-free guidance,大于1表示加强guidance。
DM的base model使用64x64的Unet(glide)作为autoencoder,选择小模型主要还是diffusion的迭代过程太长,导致生成过程慢。
使用更大的clip_guidance
之前的模型都通过增大classifier-free guidance来使得文本和图像更加匹配,但是图像的失真和不自然问题就会越来越严重,这其实是训练测试不匹配的问题,训练数据的分布范围在-1到1之间,但是测试时如果使用很大的guidance weight,将导致采样图片的数值超出-1到1的区间,因此提出两种方式来解决,一种是静态阈值,在采样时将数值范围裁剪到-1到1之间,可以避免产生空白图,另外一种是动态阈值,在每一步采样的样本中选一个百分位绝对像素值s,如果该值大于1,就将该样本裁剪到-s都s,然后除以s,这样避免像素饱和,因而可以使用更大的guidance weight。
级联的超分DM
由于DM生成的图像分辨率很低,因此超分DM是带噪声条件增强的,使得超分模型能感知到噪声量和噪声层次,这样超分的结果会对低分图像的噪声更加鲁棒。
网友评论