文本生成图像这么火,你需要了解这些技术的演变

选自Intento
作者:GrigorySapunov
机器之心编译
机器之心编辑部
目前多模态任务成为行业热点 , 本文梳理了较为优秀的多模态文本图像模型:DALL·E、CLIP、GLIDE、DALL·E2(unCLIP)的模型框架、优缺点 , 及其迭代关系 。
OpenAI最近发布了DALL·E2系统 , 在AI界引发了「地震」 , 该系统能够根据文本描述创建图像 。 这是DALL·E系统的第二个版本 , 第一个版本是在近一年前发布的 。 然而 , 在OpenAI内部 , DALL·E2背后的模型被称为unCLIP , 它更接近于OpenAI的GLIDE系统 , 而不是原始的DALL·E 。
对笔者来说 , DALL·E2系统的冲击力可以与AlphaGo相媲美 。 看起来该模型捕获了许多复杂的概念 , 并且以有意义的方式将它们组合起来 。 就在几年前 , 计算机能否从这样的文本描述中生成图像还是一件难以预测的事情 。 SamAltman在他的博客文章中提到 , 我们对AI的预测似乎是错误的 , 是需要更新的 , 因为AI已经开始影响创造性的工作 , 而非只是机械重复的工作 。
本文旨在带领读者一览OpenAI的文本引导图像生成模型的演变 , 包括DALL·E的第一个和第二个版本以及其他的模型 。
DALL·E演变史
DALL·E1
DALL·E的第一个版本是GPT-3风格的transformer解码器 , 它可以根据文本输入和可选的图像开头自回归生成256×256大小的图像 。
你一定见过这些牛油果椅子:
文本生成图像这么火,你需要了解这些技术的演变
文章图片
来自原始博客文章 。
如果你想了解类似GPT的transformer的工作原理 , 请参阅JayAlammar的精彩视觉解释:https://jalammar.github.io/how-gpt3-works-visualizations-animations/
文本由BPEtokens编码(最多256个) , 图像由离散变分自编码器(dVAE)生成的特殊图像tokens(其中1024个)编码 。 dVAE将256×256图像编码为32×32tokens的网格 , 词汇表包含8192个可能的值 。 dVAE会在生成的图像中丢失一些细节和高频特征 , 所以DALL·E生成图像的特征采用了一些模糊和平滑 。
文本生成图像这么火,你需要了解这些技术的演变
文章图片
原始图像(顶部)和dVAE重建(底部)的比较 。 图片来自原始论文 。
这里使用的transformer是有着12B大小参数的大模型 , 由64个稀疏transformer块组成 , 内部具有一组复杂的注意力机制 , 包括:1)经典的文本到文本注意力掩码机制 , 2)图像到文本的注意力 , 3)图像到图像稀疏注意力 。 所有三种注意力类型都合并为一个注意力运算 。 该模型是在250M图像-文本对的数据集上训练的 。
文本生成图像这么火,你需要了解这些技术的演变
文章图片
类似GPT-3的transformer解码器使用一系列文本token和(可选)图像token(此处为id为42的单个图像token)并生成图像的延续(此处为id为1369的下一个图像token)
训练后的模型根据提供的文本生成了几个样本(最多512个) , 然后将所有这些样本通过一个名为CLIP的特殊模型进行排序 , 并选择排名靠前的一个作为模型的结果 。
文本生成图像这么火,你需要了解这些技术的演变
文章图片
原始论文中的几个图像生成示例 。
CLIP
CLIP最初是一个单独的辅助模型 , 用于对DALL·E的结果进行排序 。 它的名字是ContrastiveLanguage-ImagePre-Training的缩写 。
CLIP背后的想法很简单 。 笔者从互联网上抓取了一个图像-文本对数据集(400M的规模) , 然后在这样的数据集上训练一个对比模型 。 对比模型可以给来自同一对的图像和文本产生高相似度得分(因此它们是相似的) , 而对不匹配的文本和图像产生低分(我们希望在当前训练批次中某个图像和任何其他对的文本之间得到高相似度结果的机会很小) 。