查看原文
其他

【源头活水】预测未来-随机视频生成

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

作者:知乎—SunYangtian

地址:https://www.zhihu.com/people/sun-yang-tian-58

《Stochastic Video Generation with a Learned Prior》是2018年ICML上的一篇文章,作者提出一种随机视频生成方法SVG(stochastic video genertion),可以根据现有的视频预测生成出接下来一段时间的视频。
这个问题可以如下形式化:给定视频帧序列  , 如何预测接下来一段时间的视频序列 
视频生成的思路比较直接:将已有的视频帧编码至一个latent space中去,再用LSTM在隐空间中学习到视频帧时域上的联系。最后再将LSTM输出的latent vector解码至图像空间。
直接说可能有些笼统。用  表示encoder, 用  表示decoder,用  表示LSTM。上述训练过程可以表示如下:
这种方式训练得到的网络具有更具当前帧预测下面帧的能力。
不难发现,这种方式生成的视频都是确定性的。那么标题中所说的stochastic体现在哪儿呢?
本文的一个创新点就在于,采用VAE的思路,在隐空间中引入另一个随机变量z,用它和encoder编码的特征一起来对未来进行预测。
直接上图:
这里所说的  就是引入的随机变量。正是由于它的随机性,带来了生成结果的stochastic. 所以这样来看,这个模型就变为了修改版的VAE. 这里的修改主要体现在以下方面:
  1. encoder学习的latent vector的概率分布不再是基于当前样本的  , 而是相对于一个序列  。这部分通过  实现
  2. 用于decode的不再仅仅是重采样得到的latent vector,同时还有前一帧通过encoder得到的特征
  3. decoder学习的也不再是基于当前latent vector的数据分布,而是基于一个latent vector序列的分布 
因此, 要优化这样一个修改版的VAE,其变分下界具有如下的形式:
仅仅这样还不够。这里的先验  如果直接采用固定的高斯分布,无法刻画视频中帧与帧之间的联系。因此作者又提出另一个版本:再通过一个LSTM来学习这里的先验,也即SVG-LP(learned prior).
这样inference时候,隐变量  不再是从  中采样,而是从  中采样。其中,  是用于先验学习的LSTM网络的参数。
这是与其他方法的对比结果。可以看到生成图片质量的确更加清晰了:
同时,作者也可视化了学习到的先验  在时间序列中不同时刻的值的大小。它反映了decoder的输入是更依赖与前一帧的特征,还是从学习到的分布中采样出的结果。
结果表明,在SM-MINST数据集上,当数字与边缘要发生碰撞时(图中竖线标明的位置),stochastic项的权重会迅速增大。这是由于发生碰撞时,下一时刻的不确定性大大增加,因此网络的生成会更加依赖随机采样的结果。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存