【论文阅读】ModeRNN: 利用时空模式崩溃进行无监督预测学习的研究

前言

笔者是时空序列预测研究的初学者,学习阶段一直会参考AI蜗牛车大佬的博客进行学习,他分享的时空序列预测的文章使我受益良多,笔者近期在阅读该领域的最新文章,本篇作为笔者分享的第一篇文章,记录自己的学习过程,有表达和理解不到位的地方请诸位同志多多指教。Let‘s go!

文章地址

这是一篇来自TPAMI 2023上的文章,出自清华大学的团队
ModeRNN: Harnessing Spatiotemporal Mode Collapse in Unsupervised Predictive Learning
网址:ModeRNN: Harnessing Spatiotemporal Mode Collapse in Unsupervised Predictive Learning | IEEE Journals & Magazine | IEEE Xplore

Abstract

首先点明本文的创新点:
作者发现了视频预测类模型存在的一种实验现象:时空模式坍塌 spatiotemporal mode collapse (STMC);【也可翻译成时空模型奔溃,笔者这里翻译为时空模式坍塌】并在无监督预测学习的背景下对时空模式坍塌STMC现象进行量化,探索解决方案。
然后提出了一个解耦聚合网络ModeRNN,它能发现循环状态之间时空模式的组成结构。
再经过实验证明:作者发现的这个时空模式坍塌STMC现象与未来帧预测结果存在极大的关联,并证明了所提出的ModeRNN网络可以缓解时空模式坍塌问题,实现对未来帧更好地预测。

一、Introduction

介绍背景:由于现实环境是复杂的,视频图像中的底层物理过程是高度混合的,难以与高维视觉区分开来,要学习的信息表征存在纠缠性,从而导致未来帧预测图像出现模糊。

随后引入新概念——spatiotemporal mode 时空模式,定义为:视频数据中由于不同物理动态而具有的多模态数据分布;(它的灵感来源于GAN之类生成网络中对“mode”的定义)

作者认为时空模式应该具有以下属性:

中文意思就是:1.视频数据中天然存在时空模式的混合,它可以看成是数据样本的子集,在时空中具有类似的全局表示。2.基于同一组特征子空间的不同组合可以表示为多个模态,这些特征子空间用一组新的循环结构—dynamic slots “动态槽”来建模。
(“动态槽”在本文后面会详细解释,“slot”我们译为“槽”,这个概念表示:静态场景理解中以对象为中心的特征,本文是借用这个术语来表示时空中的子空间)

随后解释时空模式坍塌STMC,与GAN网络中常见的模式奔溃mode collapse问题类似;

比如在上图左图中,对于此类具有多种动态模式的复杂视频序列中,对未来帧的预测结果容易出现模糊,基于不同输入序列的预测结果会崩溃为真实多模态数据分布的子集;再比如右图中,在每个数据环境下单独训练单个模型会有较好的性能,但是在不同环境下训练同一个模型就会出现性能下降的问题。这些现象都表面了有时空模式坍塌的存在。

然后介绍作者所提方法的核心思想:探索潜在模态的组成结构;提出了新的模块化循环结构ModeRNN,使用一组动态槽学习结构化视觉动态,其中每个动态槽响应单个时空模式的表示子空间;整体框架采用解耦聚合decoupling-aggregation结构,分阶段处理槽特征。(该结构与现有模块化结构的预测模型是完全不同的)

二、Related work

这一部分就不详细说明了,作者简单介绍了下基于RNN的视频预测模型、概率视频预测模型、时空解纠缠的无监督预测学习三个内容。【其中时空解纠缠的无监督预测学习这方面笔者认为可以多深入了解一下,有空可以多看看此类的文章。】

三、ModeRNN

作者提出了一个解耦-聚合架构的模型ModeRNN,采用名为ModeCell作为block,分成三个模块:(1)状态交互和槽位绑定模块(2)自适应槽位融合魔模块(3)槽位总线转换模块

ModeCell结构图如下:

作者画的图中已经把各个模块区分开啦,非常便于读者阅读和理解~

作者介绍了动态槽和槽总线概念:
动态槽 dynamic slot:它反映的是一系列相似的视觉动态,每个动态槽都对应一个特征子空间。

槽总线 slot bus:把不同权重的槽特征动态组合成一个统一的特征表示,用于长时记忆状态的更新,称为槽总线;

作者说这为时空模式坍塌STMC提供了解决方案:动态槽和槽总线的层次结构可以更好地理解复杂和高度混合的动态模式。该模型可以从具有相似时空模式的相似数据样本中学习相似的组合结构。相反,具有不同视觉动态的数据样本可能在更新槽总线特征的学习重要性权重上存在显著差异;

