TGANv2、VideoGPT、DVG…你都掌握了吗?一文总结视频生成必备经典模型(二)

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: TGANv2、VideoGPT、DVG…你都掌握了吗?一文总结视频生成必备经典模型(二)

TGANv2、VideoGPT、DVG…你都掌握了吗?一文总结视频生成必备经典模型(二)

机器之心 2022-11-13 12:33 发表于北京

以下文章来源于机器之心SOTA模型,作者机器之心SOTA模型

机器之心专栏

本专栏由机器之心SOTA!模型资源站出品,每周日于机器之心公众号持续更新。

 

本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。


本文将分 2 期进行连载,共介绍 15 视频生成任务上曾取得 SOTA 的经典模型。


  • 第 1 期:TGAN、VGAN、MoCoGAN、SVG、vid2vid、VideoVAE、DVD-GAN、SWGAN
  • 第 2 期:TGANv2、TGANv2-ODE、VideoGPT、DVG、NÜWA、StyleGAN-V、Video Diffusion Models


您正在阅读的是其中的第 1 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。

第1期回顾:CopyNet、SeqGAN、BERTSUM…你都掌握了吗?一文总结文本摘要必备经典模型(一)


本期收录模型速览


模型 SOTA!模型资源站收录情况 模型来源论文
TGANv2 https://sota.jiqizhixin.com/project/tganv2-2021
收录实现数量:2
支持框架:PyTorch
Train Sparsely, Generate Densely: Memory-efficient Unsupervised Training of High-resolution Temporal GAN
TGANv2-ODE https://sota.jiqizhixin.com/project/tganv2-ode
收录实现数量:1
支持框架:PyTorch
Latent Neural Differential Equations for Video Generation
VideoGPT https://sota.jiqizhixin.com/project/videogpt
收录实现数量:1
支持框架:PyTorch
VideoGPT: Video Generation using VQ-VAE and Transformers
DVG https://sota.jiqizhixin.com/project/dvg
收录实现数量:1
支持框架:PyTorch
Diverse Video Generation using a Gaussian Process Trigger
NÜWA https://sota.jiqizhixin.com/project/nuwa
收录实现数量:1
支持框架:PyTorch
NÜWA: Visual Synthesis Pre-training for Neural visUal World creAtion
StyleGAN-V https://sota.jiqizhixin.com/project/stylegan-v
收录实现数量:1
支持框架:PyTorch
StyleGAN-V: A Continuous Video Generator with the Price, Image Quality and Perks of StyleGAN2
Video Diffusion Models https://sota.jiqizhixin.com/project/video-diffusion-models
收录实现数量:2
支持框架:PyTorch
Video Diffusion Models


什么是生成?就是模型通过学习一些数据生成类似的数据。让机器看一些动物图片,然后自己来产生动物的图片,这就是图像生成的,即最终生成的目标物是图像。视频生成与基于数据生成数据(图像)的任务不同,重点聚焦于了解物体运动和场景动态。因此,视频生成(video generation)任务也被定位于future prediction任务。不过,创建一个动态模型是非常具有挑战性的,因为物体和场景有大量的变化方式。
深度生成模型最近受到了越来越多的关注,这不仅是因为它们提供了一种以无监督方式学习深度特征表征的方法,可以潜在地利用所有未标记的数据进行训练,还因为它们可以用来生成各种视觉应用所需的新型图像。然而,从生成图像到生成视频的扩展被证明是一项极具挑战性的任务,尽管生成的数据只是多了一个维度—时间维度。

首先,由于视频是对物体进行各种动作的视觉信息的时空记录,生成模型除了学习物体的外观模型外,还需要学习物体的合理物理运动模型。如果学习到的物体运动模型不正确,生成的视频可能包含物体进行物理上不可能的运动。
第二,时间维度带来了大量的变化。考虑到一个人在做下蹲动作时可以有多种速度变化,每种速度模式都会产生不同的视频,尽管视频中人的外表是一样的。
第三,由于人类已经进化的对运动非常敏感,运动伪影特别容易察觉。

