?

基于自監督學習的社交網絡用戶軌跡預測模型

2021-09-18 06:21代雨柔張鳳荔
計算機應用 2021年9期
關鍵詞:軌跡樣本預測

代雨柔,楊 慶,2,張鳳荔,周 帆*

(1.電子科技大學信息與軟件工程學院,成都 610054;2.中國電子科技集團公司第十研究所,成都 610036)

(*通信作者電子郵箱fan.zhou@uestc.edu.cn)

0 引言

在基于位置的社交網絡(Location based Social Network,LBSN)中,預測人類的移動軌跡是一項重要且困難的任務。在日常的生活中,人們不斷地從一個地方到另一個地點移動,但移動的規律因人而異,且受各種如節假日、天氣、心情等因素的影響。通過預測人們的軌跡,在某些方面能夠反映出該用戶的生活方式、移動規律以及人脈關系網絡等。獲取這些信息可以幫助用戶提前做好路線規劃、周邊購物與飲食推薦等實際建議,這也為學習用戶移動行為提供了新的研究,如社會中的關系推斷[1]、友情預測[2]、軌跡-用戶預測[3]、個性化社交事件推薦[4]、軌跡預測[5]等。

在用戶的軌跡預測中,最重要的是預測下一個將要去的興趣點(Point Of Interest,POI)。準確預測出人們的下一個興趣點,不僅能方便個人的出行,也能給其他人的出行帶來影響。以往收集軌跡數據主要是通過問卷調查的方式,但問卷調查不僅成本高、效率低,而且難以長時間對用戶的軌跡進行記錄。隨著移動互聯網技術的飛速發展和各種設備中全球定位系統(Global Positioning System,GPS)的廣泛使用,諸如Foursquare(https://foursquare.com)和Gowalla(http://blog.gowalla.com)這樣基于位置的社交網絡變得無處不在。用戶通過這些設備,留下他們的足跡并分享他們的心情或經驗,使得擁有相同興趣點的用戶軌跡中的簽到點相互交匯,例如美術館、食堂、購物中心、音樂廳等。

文獻[6]通過對100 萬用戶的研究,發現用戶的移動行為具有明顯的穩定性,93%的用戶移動模式是可以被預測的,與早期文獻[7]中對45 000 個匿名用戶的運動模式進行研究的結論大致相同。結論也表明不同的個體可預測性的差別并不是很大,這種高可預測性是由于人們的運動具有高度的規律性。到目前為止,人們做了大量的研究來將這種可預測性轉化為實際的移動行為預測模型。早期預測移動行為的方法大多數是基于模式的,這種基于模式的預測方法[8-9]首先從用戶的軌跡中發現預定義的移動機制,如周期模式、序列模式等,然后根據提取到的這些模式來預測下一個位置。這些關于人類移動行為的研究大多是提取人類移動行為中的統計特征,而忽略了社會關系中的因素對人類移動模式的影響。事實上,用戶偏好、社交關系等因素對人類移動的預測至關重要。最近的發展轉向基于模型的方法[10-12]來進行軌跡預測,利用序列統計模型如:馬爾可夫鏈(Markov Chain,MC)、循環神經網絡(Recurrent Neural Network,RNN)來捕捉人類運動的轉移規律,并從給定的訓練語料庫中學習模型參數。

最近深度學習如卷積神經網絡(Convolutional Neural Network,CNN)、長短時記憶網絡(Long Short-Term Memory Network,LSTM)、注意力機制(Attention Mechanism)等在許多領域逐漸嶄露頭角(如圖像處理、行人識別等領域[13]),并取得了比較突出的貢獻,為用戶軌跡預測提供了新的解決思路。Liu 等[14]在2016 年提出的ST-RNN(Spatial Temporal Recurrent Neural Network)模型利用時空上下文信息來分析用戶行為,使用并擴展了RNN。ST-RNN 可以用不同時間間隔的時間-轉移矩陣和不同地理距離的距離-轉移矩陣對每一層的局部時空上下文進行建模。Feng 等[15]沒有從傳統的用戶角度對POI 進行探索,而是考慮了一個新的研究問題,即預測在給定的未來時間內訪問給定的POI的用戶。該方法通過結合地理因素的影響,建模用戶偏好和POI 序列轉換,來預測給定POI的潛在訪問者。Feng 等[16]在2018 年設計了一種多模式嵌入循環神經網絡,通過聯合嵌入控制人類活動性的多種因素來捕獲復雜的軌跡序列的狀態轉換,同時還提出了兩種注意力機制模型,捕獲軌跡的多層次周期性。該模型有效地利用了周期性來增強循環神經網絡的移動模式預測。但上述模型都存在樣本量不足、足跡點稀疏等問題,沒有充分挖掘歷史軌跡的隱含信息,且無法高效地表示和利用整個歷史軌跡。

針對上述問題,本文使用深度學習中的一種新的自監督學習方法對軌跡預測進行建模。首先使用數據增強豐富樣本,提高模型的泛化能力。其次,結合軌跡的時序特點,將軌跡劃分為歷史軌跡和當前軌跡,并使用RNN 對當前軌跡進行編碼,針對軌跡具有時間依賴性的特點,學習當前軌跡數據中潛在的特征信息;使用CNN 學習用戶的歷史軌跡移動模式,該方法可以有效地捕獲個人的長期運動模式,比常用的RNN的效率有所提升;同時使用了注意機制學習對歷史軌跡的關注度,可以利用最近軌跡的潛在表示來匹配用戶過去最相似的移動方式。然后使用概率對比損失,捕獲對預測未來樣本最有用的信息,并采用負采樣(Negative Sampling,NS)的方法,每次隨機選擇一部分的負樣本來更新模型對應的權重,使模型更容易訓練。本文模型在Foursquare 和Gowalla 這兩個現實生活中具有代表性的數據集上進行了實驗,在紐約測試集上的評估結果表明,SeNext 在Top@1 的預測準確率比最新的VANext模型[17]高出10%以上,且優于其他軌跡預測模型。

1 相關工作

通過分析以往軌跡預測的模型,可以將軌跡預測的手段分為兩類:一種是基于模式的方法,另一種是基于模型的方法。

1.1 基于模式的方法

基于模式的方法[8,18]首先從軌跡中發現常用的序列移動模式,然后根據這些常用的模式來預測用戶的移動行為。矩陣分解(Matrix Factorization,MF)[19]可以看作是一種探究軌跡移動模式的方法,它在推薦系統中經常出現,其基本思想是將用戶-項目矩陣分解為代表用戶和項目特征的兩個潛在矩陣。Cheng 等[8]通過將位置概率建模為多中心高斯模型,將MF 與地理影響融合在一起。Rendle等[20]將馬爾可夫(Markov)模型與矩陣分解相結合,提出了分解個性化馬爾可夫鏈(Factorizing Personalized Markov Chains,FPMC)模型來進行項目推薦。Cheng 等[21]基于FPMC 提出了一種稱為FPMC-LR(FPMC with Localized Region constraint)的矩陣分解方法,在考慮局部區域約束的情況下捕獲馬爾可夫鏈的序列轉換。這些方法中的預定義移動模式比較固定且片面,與基于模式的方法相比,本文模型不僅可以對所有用戶軌跡的轉移規律進行建模,還可以基于個人歷史軌跡對個人偏好進行建模。

1.2 基于模型的方法

基于模型的方法主要是馬爾可夫模型[22]及其變體,它們根據歷史軌跡在多個地點之間建立狀態轉移矩陣來對未來移動的可能性進行建模。為了捕獲位置轉移之間未觀察到的特征,Mathew 等[11]根據軌跡對位置進行聚類,然后為每個用戶訓練隱馬爾可夫模型??紤]到用戶組群之間移動模式的相似性,Zhang 等[12]提出了組級移動性建模方法GMove 來共享重要的運動規律。盡管基于模型的軌跡預測取得了不錯的結果,但仍難以挖掘出復雜軌跡序列的移動特征。與現有基于Markov 的模型不同,本文模型通過對歷史軌跡和當前軌跡的劃分,能更好地提取不同時間軌跡更鮮明的特征,可以對既有時間依賴性又有高度順序性的軌跡建模;同時使用對比學習,通過負采樣的方式對比錨與正樣本、錨與負樣本之間的相似度,獲取互信息。

