序列数据建模-基于状态频率内存(State-Frequency Memory)的 RNN

论文题目:State-Frequency Memory Recurrent Neural Networks (发表在 ICML2017,作者单位:中佛罗里达大学)

(本篇是讲方法的,作者基于该方法写了一篇偏应用的发在了 KDD2017 上:Stock Price Prediction via Discovering Multi-Frequency Trading Patterns)
论文地址:

https://link.zhihu.com/?target=http%3A//120.52.51.19/delivery.acm.org/10.1145/3310000/3305543/p1568-hu.pdf%3Fip%3D218.108.29.107%26id%3D3305543%26acc%3DACTIVE%2520SERVICE%26key%3DBF85BBA5741FDC6E%252E0E9E463C2E5391F8%252E4D4702B0C3E38B35%252E4D4702B0C3E38B35%26__acm__%3D1551525497_f630aee394a2f710f8eb11de933b0abd

论文代码:

tensorflow版:

https://link.zhihu.com/?target=https%3A//github.com/dlarsen5/AdaptiveSFM

Theano版:

https://link.zhihu.com/?target=https%3A//github.com/hhkunming/State-Frequency-Memory-Recurrent-Neural-Networks

背景
时间序列动态性建模的研究由来已久,RNN 被广泛利用于这个领域。虽然已有的 RNN 模型 (如 LSTM,GRU 等)已经被证实是一种强有力的序列建模工具,但是在有一些场景,如在高频交易中预测短期投资策略等表现不佳。

其中一个原因是现有的 RNN 模型只考虑了在时域上的依赖关系,如果我们想要预测频率随着时间变化的时间序列时,只在时域上建模是不够的。举个例子 :在音素分类问题中,一些音素如 ‘p’ 和 ‘t’ 由短的、高频信号产生;而其他如 ‘iy’ 和 ‘ey’ 由长的、低频信号产生。

因此,建模频域上的 pattern 十分重要。

本文将多频分析和建模长期依赖相结合,共同捕获序列信息。提出了 State-frequency Memory (SFM):一种新的 RNN 架构,能将 RNN 中的内存记忆不同频率的信息。序列的信息可以表示成不同状态频率(state-frequency)的组合。对于预测和生成任务,可以动态的学习到一系列的状态频率,并将这些信息保存在内存门(memory gates)中,方便后续预测或生成目标输出。例如:对于短期预测,高频信息更有用;低频信息更有利于长期趋势的预测。

本文另一个贡献点就是 频域的阈值能够随着时间动态适应。

方法

整体介绍

说白了本文就是将 LSTM 中的各种门替换成自己的门,这样能够记住频域上的信息。对应的场景和现有的RNN场景相同:给定一段序列,通过一个带有 memory 的 RNN 对该序列建模。

SFM 和 LSTM 中的每一个 memory 单元中包含一个 [公式] 维的向量。而 SFM 的 memory 中包含 [公式] 个频率组件 [公式] ,即包含一个 [公式] 的矩阵。SFM 将序列的每一个时刻分解成不同频率的部分,能够提供提供细粒度的多频分析,从而建模频域上的依赖关系。

SFM 状态更新

和 LSTM 一样,每一时刻,SFM 中内存单元的更新与前一时刻的内存和当前的输入有关,与此同时,SFM 需要将内存状态分解为 [公式] 个频率组件,这是通过傅里叶变换实现的。

参考链接

https://zhuanlan.zhihu.com/p/58130392

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python量化投资、代码解析与论文精读

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值