DVD-GAN,用 GAN 来生成 DVD 放映?
生成对抗网络已经能生成极其逼真的图像,甚至人类并都分不太出生成图的真假。像 StyleGAN 生成的人像,即使这些「人」并不存在,但生成结果已经逼真到让我们相信 Ta 曾来过地球。那么视频生成是不是也能这么逼真?让我们相信 Ta 不仅来过,还曾有一段生动的记忆。
近日,来自 DeepMind 的研究者则尝试在视频建模领域实现逼真的效果,他们认为除了图像生成,GAN 在视频生成上也是没啥问题的。类似 BigGAN 的思路,研究者在复杂的 Kinetics-600 数据集上训练一种大型生成对抗网络(GAN),并期待该网络生成的视频样本复杂度大大高于之前的研究。
论文:Efficient Video Generation on Complex Datasets
论文地址:https://arxiv.org/pdf/1907.06571.pdf
DeepMind 提出的模型叫作 Dual Video Discriminator GAN (DVD-GAN),可以利用计算高效的判别器分解,扩展到时间更长、分辨率更高的视频。该研究是迈向逼真视频生成的一次探索,连 Ian Goodfellow 也转推了这篇论文。
DVD-GAN 效果怎么样
那么靠 GAN 生成的视频是怎样的,到底是高清画面的堆砌还是说也会包含一些连贯语义。在下面三个动图中,研究者展示了 DVD-GAN 生成不同分辨率视频的效果,它们都是在 Kinetics-600 训练后得到的结果。
DVD-GAN 在 12 帧 256 × 256 Kinetics-600 样本上训练得到的视频帧。
Emmm… 颇为诡异。
DVD-GAN 在 48 帧 128 × 128 Kinetics-600 样本上训练得到的视频帧。
看得出有些视频里发生了些什么,但想要真正理解却又有些困难。
DVD-GAN 在 12 帧 128 × 128 Kinetics-600 样本上训练得到的视频帧。
从整体上来说,DVD-GAN 能够生成一段连续的视频。但是还有很多问题:
视频中的物体和人不符合几何关系(近大远小等),忽大忽小、物体形变的情况非常多。
有些视频不符合常理,如一个人突然变成别的东西、有些物体突然消失,或者有些物体直接穿过其他物体(很像《哈利波特》里的魔法)。
很少有镜头拉近画面或者远离画面的视频,大多数情况下镜头固定,偶尔在画面左右摇晃。
视频生成效果较好的集中于草地、广场、比赛场地等运动行为非常明确的场景,而在室内或人物运动幅度较小的时候生成的效果较差(是数据集的问题?)。
不过,这已经是 GAN 目前能够做到的最好水平了。
视频生成要高清
目前 BigGAN 或 StyleGAN 等深度生成模型已经能生成极其逼真的图像,而且这种图像还是高分辨率的,种类也非常丰富。然而生成自然连贯的视频仍然是极具挑战的领域,它要求更复杂的数据与更多的计算力。因为这样的原因,视频生成领域的前沿工作都围绕着相对简单的数据集展开,或者采用非常有限的时间信息来降低任务的复杂度。
在这项研究中,Deepmind 的研究者关注更精细的视频合成和视频预测任务,他们希望将图像生成领域的高逼真结果迁移到视频领域中。具体而言,研究者提出的 DVD-GAN 建立在当前最优的 BigGAN 架构之上,并引入了一系列用于视频生成的修正,包括更高效的可分离注意力和判别器的时空分解。
这些修正令研究者在 Kinetics-600 上训练的模型取得了很好的效果,其中 Kinetics-600 是自然视频的复杂数据集,它要比当前常用的视频数据集大了一个数量级。最终,研究者的 Dual Video Discriminator GAN (DVD-GAN) 能生成时间上连贯、高分辨率、高保真度的视频。
前面已经欣赏过简要的生成样本,下图 1 展示了生成视频的一些样本帧,它们在连续性和语义性上都有很好的体现。
图 1:在 Kinetics-600 数据集上训练 DVD-GAN 所生成的一些样本帧,从上到下生成的视频分辨率分别为 256、128 和 64。
DeepMind 研究人员在相关的视频合成和预测任务上对该模型进行了评估,结果表明它在 Kinetics-600 数据集视频预测任务中获得了当前最优的 FID 得分,在 UCF-101 数据集视频合成任务中获得了当前最优的 Inception Score,同时它在 Kinetics-600 视频合成任务中构建了强大的基线模型。
无自回归的 GAN 结构
DVD-GAN 能够生成高分辨率和具备时间一致性的视频。它将大型图像生成模型 BigGAN 扩展到视频领域,同时使用多项技术加速训练。
与之前的研究不同,该模型的生成器不包含前景、背景或光流的显式先验信息,而是依赖于大容量的神经网络,以数据驱动的方式学习这些信息。DVD-GAN 包含自注意力和 RNN,但是它在时间或空间中并不具备自回归属性。RNN 按顺序为每个视频帧生成特征,然后 ResNet 并行地输出所有帧,联合生成每一帧中的所有像素。也就是说,每一帧中的像素并不直接依赖于视频中的其他像素,这与自回归模型并不相同。
DVD-GAN 模型架构如下图所示:
图 3:DVD-GAN 模型架构图示。左图为生成器,右图为判别器(D_S/D_T)。
双判别器
DVD-GAN 使用两个判别器:空间判别器(Spatial Discriminator:D_S)和时间判别器(Temporal Discriminator:D_T)。
D_S 对视频随机采样 k 个全分辨率帧,并对单个帧的内容和结构进行评价。研究人员使用了 k=8 的参数。和 TGANv2 一样,D_S 的最终分数是每个帧的分数之和。
D_T 则向模型提供生成动作的学习信号(动作是 D_S 无法评价的)。研究人员对整个视频使用了一种空间降采样函数 φ(·),并将函数的输出作为 D_T 的输入。这个降采样函数是一个 2 × 2 平均池化函数。
可分离自注意力
研究人员使用了一种名为可分离自注意力(Separable Attention)的机制。研究人员没有选择同时注意所有位置上的特征,而是将三个注意力层排为一行,一个接一个分别对视频的高、宽和时间轴进行注意力计算。这可以被视为是因式注意力(Factorized Attention)的一种特殊情况。
实验结果
DVD-GAN 建立在 BigGAN 架构之上。每个 DVD-GAN 都使用 TPU v3 进行训练,从 32 个 cores 到 512 个 cores 不等。研究者使用 Adam 优化器,最多训练 300000 步。研究人员使用了 TF-Replicator 进行数据并行训练。耗费的时间在 12 小时到 96 小时不等。
DVD-GAN 主要在Kinetics-600 数据集上进行实验,其中 Kinetics 是一个由10秒 YouTube 高清视频片段组成的大型数据集。研究人员使用了它的第二个迭代版本——Kinetics-600。该数据集包含 600 个类别,每一类至少有 600 个视频。数据集总共有大约 50 万个视频。
在视频合成任务中的性能
表 1:DVD-GAN 在 Kinetics-600 视频合成任务中的 FID/IS 得分。
表 2:模型在 UCF-101 数据集上的 IS 得分(分值越高越好)。
在视频预测任务上的性能
表 3:DVD-GAN-FP 在 Kinetics-600 数据集样本(16 帧视频)上的视频预测得分(训练数据不存在跳帧)。