武广作者

你说我导!微软玩转标题描述生成视频

本期推荐的论文笔记来自 PaperWeekly 社区用户 @TwistedW本文来自微软亚洲研究院根据描述生成视频是此篇文章实现的目的。通过 LSTM 对描述标题提取特征,再结合噪声经过 3D 反卷积生成视频,利用 GAN 的思想优化生成质量,判别的时候根据视频和描述的匹配关系来判断真假,通过视频、视频帧、帧之间的判别实现了描述到视频的生成。

关于作者:武广,合肥工业大学硕士生,研究方向为图像生成。

■ 论文 | To Create What You Tell: Generating Videos from Captions

■ 链接 | https://www.paperweekly.site/papers/2315

■ 作者 | Yingwei Pan / Zhaofan Qiu / Ting Yao / Houqiang Li / Tao Mei

视频生成在计算机视觉上已经是很困难的工作了,按照描述去生成视频是更具有挑战性的工作。To Create What You Tell: Generating Videos from Captions 简称为 TGANs-C,在实验上实现了由描述的标题生成相对应的视频,这个工作很有意义,整体思想上采取 GAN 为主题框架实现,我们一起来读一下。

论文引入

视频生成的困难在于视频是视觉上连贯和语义相关的帧的序列,也就是在时序序列上做生成,一涉及到时序就存在大量的不确定性,这也是语音和视频生成上的难点所在。

视频通常伴随有文本描述,例如标签或字幕,因此学习视频生成模型对文本进行调节从而减少了采样不确定性,这个是具有很大的潜在实际应用。GAN 在实现时序上的生成我们之前有写到 Temporal GAN 论文解读 [1]、VGAN 论文解读 [2],整体的思想都是采用 3D 卷积处理视频序列从而实现视频的生成。 

TGANs-C 和 TGAN 的区别在与 TGANs-C 实现了由描述性文字到视频的生成,这篇论文在基础上借鉴了文本到图片生成的 GAN-CLS 即采用配对的思想,这个我们后续再谈,如果你对 GAN-CLS [3] 印象很深的话这篇文章读起来会很轻松。 

通常,在采用标题调节的视频生成中存在两个关键问题:跨视频帧的时间一致性以及标题描述与生成的视频之间的语义匹配。前者产生了对生成模型学习的见解,相邻视频帧通常在视觉上和语义上是连贯的,因此应该随着时间的推移而平滑地连接,这可以被视为产生视频的内在和通用属性。后者追求的模型能够创建与给定标题描述相关的真实视频。

因此,一方面考虑条件处理以创建类似于训练数据的视频,另一方面考虑通过整体利用字幕语义和视频内容之间的关系来规范生成能力,这正是 TGANs-C 所考虑的。 

总结一下 TGANs-C 的优势: 

  • 这是第一个在标题描述下生成视频的工作之一 

  • 实现了视频/帧内容与给定标题对齐 

  • 通过一系列广泛的定量和定性实验,验证了 TGANs-C 模型的有效性

TGANs-C模型结构

我们还是先来看一下模型的网络结构:

整体上模型分为左右两块,左边是生成器,右边就是判别器,所以说 TGANs-C 是以 GAN 为主体框架的模型,我们分开来分析。

生成网络

生成网络下由两块组成,下面是标题描述的文本编码,上面就是在噪声和文本编码特征作为输入的生成器。对于文本编码,文章采用的是双向 LSTM 做的编码。文字描述的时序和语义结构是紧密相关的,所以需要保留时序信息,所以 RNN 的思想是处理的关键。对于文本编码过程中采用逐个单词双向处理,双向 LSTM 可以保证文本上更加紧密的时序和语义结构,最终编码到特征维度为文中取的是 256 维。

将文本编码得到的特征向量 S 和先验噪声 z 做 concat送入 3D 反卷积网络做视频的生成,整个过成处理上为,这里的的代表的是通道数、帧、高、宽,这里的高和宽对应的是视频一帧图像的长宽,帧代表反卷积下包括多少视频帧,比如最后的输出文中取的是 16 帧作为视频的输出。

可以看到,经过 3D 反卷积后,由噪声和文本编码最后生成了彩色的 16 帧大小为 48×48 的视频输出。整个生成器我们可以将标题描述特征作为条件,整个生成器是类似于条件生成器,由标题描述特征作为条件生成对应的视频。

判别网络

TGANs-C 有着强大的判别网络,文章为了实现判别效果设计了 3 个判别器,图中对应的是右半边上、中、下。

上面一路的判别器命名为,它的目的是为了区别生成的视频和真实的视频的真假,为了保证与标题描述对应,在最后嵌入了标题特征做匹配。这个思想在 GAN-CLS 最早被应用,为了实现和描述文本的匹配,在判别器的设计上增强了判别器的能力。

判别器不仅判断视频的真假还判断视频是否和标题描述对应,配对就这样产生了,由 3 组配对关系:真实视频和正确标题描述、生成视频和真实标题描述还有就是真实视频和错误标题描述。判别器只有在真实视频和正确标题对应上才判断为真,否则为假,即真,为假。与之对应的损失函数为:

