当前位置:   article > 正文

dalle3:Improving image generation with better captions

improving image generation with better caption

文生图——DALL-E 3 —论文解读——第一版-CSDN博客文章浏览阅读236次。本文主要是DALL·E 3官方第一版技术报告(论文)的解读。 一句话省流版,数据方面,训练时使用95%模型(CoCa)合成详细描述caption + 5%原本人类 caption,测试时使用GPT-4v 扩写人类caption;模型方面使用T5xxl + vae encoder + diffusion latent + 自家decoder 取得最好效果。https://blog.csdn.net/u012863603/article/details/134028230DALL-E 3技术报告阅读笔记 - 知乎在大家都在猜测 DALL-E 3技术架构的时候,没想到OpenAI在最近放出了DALL-E 3的技术报告,这不得不给OpenAI点个赞。但是,DALL-E 3的这篇技术报告重点是放在了如何通过合成图像的文本描述(caption)来提升模型的生…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/662745543

dalle3,数据方面,训练时使用95%模型(CoCa)合成详细描述caption + 5%原本人类 caption,测试时使用GPT-4v 扩写人类caption;模型方面使用T5xxl + vae encoder + diffusion latent + lcm decoder 取得最好效果,其中lcm decoder已经开源了。

dalle3的技术报告主要是两个问题:1.如何通过合成图像的文本描述caption来提升模型的生成能力,提升的主要是prompt following能力,即生成的图像和输入的text prompt的一致性;2.关于dalle3和其它文生图算法的对比。

1.合成图像caption

文生图算法的文本理解能力,对于稍微复杂的文本,生成的图像往往会容易忽略部分文本描述,甚至无法生成文本所描述的图像,主要是训练数据集的caption不够准确,1.图像常规的文本描述过于简单(coco),大部分只描述图像中的主体而忽略图像中的其它信息,比如背景,物体的位置和数量,图像中的文字等,2.目前训练的图像文本对(laion)都是从网页上爬取的,文本的描述是alt-text(图片替代文本),这种描述很多是不太相关的内容,比如广告。

openai的解决方案是训练一个image caption来合成图像的caption,在合成caption上,blip之前就做过,laion在2022年也推出了基于blip来生成caption的laion-coco数据集,不过是生成的短caption,也没有使用GPT-4V来生成caption。这里选用的模型是谷歌的CoCa,CoCa相比clip额外增加了一个multimodel text encoder来生成caption,训练损失包括clip的对比损失和caption生成的交叉熵损失(自回归损失)。

为了提升模型生成的质量,对预训练好的image captioner进行了微调,包括两个部分,1.微调数据是只描述图像主体的短caption,2.微调数据是详细描述图像内容的长caption,相应的两个模型分别生成ssc短caption和dsc长短语。下图中很明显ssc和dsc。

实验部分主要讨论两点,1.合成caption对文生图模型的影响;2.训练中合成caption和原始caption的最佳混合比例。混合主要是为了防止模型过拟合到合成caption的某些范式,比如合成的caption往往以a和an开头,在训练中,在合成caption中混入原始caption,相当于一种模型正则化。

1.合成caption对文生图算法的影响。

训练了三个模型,1.只用原始caption;2.5%的原始caption+95%的合成短caption;3.5%的原始caption和95%的合成长caption。文生图算法是latent diffusion模型,其VAE和sd一样都是8x下采样,text encoder采用T5-XXL,T5-XXL可以编码更长的文本且其编码能力更强,训练图像尺寸为256x256,bs=2048,训练50w步,相当于采样了1B样本,unet结构估计和sdxl差不多,包含了3个stages,sdxl包含了3个sdxl,下采样2次,其中第一个stage是纯卷积,后面2个包含attention。

采用CLIP score来评测, CLIP score是image embedding和text prompt对应的text embedding计算余弦相似度得出的值,基于CLIP ViT-B/32。

左图中计算clip score时text采用原始caption,蓝线是长文本生成的图和原始caption计算的score,还是要好于红线,右图text采样的是长caption,明显长caption>短caption>原始caption。

采用95%长caption>90%长caption>80%长caption。

因此合成的长caption对模型最终的结果帮助很大,不过采用95%合成长caption,也会过拟合到长caption上,如果采用常规的短caption,效果就会差很多,为了解决这个问题,openai采用GPT4来upsample用户的caption,就是用户输入的短caption,进过GPT4之后变成长caption,优化之后效果确实要好一点。

2.dalle3

对于dalle3的实现,1.dalle3采用了95%的合成长caption和5%的原始caption混合训练,这是关键之一,2.dalle3应该是一个更大版本的T5xxl + vae encoder + diffusion latent + lcm decoder模型。目前生成的图片分辨率是1024x1024以上,应该也是类似于sdxl,采用渐进式的训练策略,256->512->1024,采用多尺度训练策略来使模型能够输出各种长宽比的图像,lcm decoder目前已经开源了,主要是提升图像的细节,特别是文字和人脸,为了解决VAE所产生的图像畸变。主要是替换vae decoder,可以和sd的vae encoder一起用。

  1. import torch
  2. from diffusers import StableDiffusionPipeline
  3. from consistencydecoder import ConsistencyDecoder, save_image, load_image
  4. # encode with stable diffusion vae
  5. pipe = StableDiffusionPipeline.from_pretrained(
  6. "runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16, device="cuda:0"
  7. )
  8. pipe.vae.cuda()
  9. decoder_consistency = ConsistencyDecoder(device="cuda:0") # Model size: 2.49 GB
  10. image = load_image("assets/gt1.png", size=(256, 256), center_crop=True)
  11. latent = pipe.vae.encode(image.half().cuda()).latent_dist.mean
  12. # decode with gan
  13. sample_gan = pipe.vae.decode(latent).sample.detach()
  14. save_image(sample_gan, "gan.png")
  15. # decode with vae
  16. sample_consistency = decoder_consistency(latent)
  17. save_image(sample_consistency, "con.png")

3.评测

评测这块还是很值得借鉴,从之前的sd_eval,图像生成如何去评估一直是个值得研究的点。dalle3的测评分为自动评测和人工评测。

自动评测有3个指标,1.CLIP score,测评数据集是从COCO2014中选出的4096个captions,2.采用GPT4V,测评数据集是imagen中所提出的DrawBench,共包括200个不同类型的prompt,将生成的图像和对应的text送入GPT4V,让模型判定图像和text是否一致,一致就正确。3.采用T2I-CompBench,包括6000个组合类型的text prompt,选择了color binding/shape binding/texture binding测评,通过BLIP-VQA model评分,三个方面都是难点,sdxl都搞不定的。

这三个指标可能也不能反应很多图像质量问题吧,直观感觉xl生成的图还是要比dalle2要好的。

第二部分是人工测评:1.给两张图,判断哪一张和文本更相符,2.style,不给文本,判断更喜欢两张图中的哪一张,3.coherence,从两张图中选择包含更多真实物体的图像。

4.问题

1.空间位置关系;2.文字生成能力;3.合成的caption中会幻想图像中的重要细节,可能画出错误类型的植物。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/53576
推荐阅读
相关标签
  

闽ICP备14008679号