孫運淼,林鋒,周激流
(四川大學計算機學院,成都 610065)
隨著移動場景時代的到來,移動設備與社交網(wǎng)絡在全球范圍內迅速普及、衛(wèi)星定位與無線通信技術快速發(fā)展,不同場景中類型各異的大量移動對象得到了持續(xù)和廣泛的有效追蹤,海量的移動軌跡數(shù)據(jù)由此得到采集與存儲。在這些移動軌跡數(shù)據(jù)中,蘊藏了指向環(huán)境特性、個體行為、社會規(guī)律等多方面的豐富信息,有著巨大的學術價值與應用前景。如何根據(jù)任務需要從中挖掘出有價值的潛在信息,已經(jīng)成為了數(shù)據(jù)挖掘領域中的重要課題。
移動軌跡作為一種時間序列信息,具有數(shù)據(jù)規(guī)模大、規(guī)律周期長等特點;作為定位數(shù)據(jù),又含有不可避免的誤差;再加上對象的自主移動往往受到地理特性、交通規(guī)則、社會規(guī)律等環(huán)境因素的復雜限制,眾多的挑戰(zhàn)使得傳統(tǒng)的移動軌跡研究方法難以高效、靈活地適用于當今海量、多樣化的數(shù)據(jù)挖掘任務。
近年來,隨著神經(jīng)網(wǎng)絡技術研究的發(fā)展和計算能力、訓練數(shù)據(jù)等資源的豐富,基于深度神經(jīng)網(wǎng)絡的機器學習方法已經(jīng)在關系分類、圖像識別、自然語言處理等應用領域中獲得了廣泛應用,在諸多問題的標準測試集上都取得了出色的效果。
長短時記憶網(wǎng)絡(Long Short-Term Memory,LSTM)是一種應用廣泛的新型循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neu?ral Network,RNN),與傳統(tǒng)RNN同樣是針對序列數(shù)據(jù)的處理任務而設計的。為了解決傳統(tǒng)RNN中存在的梯度爆炸或耗散(gradient explosion/vanishing)、訓練速度慢、遠距離學習能力有限等問題,LSTM針對傳統(tǒng)RNN中的隱含層單元做出了改進,引入了記憶單元和控制門的結構設計,從而優(yōu)化了隱含層對輸入信息的提取、存儲和表達過程,以及錯誤信號的時域反傳過程。與傳統(tǒng)RNN相比,LSTM網(wǎng)絡對長距離序列特征的學習能力更強、訓練效率更高。
在語音、文本、時間序列等許多序列信息學習的領域中,LSTM網(wǎng)絡都有著廣泛的應用。2006年,文獻[1]提出了基于雙向LSTM網(wǎng)絡的序列標注模型,用于處理未經(jīng)預分段的連續(xù)語音信號序列。2013年,文獻[2]提出了用于語音識別的深度LSTM網(wǎng)絡,實現(xiàn)從語音信號序列到音素序列的映射,并在標準測試集上取得了state-of-the-art的成績。文獻[3]提出了基于多層LSTM的序列到序列(sequence to sequence)的機器翻譯模型。文獻[4]在該模型的基礎上提出了改進,轉而應用于句法分析任務中,并取得了state-of-the-art的成績。文獻[5]將LSTM網(wǎng)絡用于檢索式的問答系統(tǒng)(question answering system)中,學習問答語句間的匹配模型。文獻[6]則提出了用于分析簡短的程序代碼并給出程序輸出的深度LSTM模型,文中將程序代碼視作字符序列輸入,程序運行的正確結果作為訓練目標,對于簡單的數(shù)值運算程序,預測準確率可達99%文獻[7]將LSTM網(wǎng)絡與卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)相結合,用于降水量的時空序列的預測。文獻[8]將LSTM網(wǎng)絡與CNN相結合用于圖文轉換,該模型首先利用CNN對圖像輸入進行特征提取,再利用LSTM實現(xiàn)從特征到文本輸出的學習。文獻[9]則提出了能夠直接用于圖像處理的4向LSTM網(wǎng)絡,且在多個標準測試集上能夠取得與傳統(tǒng)的CNN方法相近的表現(xiàn),證明了LSTM在圖像處理領域同樣有著巨大的潛力。
現(xiàn)有的研究和應用證明,LSTM網(wǎng)絡在許多種針對大規(guī)模序列信息中的復雜關聯(lián)和依賴的處理任務中,都能夠取得優(yōu)異的表現(xiàn)。因此,國內外許多研究人員將LSTM網(wǎng)絡引入了軌跡數(shù)據(jù)處理的領域中,用于實現(xiàn)對車輛、行人等移動軌跡的識別或預測,并取得了出色的成果,本文對這些工作進行了簡要回顧。
為了解決傳統(tǒng)RNN中的梯度爆炸或耗散問題,文獻[10]于1997年針對其隱含層單元結構做出了改進,提出了LSTM單元。使用LSTM單元的RNN網(wǎng)絡,通常被稱作LSTM-RNN網(wǎng)絡或LSTM網(wǎng)絡。隨著相關研究的深入和應用領域的擴展,研究人員針對最初提出的LSTM單元結構提出了許多改進和變體,其中,使用最為廣泛的一種結構如圖1所示。
一個LSTM單元由一個專門的記憶單元(Memory Cell)和多個調節(jié)門(gate)組成其中,記憶單元使用其狀態(tài)量(state)進行歷史信息的存儲,與之相連的常數(shù)錯誤傳送結構(Constant Error Carousel,CEC)可以使得錯誤信號在時域反傳(Back Propagation Through Time,BPTT)時實現(xiàn)無衰減傳播,從而解決傳統(tǒng)RNN中梯度爆炸或耗散的問題。輸入門(Input Gate)和輸出門(Output Gate)用于控制信息的流入與流出,遺忘門(Forget Gate)則用于決定是否重置記憶單元,這3個門的行為將通過上層單元的輸出、上一時刻的自身輸出以及記憶單元的狀態(tài)量共同決定。將記憶單元狀態(tài)量輸入到這3個門的連接(圖中虛線表示)被稱為窺孔連接(Peephole Connections)。
圖1 LSTM單元結構
(1)用h來表示整個LSTM隱含層單元的最終輸出,c表示記憶單元的狀態(tài)量,x表示輸入數(shù)據(jù)那么一個LSTM單元對輸入數(shù)據(jù)的處理過程可以表示如下:
(2)計算三個LSTM調節(jié)門的值
其中,i,f,o分別代表著輸入門、遺忘門和輸出門,Wmn,bn分別代表著從m到n的連接權值和n的偏置,σ代表著調節(jié)門的激活函數(shù)。如上所述,所有調節(jié)門的值除了受當前輸入數(shù)據(jù)xt和上一時刻LSTM單元輸出ht-1的影響外,還受上一時刻記憶單元值ct-1的影響,即窺孔連接。
(2)計算LSTM記憶單元的狀態(tài)量更新
其中,⊙表示逐點乘積,t可以稱作候選隱含層狀態(tài),實際等同于使用一個傳統(tǒng)RNN隱含層單元處理將得到的輸出。由上式可見,記憶單元的狀態(tài)值更新取決于t和上一時刻的自身狀態(tài)ct-1,并通過輸入門和遺忘門分別對這兩部分信息的流入進行調節(jié)。
(3)整個LSTM單元的最終輸出為:
其中,σ通常選擇Logistic Sigmoid函數(shù),φ,?通常選擇tanh函數(shù)。這種獨立的記憶單元結合多個調節(jié)門的設計,使LSTM單元獲得了保存、讀取、重置和更新長距離歷史信息的能力。例如,如果輸入門保持關閉(it=0),那么記憶單元不會受到新的輸入數(shù)據(jù)的影響;如果與此同時遺忘門不作用(ft=1),那么記憶單元中的信息就能長時間的一直保存下去,并且通過開放輸出門(ot=1)供給下層單元使用。
與傳統(tǒng)RNN類似,LSTM網(wǎng)絡也使用時域反傳算法實現(xiàn)網(wǎng)絡參數(shù)的訓練。在傳統(tǒng)RNN中,錯誤信號的影響隨著時間間隔的增長而呈現(xiàn)指數(shù)級膨脹或壓縮,即梯度爆炸或耗散問題。而在LSTM中,由于記憶單元的自連接邊的設計,錯誤信號能夠始終以1的權重在時域上實現(xiàn)穩(wěn)定傳送,因此稱作恒定誤差傳送。
在文獻[10]于1997年最初提出的LSTM單元結構中,只包含兩個調節(jié)門:輸入門和輸出門。直到1999年,文獻[11]才在此基礎上引入了遺忘門的設計,允許了狀態(tài)量的重置,避免其無限制地增長,為模型帶來了清除無用的歷史信息的能力。
2000年,文獻[12]中提出,在調節(jié)門的控制中引入記憶模塊的參與,可以更好地利用從歷史序列中學習到的特征,因此提出了窺孔連接,將記憶單元的狀態(tài)量也輸送到各個調節(jié)門。
為了充分利用到整個序列的上下文信息,文獻[13]在 2005年將 LSTM與雙向 RNN(Bidirectional RNN,BRNN)結合,提出了雙向LSTM(BLSTM)。
2014 年,文獻[14]提出了 GRU(Gated Recurrent Unit),只包含用于捕捉短期依賴的重置門(Reset Gate)和用于捕捉長期依賴的更新門(Update Gate),并合并了LSTM中的記憶單元和候選隱含層狀態(tài)。GRU普遍被視作是LSTM的一種簡化版本,經(jīng)實驗證明與傳統(tǒng)LSTM表現(xiàn)相近但效率更高,因此也成為了最流行的變體之一。
2014年,文獻[3]首次將深度神經(jīng)網(wǎng)絡(Deep Neu?ral Network,DNN)的框架與LSTM相結合,提出了深度LSTM(deep LSTM)。2015 年,文獻[15]和文獻[16]分別提出了樹狀的和層次的LSTM模型,用于自然語言處理任務中。文獻[7]在解決降水量的預測問題時,為了同時實現(xiàn)時間維度和空間維度的特征學習,將卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)中的卷積算子引入了LSTM的狀態(tài)量更新過程中,提出了卷積LSTM(Convolutional LSTM,ConvLSTM)。
移動設備的普及和GPS定位技術的發(fā)展使得持續(xù)廣泛的移動對象追蹤成為可能,也產生了海量的移動軌跡數(shù)據(jù)資源。移動軌跡數(shù)據(jù)的處理有著巨大的研究價值與應用需求,卻也面臨著數(shù)據(jù)規(guī)模大、時間跨度長等等許多挑戰(zhàn)。許多研究人員將LSTM網(wǎng)絡作為高效的序列數(shù)據(jù)處理技術引入了這一領域,提出了任務需求和網(wǎng)絡結構各異的大量應用。本文將選取LSTM網(wǎng)絡在移動場景中的典型應用,按照移動對象和任務類型進行分類介紹。
文獻[17]中采用LSTM網(wǎng)絡處理車輛的移動軌跡信息,來實現(xiàn)對車輛行為的識別,用于解決智能交通領域中的駕駛環(huán)境檢測問題。該算法專注于十字路口附近的交通場景,按照車輛對象的駛來方向和駛去方向(左、右轉或直行)規(guī)定了12種不同的車輛行為標簽,試圖利用LSTM網(wǎng)絡實現(xiàn)基于這些標簽的分類。
算法使用KITTI數(shù)據(jù)集中的交通圖像,映射到路面平面上得到車輛對象的移動軌跡數(shù)據(jù),并從中選取出固定長度的輸入序列,預提取出四種特征作為LSTM網(wǎng)絡的真正輸入:線性變化特征、角度變化特征、角度變化特征直方圖、鳥瞰圖坐標特征。為了更好地學習序列中的時域表征,文獻中采用了3層LSTM的結構,如圖2所示。
圖2 車輛行為識別網(wǎng)絡
首層輸入的維度由特征數(shù)目和特征向量維度決定;在前兩層的傳播過程中,上述四種特征被分別處理,僅在最后一個LSTM層中,四種特征才得到融合;最后一個LSTM層則接入一個全連接層,最終輸出一個代表著這個序列樣本的分類概率的向量。
文獻[18]同樣借助LSTM網(wǎng)絡來實現(xiàn)車輛移動軌跡的時域特征學習,用于構建一個由圖像感知到行動決策的端到端的自動駕駛模型,網(wǎng)絡設計如圖3所示。
圖3 車輛軌跡預測網(wǎng)絡
文中采用全卷積網(wǎng)絡(FCN)作為單個時間步中從圖像幀到對象位置信息的編碼器,編碼結果即附近對象在單個時間步中的空間特征表示。經(jīng)過編碼的逐幀空間特征與傳感器收集得到的速度和角度信息,以及前一時間步的自身行動決策共同作為網(wǎng)絡輸入,在時域傳播中依序經(jīng)過一個單層的LSTM網(wǎng)絡,從而提取周圍對象與自身的移動的時域特征,并做出對移動軌跡的預測,儲存在LSTM網(wǎng)絡的輸出中,算法將其稱作狀態(tài)量(state)。這一代表著對附近車輛和自身做出的軌跡預測的狀態(tài)量再經(jīng)過一個全連接層,即可得到在當前移動環(huán)境下,各個駕駛決策的可行度。文中使用了真實數(shù)據(jù)集中的車輛駕駛決策分布作為訓練的目標,從而實現(xiàn)基于移動軌跡預測的自動駕駛策略學習。
文獻[19]設計了一種雙向LSTM網(wǎng)絡用于解決行人航位推算中的步態(tài)檢測問題。該模型是針對室內的行人移動而設計的,使用由慣性測量單元(Inertial Mea?surement Unit,IMU)收集得到的角速度和加速度信息,用于表示一個行人在某一時刻的移動狀態(tài)。移動狀態(tài)的序列輸入網(wǎng)絡后,經(jīng)由LSTM層完成時域特征的提取,最終給出步態(tài)標簽的概率分布,例如前進、后退、奔跑、步行等。
文中采用了雙向的RNN架構,一個完整的移動狀態(tài)序列將從正反兩個方向分別輸入到兩個獨立的隱含層。這樣一來,當網(wǎng)絡對一組移動樣本進行學習時,其反向移動也可以同時被學習到。實驗證明,在一個由10個個體的10000個移動序列樣本組成的數(shù)據(jù)集上,該模型的步態(tài)檢測正確率可達98.5%。
文獻[20]設計了一種復雜的LSTM網(wǎng)絡用于解決行人的軌跡預測問題??紤]到行人移動的社會性,個體的移動軌跡可能受到同一場景中其他個體的影響。為了賦予LSTM網(wǎng)絡捕捉不同個體的軌跡序列之間的依賴關系的能力,文章向傳統(tǒng)的LSTM網(wǎng)絡中引入了一種稱作社會池化層(social pooling layer)的新型結構,將地理位置上鄰近的多條軌跡序列各自的LSTM網(wǎng)絡連接起來,彼此共享隱含層信息,從而更好的學習到行人軌跡的社會化特征,并用來對下一時刻做出更準確的預測。
首先,Social LSTM(S-LSTM)為場景中的每個行人分配一個傳統(tǒng)的LSTM網(wǎng)絡,通過學習自身的歷史軌跡信息來預測未來的運動。LSTM網(wǎng)絡具備儲存和學習長距離信息的能力,可以比傳統(tǒng)的RNN更好地捕捉到較長時間范圍內的個體運動規(guī)律;然而對于行人軌跡之間的相互作用以及地理環(huán)境對軌跡的影響等社會性規(guī)律,這樣相互獨立的多個LSTM網(wǎng)絡結構仍然無法有效的進行學習,因此文中進一步引入了社會池化層。
文中提出的社會池化層接受不同移動對象對應的多個LSTM網(wǎng)絡的隱含層輸出作為自身的輸入,并按照空間范圍內劃分出的網(wǎng)格和每個移動對象所處的不同位置,對他們的隱含層信息進行池化,池化的結果將輸出到下一時刻的LSTM網(wǎng)絡,這樣就將多個獨立的LSTM網(wǎng)絡在地理維度上連接在了一起,組成了一個大的S-LSTM網(wǎng)絡。其中,算法基于劃分的地理網(wǎng)格為移動對象規(guī)定了鄰域范圍,只有位于自身鄰域范圍內的鄰居對象的隱含層信息才會接受該對象的池化;如果有多個鄰居對象位于同一網(wǎng)格中,他們的隱含層信息則會被融合。這相當于對社會池化層加入了剪枝操作,限制了其復雜度,在允許鄰近節(jié)點信息共享的同時,避免了遠距節(jié)點間冗余的信息傳遞。
也就是說,不同于傳統(tǒng)的獨立LSTM網(wǎng)絡,在SLSTM網(wǎng)絡中,一個運動對象的LSTM層單元除了接收當前時刻的坐標輸入和上一時刻的隱含層輸入之外,還將通過池化層接收鄰近對象的上一時刻隱含層信息作為輸入,如圖4所示。
圖4 Social-LSTM網(wǎng)絡
S-LSTM網(wǎng)絡的輸出,再與一個全連接層相連,得到代表坐標預測的高斯分布參數(shù)的矩陣,即可用于下一時刻移動坐標的解碼。
在現(xiàn)有的研究中,移動軌跡數(shù)據(jù)處理主要采用的是GPS定位數(shù)據(jù)、從圖像中識別進而映射得來的坐標或者與移動主體綁定的傳感器數(shù)據(jù)作為網(wǎng)絡輸入,經(jīng)過設計各異的LSTM網(wǎng)絡實現(xiàn)時域特征的提取,再經(jīng)過解碼得到未來移動軌跡的預測值或移動模式的識別結果。然而,由于移動軌跡自身的數(shù)據(jù)特性,LSTM網(wǎng)絡在這一領域的應用仍然面臨著許多挑戰(zhàn):
(1)連續(xù)型數(shù)值變量
移動軌跡數(shù)據(jù)的處理通常以連續(xù)型數(shù)值變量作為對象,而以往的LSTM網(wǎng)絡大都是針對離散型變量的處理而設計的。這也就要求在傳統(tǒng)LSTM網(wǎng)絡設計的基礎上,針對連續(xù)變量的處理做出適應與改進。
(2)數(shù)據(jù)預處理
GPS定位數(shù)據(jù)中包含著不可避免的誤差,因此,原始的軌跡數(shù)據(jù)通常要求首先經(jīng)過預處理再用于LSTM網(wǎng)絡的輸入:對定位數(shù)據(jù)進行平滑去噪,提取出軌跡中的駐留點進而將軌跡轉化為駐留點的序列,或直接對軌跡進行顯式的特征提取。合適的預處理對于訓練效率和效果而言至關重要,也是軌跡數(shù)據(jù)處理中的關鍵問題之一。
(3)空間維度特征
軌跡信息不僅具有時序特征,還包含著空間維度的特征,目前已有一些研究者提出了將CNN與RNN結合的網(wǎng)絡設計。如何將時間與空間維度的特征學習結合起來,更好地實現(xiàn)對作為時空序列的軌跡信息的學習,也將是未來的研究熱點之一。
(4)社會性特征
個體的移動受到環(huán)境因素的限制和其他個體的影響,具有社會性的特征和規(guī)律。豐富的大數(shù)據(jù)資源和計算能力使得基于多移動對象的軌跡社會性挖掘成為可能,同時也有著巨大的應用需求和價值。對于一個場景中大量移動對象的軌跡數(shù)據(jù),如何實現(xiàn)高效的協(xié)同學習,也是極具潛力與挑戰(zhàn)的研究課題。
[1]Graves Alex,Fernandez Santiago,Gomez Faustino,et al.Connectionist Temporal Classification:Labelling Unsegmented Sequence Data with Recurrent Neural Networks:International conference on Machine learning,2006[C].2006:369.
[2]Graves Alex,Mohamed Abdelrahman,Hinton Geoffrey E.Speech Recognition with Deep Recurrent Neural Networks:International Conference on Acoustics,Speech,and Signal Processing,2013[C].2013:6645.
[3]Sutskever Ilya,Vinyals Oriol,Le Quoc V.Sequence to Sequence Learning with Neural Networks:Proceedings of the 27th International Conference on Neural Information Processing Systems,2014[C].Montreal,Canada:MIT Press,2014:3104.
[4]Vinyals Oriol,Kaiser Lukasz,Koo Terry,et al.Grammar as a Foreign Language:Neural Information Processing Systems,2015[C].2015:2773.
[5]Wang Di,Nyberg Eric.A Long Short-Term Memory Model for Answer Sentence Selection in Question Answering:ACL,2015[C].2015.
[6]Zaremba Wojciech.Learning to Execute[J].Computing Research Repository,2015,1410.4615.
[7]Shi Xingjian,Chen Zhourong,Wang Hao,et al.Convolutional LSTM Network:a Machine Learning Approach for Precipitation Nowcasting:Neural Information Processing Systems,2015[C].2015:802.
[8]Karpathy Andrej,Feifei Li.Deep Visual-Semantic Alignments for Generating Image Descriptions:Computer Vision and Pattern Recognition,2015[C].2015:3128.
[9]Visin Francesco,Kastner Kyle,Cho Kyunghyun,et al.ReNet:A Recurrent Neural Network Based Alternative to Convolutional Networks[M].Translate.ed[S.l.]:[s.n.],2015.
[10]Hochreiter Sepp,Schmidhuber Jurgen.Long Short-Term Memory[J].Neural Computation,1997,9(8).
[11]Schmidhuber Juergen,Cummins F.Learning to Forget:Continual Prediction with LSTM:International Conference on Artificial Neural Networks,1999[C].1999:850.
[12]Gers F.A.,Schmidhuber J.Recurrent Nets That Time and Count:Proceedings of the IEEE-INNS-ENNS International Joint Conference on Neural Networks.IJCNN 2000.Neural Computing:New Challenges and Perspectives for the New Millennium,2000[C].2000:189.
[13]Graves Alex,Schmidhuber Jurgen.Framewise Phoneme Classification with Bidirectional LSTM and Other Neural Network Architectures[J].Neural Networks,2005,18(5).
[14]Cho Kyunghyun,Van Merrienboer Bart,Gulcehre Caglar,et al.Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation:Empirical Methods in Natural Language Processing,2014[C].2014:1724.
[15]Tai Kai Sheng,Socher Richard,Manning Christopher D.Improved Semantic Representations from Tree-Structured Long Short-Term Memory Networks:Meeting of the Association for Computational Linguistics,2015[C].Beijing,2015:1556.
[16]Li Jiwei,Luong Thang,Jurafsky Dan.A Hierarchical Neural Autoencoder for Paragraphs and Documents:In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing,2015[C].URL,2015:1106.
[17]Khosroshahi A.,Ohn-Bar E.,Trivedi M.M.,et al.Surround Vehicles Trajectory Analysis with Recurrent Neural Networks[J].2016 IEEE 19th International Conference on Intelligent Transportation Systems(Itsc),2016.
[18]Huazhe Xu,Yang Gao,Fisher Yu,et al.End-to-End Learning of Driving Models from Large-Scale Video Datasets[J].arXiv,2016,arXiv:1612.01079.
[19]Edel M.,Koppe E.,Ieee.An Advanced Method for Pedestrian Dead Reckoning using BLSTM-RNNs[M].Translate.ed New York:IEEE,2015.
[20]Alahi A.,Goel K.,Ramanathan V.,et al.Social LSTM:Human Trajectory Prediction in Crowded Spaces[M].Translate.ed New York:IEEE,2016:961