近日,来自谷歌大脑和伊利诺伊大学香槟分校的研究者在 arXiv 上发表论文,提出了一种基于流的视频预测模型 VideoFlow,可以直接优化数据似然,还能够产生高质量的随机预测。
计算机硬件能力的飞速发展以及研究者在更深刻见解和更好方法方面所做出的不懈努力,推动机器学习领域从相对冷门上升至主流。该领域的进展已经转化为各类能力的进步,如图像分类(Krizhevsky等人,2012年)、机器翻译(Vaswani等人,2017年)以及超人游戏智能体(Mnih等人,2013年;Silver等人,2017年)等。但是,机器学习技术的运用在很大程度上受限于需要大量监督的情况(如图像分类或机器翻译任务),或者学习智能体需要对环境的高度精确模拟(如游戏智能体)。监督学习的一种不错的替代方法是:使用大型无标注数据集,并结合预测生成模型。复杂的生成模型若想有效地预测未来事件,则必须建构世界的内部表征。例如,一个能够预测未来视频帧的预测生成模型需要建模现实世界中的复杂现象,如物理交互。这为构建充分理解现实世界的模型提供了一种不错的机制,且无需任何标注样本。关于现实世界互动的视频非常丰富且容易获得,大型生成模型可以在包含许多视频序列的大型无标注数据集上训练,以了解现实世界中各种各样的现象。此类模型对后续下游任务中的表征学习非常有用(Mathieu等人,2016年),甚至可直接用在预测未来的应用中进行有效的决策和控制,如机器人学(Finn等人,2016年)。视频预测所面临的一个核心挑战是,未来具备高度不确定性:对当前时段的短序列观察可表示未来的诸多可能。近期已经有大量研究涉及可表征不确定未来的概率模型,但这些模型要么计算成本极其昂贵(如像素级自回归模型),要么无法直接优化数据似然。
这篇论文研究随机预测问题,主要关注条件式视频预测:基于较短序列的以往观察结果合成原始RGB视频帧(Ranzato等人,2014年;Srivastava等人,2015年;Vondrick等人,2015年;Xingjian等人,2015年;Boots等人,2014年)。具体而言,研究者提出了一种新型视频预测模型,它能够提供确切似然,生成各类随机未来,还能精确合成逼真、高质量的视频帧。该方法背后的主要思路是:将基于流的生成模型(Dinh等人,2014和2016年)扩展到条件式视频预测环境中。基于变分自编码器和像素级自回归模型的方法已被用于研究随机预测生成,但基于流的模型受到的关注相对较少。据称,基于流的模型目前仅用于图像等非时态数据和音频序列的生成。条件式视频生成面临着独有的挑战:视频序列的高维度特性使其难以建模为单独的数据点。因此,谷歌大脑的研究者学习了一种潜在动态系统(latent dynamical system)模型,用于预测流模型潜在状态的未来值。这为该系统的潜在状态引入了马尔科夫动力学,替代了标准的无条件先验分布。受到图像生成模型 Glow 的启发,研究者创建了一种基于流的视频预测实用模型架构 VideoFlow。
实证结果表明,在 action-free BAIR 数据集上执行随机视频预测时,VideoFlow所取得的效果与当前最优结果不相上下,其定量结果也能够与最佳的VAE模型相媲美。VideoFlow还可以输出不错的定性结果,避免了很多使用像素级均方误差训练的模型输出结果中常见的伪影(如模糊预测),并且也不会面临与训练对抗模型相关的挑战。与基于像素级自回归预测的模型相比,VideoFlow在测试阶段的图像合成速度有很大提升,这使得VideoFlow对于机器人控制等需要实时预测的应用更加实用。最后,VideoFlow能够直接优化训练视频的似然,且不依赖变分下界,因而我们可以从似然值的角度直接评估其性能。
论文:VideoFlow: A Flow-Based Generative Model for Video
论文链接:https://arxiv.org/pdf/1903.01434.pdf
摘要:原则上,能够建模和预测未来事件序列的生成模型可以学习捕获现实世界中的复杂现象,如物理交互。尤其是,学习视频预测模型可以提供一个特别不错的机制,以充分理解物质世界:现实交互的视频非常丰富且容易获得。能够预测未来视频帧的模型不仅可以捕获世界的有用表征,还能够独立处理基于模型的机器人控制等问题。但是,视频预测所面临的的核心挑战是,未来具有高度不确定性:之前观察事件序列可表示未来的诸多可能。近期已经有大量研究涉及可表征不确定未来的概率模型,但这些模型要么计算成本极其高昂(如像素级自回归模型),要么无法直接优化数据似然(data likelihood)。谷歌大脑的这项新研究提出基于归一化流的视频预测模型,该模型不仅可以直接优化数据似然,而且能够产生高质量的随机预测。据称,该研究首次提出了基于归一化流的多帧视频预测。研究者介绍了一种建模潜在空间动态的方法,并展示该基于流的生成模型为视频生成建模提供了一种可行且有竞争力的方法。
提出的架构
该研究提出视频生成流,扩展了近期提出的 Glow(Kingma & Dhariwal,2018年)和RealNVP(Dinh等人,2016年)架构。
图 1:流模型通过多个层次的随机变量采用多尺度架构。在不同的层次上,输入流经K个流并输出随机变量,然后进入下一组流。最后一组流的输出为最终的随机变量。
图2: 每一个时间步 x_t 的输入被编码成多层次的随机变量 。研究者通过序列进程对这些随机变量建模。
定量实验
研究者在Stochastic Movement Dataset (Babaeizadeh et al., 2017) 和 BAIR robot pushing dataset (Ebert et al., 2017) 上评估了VideoFlow的性能,还对模型中的关键组件进行了模型简化测试,以量化这些组件的效果。最后,研究者对VideoFlow与当前最优的随机视频生成基线模型进行定量对比。VideoFlow模型的超参数见该论文补充材料。
表 1:研究者报告了在10个目标帧和3个条件帧(conditioning frame)上的平均每像素比特数(bits-per-pixel,BPP),所用数据集为BAIR action-free dataset。
图 4:B:基线模型,A:时间跳过连接(Temporal Skip Connection),C:扩张卷积+GATU,D:扩张卷积+时间跳过连接,E:扩张卷积+时间跳过连接+GATU。研究者为VideoFlow模型的不同简化模型测试绘制了在BAIR action-free 数据集上的holdout BPP。
图 5:对于BAIR action-free数据集中给定的一组条件帧,研究者为每一个随机视频生成模型抽取100个视频样本。研究者基于PSNR、SSIM和VGG感知度量选择最接近真值的视频。所有模型使用10个目标帧进行训练,但测试时需生成27帧。
图6:对于一段给定的测试视频,研究人员利用VideoFlow模型检测时间异常,从而计算第t个目标帧X_t属于P(X_4 = X_t|X<4) (t = 4 . . . 13) 的似然。研究者在测试集上对相应的BPP取平均,并绘制误差线。
定性实验
研究者基于两个数据集潜在空间中的输入帧和插值生成视频,并展示了定性结果。定性结果可在https://sites.google.com/corp/ view/videoflow/home 中查看。在生成视频中,蓝色边框表示条件帧,红色边框表示生成帧。
温度的影响
图 7:研究者分别在温度0.1、0.5和1.0的情况下生成视频。上图展示了,在每一种温度下未来不同时间步中的生成帧。
更长期的预测
图 8:研究者在温度0.5的情况下生成了未来100帧。上下两行分别对应无遮挡和有遮挡情况下的生成视频。
图 9:研究者对训练进程和生成视频的质量进行了对比。(视频质量以测试集上的平均BPP值为度量标准)
潜在空间插值
图 10:研究者展示了 a)小蓝矩形和大黄矩形;b)小蓝圆圈和大黄圆圈之间的插值。
图 11:研究者展示了BAIR robot pushing dataset中两个测试视频的首个输入帧和最后目标帧之间的插值。
复现代码
复现实验结果可用代码可在公开的 Tensor2Tensor repo中获取:https://github.com/tensorflow/tensor2tensor/blob/master/tensor2tensor/models/video/next_frame_glow.py。