其他分享
首页 > 其他分享> > Time-Aware Multi-Scale RNNs for Time Series Modeling IJCAI-21时间序列预测论文

Time-Aware Multi-Scale RNNs for Time Series Modeling IJCAI-21时间序列预测论文

作者:互联网

Time-Aware Multi-Scale RNNs for Time Series Modeling 时间序列预测

这篇论文实际上是对RNN的一个改进,本质上就是对hidden state分成了不同的部分,然后根据不同的频率(时间范围)进行加权和更新,论文的思想很简洁

Motivation

论文主要研究动机来自于现有时间序列建模的reasearch gap

  1. 传统的时间序列建模只能提取一个指定时间步长范围内的信息;
  2. 现有的multi-scale的时间序列模型能够对不同提取不同scale范围内的信息,但是存在2个不足;
    1. multi-scale中不同的scale通常是提前指定的几个scale,比如在CNN中指定不同大小的kernel
    2. 虽然在每个时刻提取了不同scale的信息,但是,不同的scale之间重要性是相同的,缺乏动态性。比如上面图中,时间序列在不同的时刻,可能有些时刻更重视长期依赖,有些时刻更重视短期依赖;这里实际上就是涉及到一个加权的问题

TAMS-RNNs

针对Motivation中的两个问题,论文中提出了两个策略,都很容易理解.

Multi-Scale Feature Disentanglement (MSFD)

给出时间序列\(X=[x_1,..,x_T]\),\(x_i \in R^{d_0}\)

标准的RNN的hidden state计算

\(h_t=f(Wx_t + Uh_{t-1} + b)\),\(h_t \in R^d\),RNN隐藏维度为\(d\)
\(W \in R^{d \times d_0}, U \in R^{d \times d}, b \in R^{d}\)

MSFD中的hidden state计算

把标准及算方法中的\(h_t\)分成K段(small hidden state),每一段的维度是\(p=d/K\),则\(h_t=[h_t^1,...,h_t^K]\),显然,当\(K=1\)时,就是普通的RNN。
进而,在每个时间步分别求解small hidden stae \(h_t^k\)。
\(h_t^k = f(W^k x_t + \tilde{U}h_{t-1}^k + \tilde{b})\),这里\(W^k \in R^{p \times d_0}, \tilde{U} \in R^{p \times p}\)。

MSFD中hidden state的更新

K个small hidden state代表了不同scale的时间信息,那么他们的scale如何不同呢,实际上就是更新频率不同。

通过这种不同的更新频率,让RNN具备了捕获不同scale信息的能力。

Time-Aware Feature Modulation (TAFM)

TAFM实际上就是对不同scale的信息\(h_t^k\)在每个时间步进行加权。


这篇论文公开了代码,但是令我稍有不解的是,2021年录用的论文,大约是在2020年完成吧,使用Python2.7+tensorflow1.11完成,作者可能是位老派tf用户

参考链接

Official implementation

标签:Multi,Scale,RNN,更新,state,scale,时间,Time,hidden
来源: https://www.cnblogs.com/HeartKing/p/16491278.html