0
点赞
收藏
分享

微信扫一扫

【论文阅读】Time Series is a Special Sequence 1 概述与机器学习知识补充

1.概述

该模型选择了新的神经网络架构,对时间模型进行样本卷积和交互,进而选择更优的时间关系特征(temporal relation features),应用至时间序列预测中。

架构:下采样-卷积-交互(downsample-convolve-interact architecture

作用:扩展卷积操作的感受野(receptive field/RF),进行多分辨率分析(multi-resolution analysis),最终使提取时间关系特征具有强可预测性。

2.相关知识补充

以上结果表示感受野的分布方式是:在paddding=53(上下左右都加) 的输入224x224图像上,大小为108x108的正方形感受野区域以stride=8平铺。

再来计算Faster R-CNN中conv5-3+RPN的感受野,RPN的结构是一个conv3x3+两个并列conv1x1:

分布方式为在paddding=113的输入224x224图像上,大小为228x228的正方形感受野区域以stride=16平铺。

接下来是Faster R-CNN+++和R-FCN等采用的重要backbone的ResNet,常见ResNet-50和ResNet-101,结构特点是block由conv1x1+conv3x3+conv1x1构成,下采样block中conv3x3 s2影响感受野。先计算ResNet-50在conv4-6 + RPN的感受野 (为了写起来简单堆叠卷积层合并在一起):

P不是整数,表示conv7x7 s2卷积有多余部分。分布方式为在paddding=149的输入224x224图像上,大小为299x299的正方形感受野区域以stride=16平铺。

ResNet-101在conv4-23 + RPN的感受野:

分布方式为在paddding=421的输入224x224图像上,大小为843x843的正方形感受野区域以stride=16平铺。

以上结果都可以反推验证,并且与后一种方法结果一致。从以上计算可以发现一些的结论:

  • 步进1的卷积层线性增加感受野,深度网络可以通过堆叠多层卷积增加感受野
  • 步进2的下采样层乘性增加感受野,但受限于输入分辨率不能随意增加
  • 步进1的卷积层加在网络后面位置,会比加在前面位置增加更多感受野,如stage4加卷积层比stage3的感受野增加更多
  • 深度CNN的感受野往往是大于输入分辨率的,如上面ResNet-101的843比输入分辨率大3.7倍
  • 深度CNN为保持分辨率每个conv都要加padding,所以等效到输入图像的padding非常大

前面的方法是我自用的没有出处,但后面要介绍的方法是通用的,来自一篇著名博客(需翻墙),再次强调两种方法的结果是完全一致的:

https://medium.com/mlreview/a-guide-to-receptive-field-arithmetic-for-convolutional-neural-networks-e0f514068807​medium.com/mlreview/a-guide-to-receptive-field-arithmetic-for-convolutional-neural-networks-e0f514068807

文中给出了通用的计算公式,也是逐层计算,不同点在于这里是从前往后计算,核心四个公式

上式中n是feature map的大小,p是padding,k是kernel size,j是jump(前面的S),r是感受野大小,start是第一个特征向量(左上角位置)对应感受野的中心坐标位置。搬运并翻译:

  • 公式一是通用计算卷积层输入输出特征图大小的标准公式
  • 公式二计算输出特征图的jump,等于输入特征图的jump乘当前卷积层的步进s
  • 公式三计算感受野大小,等于输入感受野加当前层的卷积影响因子(k - 1) * jin,注意这里与当前层的步进s没有关系
  • 公式四计算输出特征图左上角位置第一个特征向量,对应输入图像感受野的中心位置,注意这里与padding有关系

从以上公式可以看出:start起始值为0.5,经过k=3, p=1时不变,经过k=5, p=2时不变

博客还给出了一个计算示例:

计算出r, j和start之后,所有位置感受野的大小都是r,其他位置的感受野中心是start按照j滑窗得到。这种方法比较规律,推荐编程实现。

2.1.2有效感受野

NIPS 2016论文Understanding the Effective Receptive Field in Deep Convolutional Neural Networks提出了有效感受野(Effective Receptive Field, ERF)理论,论文发现并不是感受野内所有像素对输出向量的贡献相同,在很多情况下感受野区域内像素的影响分布是高斯,有效感受野仅占理论感受野的一部分,且高斯分布从中心到边缘快速衰减,下图第二个是训练后CNN的典型有效感受野。

这点其实也很好理解,继续回到最初那个微型CNN,我们来分析第1层,下图标出了conv3x3 s1卷积操作对每个输入值的使用次数,用蓝色数字表示,很明显越靠近感受野中心的值被使用次数越多,靠近边缘的值使用次数越少。5x5输入是特殊情况刚好符合高斯分布,3x3输入时所有值的使用次数都是1,大于5x5输入时大部分位于中心区域的值使用次数都是9,边缘衰减到1。每个卷积层都有这种规律,经过多层堆叠,总体感受野就会呈现高斯分布。

2.2多分辨率分析

3.主要工作

提出了基于时间属性的分层 TSF 框架,通过迭代提取、交换不同时间的信息分辨率,可以学习具有增强可预测性的有效表示。

通过相对较低的排列熵 (PE) 验证,构建了 SCINet 的基本构建块 SCI-Block,它将输入数据、特征下采样为两个子序列,然后使用不同的卷积滤波器提取每个子序列的特征以保留异质性信息。 为了补偿下采样过程中的信息丢失,在每个 SCI-Block 中的两个卷积特征之间加入了交互学习。

时间序列预测包括单步预测、多步预测

单步预测:\widehat{X}_{t+\tau:t+\tau}=\{x_{t+\tau}\}

多步预测中,未来的值\widehat{X}_{t+1:t+\tau}=\{x_{t+1},...,x_{t+\tau}\}是基于过去的T步X_{t-T+1:t}=\{x_{t-T+1},...,x_{t}\}预测的,其中,\tau是预测范围的长度,x_{t}是在时间步t时对应的取值,d是时间序列的数。

文章中使用扩张因果卷积(Dilated Causal Convolution)进行时间序列预测。

3.1 TCN

 TCN结构由一堆因果卷积层(Causal Convolutinal Layers)、指数级增长的膨胀因子(Dilation Factor)组成。区别于普通因果卷积,只能解决大小与网络深度呈线性的时间范围的问题。TCN能够实现由较少卷积层得到较大感受野。

但由于TCN 中一个层共用一个卷积滤波器(convolutional filter),所以限制只能从前一层的数据/特征中提取时间动态(temporal dynamics)。

TCN的一些原则:

1.输入、输出长度相等;使用 1D 全卷积网络 (FCN) 架构,每个隐藏层都有零填充。

2.不能够出现从未来泄漏到过去的情况,输出i只能跟第i层或更早的层中的元素卷积

而TSF则不需要满足TCN的原则1.

3.2 SCINet: Sample Convolution and Interaction Network

样本卷积交互网络:一个分层模型,能够通过捕捉多个位置的时间依赖性来增强原始数据的可预测性。基本框架如下:

框架层次:SCI-Block→SCINet→Stacked SCINet 

①SCI-Block将输入数据(特征)F下采样为两个子序列F_{odd}F_{even},对于每组子序列选择不同卷积滤波器,以保持每个卷积的异质性性质。为了减少信息损失,在两个子序列之间使用交互学习

②SCINet是由SCI-Block为结点构成的二叉树。在所有下采样-卷积-交互操作完成后,我们将所有低分辨率组件重新对齐并连接成一个新的序列表示, 并将其添加到原始时间序列中进行预测。

③Stacked SCINet是通过中间监督,对SCINet进行堆叠得到的,能够提取复杂的时间动态。

3.2.1 SCI-Block

SCI-Block的主要工作:使用Spliting、Interactive-learning,将输入的特征F分解为两个子特征F_{odd}F_{even}

Spliting:下采样将元素分为偶元素、奇元素。F_{odd}F_{even}两个子集同时用于特征提取,对于每组子序列选择不同卷积层,以保持每个集合的异质性性质。

Interactive-learning:为了减少信息损失,在两个子序列之间使用交互学习。交互式学习通过相互学习仿射变换的参数来更新两个子序列,通过耦合两个互补部分的信息,可以大大增强学习到的特征的表示能力。

交互学习包括两个步骤

①使用两个不同的一维卷积模块,将F_{odd}F_{even}投影到隐藏状态\phi\psi,转化为指数形式,将矩阵F_{odd}F_{even}中对应元素相乘(element-wise product),即对两者进行放缩,其中,放缩因子是使用神经网络模块进行相互学习。

 放缩特征F^{s}_{even}F^s_{odd}被进一步投影到另外两个隐藏状态,另外两个一维卷积模块\rho\eta被添加到F^{s}_{even}F^s_{odd}中或减去。最终输出更新的子特征F^{'}_{even}/F^{'}_{odd}.

3.2.2 SCINet

SCINet是通过多个SCI-Block分层得到二叉树结构的框架。

因为随着 l 的增加,特征的时间分辨率会逐渐降低,即更深层次将包含从更浅层次传输的更精细的时间信息水平,于是可以得到 TSF 的短期和长期依赖关系。

在遍历第l级 SCI-Blocks 后,我们通过对调odd.even分裂操作,重新对子特征的元素进行排列并连接成新的序列表示,将其添加到原始时间序列中,通过残差连接(residual connection)进行预测。

最后,全连接层用于把增强的序列表示解码成\hat{X}^{k}=\{\hat{x_{1}}^{k},...,\hat{x_{\tau}}^{k}\},用\hat{X}^{k}即可表示融合后的特征/最终的预测结果。而表示的是特征/最终结果,取决于SCINet在stacked SCINet的位置。同时,该模型中的全连接层不强制要求输出长度等于输出长度(可以不同)。

相比TCN模型,SCINet优势有:不需要扩大特征提取的有效感受野,卷积操作数较少。

3.2.3 Stacked SCINet

回溯区间的长度预测范围的长度相近时,仅仅靠一个SCINet组件很难完成对时间依赖性的抓取,此时需要堆叠多个SCINet,形成Stacked SCINet.

特别地,为了简化中间时间特征(intermediate temporal features),使用ground-truth对每个SCINet的输出应用中继监督(intermediate supervision)。

第k个SCINet的输出\widehat{X}与输入的X_{t-(T-\tau)+1:t}连接,并传送到第k+1个SCINet,一般来说k都小于等于3.

3.2.4 Loss Function

用K个SCINet训练一个堆叠的SCINet,第k个中间预测的损失,计算第k个SCINet的输出与ground-truth之间的L1损失如下:

 单步预测,引入平衡参数λ∈(0,1)

多步预测, 损失为

 stacked SCINet的总损失为

举报

相关推荐

0 条评论