论文笔记:Stochastic Weight Completion for Road Networks using Graph Convolutional Networks
ICDE2019
pytorch 筆記: 復現論文 Stochastic Weight Completion for Road Networks using Graph Convolutional Networks_UQI-LIUWJ的博客-CSDN博客
0 摘要
????????按需出行服務和無人駕駛都需要高精度的路線規劃,這要求對當前路網有一個很精確的表示。
? ? ? ? 交通網絡中的一個子路段的通行時間通常被建模成一個隨著時間變化的分布。這個分布可以捕捉不同時間交通的變化情況,以及可以反應“不同的司機可能在同一時間在同一條子路段上的行駛時間不同”的情況。
? ? ? ? 這樣的一個隨機權重可以從GPS或者其他檢測數據中提取得到。
? ? ? ? 然而,即使非常龐大的數據也不可能在所有時候都能覆蓋所有的子路段。但是高精度路線規劃又需要對所有子路段的隨機權重。
? ? ? ? 本篇論文解決了填充隨機權重的問題。
? ? ? ? 本文提出了一種技術,可以通過只覆蓋了一部分子路段信息的交通數據,預測所有子路段的隨機邊權重。?
? ? ? ? 本文提出了一種通用學習框架(圖卷積權重補全 graph convolutional weight completion GCWC),該模型可以利用交通路網圖的拓撲結構,以及鄰接邊之間的關聯權重,來預測所有邊的隨機權重。
? ? ? ? 然后,本文將文本信息融入GCWC中,來進一步提升精準程度。
?1 introduction
以出租車為例:
? ? ? ? 如果出租車考慮不同路徑的行駛速度分布而不是平均速度的話,他可能會找到有最高概率準時到達的路徑。而用平均速度的話,可能會導致不可靠的路徑選擇。
? ? ? ? 舉一個例子:比如我們現在有兩條候選路徑P1和P2
? ? ? ? ? ? ? ? P1的行駛時間分布為{(30,0.2},(40,0.8)}
? ? ? ? ? ? ? ? P2的行駛時間分布為{(30,0.5),(40,0.3),(50,0.2)}
? ? ? ? 如果乘客需要在40分鐘以內到達機場,那么使用路徑P1會比P2好(因為準時到的概率更高)
? ? ? ? 相反地,如果考慮平均時間的話,P2會更好,因為P2的通行時間期望為37分鐘,P1為38分鐘。
? ? ? ? 然而,這樣的情況面臨數據稀疏性問題(data sparseness problem)。因為交通數據可能并不能覆蓋到每一條邊上,同時測出來的數據在一些時候可能會出錯。
? ? ? ? 在這篇論文中,我們確定了隨機權重補全(stochastic weight completion)問題。給定交通數據,其中只有一部分子路段有數據,我們的目標是將所有的子路段和對應的隨機權重一一準確對應。
? ? ? ? 以下圖為例:
?
? ? ? ? 整個路網中有6條有向邊。
? ? ? ? 我們假設在8:15~8:30的時間段內,只有邊e5和邊e6有GPS交通數據,并且只有這兩個點可以在這個時間段內和隨即權重相關聯。
? ? ? ? 比如,當我們在8:15~8:30的時間段內遍歷e5,我們有0.3的概率以5m/s~10m/s的速度遍歷;有0.5的概率以10~15m/s的速度遍歷,有0.2的概率以15~20m/s的速度遍歷。
? ? ? ? 其他邊的隨機權重(e1,e2,e3,e4)是未知的。可能在其他的時間間隔內,會有另外的一些子路段有數據,但也會有另外的一些子路段沒有數據。
? ? ? ? 為了方便操作,我們將交通圖上的這些信息用矩陣的形式表示,其中矩陣的每一行表示了一個子路段的隨機權重。(如圖1中間部分所示,W的前4行數據是不知道的,因為e1~e4的隨機權重數據是未知的。第五行和第六行分別代表了邊e5和邊e6的隨機權重?)
? ? ? ? 我們隨機權重補全的目標是要去預測所有沒有交通數據的子路段的隨機權重(比如上圖的e1~e4)
? ? ? ? ?交通路網中不同邊之間的交通速度具有高度的關聯性。
????????之前解決交通數據稀疏性問題(data sparseness)的研究通常假定相鄰的邊有相似的(基于速度的)權重。
? ? ? ?因此,被交通數據覆蓋的邊的權重可以傳播到它們未被交通數據覆蓋的相鄰邊,使用回歸與設計過的損失函數,考慮相鄰邊之間權重的差異。
????????然而,相似性假設可能并不總是正確的,因為不同邊的行進速度之間的相關性可能非常復雜。 僅考慮相鄰邊之間的權重相似性無法準確地對復雜的相關性進行建模。
???????? 此外,現有研究僅考慮確定性權重(例如,平均行駛速度)。 將它們擴展到支持隨機權重(例如行駛速度分布)并非易事。
? ? ? ? 因此,一種能夠捕獲復雜相關性并支持隨機權重的數據驅動方法是亟需的。 ?
?????????我們提出了一個數據驅動的、基于深度學習的框架,其目標是捕獲道路網絡中邊權重之間的復雜相關性,這反過來有助于我們估計沒有數據的邊的隨機權重。
????????我們首先使用譜圖卷積將道路網絡的拓撲結構編碼為圖卷積神經網絡 (GCNN)。
????????然后,我們將可用的交通數據作為輸入和有標記的輸出,輸入到 GCNN模型中,讓 GCNN 以“無監督”的方式學習邊權重的復雜相關性(即不需要額外的標記數據作為輸出)。
????????然后使用學習的 GCNN 來完成沒有數據的邊緣的隨機權重。
????????此外,我們提出了一種高級模型,該模型將額外的上下文信息(例如時間間隔、星期幾等)作為輸入,從而能夠進一步提高完成權重的準確性。
? ? ? ? 我們所提出的框架是通用的,因為它能夠支持隨機和確定性邊緣權重,并且在完成確定性邊緣權重時也優于最先進的方法。
?????????據我們所知,這是對隨機權重補全的首次研究。
????????特別是,我們做出了四項貢獻:
- 首先,我們將隨機權重補全問題形式化。
- 其次,我們提出了一個使用圖卷積神經網絡的數據驅動框架來解決這個問題。 ?
- 第三,我們通過考慮額外的上下文信息來擴展框架,這進一步提高了準確性。
- 第四,我們使用 GPS 和環路檢測器數據集進行了廣泛的實驗,以深入了解框架的有效性。
2 相關工作
2.1 道路網絡中的數據稀缺性問題
????????盡管交通預測問題已被廣泛研究,但只有少數研究考慮了道路網絡中的數據稀疏問題。
????????最近,一種潛在空間模型 (LSM)被提出, 來估計沒有環路檢測數據的邊的權重。在這種模型框架下,該研究使用非負矩陣分解作為編碼器來學習潛在空間特征,這有助于在沒有數據的情況下估計邊的權重。 LSM 是目前最先進的方法。
????????所有現有的解決數據稀疏問題的研究都只考慮確定性權重,這些方法都不能以直接的方式擴展到隨機權重的計算上。
????????此外,它們都采用線性模型來處理邊緣權重之間的相關性。 然而,這種相關性可能是高度非線性的 。
????????我們提出了一個圖卷積權重完成框架,該框架在考慮非線性權重相關性的同時,可以對邊的隨機權重進行一定的注釋。
2.2 交通領域的深度學習問題
????????基于交通傳感器數據,帶有自動編碼器的 RNN 被用來進行交通預測。
????????然而,上面這種方法忽略了傳感器之間的空間相關性。為了解決這個問題,另一種方法使用擴散卷積網絡,它能夠對空間相關性進行建模,與 RNN 一起,來進行交通流量預測 。
????????經典的卷積網絡也可以對交通傳感器之間的相關性進行建模。但是,這些方法僅限于預測確定性交通流量值,不支持隨機值。此外,這些方法假設有足夠的交通數據,可以覆蓋道路網絡中的所有邊,而我們的模型則需要考慮數據稀疏的情況。最
????????近的一項研究側重于使用多任務學習(multi-task)對起點-目的地對的通行時間進行估計,而不是對交通路段的通行時間進行估計。
????????多任務學習也用于區分來自不同類型的駕駛員的軌跡[22]。
????????據我們所知,本文提出的框架是第一個用于道路網絡圖中隨機權重補全的深度學習框架。
3 問題設定
3.1 路網
? ? ? ? 路網經常被表示成H=(V,E)的形式,其中集合V表示了路口點,表示了子路段。
? ? ? ? 我們把路網建模成一個圖G=(E,A),其中E是邊集,A是一個|E|×|E|的鄰接矩陣(表示點i和點j之間有相連邊,表示點i和點j之間沒有相連邊)
? ? ? ? ?下圖表示了路網,路網對應的圖,以及圖的鄰接矩陣
3.2 隨機權重
? ? ? ? 為了捕獲交通中的時間相關性,我們將一天劃分成多個時間片段(eg,將一天分為96個15分鐘為間隔的時間片段)。
? ? ? ? 基于這個,我們可以引入一個隨機權重方程其中TI是整個時間域,E是邊集合,D是所有可能的速度分布的集合。
? ? ? ? 給定一條特定的邊,以及時間間隔函數表示在特定的時間間隔TI內,邊ei的速度分布
?????????我們首先需要指定我們需要的時間段
? ? ? ? 然后我們把邊集分成和?,這兩個集合分別代表了有交通數據和沒有交通數據的邊集。其中
? ? ? 以圖1為例,??Tj=[8:15,8:30]
? ? ? ?對于不同的點,直方圖的每個柱體代表的間隔是一樣的,因此,我們可以用落在不同直方圖柱體的概率來表示這條邊在特定時間的速度分布。
? ? ? ? 假設我們有n條邊,直方圖一共有m個柱體,那么在時間片段Tj,所有邊的隨機權重可以被表示成一個n×m的矩陣。其中每一行代表了一條邊的隨機權重(如果, 那么wi為空)
3.3 問題格式化
? ? ? ? 給定一條中某一個時間片段Tj,給定一個初始化的隨機權重矩陣W,隨機權重補全任務是要把W中的空行填充,賦上我們預測的隨機權重,使得沒有空行
? ? ? ? ?這相當于對每一個,初始化
? ? ? ? 為了方便之后的表述,我們這里形式化一些符號:
| G | 路網圖 |
| E | 邊集合 |
| V | 點集合 |
| A | 鄰接矩陣 |
| n | 邊的數量 |
| m | 直方圖的W |
| W | 輸入的隨機權重矩陣 |
| 實際的隨機權重矩陣 | |
| 預測的和完整的隨機權重矩陣 | |
| 文本變量 |
?3.4 方法概述
? ? ? ? 我們提出了一種基本的模型和一種提高版的模型。
? ? ? ? 基本的模型將一個初始化的、只有一部分行有值的隨機權重矩陣W,和邊鄰接矩陣A作為輸入。基本模型的目的是從W和A中學習圖卷積核,然后生成一個完整的隨機權重矩陣
? ? ? ? 然而,基本模型并沒有充分利用很重要的文本信息(contextual information)【比如,不同的時間片段、今天是一個禮拜的星期幾)。為了更好地利用這種在基本模型中缺省的信息,我們提出了提高版的模型。????????
? ? ? ? 這個模型不僅把W和A作為輸入,還把一些文本信息放入輸入中,使用貝葉斯推斷模型來建立文本信息和基本模型輸出之間的關系。這種方式可以提高輸出的?隨機權重矩陣的預測精準度。
?4 基本模型
4.1 模型概述
?????????不同邊之間的隨機權重可以共享相關的特征。為了建模這一相關特征,我們將隨機權重矩陣W轉換成隱藏向量。基于C,我們建立一個沒有空行的新隨機權重矩陣
? ? ? ? ?整個過程可以看作一個自動編碼器,我們先把不完整的隨機權重矩陣編碼成C,然后將C解碼成完整的權重編碼
? ? ? ? ?上圖展示了GCWC的完整架構
? ? ? ? 首先,我們把隨機權重矩陣W以及鄰接矩陣A作為輸入,喂入GCWC中
? ? ? ? 然后,我們使用卷積和最大池化將W編碼成一組特征是C的向量
? ? ? ? 之后,我們分別通過全連接層和softmax層(最終輸出層)編碼C,并得到最終估計得到的?隨機權重矩陣?(類似于自動編碼器中的解碼操作)
? ? ? ? 在訓練階段,W也會在反向傳播階段被用作標簽(label)的來源。我們可以通過最小化損失函數的方式來學習框架的參數,其中損失函數被定義為:我們估計的隨機權重矩陣和實際的隨機權重矩陣之間(有交通數值的初始化隨機權重)的KL散度
4.2 卷積層
? ? ? ? 在傳統的CNN中,基于“輸入矩陣相鄰的元素共享相似的特征”這一假設,二維的卷積核被CNN模型使用。
? ? ? ? 但在我們的設置中,作為輸入的隨機權重矩陣可能不能很好地滿足這一假設(比如還是圖1中,e5和e6在隨機權重矩陣上是相連的,但是在交通圖上是不相連的)。
? ? ? ? 因此,我們使用了GCN來將路網的拓撲結構考慮進我們的模型中。這里我們使用簡化的切比雪夫GNN(Simplified ChebNet)
4.2.1 ChebNet
? ? ? ? 我們記拉普拉斯矩陣為L=D-A,標準化拉普拉斯矩陣為,其中是L最大的特征值
? ? ? ? 在卷積層中,我們通過使用標準化拉普拉斯矩陣,把圖卷積核使用到輸入的隨機權重矩陣W上。
? ? ? ? W矩陣的列向量表示了所有節點在第j個數據區間(在某一個特定的速度區間)的權重(概率)大小,(j∈[1,m])
? ? ? ? 基于某一個和?,我們可以生成一個矩陣,其中。這里表示x和第i階切比雪夫多項式卷積核()的卷積結果(即),k是一個超參數,表示切比雪夫多項式進行到幾階。?
????????
? ? ? ? 圖卷積為
? ? ? ? ?詳細地來說,首先?然后()?
然后【注意一點,此時因為是第i階切比雪夫多項式卷積核,所以此時切比雪夫多項式的變量是而不是x】,所以的系數才是】
? ? ? ? 最后我們定義了一個過濾器(維度的矩陣),來將各個xi加權求和
?
? ? ? ? 這時候
——>這時候得到的是某一個速度區間的H
?
????????還是以圖1為例,圖1有6條邊和3個不同的速度區間。對于[5,10)的速度區間,我們有:
?
????????假設k=2,那么我們通過鄰接矩陣A來構建相應的Y1:
?
????????第一行就是?,第二行是和加權的拉普拉斯矩陣相乘之后的結果 【也即和一階切比雪夫多項式進行卷積之后的結果】
????????然后,我們將作為過濾器,和Y1相乘,得到加權后的H1:
?
? ? ? ? 求得H1之后,邊e5和邊e6的信息就被傳遞到邊e1,e2,e3,e4中去了?
? ? ? ? ?給定一個作為輸入的隨機權重矩陣W,對于W中的每一個列向量(j∈[1,m]),我們將f個過濾器應用到他們的切比雪夫簡化GNN中。
? ? ? ? 于是,對每一個,我們得到f個相應的H:‘
? ? ? ?
????????然后,對于每一個,(l∈[1,f]),我們將所有列向量求得的H(卷積結果)求和(求和結果Ql是一個向量)
????????
? ? ? ? 接著,我們把所有的Q疊加起來,得到一個矩陣這個Q就是最終從卷積層得到的結果。(f個過濾器代表了f個不同特征)
4.3 池化層
? ? ? ? 在卷積層中,有些邊可能仍然只有零值。因此我們進一步通過最大池化操作(max pooling)壓縮卷積結果
? ? ? ? 我們使用一個基于圖的多層池化算法,使用圖的拓撲結構和隨機權重分布,來識別邊之間的集簇關系。(具體怎么分組的,論文里沒有說明,挖一個坑,看完代碼填上)
????????
????????比如,在圖3中,e1,e2,e4,e5匯成一個集簇,e3,e6匯成另外的一個集簇
? ? ? ? 基于這個分集簇的方法,每一個卷積矩陣Ql被進一步壓縮成更緊縮的矩陣Cl(l∈[1,f]),現在,我們把這一組Ci的值看成隱空間上的特征集
4.4 輸出層
?
????????經過池化層之后,我們獲得了可以捕獲輸入矩陣W特征的壓縮矩陣C。于是,我們可以將壓縮矩陣解碼成一個新的隨機權重矩陣
? ? ? ? 我們首先使用一個全連接層來獲得一個矩陣Z,這個矩陣代表了從集合C中解碼得到的所有邊的隨機權重(其中n是邊的數量,?,m是速度區間的數量)?
4.4.1 softmax層
? ? ? ? ?但是最終的輸出需要滿足兩個條件
1,對于每一個中的(i∈[1,n],j∈[1,m]),它的取值都必須在[0,1]之間
2,
? ? ? ? 于是,我們對每一個?使用softmax:
?
最終,我們有:
4.5 損失函數
? ? ? ? GCWC的損失函數使用了KL散度衡量輸入隨機權重矩陣和預測隨機權重矩陣之間的差距:
? ? ? ? 我們一共有n條邊,但是模型重點是有觀測數據的那一些邊。因此我們在損失函數那里設置了一個權重函數I,當第i條邊有觀測交通數據的時候,否則
? ? ? ? 這里我們使用ε是為了防止log的時候出現0
?5 帶文本的GCWC
? ? ? ? 當我們考慮某一特定時間片段的隨機權重矩陣W的時候,我們可以同時考慮一組文本信息。
? ? ? ? 在這里,我們考慮三種文本信息:時間片段,周中星期幾以及是否有觀測值
? ? ? ? :我們使用一個one-hot向量來表示一天中特定的時間片段(比如,如果我們要描述[0:15,0:30],那么就是第二個維度為1,其他的都是0)
????????:我們使用一個7位的one-hot向量來表示這是星期幾
????????:表示在當前時間片段內,哪些邊有觀測數值(是一個n維向量,哪一條邊有值,那么對應的維度為1,否則為0)
?下圖是帶文本的GCWC的流程圖:
?
?????????我們這里使用P(Z)表示基本GCWC的輸出,其中P()表示softmax操作
????????文本嵌入模塊首先把、、表示成相同維度的向量。然后和GCWC的輸出P(Z)一起,分別求得有了各個文本之后,有預測的隨機權重矩陣Z的條件概率、、
? ? ? ? 貝葉斯推斷模塊將P(Z)、、、作為輸入,他求得有了所有文本信息之后,有Z的概率
?5.1 文本嵌入模塊
? ? ? ? 這里的文本嵌入模塊具有一定的普適性——也就是說,不止我們之前說的三種文本信息適用,之后如果我們還有其他的文本信息(天氣情況,交通狀況,等等),一樣可以使用這個文本嵌入模塊。
? ? ? ? 鑒于不同的?、、?,我們使用了兩種不同的模型(嵌入模型和全連接模型)
5.1.1 嵌入層(embedding layer)
? ? ? ? 對于、,我們使用了嵌入層,將one-hot 稀疏編碼 表示成更 緊致的向量。
?
? ? ? ? 對于某一個one-hot 向量,嵌入層的作用是將?表示成(其中?)
? ? ? ? 然后,我們對每一個學到的使用softmax函數,得到
? ? ? ? 相似地,我們可以得到
5.1.2 全連接層
????????中可能不止一個1.而在一些embedding方法中,輸入的向量必須是one-hot 向量。于是,我們引入了一種全連接層來將嵌入到更低維的空間中(其中,)
? ? ? ? 用公式表示,我們有?
????????
? ? ? ? 這里是權重矩陣,是偏差向量,σ是softmax函數
?5.2 計算條件概率
????????我們使用了條件概率卷積神經網絡(conditional probability convolutional neural network CP-CNN)來捕獲邊j的隨機權重zj和不同類型的文本之間的關系
?
? ? ? ? 為了簡化說明,我們用Xi表示文本。(Xi可以是?、、?)?
? ? ? ? 如上圖5(a)所述,我們將和相乘。是之前用嵌入層或者全連接層得到的文本表示。?是前面GCWC得到的某一條特定的邊對應的隨機權重。
? ? ? ? 作為結果,我們得到了 一個矩陣,該矩陣將第j條邊的隨機權重和不同文本信息聯系了起來。
? ? ? ? 然后我們使用經典的卷積過濾來捕獲隨機權重在各個文本下的條件概率。
? ? ? ? 還是以圖1為例,我們有3段速度區間[5,10),[10,15),[15,20) 【注:原文是[0,20),[20,40),[40,60),感覺是不是原文寫錯了】。如果我們使用2*2的卷積核在圖5(b)的最左邊陰影區間內,我們將可以捕獲兩個速度區間和兩個文本條目之間的關系(原文說的是,速度?[5,10),[10,15)和時間片段[8:00,8:15],[8:15,8:30]之間的關系;個人觀點,因為時間片段相關的文本信息已經被embedding成了一個更低維度的向量,所以可能包括的信息比[8:00,8:15],[8:15,8:30]還要多)
? ? ? ? 如圖5(b)所示,我們使用f'個卷積核,得到了f’個矩陣,每個矩陣的大小為
? ? ? ? 接著,我們使用一個大小為2×1的最大池化層來學習更多的關聯性?。通過池化層之后,我們將獲得大小為的矩陣
? ? ? ? 然后我們使用全連接層將f'個的矩陣拼接成一個的向量(m維度,也就是速度間隔維度不變,文本信息維度的個元素通過全連接層變成一個),這個向量便代表了j邊的隨機權重在已知文本Xi下的條件概率。
? ? ? ? 以此類推,我們可以對所有的n條邊進行以上操作,得到?即當我們得到文本信息Xi時候的隨機權重矩陣的條件概率
?
?5.3 貝葉斯推斷
? ? ? ? 我們使用貝葉斯推斷模型來獲得一個已知所有類型的文本信息??、、?的情況下,隨機權重矩陣Z的條件概率
? ? ? ? 一般地,假設我們有N種類型的文本信息,我們通過上一步獲得了Z在各個條件下分別的條件概率。我們現在要做的是求得,作為我們最終的隨機權重矩陣。
? ? ? ?在這里,我們假設不同的文本信息之間是獨立的,即,這個也是很直觀的,類似于一天中的時間、一周中的星期幾、那幾個路段有數據等,都是獨立的,沒有很明顯的相關性。
? ? ? ? 于是,我們有:
(貝葉斯定理)
(我們假設的獨立性)
?(條件概率)
(X1,...XN獨立,自然也在Z下條件獨立)?
(分子分母同時乘以N-1個P(Z))
(分母條件概率合并,分子提上去)
(條件概率)
?因此,我們可以計算我們的=
?
然后,我們需要對(10)的結果進行正則化,使得
?1)對于每一個
2)
?5.4 損失函數
這里的損失函數和之前GCWC的一致,我就把之間的內容貼過來了
?GCWC的損失函數使用了KL散度衡量輸入隨機權重矩陣和預測隨機權重矩陣之間的差距:
? ? ? ? 我們一共有n條邊,但是模型重點是有觀測數據的那一些邊。因此我們在損失函數那里設置了一個權重函數I,當第i條邊有觀測交通數據的時候,否則
? ? ? ? 這里我們使用ε是為了防止log的時候出現0
?6 實驗部分
6.1 數據集
? ? ? ? 我們使用兩個交通的數據集。同時,我們將速度片段從0到40m/s八等分。
6.1.1 HW(highway tollgate network)
? ? ? ? 這個數據集有24個子路段,因此我們的隨機權重矩陣為:
6.1.2 CI (city road network)
? ? ? ? 這個數據集是從14864輛成都的出租車上獲得的。我們使用其中的172個子路段,因此這個數據集的隨機權重矩陣為
6.1.3 ground truth 和輸入數據
? ? ? ? 給定了時間片段之后,我們就可以構建ground truth的隨機權重矩陣,我們只建立至少有5段觀測記錄的邊。
? ? ? ? 然后我們從n條邊中隨機選擇?條邊(rm是一個移除比例,在這里我們設置為0.5,0.6,0.7,0.8),將這些邊的隨機權重設置為0。于是我們得到了我們的輸入W。將W作為輸入,我們就可以用我們之前介紹的模型來估計一個隨機權重矩陣。我們可以通過比較?和之間的差距來判斷我們模型的精準程度。
? ? ? ? ?需要注意的是,可能本來就有空行(鑒于某一些邊可能本來就沒有交通觀測值,或者交通觀測值小于5個,我們不初始化這條邊)。盡管如此,我們還是需要將一些邊的隨機權重抹除(這樣才能夠訓練,知道我們參數的選擇正確與否)
? ? ? ? 對于數據集,我們將數據集分成五份,使用5折交叉驗證(5-cross validation)來進行訓練。
?6.2 模型的功能
? ? ? ? 我們提出的兩個模型,GCWC和A-GCWC都是具有一定普適性的。我們把模型的設定稍作修改,便可以得到不同的功能。
? ? ? ? 這里,我們考慮三種功能:估計/預測隨機權重矩陣(以直方圖的形式),估計平均速度(以確定值的形式)。這里我們用來表示時間片段T下的權重矩陣。
?6.2.1 估計 estimation
? ? ? ? 給定Ti時刻的輸入隨機權重矩陣(其中有一些邊沒有權重),我們去預測
? ? ? ? 在訓練的時候,對于訓練集?(不同時刻的輸入隨機權重矩陣),我們使用自己作為標簽,來訓練GCWC和A-GCWC。?
? ? ? ? 在測試的時候,給定輸入隨機權重矩陣,估計的隨機權重矩陣會和ground truth隨機權重矩陣相比較
6.2.2 預測prediction
? ? ? ? ?給定Ti時刻的輸入隨機權重矩陣(其中有一些邊沒有權重),我們去預測
?????????訓練的時候,對于訓練集?(不同時刻的輸入隨機權重矩陣),我們使用作為標簽,來訓練GCWC和A-GCWC。
? ? ? ? 與此同時,我們要確認和有相同的移除比例rm
? ? ? ? 在測試的時候,給定輸入隨即權重,預測的隨機權重矩陣會和ground truth 隨機權重矩陣相比較
表2說明了estimation和prediction之間的異同
?6.2.3 平均 average
? ? ? ? 這個的配置和估計estimation類似,給定輸入矩陣,我們希望在時間片段Tj時預估每一條邊的確定平均速度
? ? ? ? 之后這一部分我持保留意見,原文的意思是把4.4 公式(2)中的softmax替換成sigmoid;,就能得到一個,但是sigmoid如果參數是一個向量的話,結果應該還是一個向量才對,維度應該不會變成1維的(softmax然后加權求和我覺得就可以了,這個我事后看一下作者的code,想一想是不是我理解錯了,這里放一個伏筆)
?6.3 模型的設定
? ? ? ? 在表3中,我們展現了所有模型的超參數(注:A-GCWC的β參數,也就是各文本被壓縮到的響亮的維度,統一設置為4)
? ? ? ? ?我們將為了估計和預測任務的模型記為HIST,將為了平均任務的模型記為?AVG
? ? ? ? 在表格中,#Para表示參數的總數(卷積核的參數、全連接層的參數、激活函數的偏差等),這個代表了不同神經網絡的復雜度。這個數值越大,表示神經網絡越復雜。通過表格中的#Para,我們可以得到結論:CNN、GCWC、A-GCWC使用的參數量差不多,也就是說,相比于傳統的CNN?,我們提出的GCWC和A-GCWC模型并沒有怎么增加模型的復雜度
? ? ? ? LR表示學習率(learning rate),Decay 表示學習率損失,Regul表示 正則化系數(regularization)
? ? ? ? 我們用以下的表述來描述模型的結構:
表示卷積層有f個卷積的過濾單元,每一個filter是一個的矩陣
?表示了一個大小和跨度都是k的池化層
表示了一個有k個隱藏單元的全連接層
?我們分別以GCWC和A-GCWC的參數為例:
HW的GCWC:
????????對HW來說,其有24個子段,8個時間片段,
? ? ? ? 對于?,8表示我們切比雪夫多項式近似的時候,結束選擇的是8,也就是下式(在4.2出現過)的k=8:
????????
? ? ? ? 所以也就相當于是一個1×8的向量。
? ? ? ? 16表示我們有16個
????????沒太搞明白,在GCWC中的池化操作是使用圖的拓撲結構和隨機權重分布,來識別邊之間的集簇關系。不知道這邊4和2代表的size和stride是什么,和CNN中的池化有何異同(后面看代碼之后回來填坑)
???表示我們全連接層的輸出為24維參數。這里的24是因為HW有24個子路段? ? ?
?HW的A-GCWC:
前半部分和GCWC的分析一致?
后半部分是融入context部分的內容。
是圖5(b)左邊的內容,2×2的filter,一共有4個filter
這里的指的是圖5(b)中間的部分,兩塊通過max pooling合并成一塊的操作
是把這一個速度區間的所有隱藏狀態通過全連接的方式合并為一個?
?6.5 baseline
| HA (historical average) | 一條邊上過去時間的通行速度記錄的平均值 |
| GP gaussian process | 高斯過程回歸模型 |
| RF random forest | 隨機森林模型 |
| LSM | 利用潛在空間模型填補道路網絡中缺失權重的最新技術。 |
注意:GP\RF\LSM只能預測、估計確定值。因此,我們對不同的速度片段下的隨機權重,分別學習了一個回歸任務。
| CNN? | |
| DR diffusion convolutional recurrent neural network | 基于歷史數據預測確定性邊權的最新技術。 |
6.6 評估方法
6.6.1 估計和預測(estimation & prediction)
? ? ? ? 我們使用平均KL散度比例(MKLR??Mean Kullback-Leibler divergence Ratio)來衡量預測的隨機權重矩陣的精準程度
?
? ? ? ? T是所有時間片段數量的總和
? ? ? ? n是邊的數量
?????????i∈[1,T],j∈[1,n],表明了在第i個時間片段,邊j是否需要被評估
如果邊j沒有交通觀測數據,那么I設置為0;否則I設置為1。
????????是ground-truth結果。是預測/估計結果
? ? ? ? KL(·||·)表示兩個分布的KL散度(前文也有說明),兩個分布越相似,KL散度的值越小。
?????????
? ? ? ? 但是KL散度的取值范圍是[0,∞),所以我們不太容易判斷什么樣的KL散度值是足夠小的
? ? ? ? ? 于是我們用HA(historical average)作為一個參考的隨機權重,即baseline。我們認為HA是隨機權重最差的預測/估計。然后我們使用我們的模型和HA模型的KL散度的比例,MKLR作為衡量標準。這個比例表明了我們的模型相比于HA提升了多少? ?。比例越小,表示相比于HA,我們的模型提升得越多
? ? ? ? ?我們也可以使用相似比例(FLR, fraction of likelihood ratio)來衡量預測/估計的精準程度
?
T,n,的定義和MKLR中的說法是一樣的
代表了第i個時間片段中,第j條邊的相似比例
????????表示在第i個時間片段中,第j條邊上ground truth的速度記錄數(在一個時間片段中,可能有多條記錄)
????????是第k個ground truth的速度紀錄
????????ε用來防止log里的內容是0
【個人感覺 ground-truth的速度紀錄數,也就是這條速度紀錄在某一個速度區間上,這個區間對應的元素為1,其余的元素為0(也是一個ground-truth),所以P(ok)的意思是這一個原本為1的數值,現在被預測成多少,越大表示概率越大】
????????我們給定第j條邊和第i段預測片段,我們可以有預測/估計的隨機矩陣以及作為參考的隨機矩陣我們分別計算, 作為從這兩個隨機矩陣代表的分布中,觀測到的概率
? ? ? ? 如果,那么?表明我們的預測/估計模型有更大的概率得到ground truth 速度紀錄,那么我們設置此時的這個,否則為0
6.6.2 平均
? ? ? ? 我們使用MAPE
?
?T,n,的定義和前文中的說法是一樣的
?6.7 實驗結果
6.7.1 估計:MKLR
MKLR越小,精度越高
?
- A-GCWC在各種配置下,都有最好的精確程度,同時A-GCWC模型比GCWC模型更穩定
- 幾乎所有的方法都滿足:當移除幾率rm增加的時候,MKLR增加。 ——原因也很簡單,因為rm增加了之后,更少的邊有交通觀測數據,那么更多的邊需要被賦以預測的隨機權重
- LSM,目前在權重補全任務中的最新方法,并不能適配我們所考慮的配置,他的所有MKLR都為1,這說明LSM勉強和HA效果差不多——這說明LSM模型不能擴展到隨機權重任務,同時LSM不能解決很多邊都沒有交通數據的情況。
- CNN的MKLR會隨著rm增大顯著變化,——這是因為CNN不能很好地捕捉路網中的時空關系
- DR在HW數據中的效果比CI好——DR在小圖中有很好的傳播能力,但是在大圖中則不行
?6.7.2 估計:FLR
? FLR越大,精度越大
- ? ? 和MKLR一樣,LSM同樣效果不好(大部分時候不如HA)
- 大部分配置下,我們的A-GCWC和GCWC效果最好(A-GCWC的效果比GCWC的效果好)
- CNN在某幾個特定的配置下(HW,rm=0.5),效果比我們的模型好(因為在小的路網中,很多邊都有數據的情況下,CNN可能也能捕獲一些邊隨機權重的相關系數)
- DR和前面分析的一樣,在HW中表現得很好,在CI中表現得很差——DR在小圖中有很好的傳播能力,但是在大圖中則不行
6.7.3 預測:MKLR
????????在數據集HW上 ,大部分方法都滿足估計(6.7.1)的結論:rm增加,MKLR增加(除了GP和RF)
????????而在數據集CI上,這樣的一個結論就不怎么適用了。這是因為CI數據集是一個更大的城市級別的路網,這個路網有著更多的不確定性,以及不同時間片段之間有著更少的關聯性。
? ? ? ? 然而,我們的模型GCWC和A-GCWC依舊表現最好,其中A-GCWC的表現比GCWC還要好一些
6.7.4 預測:FLR
- ? ? ? ? LSM模型再一次效果很差。
- ?在FLR中,我們找不到rm和LFR之間的關系
- 大部分時候,我們的模型GCWC和A-GCWC依舊表現很好
- 總體而言我們的模型相比于DR模型,準確度提升的不多,因為DR模型直接使用了RNN結構來進行預測時序關系。然而因為我們的模型可以把權重傳播到沒有數據的邊上去,因此我們模型的準確度還是會比DR好一些
- 于此同時,我們還會發現,CNN,CR,GCWC,A-GCWC在數據集HW上的FLR的表現比在數據集CI上要好,原因和MKLR中分析的一樣:這是因為CI數據集是一個更大的城市級別的路網,這個路網有著更多的不確定性,以及不同時間片段之間有著更少的關聯性。
6.7.5 平均:MAPE
在這個配置中,LSM是最新的先線性方法,DR是最新的非線性方法?
我們有以下的結論:
- A-GCWC模型在不同數據集下效果都是最好的
- LSM在CI數據集上可能不太有效,原因可能是城市級別的路網結構比高速公路級別的路網結構更復雜,這意味著線性模型不太能夠捕捉系統中的隱藏屬性
- CNN和DR的效果依舊比LSM好,這說明線性模型中關聯性依舊是一個關鍵問題
- DR盡管在數據密集的情況下,是目前的最優模型,但是當數據稀疏的時候(城市級數據,如CI;大量數據缺失,如較大的rm),DR的效果不如我們提出的GCWC和A-GCWC
6.8 擴展性?
? ? ? ? 我們把CI路網的規模擴大10,20,30,40,50倍,使得最大的路網有172×50=8600條邊。
? ? ? ? 如果路網結構過大,以至于不能使用在一個機器內,我們可以把網絡劃分成子網絡,并且在不同的機器內處理之,或者并行處理之,或者一個子網絡處理完之后處理另外一個子網絡。
? ? ? ? 為了模擬一個非常大的路網,我們考慮如下的兩個配置:
? ? ? ? 1)用GCWC和A-GCWC處理一個非常大的路網結構
? ? ? ? 2)將路網結構劃分成兩個小的路網結構,然后先處理一個小路網結構,然后再處理另外一個(我們將這個配置標記為 GCWC-M2和A-GCWC-M2)
????????
????????圖6(a)顯示了平均下來一個batch的訓練時間(一個batch大小為20【20個輸入矩陣】)
? ? ? ? 我們可以發現A-GCWC需要更多的時間(這也是很直觀的,因為A-GCWC需要額外訓練一個CP-CNN)。
? ? ? ? 如果我們把一個大的網絡劃分成兩個子網絡,然后序貫第訓練他們,這會需要更少的時間,但是會損失一定的精確度(因為劃分的過程會破壞原始路網中一些邊的鄰接關系)
? ? ? ? 圖6(b)展示了一個案例的測試時間
總結
以上是生活随笔為你收集整理的论文笔记:Stochastic Weight Completion for Road Networks using Graph Convolutional Networks的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【缺迪杰斯特拉和SPFA] 文巾解题 7
- 下一篇: sklearn 笔记:数据归一化(Sta