1.3 數據增強

在訓練模型時,研究人員經常會遇到數據不足的情況。一些任務只有幾百條數據,這樣的數據訓練出來的模型泛化性往往不好。深度學習在訓練一個模型時,其優化目標是降低代價函數,使模型的損失最低。此時需要以正確的方式調整模型參數,而參數的數量與樣本量成正比,所以模型通常需要大量的數據。目前最先進的神經網絡都需要成千上萬的數據(如SimCLR(Simple framework for Contrastive Learning of visual Representations)模型[23]),而獲取數據是一件耗時且困難的事,需要采取一些方式達到降低代價的目的。

數據增強是指在沒有真正實質性增加數據的基礎上,讓有限的樣本產生更多具有相同數據分布的樣本。數據增強需要保證變換前后的數據和初始樣本的主要特征和數據分布一致,確保模型能夠學習到數據中的模式。目前,數據增強在圖像學習領域被廣泛使用,通過對圖片進行翻轉、縮放比例、扭曲、移位和添加高斯噪聲等,或者改變同一個場景下的不同投影方式(如光線、角度、距離和焦距等)來增加樣本量,提高模型的泛化能力。同時數據增強起正則化作用并避免過擬合,可以降低模型網絡結構過于復雜的風險。訓練樣本的豐富,會增加數據噪聲,能提升模型的魯棒性。本文模型利用現有的數據進行數據增強,來獲取更好的實際效果。

