DALL·E上映两天就被翻版?官方论文还没有发表,高手们正在转载。没想到OpenAI一公布DALLE,就已经有人复现了。虽然还是个半成品,但是大体框架已经搭好了,第三方作者PhilipWang正在建设中。DALL·E是两天前发布的文本到图像网络框架。目前只公布了项目结果,连官方论文都还没有发表。在论文发表之前,论文转载的依据开始被转载,转载来自一个名叫YannicKilcher的博主制作的YouTube视频。在视频中,他猜测了DALL·E的原理结构。他表示,这些猜测并不代表真实情况,或许DALL·E的论文出来后会颠覆他的预期。Yannic认为DALLE应该是VQ-VAE模型和类似GPT-3的语言模型的结合。GPT-3等语言模型具有非常强大的语言建模能力,能够很好地理解输入的文本描述。VAE模型是一个强大的图像生成Transformer。训练完成后,模型会去掉编码器(encoder),只留下生成图像的解码器。如果两者结合起来,就像下图中的小方块,各种输入对象可以根据理解的文字组合成一张具有实际意义的图片。比如输入一个人,太阳,一棵树,模型可以输出一个人在阳光下坐在树下的图像。如何实现?首先简单分析一下VQ-VAE的模型原理。和VAE类似,这也是一个Transformer结构模型。编码器对图像进行编码后,将编码后的数据送入隐藏空间,解码器从隐藏空间重构图像。与VAE相比,VQ-VAE隐变量的每一维都是一个离散整数,也就是说,它的隐空间实际上是一个码本(codebook),里面包含了提取出来的各种向量信息。在DALL·E中,这个密码本在本质上可以相当于一个词汇表。该词汇表专门用于存储图像的各种描述。对输入图像进行编码时,实际上是将图像分成不同的像素块。在此期间,会产生各种图像信息。假设天蓝色的格子中包含了“天空”的描述信息,那么在重构时,解码器会读取“天空”的信息,会在最上面分配一系列像素来生成天空。在完成VQ-VAE的训练后,模型得到了一个只有解码器才能理解的码本。届时,类似GPT-3的语言模型会对输入的文本进行解码,转换成只有codebooks才能理解的向量信息。密码本然后对这些信息进行排序,依次列出每个像素块应该生成什么数据,并告诉解码器。解码器结合这些像素数据得到最终图像。为了达到这样的目标,需要训练一个类似于GPT-3的语言模型,并提前预训练VQ-VAE模型。而且,还需要对两者融合后的模型进行训练。作者转载的DALL·E也是根据这个视频解析的原理转载的。关于项目本身,DALL·E复刻项目还没有完成,作者还在做(WIP),但是已经有700多颗Star。作者希望写一个PyTorch版的DALLE,目前的框架已经包含VAE训练、CLIP训练,以及VAE和CLIP融合后的模型预训练。此外,还包括DALL·E的训练以及将预训练的VAE模型集成到DALL·E模型中的部分。以上模块训练完成后,即可使用DALL·E进行文本生成和图像生成。目前,作者正在复现DALL·E模块的代码。作者承诺在完成DALL·E部分后,CLIP模型会一并加入。作者介绍PhilipWang,毕业于康奈尔大学,硕士、博士。来自密歇根大学医学院。研究方向为AI(深度学习方向)、医疗健康。目前,GitHub上有1700名关注者。对于DALLE本身,视频分析博主Yannic也表示,之所以能够取得如此好的效果,并不全是因为模型设计。DALLE,很可能像GPT-3,使用大样本数据集来训练模型。网友表示很难想象训练这玩意用了多少GPU,气候又变暖了。那么为了完整复现这个项目,最难的其实是硬件部分?(手动狗头)项目地址:https://github.com/lucidrains/DALLE-pytorchDALLE视频分析:https://www.youtube.com/watch?v=j4xgkjWlfL4