介绍ModeRNN的结构:以ModeCell为block的堆叠结构,类似于ConvLSTM的堆叠方式;

其中:Xlt表示输入状态,当l=1是为输入图像,其他时刻Xlt=Hl-1t,表示前一个ModeCell单元的输入状态。

作者详细介绍ModeCell单元:
如上图ModeCell结构图所示,ModeCell有三个模块:状态交互与槽绑定模块、自适应槽融合模块、槽总线转换模块;

1. 状态交互与槽绑定模块 state interaction and slot binding:
该模块将原始视频帧的混合时空模式解耦到动态插槽。
作者是采用多头注意力机制把前一时刻的槽总线Bt-1、当前输入状态Xt、前一时刻的隐藏状态Ht-1三者进行交互,可以自然而然地把模块组件从隐藏状态表示中解耦,并把它们绑定到特定的动态槽中。

首先要对Bt-1采取二维卷积投影把特征进行扁平化,提高多头注意力的效率(与静态场景理解中的槽注意力方法类似);随后沿着通道维度把特征拆分为N个动态槽;再使用多头注意力机制把N个输出槽特征重塑为三维张量;

这里的动态槽的数量N是预先设定的,而且在整个视频序列中都是固定不变的。
作者阐述了采用多头注意力的motivation是把隐藏状态解耦到时空动态槽的不同子空间中。

2. 自适应槽位融合模块 adaptive slot fusion:
作者考虑多个模式通过槽位共享一组隐藏表示子空间,并采用自适应槽位融合模块通过权重系数聚合解耦槽位特征。

这个模块灵感来自于mixture of experts(MoE),即引入门控网络来控制信息流, 改进门控架构来动态聚合解耦槽。

3. 槽总线转换模块 slot bus transition:
作者采用类似于LSTM结构对槽总线进行更新,组合状态在槽特征上构建分层表示,其中遗忘门、输入门、输出门、调制门均与LSTM类似。

四、Experiment

作者首先简单介绍了实验所采用的数据集:RoboNet、KTH、Human 3.6M、Radar Echo、Mixed Moving MNIST;简单说明了实验的参数设置与实验细节,后文中关于如何确定动态槽的数量问题是一个关键点。
阐述了每个数据集采用的评估指标,常见的MSE、SSIM、PSNR、LPIPS和PVD、CSI等等;
对于时空模式坍塌的量化措施是关键,对特征簇类进行度量:先执行DBSCAN,根据测试样本的潜在特征确定聚类;再用计算轮廓系数silhouette coefficient(SC)衡量纠缠模式的纯度。其中SC的范围为[-1,1],值越高说明分离程度高,值越低说明STMC问题越严重。
还用梯度差损失gradient difference loss(GDL)来衡量未来帧的模糊情况。

4.1 RoboNet

作者分别在无动作和有动作的视频样本上进行了实验,结果表明ModeRNN比其他模型更加准确,再比较了模型的效率问题,得出ModeRNN更优异的结果。

后面关于时空模式坍塌的论证是实验的重点,通过与现有的视觉动态解纠缠模型PhyDNet进行对比,并采用tSNE可视化。

时空模式坍塌STMC存在于监督学习中,作者解答了为什么不采用环境标签作为输入来帮助学习特征呢?原因是现实场景下大部分的时空模式都是隐性的,不能预先定义和注释。

再对时空模式坍塌STMC进行定量分析,采用轮廓系数silhouette coefficient(SC)和梯度差损失gradient difference loss(GDL)来评估;
结果表明ModeRNN是优于其他为解纠缠学习而设计的确定性视频预测模型和最先进的概率模型。
同时我们可以发现SC和GDL数值之间的相关性,可确定STMC和模糊预测之间的关联。
通过上面Fig. 5 c中的槽特征可视化验证了ModeRNN的模式解耦能力。

消融实验

实验结果表明:通过使用单独的动态槽来学习解耦的必要性,槽绑定模块对于时空模式纠缠学习是有效的;基于槽特征的组合表示学习转换的重要性;验证了参数隔离在模式解耦中的有效性;

接下来有个关键参数的确定——动态槽的位数N,作者是根据不同数据的复杂程度和基于先验知识进行确定的;这里选择N=4;
作者再尝试按比列放大模型尺寸,通过增加动态槽的数量和每个槽的特征通道进行对比实验,结果表明ModeRNN可以通过增加模型规模来实现更高的性能。
​​​​​​