1.4 自監督學習

深度學習中的監督學習需要足夠多的標記數據,某些領域盡管數據很多,但大部分都是未標記的數據。自監督學習主要從大規模的無標注數據中挖掘自身的監督信息,通過這種構造的有效監督信息對模型進行訓練,可以學習到價值的表示。自監督學習的方法主要可以分為三類:基于上下文(Context Based)、基于時序(Temporal Based)和基于對比(Contrastive Based)的方法?;谏舷挛牡姆椒ㄊ歉鶕祿旧淼纳舷挛男畔順嬙烊蝿?,比如在自然語言處理領域中的word2vec[24]就是利用語句的順序來預測不同位置的詞語?;跁r序的自監督學習主要是利用時序的約束關系來學習,如視頻中相鄰幀的特征都比較相似,而間距較遠的視頻幀不太相似。另一種自監督學習是以對比學習(Contrastive Learning,CL)為基礎,這種方法通過對比樣本的相似或不相似程度進行編碼來學習數據的表示,通過構建正樣本和負樣本,然后度量正負樣本的距離來實現自監督學習,進而使得更容易解決下游的任務。

對比自監督學習作為一種比較突出的處理無標簽或少量標簽的方法,在圖像學習領域得到了廣泛的應用并取得了巨大的成功。SimCLR 簡化了對比自監督學習算法,不需要專門的架構或者存儲庫,并證明了數據增強之后的樣本在定義有效的預測任務中起著至關重要的作用。CPC(Contrastive Predictive Coding)[25]使用自監督里面的對比學習,通過對比正負樣本的互信息量,在潛在空間中預測未來可能發生的步驟。鑒于自監督學習在這些模型上的成功,本文提出了基于對比自監督學習的軌跡預測方法。本文模型將自監督學習用在軌跡預測上,使用正負采樣的方法讓復雜的模型更易于訓練。

2 問題定義

在預測人類移動軌跡的模式中,主要目的是學習下一個POI 的預測。興趣點可以是一個GPS 點、一個區域的中心或者是一個用戶可以訪問的地址,該地址在適當的坐標系中有唯一的標識。本文定義c=為POI 的一個三元組表示,其中id、lo、la分別表示興趣點的ID、經度和緯度。用戶u的軌跡可以表示為一個有序序列Tu=,其中:是用戶u在時間ti訪問的第i個興趣點。通常省略去用戶表示的上標,簡寫為。一條軌跡T是連續且有序的POI 序列,將每條軌跡劃分為在時間間隔[t1,tn]內的m段子軌跡,則T=T1,T2,…,Tm。

本文將軌跡劃分為歷史軌跡和當前軌跡,用Th=T1,T2,…,Tm表示用戶完整的歷史軌跡,Tc=Tm+1=表示用戶的當前子軌跡,其中當前軌跡的長度通常小于歷史軌跡的長度。

