翁小雄,田 丹,覃鎮(zhèn)林,羅瑞發(fā)
1.華南理工大學(xué) 土木與交通學(xué)院,廣州 510630
2.深圳市金溢科技股份有限公司,廣東 深圳 518000
隨著智慧城市進一步建設(shè),其對個體出行預(yù)測任務(wù)提出了越來越高的要求。不僅要求保證個體出行預(yù)測的準確度,還應(yīng)深入挖掘個體出行模式。出行模式可反映個體出行中相同或相似的出行記錄。掌握個體出行模式有助于理解個體出行規(guī)律,幫助相關(guān)交通企業(yè)進行科學(xué)的運營管理,如為地鐵線路規(guī)劃工作提供可以信賴的決策依據(jù)。
近年來,深度學(xué)習(xí)模型,尤其是深度注意力模型大規(guī)模應(yīng)用于個體出行預(yù)測任務(wù)[1],在該任務(wù)的預(yù)測準確度上往往表現(xiàn)出優(yōu)異的性能[2]。但通常深度學(xué)習(xí)模型具有黑箱性質(zhì),不能通過模型對個體出行模式提供有效解釋[3],導(dǎo)致人們對模型的信任度低。因此探索深度學(xué)習(xí)模型在個體出行預(yù)測任務(wù)中的可解釋性是必要的。其中可解釋性表示為人類可理解的出行模式對模型預(yù)測結(jié)果的重要性。
由于深度注意力模型中注意力機制的主要作用是為每一個輸入分配權(quán)重[4],其為探索模型的可解釋性提供了切入點。在計算機領(lǐng)域的自然語言處理(NLP)任務(wù)中,Xie等[5]聲稱注意力機制反映了各輸入對模型預(yù)測結(jié)果的重要性。Jain等[6]通過構(gòu)造對抗注意力權(quán)重等實驗提出注意力機制不能為模型預(yù)測提供有意義的解釋。然而Wiegreffe等[7]反對了他們的觀點,聲稱Jain等[6]做的實驗不能完全否認注意力機制所發(fā)揮的作用。Vashishth等[8]探討了注意力機制在什么條件下可以作為可解釋性指標。結(jié)果表明,在單序列任務(wù)中注意力機制發(fā)揮的作用遠不如多序列任務(wù)。在個體出行預(yù)測任務(wù)中,Li等[9]通過可視化少量樣本的注意力權(quán)重,聲稱注意力機制可以識別模型不同重要程度的輸入。現(xiàn)有關(guān)于模型可解釋性的研究主要集中在NLP任務(wù)中,通過注意力權(quán)重擦除、置換等實驗進行探索。其中擦除方法被廣泛應(yīng)用于消融實驗[10]。在個體出行預(yù)測任務(wù)中,未考慮全樣本下的可解釋性,缺乏一個框架對出行預(yù)測進行系統(tǒng)地解釋,并反映出行模式和模型所學(xué)習(xí)到的出行規(guī)律之間的關(guān)系。
地鐵出行模式研究作為個體出行分析中重要一環(huán)[11],本研究選取地鐵出行及其出行模式作為研究背景。為了全面探索深度注意力模型在個體地鐵出行預(yù)測任務(wù)是否具備可解釋性,即注意力機制是否能通過學(xué)習(xí)出行模式來把握出行規(guī)律,本文提出基于出行模式的注意力權(quán)重擦除方法和可解釋性評估框架。并結(jié)合個體出行模式規(guī)律,開發(fā)了3種不同的應(yīng)用場景,驗證模型的可解釋性。
研究基于出行模式的注意力機制可解釋性強,首先引入兩個基本概念以定義個體地鐵出行預(yù)測任務(wù)。
定義1(出行記錄)通過一個四維元組來描述:

式中,R表示一次出行的刷卡記錄,o、d、w、t分別表示出發(fā)站、目的站、工作日/非工作日(0表示工作日,1表示非工作日)和入站時間(h)。
定義2(出行序列)

給定歷史出行序列Sm=(R1,R2,…,Rm),個體出行預(yù)測任務(wù)可以定義為通過歷史出行求解函數(shù)f,該函數(shù)實現(xiàn)通過歷史出行序列映射下一次出行記錄的站點,其數(shù)學(xué)定義如下:

式中,l表示模型預(yù)測的結(jié)果,預(yù)測的站點類型可以是o或d。
出行序列中具有完全相同的出行記錄R,即o、d、w、t四個屬性均相同,則定義為同一種個體出行序列的出行模式,記為P。假設(shè)個體u在給定的出行序列Smu下,相應(yīng)的出行模式集合表示為:

