点击上方“蓝字”关注“AI开发者”

原标题 | Time Series Analysis with Deep Learning : Simplified
作 者 | Prakhar Ganesh
翻 译 | 呀啦呼
审 校 | 鸢尾、唐里、Pita
注:敬请点击文末【阅读原文】访问文中相关链接,PC查看体验更佳。

 啥是时序分析?

时间序列是按照时间戳(timestamps)排序的数据序列。顾名思义, 时序分析就是对时序数据的分析。

时序数据的种类范围很广,比如你喜欢的水果的每日价格,或比如电表上得到的电压值。一般来说,时序数据的分析侧重于预测,但是也包括传统的分类, 聚类和异常检测等。譬如,你心仪一块表很久了,那你可以尝试通过过去的价格变化来判断嘛时候该下手。

为嘛用深度学习?

时间序列数据可能非常不稳定且复杂。深度学习方法不会先入为主的假设数据的基本模式,并且对噪声(在时间序列数据中很常见)更健壮,因此成为时间序列分析的首选。

数据处理

在我们进行预测之前,非常重要的一步工作是对数据进行预处理,以便于让数学模型能够理解。我们可以通过滑动窗口(slide window)来切割数据点,从而将时序数据转化为有监督学习问题。

循环网络 (RNN)

循环神经网络(RNN)是深度学习网络的一种变形。他们可以记住过去,所以是序列处理的首选。RNN单元是循环神经网络的骨干。RNN单元有两个传入的连接:输入和之前状态。同样,它也具有两个传出的连接:输出和当前状态。这可以帮助我们结合之前和当前输入的信息。

单一RNN单元实在是过于简单了,无法胜任各个不同领域的时序分析。自然而然近些年出现各种各样的RNN变形来适用于具体的不同领域任务。但是热心思想并没有任何变化。

长短期记忆网络(LSTMs)

LSTM单元也是RNN单元,特殊的地方是带有对应状态输入值在0到1之间的"门"。设计“门”的灵感直觉来自于选择忘记或者保留过去的信息,而不是简简单单的记住过去的瞬间。Colar的博客解释的很好,可以看看(国内的简书也有很多科普文,https://colah.github.io/posts/2015-08-Understanding-LSTMs)。

LSTM的内部结构复杂很多, GRU是另一种使用“门”的RNN单元的变形。

卷积-长短期记忆混合神经网络(CNN-LSTMs)

由于状态信息遍历了所有时间戳,RNN所以只能记得最近的过去的信息。LSTM或者GRU之类的门控网络即使可以处理相对来说更长的序列,但是也有自己的局限性。为了更好的理解这玩意,咱们可以详细的看看消失和爆炸梯度。

所以我们如何处理非常长的序列呢?最省事的做法就是缩短序列。一种做到的方法是丢弃信号中存在的细粒度时间信息。可以把通过小组数据点累积在一起并从中创建特征来完成,然后我们把这些特征像单个数据点一样传递给LSTM。

多尺度分层LSTM

当看到这个CNN-LSTM架构,我想到了一件事儿...为啥我们要用CNN来合并小组?为啥不用一个LSTM呢?多尺度分层LSTM就是基于这样的思想。

输入的处理是基于多尺度的,每个尺度都致力于来做一些独特的事儿。适用于更细粒度输入的较低标度专注于提供细粒度(但仅是最近的)时间信息。另一方面,较高的比例集中在提供完整的图片刻画(但没有细粒度的细节)上。多个刻度可以更好地理解时间序列。

下一步

时间序列分析是一个非常古老的领域,包含各种跨学科的问题陈述,每种陈述都有其自身的挑战。但是,尽管每个领域都根据自己的要求调整了模型,但是时间序列分析中仍然有一些一般的研究方向需要加以改进。例如,从最基本的RNN单元到多尺度分层LSTM的每项开发都以某种方式专注于处理更长的序列,但是即使最新的LSTM修改型也有其自身的序列长度限制,而且我们仍然没有一种架构可以 真正处理极长的序列。
这个博客是创建机器学习领域的简化介绍的一部分。在这里关注完整的系列。

Machine Learning : Simplified(https://towardsdatascience.com/machine-learning-simplified-1fe22fec0fac)

或者可以阅读以下的博客

Object Detection : Simplified(https://towardsdatascience.com/object-detection-simplified-e07aa3830954)

参考

[1] Cheng, Min, et al. “MS-LSTM: A multi-scale LSTM model for BGP anomaly detection.” 2016 IEEE 24th International Conference on Network Protocols (ICNP). IEEE, 2016.
[2] Araya, Ignacio A., Carlos Valle, and Héctor Allende. “LSTM-Based Multi-scale Model for Wind Speed Forecasting.” Iberoamerican Congress on Pattern Recognition. Springer, Cham, 2018.
[3] Hochreiter, Sepp, and Jürgen Schmidhuber. “Long short-term memory.” Neural computation 9.8 (1997): 1735–1780.
[4] Vosoughi, Soroush, Prashanth Vijayaraghavan, and Deb Roy. “Tweet2vec: Learning tweet embeddings using character-level cnn-lstm encoder-decoder.” Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval. ACM, 2016.
[5] Pascanu, Razvan, Tomas Mikolov, and Yoshua Bengio. “On the difficulty of training recurrent neural networks.” International conference on machine learning. 2013.
/ 更多阅读 /
点击 阅读原文,查看本文更多内容
继续阅读
阅读原文