人類軌跡預測問題通常被定義為:給定一個用戶ui、其對應的歷史軌跡Th=T1,T2,…,Tm以及當前軌跡Tc=,訓練一個模型M去預測用戶ui的下一個興趣點,形式化表示為

3 軌跡預測模型

本文模型主要包括軌跡數據增強模塊、因果POI 嵌入模塊、當前軌跡學習模塊、歷史軌跡學習模塊和分類器模塊。首先對初始劃分好的軌跡數據進行數據增強處理;其次使用因果嵌入方法把當前軌跡和歷史軌跡中的POI都嵌入到低維表示中;然后用變體RNN 對當前軌跡Tc進行編碼,用共享權重矩陣和CNN 對歷史軌跡Th進行編碼;結合注意力機制搜索歷史軌跡Th,尋求與當前軌跡Tc最相似的移動軌跡;接著將當前軌跡的最后一個隱藏狀態和歷史軌跡的注意力集中到一個特征表示中,并預測下一個POI;最后通過自監督學習中的對比學習方式,使得樣本和正樣本之間的距離遠遠大于樣本和負樣本之間的距離,然后構造一個Softmax 分類器,以正確分類正樣本和負樣本,進而可以更好地訓練模型。本文的軌跡預測模型框架如圖1所示。

圖1 基于自監督學習的軌跡預測模型框架Fig.1 Framework of trajectory prediction model based on self-supervised learning

3.1 軌跡數據增強

在深入研究本文模型的實現方法之前,首先介紹軌跡數據處理方法。由于用戶的軌跡序列長度通常有所不同,一些用戶可能去過很多地點,而另一些用戶只是去了少量的地點。不同用戶在不同時間段內的軌跡序列長度也不同,本文的目標應該是無論序列長度如何,都能準確地預測出下一個興趣點。在此,本文提出了一種增強軌跡數據的方法。

文獻[26]首先提出對軌跡序列進行預處理,本文分別為每個用戶的每條軌跡進行數據增強。將初始輸入的軌跡序列與數據增強之后的軌跡序列一起作為新的訓練序列。給定一條軌跡Si=l1,l2,…,ln,表示用戶i在給定時間段內的一條子軌跡序列。數據增強之后的軌跡序列表示形式為“l1,l2”“l1,l2,l3”……“l1,l2,l3,…,ln”,然后將增強之后的軌跡數據送入模型進行訓練。將該方法用于所有的軌跡數據,圖2 是該方法的圖形示例,li表示一個簽入點,p表示要預測的下一個POI。

圖2 數據增強示意圖Fig.2 Schematic diagram of data augmentation

3.2 因果POI嵌入層

為了更好地呈現不同POI 之間的語義關系,本文模型采用因果嵌入的方法,將POI 從當前軌跡和歷史軌跡嵌入到一個低維表示中。受word2vec 的啟發,之前的工作使用CBOW(Continuous Bag of Word)或Skip-Gram 模型將POI與上下文信息一起進行嵌入。然而,對于預測下一個POI的問題,更感興趣的是嵌入軌跡的后續部分,而不是興趣點的上下文。這是因為當前的POI是由它之前的足跡而不是它之后的足跡決定的,這與高階馬爾可夫過程的思想非常相似。也就是說,當嵌入POI時,不會將未來的位置泄露到過去。

可以通過因果嵌入層來實現,具體來說,給定先前的足跡點lτ-ω:lτ-1,通過預測歷史軌跡Th和當前軌跡Tc中的當前位置lτ來獲得簽到點的向量表示,其中:ω表示滑動窗口的大??;|ζ| 表示數據集中簽到點的數量;d表示矩陣的維度。然后最大化簽到點lτ被訪問的概率p(lτ|C(lτ)),由Softmax函數定義:

其中:l′表示被訪問過的lτ簽到點集合;l″∈ζ,每次表示ζ中的一個點,該點在式(1)中計算后再分別累加。為了加速模型計算,保證模型訓練的效果,每次優化參數只關注代價函數涉及的詞向量。本文采用了負采樣技術來避免對所有簽到點l″進行枚舉,以提高模型處理的效率。

3.3 當前軌跡和歷史軌跡模塊

該模塊使用門循環單元(Gate Recurrent Unit,GRU)來提取用戶當前軌跡的簽到模式。值得注意的是,用戶的當前軌跡往往小于歷史軌跡的長度,即|Tc|?|Th|。因此選擇RNN捕獲當前軌跡數據的表示,由于GRU 具有參數少且易收斂等特性,所以選擇GRU作為神經網絡單元,其更新過程:

