吉靜
(上海電科智能系統股份有限公司,上海200063)
城市快速路作為大型城市交通網絡的重要組成部分,在城市交通“提速”上起著重要作用。但是近年來,隨著私家車的增多,人們出行需求的快速增加,現有的快速路交通擁堵現象頻頻發生,嚴重影響了快速路出行效率。
快速路上的交通擁堵通常是由于瓶頸區所導致的,快速路瓶頸區可以分為常發性瓶頸區和非常發性瓶頸區。非常發性瓶頸區具有較強的突發性,傳統的方法難以識別預測。交通瓶頸識別方法除了傳統的基于三相交通流理論的方法、基于非局部氣體動理論模型的方法和基于元胞自動機模型的方法外,自動識別(Automatic Traffic congestion identification,ACI)算法也隨著網絡的發展以及計算機算力的提高而被提出,如:楊小寶等人以生理- 心理模型中的MITSIM模型為基礎,在跟車子模型加入了隨機擾動項,換道子模型的可行性檢測中加入了前后間距不足時司機的減速行為[1]。
Richard Arnott 等人提出了一種集交通擁堵和路邊停車飽和于一體的市區停車模型,該模型會d 額外對市區出行的金錢和時間成本敏感[2]。Syuichi Masukura 等人提出了一個簡單的單車道模型,對由慢速車輛引起的干擾過渡進行了研究[3]。
Katsunori Tanaka 等人將傳統的最佳速度模型拓展到考慮了波動加速度的模型,并對如何將擴展的交通模型應用于颶風疏散中的高速公路上的交通流進行了研究[4]。林瑜、楊曉光等人提出了間斷交通流阻塞度的概念,反映了城市道路間斷交通流實際運行狀態[5]。
雖然自動識別模型能夠在一定程度上提高模型識別準確率,但是由于我國智能交通發展年限較短,在大多數城市中,有關快速路瓶頸區的有記錄樣本并不會很多,尤其是非突發性瓶頸區樣本更是很少,少樣本會嚴重影響機器學習模型的精度。雖然快速路瓶頸區樣本較少,但軌道交通瓶頸站點、高速公路瓶頸區等存在著一定的樣本,由于業務的不同,這些數據樣本根據傳統的人工智能方法,不能用于智能模型的訓練。為了解決上述問題,本文將元學習方法用于快速路瓶頸區自動識別建模中,并且該方法可以進一步擴展到軌道交通瓶頸區和高速路瓶頸區識別中。
元學習方法是一種先進的深度學習方法。元學習通過使用數據量大的相關數據集對模型進行預訓練,再使用這個數據量小的訓練數據集來對此預訓練模型進行訓練以得到精度足夠高的最終模型[6]。
元學習方法從多個給定的數據量豐富的數據集:D1,D2,D3….DN,捕捉跨數據集的總體信息(例如形狀和物體種類的關系,車流量和交通擁堵情況的關系),從而當我們有一個新的數據量較小的數據集DN+1時,可以利用學習到的跨數據集總體信息來對數據集DN+1內的特征進行更精確的判斷[7,8]。
模型將快速路的瓶頸區的特征定義為五個維度:發生時段、交通事件情況、天氣情況、當前區域車速、道路維修情況。將軌道交通的瓶頸站點特征定義為發生時段、發車頻率、車站站臺擁擠度、是否為換乘車站、是否有重大活動。將高速公路瓶頸區特征定義為五個維度:發生時段、交通事件情況、通行能力、天氣情況、道路維修情況。
通過較少樣本量的快速路瓶頸區數據、高速公路瓶頸區數據、軌道交通瓶頸站點數據,根據空間元學習方法,結合神經網絡模型,訓練得到一個通用的、精度較高的快速路瓶頸區識別模型,該模型可以實時、不間斷地主動對快速路段可能會形成瓶頸區的區域和時間進行推理,一旦模型檢測到可能會形成瓶頸區,會及時進行預警。
模型結構見圖1。

