施賽江,陳 鋒
(中國科學技術大學 信息科學技術學院,安徽 合肥 230027)
隨著我國經濟的快速發展,交通擁堵問題已經非常嚴重,對國家造成了很大的經濟損失。大力發展智能交通,利用人工智能領域的知識,加強對城市交通信號的有效控制,可以有效緩解城市擁堵。調查統計發現,大部分交通擁堵發生在交叉口,所以對城市交叉口采用更加智能的控制策略尤為關鍵。
采用強化學習方法對交叉口進行優化配時已經取得了很好的效果[1-3]。為了加快Q學習的收斂速度,引入模糊學習[4]對Q函數進行初始化,減少了Q學習的訓練時間。但是強化學習的狀態空間不能太大,否則會出現維度爆炸的問題,所以狀態都采用低維人工特征,遺失了有用信息。
隨著近年深度學習的快速發展,MNIH V等人[5]最初提出深度Q學習(Deep Q Network,DQN),之后又對DQN進行完善,在DQN的訓練過程中引入了經驗池回放技術和目標網絡的概念[6]。
已經有研究將DQN應用于交叉口的配時中,文獻[7]采用SAE網絡去估計Q值;文獻[8]和文獻[9]用深度卷積神經網絡表示Q值,將交叉口車輛的位置、速度用矩陣表示;文獻[10]除了使用車輛的位置和速度矩陣外,還加入了車輛的加速度矩陣作為交叉口的狀態,取得了一定的效果。但是,文獻[11]證明了單交叉口的狀態是部分可觀測馬爾科夫的(Partially Observable MDP,POMDP),本文為了進一步降低交叉口的POMDP特性對深度Q學習性能的影響,對深度神經網絡結構進行改進,將深度循環Q學習(Deep Recurrent Q Network,DRQN)引入交叉口的配時中,同時本文針對上述研究中動作空間較小的缺陷,增大了動作空間。實驗表明,改進動作空間后的DRQN表現要比DQN好,并且優于傳統的交叉口控制方法定時控制和Q學習控制。
Q學習由如下過程來描述:智能體在環境中,狀態空間為S,可以采用的動作空間為A,根據概率轉移矩陣P使得狀態從當前狀態轉移到下一個狀態,同時得到獎賞R,狀態到動作的Q值用Q(s,a)表示。
假設智能體在時刻t的狀態是st,智能體采取的動作是at,智能體執行動作后狀態轉移到下一個t+1時刻,狀態為st+1,得到的獎賞是rt,那么智能體根據所有的記錄(st,at,rt,st+1)更新Q(s,a)的值,從而找到最優策略。
本節針對本文研究的單交叉口,將分別定義Q學習中的狀態、動作和獎賞函數。
考慮如圖1所示的四相位的單交叉口,以當前路口四個相位的車輛的位置、速度、加速度矩陣作為輸入。

圖1 四相位交叉口示意圖
以圖1中入口道a為例,假設當前路口車輛如圖2所示,考慮離停車線的距離為L的路段,將道路劃分為多個小路段,稱為Cell,每個Cell的長度是C,那么當前路口車輛的位置、速度、加速度矩陣如表1~表3所示。當某一輛車跨過兩個Cell時,選擇占用比例大的那個Cell,速度矩陣、加速度矩陣和位置矩陣對應,矩陣的值經過歸一化得到。

圖2 入口道a車輛位置示意圖

000000010100010011111000010011

表2 入口道a車輛速度矩陣