其中:gτ是在τ時刻的更新門,控制著當前的候選狀態中有多少是來源于上一時刻的候選狀態;候選狀態的計算和傳統的RNN單元很相似;sτ是重置門,決定了怎么將新的輸入信息與之前的信息相結合;σ為Sigmoid 激活函數,將數據轉換為區間[0,1]內的值,用來充當門控信號;⊙為哈達瑪積;W*和U*均為參數矩陣。

接下來對歷史軌跡Th進行處理。在對歷史軌跡的處理中,先使用權重共享層多層感知機(Multi-Layer Preceptron,MLP)將每個POI 的嵌入向量合并到隱藏狀態;再利用非線性神經網絡進行1×D卷積來挖掘隱藏狀態,獲得的卷積狀態作為下一個注意力層的輸入;然后使用注意力機制來學習歷史軌跡中卷積狀態的權值。

其中:z是從當前軌跡最后一個隱藏狀態中采樣的潛在變量;q為利用MLP 從z中獲取的向量;uti是q和ot間的相似度;ot為卷積層所獲得的卷積狀態;αi為通過Softmax 函數得到重要性權重。

然后通過對POI 加權求和得到了歷史軌跡的表示。為了預測Tc的下一個POI,需要將當前軌跡的最后隱藏狀態hn+k-1和注意力歷史軌跡連接起來以獲得Φ,如下所示:

將Φ輸入Softmax 函數,計算數據集中每個POI 的概率p(l)。在訓練時,將最小化預測下一個POI的經驗風險。

3.4 自監督學習

當前的機器學習訓練方法大都依賴于手工標注信息,這樣會導致樣本需求量大、模型脆弱等不良影響。本文使用自監督學習的方法對模型進行訓練,通過學習編碼器k,使得:

其中:x通常被稱為錨數據,x+是與x相似或者相同的數據點,稱為正樣本;x-指的是與x不同的數據,稱為負樣本。fθ是一個由θ參數化的相似度衡量函數,用來衡量特征之間的相似性(如一個詞和它上下文的編碼表示之間的點積[27],圖像與圖像的局部區域的編碼表示之間的點積[28])。在對比自監督學習中,通過對比正負樣本來學習表示,其目標就是讓式(11)中左邊的部分盡可能大于右邊的部分,即讓正樣本x+與錨數據的相關程度盡可能最大化。

為解決此問題,首先引入互信息(Mutual Information,MI)來描述兩個變量之間的相關程度。假設存在一個隨機變量X,和另外一個隨機變量Y,那么它們的互信息是:

其中:H(X)是X的信息熵;H(X|Y)是已知Y的前提下,使X的不確定性減少的信息量,即X的信息熵。

互信息實際上是相對熵的特殊情形,它度量兩個對象之間的相關性,在信息論中可以看成是一個隨機變量中包含關于另一個隨機變量的信息量,如果信息量為0,則表示兩個隨機變量相互獨立。使用互信息理論進行POI預測是基于如下假設:當簽到點在某個特定類別出現頻率高,但在其他類別出現頻率比較低時,該簽到點與該類的互信息比較大,也就是說正樣本之間的互信息較大,負樣本之間的互信息小。

一般地,互信息I(X,Y)可以通過計算聯合概率分布p(x,y)與邊緣概率分布p(x)、p(y)乘積之間的相對熵(KL散度(Kullback-Leibler divergence,KLD))來確定變量之間的差異程度:

KL 散度越小,說明兩個變量之間接近彼此獨立,相互提供信息就很少,也就是互信息很小。最大化KL 散度,互信息MI 就越大,同時相似度衡量函數fθ也越大。在實際的應用中,增大MI 很難實現,受到文獻[25]的啟發,本文模型減小MI 的下界,即優化噪聲對比估計(Noise Contrastive Estimation,InfoNCE)損失函數:

在本模型中,每次負采樣包含一個正樣本x+和Nneg個負樣本x-,在對數據進行詞向量訓練時也用到了負采樣技術,這種對比方法已被廣泛應用于一系列基于自監督學習的語言、圖像和視覺識別任務中[23,25,29]。

