微软在 GitHub 又一开源力作,代号「女娲」!

共 4896字,需浏览 10分钟

 ·

2021-12-01 06:17

↓↓↓点击关注,回复资料,10个G的惊喜

来自新智元
 
在几年前,要说 AI 能直接用一段文字描述生成清晰的图像,那可真是天方夜谭。
 
结果现在,Transformer 的出现彻底带火了「多模态」这一领域。


照着文字「脑补」图像居然都不稀奇了!

 
更夸张的是,竟然有 AI 已经可以用文字描述去生成一段视频了,看上去还挺像模像样的。
 

这个 AI 不仅看文字描述可以生成视频,给它几幅草图,一样能「脑补」出视频来!
 
 
这么秀的 AI 出自何方神圣啊?
 
答案是微软亚洲研究院 + 北京大学强强联合的研究团队!
 
最近,微软可谓是跟 OpenAI「干」上了。
 
前脚刚推出取得了 40 多个新 SOTA 的 Florence「佛罗伦萨」吊打 CLIP,横扫 40 多个 SOTA。
 
后脚就跟着放出 NÜWA「女娲」对标 DALL-E。
 
今年 1 月,OpenAI 官宣了 120 亿参数的 GPT-3 变体 DALL-E。
 
论文地址:https://arxiv.org/pdf/2102.12092.pdf
 
DALL-E 会同时接收文本和图像作为单一数据流,其中包含多达 1280 个 token,并使用最大似然估计来进行训练,以一个接一个地生成所有的 token。
 
这个训练过程让 DALL-E 不仅可以从头开始生成图像,而且还可以重新生成现有图像的任何矩形区域,与文本提示内容基本一致。
 
从文本「一个穿着芭蕾舞裙遛狗的萝卜宝宝」生成的图像示例
 
同时,DALL-E 也有能力对生成的图像中的物体进行操作和重新排列,从而创造出一些根本不存在的东西,比如一个「一个长颈鹿乌龟」:
 
 
这次,MSRA 和北大联合团队提出的统一多模态预训练模型 ——NÜWA(女娲),则可以为各种视觉合成任务生成新的或编辑现有的图像和视频数据。
 
论文地址:https://arxiv.org/pdf/2111.12417.pdf
GitHub 地址:https://github.com/microsoft/NUWA
 
为了在不同场景下同时覆盖语言、图像和视频,团队设计了一个三维变换器编码器 - 解码器框架,它不仅可以处理作为三维数据的视频,还可以适应分别作为一维和二维数据的文本和图像。
 
此外,论文还提出了一个 3D 邻近注意(3DNA)机制,以考虑视觉数据的性质并降低计算的复杂性。
 
在 8 个下游任务中,NÜWA 在文本到图像生成、文本到视频生成、视频预测等方面取得了新的 SOTA。其中,在文本到图像生成中的表现直接超越 DALL-E。
 
同时,NÜWA 在文本引导的图像和视频编辑任务中显示出优秀的 zero-shot 能力。
 
NÜWA 模型支持的 8 种典型视觉生成任务
 

8 大 SOTA 效果抢先看


文字转图像(Text-To-Image,T2I)

 
 

草图转图像(SKetch-to-Image,S2I)

 
 

图像补全(Image Completion,I2I)

 
 

用文字指示修改图像(Text-Guided Image Manipulation,TI2I)

 
 

文字转视频(Text-to-Video,T2V)

 
 

视频预测(Video Prediction,V2V)

 
 

草图转视频(Sketch-to-Video,S2V)

 
 

用文字指示修改视频(Text-Guided Video Manipulation,TV2V)

 
 

NÜWA 为啥这么牛?


NÜWA 模型的整体架构包含一个支持多种条件的 adaptive 编码器和一个预训练的解码器,能够同时使图像和视频的信息。
 
对于图像补全、视频预测、图像处理和视频处理任务,将输入的部分图像或视频直接送入解码器即可。
 
NÜWA 的结构概述
 