与在图像生成任务中的应用类似,GAN仍然是视频生成中最有效的模型。本文介绍视频生成必备的TOP模型,主要按照各个模型提出的时间顺序来介绍,以近两年的SOTA模型为主。


TGANv2


在视频数据集上训练生成对抗网络(GAN)面临的一个挑战就是:视频数据集的规模太大,而且每个观测值都很复杂。一般来说,训练GAN的计算成本随着分辨率的提高而呈指数级增长。在这项研究中,提出了一种新型的高分辨率视频数据集无监督学习的内存效率方法,其计算成本仅与分辨率呈线性比例变化:具体的,通过将生成器模型设计成小型子生成器的堆叠,如图1所示,并以特定的方式训练模型来实现这一目标。训练时,在每一对连续的子生成器之间引入一个辅助子采样层,将帧率按一定比例降低。这个处理过程可以让每个子生成器学习不同分辨率下的视频分布情况,由此只需要几个GPU来训练一个高度复杂的生成器,该生成器在起始得分方面远远超过了前者。


图1. 使用多个子采样层的生成器


经典temporal GAN(即TGAN和MoCoGAN)使用一个由两个子网络组成的生成器:时态生成器g0和图像生成器g1。对于T-帧视频的生成,时态生成器生成一个大小为T的潜在向量集(或潜在空间中的T-帧视频){z1, . . zT },图像生成器将潜在向量视频和噪声向量转换为图像视频,如图2所示。


图2. 经典temporal GAN中使用的时态生成器和图像生成器之间的关系概述。为了生成一组T个潜在向量,时间生成器通常是一个递归网络


首先描述单次采样层的GAN的训练。假设一个生成器从噪声向量z输出视频x,由两个块组成:抽象块g^A和渲染块g^R。在推理过程中,该生成器的样本生成过程等同于传统GAN中的生成器,即,G(z)可以表示为


在训练阶段,将G修改为G’,在g^R和g^A之间引入一个子采样层S^G,以降低从g^A产生的abstract map的帧率。训练阶段的目标函数变为



给定L个子生成器,或L个抽象块组成的模型。在训练的时候,这个架构是用L个相应的渲染块和L-1个子采样层来训练的。推理阶段,可以简单地通过连续应用抽象块来评估x:



在训练时,使用L组子生成器,每个子生成器都递归地将(g_m)^A和(S_m)^G(m = 1, ... , l - 1)应用于abstract map,并通过(g_l)^R将最终抽象块(g_l)^A的输出转换为视频。



为了训练上述由多个子生成器组成的生成器,需要一个鉴别器为它们生成的视频集评估一个分数。鉴别器由多个子鉴别器组成。D’_l表征第l个子鉴别器,从第l个子生成器G’_l中获取样本x’_l并返回一个标量值。鉴别器D’利用以下公式对一组x’_l进行评分



该方法的本质是 the division of roles:不是给单一的大规模模型提供密集的原始数据集,而是用数据集的选定部分来训练每个子生成器,以帮助子生成器提高模拟给定role的能力。具有low indices的子生成器的作用是在抽象层面上模仿原始视频数据集;也就是说,生成一个随时间自然流动的低分辨率视频。具有low indices的鉴别器负责评估低分辨率的高帧率视频的质量。这使得low indices的生成器能够捕捉视频中独立于高分辨率细节的整体运动。另一方面,具有high indices的子生成器的作用是模仿原始视频数据集的视觉质量。也就是说,只需要一个高分辨率的低帧率视频来训练。

论文具体介绍了一个由四个子生成器组成的生成器,它可以合成一个具有T帧和W×H像素的视频。与TGAN和MoCoGAN一样,该生成器首先从噪声向量中产生T个潜在特征图,然后将每个特征图转换为相应的帧(见图2)。具体的网络结构见图3和图4。