式中,nu表示出行序列Smu下具有出行模式的數(shù)量。假設(shè)其中一種出行模式Pi具有出行記錄Ri1,Ri2,…,Rin,則滿足Ri1=Ri2=…=Riniu。
個體出行預(yù)測框架如圖1所示,輸入一個出行記錄序列,經(jīng)過嵌入層對每個出行記錄的離散的4維屬性o、d、w、t進行特征的降維映射。時間序列處理層對每個出行記錄的嵌入向量按時間先后順序進行處理。注意力層即對時間序列處理層輸出的中間表示分配不同的注意力權(quán)重,這些中間表示與每個出行記錄一一對應(yīng)。最后使用全連接層和softmax層對注意力層輸出的結(jié)果進行推斷,得到最終的預(yù)測結(jié)果。

圖1 地鐵出行的深度注意力預(yù)測框架圖Fig.1 Overview of deep attentive model for individual metro mobility prediction
嵌入層主要采用被大規(guī)模運用于自然語言處理領(lǐng)域的詞嵌入方法[12],該方法可以將離散屬性轉(zhuǎn)化為低維的參數(shù)向量,這些向量的參數(shù)可以通過神經(jīng)網(wǎng)絡(luò)的反向傳播進行學(xué)習(xí)。地鐵的個體出行屬性中o、d記錄了一次出行的空間位置,w表示了工作日出行和非工作日出行兩種狀態(tài)。將入站時間t作為一種離散屬性輸入,是因為出行模式更傾向于反映在每小時離散的時間點,而不是連續(xù)的數(shù)值。因此,通過詞嵌入對這四個屬性進行嵌入處理,更容易使模型生成與出行屬性相關(guān)的特征。該運算表示為:

式中,E表示詞嵌入運算,V表示嵌入向量。
使用時間序列層對出行模式的周期規(guī)律進行學(xué)習(xí)。出行序列經(jīng)過嵌入層處理得到的嵌入向量序列[VR1,VR2,…,VRm]作為該模塊的輸入,然后輸出隱藏向量序列[h1,h2,…,hm]。其中,[h1,h2,…,hm-1]稱為候選向量,hm稱為查詢向量,作為注意力層的輸入。該層通常可以使用深度循環(huán)神經(jīng)網(wǎng)絡(luò)來實現(xiàn),如圖2所示,其中時序單元可以是RNN、LSTM或GRU等循環(huán)網(wǎng)絡(luò)單元。

圖2 時間序列層Fig.2 Temporal sequence layer
注意力層[13]的作用是計算查詢向量與候選向量之間的相似度,即通過最近一次出行與歷史出行進行比對,為模型提供全局的歷史信息,從而實現(xiàn)更高的預(yù)測精度。該模塊通常使用一層全連接網(wǎng)絡(luò)和softmax層組成,如圖3所示。計算公式如下:

圖3 注意力層Fig.3 Attention layer

式中,向量u1,u2,…,um-1由全連接網(wǎng)絡(luò)生成,αi代表注意力權(quán)重,由ui經(jīng)過softmax函數(shù)運算得到。上下文向量ct表示歷史出行與當前出行的相關(guān)加權(quán)信息。
最后一個模塊由全連接層和softmax層組成,輸入ct,輸出出行站點預(yù)測分布p,然后通過argmax函數(shù)得到模型決策結(jié)果l,其計算公式為:

式中,其中fc表示全連接層的運算,預(yù)測分布p表示了所有的地鐵站作為下一次預(yù)測站點的概率值,而argmax函數(shù)則選擇最大概率值對應(yīng)的位置作為模型決策結(jié)果l。
在個體出行預(yù)測任務(wù)建模中,深度注意力模型可以為歷史出行序列輸入的每一個記錄分配注意力權(quán)重。在給定出行序列Smu下,出行模式Pi下所有出行記錄的注意力權(quán)重為αi1,αi2,…,αiniu,則定義Pi的注意力權(quán)重為Wi=(αi1,αi2,…,αiniu),其大小為該模式下所有出行記錄的權(quán)重之和Ai=
為了探索個體u的出行記錄所對應(yīng)的出行模式對模型預(yù)測的影響,通過對各個出行模式的注意力權(quán)重大小A11,A12,…,A1nu進行降序排序得到相應(yīng)的出行模式的排序:Bu={P'1,P'2,…,P'nu}。
當注意力模型能夠通過分配注意力權(quán)重的過程挖掘?qū)︻A(yù)測起關(guān)鍵作用的出行模式時,則出行模式按注意力權(quán)重的降序排序?qū)⑻峁┳钣杏眯畔ⅲ闯鲂心J降臋?quán)重大小和這個出行模式對模型預(yù)測的重要性是高度相關(guān)的。
為了探索各個出行模式對模型預(yù)測的不同影響,提出基于出行模式的注意力權(quán)重擦除方法。該方法通過擦除出行模式相應(yīng)的所有出行記錄的注意力權(quán)重。然后對所有注意力權(quán)重重新歸一化,以保證不會出現(xiàn)訓(xùn)練期間從未遇到的情況,即出行記錄的編碼表示hi被人為地變?yōu)?。計算公式如下:

其長度等于注意力權(quán)重組的數(shù)量。出行模式被擦除時,其所對應(yīng)的在M中用0表示。該方法的過程如圖4所示。

圖4 注意力權(quán)重擦除方法流程圖Fig.4 Attention weight erasure method
為了衡量模型注意力權(quán)重組擦除前后決策結(jié)果的變化,引入JS散度(Jensen-Shannon divergence)和決策翻轉(zhuǎn)(decision flip)作為評價標準[11]。
首先,JS散度[14]用來衡量擦除前后模型預(yù)測分布的變化:

其次,決策翻轉(zhuǎn)表示擦除操作前后模型決策結(jié)果發(fā)生變化,即

式中,l和l分別表示基于出行模式的注意力權(quán)重擦除前后的模型決策結(jié)果。根據(jù)決策翻轉(zhuǎn)定義,計算擦除實驗中的決策翻轉(zhuǎn)的樣本比例:

式中,rs表示發(fā)生決策翻轉(zhuǎn)的樣本數(shù)量,Ns表示樣本總數(shù)量。其次,提出使得模型發(fā)生決策翻轉(zhuǎn)的出行模式被擦除的比例的計算如下:

式中,rp表示一個樣本被擦除的出行模式p的數(shù)量,Np為該樣本出行模式的總數(shù)。
使用廣州地鐵羊城通刷卡數(shù)據(jù)進行實例分析。該數(shù)據(jù)的時間跨度為2017年2月1日至2017年5月31日,包括9條地鐵線和157個地鐵站。隨機選擇該時間段內(nèi)出行不少于60次的乘客卡號。根據(jù)出行記錄的定義和公式(1),通過所選乘客相應(yīng)的刷卡記錄構(gòu)造數(shù)據(jù)集。
根據(jù)出行序列的定義,假設(shè)滑動窗口長度m,在給定的時間跨度下,對單個乘客的長度為M的出行序列進行采樣,則第i個出行序列樣本可以表示如下:

式中,1≤i≤M-m+1。
由于不同個體在一定時間周期內(nèi)出行次數(shù)不一,為了對比研究不同長度出行序列預(yù)測任務(wù)下的出行模式的注意力機制可解釋性,且本文所定義模型需要輸入長度一致的數(shù)據(jù),因此需將數(shù)據(jù)按照序列長度要求進行劃分。序列長度的選擇應(yīng)可能多地包含個體在相應(yīng)的時間周期內(nèi)的出行次數(shù),有利于模型能通過這些序列學(xué)習(xí)到相應(yīng)周期的出行模式。結(jié)合個體出行規(guī)律,以周、半月、月作為三個周期維度,統(tǒng)計每個個體出行次數(shù)。如圖5所示,發(fā)現(xiàn)周、半月、月出行次數(shù)分別為20、40、80次可以包括95%的出行人群在相應(yīng)周期下的出行次數(shù),因此m取值為20、40和80。通過公式(17)得到出行序列樣本,再按照8∶2的比例劃分為訓(xùn)練集和測試集。

圖5 出行次數(shù)累計頻率曲線圖Fig.5 Graph of cumulative frequency of trips
在實例分析中,將地鐵出行預(yù)測任務(wù)定義為目的站預(yù)測,即預(yù)測第m+1次出行的目的站。在該任務(wù)中,將第m+1次出行的o、w、t輸入嵌入層,并通過時間序列處理層轉(zhuǎn)化成一個查詢向量,并和由前m次出行記錄得到的候選向量一起輸入注意力層。時間序列處理層選用了門控循環(huán)網(wǎng)絡(luò)(gated recurrent unit,GRU)[15]。在模型訓(xùn)練階段,選用交叉熵函數(shù)作為損失函數(shù)[16]并以準確率作為評估模型性能的指標:

式中,T表示模型預(yù)測準確的樣本數(shù)量,N表示模型預(yù)測錯誤的樣本數(shù)量。如表1所示,隨著序列長度增加,模型訓(xùn)練后性能提升,預(yù)測精度可達70%以上。

