羅飛,白夢偉
(華東理工大學計算機科學與工程系,上海 200237)
隨著汽車行業(yè)的快速發(fā)展和城市出行人口的增多,交通情景問題復雜度越來越高,如何在復雜的交通情景下作出決策成為一個熱點問題[1]。交通情景問題涉及多種領域,如道路改建、擁堵預測、路徑規(guī)劃、信號燈控制等。其中,不良的路徑規(guī)劃和信號燈控制決策可能導致長時間的交通延遲、車輛擁堵、額外的車輛燃油消耗和環(huán)境污染,受到了許多研究人員的關注。
面對路徑規(guī)劃問題,目前的解決思路包括基于索引的A*(Index Based A Star,IBAS)算法[2]、Floyd-A*算法[3]、基于動態(tài)圖的K條最短路徑(KShortest Paths in Dynamic Graphs,KSP-DG)[4]算法等。其中,IBAS 算法對傳統(tǒng)的A*算法[5]進行了改進,為每個頂點構(gòu)造了三個索引,以處理未知頂點坐標對路徑規(guī)劃的影響,然而難以滿足更復雜的路徑規(guī)劃需求;Floyd-A*算法分為基于A*算法的行程查找器和基于Floyd 算法[6]的成本估計器兩部分,用于處理最短時間的行程規(guī)劃問題,然而計算效率有待提高;KSP-DG 算法改進了K條最短路徑(KShortest Paths,KSP)算法[7],將圖劃分為多個子圖進行處理,使算法可部署于分布式環(huán)境,然而在未知條件下的表現(xiàn)能力有限[8]。另外,由于針對路徑規(guī)劃問題設計的算法難以遷移到其他優(yōu)化問題中,應用范圍具有局限性。
面對交通信號燈控制決策問題,目前常用的決策方法包括自組織的交通燈(Self-Organizing Traffic Lights,SOTL)算法[9]、最大壓力算法[10]等。其中,SOTL 算法在得知當前道路上紅燈車輛等待數(shù)量、綠燈車輛行駛數(shù)量信息后,基于最小相位時間、相位改變閾值等超參數(shù),選擇后續(xù)的交通信號相位動作;該算法依賴的超參數(shù)較多,經(jīng)驗性的參數(shù)取值容易導致最終結(jié)果的不確定性,且無法適應動態(tài)環(huán)境。最大壓力算法根據(jù)當前的交通環(huán)境計算各個交通信號相位的車流壓力,之后選擇具有最大壓力的相位作為后續(xù)的動作;然而該算法本質(zhì)上屬于貪心算法,在求解過程中容易陷入局部最優(yōu),最終的方案具有一定的局限性。
針對以上算法在路徑規(guī)劃問題、交通信號燈控制問題中表現(xiàn)能力有限、需要經(jīng)驗知識等問題,近年來,研究者提出利用強化學習算法來解決上述問題。其中,文獻[11]使用Q-Learning 算法解決交通信號燈控制問題,但是需要合理設計馬爾可夫決策過程(Markov Decision Process,MDP),以提高算法的表現(xiàn)能力;文獻[8]基于Dyna 算法[12],利用Sarsa 算法在行為選擇上較為保守的特性,減少了路徑規(guī)劃問題中車輛的碰撞次數(shù),但實驗基于靜態(tài)交通環(huán)境,未討論動態(tài)變化情況下的交通情景問題決策;文獻[13-15]使用深度強化學習算法,分別基于改進深度Q 網(wǎng)絡的NDQN(improved Deep Q Network)算法、多智能體的自適應交通信號控制器集成網(wǎng)絡(Multi-Agent Reinforcement Learning for Integrated Network of Adaptive Traffic Signal Controllers,MARLIN-ATSC)算法、最大壓力的MPLight 算法,解決交通信號燈控制問題;然而,深度強化學習算法在解決交通信號燈控制問題上的計算時間成本較高、建模復雜,需要通過大量的樣本學習,無法快速得到解決方案。
深度強化學習算法存在計算速度慢和建模復雜的問題,而傳統(tǒng)強化學習算法基于表格形式的價值估計[16],在建模和計算速度上具有優(yōu)勢,但由于傳統(tǒng)強化學習算法與環(huán)境之間存在交互成本、動作選擇策略、收斂速度和精度等問題,需要改進。已有的改進算法中,快速Q(mào) 學習(Speedy QLearning,SQL)[17]、連續(xù)過松弛Q 學習(Successive Over-Relaxation Q-Learning,SOR Q-Learning)[18]、廣義快速Q(mào) 學習(Generalized SQL,GSQL)算法[19]沒有考慮到交互成本和動作選擇策略;Dyna-Q 算法建立了環(huán)境模型,通過集成學習、規(guī)劃與交互,降低了交互成本[12],但仍然使用貪婪策略作為動作選擇方式,且Q函數(shù)的更新仍然采用傳統(tǒng)的Q-Learning算法方式,具有改進空間。
本文將Dyna-Q 算法中環(huán)境模型設計為經(jīng)驗池,并針對動作選擇構(gòu)建一種直接策略,基于GSQL 算法提出一種結(jié)合了經(jīng)驗池技術和直接策略的改進強化學習算法——GSQLDSEP(Generalized Speedy Q-Learning with Direct Strategy and Experience Pool),以加快算法的收斂和提高收斂精度;之后將GSQL-DSEP 算法應用到出租車司機搭乘問題中,縮短搭乘決策的路徑長度;隨后通過城市交通仿真(Simulation of Urban Mobility,SUMO)軟件仿真交通信號燈系統(tǒng),構(gòu)建出離散環(huán)境下的馬爾可夫決策過程,并應用GSQL-DSEP 算法,減少交通信號燈系統(tǒng)中車輛的整體等待時間。
強化學習的執(zhí)行過程是智能體與環(huán)境不斷交互的過程,用于解決馬爾可夫決策過程建模的問題。一般情況下,馬爾可夫決策過程包含了S、A、R、P 在內(nèi)的四個要素。其中,S 為智能體的狀態(tài)表示,A 為智能體的行為表示,R 為環(huán)境的獎勵概率函數(shù)表示,P 為環(huán)境的狀態(tài)轉(zhuǎn)移概率函數(shù)表示。強化學習算法的智能體最直接的學習目標是在與環(huán)境不斷交互中產(chǎn)生最大的累積獎勵。智能體和環(huán)境的交互如圖1所示。
圖1 智能體和環(huán)境的交互示意圖Fig.1 Schematic diagram of interaction between agent and environment
智能體和環(huán)境的交互任務可以分為無限時長交互和回合式交互,而無限時長交互可轉(zhuǎn)換為最大時長為T的回合式交互以便統(tǒng)一表示。在一個時間周期T內(nèi),智能體在時刻t獲取到獎勵rt后,該時刻下智能體未來能夠獲取到的獎勵和Gt如式(1)所示。其中,由于尚未得到的獎勵常常具有不確定性,且遠離時刻t時不確定性更大,因此式(1)一般添加衰減因子γ,以逐次降低未來獎勵的權(quán)重。
智能體在時刻t作出的行為選擇傾向于能夠獲取最大的Gt。定義智能體在狀態(tài)s和行為a下,獲得的未來獎勵和的期望為Qπ,則最終得到的貝爾曼公式如式(2)所示,對應的貝爾曼最優(yōu)公式如式(3)所示,其中p為狀態(tài)轉(zhuǎn)移概率函數(shù),π為策略選擇概率函數(shù)。通過貝爾曼最優(yōu)公式,可以得到強化學習算法中Q-Learning 的更新公式如式(4)所示。
其中:α(s,a)為學習率;r為獎勵值;s′為下一個狀態(tài);a′為下一個行為。
本文提出一種利用直接策略和經(jīng)驗池技術的廣義快速Q(mào) 學習算法(GSQL-DSEP)。在該算法中,利用優(yōu)化的貝爾曼公式和快速Q(mào) 學習以加快算法收斂;引入經(jīng)驗池技術提高智能體交互經(jīng)驗的利用率;使用直接策略提高行為選擇的均勻性。GSQL-DSEP 算法描述如下。
1.2.1 基于優(yōu)化貝爾曼公式的快速Q(mào)學習機制
Q-Learning 算法的一種改進方法是使用兩個連續(xù)的“行為-價值”函數(shù)[17],本文借鑒該思想以獲得比標準Q-Learning算法更快的收斂速度。定義在時刻k的Q函數(shù)為Qk,使用連續(xù)的“行為--價值”函數(shù)的快速Q(mào) 學習算法在更新過程中使用更新公式(5)~(6)。其中式(6)表示更新過程的最終規(guī)則,使用時依賴于式(5)的“行為-價值”函數(shù)。
Q-Learning 算法的另一種改進方法是使用優(yōu)化的貝爾曼公式[18],通過添加松弛量得到的Q函數(shù)更新公式如式(7)所示:
其中:參數(shù)w為松弛量,取值范圍在0 到w*之間。w*的計算方式如式(8)所示:
將優(yōu)化的貝爾曼公式和連續(xù)的“行為-價值”函數(shù)相結(jié)合,可進一步提高Q-Learning 算法的收斂效果[19]。本文借鑒該思想,最終GSQL-DSEP 算法使用的Q函數(shù)更新公式如式(9)~(10)所示(算法1 中第7)行和第12)行使用該Q函數(shù)更新方法):
其中:Qk+1表示k時刻需要計算的Q函數(shù);Qk和Qk-1分別對應前一時刻的Q′和前二時刻的Q"。
1.2.2 經(jīng)驗池技術
Dyna-Q 算法提出了學習、規(guī)劃和交互進行集成的思想[12],本文借鑒該思想,設計了經(jīng)驗池用于規(guī)劃與交互。經(jīng)驗池的表示使用數(shù)組形式,初始化時即分配完整存儲空間,并計算空間使用量和存儲位置索引。存儲過程在智能體作出決策并獲得下一個狀態(tài)后,將該次所經(jīng)歷的狀態(tài)、行為、下一個狀態(tài)和獎勵進行打包,存儲到數(shù)組中,然后更新存儲位置索引和空間使用量。采樣過程對應模擬經(jīng)驗的生成,依據(jù)空間最大使用量,生成隨機索引從而獲取對應的經(jīng)驗信息。
基于經(jīng)驗池技術的GSQL-DSEP 算法結(jié)構(gòu)如圖2 所示。從交互環(huán)境到實際經(jīng)驗,然后進行Q函數(shù)的更新,對應算法1中第5)~8)行;從實際經(jīng)驗利用經(jīng)驗池進行經(jīng)驗存儲操作,然后從經(jīng)驗池中采樣獲取模擬經(jīng)驗,最后使用模擬經(jīng)驗進行Q 函數(shù)的更新,對應于算法1 中的第9)~13)行。
圖2 GSQL-DSEP算法結(jié)構(gòu)Fig.2 Structure of GSQL-DSEP algorithm
1.2.3 直接策略
通常強化學習算法采用貪婪策略用于行為選擇,導致動作空間過大時,指定狀態(tài)下的行為選擇不夠均勻,難以更新所有動作的價值估計,最終算法的收斂效果不夠穩(wěn)定。
因此本文構(gòu)建一種直接策略,如以下定義所示,并將其應用到算法1 中;算法1 中的第5)行未使用貪婪策略,而是根據(jù)Q函數(shù)使用直接策略,以提升算法行為選擇的均勻性。
直接策略:在MDP 模型中獎勵通常為負值的情況下,初始化后的函數(shù)價值估計全為0 時,可直接選取當前狀態(tài)下最大價值的行為,替代貪婪策略。
使用直接策略后,由于初始化后的Q函數(shù)價值估計全為0,則每次算法更新后,動作的價值估計都會變小,使算法下次選擇其他動作,而動作估計最終會收斂到穩(wěn)定值,策略變?yōu)榇_定性的行為選取。
1.3.1 算法測試環(huán)境
本文使用Mdptoolbox 的Python 工具包作為工具,在Windows10 操作系統(tǒng)下的Python3.7 開發(fā)環(huán)境中進行了算法性能測試。Mdptoolbox 工具包提供了Q-Learning、策略迭代、值迭代等強化學習傳統(tǒng)算法,并可以生成隨機的馬爾可夫決策過程場景,便于實現(xiàn)算法的對比與驗證。隨機的馬爾可夫決策過程場景在建立時,設定馬爾可夫決策過程中的狀態(tài)個數(shù)和動作個數(shù)后,會獲得一個隨機的獎勵函數(shù)矩陣,以及一個隨機的狀態(tài)轉(zhuǎn)移概率函數(shù)矩陣。其中,獎勵函數(shù)矩陣的取值為-1~+1,為了便于GSQL-DSEP 算法在該環(huán)境中的應用,本文將該獎勵函數(shù)矩陣整體減1,使得取值為-2~0。Mdptoolbox 生成的隨機場景將具體問題進行了抽象和歸納,相較于特定應用場景而言更具有代表性。本文以Mdptoolbox 生成的隨機場景為算法的測試和對比環(huán)境,以增強實驗對比結(jié)果的準確性和可靠性。
1.3.2 評估比對方法
本文對比了Q-Learning算法、SQL算法、GSQL算法、Dyna-Q 算法和改進的GSQL-DSEP 算法??紤]到算法對比的公平性,本文參考了GSQL 算法在實驗中選取的超參數(shù),同樣選取狀態(tài)個數(shù)為10,動作個數(shù)為5,每個回合長度為100,執(zhí)行回合數(shù)為1 000,算法的選擇折扣因子γ為0.6,松弛量w為w*;考慮到算法對比的準確性,本文的評估對比實驗進行了100 次,以最優(yōu)價值和Q函數(shù)計算得到估計價值的歐氏距離平均值作為度量方式。假定時刻t下共有狀態(tài)個數(shù)為N,使用q表示測試算法得到的價值估計函數(shù),使用v*表示最優(yōu)的價值估計函數(shù),則時刻t的測試算法誤差可以表示為:
假定第i次實驗下的時刻t得到的誤差為,并假定100 次實驗在時刻t得到的誤差平均值為,則本文最終使用均方誤差度量方式如式(12)所示:
1.3.3 實驗結(jié)果與分析
實驗中,本文提出的GSQL-DSEP 算法需要使用經(jīng)驗池,因此首先對經(jīng)驗池的參數(shù)選取進行了實驗。在經(jīng)驗池大小為20 000,選取經(jīng)驗池采樣數(shù)量為1、3、5 時的GSQL-DSEP 算法結(jié)果如圖3 所示;在采樣數(shù)量為3,經(jīng)驗池大小為20、200、2 000、20 000時的GSQL-DSEP 算法結(jié)果如圖4所示。從圖3~4 可以看出:采樣數(shù)量對GSQL-DSEP 算法的影響較大,而經(jīng)驗池大小對GSQL-DSEP 算法影響較小。由于采樣數(shù)量的增加額外增加了計算成本,而經(jīng)驗池大小在該測試中體現(xiàn)出的算法性能差異不明顯,綜合考慮適用性、計算成本和環(huán)境的差異性可能對算法產(chǎn)生的影響等,在后續(xù)不同的實驗環(huán)境中,仍需進行不同參數(shù)下的實驗和具體參數(shù)的選定。
圖3 不同采樣數(shù)量下GSQL-DSEP算法表現(xiàn)Fig.3 Performance of GSQL-DSEP algorithm under different sampling numbers
圖4 不同經(jīng)驗池大小下GSQL-DSEP算法表現(xiàn)Fig.4 Performance of GSQL-DSEP algorithm under different experience pool sizes
圖5 為Q-Learning 算法、SQL 算法、GSQL 算法、Dyna-Q 算法和提出的GSQL-DSEP 算法的均方誤差對比結(jié)果。其中,Dyna-Q 算法和GSQL-DSEP 算法的經(jīng)驗池大小為20 000,經(jīng)驗池采樣數(shù)量為3。從圖5 可以看出,GSQL-DSEP 算法與最優(yōu)值之間的均方誤差更小。其中,各算法的均方誤差MSEalg(alg∈{GSQL-DSEP,Q-Learning,SQL,GSQL,Dyna-Q})分別為MSEGSQL-DSEP=2.48、MSEQ-Learning=4.29、MSESQL=4.27、MSEGSQL=4.09、MSEDyna-Q=3.05。根據(jù)式(13),相較于Q-Learning、SQL、GSQL、Dyna-Q 算法,GSQL-DSEP 算法的均方誤差值分別下降了42.2%、41.9%、39.4%、18.7%。實驗結(jié)果表明,GSQL-DSEP 算法優(yōu)于對比的其他強化學習算法,可提升收斂精度。
圖5 不同強化學習算法的均方誤差對比Fig.5 Mean square error comparison of different reinforcement learning algorithms
將GSQL-DSEP 算法應用在交通情景中,用于解決出租車司機搭乘決策優(yōu)化問題和交通信號燈控制決策優(yōu)化問題。
出租車司機搭乘決策問題[20]的目標是在交通環(huán)境中提供一套搭乘決策,最小化行駛路徑?jīng)Q策長度。目前,該問題由OpenAI 組織進行了封裝和重新實現(xiàn),以gym 工具包作為該問題的調(diào)用接口。如圖6 為出租車司機搭乘環(huán)境的示意圖。其中,出租車使用半圓表示,且在5 × 5 網(wǎng)格中的初始位置隨機;RGBY(對應紅色、綠色、藍色、黃色)四個位置隨機存放了乘客的等待位置和目的地;環(huán)境中同時也存在一些墻壁障礙。出租車需要在和環(huán)境的交互過程中,學習到載客和卸客的路徑規(guī)劃和決策。
圖6 出租車司機的搭乘環(huán)境Fig.6 Driving environment for taxi drivers
為了應用強化學習策略解決出租車司機搭乘決策問題,需要設定相應的狀態(tài)表示、動作表示、獎勵函數(shù)和強化學習算法的超參數(shù)。在狀態(tài)表示的設定上,由于該環(huán)境空間大小為25,且有5 個可能的乘客位置(包括乘客在出租車內(nèi))、4 個可能的目的地,因此最終的狀態(tài)個數(shù)為500;動作空間、獎勵函數(shù)和強化學習超參數(shù)的設定分別如表1~3 所示。
表1 出租車動作空間定義Tab.1 Definition of taxi action space
表2 出租車獎勵函數(shù)定義Tab.2 Definition of taxi reward function
表3 出租車超參數(shù)設定Tab.3 Hyperparameter setting for taxis
由于迭代過程累積獎勵隨機性較大,因此本文取每20次迭代的平均獎勵值作為評價,評估長度為30,并重復10 次實驗求取平均值作為最終的評價指標。GSQL-DSEP 算法存在經(jīng)驗池大小和經(jīng)驗池采樣數(shù)量兩個超參數(shù),在出租車司機搭乘決策問題中,不同的超參數(shù)對該算法的影響如圖7~8 所示。圖7 顯示了在經(jīng)驗池采樣數(shù)量為3 的情況下,經(jīng)驗池大小為20、200、2 000、20 000 時的平均路徑長度變化。從圖7可以看出,不同的經(jīng)驗池大小對前期的收斂速度具有一定影響,更大的經(jīng)驗池對收斂速度具有部分提升作用,但對最終的收斂結(jié)果影響不大。圖8 顯示了在經(jīng)驗池大小為20 000的情況下,經(jīng)驗池采樣數(shù)量為1、3、5 時的平均路徑長度變化。從圖8 可以看出,采樣數(shù)量多則收斂速度變快,但對最終的收斂結(jié)果同樣影響不大,且更多的采樣數(shù)量會引入額外的計算開銷。根據(jù)上述實驗結(jié)果,在后續(xù)的對比實驗中,GSQL-DSEP 算法經(jīng)驗性地選取經(jīng)驗池大小為20 000、采樣數(shù)量為3。
圖7 經(jīng)驗池大小對決策路徑長度的影響Fig.7 Influence of experience pool sizes on decision path length
圖8 采樣數(shù)量對決策路徑長度的影響Fig.8 Influence of sampling numbers on decision path length
將傳統(tǒng)強化學習算法、其他改進算法以及本文提出的GSQL-DSEP 算法應用到該環(huán)境中,最終結(jié)果如圖9~10 所示,相應算法的平均決策路徑長度為LENalg(alg∈{GSQL-DSEP,Q-Learning,SQL,GSQL,Dyna-Q})。最終結(jié)果表明,在面向最優(yōu)路徑?jīng)Q策的選取過程中,相較于Q-Learning、SQL、GSQL、Dyna-Q 算法,GSQL-DSEP 算法得到的累積獎勵更高;各算法所對應的決策路徑長度分別為:LENGSQL-DSEP=13.345、LENQ-Learning=16.62,LENSQL=16.3,LENGSQL=16.16,LENDyna-Q=16.315,即GSQL-DSEP 所對應的決策路徑最短。根據(jù)式(14),相較于Q-Learning、SQL、GSQL、Dyna-Q 算法,GSQLDSEP 算法的平均路徑長度分別縮短了約19.7%、18.1%、17.4%、18.2%。結(jié)果表明,相較于傳統(tǒng)強化學習算法,GSQL-DSEP 算法能夠縮短出租車司機搭乘問題中的決策路徑長度。
圖9 不同算法在出租車路徑規(guī)劃中的累積獎勵對比Fig.9 Comparison of cumulative reward among different algorithms in taxi path planning
圖10 不同算法決策路徑長度對比Fig.10 Comparison of decision path length amongdifferent algorithms
交通信號燈控制決策優(yōu)化,能夠提升現(xiàn)有交通網(wǎng)絡的利用效率,減少交通系統(tǒng)中車輛的整體等待時間。本節(jié)首先在交通信號控制仿真軟件SUMO(Simulation of Urban MObility)中建立十字路口的交通信號燈控制MDP 模型,然后將強化學習算法應用在交通信號燈控制問題上,以減少車輛的等待時間。
2.2.1 交通信號燈控制MDP模型
本文首先基于點、邊和連接的三個配置文件生成基本的路況環(huán)境,然后使用netedit 軟件修改路徑信息,得到的仿真環(huán)境如圖11 所示,其中涉及的超參數(shù)如表4 所示。
表4 交通環(huán)境參數(shù)Tab.4 Traffic environmental parameters
圖11 信號燈控制環(huán)境Fig.11 Traffic light control environment
假定最快每1.2 秒從路口通行1 輛車,則路口最大的吞吐率為50 輛/分鐘,因此在仿真環(huán)境中出現(xiàn)的車輛頻率應小于50 輛/分鐘。在車輛生成的過程中,考慮出現(xiàn)車輛的隨機性,因此本文使用Python 腳本在每次重置環(huán)境后,對車輛信息重新生成。
在交通信號燈控制問題的動作表示上,通常情況下,右轉(zhuǎn)信號燈為常綠狀態(tài),車輛可以直接向右通行,而左轉(zhuǎn)和直行信號燈需要根據(jù)環(huán)境進行設置。當只有紅燈和綠燈時,原始動作空間大小為(2 × 2)4,共256 個動作。然而,這些動作往往存在沖突問題,如某車道信號燈全綠時,則對應的左右車道信號燈應該為紅色?;谝陨纤枷?,本文提出的交通信號燈控制動作表示如表5 所示,總動作個數(shù)減少到12,以每3個為一組,表示出右轉(zhuǎn)、直行和左轉(zhuǎn)的信號燈動作。其中G為綠燈,R 為紅燈。在動作切換時,為了安全行駛,本文自動添加了黃燈作為過渡。
表5 信號燈動作空間定義Tab.5 Definition of traffic signal action space
在交通信號燈控制問題的狀態(tài)表示上,針對每個車道上的車輛數(shù)量,設定車輛多、中、少三種狀態(tài)。本文設定當車輛數(shù)量小于4,則車輛為少;若車輛不小于4 且小于9,則車輛數(shù)量適中;否則車輛數(shù)量為多。由于共有四個車道,本文使用三進制形式表示狀態(tài),最終的狀態(tài)空間大小為81。
在交通信號燈控制問題的獎勵函數(shù)上,應當包含最終要解決的問題,使最終車輛的整體等待時間最小,不出現(xiàn)車輛碰撞或急?,F(xiàn)象,且交通燈信號改變頻率不宜過快等。基于上述想法,本文使用的獎勵函數(shù)定義如表6 所示,其中的K3在每個時間步為1,信號燈發(fā)生改變后K5為1,否則為0。
表6 信號燈控制的獎勵函數(shù)定義Tab.6 Definition of reward function for traffic signal control
2.2.2 強化學習在交通信號燈控制中的應用
使用GSQL-DSEP 算法和Q-Learning算法、SQL算法、GSQL 算法、Dyna-Q 算法,對設計好的MDP 模型進行實驗和仿真。在實驗過程中,由于貪婪策略無法穩(wěn)定收斂,因此本文在該情景中對比的所有強化學習算法都采用直接策略。在經(jīng)驗池大小的選取過程中,設定采樣數(shù)量為3,然后選取不同的經(jīng)驗池大小進行測試。首先,設定經(jīng)驗池大小在200以上,算法最終累積獎勵值變化較大,算法不夠穩(wěn)定;然后,設定經(jīng)驗池大小為20 時,算法最終收斂到的累積獎勵值為-103.04,性能有待提高;隨后,設定經(jīng)驗池大小為2 時,最終收斂到的累積獎勵值為-27.392,得到的結(jié)果較為理想。由于SUMO 軟件仿真和車輛生成過程的動態(tài)性,并根據(jù)文獻[16]中8.3 節(jié)的分析,當環(huán)境變化后,在過大的經(jīng)驗池中,更舊的經(jīng)驗數(shù)據(jù)存儲在經(jīng)驗池中被采樣,影響了算法的更新過程,得到的結(jié)果具有局限性?;谏鲜鰧嶒灲Y(jié)果,在經(jīng)驗池采樣數(shù)量的選取過程中,設定經(jīng)驗池大小為2 的情況下選取不同的采樣數(shù)量進行測試。當采樣數(shù)量為1 時,最終收斂的累積獎勵為-102.743;而采樣數(shù)量為5 時,最終收斂的累積獎勵為-27.292。在GSQL-DSEP 算法中,采樣數(shù)量決定了使用模擬經(jīng)驗進行算法更新的次數(shù),當使用可反映出環(huán)境動態(tài)變化的經(jīng)驗時,更多的更新次數(shù)有利于算法效果的進一步提升,但計算量更大。綜合考慮算法效果和計算成本,后續(xù)選用的經(jīng)驗池大小為2,采樣數(shù)量為3。
在面向最優(yōu)決策過程中,最終得到的每回合累積獎勵如表7 所示,智能體決策下的車輛的總等待時間TIMEalg(其中,alg∈{GSQL-DSEP,Q-Learning,SQL,GSQL,Dyna-Q})如表8 所示。根據(jù)式(15),相較于Q-Learning、SQL、GSQL、Dyna-Q 算法,GSQL-DSEP 算法的車輛總等待時間TIMEGSQL-DSEP分別減少了51.5%、51.5%、0%、3.4%。實驗結(jié)果表明,相較于其他強化學習算法,應用GSQL-DSEP 算法能夠獲取最大的累積獎勵值,最終得出的車輛總等待時間具有更大優(yōu)勢。
表7 不同算法得到的信號燈控制最終累積獎勵Tab.7 Final cumulative rewards of traffic signal control obtained by different algorithms
表8 不同算法得到的車輛總等待時間單位:sTab.8 Total waiting time of vehicles obtained by different algorithms unit:s
強化學習算法可以解決交通情景下的出租車司機搭乘問題和交通信號燈控制問題。在算法方面,本文對強化學習算法進行了優(yōu)化,結(jié)合了經(jīng)驗池技術和直接策略提出了一種新的廣義快速Q(mào) 學習算法GSQL-DSEP,從算法對比實驗可以看出,本文提出的GSQL-DSEP 算法相較于其他對比的強化學習算法提高了收斂精度。在應用方面,GSQL-DSEP 算法在解決出租車司機搭乘決策優(yōu)化問題時,縮短了搭乘決策的路徑長度;在解決交通信號燈控制優(yōu)化問題時,可獲得更高的累積獎勵,得出的交通系統(tǒng)中車輛總等待時間更具優(yōu)勢。然而,GSQL-DSEP 算法仍然存在一些局限性。首先,如果應用環(huán)境發(fā)生較大變化,則從經(jīng)驗池中采樣的經(jīng)驗難以模擬出變化后的環(huán)境信息,進而導致后續(xù)收斂性不夠穩(wěn)定;其次,更多的采樣數(shù)量及其對應的更新次數(shù)會引入額外的計算開銷,且算法的提升效果有限;最后,由于采用直接策略,應用場景應合理設計獎勵函數(shù),保證在該算法下智能體行為選擇策略的探索性。