图3. 模型的网络配置。"CLSTM(C) "代表具有C通道和3×3内核的卷积LSTM。"Up(C) "指的是上采样块,它返回具有C个通道和两倍于输入分辨率的特征图


图4. 论文中使用的块细节。"Conv(C, k) "表示具有C通道和(k×k)内核的二维卷积层。"Conv3D(C, k) "表示具有C通道和(k×k×k)核的三维卷积层。"UnPool "表示一个具有(2×2)核和stride为2的二维 unpooling layer 。"AvgPool2D "表示沿空间维度的二维平均池化层,核为(2×2),stride为2。请注意,它并不沿时间维度进行池化操作。"DownSample "表示下采样操作。如果输入的三维特征图的每个维度的大小都大于1,该操作符就会沿着其轴线进行平均池化操作(如果在进行平均池化操作时大小为奇数,则目标轴的padding被设置为1)。否则,不对该轴进行 average pooling 。Up(C) "中的(-)表示,如果输入通道的数量与输出通道的数量相等,则不插入括号内的块


当前 SOTA!平台收录TGANv22个模型实现资源。

项目 SOTA!平台项目详情页
TGANv2 前往SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/tganv2-2021

TGANv2-ODE


TGANv2-ODE研究了神经微分方程( Neural Differential Equations )对视频生成的时间动态建模的影响。神经微分方程的范式具有许多理论上的优势,包括在视频生成过程中首次对时间进行连续表示。为了解决神经微分方程的影响,作者在这项工作中研究了时间模型的变化如何影响生成的视频质量,最终支持使用神经微分方程作为经典的temporal生成器的简单替代。

TGAN用一个temporal generator G_t将一个单一的噪声向量转化为多个考虑到时间的向量,这是一系列的一维卷积。然后,将生成的向量与开始的单一噪声向量连接起来,送入图像生成器G_i中。G如图5所示:


图5. G_t将潜在变量z_c转换为一系列的temporal vectors z0, z1, ..., zT。每个z_t与z_c串联并转化为一个图像。上述图像被连接起来组成一个视频


目前,讨论temporal generator的选择的文章非常少,文本提出在一般物理学常见的范式下对其进行探索:使用微分方程来表示temporal dynamics。在使用历史图像生成函数的同时,将观察不同temporal生成函数的性能指标的变化。生成函数系列之间的比较可以通过图6直观地看到。


图6. 与典型的LSTM相比,神经微分方程的观察次数更多,SDE( Stochastic Differential Equations )的解决潜力更大


可以用微分方程( Ordinary Differential Equations , ODEs)代替自动回归的LSTM或1D核来模拟潜在变量z_t的演变。通过学习函数f(z_t),可以通过积分找到未来的z_T:


然后图像生成器G_i(z)可以从z_t产生一个图像。使用微分方程,该模型可以解释traversing潜在空间的细微差别,并说明z_(t<t+ε<t+1)的运动情况。LSTM只查看稀疏的时间步长;模型从z_t移动到z_t+1,从不考虑z_t+0.5的情况。而ODEs允许遍历中间的z_t值,这有可能导致更好的性能,因为这可以更接近于潜在的轨迹。ODE家族还允许对模型进行高阶解释。f(z_t)可以代表比简单的z˙t更高的阶数,如z¨t或更高。一阶ODE参数化了整合过程中更直接的变化,而高阶则代表潜在变量中更长期的转变,如凹陷性(concavity)。

ODE允许在确定的系统中进行路径近似。每个z_t都会产生一个z_t+1,但这并不反映视频的真正功能。SDEs可能是表征视频中存在的随机性的一个好方法,它提供了ODEs的所有好处,同时允许随机性与它们的附加噪声。令μ(z_t)和σ(z_t)分别代表漂移和扩散,我们发现z_T有:



µ(z_t)和σ(z_t)中的每一个都是由一个神经网络设定的参数。W_t是一个 Wiener 过程,是一个具有高斯增量的连续数值系列。这种表述的有效性可以通过思考一个人脸表情变化的视频来体现出来。如果演员一开始是中性脸,他们之后可能会产生一个悲伤的脸。然而,微笑也是同样可能的。通过注入随机性,任何一条路径都可能被模型探索到。

微分方程由于其连续的特性,可以增加对路径traversed方式的控制。因为z_t是通过积分找到的,所以具有两个其他方式所不具备的独特特征:首先,z_t可以在时间上向后整合,允许发现z_t-n,即在第一帧之前发生的事情。第二,可以很容易实现帧率提高。微分方程求解器可以对z_(t<t+ε<t+1)进行评估。为了达到更高的帧率,图像生成器只需要对一些中间的z_t评估进行采样。像这样的控制在递归模型中是不可能的。


当前 SOTA!平台收录TGANv2-ODE共1个模型实现资源。

项目 SOTA!平台项目详情页
TGANv2-ODE 前往SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/tganv2-ode




相关文章
|
机器学习/深度学习 存储 算法
I2A、MBMF、MVE、DMVE…你都掌握了吗?一文总结强化学习必备经典模型(三)
I2A、MBMF、MVE、DMVE…你都掌握了吗?一文总结强化学习必备经典模型
613 0
|
机器学习/深度学习 编解码 人工智能
RaptorX、AlphaFold、DeepAccNet、ESMFold…你都掌握了吗?一文总结生物制药必备经典模型(2)
RaptorX、AlphaFold、DeepAccNet、ESMFold…你都掌握了吗?一文总结生物制药必备经典模型
468 0
|
8月前
|
机器学习/深度学习 计算机视觉 异构计算
【论文阅读】- 我对“AlexNet”的理解
【论文阅读】- 我对“AlexNet”的理解
|
机器学习/深度学习 人工智能 自然语言处理
深度学习应用篇-推荐系统[12]:经典模型-DeepFM模型、DSSM模型召回排序策略以及和其他模型对比
深度学习应用篇-推荐系统[12]:经典模型-DeepFM模型、DSSM模型召回排序策略以及和其他模型对比
深度学习应用篇-推荐系统[12]:经典模型-DeepFM模型、DSSM模型召回排序策略以及和其他模型对比
|
机器学习/深度学习 自然语言处理 自动驾驶
南洋理工大学最新视觉语言模型综述:预训练、迁移学习和知识蒸馏啥都有
南洋理工大学最新视觉语言模型综述:预训练、迁移学习和知识蒸馏啥都有
|
编解码 人工智能 搜索推荐
TGANv2、VideoGPT、DVG…你都掌握了吗?一文总结视频生成必备经典模型(四)
TGANv2、VideoGPT、DVG…你都掌握了吗?一文总结视频生成必备经典模型
444 0
|
机器学习/深度学习 自然语言处理 算法
TextRCNN、TextCNN、RNN…你都掌握了吗?一文总结文本分类必备经典模型(一)
TextRCNN、TextCNN、RNN…你都掌握了吗?一文总结文本分类必备经典模型(一)
490 0
|
机器学习/深度学习 人工智能 监控
RaptorX、AlphaFold、DeepAccNet、ESMFold…你都掌握了吗?一文总结生物制药必备经典模型(1)
RaptorX、AlphaFold、DeepAccNet、ESMFold…你都掌握了吗?一文总结生物制药必备经典模型
417 0
|
PyTorch 算法框架/工具 异构计算
Pytorch实现经典模型AlexNet模型
Pytorch实现经典模型AlexNet模型
124 0
|
机器学习/深度学习
TGANv2、VideoGPT、DVG…你都掌握了吗?一文总结视频生成必备经典模型(三)
TGANv2、VideoGPT、DVG…你都掌握了吗?一文总结视频生成必备经典模型
1220 0

热门文章

最新文章

相关实验场景

更多