由于InfoNCE 與交叉熵有關,幾乎包含隨機變量的所有可能值,并且它們是均勻分布的,所以最小化InfoNCE 等同于最小化標準交叉熵損失:

其中:y是指正樣本;是負樣本。同時,由這個方程可知InfoNCE 與最大化fθ(x,y)有關,基于上述方程,可以通過利用特定的X和Y來最大化原始數據不同變量之間的互信息。通過對比正負樣本與原始數據之間的相似程度,最大化正樣本對的互信息,提高了預測下一個POI的準確性。

InfoNCE 損失可以同時優化嵌入層和當前和歷史軌跡模型。同時式(14)是一個分類交叉熵,用來區分數據中的正負樣本。實際操作中可以通過Softmax 分類器來區分正負樣本。本文模型SeNext的算法流程如下所示。

4 實驗與結果分析

4.1 數據集

本文模型在Foursquare 和Gowalla 這兩個數據集的四個城市上進行實驗,比較SeNext與幾個經典模型的性能。

本文對Foursquare 和Gowalla 兩個數據集進行實驗,從Foursquare 中選擇了紐約和新加坡兩個城市,從Gowalla 中選擇了加利福尼亞州和休斯敦這兩個區域的數據。對于每個數據集,刪除了少于5 個用戶訪問的POI。對于每個用戶,本文將所有簽到的位置連接起來形成一條軌跡。隨后,將每條軌跡劃分為子軌跡,設置每條軌跡的時間間隔為6 h。此外,本文篩選并剔除少于5 個子軌跡的用戶。對于所有數據集,選擇每個用戶前80%的子軌跡作為訓練集,并選擇其余的20%作為測試數據。表1總結了預處理后的數據集統計信息。

表1 數據集統計信息Tab.1 Statistical information of datasets

4.2 實驗設置

表2 描述了實現基于對比自監督學習的軌跡預測模型的特定設置和超參數。對于嵌入層,單詞嵌入模型CBOW 的目的是給定上下文來預測輸入詞語。與之相反,Skip-Gram 是基于輸入詞語預測上下文。不同于分層Softmax(Hierarchical Softmax,HS)中每個訓練樣本更新所有權重,負采樣(NS)每次只更新一部分權重。本文使用負采樣來確保計算效率和可擴展性。實驗環境是在Linux 的TensorFlow 框架上,并使用GTX1080 GPU加速計算。

表2 實驗參數設置Tab.2 Setting of experimental parameters

4.3 基準模型比較

為了驗證本文提出模型的有效性,本文模型與幾種經典模型以及有關下一個POI預測的最新模型進行了比較,包括:

1)Markov chain[10]:馬爾可夫鏈是使用估計的轉移概率預測POI的經典方法之一。

2)ST-RNN[14]:是一種結合了時空上下文,并在RNN 框架內預測用戶的下一次訪問的深度學習模型。

3)POI2vec[15]:是一種結合基于word2vec技術的地理影響來預測下一個POI的嵌入表示學習方法。

4)DeepMove[16]:是學習人類移動性的第一個基于歷史注意力的方法,包括一個帶有RNN 的序列編碼模塊,用于從最近軌跡和歷史軌跡中學習移動模式。

5)VANext[17]:它采用變分注意力機制對最近的軌跡進行編碼,挖掘用戶軌跡的歷史移動行為模式。

4.4 總體性能比較

表3 和表4 給出了四個數據集的Top@k性能比較??梢钥吹?,就預測精度而言,所提出的基于對比自監督學習的軌跡預測模型在所有方法中均表現出最佳的性能。

表3展示了模型在Top@1上的性能比較,從表3中可以發現,在紐約數據集和新加坡數據集上,SeNext在Top@1上的準確率分別比VANext提高了11.10%和12.93%。在性能方面,基于深度神經網絡的模型(ST-RNN、POI2vec、DeepMove)的預測精度高于傳統基于特征的嵌入方法和基于馬爾可夫鏈的方法。此外,DeepMove 通常比大部分基準模型表現更好,因為它能夠利用歷史軌跡,而其他基準模型只能在訓練期間學習當前軌跡中的序列模式。盡管所有這些方法都使用了RNN來獲取長期的POI 依賴,但由于RNN 存在固有的梯度消失問題,即使是LSTM 和GRU 也不能很好地處理非常長的歷史軌跡。這一結果符合了RNN 應用于自然語言處理的局限性。因此,DeepMove 的主要優勢在于它對歷史軌跡的重要性區分,這也證實了注意機制在處理序列數據方面的優越性。

