文章摘要:从CNN、RNN到VIT,包含了辅助输入,精细的神经架构和复杂的训练策略。是否有一种简单的方法可以表现得同样好?本文提出了SimVP模型,并通过MSE LOSS以端到端的方式进行训练。
github代码地址:GitHub - ryok/SimVP-Simpler-yet-Better-Video-Prediction
文章地址:SimVP: Simpler Yet Better Video Prediction (thecvf.com)
论文模型结构:
模型的结构由三部分组成:
Encoder:编码器堆叠个卷积模块,通过堆叠来用来提取空间特征。其在代码中过堆叠了4层来进行空间特征提取,在代码中采用的是GroupNorm并未采用LayerNorm,其中将GroupNorm的num_group设置为了2,其并不是LayerNrom。(GN的极端情况就是LN和IN,分别对应G等于C和G等于1)
Translator:该模块采用初始化来学习时间演化。在代码中Translator是由Inception结构堆叠而成,Inception结构首先通过了一个1×1的卷积核,而后使用卷积核大小为(3,5,7,11)来分别进行卷积,最后将特征图进行拼接。SimVP模型在Translator通过Inception单元堆叠出了一个Encoder-Decoder结构,这个Encoder-Decoder结构的深度共8层,通过这种方式来进行时间特征的提取得到时间演化效果。
Decoder:解码器利用个反卷积来重构地面真实帧,该地面真实帧在(H,W)上卷积C个通道,从而实现对Translator信息的解码工作,Decoder与Encoder近乎相似,只是将卷积操作改成了反卷积操作。Decoder堆叠的方式如下式:
总结:SimVP不使用RNN、LSTM和Transformer等高级模块,也不引入对抗性训练和采样学习等复杂的训练策略,所有的模块都是CNN组成、在训练过程中采用的损失函数为MSE LOSS。
论文模型训练实验:
论文中所用数据集:
在五个数据集上进行了实验,代表训练集个数、代表测试集个数。代表通道的图像分辨率,和代表了输入长度和预测长度。
由表中数据可以看出,模型在MAE、MSE、SSIM上都进行了评估,该模型不仅相较于其他的结构模型轻量化,而且其在视频预测领域有比较好的效果。作者最后希望该模型成为一个视频预测领域对比的基线模型。