深度學習在軌跡數據挖掘中的應用研究綜述
來源:《?計算機科學與應用》?,作者李旭娟等
摘要:?在過去十年,深度學習已被證明在很多領域應用非常成功,如視覺圖像、自然語言處理、語音識別等,同時也涌現出來了大量深度學習模型,如深度卷積神經網絡,深度循環神經網絡、深度信念網絡、深度對抗生成網絡等,其深度越深學習能力越強,但同時也增加了網絡訓練的復雜度,權衡利弊取其中,所以在不同的應用中有很大的研究空間。另外,在基于時序數據的應用研究中,如股票趨勢預測、天氣預測、異常氣候地質災害預測等,相比較于傳統的方法,各種改進的、融合的深度學習方法顯然更勝一籌。而軌跡數據是時序數據的一種,它除了有時間維度的依賴性還有空間維度的相關關系。軌跡數據挖掘與我們的生活息息相關,從城市規劃到個性化推薦,從出行安全到優質服務。所以本文通過對軌跡數據進行簡單的剖析,對軌跡數據的應用進行一定的總結,并分析了一些用于軌跡數據挖掘的深度學習模型的優缺點,提出了一些小技巧,以此來對后續軌跡數據挖掘提供一些思路。
1. 介紹
由于位置感知設備如手機、可穿戴產品的不斷普及,基于位置的社交網絡被廣泛使用,大量的軌跡數據應運而生。如手機定位系統會產生每個人的行為軌跡數據,汽車導航定位系統會產生大量的汽車軌跡數據,飛機的廣播式自動相關監視系統(Automatic dependent surveillance-broadcast,縮寫為ADS-B)也會形成大量的航跡數據。這些軌跡數據集已被證明是非常寶貴的資源,可以用來做城市規劃、交通管制、行為生態學研究、運動場景分析、監測管理和提高安全系數等。學者們花了大量的時間和精力研究了很多軌跡數據分析和挖掘的方法。其中 [1] 在2015年對軌跡挖掘應用中已解決的問題做了系統的總結,包括解決方法和應用場景,并分析了他們的關系, [2] 在2016年對軌跡的數據預處理、數據管理和數據查詢技術,軌跡數據應用和隱私保護等方面進行了分析和討論,但其中的解決方案、技術應用都沒有提及發展得如火如荼的深度學習方法。終于在2019年, [3] 站在了更高更廣的角度系統的總結了深度學習在時空數據挖掘中的應用,然而它在具體的軌跡數據挖掘方面的闡述并不詳細,因此本文就哪些深度學習方法解決了哪些軌跡數據挖掘任務的問題進行系統地分析和討論。
本文接下來將在第2部分對軌跡數據和軌跡數據挖掘任務進行簡單的介紹;在第3部分列舉一些在軌跡數據挖掘應用中常用的深度學習模型;第4部分,敘述了如何為特定的任務選擇和設計深度學習模型;第5部分,總結和展望。
2. 軌跡數據
2.1. 定義
軌跡數據是物體或者人隨著時間移動而產生的路徑信息,包括位置坐標和速度等,通常由隨物體或人攜帶的傳感器產生并在一定的時間間隔記錄相關信息。全球衛星導航系統(The Global Navigation Satellite System,縮寫為GNSS)是傳感器提供位置信息的主要來源,常用的現階段最完善的是GPS系統,還有正在亞太地區全面開啟服務的BDS、GLONASS系統也將廣泛使用,在軌跡數據上的體現將是更加實時性和更高的精度。
2.2. 表達方式
通常一條軌跡可以表示為一個序列,如?{(p1,t1),(p2,t2),?(pn,tn)}{(p1,t1),(p2,t2),?(pn,tn)},其中pi表示位置(如經度、緯度),
ti表示物體或者人經過該位置的時間。它可以直接作為循環神經網絡(RNN)的輸入,成為典型的深度學習模型學習的對象之一。
有時軌跡數據也可以用一個二維圖像(或2維矩陣)來表示,如一條軌跡可以對應著一張二維地圖,如圖1(a)。若將地圖劃成M * M的網格,M是預定義的常量,表示地圖的分辨率,用Cx,y表示第x行和第y列的網格,則每個軌跡點都可以根據它的經緯度映射到一個網格Cx,y中,通過這種方式,我們就將一條軌跡轉化為一個M * M的圖像(如圖1(b)),其中網格中的值要么為零,要么是軌跡坐標對應的一個非負值,表示位置信息。這種數據表達多是為了符合CNN模型的輸入格式,讓卷積網絡嘗試學習軌跡數據中的特征,這種表達方式更能保留位置間的相關關系。
?
?
Figure 1. (a) Raw trajectory, (b) Cell trajectory in the 2D grid map
圖1. (a) 原始軌跡,(b) 二維地圖中的單元格軌跡
2.3. 深度學習在軌跡數據挖掘中的應用
用深度學習方法研究軌跡數據,任務類型集中在預測、表示學習、分類、異常檢測等,應用的領域多涉及城市交通、航海、航空、行人軌跡等方面。
而基于歷史數據對未來做預測是軌跡數據最常用的領域。軌跡預測在一定程度上與語言模型中預測詞語、句子很像,比如給定一個句子,語言模型被訓練用來從句子數據中學習詞句模式,然后預測下一個詞可能是什么。而在軌跡數據中,一系列的位置坐標可以看作是字典里的字詞,一條軌跡就可以看作是一個句子,那么軌跡下一個位置的預測就與句子下一個詞的預測如出一轍。 [4] 將軌跡數據的時間信息剝離,每個點只留下經緯坐標,通過城市區域網格化將簡化了的軌跡序列轉化為單元格序列,再逐條輸入GRU構成的RNN網絡,預測下一個位置。[5] [6] 分別用的不同的深度學習方法進行交通速度預測, [7] 用循環神經網絡對出租車的需求進行實時預測, [8] 將軌跡數據和文本數據分別輸入長短時記憶網絡(或者全連接層)和卷積層,再把得到兩種特征進行融合,從而進行事件區域的出租車需求預測。
在船舶交通服務系統中,準確、有效地對船舶的航行軌跡進行及時跟蹤和預測是海上交通事故預警的重要技術支撐, [9] 通過結合船舶自動識別系統提供的歷史軌跡數據和當前軌跡預測未來某時刻船舶的軌跡。在航空領域,管制員需要精確地知道經過其管轄范圍的每架飛機的實時位置,這便需要空管系統能夠精確地預測飛機的軌跡, [10] 結合了航班計劃和氣象信息,用深度生成模型根據某時刻以前軌跡信息預測接下來一段時間的軌跡。
有時要想獲得運動模式或實施某項數據挖掘任務如位置預測,軌跡聚類是基礎任務,意在把軌跡劃分為幾組,每組中的軌跡有很高的相似度。 [11] 先提取軌跡數據中的時空不變特征,如運動特征,再通過Seq2Seq的自動編碼器得到特征的固定長度表達,最后通過分類器達到軌跡聚類的目的。另外,在信息化作戰領域,為輔助指揮員分析戰局, [12] 使用CNN模型對雷達提供的目標物體進行航跡類型識別,此為分類任務。
另一種常見的相關任務是異常檢測。 [13] 提出的雙Attention融合機制的行人軌跡預測方法同樣可以作為異常事件檢測手段,其中編碼器得到的目標行人軌跡編碼就會與正常行人軌跡的編碼有很大區別,因此用一些經典的聚類算法便可將異常檢測到。由于ADS-B數據的易獲取性,為確保飛機和地面接收站收到的是正確安全的信息, [14] 提出了一個基于深度神經網絡的SODA系統,包括一個信息分類器和一個航空器分類器,能夠精確地檢測到欺騙攻擊。[15] 采用Seq2Seq模型進行異常的ADS-B時間序列檢測,并通過對序列特征維度的增加來提升檢測效果。
3. 常用的深度學習模型
3.1. 循環神經網絡
循環神經網絡(Recurrent Neural Network, 縮寫為RNN)是被設計用來識別序列特征并使用模式來預測下一個可能的場景,最大的特點就是有了記憶功能。與傳統深度神經網絡中每一層使用不同的參數的做法不同,RNN在所有時刻中共享相同的參數,這反應了在每一步中都在執行相同的任務,即循環所在,只是用了不同的輸入,這樣極大地減少了需要學習的參數的個數。之后出現的RNN變體,如Bidirectional RNN是在某時刻的輸出不僅依賴于序列之前的元素也依賴于之后的元素。DeepBRNN,即在Bidirectional RNN的基礎上,每時每刻會有多個隱藏層,這將會使它有更強的學習能力。
圖2展示了RNN的基本結構。其中xt和ht分別表示t時刻的輸入和學習到的隱藏狀態,A是一組神經網絡,它不停的接收xt并輸出ht。可以看出前一時刻t ? 1的輸出(ht?? 1)被輸入到了下一時刻t,這樣歷史信息就被存儲并傳遞下去了。
RNN有兩個缺點,一是記憶力短,隨著網絡的加深前面存儲的內容的影響將逐漸減弱,這將會丟失部分重要的信息。二是沒辦法控制信息中記住哪些,舍掉哪些,這使得一些不重要的信息增加網絡的訓練負擔,增加干擾。
?
?
Figure 2. Structure of RNN model
圖2. 循環神經網絡模型結構
3.2. 長短時記憶
長短時記憶(Long Short Term Memory,縮寫為LSTM)是RNN的一個擴展,圖3展示了LSTM的基本結構,與RNN不同的是循環的神經網絡A結構變復雜了,它加入了一種特殊的記憶單元(細胞狀態),即貫穿圖表頂部的水平線,能很好的保持信息不變;并用三個門控制信息的輸入輸出,即輸入門、忘記門和輸出門;最后,每個時刻的輸出由兩部分組成:細胞狀態和輸出狀態。其中,門的結構很簡單,就是一個sigmoid層(即圖x中的σ處)來決定輸入信息中哪些需要丟棄、哪些需要更新、哪些需要輸出。細胞狀態是由上一次的細胞狀態按元素乘以遺忘門,再加上輸入門與當前狀態(輸入信息經過tanh處理后)的乘積結果,而最后的輸出狀態是由細胞狀態經過一個tanh之后與輸出門的乘積。LSTM這種結構提供了只把重要的內容存下來,需要的時候再輸出,甚至必要的時候清空等十分強大的功能,解決了RNN的兩個問題,但也同時增大了網絡的訓練難度,因為結構中所需的參數大大增加了。
?
?
Figure 3. Structure of LSTM model
圖3. 長短時記憶模型結構
但參數的數量還沒有大到讓人們望而卻步,反而LSTM與其它網絡的結合使用頻繁出現,如 [16] LSTM-FCN將數據轉換成相應的維度同時輸入FCN和LSTM,并將輸出的結果合并,取得了非常好的效果。[17] 提出的Conv-LSTM結構堆疊在編碼–解碼模型中,不僅很好的保留了數據的時序性,還能在空間維度保留數據間的相關關系。[18] 提出了一個新的方法來訓練LSTM,使門的輸出不是0到1的一個范圍,而是非0即1。這種方法使得輸出結果更容易理解,意思是經過門的信息要么保留要么舍棄。試驗結果也證明這種訓練方式的效果更佳。另外,門循環單元(Gated Recurrent Unit,縮寫為GRU)是在LSTM的基礎上省略了一個門,并將單元狀態與輸出狀態合并為一個ht,使得結構得以簡化,參數量變小。 [19] 比較了RNN、LSTM、GRU的記憶能力,并提出了一個記憶能力更強的ELSTM和一個性能優于BRNN和Seq2Seq的DBRNN模型。
LSTM在軌跡預測方面有了廣泛地應用。[9] 運用RNN-LSTM的網絡結構,將船舶的歷史軌跡特征和當前軌跡特征作為網絡的輸入,輸出未來某時刻船舶的軌跡特征,再與真實值相對比進行網絡的訓練,建立歷史船舶軌跡與未來船舶軌跡特征數據之間的映射關系,并實現對未來軌跡特征的推算和預測,達到了很好的效果。[20] 提出了一個基于隨機森林和MLP-LSTM的軌跡預測混合模型,先利用隨機森林構成的移動狀態預測組件來對運動狀態進行預測,在用多層感知機來捕獲軌跡數據中的局部特征,最后利用LSTM來獲取軌跡數據中的時間依賴關系,解決了軌跡預測中關于靜止軌跡數據預測誤差大和提取軌跡數據中長時間依賴的問題。
3.3. Seq2Seq
Seq2Seq全稱為Sequence to Sequence,是一個編碼器——解碼器結構的生成神經網絡,它的輸入是一個序列,輸出也是一個序列。圖4表示了Seq2Seq的基本結構,這里的每一個方塊代表著一個RNN單元,通常是LSTM或者GRU。其過程就是,編碼器將可變長度的序列如?{x1,x2,x3,x4}{x1,x2,x3,x4}?轉變為固定長度的向量表達v,解碼器將這個固定長度的向量v轉換為可變長度的目標輸出序列?{y1,y2,y3}{y1,y2,y3}。
?
?
Figure 4. Structure of Seq2Seq model
圖4. 序列到序列模型結構
然而,由于編碼器將輸入序列編碼為固定大小的狀態向量實際上是一個信息有損壓縮的過程,如果信息量很大,壓縮過程將造成大量信息丟失,同時解碼器在解碼這個固定長度的向量時也很難關注到輸入信息的更多細節,所以注意力(Attention)概念的引入和雙向編碼器(Bidirectional encoder layer)的提出,使模型的性能大大提高。如Attention機制可以把輸入序列根據時間步編碼為不同的向量vi,在解碼時,結合每個不同的vi進行解碼輸出,這樣得到的結果會更加準確。 [13] 通過結合兩種不同的Attention機制來預測行人軌跡。在目標行人軌跡上使用Soft Attention,即注意力不同程度的分散在軌跡的各個部分,而在周圍行人的軌跡上使用Hardwired Attention,重點關注他與目標行人的距離,最后將某時刻各個Attention獲得的信息想融合作為預測輸入的一部分。
鑒于Seq2Seq模型有強大的獲取序列數據間關系的能力,它已被用于很多軌跡數據挖掘任務。如 [21] 提出了基于Seq2Seq的模型用來學習軌跡特征,作為軌跡相似度計算的基礎研究。[6] 提出了Dest-ResNet的序列學習模型,用來處理兩種不同形式的序列數據,如交通速度序列和用戶在特定時間段的查詢請求序列,其中用到的Seq2Seq被用來完成未來一段時間的交通速度預測。
3.4. 卷積神經網絡
卷積神經網絡(Convolutional Neural Network, 縮寫為CNN)是一類深度前饋神經網絡,一般用于視覺圖像領域。典型的CNN模型(如圖5)通常包括輸入層、卷積層、池化層和輸出層。卷積層是用不同大小的卷積核來進行特征提取,池化層則通常用于在空間維度進行下采樣,起到數據壓縮、特征降維、降參的作用。同時在對圖像處理時,卷積操作所獲得的特征具有平移、縮放和旋轉不變性,它的權值共享結構大幅度減少了參數,能有效降低深度網絡模型的連接復雜度和訓練難度。而如今,一些CNN已被證明對單變量時序數據的分類任務有很好的效果,如FCN、ResNet等。[22] 又提出了多變量卷積神經網絡(MVCNN)對多變量時序數據進行分類并證明了其高性能。[23] 將軌跡位置數據轉化為二維圖像作為CNN的輸入,利用CNN的卷積層和池化層獲取圖片中軌跡的不同尺度特征,再與軌跡的其他數據特征相融合進行分類預測,達到了很不錯的預測效果。[24] 通過將原始軌跡序列轉化為語義上重要的位置軌跡序列,研究評估了CNN結構在語義位置預測任務中的性能表現。
?
?
Figure 5. Structure of basic CNN model
圖5. 卷積神經網絡模型基本結構
但試驗也表明,若直接將一維時序數據作為卷積網絡的輸入來訓練時很容易出現過擬合的現象,所以用驗證集來適時地調整超參數是常用的方法。或者增大訓練數據,因為深度學習的一個最大的特點就是,數據量越大效果越好。此外,對數據做變換如數據增強、數據歸一化處理,手動進行特征選擇、問題重構、算法上調優等方法都能對過擬合問題提供或多或少的幫助。
3.5. 自動編碼機
自動編碼機(Auto Encoder, 縮寫為AE)是一類人工神經網絡,能以一種非監督的模式學習到輸入數據的有效特征。最簡單的AE由一個輸入層、一個隱藏層和一個輸出層組成。輸入層到隱藏層的映射關系可以看作一個編碼的過程,將輸入信息進行壓縮表示,從隱藏層到輸出層的過程相當與一個解碼的過程,輸出的結果其實是對輸入信息的一個重構。作為一個有效的非監督的特征表達學習方式,AE多用于數據挖掘下采和機器學習的分類聚類任務中。而堆疊自動編碼器(Stacked Auto Encoder)是逐層對輸入數據進行處理,降維,特征提取,最終獲得輸入數據的高階特征。圖6展示了一個一層的AE模型結構。
?
?
Figure 6. Structure of the one-layer Auto Encoder model
圖6. 一層的自動編碼器模型結構
由于很多網絡都是從權重隨機初始化開始的,這會使得訓練不穩定。 [25] 提出用一個序列編碼器(Sequence Auto Ncoder)作為LSTM網絡的預訓練算法,這個訓練步驟中得到的參數作為有監督的訓練模型LSTM的起點,發現LSTM的訓練變得更穩定,泛化能力更強。[26] 通過測量“軌跡長度”學習到網絡是如何將輸入進行變換的,證明了低層網絡權重的微小變化將隨著網絡的加深,影響是成指數倍放大的,所以優化低層網絡的權重尤為重要。
4. 深度學習模型的選擇和設計
當進行某一項軌跡數據挖掘任務時,涉及到的數據種類可能有很多,有的是時序數據,有的是文本,正如前文所述,RNN、LSTM、Seq2Seq、AE和它們相應的改進變體模型可以為時序數據提供較好的學習方法,而CNN則更偏向于視覺圖片領域的特征學習。為完成數據挖掘任務,我們或者將不同的數據喂入不同的學習模型,再進行特征融合,或者將不同的數據先進行融合,再喂入同一個網絡進行學習,如 [27] 用傳統的方法先將來自雷達和ADS-B的數據用相同的模式進行匹配,刪除冗余,最后合并,再進行軌跡預測任務。而在多源異構的大數據環境下,傳統的方法很多時候并不適用,所以 [28] 提供了三類方法,即基于特征的數據融合,基于階段的數據融合,還有基于語義的數據融合,這需要具體問題具體分析。如基于特征的融合方式有 [8] 和 [29],其中 [8] 將文本數據預處理之后喂入CNN,同時將軌跡、天氣等時序數據喂入LSTM,他們得到的特征編碼再融合進行出租車需求預測;[29] 也是首先通過不同的特征提取方式獲得來自不同數據源的信息,再投入一個深度堆棧自動編碼器得到最終的特征表達,最后通過多層感知器來進行出行時間的預測。而 [30] 則是進一步概述了基于深度學習模型的城市大數據融合,分為早期(輸入階段)數據融合、晚期(輸出階段)數據融合和雙階段(輸入階段和輸出階段)數據融合,即是基于階段的數據融合。
另一方面,一些數據挖掘聚類分類算法與深度學習框架融合使用時,除了常用的K-means和DBSCAN,還可以考慮使用高斯混合模型,尤其當網絡的輸出有多種可能時,我們可以學習到每個高斯分布的均值、方差和混合系數,再通過采樣來做最終的預測。如 [7] 就是通過LSTM和混合密度網絡的結合,來預測不同地區的出租車需求。
軌跡數據是典型的時序數據,它的最大特征是數據之間在時間維度上是相互關聯的,根據 [31] 提出的趨勢分離方法,我們可以先把這種時間相關性消除,可以讓網絡學習到更多甚至被隱藏的特征, [8] 就是利用此方法先獲取軌跡中的運動特征,便可將LSTM替換成全連接網絡,最后的預測效果也不錯。
有時,為了提高軌跡挖掘任務的精度等評價指標,不僅可以通過改進神經網絡的結構、修改算法、提出新的訓練方式等,還可以根據具體的情況提出特殊的損失函數等。如 [21] 為了學習連續的表示特征,提出了一個新的空間距離意識損失函數和一個細胞表示特征學習方法,將他們一起融入深度學習模型中,同時為了加速訓練,還提出了一個基于噪聲對比估計的近似損失函數。
5. 總結與展望
本文通過對軌跡數據和已經研究過的軌跡數據應用進行闡述和總結,并對應用在軌跡數據挖掘中的深度學習模型進行分析和討論,總結了一些方法和技巧。實際上還有很多本文沒有提到的軌跡挖掘任務和深度學習方法,包括頻率模式挖掘、關系挖掘任務等。還有對抗生成網絡模型也是深度學習方法中有待研究的熱點之一,它已經在圖像生成的試驗中得到了不錯的效果,將其應用在軌跡生成的問題上也會是未來研究的方向之一。此外,給網絡提供參數初始化的方法除了AE還有受限玻爾茲曼機(Restricted Boltzmann Machine),都是未來可以嘗試的方法。最后,以上對軌跡數據的研究都只考慮了數據在時間維度上的依賴特性,而從空間維度或者同時考慮時空維度進行特征學習也可以作為未來的研究點。
審核編輯:符乾江
評論
查看更多