表1 模型性能評估Table 1 Model performance evaluation
為了衡量最大注意力權(quán)重的出行模式對模型預(yù)測的影響,使用單一出行模式的注意力權(quán)重擦除方法對出行模式注意力權(quán)重進行擦除。為了對比最大注意力權(quán)重的出行模式擦除實驗結(jié)果,設(shè)置了隨機注意力權(quán)重的出行模式擦除實驗作為對照。最大注意力權(quán)重的出行模式和隨機注意力權(quán)重的出行模式分別記為P*和Pr。
首先,采用下式量化兩種擦除實驗對模型的預(yù)測分布影響程度的差值:

式中,py表示原模型的預(yù)測分布,p*和pr分別擦除P*和Pr的注意力權(quán)重后模型的預(yù)測分布。然后,計算P*的注意力權(quán)重值與Pr的注意力權(quán)重值之間的差值:

圖6展現(xiàn)了所有樣本的ΔA-ΔJS的散點圖,橫軸表示樣本的ΔA,縱軸表示樣本的ΔJS。從圖6可以看出長度序列為20、40和80的出行序列在該實驗中表現(xiàn)相近。此外,大部分樣本的ΔJS>0,表示擦除出行模式P*比擦除出行模式Pr對模型預(yù)測分布影響更大。從藍色的二次擬合曲線看,存在ΔJS隨ΔA增大而增大的趨勢。在ΔA=0.4附近,樣本散點的ΔJS走勢陡峭向上,意味著P*與Pr的注意力權(quán)重差值在0.4水平以上時能更顯著反映出兩種出行模式擦除對原模型預(yù)測分布的影響。在ΔA=0.2附近,可以觀察到0.2以內(nèi)有極少量的樣本散點表現(xiàn)出ΔJS<0,表示出行模式Pr比出行模式P*對模型預(yù)測分布影響更大。然而這種情況發(fā)生在兩種模式的權(quán)重比較接近時,而且只在少量樣本中發(fā)生。從對模型預(yù)測分布的影響的層面看,具備最大注意力權(quán)重的出行模式P*對模型結(jié)果影響更大。

圖6 ΔA-ΔJS的散點圖Fig.6 Scatter diagram ofΔA-ΔJS
為了從一個更為直觀的角度衡量擦除兩種出行模式對模型預(yù)測結(jié)果的影響,利用決策翻轉(zhuǎn)指標對P*和Pr擦除影響進行進一步分析。
從表2可以看出,在三種不同長度的出行序列中,擦除P*翻轉(zhuǎn)而擦除Pr不翻轉(zhuǎn)的比例顯著高于擦除Pr翻轉(zhuǎn)而擦除P*不翻轉(zhuǎn)的比例,可以認為擦除P*比擦除Pr更顯著引起模型發(fā)生決策翻轉(zhuǎn)。且隨著序列長度增加,擦除P*和擦除Pr同時翻轉(zhuǎn)的比例下降,說明序列長度越長,單一模式的擦除對模型決策影響下降。因為序列長度增加,模型可學(xué)習(xí)更多的個體出行特性,此時僅對單一出行模式擦除,無法完整獲知其模式反映的個體出行信息,模型的解釋難度增加。然而三種序列長度下,大部分樣本(70%以上)在擦除P*和擦除Pr都不發(fā)生決策翻轉(zhuǎn),代表擦除單一出行模式的注意力權(quán)重在決策翻轉(zhuǎn)的指標下,還不足以充分反映最大注意力權(quán)重的出行模式和模型預(yù)測結(jié)果的高度相關(guān)性。

