GeoMAN:多層Attention網絡用於地理傳感器的時序性預測

做者: 魏祖昌html

1 簡介

在咱們現實生活中,已經部署大量的傳感器(好比氣象站點)。每個傳感器都有本身獨特的地理空間位置,而且不斷的產生時間序列讀數。一組傳感器共同監測一個空間的環境,這些讀數之間就會有空間相關性,咱們稱這些傳感器的讀數爲地理感知時間序列。此外,當不一樣空間位置用同一種傳感器來監測, 一般會產生多種地理感知的時間序列。例如,如圖1(a)所示,道路上的環形探測器會及時報告過往車輛的讀數以及它們的行駛速度。圖1(b)表示傳感器每5分鐘產生三個不一樣的水質化學指標。除了監測以外,對地理感知時間序列預測(如交通預測)的需求也在不斷增加。前端

image.png

圖1:(a)-(b)地理傳感器時序性數據的例子算法

然而,對地理感知時間序列進行預測是很是複雜的,主要受如下兩個複雜因素的影響:網絡

  1. 動態的時空相關性。
  2. 外部因素。傳感器的讀數也受到周圍環境的影響,如氣象(如強風),一天中的時間(如高峯時間)和土地使用狀況。

爲了解決這些挑戰,該論文提出了一個多層次的Attention網絡(GeoMAN)來預測將來幾個小時內地理傳感器的讀數。該論文的研究有三方面的貢獻:app

  • 多層attention機制 咱們構建了一個多層attention機制來建模時空動態關聯。尤爲是在第一層,該論文提出了一種創新的attention機制(由local spatial attention和global spatial attention組成)來捕獲不一樣傳感器時序性序列之間的複雜空間聯繫(好比傳感器內部之間的聯繫)。在第二層,應用了一個temporal attention來建模在時間序列中不一樣時間間隔的動態時間關聯(好比傳感器之間的聯繫)。
  • 外部因素抽取模塊 該模塊設計了一個通用抽取模塊來整合來自不一樣領域的外部參數。而後抽取出來的潛在表明性因素輸入到多層attention網絡中來加強這些外部因素的重要性。

2 多層Attention網絡

圖2展現了該片論文的整個框架。依據encoder-decoder框架,咱們利用兩個分離LSTM網絡,一個用於對輸入序列(好比地理傳感器的歷史時間序列)進行encoder,另外一個則用於預測的輸出序列。更具體的來講,論文中的GeoMAN模型主要是由兩部分組成:框架

  1. 多層attention機制。它的encoder部分用了兩種spatial attention機制,decoder用了一個temporal attention機制。論文中在encoder層中用的兩種不一樣attention機制(local spatial attention和global spatial attention)正如圖2所示,它能經過encoder以前的隱藏狀態,傳感器的歷史數據和空間信息(好比傳感器網絡)來捕獲每一個時間間隔之間的傳感器內部之間的複雜關係。在decoder層中,使用了一個temporal attention來自動選擇以前類似的時間間隔來進行預測。
  2. 外部因素抽取。這個模塊用於處理外部因素的影響,而且將其輸入到decoder層,做爲其輸入的一部分。這裏咱們用ht和st來分別表示encoder層在t時刻的hidden state和cell state。相似的用dt和s'來表示decoder層的這兩部分

framework.png

圖2:該論文的框架。Attn: attention. Local: local spatial attention. Global: global spatial attention. Concat: concatenation層. \hat{y}^{i}_{t}: 在t時刻的predicting value. ct: 在t時刻的context vectors. h0: encoder的初始值.函數

2.1 Spatial Attention

2.1.1 Local Spatial Attention

該論文是首次引入了local spatial attention機制。對於某個傳感器來講,其的局部時間序列之間存在複雜的相關性。好比,一個空氣質量監測站報告不一樣物質的時間序列,如PM2.5(特定物質),NO和SO2。實際上,PM2.5濃度一般受其餘時間序列的影響,包括其餘空氣污染物和當地的天氣情況。爲了解決這個問題,給定第i個傳感器的第k個局部特徵向量(即x_{i,k}),咱們利用attention機制自適應地捕捉目標序列與每一個局部特徵之間的動態相關性,其公式爲:性能

image.png

其中[ ·; ·]是合併操做,\mathbf{v}_l,\mathbf{b}_l \in \mathbb{R}^T, \mathbf{w}_l \in \mathbb{R}^{T \times 2m} and  \mathbf{U}_l \in \mathbb{R}^{T \times T}是學習來的參數。attention的權重的局部特徵值是由輸入的局部特徵和encoder層中的歷史狀態(即 h_{t-1}, s_{t-1})共同決定的,這個權重值表明着每個局部特徵的重要性。一旦咱們得到了attention的權值,就能夠經過下面的公式算出在t時刻的local spatial atttention的輸出向量:學習

image.png

2.1.2 Global Spatial Attention