作者还研究了现有模型是否也能再更大的模型尺寸下缓解时空模式坍塌问题,结果证明了增加模型尺寸不是解决时空模式坍塌问题的有效方法。
又尝试去除多头注意力机制或替换成另一种解纠缠的架构GCN,结果证明了多头注意力是克服时空模式坍塌的有效方法。
最后与SA-ConvLSTM进行了详细的对比,二者的核心区别是:
1. SA-ConvLSTM仅将自注意力用于表示聚合,导致缺乏将混合视觉动态解耦到几个模式的能力。相反,ModeRNN将多个子空间中的学习表征分离为动态槽,并采用槽总线沿时间维将解耦的槽连接起来。(这个设计的启发就是来自对时空模式坍塌STMC的观察)
2. SA-ConvLSTM不能动态捕捉混合视觉动态,不能有效地适应不同的环境。它只使用循环状态之间的自我关注来捕获全局上下文,而不考虑不同环境中的各种时空模式信息。相比下,ModeRNN开发了一种模块化结构,该结构通过动态槽和自适应槽融合自适应地产生组合特征。
总之,ModeRNN在具有复杂时空模式的数据集上可实现最先进的性能和可解释性的插槽特征。(ModeRNN被认为时最SOTA的模型)

4.2 KTH


本实验的关键是使用A-distance来量化现实KTH动作数据中的时空模式坍塌问题;
选用ConvLSTM和PredRNN中的记忆状态Ct,ModeRNN中的槽总线Bt来计算a-distance;

其中蓝色条形图是越高越好,两组之间的a-distance越小,表明两组学习到的表征高度纠缠。红色条形图是越低越好,显示了以真实帧Xt为输入的特征和以预测帧Xt为输入的特征之间的域距离。当不同组的预测之间的a-distance(蓝色)比预测和基本事实之间的a-distance(红色)小得多时,就会发生STMC。

仍采用tSNE可视化

根据可视化结果可以发现直接在混合动态上训练之前的方法会导致表征学习中出现严重的STMC,表现为隐藏表征的纠缠。这些纠缠的表示将使模型提供较差的模糊预测。相比之下,ModeRNN可以通过学习混合动态的精确解耦来有效克服STMC。

最后关于KTH数据集上动态槽位数N的确定,作者分析了ModeRNN槽数改变带来的影响,同时尽可能保持模型大小恒定,N=8时达到最佳性能,但权衡复杂度选择了N=6。

4.3 Radar Echo


从实验结果图中可以看出ModeRNN提供了更多的关于气旋的细节,准确预测了红框所示的中心位置;通过定性和定量的结果都表明了ModeRNN具有更好地捕获复杂气象动态模式下的动态信息。

4.4 Human 3.6M


这里的图像未来帧预测确实相较于其他模型更加清晰准确,尤其在身体的各个部位等细节方法更为突出,验证了ModeRNN在处理复杂时空模式的能力。

4.5 Mixed Moving MNIST


观察上图发现,其他模型在预测数字7和6时出现崩溃问题,无疑时由时空模式坍塌STMC引起的,相比之下ModeRNN时唯一能够捕获每个数字的精准运动,并保持自己的视觉颜色模式的方法。说明ModeRNN克服了STMC。

接着作者做了更深层次的解纠缠验证,把槽位进行了交换,将输入序列(第一行)中的一个动态槽的特征替换为属于同一槽的另一个序列(第二行)的特征。这个数据集中有两种重要的模式:随时间变化的姿势和可能随时间变化的数字颜色。

由上图可以看出ModeRNN成功地学会了通过模块化架构将混合模式分离成多个表示子空间,将不同的子空间分配给不同的槽: 替换槽#1中的特征使颜色随其他序列变化,同时保持运动。替换槽#2中的功能相当于在保持颜色的同时从另一个槽中借用姿势。交换测试验证了所提出的动态槽在解缠混合视觉动态中的有效性。

五、Conclusion

1.发现并解释了在高度混合视觉动态的数据上进行无监督预测学习时会出现时空模式坍塌现象;

2.提出了一个使用动态槽学习模块化特征的解耦聚合模型ModeRNN,可以缓解时空模式坍塌;

后记

笔者才疏学浅,恳请各位大佬批评指正

作者:想做宇航员的农民工小李

物联沃分享整理
物联沃-IOTWORD物联网 » 【论文阅读】ModeRNN: 利用时空模式崩溃进行无监督预测学习的研究

发表评论