DALL·E发布两天就被复现?官方论文没出,大神们就在复现了
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
没想到,OpenAI刚公布DALL·E,就已经有人在复现了。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s2.51cto.com/oss/202101/08/dc82843e7429146cfb5a523bc1a6b5fd.jpg)
虽然还是个半成品,不过大体框架已经搭建好了,一位第三方作者Philip Wang正在施工中。
DALL·E是前两天刚公布的文字转图像网络框架,目前只公布了项目结果,甚至连官方论文都还没出。
论文还没出,就开始复现了
论文复现的依据,来自一位叫做Yannic Kilcher的博主制作的油管视频。
他在视频中,对DALL·E的原理结构进行了猜测。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s5.51cto.com/oss/202101/08/5fe84f14c073fa248fc6b76e48627572.jpg)
他表示,这些猜测并不代表真实情况,也许DALL·E的论文出来后,会颠覆他的预想。
Yannic认为,DALL·E应该是VQ-VAE模型、和类似于GPT-3的语言模型的结合。
GPT-3这类语言模型,有着非常强大的语言建模能力,可以对输入的文字描述进行很好的拆分理解。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s3.51cto.com/oss/202101/08/4f470fa1b624e1ce52e6dbe3a37f41cf.jpg)
而VAE模型,则是一种强大的图像生成Transformer,在训练完成后,模型会去掉编码器(encoder)的部分,只留下解码器,用于生成图像。
将二者结合的话,就能像下图中的那个小方块一样,将输入的各种物体,根据理解的文字,结合成具有实际意义的一幅画面。
例如,输入人、太阳和树,模型就能输出“太阳下,树底坐着一个人”所描绘的图像。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s4.51cto.com/oss/202101/08/a901cefb4ad19304f99136dacd59aebc.jpg)
要怎么实现?
先简单分析一下VQ-VAE的模型原理。
与VAE相似,这也是一个Transformer结构的模型,编码器对图像进行编码后,将编码数据送入隐空间,解码器再从隐空间中,对图像进行重构。
相比于VAE,VQ-VAE隐变量的每一维都是离散整数,也就是说,它的隐空间其实是一个编码簿(codebook),包含提取出的各种向量信息。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s2.51cto.com/oss/202101/08/4b158344e5bc52fb3519db60f68429f5.jpg)
在DALL·E里,这个编码簿,本质上可以等价为一个词汇表(vocabulary)。
这个词汇表,专门用来存储对图像的各种描述。
对输入图像进行编码时,本质上是将图像分成各种像素块。
期间,会产生各种各样的图像信息。
假设天蓝色的格子,包含“天空”的描述信息,那么在重建时,解码器读取到“天空”信息,就会分配顶端的一系列像素,用来生成天空。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s5.51cto.com/oss/202101/08/4ce357aae8c9f278c41190e78dbf394a.jpg)
在完成VQ-VAE的训练后,模型就得到了一个只有解码器看得懂的编码簿。
届时,将由类似于GPT-3的语言模型,对输入的文字进行解码,转换成只有编码簿才能看懂的向量信息。
然后,编码簿会将这些信息进行排序,依次列出每个像素块应该生成的数据,并告诉解码器。
解码器会合成这些像素数据,得到最终的图像。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s4.51cto.com/oss/202101/08/97041cd895c620a618b3e5d92bf4db06.jpg)
为了实现这样的目标,既要对类似于GPT-3的语言模型进行训练,也要提前对VQ-VAE模型进行预训练。
而且,还需要对二者融合后的模型进行训练。
这位作者复现的DALL·E,也是依据这个视频解析的原理复现的。
有关项目本身
目前,DALL·E的复现项目还没有完成,作者仍然在加工中(WIP),不过已经有700多个Star。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s2.51cto.com/oss/202101/08/cba5e540885b1c8604ef72fcb114019b.jpg)
作者希望写出一个PyTorch版本的DALL·E,现在的框架中,已经包含了VAE的训练、CLIP的训练,以及VAE和CLIP融合后的模型预训练。
此外,还包括DALL·E的训练、和将预训练VAE模型融合进DALL·E模型中的部分。
上述模块训练完成后,就能用DALL·E来做文字生成图像了。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s4.51cto.com/oss/202101/08/4127dfebc151f7b85686aacad6809e13.jpg)
目前,作者正在进行DALL·E模块部分的代码复现。
作者承诺,完成DALL·E的部分后,会把CLIP模型也一起补上。
作者介绍
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s2.51cto.com/oss/202101/08/4c52cf1a439d5daebd30441cb576d634.jpg)
Philip Wang,本硕毕业于康奈尔大学,博士毕业于密歇根大学医学院。
他的研究兴趣是AI(深度学习方向),以及医疗健康,目前GitHub上已有1.7k个followers。
关于DALL·E本身,视频解析博主Yannic也表示,之所以能取得这么好的效果,并不全是因为模型设计。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s2.51cto.com/oss/202101/08/f26e615801d8ad7ed8d5206ec827a56d.jpg)
DALL·E,极可能也像GPT-3一样,用了样本量庞大的数据集,来对模型进行训练。
网友表示,难以想象训练这个玩意所用的GPU数量,气候又要变暖了。
![DALL·E发布两天就被复现?官方论文没出,大神们就在复现了](https://s4.51cto.com/oss/202101/08/2fce9d0c5b9fa5f3eef77713a371ff92.jpg)
所以要想完全复现这个项目,最难的其实是硬件部分?(手动狗头)
项目地址:
https://github.com/lucidrains/DALLE-pytorch
DALL·E视频解析:
https://www.youtube.com/watch?v=j4xgkjWlfL4
相关文章
- EasyCVR对接华为iVS订阅摄像机和用户变更请求接口介绍
- 精选 | 腾讯云CDN内容加速场景有哪些?
- 模块化网络防止基于模型的多任务强化学习中的灾难性干扰
- 用搜索和注意力学习稳健的调度方法
- 用于多变量时间序列异常检测的学习图神经网络
- 助力政企自动化自然生长,华为WeAutomate RPA是怎么做到的?
- 使用腾讯轻量云搭建Fiora聊天室
- TSRC安全测试规范
- 云计算“功守道”
- 助力成本优化,腾讯全场景在离线混部系统Caelus正式开源
- Flink 利器:开源平台 StreamX 简介
- 腾讯云实践 | 一图揭秘腾讯碳中和?解决方案
- 深度学习中的轻量级网络架构总结与代码实现
- 信息系统项目管理师(高项复习笔记三)
- Adobe国际认证让科技赋能时尚
- c++该怎么学习(面试吃土记)
- 面试官问发布订阅模式是在问什么?
- 面试官:请实现一个通用函数把 callback 转成 promise
- 空中悬停、翻滚转身、成功着陆,我用强化学习「回收」了SpaceX的火箭
- 中山大学林倞解读视觉语义理解新趋势:从表达学习到知识及因果融合