时间序列预测(四)--TCN模型

今天介绍的是TCN模型,在介绍这个模型的过程中,会介绍很多额外的小知识点,个人觉得还是很有用的。下面咱们就来介绍TCN模型。

TCN模型

先来看问题定义,对于时序问题还是老生常谈的输入输出形式。 x=[x0,x1,...xT]x=[x_{0},x_{1},...x_{T} ], 作为输入的值, 输出就是对应的y=[y0,y1,...,yT]y=[y_{0}, y_{1},...,y_{T}]作为输出。那么TCN模型是如何组织模型结果的呢?

1-0

刚开始的时候作者使用了一个全连接网络做因果卷积,对输入的时序做1D的卷积操作。这里要介绍一下什么是因果卷积(Causal)。

因果卷积(Causal)

如下图1-1就是一个典型的因果卷积形式,当前的输出依赖中间几层的隐层输入, 看起来是一个层层归纳的过程。
1-1
使用这种卷积能够将信息充分利用起来,不遗漏任何低阶以及高阶特征。TCN的表达方式也比较简单TCN = 1D FCN + causal convolutions.a 1D fully-convolutional network (FCN)。
之所以使用这种类型的CNN,原因是原始的CNN是不能学习序列特征的,使用因果卷积,其作用就是对与序列问题的学习。将一个预测值通过几个输入层层归纳总结并给出结果,适合序列数据的学习。

扩展卷积(Dilated)

但是单纯使用上面的结构也是存在一部分问题的,特别是当前的数据依赖更长时间的历史,这种结构就难以刻画。这个时候就引进了扩展卷积,也称为空洞卷积。如图1-2
1-2
上图是在图像数据中的使用,能够有效的降低计算量的情况下不会丢失准确性。是时序模型中,会有一点不同,就如上图1-0中的(a)图,在一个维度上进行层层的间隔采样达到空洞卷积的作用,当然在TCN中不是为了性能,而是观测增大感受野,获取更长时间历史的特征。

残差网络结构

在TCN网络中也是用残差的网络结果,也是为了保证长期的历史数据不丢失的问题。如图1-0中的(b)图, 在使用了几个扩展卷积的过程中,提供一个直接链接结果的通路(这个是残差的结构),最后合并成最终结果。 这里看到一个1×11\times1的卷积核。在TCN中只是为了保证维度对齐的作用,而本文想介绍一下1×11 \times 1的卷积核的作用。
这里咱们再盗个图,对于下面这个立方体,假如是一个M×M×QM \times M \times Q的结构,如果我希望构造一个M×N×(Q1)M \times N\times(Q-1)的结构如何构建呢? 方法是如图,我通过一个1×1×Q1 \times1 \times Q, 然后每卷积一次就产生一个M×N×1M \times N \times1的结构,然后想链接几个就能把这个M×M×QM \times M \times Q的结构降维到多少。 这里说一下1×11 \times1的卷积核除了有降低维度的作用,其实也有一个意图是想学习通道之间的关系。这一点也是十分重要的,类似的我也能够通过1×11 \times 1的就卷积核做升维。

1-4

如图0-1中的©就是整个网路网络的结构,通过这么多网络的学习,发现大家还是对时序问题下了功夫的,一行时序问题,使用这么多的参数和算力,具体使用的场景就要看看工作了。

论文地址: TCN

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×