这是一篇投稿于ICONIP 2020的文章。
摘要与引言
递归神经网络和卷积神经网络是深度学习文献中最常用的用于时间序列预测的体系结构。由于参数共享和重复结构,这些模型是时不变的(在空间域是移位不变的)。这种模型中的时不变性降低了对数据中的时变动态进行建模的能力。 作者提出利用深度前馈架构和交叉输出来提供时变模型的ForecastNet。 ForecastNet被证明可以在数据中建模时变动态。
RNN的重复产生一组细胞,每一个都有固定的结构,随着时间的推移复制。这种复制产生了一个时不变模型。同样,卷积神经网络(CNN)中的参数共享和卷积导致了空间域的位移不变模型;这在时域中等同于时不变。直观地说,这限制了模型适应变化的能力。这种变化可能以动态变化和长期依赖性的形式出现。
作者展示了时不变性如何导致流行的深度学习模型失败。
RNN由一组随时间复制的带有参数的细胞结构组成。复制有一些关键的好处,比如参数共享和处理不同序列长度的能力。然而,时不变属性会降低它对复杂依赖关系建模的能力。相比之下,ForecastNet不是时不变的。RNN的另一个挑战是,由于复杂的依赖关系和逐渐消失的梯度,学习长序列可能很困难。然而,ForecastNet通过使用捷径连接和在隐藏块之间交错输出,缓解了逐渐消失的梯度问题,并提倡深度架构。
Sequence-to-Sequence (encoder-decoder)模型通过一个固定大小的向量(例如最后一个编码器单元状态)顺序地连接两个RNN(一个编码器和一个解码器)。这个向量会在编码器和解码器之间形成瓶颈,早期的输入必须经过几层才能到达解码器。注意力模型通过在编码器和解码器之间添加注意力机制来解决这些问题,以赋予每个编码器单元相关性。与序列对序列模型和注意力模型不同,ForecastNet没有单独的编码器和解码器。这样就消除了连接这些实体的挑战。
Transformer在时序分析中存在局限性。第一个限制是它不假定输入的任何顺序结构。在输入中注入正弦信号的位置编码,以提供有关序列顺序的信息。时间结构是时间序列建模的关键,也是时间序列模型设计的目的。第二个限制是,大多数处理都在输入嵌入的维度上操作。因此,Transformer的设计不适用于低维时间序列信号,如单变量时间序列。ForecastNet是专门设计来建模数据的时间结构,它不限于高维输入。
y代表输出,X是输入,ff是隐藏层,第一个ff的输入为X,而后面几个的ff的输入则是X,上一个ff,上一个的y,这三个的一个连接。图中块的颜色有深浅之分,代表参数是不共享的。
要证明一个系统是时不变的,需要证明,将一个延迟的输入传递给一个系统与将系统的输出延迟相同的时间是一样的。
时间变化
定理1. 如果ForecastNet的隐藏块和输出层是时变的,则ForecastNet不是时不变的。
证明
假设
h
t
′
=
h
t
−
m
h_t^{'}=h_{t-m}
ht′=ht−m,
X
X
X是输入。时不变性要求
y
t
−
m
=
y
t
′
y_{t-m}=y_t^{'}
yt−m=yt′.
则
y
t
′
y_t^{'}
yt′如下:
由于在ForecastNet中没有参数共享,它的参数(和可选的架构)随时间(输入序列和预测长度)而变化。
所以ForecastNet不是时不变的。
定理2. 一个结构为
h
t
=
f
(
W
X
t
,
V
h
t
−
1
)
h_t=f(WX_t,Vh_{t-1})
ht=f(WXt,Vht−1)的RNN,其中
X
t
X_t
Xt为输入,
h
t
h_t
ht为隐藏状态,如果
f
f
f是一个时不变的函数,那么这个RNN就是时不变的。
证明
将RNN用伸缩式来表示:
其中
h
0
h_0
h0是不变的。
假设
X
t
′
=
X
t
−
m
X_t^{'}=X_{t-m}
Xt′=Xt−m,要证明
h
t
−
m
=
h
t
′
h_{t-m}=h_t^{'}
ht−m=ht′.
对于
h
t
−
m
h_{t-m}
ht−m:
但是
此外,假设系统中总是用
h
0
h_0
h0进行初始化,因此
h
t
−
m
=
h
t
′
h_{t-m}=h_t^{'}
ht−m=ht′,证明RNN是时不变的。
交叉输出
消失/爆炸梯度问题源于微积分链式法则的反复应用,产生了长长的因子链。在ForecastNet的隐藏区块之间交错输出,该链被分解成比因子乘积更稳定的项之和。
实验数据
对比的一些模型
实验结果
根据结果可以看出,作者提出的模型效果还是不错的。
有错误或者不足之处欢迎提出,感谢!!!
本菜鸡最近也在研究此模型,欢迎交流学习!!