表3 入口道a車輛加速度矩陣
當智能體觀測到狀態之后,需要在動作空間中選擇一個動作去執行,在每個時刻選擇最優的動作即為交叉口的信號控制優化,交叉口的信號控制優化可以分為相序優化和配時優化兩種[1]。
當前將深度Q學習應用于單交叉口信號優化的研究都采用的是相序優化[8-10],本文將相序優化和配時優化結合,在優化相序的同時使得每個相位的時間可選。本文假設右轉車輛常綠的情況下,四個相位分別是東西相位直行、東西相位左轉、南北相位直行、南北相位左轉,同時,增加這四個相位的配時時間,考慮到實際中配時不能太短也不能太長,故本文選擇配時為10 s~49 s 之間任意整數值,這樣動作空間將是160維。
固定配時時間的方案中,僅僅是對相序進行調整,最終配時將會是設定的固定配時的整數倍,會遺漏最優動作解。采用本文的配時方案,增加了動作空間,在四相位不變的基礎上對每個相位增加可選時間,此時Agent不會錯過最優動作解,同時160維動作空間大小也符合神經網絡的輸出層的大小要求。
Q學習會根據獎賞函數來迭代訓練,平均延誤能夠表示當前路口的擁堵情況,故本文采用平均延誤作為獎賞函數的評價指標,這里平均延誤用D表示,假設t時刻的平均延誤為dt,t+1時刻的平均延誤為dt+1,獎賞函數為rt+1,則:
rt+1=-(dt+1-dt)
(1)
延誤變小,則rt+1>0,代表獎賞;延誤變大,則rt+1<0,代表懲罰。
Q學習方法采用表格或者函數逼近器來表示Q(s,a)的值,深度Q學習采用更深層的神經網絡結構表示Q(s,a|θ)的值,這里θ代表神經網絡的權值,本節將會介紹具體的網絡結構。
當前的研究采用卷積神經網絡和全連接神經網絡結合的方式構建DQN,但是由于路口的POMDP特性導致DQN的性能降低,定義POMDP中觀測狀態是O,那么O和真實狀態S是不同的,即Q(s,a|θ)!=Q(o,a|θ)。
本文引入DRQN,DRQN已經被證明可以很好地處理POMDP問題[12]。DRQN中包含了循環神經網絡層LSTM(Long Short-Term Memory),LSTM細胞狀態的設計可以記住時間軸上長期的歷史信息,所以LSTM已經在處理時間序列的問題中取得了很大的成功。
利用LSTM能夠記憶時間軸信息的特性,通過記憶前幾個時刻的輸入狀態,而不是僅僅通過當前時刻的狀態,盡可能完全地表示當前交叉口的輸入狀態,減少Q(s,a|θ)和Q(o,a|θ)之間的差距,從而可以處理部分可觀測馬爾科夫問題,提高DQN算法的性能。
接下來介紹DRQN的網絡結構,使用卷積神經網絡和循環神經網絡相結合來表示Q函數,將狀態矩陣連接具有兩層卷積層的卷積神經網絡,激活函數采用ReLU,后面是用ReLU激活的LSTM層,LSTM層的層數和每層神經元的個數需要經過實驗確定,最后的輸出層是全連接層,用于將前面網絡提取的高維特征空間映射到低維的動作空間,輸出的是所有動作的Q值。網絡結構如圖3所示。

圖3 DRQN網絡結構
如第1節所述,強化學習在狀態轉移過程中產生很多組紀錄(st,at,rt,st+1),根據這些紀錄構建深度神經網絡的訓練樣本,神經網絡的輸入為st,輸出是目標Q值:
yt=rt+γmaxat+1Q(st+1,at+1|θ)
(2)
式中γ是折扣因子,θ是深度Q網絡的權值。
定義誤差是均方根誤差MSE:
L(θ)=E[(rt+γmaxat+1Q(st+1,at+1|θ)-Q(st,at|θ))2]
(3)
采用Adam算法進行網絡的訓練。
為了使得深度神經網絡能夠更快地收斂,在訓練過程中采用目標網絡和經驗池回放技術[6],同時為了避免算法陷入局部最優,采用ε貪心策略。ε會隨著訓練次數而逐漸衰減:
(4)
其中,N是總的訓練次數,n是當前訓練次數。
DRQN算法步驟如下:
1: 初始化DRQN網絡結構,參數為θ;初始化目標網絡,參數為θ′=θ
2: 初始化ε,γ,N
3: for 1 到Ndo
4: 初始化交叉口狀態s0,初始化動作a0
5: for 1 到Tdo
6: 以1-ε的概率選擇at=argmaxaQ(st,a|θ),以ε的概率隨機選擇一個動作at
7: 執行選擇的動作at,得到獎賞rt和下一個狀態st+1
8: 將此經驗(st,at,rt,st+1)存入經驗池M中
9: 如果經驗池中樣本數目達到batch:
10: 隨機從經驗池中取出batch大小的樣本,對每一條記錄,根據目標網絡得到:
y=rt+γmaxat+1Q(st+1,at+1|θ′)
11: 用隨機梯度下降法Adam更新θ
12: 達到一定步數后更新θ′
13: 當前狀態=新狀態
14: end for
15: end for
實驗平臺選擇中國科學技術大學微觀交通仿真平臺2.1(USTC Microscopic Traffic Simulator2.1,USTCMTS2.1),利用Python實現的深度學習庫Keras搭建DRQN網絡,兩者的通信采用IronPython庫。
參數設置:Q學習中折扣因子γ=0.95,循環次數N=200次,仿真中的T為0.1 h,L設置為224 m,C設置為7 m,經驗池大小M=2 000,batch為32,兩層卷積層的卷積核數目分別是32個和64個,卷積核大小為3*3,神經網絡的學習率為0.001。
路口流量設置:流量采用無錫市濱湖區梁清路和鴻橋路交叉口2017年7月3日的流量數據,取其中有代表性的時間點08:00、11:00和23:00,此時的流量分別對應過飽和度流量、近飽和度流量和低飽和度流量,具體數值見表4。

表4 三種飽和度流量各個進口道流量值
3.2.1不同流量情況下網絡結構確定
針對3.1節中典型的3種不同飽和度流量,本小節為這3種飽和度流量分別確定LSTM層的層數和神經元個數。根據深度學習中的參數設置經驗,選擇網絡的層數從1到3層,神經元個數分別是{64,128,256,512},采用網格搜索,得到3種流量在不同的網絡參數下的平均延誤如表5~表7所示。

表5 低飽和度流量不同網絡參數下平均延誤表(s)