表3 不同模型在Top@1上的準確率比較 單位:%Tab.3 Accuracy comparison of different models on Top@1 unit:%

另一方面,SeNext 優于DeepMove,主要是因為引入的軌跡預測模型不僅能更有效地捕捉短期的人類移動模式,而且數據增強能增提升模型的泛化能力,同時使用對比自監督學習方法中的負采樣使模型更易于訓練。

表4 中展示了模型在Top@5 上的性能比較,與表3 中在Top@1 上的結果類似,基于對比自監督學習的軌跡預測模型在所有方法中仍表現出最佳的性能。值得注意的是,對比表3和表4的實驗結果,可以觀察到本文的模型在Top@5上提升的幅度低于Top@1。Top@1 強調的是預測結果取最后概率向量值最大的那一維作為預測結果,Top@5 是預測前五個中只要任意一個出現了目標值即為預測正確,但這五個中也可能是排名靠后的第四個被判斷是正確的,這樣模型的判斷并非可靠。而本文模型是利用正負樣本對比學習的方式對模型進行訓練,正樣本即是正確的POI,負樣本是一個訓練批次中除這個點之外其他任意的點,通過將正樣本與錨數據的相似度最大化,與負樣本相擬度的最小化,這使得模型更關注于Top@1而非Top@5。

表4 不同模型在Top@5上的準確率比較 單位:%Tab.4 Accuracy comparison of different models on Top@5 unit:%

4.5 模塊性能比較

為了驗證本文模型中各個模塊的有效性,本文采用不同的方式改變模塊來進行實驗。具體來說,DeepMove 主要利用RNN 和注意力機制從最近軌跡和歷史軌跡中學習移動模式。VANext 在DeepMove 的基礎上增加了變分貝葉斯技術,利用變分注意力將最近的移動性編碼為潛變量,并使用它來查詢用戶的歷史移動性;而SeNext 進一步將變分注意力替換為以自監督學習的方式來挖掘軌跡中更有價值的表示。將本文基于自監督學習的軌跡預測模型與DeepMove 和VANext 在紐約數據集上進行比較,如圖3 所示,其中縱坐標表示的是進行對比的三個模型分別在Top@1、Top@5 和AUC(Area Under Curve)上的結果值。實驗結果顯示,VANext 的預測效果要優于DeepMove,表明變分注意力機制要比注意力機制更能匹配用戶過去最相似的移動方式;而SeNext 優于VANext,說明本文的對比自監督學習方法可以更好地挖掘用戶軌跡的潛在移動規律。在后續的工作中,會進一步結合其他上下文POI 屬性信息,并改進對比自監督學習中的優化函數來更好地提升預測效果。

圖3 模型性能比較實驗結果Fig.3 Experimental results of model performance comparison

5 結語

本文提出了一種新穎的基于對比自監督學習的軌跡預測模型,用于學習并預測下一個POI 的人類移動模式。通過使用數據增強來豐富訓練樣本,提高了模型的泛化能力。使用RNN 來獲取當前軌跡的特征信息,使用CNN 與注意力機制來獲取并匹配與當前軌跡最相似的用戶歷史移動方式,大大提高了現有基于RNN 的方法的效率。通過對比自監督的方式訓練模型,更好地捕獲軌跡的移動模式和多層次語義。未來進一步的研究工作一部分將集中于結合其他的上下文POI屬性(例如博物館、餐廳),以提高模型的效率;另一種可能的擴展是考慮用戶軌跡的交通運行模式(例如步行、公共汽車、出租車)以提高模型綜合預測能力。

猜你喜歡
軌跡樣本預測
無可預測
選修2-2期中考試預測卷(A卷)
選修2-2期中考試預測卷(B卷)
解析幾何中的軌跡方程的常用求法
選修2—2期中考試預測卷(A卷)
軌跡
軌跡
規劃·樣本
人大專題詢問之“方城樣本”
隨機微分方程的樣本Lyapunov二次型估計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合