PredRNN

       在说PredRNN之前,首先回顾一下ConvLSTM。ConvLSTM中首先要定义一层ConvLSTM的含义,每层是一个Cell,每个cell的输入是上一个cell的状态c、输出h和这一层的输入,一共三个。每个时序下是多层Cell连接的结构。纵向箭头是将上一层output当做input,横向箭头将上一时序计算出来的c,h输入。

PredRNN_第1张图片

       以Encoder-Forecaster结构为例,图中的RNN中水平的箭头的意思并不是有输入,而是用的还是同一个RNN,也就是说图中一共有3个Cell,有几层呢,对于Encoder来说有3层,每个时序跨越3层。

       PredRNN的提出是,学者认为最后一层的RNN中信息最多,却不能很好的传递给下一时序,应该让最底层的RNN同时能获得上一时序中最顶层的信息。于是结构就变成了这样。

PredRNN_第2张图片

     我们知道LSTM的Cell中的输入是3个,现在的话相当于要再加一项输入,同时相应的输出也要增加一项,于是在原来ConvLSTM的基础上,加了一个M。

PredRNN_第3张图片

      我个人感觉,PredRNN在传递参数中相当于是多用上了上一层的C,正常的LSTM用的C是来自上一时序的,这个我们用上了更多上一层的信息,所以对模型有增强作用。

你可能感兴趣的:(机器学习)