圖1 模型的整體結構
本文提出基于空間元學習結合神經網絡的城市快速路瓶頸區識別方法,進行模型訓練與參數調優,具體包括以下步驟:
步驟1:將快速路瓶頸區識別模型M 訓練設置為2-way 100-shot,即2 個類別,每個類別包含50 個樣本的分類任務。快速路瓶頸區識別模型M的輸入為5 個維度。
對于快速路瓶頸區識別,模型的輸入為:發生時段x1、交通事件情況x2、天氣情況x3、當前區域車速x4、道路維修情況x5。對于軌道交通的瓶頸站點識別,模型的輸入為發生時段x1、車輛發車頻率x2、車站站臺擁擠度x3、是否為換乘車站x4、是否有重大活動x5。對于高速公路瓶頸區識別,模型的輸入為:發生時段x1、交通事件情況x2、行駛速度x3、天氣情況x4、當前區域流量x5。將上述輸入的特征進行one-hot 編碼后,得到每個樣本的輸入X={x1,x2,x3,x4,x5},輸出Y={y1,y2},其中y1代表形成了瓶頸區,y2代表沒有形成瓶頸區。
步驟2:確定包含空間屬性的任務集合T={T1,T2,T3,T4,T5,T6,T7,T8}。T1代表了A 城市的快速路樣本,T2代表了B 城市的快速路樣本,T3代表了A 城市的高速公路瓶頸區相關樣本,T4代表了B 城市的高速公路瓶頸區相關樣本,T5代表目標城市的高速公路瓶頸區相關樣本,T6代表了A 城市的軌道交通瓶頸區相關樣本,T7代表了B 城市軌道交通瓶頸區相關樣本,T8代表了目標城市軌道交通瓶頸區相關樣本。
任務集合T 為相似任務的集合,“相似任務”不僅包括高速公路瓶頸區識別模型和軌道交通瓶頸站點識別模型,還包括空間屬性。不同的城市之間瓶頸區形成因素變化較大,因此空間屬性有效地擴展了“任務集合”,從而進一步提高了元學習的算法精度。
步驟3:確定空間元學習模型MMETA 的神經網絡結構,多層感知機神經網絡模型輸入層有5 個神經元,有2 個隱藏層,第一個隱藏層有4 個神經元,第二個隱藏層有3 個神經元,輸出層有2 個神經元,激活函數為Sigmoid 函數,最后輸出層的激活函數為Softmax。隨機初始化空間元學習模型MMETA 的權重參數θ。
步驟4:設定每個任務Ti在任務集合T 中滿足均勻分布p(T),從任務集合T 中按照均勻分布概率從8 個任務中采樣6 個任務,組成了用于空間元學習模型Mmeta的訓練樣本集S={T1,T2,T3,T4,T5,T6}。
步驟5:開始進行內循環,求得每個任務上的最優模型權重參數θi',i=1,2,3,4,5,6,包括以下步驟:
步驟5.1:對訓練樣本集S={T1,T2,T3,T4,T5,T6}中的每個任務Ti,i=1,2,3,4,5,6,制作好訓練數據集Dttrain={(x1,y1),(x2,y2),…,(x30,y30)}和測試數據集Dttest={(x31,y31),(x32,y32),…,(x50,y50)}。
步驟5.2:對于每個任務Ti,確定分類模型為多層感知機神經網絡模型MTi,多層感知機神經網絡模型MTi模型結構與空間元學習模型結構相同。損失函數為交叉熵LTi(fθ)。

式中,xj表示訓練數據集Ditrain中的樣本輸入值,yj表示Ditrain中的標簽值,fθ(xj)表示多層感知機神經網絡模型MTi預測出來的結果。
步驟5.3:對于每個任務Ti,在訓練數據集Ditrain上,用梯度下降的方法對模型權重參數θi'進行更新,即最小化損失函數。模型權重參數θi'的更新計算公式為:

式中,θ 表示更新前的模型權重參數,α 表示學習率,取值0.001。

表1 快速路示例數據

表2 上海軌道交通某區域部分站點數據

表3 某高速段交通數據
最后得到采樣出來的6 個任務的模型最優參數集合θ'={θ1',θ2',θ3',θ4',θ5',θ6'}。
步驟6:開始進行外循環:在測試數據集Ditest上,對空間元學習模型Mmeta 的權重參數θ 進行優化更新,更新公式為:

式中,∑Ti~p(T)LTi(fθ)為損失函數,是子任務模型(根據每個任務Ti建立的模型)最優參數下的預測誤差之和;β 為空間元學習模型學習率,取值為0.002;
步驟7:重復上述步驟4 到步驟6,進行10 次迭代,直到收斂。
步驟8:最后學習得到的空間元學習模型Mmeta的權重參數θ 為目標任務的最優模型初始參數。對于目標任務,只要在少量樣本上進行2 次迭代,即可得到快速路瓶頸區識別模型M。當路況發生了變化,模型判別出將會形成瓶頸區后,會及時主動發出預警。
本次實驗所用的快速路數據主要是上海市某高架發布段數據。數據示例見表1。
本次實驗所用的軌道交通站點數據為上海地鐵在浦東新區區域的各站點。數據示例見表2。
本次實驗所用的高速公路數據采用了某高速段的數據。數據示例見表3。
本文采用召回率(Recall score)、精確率(Precision)、F1 分數、ROC 曲線來衡量模型的好壞。
(1)召回率
召回率(Recall score)說明了被正確預測為陽性的樣本占所有陽性樣本的比例,計算公式為:

式中,Recall 表示召回率,TP 表示正確陽性,FN 表示錯誤陰性。當召回率越接近于1,這個模型的準確率就越高,召回率的取值范圍是0-1。
(2)精確率
精確率(Precision)說明了被正確預測的陽性樣本占所有被預測為陽性的樣本的比例,計算公式為:

圖2 是基于元學習模型的ROC 曲線。橫坐標表示假陽率,
式中,P 表示精確率,TP 表示正確陽性,FP 表示錯誤陽性。當精確率越接近于1,這個模型的準確率就越高,精確率的取值范圍是0-1。
(3)F1 分數
精度和召回指數在某些時候是不可兼得的,需要一個更加全面的評價指標來綜合考慮精度和召回指數這兩個指標。F1 分數可以看做是模型精確率和召回率的一種調和平均,計算公式為:

式中,F1 表示分數,P 表示精確率,Recall 表示召回率。當F1 分數越接近于1,這個模型的準確率就越高,F1 分數的取值范圍是0-1。
(4)ROC 特征曲線(ROC 曲線)
ROC 曲線代表了在不同的操作條件(閾值)下,其敏感性(FPR)和精確性(TPR)的趨勢走向。ROC 曲線上每一個點表明了不同閾值下的敏感性和精確性。ROC 曲線的橫軸為敏感性,豎軸為精確性。敏感性和精確性可以表述為以下公式:

式中,FPR 表示敏感性,TPR 表示精確性,TP 表示正確陽性,FN 表示錯誤陰性,FP 表示錯誤陽性,TN 表示正確陰性。
對該模型的精確度本文使用了召回率、精確率、F1 分數進行了評價。具體評價結果見表4。

表4 模型的精確度評價指標
召回率和精確率均達到了85%以上,F1 分數達到了0.862。該模型的精確度已經足夠高,達到了建模的目的。

圖2 模型ROC 曲線
本文還使用了接受者操作特征曲線(ROC 曲線)進行了評價。具體結論見圖2。縱軸表示真陽率。圖中實線是元學習模型的ROC 曲線。圖中虛線是對角線,對應的是一個“隨機猜測模型”(50%的概率猜測正確)。ROC 曲線越靠近左上角,模型的預測準確率就越高。對于圖中的左上角,即坐標為(0,1)這個點,對應的是“理想模型”(ideal model),其中FPR=0,同時TPR=1,這意味著模型把所有的樣本都分類正確。從上圖中可以看到,元學習模型(轉下頁)靠近左上角,說明元學習模型的準確率較高。
本文使用元學習方法來構建預測模型,能夠在城市快速路瓶頸區數據集的數據量非常小的情況下,利用有足夠大的數據量的軌道交通站點及高速公路的數據集對模型進行預訓練,有效提高城市快速路瓶頸區小樣本模型的識別精度。并且以上海某高架段為例,結果顯示得到的元學習模型準確率為85.3%,召回率為87.1%,F1 得分為86.2%。本模型一定程度上解決了小數據量情況下如何進行交通預測的現實問題,對城市快速路瓶頸區能夠進行智能精確自動識別,從而及時提前進行預警,為后續的交通誘導措施和決策提供精準及時的信息依據,有效緩解城市擁堵。