时空序列预测模型GAN+LSTM

一、Address

ICC 2019的一篇paper,为清华团队所写

思路很有趣,也很容易想到,就是用比较火的GAN加上LSTM

Satellite Image Prediction Relying on GAN and LSTM Neural Networks

二、Introduction and Model

2.1 主要创新点

2.2 主要任务

本质上是时空序列预测问题,利用的是卫星云图

主要是过去的序列预测未来的一个时刻的图片

2.3 基本模型

2.3.1 GAN(Generative Adversarial Networks)

对抗生成器。

简单来说,就是有一个生成器,有一个判别器,生成器输出假的数据,把这个数据和真数据一起输入到判别器中,判别器没法判断哪个是真是假,这是最理想的训练情况,换句话说,就是生成器生成的数据可以以假乱真了,就到达这个目的了,不知道大家是否了解,可以去看很多资料,讲的很nice,如果实在是不懂,可以留言,我写出来几篇就差不多了。

最基本的GAN的loss如下:

2.3.2 LSTM(Long Short-Term Memory Networks)

这个就不需要多讲了吧,我个人写了好几篇LSTM相关了,可以去看看。这个模型中的LSTM输入为卫星云图的序列数据,输出为提取的特征数据,也就是更深层的表现。

LSTM提取序列的一些深层时间特征, 比如云的motion特征

2.4 创新模型GAN-LSTM

主要的模型结构训练分为两个步骤

  1. 只用真实数据集先去训练GAN,这里的限制条件是输入为固定的维度和形式,训练完成后,把GAN的生成器与判别器分开,再接下来的步骤中生成器的权重是不变的,一直保持训练好的参数。

  2. 用时间序列的卫星图片输入到LSTM中,因为图片太大了,所以通过两层hidden layers进行减少图片的维度,应该指的就是下采样,训练LSTM输出与第一步中生成器输入的相同维度的向量,最终通过LSTM输出的向量,用固定参数的生成器生成最终的下一个时刻的预测数据。

这里有一个疑问?为什么要分开训练呢?paper里也解释了,简单来说就是GAN主导了model

接下来也对很多GAN进行比较了,毕竟传统GAN训练真的很费劲。

三、Experiments

3.1 数据集和参数

利用的是 FY-2E 图片数据集,大小为552乘以552, 三小时采样一次。

图片预处理,为了加快收敛。减小计算量,输入为灰度图,并且标准化图片。

3.2 训练GAN

红色为D的训练部分,紫色为G的训练部分。

3.3 GAN训练结果

WGAN在最高迭代次数的时候,慢慢结果显示出海岸线,学习的效果较好。

3.4 训练GAN-LSTM

3.4.1 数据划分

3.4.2 数据整合和选择

为了学习到evolution特征,我们需要有运动变化的图片,所以选择每三个小时的,太近的没啥区别了。之后我们输入序列为8,预测未来一帧

3.4.3 总体训练

注意看标红的地方大概就清晰了

3.4.4 结果

这边利用上面的训练方式 也对 autoencoder进行了类似的训练。用FCM算法对图片进行分割,变为黑白图片,白代表云层,黑代表没有云,这种图片称为CS图片

3.4.5 评测

我们用CR对结果进行评估

为了更好地来比较模型的性能,我们迭代预测未来的五帧

很明显由于误差的叠加和预测的距离的增加,肯定是降低的,但是GAN-LSTM显示出明显的优势,下降也不是很明显。

四、Conclusions

  1. 引入LSTM和GAN的协同合作来解决时空序列问题

  2. 利用GAN来进一步提取特征,并且可以把维度降低

  3. LSTM和GAN的分开训练的想法

点个在看,么么哒!
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页