1官方对模型的介绍
大家好,今天我们就一起来看一下两个月之前 OpenAI 刚放出来的一篇力作。DALL·E 2是 OpenAI 一系列文本图像生成工作的最新一篇。去年 1 月份他们先推出了Dolly,然后在年底的时候又推出了glide。然后现在 4 月份刚推出了 DALL·E 2 一出来其实网友就已经炸开了锅。我记得那两天的 Twitter 上或者说 Instagram 上到处都是DALL·E 2生成的图片,所有的论坛上基本都被DALL·E 2刷屏了。虽然网上有很多很好玩的很新奇的生成了一些图片。但是OpenAI这里自己做的这个DALL·E 2介绍更是非常精美。所以我们就先来看看它是怎么宣传达力兔的。作者上来先说 Dolly two 是可以根据这个文本描述去生成这种原创性的真实的图片。
这个原创性很重要,因为大家经常觉得你这个模型是不是在很多很多的这个数据上训练之后,它其实就是把这些图片记住了,然后接下来它就不停地复制粘贴去生成新的图片而已。但是作者这里认为 Dolly two 是能生成原创性的图片的,也就是说是这种FAKE image 是从来没有在训练机里出现过的图片。然后作者接下来。说, Dolly two 是真的把图片文本里那些特征都学到了,所以说它可以任意的去组合这种概念或者属性,或者这种风格。然后接下来 open i 就举了几个例子,那左边就是这个文本描述,从上到下一共有三行,分别对应的就是这个概念、属性和风格。那比如说我们现在如果选定一个宇航员骑着一匹马,而且是这种写实的风格,那它就会生成像右图这样的图片,我们可以看出这个图片的语义其实和这个文本描述非常的贴切,而且这个细节也非常的逼真。那如果我们现在换一下这些概念或者风格会怎么样?比如说我们现在换一下一碗汤,然后属性变成了去另外一个空间的传送门,然后风格就是一副数字画,然后 Dolly 就能生成这么一张图片真的是让人瞠目结舌。这个其实都可以直接拿去做插画或者当任何广告的这个宣传画了。那最后我们再看一个例子,如果我们把最上面这个概念换成Teddy bear。然后属性就是说。他们正在做最新的这种 AI 研究,然后风格就是在 1980 年代的那个月球上,DALL·E 2就真的能够生成有两只 Teddy bear,然后在电脑跟前做什么工作。而且是在月球表面。这个生成效果真的是非常的不可思议。
那除了根据文本直接去生成图片之外,那 OpenAI 这里说 Dolly two 还能做的事情就是根据文本去对已有的这个图片进行编辑和修改。它可以任意添加或者移除现在图片里的物体,而且甚至能够把这些阴影光的反射,还有这些物体的纹理全都考虑在内。这里作者又举了几个例子,比如说左边这张图片是一个室内的一个大厅,然后他现在文本就给这对应的这一二三个位置上去添加一只火烈鸟。那现在如果我们把这个火烈鸟添加的位置改成3,那我们可以看一下,诶,就在 3 的这个位置上就生成了两只火烈鸟。而且dollytwo 的这个生成它不是一对一映射关系的。因为它使用的是一种叫扩散模型的结构去做这种图像生成,所以它可以生成任意多的图像,但是大体内容都差不多。只不过具体的细节不太一样。那作者这里还给了很多别的例子,比如说它生成的里头也有一只火烈鸟,或者说还有脖子更长的火烈鸟。而且这里我们可以注意到这里的火烈鸟其实在水里还有倒影。那更神奇的是如果我们把现在火烈鸟添加的位置改成这个位置2。我们就会发现模型其实是在这个水面上放了一个火烈鸟形状的游泳圈。这生成结果其实也是很合理的。因为一般在室内的这种泳池或者水面上不太可能会出现真的火烈鸟。往往是这种火烈鸟形状的游泳圈。那现在如果我们再换一个场景,比如说换到这个室内大厅里面,文本描述是添加一个沙发。我们就会发现DALL·E 2可以生成各式各样的沙发,而且还可以变换颜色。而且还可以变换样式。然后如果我们换一个位置,加到这个 2 的位置,它又会生成新的沙发,但是就是在对应的这个位置之上,瞬间觉得其实以后的这个家装设计,家装装修也没有那么难了。给一个平面图想加什么加什么想在哪加。
然后Dolly。two 还能干很多事情。即使在没有文本输入的情况下, Dolly two 依旧可以做一些图像生成的工作。比如说这里你给定一张图片,它就可以根据已有的这张图片和它的风格去生成很多类似的这种风格的图片,而不改变已有的这个语义。那比如说这张世界名画经过DALL·E 2的变换之后,就变成了右边这个样子。而且就像我刚才说的一样, Dolly two 这个模型不是一个一对一的影射,它其实是可以生成很多种类似的图片的。比如这里人头的方向改变了,然后这这里头巾的样式改变了。当然人的长相一般也都有微妙的改变。如果这里我们再看另外一幅世界名画,这个星期日的下午。我们就可以看到DALL·E 2真的是真实的模仿了这种风格,然后又生成了很多很多种这样不同的图片。所以说在Dolly two 这个工作出来之后, OpenAI 的 CEO 本人都在。Twitter 上说。他觉得他之前对 a i 的理解可能有都有了错误。因为我们一直觉得 a i 是能够先处理这种就是重复性的工作,体力工作。而这种带有创造性的工作往往是 AI 无法取代的。但在现在看来,这种艺术的创作反而好像已经触手可及了。
2生成效果对比
那在作者卖完了这些最惊艳的结果之后。作者就把Dolly two 跟大力的这个生成效果对比了一下。那这里这个例子就是用同样的文本生成的两张图片,我们可以看到 Dolly two 可以生成之前四倍的这个分辨率,所以说看起来更清晰也更逼真了。那如果光拿一张图举例,大家可能不信。所以作者这里。又做了另外一个实验。就是他找了一些志愿者,然后让这些志愿者看1000张图片。那分别是Dolly生成的和 Dolly two 生成的。那最后统计的结果就是有70%。的人认为 Dolly two 生成的图片跟这个文本描述更贴切,然后有将近 90% 的人认为达利兔生成的图片要比达利生成的图片要更真实。
3安全性考虑
最后。又是老生常谈 OpenAI 经常搞这个大模型、大数据这个东西,然后到最后他就跟你来谈一谈这个安全考虑或者道德公平性伦理这种考虑。它这里就说我们暂时还不能开源,也不能 release 我们的模型,我们甚至连API都不开放。目前 OpenAI 就只是把它们的 API 开放给了一小部分用户,然后让他们去做这种内测或者做一些研究,看看DALL·E 2到底有什么缺陷,有什么限制。那其实作者这里说的这些安全考虑,主要就是说怕用户去生成这种带有暴力的或者成人的,或者带有政治色彩的这些图片。当然了,网上收集的这种图像文本对肯定会带有很多这种偏见和公平性的问题。那如果你现在觉得 Dolly two 很吸引你,然后想去玩一下的话,那你就可以加入 Dolly two 的这个waiting list。但是这个 waiting list 应该很长,我也早在一个半月之前就申请了,但是至今没什么消息。从 Twitter 和 Reddit 使用的情况来看, open i 主要是把优先权给了那些大v,说白了就是让他们去给DALL·E 2做这种免费的宣传。那对于大部分。没有排上 waiting list 的小伙伴来说如果你非常想尝试一下大力模型。那这里其实 GitHub 上有一个开源的大力库,叫做 Dolly Mini,目前我们可以看到它的 star 也已经有 9000 个了,虽然它的模型都是在比较小规模的数据集上去训练,而且模型本身也比较小,所以说最后的结果不是那么好。但是玩起来已经很有意思了。这里你。当然可以把他的代码下来,在你本地上去跑,或者你就像他这里说的一样,打开这个Colab,然后在Colab里去用。那再或者最简单的一个方式就是直接用APP。也就是它这里最上面说的这个 hugging face 的这个应用。那 hugging face 大家肯定都不。陌生了。算是现在最流行的 NLP 的开源库,而且已经渐渐有变成 CV 甚至多模态里它最流行的库的趋势。那 hugging face。这边它就提供一个东西叫space,就是一个空间。然后大家可以把它的模型代码上传到这个上面,就可以做成一个APP,然后大家就可以直接来玩儿。比如这里就是一个 Darling mini 的一个应用APP。大家就可以。随意把你的这个文本写在这个文本框里,然后点一下这个wrong,底下就会出来很多这个 Dolly mini生成的图片。这里因为太多人玩了,所以经常排不上队,我就提前体验了一下,我现在可以把我跑的例子跟大家分享一下。比如这里我的第一个例子就是有一只狗在月球上奔跑。我们可以看到这个模型小了确实还是不行,生成的这个画质还是渣了不少。但是它大概生成的这个意思还是在那下一个例子就是一只狗和一只猫在打架。那这些图片。里也基本都有一只狗和一只猫在对峙,但是这里话就比较抽象,没有那么的写实。比如说这里是个狗头旁边接了两个这种身子,一个白色一个黄色,你也不知道他接的是哪个。然后下面这张图看着猫好像是在打架的样子,可是这个猫脸也没有了,对整体上还是比较糙的。然后再来生成一张实物的照片,就是边吃拉面边吃Sushi。这里生成这些图片质量还不错,可能是因为这个例子比较简单,因为它就是两个物体,拉面和 Sushi 都是比较常见的物体,所以说生成的也就比较逼真。然后最后就是在亚马逊 AWS 种西红柿,但是模型应该还不理解什么是AWS,对,它就是把西红柿画出来了。这个在DALL·E 2本文里也有介绍,就是当这个文本太过复杂,场景太过复杂的时候,其实模型还是会选择一个最简单的场景,然后把它生成出来。
4跟进工作
那不论是。OpenAI 生成的这种精美的高清大图还是我用Dolly mini 生成的这种画质比较糙的小图片,总之 Dolly 系列的工作这种根据文本去生成图像的质量还是非常好的,而且可以说是出人意料的好。所以自从Dolly在 21 年 1 月份出来之后,后续就有一大堆工作进行跟进。
- 比如说在21 年 5 月份的时候,清华就推出了 cogview 这个模型,它还支持中文去生成图像。
- 然后到 11 月份的时候,微软和北大就推出了这个女娲模型不光能生成图像而且还能生成比较短的视频。然后到 12 月份。open i 自己又推出了 Glide 这个模型,也就是我们今天DALL·E 2主要基于的这个图像。生成的模型。我们一会也会提到。
- 然后同样在 12 月,百度也推出了 Ernie Vog 这个模型,它也支持中文,而且它这个模型也非常大,有 100 亿参数,基本跟最开始这个大力 120 亿参数就非常接近了。
- 然后转眼来到今年 4 月份的时候, open i 又推出。了DALL·E 2。
- 然后同样在4月,清华又再次推出了 cogview two,紧接着一个月之后,他又推出了 COG video,就专门针对生成视频做的。
- 最后就在上个月, Google 也不甘示弱推出了他们自己的Imagen。 Imagen 其实相对而言模型要简单很多,而且效果也跟大力不相上下,甚至很多人都觉得 Imagen 的效果更好。但是其实Imagen 和 Dolly two 所用的模型都差不多,它们的底层都是用了扩散模型去做这种图像的生成
所以说扩散模型真的是一个很火的方向,预感到未来几年基本上它就要取代干的这个位置,因为 Gan 其实已经没有什么可以做的了,已经被人做了五六年了,该挖掘的东西全都已经挖掘完了。扩散模型作为新起之秀,有太多太多可以提高的地方。现在扩散模型的状态基本就跟 1718 年时候那个 Gan 的状态差不多。所以应该至少还有两到三年的时间去充分发挥它的潜力。
5题目 Hierarchical Text-ConditionalImage Generation with CLIP Latents
那前面说了这么多,接下来我们言归正传,一起来精读一下DALL·E 2这篇论文。首先我们看一下题目。作者说使用 clip 训练好的这种特征来做这种层级式的,依托于文本的图像生成。
- 这里层级式的意思是因为 Dolly two 的这个模型是先生成一个小分辨类的图片,比如说 64 * 64,然后再利用一个模型上采样到256 *256。然后再使用一个模型上采样到 1024 * 1024,变成一个高清大图。所以是一个层级式的结构。
- 然后DALL·E 2本身完成的任务就是根据提供的这个文本,从而去生成这个新的图像。那至于使用CLIP 提供的这个特征,其实DALL·E 2这个模型是先训练好了一个 CLIP 模型,然后找到图片和文本对之间的这种相连关系之后,这个时候给定一个文本, CLIP的文本编码器就可以把这个文本变成一个文本特征,然后 Dolly two 就训练一个prior 模型。这个模型的输入是这个文本特征,然后它的输出是这个图像特征。然后再把这个图像特征给接下来的这个解码器,从而生成一个完整的图像。所以说整个大力图模型是离不开CLIP特征的。
作者团队都来自OpenAI,大家应该都很熟悉了。这里的一作, Adida 其实参与过clip 和Dolly的工作。mark 也是 Dolly 的原班作者,而且它主要是做 Codex 和 GPT 3 的。但是因为大力兔这篇论文,它这个图像解码部分主要用的是 diffusion model,就这个扩散模型,所以说又找了两个扩散模型的这个专家。他们做过iGPT,而且最近刚写过 improved DDPM 这篇论文,也就是 denosing diffusion model,所以把扩散模型玩儿的是很溜。所以一会儿我们也可以看到 Dolly two 这个模型,其实就是 CLIP 模型加上 Glide 模型,而 Glide 模型就是一个基于扩散模型的文本图像生成的方法。那从作者这里也可以看出来,就是 CLIP 的作者加上Glide 的作者。
6论文结构
那在精读论文之前,我们先来看一下文章的整体结构大力 two 这篇论文其实不长,跟 clip 的四五十页比起来,大力 two 其实只有 27 页。如果你把后面的这些可视化,还有这些参考文献都去掉的话,其实也就十几页,而且全文这些图确实都比较多。
- 然后论文上来先是说摘要,
- 然后是引言,然后在引言部分贴了 9 个高清大图,就展示了一下他们生成的这种 1024 * 1024 的这些大图到底画质有多么的好。
- 然后接下来就是达利兔论文的这个主体方法部分,其实只有短短的两页,然后在这里作者甚至都没有去讲clip,他认为你已经知道 clip 是什么了,主要就讲的是它后面图像生成这一部分。比如说这里它就先讲了一下 decoder 这个解码器。下面就讲了一下这个 prior 先验模型。
- 然后接下来作者就大概用了四五页的篇幅去介绍一下DALL·E 2到底能干什么?
- 然后又用了四五页的篇幅去跟别的方法做了一些对比,不光是数字上的对比,还有可视化上的这种对比。
- 然后最后写了一下相关工作,
- 最有意思的就是最后几页,他描述了一下 DALL·E 2 two 的这个现在的局限性和不足。其实当我们最后看到这些不足的时候,我们会发现其实DALL·E 2图还有很多需要提高的地方。它远远没有我们看到的那几张图片一样那么惊艳。
- 接下来是参考文献,
- 这里是一些具体的这个训练细节,
- 最后又展示了一下,根据同样一个文本,它能够生成不同的输出,而且每一张输出的图片都非常清晰和逼真。
7摘要
那接下来我们直接看摘要作者上来说之前的那些对比学习的方法,比如说我们 open i 自己的 CLIP 模型,这种模型已经可以学习到很稳健的一个图像特征。它既能够抓住这个语义信息,又能抓住这个图像的这个风格信息那既然这个特征这么好,这么稳健,那如果你只拿它去做这种分类任务就有点可惜。所以作者接下来说,为了能够借助于这些特征,然后能用来做这个图像生成。我们提出了一个两阶段的一个模型,这两个阶段分别叫 prior 和这个 decoder ,prior就是给定一个文本描述,它能够给我生成一个类似于 clip 的一个图像特征。然后解码器的意思就是说当你给定这个图像特征之后,我能根据这个特征生成一个图像。
所以这个过程。其实说直白点儿就是给定一个文本,然后我先用一个 clip 模型把它生成一个文本的特征。这一步是固定的,因为这里这个 clip 模型是锁死的。然后接下来就到文章说的这个两阶段的模型,它根据这个文本特征去生成一个图像特征,这一步就叫做prior。当然 clip 模型在这里也有用了,因为 clip 生成的那个对应的图像特征是用来在这里做 ground truth 用。
然后你一旦有了这个图像特征,我就需要有一个这个解码器去生成最后的这个图像,然后就完成了这个从文本到图像的生成过程。

本文介绍了OpenAI的DALL·E 2文本图像生成模型,它能根据文本生成原创图片、编辑已有图片,生成效果优于前代。还对比了生成效果,提及安全性考虑,介绍跟进工作,分析了模型不足,如物体与属性结合差、文字生成不佳、复杂场景细节缺失等,最后强调安全性研究的重要性。
最低0.47元/天 解锁文章
4646

被折叠的 条评论
为什么被折叠?



