劉 皓, 呂宜生
(1.中國(guó)科學(xué)院大學(xué), 北京 100049; 2.中國(guó)科學(xué)院自動(dòng)化研究所,復(fù)雜系統(tǒng)管理與控制國(guó)家重點(diǎn)實(shí)驗(yàn)室, 北京 100190)
交通信號(hào)燈可從時(shí)間上對(duì)沖突交通流進(jìn)行分配. 但是,不合理的交通信號(hào)燈控制方案將會(huì)導(dǎo)致此交叉口,乃至附近多個(gè)交叉口、多條道路嚴(yán)重?fù)矶? 所以如何制定一個(gè)合理的交通信號(hào)燈控制方案成為解決交通擁堵的關(guān)鍵問題.
由于路口交通流具有非線性、時(shí)變性、不確定性等特點(diǎn),對(duì)其建模困難,從而導(dǎo)致無法借助其精確的數(shù)學(xué)模型來優(yōu)化交通信號(hào)控制方案. 我們需要一個(gè)能夠適應(yīng)道路交通系統(tǒng)非線性、時(shí)變性、不確定性等特點(diǎn)的新的控制方法. 強(qiáng)化學(xué)習(xí)Agent(智能體)能夠從與環(huán)境的交互中學(xué)習(xí)、自適應(yīng)生成控制策略. 近年來因AlphaGo等[1-5]的成功越來越受到人們的關(guān)注.
在交通信號(hào)控制領(lǐng)域,強(qiáng)化學(xué)習(xí)也經(jīng)過了一系列的探索,從Q學(xué)習(xí)算法到SARSA,再到自適應(yīng)動(dòng)態(tài)規(guī)劃方法等[6-10]. 傳統(tǒng)的強(qiáng)化學(xué)習(xí)依賴于人工提取特征,值函數(shù)和策略函數(shù)表示簡(jiǎn)單,難以處理復(fù)雜高維狀態(tài)空間下的問題. 深度強(qiáng)化學(xué)習(xí)將深度學(xué)習(xí)的特征學(xué)習(xí)和復(fù)雜表示與強(qiáng)化學(xué)習(xí)的決策能力相結(jié)合,可以用于解決智能體在復(fù)雜高維狀態(tài)空間中的感知決策問題. 為此,本文將深度強(qiáng)化學(xué)習(xí)應(yīng)用到交通信號(hào)控制領(lǐng)域,借助深度強(qiáng)化學(xué)習(xí)強(qiáng)大的端到端的學(xué)習(xí)能力,優(yōu)化交通信號(hào)燈控制方案,提高交叉口通行能力,從而緩解城市道路交通擁堵情況.
強(qiáng)化學(xué)習(xí)憑借其無需被控對(duì)象精確的數(shù)學(xué)模型、只需少量甚至無需先驗(yàn)知識(shí)、通用性強(qiáng)等特點(diǎn),逐漸成為機(jī)器學(xué)習(xí)領(lǐng)域熱門的方向之一. 而強(qiáng)化學(xué)習(xí)與深度學(xué)習(xí)2個(gè)熱門的結(jié)合——深度強(qiáng)化學(xué)習(xí),使強(qiáng)化學(xué)習(xí)得以應(yīng)用于高維、復(fù)雜的控制系統(tǒng),越來越多的領(lǐng)域開始出現(xiàn)深度強(qiáng)化學(xué)習(xí)的身影. 本文以一單路口的交通仿真環(huán)境為實(shí)例,將深度強(qiáng)化學(xué)習(xí)應(yīng)用到交叉口的交通信號(hào)燈控制.
在深度強(qiáng)化學(xué)習(xí)中,Agent是具有行為能力的軟硬件實(shí)體,比如機(jī)器人、無人車等,它通過與所處環(huán)境的不斷交互來學(xué)習(xí)最優(yōu)策略. 在交通信號(hào)控制中,交通信號(hào)燈具有從時(shí)間上對(duì)沖突交通流進(jìn)行優(yōu)化分配的能力,所以當(dāng)深度強(qiáng)化學(xué)習(xí)應(yīng)用于交通信號(hào)控制時(shí),Agent就應(yīng)該是交通信號(hào).
Agent所處的環(huán)境具有很多狀態(tài),需要從中挑選出合適的狀態(tài)讓Agent來進(jìn)行觀察,從而使Agent學(xué)習(xí)到好的策略. 如果選擇的狀態(tài)過多,過大的狀態(tài)空間會(huì)導(dǎo)致計(jì)算量過大,減慢學(xué)習(xí)過程,如果選擇的狀態(tài)過少,這些狀態(tài)將丟失環(huán)境的部分信息,使得Agent無法學(xué)習(xí)到最優(yōu)策略,所以狀態(tài)的選擇十分重要.
將交叉口處每條道路的3條入口車道的排隊(duì)車輛數(shù)之和作為狀態(tài)的一個(gè)分量,因?yàn)槁肪W(wǎng)中共有4條道路,所以每個(gè)狀態(tài)擁有4個(gè)分量,即式(1)
st=(Lwt,Let,Lnt,Lst)
(1)
式中,Lwt,Let,Lnt,Lst表示時(shí)間步t時(shí)交叉口西、東、北、南側(cè)道路3條入口車道的排隊(duì)車輛數(shù)之和.
Agent通過觀察所處環(huán)境現(xiàn)在的狀態(tài),根據(jù)一定的策略從可選動(dòng)作集合中選擇一個(gè)動(dòng)作來執(zhí)行,可選動(dòng)作集合的確定對(duì)于Agent能否學(xué)習(xí)到最優(yōu)策略也十分重要. 對(duì)于交通信號(hào)控制問題,可選動(dòng)作集合一般有以下幾種:改變交通信號(hào)燈的相位、相序;固定交通信號(hào)燈的周期時(shí)長(zhǎng),改變各相位的綠信比;固定交通信號(hào)燈的相位、相序,動(dòng)態(tài)切換相位狀態(tài). 本實(shí)驗(yàn)選擇最后一種可選動(dòng)作集合方案,即可選動(dòng)作集為{保持當(dāng)前相位,切換至下一相位}.
Agent執(zhí)行完動(dòng)作后,其所處環(huán)境將會(huì)發(fā)生變化,并反饋給Agent一個(gè)獎(jiǎng)勵(lì)值,指引Agent學(xué)習(xí)的方向. 最直觀最容易理解的獎(jiǎng)勵(lì)是排隊(duì)車輛數(shù),本文選擇交叉口處4條入口道路的排隊(duì)車輛數(shù)之和作為獎(jiǎng)勵(lì)值. 在仿真實(shí)驗(yàn)中,若交叉口處4條入口道路的排隊(duì)車輛數(shù)之和過大,則會(huì)出現(xiàn)車輛從交叉口擁堵至路網(wǎng)邊緣的現(xiàn)象,導(dǎo)致車輛無法進(jìn)入路網(wǎng)而出現(xiàn)車輛丟失的情況,所以需要設(shè)置一個(gè)最大排隊(duì)車輛數(shù)之和Lmax,當(dāng)總的排隊(duì)車輛數(shù)大于Lmax時(shí),則終止本次仿真,直接開始下次仿真. 文中,Lmax設(shè)置為200,當(dāng)總的排隊(duì)車輛數(shù)小于Lmax時(shí),排隊(duì)車輛數(shù)越大,獎(jiǎng)勵(lì)值越小,排隊(duì)車輛數(shù)越小,獎(jiǎng)勵(lì)值越大,獎(jiǎng)勵(lì)值的表達(dá)式如式(2).
(2)
作為深度強(qiáng)化學(xué)習(xí)算法中的一種,深度Q網(wǎng)絡(luò)算法將傳統(tǒng)的Q學(xué)習(xí)算法與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合,使用深度神經(jīng)網(wǎng)絡(luò)作為Q學(xué)習(xí)算法中動(dòng)作價(jià)值函數(shù)的逼近器,解決了“維數(shù)災(zāi)難”問題,使Q學(xué)習(xí)算法得以應(yīng)用于大規(guī)模決策問題之中.
本文使用Nature DQN算法來進(jìn)行交通信號(hào)控制,其神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示.
圖1 Nature DQN算法神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
圖2 Nature DQN算法Q網(wǎng)絡(luò)結(jié)構(gòu)圖
1.5.1 目標(biāo)Q網(wǎng)絡(luò)
Nature DQN在NIPS DQN的基礎(chǔ)上進(jìn)行改進(jìn),增加了目標(biāo)網(wǎng)絡(luò). 目標(biāo)網(wǎng)絡(luò)的值采取延遲更新的策略,即每訓(xùn)練一定的次數(shù)后再將當(dāng)前估計(jì)Q網(wǎng)絡(luò)的參數(shù)復(fù)制給目標(biāo)網(wǎng)絡(luò). 目標(biāo)值的計(jì)算使用該目標(biāo)網(wǎng)絡(luò),而不是直接使用預(yù)更新的估計(jì)Q網(wǎng)絡(luò),減少了目標(biāo)計(jì)算與當(dāng)前值的相關(guān)性.
圖1中的“eval_net”和“target_net”分別為Nature DQN算法中的估計(jì)Q網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò).Q網(wǎng)絡(luò)的作用是替代Q學(xué)習(xí)算法中的Q表格來存儲(chǔ)動(dòng)作價(jià)值函數(shù)Q(s,a),其本質(zhì)是神經(jīng)網(wǎng)絡(luò),2個(gè)Q網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示.
對(duì)比2個(gè)Q網(wǎng)絡(luò)的結(jié)構(gòu)圖可知,2個(gè)Q網(wǎng)絡(luò)的結(jié)構(gòu)相同,都由1個(gè)輸入層、3個(gè)隱藏層、1個(gè)輸出層組成. 但估計(jì)Q網(wǎng)絡(luò)“eval_net”中每個(gè)神經(jīng)層旁邊都有1個(gè)“train”,而目標(biāo)網(wǎng)絡(luò)“target_net”中的神經(jīng)層沒有. 這是因?yàn)楦鶕?jù)Nature DQN算法,我們使用得到的樣本數(shù)據(jù)不斷訓(xùn)練估計(jì)Q網(wǎng)絡(luò)“eval_net”,其參數(shù)是實(shí)時(shí)更新的,而目標(biāo)網(wǎng)絡(luò)“target_net”并不進(jìn)行訓(xùn)練,其參數(shù)不會(huì)實(shí)時(shí)更新,只在每經(jīng)過一定的訓(xùn)練步數(shù)后把其參數(shù)替換成估計(jì)Q網(wǎng)絡(luò)“eval_net”的參數(shù).
為驗(yàn)證本文提出的交通信號(hào)燈控制方法的有效性,使用德國(guó)宇航中心(DLR)開發(fā)的軟件(Simulation of Urban Mobility SUMO)構(gòu)建了一個(gè)單路口的交通仿真環(huán)境,如圖2、3所示.
圖3 路網(wǎng)總覽圖
該仿真環(huán)境所使用的路網(wǎng)為一現(xiàn)實(shí)生活中最常見的十字交叉路口,路網(wǎng)中共有4條雙向六車道的道路,每條道路長(zhǎng)500 m. 路網(wǎng)中共有1個(gè)交叉口,在該交叉口處安裝有1個(gè)兩相位的交通信號(hào)燈,各相位的控制狀態(tài)如圖4所示,圖中每條綠線和紅線連接了一條入口車道和一條出口車道,綠線表示允許其所連接的入口車道的車輛行駛至其所連接的出口車道,紅線則表示禁止其所連接的入口車道的車輛行駛至其所連接的出口車道. 各相位的持續(xù)時(shí)間由實(shí)驗(yàn)時(shí)所使用的信號(hào)燈控制方法來決定.
圖4 交通信號(hào)燈相位示意圖
2.2.1 回放記憶積累策略
為降低樣本之間的關(guān)聯(lián)性,本文使用了經(jīng)驗(yàn)回放機(jī)制,這就要求Q網(wǎng)絡(luò)開始訓(xùn)練時(shí)回放記憶中存儲(chǔ)有足夠多數(shù)量且有價(jià)值的樣本. 由于仿真環(huán)境中車輛是從道路遠(yuǎn)離信號(hào)燈的一端進(jìn)入路網(wǎng),車輛需要一定的時(shí)間才能到達(dá)信號(hào)燈處,每次仿真最開始的一段時(shí)間內(nèi)采集到的樣本是無效的,所以本文從每次仿真執(zhí)行到第50步后開始存儲(chǔ)樣本,舍棄掉無效樣本.
為保樣本的數(shù)量足夠多,本文在進(jìn)行實(shí)驗(yàn)時(shí),前10次仿真只進(jìn)行仿真模擬,不進(jìn)行訓(xùn)練,待回放記憶中存儲(chǔ)有充足樣本后,再開始訓(xùn)練Q網(wǎng)絡(luò).
2.2.2 動(dòng)態(tài)貪婪率策略
貪婪率ε對(duì)于訓(xùn)練來說十分重要,它決定了Agent以ε的概率根據(jù)現(xiàn)有Q網(wǎng)絡(luò)選擇動(dòng)作,而以1-ε的概率隨機(jī)選擇動(dòng)作. 根據(jù)常理可知,在訓(xùn)練初期,Q網(wǎng)絡(luò)并未訓(xùn)練好,應(yīng)該以更大的概率隨機(jī)選擇動(dòng)作,盡可能地去探索未知的狀態(tài)空間,而在訓(xùn)練后期,Q網(wǎng)絡(luò)已基本訓(xùn)練好,應(yīng)該以更大的概率根據(jù)Q網(wǎng)絡(luò)選擇動(dòng)作,使訓(xùn)練結(jié)果盡快收斂. 為滿足上述常理,使用動(dòng)態(tài)貪婪率策略,在訓(xùn)練開始時(shí),將貪婪率ε設(shè)為0,然后使貪婪率ε隨著訓(xùn)練次數(shù)增大,增大至0.9后不再變化,其式為:ε=min{0.000 1x,0.9},其中x為訓(xùn)練次數(shù).
本實(shí)驗(yàn)中,Agent在仿真環(huán)境共進(jìn)行了100次訓(xùn)練,每次訓(xùn)練持續(xù)500個(gè)仿真步長(zhǎng),每個(gè)仿真步長(zhǎng)為現(xiàn)實(shí)生活中的1 s,即每次訓(xùn)練持續(xù)500 s.
每次訓(xùn)練的累計(jì)獎(jiǎng)勵(lì)值隨訓(xùn)練次數(shù)變化的曲線如圖5所示,圖中x軸為訓(xùn)練次數(shù),y軸為每次訓(xùn)練的累計(jì)獎(jiǎng)勵(lì)值,即每次訓(xùn)練中各仿真時(shí)刻的獎(jiǎng)勵(lì)值之和. 從圖5中可看出,每次訓(xùn)練的累計(jì)獎(jiǎng)勵(lì)值隨著訓(xùn)練次數(shù)不斷增加,這說明Agent逐漸了解了其所處的仿真環(huán)境,能根據(jù)環(huán)境的狀態(tài)選擇出高獎(jiǎng)勵(lì)值的動(dòng)作,即能減少仿真環(huán)境中的排隊(duì)車輛數(shù).
圖5 Nature DQN算法累計(jì)獎(jiǎng)勵(lì)值變化曲線圖
圖6為基于Nature DQN算法的交通信號(hào)控制方法和定時(shí)控制方法每次訓(xùn)練的累積排隊(duì)車輛數(shù)隨訓(xùn)練次數(shù)的變化曲線圖,圖中x軸為訓(xùn)練次數(shù),y軸為每次訓(xùn)練的累計(jì)排隊(duì)車輛數(shù),即每次訓(xùn)練中各仿真時(shí)刻的排隊(duì)車輛數(shù)之和. 圖中的點(diǎn)劃線表示定時(shí)控制方法下每次訓(xùn)練的累計(jì)排隊(duì)車輛數(shù),由于定時(shí)控制方法下紅綠燈的相位、相序以及各相位的持續(xù)時(shí)間都是固定的,所以每次訓(xùn)練的累計(jì)排隊(duì)車輛數(shù)為一常數(shù),其值為28 944,在圖中表現(xiàn)為一水平的直線. 圖6中的藍(lán)線表示基于Nature DQN算法的交通信號(hào)控制方法下每次訓(xùn)練的累計(jì)排隊(duì)車輛數(shù),從圖中可以看出,剛開始訓(xùn)練時(shí),由于Agent對(duì)其所處的環(huán)境一無所知,只能通過隨機(jī)的方法來選擇動(dòng)作,所以累計(jì)排隊(duì)車輛數(shù)很大,最大值超過了60 000,是定時(shí)控制方法下累計(jì)排隊(duì)車輛數(shù)的兩倍多. 隨著訓(xùn)練次數(shù)的不斷增加,Agent不斷地進(jìn)行學(xué)習(xí),逐漸地了解了仿真環(huán)境,累計(jì)排隊(duì)車輛數(shù)開始下降,最終逐漸趨于穩(wěn)定. 圖中紅線為第51次訓(xùn)練至第100次訓(xùn)練每次訓(xùn)練的累積排隊(duì)車輛數(shù)的平均值,其值為18 914,遠(yuǎn)遠(yuǎn)小于定時(shí)控制下的累計(jì)排隊(duì)車輛數(shù).
圖6 Nature DQN算法和定時(shí)控制方法的累積排隊(duì)車輛數(shù)變化曲線圖
使用訓(xùn)練好的Agent在具有不同交通需求的同一仿真環(huán)境中進(jìn)行測(cè)試,測(cè)試的結(jié)果如表1所示. 表中的交通需求為每小時(shí)從1條入口道路進(jìn)入路網(wǎng)的車輛數(shù),車輛隨機(jī)出現(xiàn),車輛到達(dá)信號(hào)燈處,隨機(jī)左轉(zhuǎn)、右轉(zhuǎn)或直行,控制效果使用1次仿真中整個(gè)路網(wǎng)的4條入口道路每秒的平均排隊(duì)車輛數(shù)之和來表示. 對(duì)比了不同的定時(shí)控制信號(hào)燈周期時(shí)長(zhǎng),括號(hào)內(nèi)為信號(hào)燈周期時(shí)長(zhǎng).
從測(cè)試結(jié)果可以看出,DQN算法的控制效果明顯好于定時(shí)控制的控制效果.
城市道路交通擁堵問題是當(dāng)今世界許多國(guó)家面臨的一個(gè)嚴(yán)峻問題,交通信號(hào)燈作為道路交通系統(tǒng)的重要組成元素,可以從時(shí)間上對(duì)沖突交通流進(jìn)行優(yōu)化分配. 但目前現(xiàn)實(shí)生活中絕大部分的交通信號(hào)燈都使用定時(shí)控制方法,其控制方案易與實(shí)際交通需求不匹配,對(duì)交通流的控制不合理.
表1 測(cè)試結(jié)果
本文提出了一種基于Nature DQN算法的交通信號(hào)燈控制方法,并使用SUMO仿真平臺(tái)進(jìn)行了不同交通需求下的測(cè)試實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,相較于定時(shí)控制方法,本文所提出的交通信號(hào)燈控制方法具有更好的控制效果,能顯著減少交叉口處的排隊(duì)車輛數(shù). 需要指出的是,本文所提出的方法只進(jìn)行了仿真實(shí)驗(yàn),未在實(shí)際場(chǎng)景中測(cè)試過其控制效果;此外,本文所提出的方法仍存在一些有待改進(jìn)的地方,未來需要將應(yīng)用場(chǎng)景從簡(jiǎn)單的單路口擴(kuò)展到具有多個(gè)路口的復(fù)雜路網(wǎng).