中间一路的判别器命名为 D1,它的目的是为了区分对应的视频帧的真假,同样的加入了与标题描述的匹配,用描述视频的第 i 帧对应的图像,对于整个视频一共有帧,这个判别器对应的损失为:

下面一路的判别器命名为 D2,它的目的是为了在时序上调整前后帧的关系,一般视频中前后帧之间不会有太大的变动,由此思想文章设计了时序关联损失。它的作用是保证视频的前后帧之间不会有太大的差异,用 D 表示:

由于决定生成的视频帧的帧之间的关系的是生成器,对于真实视频没必要再做差异优化,所以这部分主要作用的是生成器,这一块的损失可以写为:

为什么这里的上标为 1 呢,因为对应的还有 2,这一部分是考虑到生成视频帧之间的关联差异,从动态差异上实现对抗又会怎么样呢?这就是另一种实现时序关联的方法。 这一部分用 Φ2 判断真假,此损失表示为:

文中对时序关联上采取的方法 (1) 时间相干约束损失命名为 TGANs-C-C,对于方法 (2) 时间相干性对抗性损失命名为 TGANs-C-A。从后续的实验上验证出 TGANs-C-A 的方法效果更好,所以文章的名字 TGANs-C 其实指的是 TGANs-C-A。 

整合一下,对于方法 (1) TGANs-C-C 对应的判别器和生成器最终损失为:

对于方法 (2) TGANs-C-A 对应的判别器和生成器最终损失为:

最后贴上实现整个 TGANs-C 的伪代码

TGANs-C实验

实验的数据集选择了单数字边界 MNIST GIF(SBMG),两位数的弹跳 MNIST GIF(TBMG)和微软研究视频描述语料库(MSVD)。

SBMG 是通过在 64×64 帧内弹出单个手写数字而产生的。它由 12,000 个 GIF 组成,每个 GIF 长 16 帧,包含一个 28×28 左右移动的数字左右或上下。数字的起始位置是随机均匀选择的。每个 GIF 都附有描述数字及其移动方向的单句。

TBMG 是 SBMG 的扩展合成数据集,包含两个手写数字弹跳,生成过程与 SBMG 相同,每个 GIF 中的两个数字分别左右或上下移动。MSVD 包含从 YouTube 收集的 1,970 个视频片段。每个视频大约有 40 个可用的英文描述。在实验中,手动过滤掉有关烹饪的视频,并生成 518 个烹饪视频的子集。数据集的部分描述如下图:

TGANs−C1 为仅考虑视频对抗,TGANs−C2 为考虑了未考虑,TGANs-C-C 和 TGANs-C-A 都已经知道了构成,这几个对比结果为:

定性分析不同模型产生的结果如下图,主要对比了 VGAN、Sync-DRAW(基于 VAE 实现的)、GAN-CLS 和 TGANs-C。

定量上以不同人的选择,给分越低效果越好,TGANs-C 也展示了很好的效果:

总结

TGANs-C 实现了标题描述到视频的生成,正如文章的题目说的那样 To Create What You Tell!虽然这个题目有点大,但是确实在理论上是可以行得通的。匹配的思想对于严格的固定生成来说是很重要的一个技术环节,可以借鉴在很多地方,正是这种严格的配对关系往往限制了一些发展,因为这种算是全监督式学习了。无监督下条件生成是最为困难的,这个也是未来大家一起努力的地方。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论GAN
3
相关数据
微软亚洲研究院机构

微软亚洲研究院于1998年在北京成立,是微软公司在亚太地区设立的基础及应用研究机构,也是微软在美国本土以外规模最大的一个研究院。微软亚洲研究院从事自然用户界面、智能多媒体、大数据与知识挖掘、人工智能、云和边缘计算、计算机科学基础等领域的研究,致力于推动计算机科学前沿发展,着眼下一代革命性技术的创新,助力微软实现长远发展战略。通过与微软产品部门紧密合作,微软亚洲研究院将众多创新技术转移到了微软的核心产品中,如Office、Windows、Azure、Bing、Visual Studio、Xbox Kinect以及小冰、Cortana和Microsoft Translator等人工智能产品。

https://www.msra.cn/
损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

伪代码技术

伪代码,又称为虚拟代码,是高层次描述算法的一种方法。它不是一种现实存在的编程语言;它可能综合使用多种编程语言的语法、保留字,甚至会用到自然语言。 它以编程语言的书写形式指明算法的职能。相比于程序语言它更类似自然语言。它是半形式化、不标准的语言。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

长短期记忆网络技术

长短期记忆(Long Short-Term Memory) 是具有长期记忆能力的一种时间递归神经网络(Recurrent Neural Network)。 其网络结构含有一个或多个具有可遗忘和记忆功能的单元组成。它在1997年被提出用于解决传统RNN(Recurrent Neural Network) 的随时间反向传播中权重消失的问题(vanishing gradient problem over backpropagation-through-time),重要组成部分包括Forget Gate, Input Gate, 和 Output Gate, 分别负责决定当前输入是否被采纳,是否被长期记忆以及决定在记忆中的输入是否在当前被输出。Gated Recurrent Unit 是 LSTM 众多版本中典型的一个。因为它具有记忆性的功能,LSTM经常被用在具有时间序列特性的数据和场景中。

推荐文章
暂无评论
暂无评论~