表2 三種出行序列長度的決策翻轉(zhuǎn)樣本的比例Table 2 Percent of decision flip samples with 3 sequence lengths
為了進一步探索同時擦除多個出行模式的注意力權(quán)重對模型預(yù)測的可解釋性影響程度,對一組出行模式的注意力權(quán)重進行擦除來評估出行模式組合對模型預(yù)測結(jié)果的影響。本實驗中,出行模式按照一定排序方式依次對其相應(yīng)的所有出行記錄的注意力權(quán)重進行擦除,直到模型預(yù)測結(jié)果發(fā)生決策翻轉(zhuǎn)。然后計算每一個樣本在該排序下需擦除多少比例的出行模式引起決策翻轉(zhuǎn)(Rp)。
為了驗證3.1節(jié)的按注意力權(quán)重降序排列的出行模式是否會為模型提供一個最簡潔的解釋:即具有較大的注意力權(quán)重的出行模式對模型預(yù)測影響也較大,因此擦除這些出行模式的注意力權(quán)重可能會使模型預(yù)測更容易出現(xiàn)決策翻轉(zhuǎn)。為此設(shè)計了三種出行模式的排序方案作為3.1節(jié)的降序排序的對照實驗。這四種排序方案如下:
(1)出行模式的注意力權(quán)重大小的降序排序,即3.1節(jié)的排序順序。
(2)出行模式的注意力權(quán)重大小的隨機排序。
(3)出行模式的注意力權(quán)重的梯度的降序排序。
(4)出行模式的注意力權(quán)重的梯度的升序排序。
圖7表示序列長度20、40和80的出行序列的樣本的Rp分布箱圖,左右按順序分別表示四種排序方案。縱向?qū)Ρ劝l(fā)現(xiàn),序列長度增加,Rp的中位數(shù)減小,分布下移。說明給定的序列長度越長,其中所包含的每一個出行模式會具有更多關(guān)于出行規(guī)律的信息。因此對越長序列的出行模式進行擦除,控制同一種注意力排序方式,擦除出行模式直至決策翻轉(zhuǎn)的速度更快,所需的擦除比例更小。

圖7 Rp分布箱圖Fig.7 Boxplot of Rp distribution
橫向?qū)Ρ劝l(fā)現(xiàn),方案(1)在四種方案中最快使得模型預(yù)測發(fā)生決策翻轉(zhuǎn),有一半的樣本在Rp=0.2附近發(fā)生了決策翻轉(zhuǎn)。表現(xiàn)次優(yōu)的是方案(4),有一半的樣本在Rp=0.3附近發(fā)生了決策翻轉(zhuǎn)。表現(xiàn)最差的是方案(3),其效果不如隨機排序的方案(2)。由于注意力權(quán)重的梯度表示了注意力層的權(quán)重對決策函數(shù)的變化率,梯度越小意味著注意力權(quán)重對模型決策影響更穩(wěn)定。從梯度升序的方向?qū)Τ鲂心J降淖⒁饬?quán)重進行擦除能取得和方案(1)的排序接近的效果,意味著較大的注意力權(quán)重所對應(yīng)的出行模式同時對應(yīng)著較小的注意力梯度。而當梯度以降序排序時其效果反而差于隨機排序,從另一個角度說明由于較大的注意力梯度所對應(yīng)的出行模式同時對應(yīng)著較小的注意力權(quán)重,從較小的權(quán)重開始擦除會導(dǎo)致模型發(fā)生決策翻轉(zhuǎn)的效率下降。因此,模型學(xué)習(xí)出行模式的規(guī)律時,會對權(quán)重較大的出行模式分配穩(wěn)定的注意力權(quán)重。因此,在一組出行模式的注意力權(quán)重擦除實驗中,深度注意力模型不但可以為重要的出行模式分配較大的注意力權(quán)重,且該分配過程具有較高的穩(wěn)定性。
本研究以個體地鐵出行預(yù)測為任務(wù)背景,探索注意力模型基于出行模式的可解釋性。本文根據(jù)地鐵出行預(yù)測任務(wù)定義了個體的出行模式,并以目的地預(yù)測作為實例分析任務(wù),通過廣州地鐵羊城通數(shù)據(jù)訓(xùn)練了準確率高達70%的地鐵出行預(yù)測注意力模型。然后通過單一出行模式的注意力權(quán)重擦除實驗和一組出行模式的注意力權(quán)重擦除實驗,可以得出以下結(jié)論:
(1)衡量單一出行模式對模型預(yù)測分布和決策結(jié)果的影響,發(fā)現(xiàn)最大注意力權(quán)重的出行模式對模型預(yù)測影響大于隨機注意力權(quán)重的出行模式,但在兩種擦除方法下大多數(shù)樣本預(yù)測結(jié)果均未受到影響,即這種影響是有限的。且隨著序列長度增加,單一模式的擦除對模型決策影響下降,即該條件下注意力機制更不容易為模型提供可解釋性信息。
(2)衡量一組出行模式對模型預(yù)測結(jié)果的影響,發(fā)現(xiàn)按注意力權(quán)重降序排列擦除出行模式,表現(xiàn)出使模型發(fā)生決策翻轉(zhuǎn)最優(yōu)的效果。說明深度注意力模型通過對各個出行記錄分配注意力權(quán)重來區(qū)分不同重要程度的出行模式,并且越重要的出行模式所分配的注意力權(quán)重越穩(wěn)定。因此,可以通過權(quán)重的降序排列方法找到對模型決策重要度高的出行模式集合。且隨著序列長度增加,需擦除的出行模式占比降低,即此時注意力機制更容易為模型提供可解釋性信息。