表6 近飽和度流量不同網絡參數下平均延誤表(s)

表7 過飽和度流量不同網絡參數下平均延誤表(s)
從表中可以看出,低飽和度流量下最優的網絡結構是2層LSTM層,每層包含128個神經元,近飽和度流量下最優的網絡結構是1個LSTM層,每層包含256個神經元,而過飽和度流量下最優的網絡結構是2個LSTM層,每層256個神經元。
3.2.2不同網絡結構下性能對比
以圖1所示的交叉口為實驗對象,以表4中近飽和度流量為例,分析本文提出的DRQN的表現。網絡結構采用3.2.1小節中表6所示的最優的網絡結構,得到原始DQN的平均延誤為19.22 s,DRQN的平均延誤為18.04 s,發現DRQN的平均延誤比原始DQN減少了6.1%。圖4是DRQN和Q學習(Q Learning,QL)以及定時控制(Fixed Timing,FT)的對比,橫坐標是仿真時間T,縱坐標是平均延誤D,Q學習和定時控制的平均延誤是20.88 s和21.24 s,DRQN與這兩種算法相比,平均延誤分別減少了13.6%和15.1%,說明循環神經網絡記錄的歷史信息確實使得觀測的狀態更加符合真實交叉口狀態。

圖4 三種算法平均延誤對比圖
接下來通過實驗確定改進動作空間后的DRQN(用DRQN-A表示)和DRQN的對比。從圖5可以看到,增大動作空間后,在相同的網絡結構下平均延誤降低了6.7%,說明交叉口從動作空間中選擇了更好的動作。

圖5 DRQN和DRQN-A平均延誤對比圖
以上是對近飽和流量的情況下進行的對比試驗,對3.1小節中其他兩種飽和度流量進行實驗,網絡結構均為3.2.1小節中最優的網絡結構,平均延誤見表8。

表8 低飽和度和過飽和度平均延誤對比表 (s)
當取另外兩種不同的飽和度時,結果與近飽和時類似,原始DQN的平均延誤都要比定時控制和Q學習的平均延誤小,DRQN算法平均延誤也比原始DQN小,改進動作空間后,DRQN的性能也有提升,故本文提出的算法是有效的。
本文針對單交叉口的部分可觀測馬爾科夫特性對深度Q學習性能的影響,通過引入循環神經網絡,對深度Q學習網絡進行改進,利用LSTM記憶時間軸信息的特性,使得交叉口的狀態更接近于完全可觀測馬爾科夫,同時考慮到動作空間太小不利于交叉口找到最優動作的情況,增大了動作空間。實驗表明,本文提出的改進動作空間的DRQN算法在不同飽和度流量情況下比DQN算法都有提升,也優于傳統的定時控制和Q學習算法。未來的工作可以將單交叉口擴展到局部路網,研究DRQN在局部路網中的表現。
[1] PRABUCHANDRAN K J, AN H K, BHATNAGAR S. Decentralized learning for traffic signal control[C]//2015 7th International Conference on Communication Systems and Networks (COMSNETS). IEEE, 2015: 1-6.
[2] AREL I, LIU C, URBANIK T, et al. Reinforcement learning-based multi-agent system for network traffic signal control[J]. Intelligent Transport Systems IET, 2010, 4(2):128-135.
[3] 馬躍峰, 王宜舉. 一種基于Q學習的單路口交通信號控制方法[J]. 數學的實踐與認識, 2011, 41(24):102-106.
[4] 聶建強, 徐大林. 基于模糊Q學習的分布式自適應交通信號控制[J]. 計算機技術與發展, 2013, 23(3):171-174.
[5] MNIH V, KAVUKCUOGLU K, SILVER D, et al. Playing atari with deep reinforcement learning[C]//Proceedings of Workshops at the 26th Neural Information Processing Systems, 2013. Lake Tahoe, USA, 2013:201-220.
[6] MNIH V, KAVUKCUOGLU K, SILVER D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015(7540):529-533.
[7] Li Li, Lv Yisheng, Wang Fei yue, et al. Traffic signal timing via deep reinforcement learning[J]. IEEE/CAA Journal of Automatica Sinica, 2016, 3(3):247-254.
[8] GENDERS W, RAZAVI S. Using a deep reinforcement learning agent for traffic signal control[J]. arXiv preprint arXiv:1611.01142, 2016.
[9] GAO J, SHEN Y, LIU J, et al. Adaptive traffic signal control: deep reinforcement learning algorithm with experience replay and target network[J]. arXiv preprint arXiv:1705.02755, 2017.
[10] Van der Pol E. Deep reinforcement learning for coordination in traffic light control[D]. Master’s thesis, University of Amsterdam, 2016.
[11] RITCHER S. Traffic light scheduling using policy-gradient reinforcement learning[C]//The International Conference on Automated Planning and Scheduling, ICAPS, 2007.
[12] HAUSKNECHT M, STONE P. Deep recurrent Q-learning for partially observable MDPs[J]. arXiv: 1507.06527.