GeoMAN:多层Attention网络用于地理传感器的时序性预测
GeoMAN:多層Attention網(wǎng)絡(luò)用于地理傳感器的時(shí)序性預(yù)測
作者: 魏祖昌
1 簡介
在我們現(xiàn)實(shí)生活中,已經(jīng)部署大量的傳感器(比如氣象站點(diǎn))。每一個(gè)傳感器都有自己獨(dú)特的地理空間位置,并且不斷的產(chǎn)生時(shí)間序列讀數(shù)。一組傳感器共同監(jiān)測一個(gè)空間的環(huán)境,這些讀數(shù)之間就會(huì)有空間相關(guān)性,我們稱這些傳感器的讀數(shù)為地理感知時(shí)間序列。此外,當(dāng)不同空間位置用同一種傳感器來監(jiān)測, 通常會(huì)產(chǎn)生多種地理感知的時(shí)間序列。例如,如圖1(a)所示,道路上的環(huán)形探測器會(huì)及時(shí)報(bào)告過往車輛的讀數(shù)以及它們的行駛速度。圖1(b)表示傳感器每5分鐘產(chǎn)生三個(gè)不同的水質(zhì)化學(xué)指標(biāo)。除了監(jiān)測之外,對地理感知時(shí)間序列預(yù)測(如交通預(yù)測)的需求也在不斷增長。
圖1:(a)-(b)地理傳感器時(shí)序性數(shù)據(jù)的例子
然而,對地理感知時(shí)間序列進(jìn)行預(yù)測是非常復(fù)雜的,主要受以下兩個(gè)復(fù)雜因素的影響:
為了解決這些挑戰(zhàn),該論文提出了一個(gè)多層次的Attention網(wǎng)絡(luò)(GeoMAN)來預(yù)測未來幾個(gè)小時(shí)內(nèi)地理傳感器的讀數(shù)。該論文的研究有三方面的貢獻(xiàn):
- 多層attention機(jī)制 我們構(gòu)建了一個(gè)多層attention機(jī)制來建模時(shí)空動(dòng)態(tài)關(guān)聯(lián)。尤其是在第一層,該論文提出了一種創(chuàng)新的attention機(jī)制(由local spatial attention和global spatial attention組成)來捕獲不同傳感器時(shí)序性序列之間的復(fù)雜空間聯(lián)系(比如傳感器內(nèi)部之間的聯(lián)系)。在第二層,應(yīng)用了一個(gè)temporal attention來建模在時(shí)間序列中不同時(shí)間間隔的動(dòng)態(tài)時(shí)間關(guān)聯(lián)(比如傳感器之間的聯(lián)系)。
- 外部因素抽取模塊 該模塊設(shè)計(jì)了一個(gè)通用抽取模塊來整合來自不同領(lǐng)域的外部參數(shù)。然后抽取出來的潛在代表性因素輸入到多層attention網(wǎng)絡(luò)中來增強(qiáng)這些外部因素的重要性。
2 多層Attention網(wǎng)絡(luò)
圖2展示了該片論文的整個(gè)框架。依據(jù)encoder-decoder框架,我們利用兩個(gè)分離LSTM網(wǎng)絡(luò),一個(gè)用于對輸入序列(比如地理傳感器的歷史時(shí)間序列)進(jìn)行encoder,另一個(gè)則用于預(yù)測的輸出序列。更具體的來說,論文中的GeoMAN模型主要是由兩部分組成:
圖2:該論文的框架。Attn: attention. Local: local spatial attention. Global: global spatial attention. Concat: concatenation層. y^ti\hat{y}^{i}_{t}y^?ti?: 在t時(shí)刻的predicting value. ct: 在t時(shí)刻的context vectors. h0: encoder的初始值.
2.1 Spatial Attention
2.1.1 Local Spatial Attention
該論文是首次引入了local spatial attention機(jī)制。對于某個(gè)傳感器來說,其的局部時(shí)間序列之間存在復(fù)雜的相關(guān)性。比如,一個(gè)空氣質(zhì)量監(jiān)測站報(bào)告不同物質(zhì)的時(shí)間序列,如PM2.5(特定物質(zhì)),NO和SO2。實(shí)際上,PM2.5濃度通常受其他時(shí)間序列的影響,包括其他空氣污染物和當(dāng)?shù)氐奶鞖鉅顩r。為了解決這個(gè)問題,給定第i個(gè)傳感器的第k個(gè)局部特征向量(即xi,kx_{i,k}xi,k?),我們利用attention機(jī)制自適應(yīng)地捕捉目標(biāo)序列與每個(gè)局部特征之間的動(dòng)態(tài)相關(guān)性,其公式為:
其中[ ·; ·]是合并操作,vl,bl∈RT,wl∈RT×2mandUl∈RT×T\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}vl?,bl?∈RT,wl?∈RT×2mandUl?∈RT×T是學(xué)習(xí)來的參數(shù)。attention的權(quán)重的局部特征值是由輸入的局部特征和encoder層中的歷史狀態(tài)(即 ht?1h_{t-1}ht?1?, st?1s_{t-1}st?1?)共同決定的,這個(gè)權(quán)重值代表著每一個(gè)局部特征的重要性。一旦我們獲得了attention的權(quán)值,就可以通過下面的公式算出在t時(shí)刻的local spatial atttention的輸出向量:
2.1.2 Global Spatial Attention
其他傳感器所監(jiān)測的歷史時(shí)間序列對將要預(yù)測出來的序列,會(huì)有直接的影響。然而,影響的權(quán)重是高度動(dòng)態(tài),是隨時(shí)間變化的。由于會(huì)有很多不相關(guān)的序列,所以直接用所有的時(shí)間序列輸入到encoder層來捕獲不同傳感器之間的相關(guān)性會(huì)導(dǎo)致非常高的計(jì)算成本并且降低性能。注意,這種影響的權(quán)重是受其他傳感器的局部條件影響的。比如,當(dāng)一股風(fēng)從很遠(yuǎn)的地方吹來的時(shí)候,某些地區(qū)的空氣質(zhì)量會(huì)比之前更受這些地方的影響。受此啟發(fā),構(gòu)建了一種新型的attention機(jī)制來捕獲不同傳感器之間的動(dòng)態(tài)變化。給定第i個(gè)傳感器作為我們的預(yù)測的對象,其他的傳感器為l,我們就可以計(jì)算他們之間的attention權(quán)值(即影響權(quán)重),公式如下:
其中vg,ug,bg∈RT×2m,Wg∈RT×2m,Ug∈RT×T\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}vg?,ug?,bg?∈RT×2m,Wg?∈RT×2m,Ug?∈RT×T和W′g∈RT×Nt\mathbf{W'}_g \in \mathbb{R}^{T \times N^t}W′g?∈RT×Nt是學(xué)習(xí)得來的參數(shù)。該attention機(jī)制通過參考目標(biāo)序列和其他傳感器的局部特征來自適應(yīng)地選擇相關(guān)傳感器進(jìn)行預(yù)測。同時(shí),通過考慮編碼器中先前hidden state: ht?1\mathbf{h}_{t-1}ht?1?和cell state: st?1\mathbf{s}_{t-1}st?1?來跨越時(shí)間步長傳播歷史信息。
注意,空間因素也會(huì)影響不同傳感器之間的相關(guān)性。一般來說,地理傳感器是通過顯式或隱式進(jìn)行相互連接的。這里,我們使用矩陣P∈RNg×Ng\mathbf{P} \in \mathbb{R}^{N_g \times N_g}P∈RNg?×Ng?來表示地理空間的相似度,其中Pi,j\mathbf{P}_{i,j}Pi,j?表示傳感器i和j之間的相似度。與attention權(quán)值不同的是,地理空間的相似度可以視作先驗(yàn)知識。尤其是,在如果Ng\mathbf{N}_gNg?太大,選擇最近或相似的傳感器會(huì)更好。然后,我們使用一個(gè)softmax函數(shù)來保證所有的attention權(quán)值和為1,結(jié)合考慮地理空間相似性得出如下的公式:
其中 λ\lambdaλ 是一個(gè)可調(diào)的超參數(shù)。如果 λ\lambdaλ 很大,這個(gè)公式就會(huì)使attention的權(quán)重和地理空間相似度一樣大。通過這些attention權(quán)值,我們就可以計(jì)算出global spatial attention的如下輸出向量:
2.2 Temporal Attention
由于隨著編碼長度的增加,encoder-decoder結(jié)構(gòu)的性能會(huì)迅速下降,所以增添一個(gè)temporal attention機(jī)制可以自適應(yīng)地選擇encoder層的相關(guān)hidden states來產(chǎn)生輸出序列,即,對預(yù)測序列中不同時(shí)間間隔之間的動(dòng)態(tài)時(shí)間相關(guān)性進(jìn)行建模。具體來說,為了計(jì)算encoder每個(gè)hidden
state下每個(gè)輸出時(shí)間t‘處的attention向量,我們定義:
其中和都是學(xué)習(xí)得來的。這些值被一個(gè)softmax函數(shù)標(biāo)準(zhǔn)化,以創(chuàng)建encoder層隱藏狀態(tài)上的attention掩碼。
2.3 外部因素抽取
地理傳感器的時(shí)間序列和空間因素(比如POIs和傳感器網(wǎng)絡(luò)之間)有很強(qiáng)的關(guān)系。形式上,這些因素共同決定了一個(gè)區(qū)域的功能。此外,還有很多時(shí)間因素(如氣象和時(shí)間)在影響著傳感器的讀數(shù)。在受相關(guān)論文啟發(fā)之下,該論文設(shè)計(jì)了一種簡單有效的組建來處理這些因素。
正如上面的圖2所示,首先合并了包括時(shí)間特征,氣象特征和需要被預(yù)測傳感器的SensorID等時(shí)間因素。由于未來時(shí)段的天氣情況未知,我們使用天氣預(yù)報(bào)來提高我們的性能。注意,這些因素大部分是分類的值,不能直接輸入到神經(jīng)網(wǎng)絡(luò)中,我們將每個(gè)分類的屬性分別輸入到不同的embedding層中,將它們轉(zhuǎn)化為一個(gè)低維向量。在空間因素方面,我們利用不同類別的POIs密度作為POIs特征。由于傳感器網(wǎng)絡(luò)的特性取決于特定的環(huán)境,我們就簡單的利用了網(wǎng)絡(luò)的結(jié)構(gòu)特征(如居民和交叉口數(shù)量)。最后,我們將得到的嵌入向量和空間特征向量連接起來作為該模塊的輸出,記為ext′∈RNe\mathbf{ex}_{t'} \in \mathbb{R}^{N_e}ext′?∈RNe? ,其中t′t't′表示decoder層的未來時(shí)間步長。
2.4 Encoder-decoder和模型訓(xùn)練
在encoder層中,我們將local spatial attention 和 the global spatial attention簡單匯總成:
我們把連接而成的x~t\tilde{\mathbf{x}}_tx~t?作為encoder層新的輸入,并且用ht=fe(ht?1,x~t)\mathbf{h}_t = f_e(\mathbf{h}_{t-1}, \tilde{\mathbf{x}}_t)ht?=fe?(ht?1?,x~t?)來更新t時(shí)刻的hidden state,其中fef_efe?是一個(gè)LSTM單元。
在decoder層中,一旦我們獲得了未來t′t't′時(shí)刻的ct′\mathbf{c}_{t'}ct′?的環(huán)境向量,我們就可以把它和外部特征抽取模塊的輸出ext′\mathbf{ex}_{t'}ext′?和decoder層最后一個(gè)輸出y^t′?1i\hat{y}^i_{t'-1}y^?t′?1i?結(jié)合起來去更新decoder層的hidden state,公式如下:
其中fdf_dfd?是使用在decoder層中LSTM單元。然后,我們再把先前的環(huán)境向量ct′\mathbf{c}_{t'}ct′?和現(xiàn)在得到的hidden statedt′\mathbfozvdkddzhkzd_{t'}dt′?結(jié)合起來,成為新的hidden state來做如下的最終的預(yù)測:
最后,我們使用一個(gè)線性變換來產(chǎn)生最后的輸出。
因?yàn)檫@個(gè)方法是光滑可謂的,所以是可以通過反向傳播算法來進(jìn)行訓(xùn)練的模型的。在這個(gè)訓(xùn)練階段,我們使用的Adam優(yōu)化器來最小化傳感器i的預(yù)測向量y^i\hat{\mathbf{y}}^iy^?i和實(shí)際測量值yi\mathbf{y}^iyi之間的MSE來訓(xùn)練這個(gè)模型:
其中θ\thetaθ都是在所提出的模型中學(xué)習(xí)來的。
3 實(shí)驗(yàn)
3.1 實(shí)驗(yàn)數(shù)據(jù)
該論文中用了兩個(gè)數(shù)據(jù)集分別來訓(xùn)練該模型,數(shù)據(jù)集的詳細(xì)內(nèi)容如圖3所示:
圖3:數(shù)據(jù)集的詳細(xì)內(nèi)容。
但是由于完整數(shù)據(jù)沒有公開的問題,我們后面復(fù)現(xiàn)是使用的是一個(gè)他提供的sample_data,即是他處理完之后得到的向量,所以這部分不做深入介紹,如果對這部分還有疑問或者興趣,可以自行參考論文相應(yīng)部分。
3.2 評價(jià)指標(biāo)
我們使用多個(gè)標(biāo)準(zhǔn)來評估我們的模型,包括根均方誤差(RMSE)和平均絕對誤差(MAE),這兩個(gè)標(biāo)準(zhǔn)在回歸任務(wù)中都被廣泛使用。
3.3 超參數(shù)
鑒于先前的一些研究,該論文設(shè)置時(shí)間間隔為6天來做短期預(yù)測。在訓(xùn)練過程中,我們設(shè)batch的大小為256,learning rate為0.001。在外部特征自動(dòng)抽取模塊,論文把SensorID嵌入到 R6\mathbb{R}^6R6中,把時(shí)間特征嵌入到 R10\mathbb{R}^{10}R10中。總的來說,在這個(gè)模型中有4個(gè)超參數(shù),其中權(quán)衡參數(shù)λ\lambdaλ從經(jīng)驗(yàn)上來說是固定在0.1到0.5之間的。對于窗口長度T,我們令T∈{6,12,24,36,48}。對了簡單起見,我們在encoder層和decoder層使用相同維度的hidden層,并且在{32, 64, 128, 256}上進(jìn)行網(wǎng)格搜索。此外,我們使用堆疊的LSTMs(層數(shù)記作q)作為encoder和decoder的單位,以提高我們的性能。實(shí)驗(yàn)發(fā)現(xiàn),在設(shè)置q=2,m=n=64,λ\lambdaλ=0.2時(shí)在驗(yàn)證集表現(xiàn)的最好。
4 模型對比
在本節(jié)中,我們將論文的模型與兩個(gè)數(shù)據(jù)集上進(jìn)行比較。為了公平起見,在圖4中給出了不同參數(shù)設(shè)置下每種方法的最佳性能。
圖4:在不同模型中的表現(xiàn)對比
在水質(zhì)預(yù)測方面,我們提出的方法在兩個(gè)指標(biāo)上都明顯優(yōu)于其他方法。特別地,GeoMAN在MAE和RMSE上分別以14.2%和13.5%超過了最先進(jìn)的方法(DA-RNN)。另一方面,由于residual chlorine(RC)的濃度遵循一定的周期規(guī)律,因此stDNN和RNN方法(即Seq2seq, DA-RNN和GeoMAN)通過考慮更長的時(shí)間關(guān)系,獲得了比stMTMVL和FFA更好的性能。與LSTM對未來時(shí)間步長的預(yù)測相比,GeoMAN和Seq2seq由于解碼器組件的積極作用而帶來了顯著的改進(jìn)。值得注意的是,GBRT在大多數(shù)基線上都有較好的表現(xiàn),這說明了集成方法的優(yōu)越性。
與相對穩(wěn)定的水質(zhì)讀數(shù)相比,PM2.5濃度波動(dòng)較大,預(yù)測難度較大。圖4是北京空氣質(zhì)量數(shù)據(jù)的綜合比較。很容易看出,我們的模型同時(shí)達(dá)到了MAE和RMSE的最佳性能。繼之前的工作關(guān)注MAE之后,我們主要討論了這種度量。論文的方法比這些方法低了7.2%到63.5%,表明它在其他應(yīng)用上有更好的泛化性能。另一個(gè)有趣的觀察結(jié)果是,stMTMVL在水質(zhì)預(yù)測方面效果很好,但在這方面表現(xiàn)出了劣勢,因?yàn)榭諝赓|(zhì)量預(yù)測的聯(lián)合學(xué)習(xí)任務(wù)的數(shù)量遠(yuǎn)遠(yuǎn)大于水質(zhì)預(yù)測的聯(lián)合學(xué)習(xí)任務(wù)的數(shù)量。
5 總結(jié)
這篇論文提出了一種基于多層attention的時(shí)間序列預(yù)測網(wǎng)絡(luò)。在第一個(gè)層次,應(yīng)用local和global spatial attention機(jī)制來捕獲地理感知數(shù)據(jù)中的動(dòng)態(tài)傳感器間關(guān)聯(lián)。在第二層,論文利用temporal attention自適應(yīng)地選擇相關(guān)的時(shí)間步長進(jìn)行預(yù)測。此外,論文的模型考慮了外部因素的影響,使用通用的特征抽取模塊。論文中使用在兩類地理傳感器的數(shù)據(jù)集上對論文的模型進(jìn)行了評價(jià),實(shí)驗(yàn)結(jié)果表明,論文的模型在和其他9個(gè)模型同時(shí)在RMSE和MAE兩個(gè)指標(biāo)獲得了最佳的性能。
項(xiàng)目地址:https://momodel.cn/workspace/5d96ed18673496721b0792fb?type=app
6 參考資料
- 論文:GeoMAN: Multi-level Attention Networks for Geo-sensory Time Series Prediction
- 博客:softmax詳解
- 博客:attention介紹
- 博客:Adam優(yōu)化器
關(guān)于我們
Mo(網(wǎng)址:https://momodel.cn)是一個(gè)支持 Python 的人工智能在線建模平臺,能幫助你快速開發(fā)、訓(xùn)練并部署模型。
Mo 人工智能俱樂部 是由網(wǎng)站的研發(fā)與產(chǎn)品設(shè)計(jì)團(tuán)隊(duì)發(fā)起、致力于降低人工智能開發(fā)與使用門檻的俱樂部。團(tuán)隊(duì)具備大數(shù)據(jù)處理分析、可視化與數(shù)據(jù)建模經(jīng)驗(yàn),已承擔(dān)多領(lǐng)域智能項(xiàng)目,具備從底層到前端的全線設(shè)計(jì)開發(fā)能力。主要研究方向?yàn)榇髷?shù)據(jù)管理分析與人工智能技術(shù),并以此來促進(jìn)數(shù)據(jù)驅(qū)動(dòng)的科學(xué)研究。
目前俱樂部每兩周在杭州舉辦線下論文分享與學(xué)術(shù)交流。希望能匯聚來自各行各業(yè)對人工智能感興趣的朋友,不斷交流共同成長,推動(dòng)人工智能民主化、應(yīng)用普及化。
總結(jié)
以上是生活随笔為你收集整理的GeoMAN:多层Attention网络用于地理传感器的时序性预测的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Leedcode][JAVA][第55
- 下一篇: [Leetcode][第312题][JA