DALLE2 | 带火AI绘图的第一个AI模型

  • 文章作者:陈亦新

0 综述

0.1 发展过程

  1. 2021.01 DALLE OPENAI 120亿参数
  2. 2021.05 CogView 清华 支持中文
  3. 2021.11 NvWa(女娲) 微软+北大 生成图像和比较短的视频
  4. 2021.12 GLIDE OPENAI
  5. 2021.12 ERNIE-ViLG 百度 100亿参数+中文
  6. 2022.04 DALLE2 OPENAI
  7. 2022/04 CogView2 清华
  8. 2022/05 CogVideo 清华
  9. 2022/05 Imagen Google 相对于DALLE2简化,并且效果不相上下

0.2

DALLE2应该是第一个结合了CLIP和扩散模型的论文,里面的作者直接原班人马。

0.3

CLIP可以抓住图片的很鲁棒的特征,包含语义和风格特征。DALLE2包含两个stage的特征:

  • a prior that generates a CLIP image embedding given a text caption;
  • a decoder that generates an image conditioned on the image embedding.

prior的作用就是把经过CLIP模型得到的text embedding,转换成CLIP的image embedding。相当于是丰富了CLIP的一种用途。训练的groundtruth也是CLIP的给出的image embedding。

decoder就是利用扩散模型把image embedding还原成原始图片。

当然,这里我也自然的提出了思考,为什么不让decoder直接从text embedding转换到image呢?论文中给出了这样的回复:

We show that explicitly generating image representations improves image diversity with minimal loss in photorealism and caption similarity。

0.4 guidance technique

论文中提出了,在2015年以来,采样的方法已经提出,但是保真度一直不如GAN。中间有很多的改进,其中有一个技巧叫做“guidance”,可以牺牲一部分多样性的情况下,大幅度的提高生成图片的保真度。从此和GAN在inception和FID score上都不相上下了。

1 算法

1.1 模型结构

  • 上面是CLIP模型的训练,之前的讲解中已经说过了;​​juejin.cn/post/713863…​
  • CLIP模型不会进行finetune,是一直freeze的。
  • prior发现,先显式的将text embedding转换成image embedding,效果会好很多。

论文中管自己叫做unclip,并不是DALLE2,因为这是从特征到图片的过程,是CLIP的反过程

1.2 生成算法回顾

1.2.1 GAN

  • 保真度高,不稳定,多样性不够。因为GAN的优化目标就是以假乱真的保真度,多样性和不稳定没有保障。

1.2.2 AE / DAE

  • 目的是重建。目的是学习bottleneck的特征,这里没有采样的概念,所以无法生成。

1.2.3 VAE

  • VAE学习概率分布,多样性比GAN好很多。

1.2.4 VQ-VAE

  • 8192×512。
  • VQ Vector Quantilised
  • 我们得到的特征图f是一个wh的特征图,每一个像素的向量和code book里面做对比,然后取出来对应的编号。存成z。BEIT就是借用了VQ-VAE的思路。DALLE也是基于VQ-VAE。
  • 需要注意的是,这里没有采样,VQ-VAE类似AE而不是VAE。所以这里训练了一个pixelCNN自回归模型。

1.2.5 DALLE

  • 文本通过BPE编码(256),Image通过VQVAE编码,然后得到1024的特征,拼接成1280的特征。
  • 之前用的pixelCNN自回归模型,那么自回归生成模型GPT更牛逼。
  • 然后随机遮住一些,用BERT的方法微调GPT。毕竟就是openAI的看家本领。
  • 推理的时候,就只有文本的256的特征,然后用自回归的方法慢慢恢复后面的1280特征。然后放回VG-VAE当中复原即可。所以这也是二阶段的模型。
  • 关键是怎么训练GPT的12B的模型参数,大力出奇迹!

1.3 扩散模型回顾

1.3.1 扩散模型

扩散模型常见的用的Unet的结构。

1.3.2 DDPM

因为生成图像发现比较难训练,所以Unet开始预测两个时间戳图像之间的噪音。

1.3.3 improved DDPM

因为DDPM的成功让DALLE的二、三作立刻去研究,提出了improved DDPM。

  • 我还没细看,大概就是在beta的schedule上,从线性变成了非线性(余弦?);
  • DDPM只学习分布的均值,不学习方差。improved上同时学习

1.3.3 Diffusion betas GAN

  • 二、三作继续研究,发现diffusion models的扩展性非常好,数据集越大,那么生成图像的效果就会越好;
  • 提出了adaptive group normalization,没细看,就是时间戳t也会作为group normalization的一个参数;
  • 使用了guidance的技巧,让扩散模型的反向过程从DDPM的1000可以缩短到25.

2 guidance technique

2.1 classifier guidance technique

加上图像分类器,一般是加了噪音的imagenet训练的。通过梯度的对diffusion模型的提取进行指导。也因此,首次战胜了BigGAN。最大问题就是,需要另外一个模型,pretrained-model,很麻烦,也不稳定。

2.2 classifier free technique

只是指在推理过程中,不用提示。但是训练的时候,会变得更贵。

3 重开模型结构

核心公式:

后者是prior,前者是decoder(GLIDE)。

prior用了两种,autogressive和diffusion prior。后者效率高所以用后者。

© 版权声明
THE END
支持一下吧
点赞6 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容