論文閱讀-attetion的一些用法

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章