其餘傳感器所監測的歷史時間序列對將要預測出來的序列,會有直接的影響。然而,影響的權重是高度動態,是隨時間變化的。因爲會有不少不相關的序列,因此直接用全部的時間序列輸入到encoder層來捕獲不一樣傳感器之間的相關性會致使很是高的計算成本而且下降性能。注意,這種影響的權重是受其餘傳感器的局部條件影響的。好比,當一股風從很遠的地方吹來的時候,某些地區的空氣質量會比以前更受這些地方的影響。受此啓發,構建了一種新型的attention機制來捕獲不一樣傳感器之間的動態變化。給定第i個傳感器做爲咱們的預測的對象,其餘的傳感器爲l,咱們就能夠計算他們之間的attention權值(即影響權重),公式以下:大數據

image.png

其中\mathbf{v}_g, \mathbf{u}_g, \mathbf{b}_g \in \mathbb{R}^{T \times 2m}, \mathbf{W}_g \in \mathbb{R}^{T \times 2m}, \mathbf{U}_g \in \mathbb{R}^{T \times T}\mathbf{W'}_g \in \mathbb{R}^{T \times N^t}是學習得來的參數。該attention機制經過參考目標序列和其餘傳感器的局部特徵來自適應地選擇相關傳感器進行預測。同時,經過考慮編碼器中先前hidden state: \mathbf{h}_{t-1}和cell state: \mathbf{s}_{t-1}來跨越時間步長傳播歷史信息。

注意,空間因素也會影響不一樣傳感器之間的相關性。通常來講,地理傳感器是經過顯式或隱式進行相互鏈接的。這裏,咱們使用矩陣\mathbf{P} \in \mathbb{R}^{N_g \times N_g}來表示地理空間的類似度,其中\mathbf{P}_{i,j}表示傳感器i和j之間的類似度。與attention權值不一樣的是,地理空間的類似度能夠視做先驗知識。尤爲是,在若是\mathbf{N}_g太大,選擇最近或類似的傳感器會更好。而後,咱們使用一個softmax函數來保證全部的attention權值和爲1,結合考慮地理空間類似性得出以下的公式:

image.png

其中 \lambda 是一個可調的超參數。若是 \lambda 很大,這個公式就會使attention的權重和地理空間類似度同樣大。經過這些attention權值,咱們就能夠計算出global spatial attention的以下輸出向量:

image.png

2.2 Temporal Attention

因爲隨着編碼長度的增長,encoder-decoder結構的性能會迅速降低,因此增添一個temporal attention機制能夠自適應地選擇encoder層的相關hidden states來產生輸出序列,即,對預測序列中不一樣時間間隔之間的動態時間相關性進行建模。具體來講,爲了計算encoder每一個hidden state下每一個輸出時間t‘處的attention向量,咱們定義:

image.png
image.png

其中

image.png
image.png
都是學習得來的。這些值被一個softmax函數標準化,以建立encoder層隱藏狀態上的attention掩碼。

2.3 外部因素抽取

地理傳感器的時間序列和空間因素(好比POIs和傳感器網絡之間)有很強的關係。形式上,這些因素共同決定了一個區域的功能。此外,還有不少時間因素(如氣象和時間)在影響着傳感器的讀數。在受相關論文啓發之下,該論文設計了一種簡單有效的組建來處理這些因素。 正如上面的圖2所示,首先合併了包括時間特徵,氣象特徵和須要被預測傳感器的SensorID等時間因素。因爲將來時段的天氣狀況未知,咱們使用天氣預報來提升咱們的性能。注意,這些因素大部分是分類的值,不能直接輸入到神經網絡中,咱們將每一個分類的屬性分別輸入到不一樣的embedding層中,將它們轉化爲一個低維向量。在空間因素方面,咱們利用不一樣類別的POIs密度做爲POIs特徵。因爲傳感器網絡的特性取決於特定的環境,咱們就簡單的利用了網絡的結構特徵(如居民和交叉口數量)。最後,咱們將獲得的嵌入向量和空間特徵向量鏈接起來做爲該模塊的輸出,記爲\mathbf{ex}_{t'} \in \mathbb{R}^{N_e} ,其中t'表示decoder層的將來時間步長。

2.4 Encoder-decoder和模型訓練

在encoder層中,咱們將local spatial attention 和 the global spatial attention簡單彙總成:

image.png
咱們把鏈接而成的 \tilde{\mathbf{x}}_t做爲encoder層新的輸入,而且用 \mathbf{h}_t = f_e(\mathbf{h}_{t-1}, \tilde{\mathbf{x}}_t)來更新t時刻的hidden state,其中 f_e是一個LSTM單元。 在decoder層中,一旦咱們得到了將來 t'時刻的 \mathbf{c}_{t'}的環境向量,咱們就能夠把它和外部特徵抽取模塊的輸出 \mathbf{ex}_{t'}和decoder層最後一個輸出 \hat{y}^i_{t'-1}結合起來去更新decoder層的hidden state,公式以下:
image.png

其中f_d是使用在decoder層中LSTM單元。而後,咱們再把先前的環境向量\mathbf{c}_{t'}和如今獲得的hidden state\mathbf{d}_{t'}結合起來,成爲新的hidden state來作以下的最終的預測:

image.png
最後,咱們使用一個線性變換來產生最後的輸出。 由於這個方法是光滑可謂的,因此是能夠經過反向傳播算法來進行訓練的模型的。在這個訓練階段,咱們使用的Adam優化器來最小化傳感器i的預測向量 \hat{\mathbf{y}}^i和實際測量值 \mathbf{y}^i之間的MSE來訓練這個模型:
image.png
其中 \theta都是在所提出的模型中學習來的。

3 實驗

3.1 實驗數據

該論文中用了兩個數據集分別來訓練該模型,數據集的詳細內容如圖3所示:

image.png

圖3:數據集的詳細內容。

可是因爲完整數據沒有公開的問題,咱們後面復現是使用的是一個他提供的sample_data,便是他處理完以後獲得的向量,因此這部分不作深刻介紹,若是對這部分還有疑問或者興趣,能夠自行參考論文相應部分。

3.2 評價指標

咱們使用多個標準來評估咱們的模型,包括根均方偏差(RMSE)和平均絕對偏差(MAE),這兩個標準在迴歸任務中都被普遍使用。

3.3 超參數

鑑於先前的一些研究,該論文設置時間間隔爲6天來作短時間預測。在訓練過程當中,咱們設batch的大小爲256,learning rate爲0.001。在外部特徵自動抽取模塊,論文把SensorID嵌入到 \mathbb{R}^6中,把時間特徵嵌入到 \mathbb{R}^{10}中。總的來講,在這個模型中有4個超參數,其中權衡參數\lambda從經驗上來講是固定在0.1到0.5之間的。對於窗口長度T,咱們令T∈{6,12,24,36,48}。對了簡單起見,咱們在encoder層和decoder層使用相同維度的hidden層,而且在{32, 64, 128, 256}上進行網格搜索。此外,咱們使用堆疊的LSTMs(層數記做q)做爲encoder和decoder的單位,以提升咱們的性能。實驗發現,在設置q=2,m=n=64,\lambda=0.2時在驗證集表現的最好。

4 模型對比

在本節中,咱們將論文的模型與兩個數據集上進行比較。爲了公平起見,在圖4中給出了不一樣參數設置下每種方法的最佳性能。

image.png

圖4:在不一樣模型中的表現對比

在水質預測方面,咱們提出的方法在兩個指標上都明顯優於其餘方法。特別地,GeoMAN在MAE和RMSE上分別以14.2%和13.5%超過了最早進的方法(DA-RNN)。另外一方面,因爲residual chlorine(RC)的濃度遵循必定的週期規律,所以stDNN和RNN方法(即Seq2seq, DA-RNN和GeoMAN)經過考慮更長的時間關係,得到了比stMTMVL和FFA更好的性能。與LSTM對將來時間步長的預測相比,GeoMAN和Seq2seq因爲解碼器組件的積極做用而帶來了顯著的改進。值得注意的是,GBRT在大多數基線上都有較好的表現,這說明了集成方法的優越性。

與相對穩定的水質讀數相比,PM2.5濃度波動較大,預測難度較大。圖4是北京空氣質量數據的綜合比較。很容易看出,咱們的模型同時達到了MAE和RMSE的最佳性能。繼以前的工做關注MAE以後,咱們主要討論了這種度量。論文的方法比這些方法低了7.2%到63.5%,代表它在其餘應用上有更好的泛化性能。另外一個有趣的觀察結果是,stMTMVL在水質預測方面效果很好,但在這方面表現出了劣勢,由於空氣質量預測的聯合學習任務的數量遠遠大於水質預測的聯合學習任務的數量。

5 總結

這篇論文提出了一種基於多層attention的時間序列預測網絡。在第一個層次,應用local和global spatial attention機制來捕獲地理感知數據中的動態傳感器間關聯。在第二層,論文利用temporal attention自適應地選擇相關的時間步長進行預測。此外,論文的模型考慮了外部因素的影響,使用通用的特徵抽取模塊。論文中使用在兩類地理傳感器的數據集上對論文的模型進行了評價,實驗結果代表,論文的模型在和其餘9個模型同時在RMSE和MAE兩個指標得到了最佳的性能。

項目地址:momodel.cn/workspace/5…

6 參考資料

關於咱們

Mo(網址:https://momodel.cn)是一個支持 Python 的人工智能在線建模平臺,能幫助你快速開發、訓練並部署模型。


Mo 人工智能俱樂部 是由網站的研發與產品設計團隊發起、致力於下降人工智能開發與使用門檻的俱樂部。團隊具有大數據處理分析、可視化與數據建模經驗,已承擔多領域智能項目,具有從底層到前端的全線設計開發能力。主要研究方向爲大數據管理分析與人工智能技術,並以此來促進數據驅動的科學研究。

目前俱樂部每兩週在杭州舉辦線下論文分享與學術交流。但願能匯聚來自各行各業對人工智能感興趣的朋友,不斷交流共同成長,推進人工智能民主化、應用普及化。

image.png
相關文章
相關標籤/搜索