【注意力机制实例】GeoMAN(一)论文阅读

GeoMAN: Multi-level Attention Networks for Geo-sensory Time Series Prediction

摘要:使用一个考虑多传感器读数、气象数据和空间数据的,基于多层次注意的递归神经网络,预测未来几个小时内的地理传感器读数。模型包括两个方面,1) 一种动态时空依赖模型的多级注意力机制 2)一种融合不同领域外部因素的通用融合模块。主要应用在空气质量和水质量的预测。

引言

预测时空传感器读数的困难在于:

1、动态时空相关性

多个传感器——不同传感器的空间关系是动态的;空间传感器读数时间序列随位置的变化呈非线性变化

单个传感器——读数经常呈周期性变化,其随时空的变化而不同;读数具有突变性

2、外部因素影响如气象、土地利用情况等等

主要贡献:多级注意力机制;融合外部因素机制;

模型

主要是一个Encoder-Decoder模型,encoder中空间局部和全局的attention层用来传感器读数序列,随后得到的预测值再通过decoder中的时间attention层进行处理。

标记方法:

Ng 个传感器,每一个传感器都产生 种时间序列(可以理解为测量了 种观测值),设定其中一种为目标观测值,其他为特征值。

设置一个长度为 T 的时间周期,则表示所有传感器目标观测值在T时段的读数

表示所有传感器目标特征值在T时段的读数。x^{i,k} 是特征空间角度的描述,即第 i 个传感器的第 k 个local特征向量的时间序列;是时间角度描述,即第 i 个传感器第 t 个时刻所有的特征向量读数序列。

以上是局部特征的表示,是局部读数的集合,空间特征的表示。

未来各小时的预测值表示为

局部attention层:

传感器测量的不同时间序列之间会有相互关系,(例如 PM2.5是受到其他空气污染物和局部天气状况影响的)。为了捕捉传感器目标观测值和局部特征之间的动态关系,设置局部attention层:

给定第 i 个传感器的第 k 个local特征向量 x^{i,k}

其中表示第 t 时刻的第 k 维局部特征取值的注意力参数,v_l ,b_l \in R^T ,W_l \in R^{T2m} ,U_l \in R^{TT}是需要学习的参数。

相当于是 k 特征对每一个特征计算注意力,这个模型为什么是这个样子我也不知道欸。。

\alpha^k_t 为特征向量的attention权重,由encoder阶段中输入的特征向量与历史状态决定(如 h_(t-1),s_(t-1) ),这个权重衡量了传感器内部收集的不同特征的重要性高低。

Local Spatial Attention的输出向量如下,其中 x_t^{i,1} 代表第 i 个传感器在第 t 时刻的第 1 维特征取值。

x_t^{local}=(\alpha_t^{1}x_t^{i,1},\alpha_t^{2}x_t^{i,2}....\alpha_t^{N_l}x_t^{i,N_l})

全局attention层:

周围传感器的影响是高度动态的,也就是说,如果将相邻传感器的读数都考虑进来,那么参与考虑的传感器范围及其影响都是随时间变化的(当风从偏僻的地方刮来时,某一地区的空气质量受这些地方的影响比过去更大)为了捕捉不同传感器之间影响的动态关系,设置全局attention层:

其中 v_g,u_g,b_g \in R^T, W_g \in R^{T2m}, U_g \in R^{TT}, W_g^{'} \in R^{T*N_l}是需要学习的参数,

相当于是 t 时刻传感器i 对另一个传感器 l 计算注意力,和输入的特征向量与历史状态、l 传感器的所有目标观测值和特征观测值有关

这种attention机制可以自适应地选择合适的的相关传感器数据序列。attention权重的计算方式如下

其中 P_{i,l} 表示传感器 i,l 之间的地理相关性,如地理距离的倒数\lambda 则是可调的超参,如果 \lambda 很大,attention权重趋于反距离加权法(IDW)。当 N_g 很大时,可以用与目标传感器距离最近的前 k 个传感器作为近似代替。

Global Spatial Attention的输出向量为

即为注意力参数和目标观测值的乘积。

时间Attention层

Cho等人在On the properties of neural machine translation: Encoder-decoder approaches一文指出Encoder-Decoder结构的性能会随着Encoder长度的增长而迅速下降,所以需要在Decoder中也需要引入attention机制来解决这个问题。attention机制可以使Decoder自适应地选取Encoder中的应着重关注隐藏层状态。

其中W_d \in R^{mm} , W_d^{'} \in R^{m2n} , v_d,b_d \in R^{m} 是需要学习的参数。

这些分数通过一个SoftMax函数进行标准化,以在编码器隐藏状态上创建注意力屏蔽。

External Factor Fusion

这一步是在Decoder中融合外部因素,这些因素包括time features, meteorological features, SensorID, POIs&Sensor networks,需要注意的是这些外部因素中的大部分都是离散的,所以作者将这些特征映射为低维向量分别送入不同的embedding层中。

作者还使用了POIs密度作为POIs的特征,Sensor networks采用的是比较简单的传感器网络结构特征(例如十字路口数量与邻近传感器数量)。

由于未来的天气信息难以获取,所以作者采用的是天气预报信息。

Encoder-decoder & Model Training

Encoder中

对于 t 时刻,Encoder的输入为这里是直接合并向量。

,用以更新状态,使用的是LSTM神经元,

Decoder中

用以更新状态,其中 Ct 就是之前计算出的注意力加权值,ex_t 就是前面融合的外部因素特征向量, y_(t-1)^i 是 对 t-1 时刻的预测值,计算方法为

其中 W_m \in R^{n*(n+m)},b_m \in R_n,v_y \in R^n, b_y \in R 是需要学习的参数。

最后,采用反向传播算法训练网络,Optimizer采用的是 Adam ,由于是回归问题,loss函数用的是最常见的均方误差算法||y_i-y_i^{true}||_2^2

实验结果

作者采用了两个数据集,分别是中国东南某城市的管网水质和北京市空气质量。

作者比较了不同Encoder长度下的模型表现,用于验证attention机制的有效性。结果表明当 T=24 时模型在水质数据集下的RMSE最小,当 T 增大时模型的表现也随之快速下降。

不同于水质测试集,当 T=12 时模型在空气质量数据集上RMSE最小,显示出空气质量数据集中并没有在水质测试集中那么长的时间依赖性。

去掉了attention机制的GeoMAN-nt模型与去掉了融合外部因素的GeoMAN-ne模型表现都有所下降,换句话说,这两种方式都提高了模型的性能。

未来工作

作者将会继续扩展该模型以实现长期的预测,以及探索在现实世界中有限的传感器数量下,实现高精度的地理传感器时间序列预测。

参考网址

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

论文GeoMAN:Multi-level Attention Networks for Geo-sensory Time Series Prediction

猜你喜欢

转载自blog.csdn.net/weiwanshu/article/details/87798893
今日推荐