模型支持所有文本、图像、视频输入,并将他们统一视作 token 输入,所以可以定义一个统一的向量表示 X,维度包括高度 h、宽度 w,时间轴上的 token 数量 s,每个 token 的维度 d。
 
文本天然就是离散的,所以使用小写后的 byte pair encoding (BPE)来分词,最终的维度为 1×1×s×d 中。因为文本没有空间维度,所以高度和宽度都为 1。
 
图像输入是连续的像素。每个图像输入的高度为 h、宽度为 w 和通道数为 c。使用 VQ-VAE 训练一个编码把原始连续像素转换为离散的 token,训练后 B [z] 的维度为 h×w×1×d 作为图像的表示,其中 1 代表图像没有时序维度。
 
 
视频可以被视为图像的一种时序展开,最近一些研究如 VideoGPT 和 VideoGen 将 VQ-VAE 编码器中的卷积从 2D 扩展到 3D,并能够训练一种针对视频输入的特殊表征。 
 
但这种方法无法使图像和视频的表示统一起来。研究人员证明了仅使用 2D VQ-GAN 就能够编码视频中的每一帧,并且能生成时序一致的视频,结果表示维度为 h×w×s×d,其中 s 代表视频的帧数。
 
对于图像素描(image sketch)来说,可以将其视为具有特殊通道的图像。
 
H×W 的图像分割矩阵中每个值代表像素的类别,如果以 one-hot 编码后维度为 H×W×C,其中 c 是分割类别的数目。通过对图像素描进行额外的 VQ-GAN 训练,最终得到图像 embedding 表示维度为 h×w×1×d。同样地,对于视频草图的 embedding 维度为 h×w×s×d。
 
 
基于统一的 3D 表示,文中还提出一种新的注意力机制 3D Nearby Self-Attention (3DNA) ,能够同时支持 self-attention 和 cross-attention。
 
 
3DNA 考虑了完整的邻近信息,并为每个 token 动态生成三维邻近注意块。注意力矩阵还显示出 3DNA 的关注部分(蓝色)比三维块稀疏注意力和三维轴稀疏注意力更平滑。
 
不同的三维稀疏注意力机制的比较
 
基于 3DNA,文中还引入了 3D encoder-decoder,能够在条件矩阵 Y 为 h'×w'×s'×d^{in} 的情况下,生成 h×w×s×d^{out} 的目标矩阵 C,其中 Y 和 C 由三个不同的词典分别考虑高度,宽度和时序维度。
 
 
然后将条件 C 和一个堆叠的 3DNA 层输入到编码器中来建模自注意力的交互。
 
解码器也是由 3DNA 层堆叠得到,能够同时计算生成结果的 self-attention 和生成结果与条件之间的 cross-attention。
 
 
最终的训练包含了三个目标任务 Text-to-Image(T2I), Video Prediction (V2V) 和 Text-to-Video(T2V),所以目标函数包含三部分。
 
 
对于 T2I 和 T2V 任务,C^text 表示文本条件。对于 V2V 任务,由于没有文本输入,所以 c 为一个常量,单词 None 的 3D 表示,θ 表示模型参数。
 

实验结果


文本转图像(T2I)

 
作者使用 FID-k 和 Inception Score(IS)来分别评估质量和种类,并使用结合了 CLIP 模型来计算语义相似度的 CLIPSIM 指标。
 
公平起见,所有的模型都使用 256×256 的分辨率,每个文本会生成 60 张图像,并通过 CLIP 选择最好的一张。
 
可以看到,NÜWA 以 12.9 的 FID-0 和 0.3429 的 CLIPSIM 成绩,明显地优于 CogView。
 
在 MSCOCO(256×256)数据集上与 SOTA 的定量比较
 
尽管 XMC-GAN 的 FID 分数为 9.3,但与 XMC-GAN 的论文中完全相同的样本相比,NÜWA 生成的图像更加真实。特别是在右下角的那个例子中,男孩的脸更清晰,气球也是正确的。
 
在 MSCOCO(256×256)数据集上与 SOTA 的定性比较
 

文本转视频(T2V)

 
作者在 Kinetics 数据集上与现有的 SOTA 进行了比较,其中,在 FID-img 和 FID-vid 指标上评估视觉质量,在生成视频的标签准确性上评估语义一致性。
 
显然,NÜWA 在上述所有指标上都取得了 SOTA。
 
在 Kinetics 数据集上与 SOTA 的定量比较
 
此外,对于生成未见过的文本来说,NÜWA 在定性比较中显示出了强大的 zero-shot 能力,如「在游泳池打高尔夫球」以及「在海上跑步」。
 
在 Kinetics 数据集上与 SOTA 的定性比较
 

图像补全(I2I)

 
作者定性地比较了 NÜWA 的 zero-shot 图像补全能力。
 
在只有塔的上半部分的情况下,与 Taming Transformers 相比,NÜWA 在对塔的下半部分进行补全时,展现出更丰富的想象力,自主添加了建筑、湖泊、鲜花、草地、树木、山脉等等。
 
以 zero-shot 方式与现有 SOTA 进行定性比较
 

视频预测(V2V)

 
作者在 BAIR 数据集上进行了定量比较,其中,Cond. 表示预测未来帧的帧数。
 
为了进行公平的比较,所有的模型都使用 64×64 的分辨率。尽管只给了一帧作为条件(Cond.),NÜWA 仍将 FVD 的 SOTA 得分从 94±2 推至 86.9。
 
在 BAIR(64×64)数据集上与 SOTA 的定量比较
 

草图转图像(S2I)

 
通过定性比较在 MSCOCO 上的表现可以看到,与 Taming-Transformers 和 SPADE 相比,NÜWA 生成的图像种类更多,有的甚至连窗户上的反射也清晰可见。
 
在 MSCOCO 数据集上与 SOTA 的定性比较
 

用文本引导图像修改(TI2I)

 
作者以 zero-shot 的方式对 NÜWA 和现有 SOTA 进行了定性的比较。
 
与 Paint By Word 相比,NÜWA 表现出了很强的编辑能力,在不改变图像其他部分的情况下,产生了高质量的结果。这得益于通过对各种视觉任务进行多任务预训练而学到的真实世界的视觉模式。
 
比如在第三个例子中,由 NÜWA 生成的蓝色卡车更加逼真,而且后方的建筑物也没有产生奇怪的变化。
 
另一个优点是 NÜWA 的推理速度,只需要 50 秒就能生成一幅图像,而 Paint By Words 在推理过程中需要额外的训练,并需要大约 300 秒才能收敛。
 
以 zero-shot 方式与现有 SOTA 进行定性比较

结论


文章提出了一种统一的预训练模型 NÜWA,这个女娲不光能补天,也能造图,可以为 8 个视觉合成任务生成新的或操作现有的图像和视频。
 
还提出了一个通用的 3D encoder-decoder 框架,能够同时覆盖文本、图像和视频。能同时考虑空间和时序维度的 3D nearby-sparse attention 机制。
 
这也是迈向人工智能平台的重要一步,能够让计算机拥有视觉,并辅助内容创作者生成一些人类想象力以外的事。


参考资料:

https://arxiv.org/abs/2111.12417

https://github.com/microsoft/NUWA

推荐阅读

  1. 用Python学线性代数:自动拟合数据分布
  2. Python 用一行代码搞事情,机器学习通吃
  3. Github 上最大的开源算法库,还能学机器学习!
  4. JupyterLab 这插件太强了,Excel灵魂附体
  5. 终于把 jupyter notebook 玩明白了
  6. 一个超好用的 Python 标准库,666 
  7. 几百本编程中文书籍(含Python)持续更新
  8. 100天搞定机器学习|Day63 彻底掌握 LightGBM
  9. 100天搞定机器学习 番外:使用FastAPI构建机器学习API


你也「在看」吗?👇

浏览 117
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报