1. 程式人生 > 實用技巧 >論文記載: Deep Reinforcement Learning for Traffic LightControl in Vehicular Networks

論文記載: Deep Reinforcement Learning for Traffic LightControl in Vehicular Networks

強化學習論文記載

論文名: Deep Reinforcement Learning for Traffic LightControl in Vehicular Networks ( 車輛網路交通訊號燈控制的深度強化學習 )---年份:2018.3

主要內容:

文獻綜述載於第二節。模型和問題陳述將在第三節介紹。第四節介紹了強化學習的背景,第五節介紹了在車輛網路交通燈控制系統中建立強化學習模型的細節。第六節將強化學習模型擴充套件為深度學習模型,以處理我們系統中的複雜狀態。該模型的評估載於第七節。最後,論文的結論在第八節。

Introduction:

  • 提出了一種深度強化學習模型來控制交通訊號燈的模型。在模型中,通過收集資料並將整個交叉路口劃分為小網格,將複雜的交通場景看作為狀態
    交通訊號燈的時間變化看作是動作,這些動作被建模為高維度馬爾可夫決策過程。獎勵是兩個週期之間的累積等待時間差。為解決模型,採用卷積神經網路將狀態對映為獎勵。所提出的模型由提高效能的幾個元件組成,例如dueling network, target network, double Q-learning network,和prioritized experience replay。我們通過在車輛網路中的城市機動性模擬(SUMO)中通過模擬對模型進行了評估,模擬結果表明了該模型在控制交通訊號燈方面的有效性。

Literature review:

  • 為了實現這樣一個系統,我們需要“眼睛”來觀察實時的道路狀況,“大腦”來處理它。對於前者,感測器和網路技術的最新進展,使實時交通訊息作為輸入,如車輛數量、車輛位置、車輛等待時間。對於“大腦”部分,作為一種機器學習技術,強化學習是解決這一問題的一種有前途的方法。強化學習系統的目標是使行動主體在與環境的互動中學習最優策略,以獲得最大的獎勵。

  • 現有的研究主要存在兩個侷限性:(1)交通訊號通常被劃分為固定的時間間隔,綠燈/紅燈的持續時間只能是這個固定時間間隔的倍數,在很多情況下效率不高;(2)交通訊號是隨機變化的,這對司機來說既不安全也不舒適。

  • 文獻綜述載於第二節。模型和問題陳述將在第三節介紹。第四節介紹了強化學習的背景,第五節介紹了在車輛網路交通燈控制系統中建立強化學習模型的細節。第六節將強化學習模型擴充套件為深度學習模型,以處理我們系統中的複雜狀態。該模型的評估載於第七節。

Model and problem statement:

  • 在這篇論文中,我們考慮了一個用交通燈來控制交通流的十字路口場景。模型如圖1所示。左邊是交通燈的結構。交通燈首先通過車輛網路採集道路交通訊息,如圖中紫色虛線所示。交通燈對資料進行處理,獲得道路交通的狀態和獎勵,這是很多前人研究所假設的。紅綠燈根據當前狀態和獎勵選擇一個行動,使用深度神經網路顯示在右側。

  • 本系統中的交通燈控制模型。左側為交叉口場景,交通燈通過車載網路採集車輛資訊,並由強化學習模型控制;右邊顯示的是一個深度神經網路,幫助紅綠燈選擇一個動作。
  • 在我們的模型中,交通燈被用來管理交叉路口的交通流量。十字路口的交通燈有三種訊號,綠、黃、紅。當一個十字路口有來自多個方向的車輛時,一個紅綠燈可能不足以管理所有的車輛。因此,在一個多方向交叉路口,多個交通燈需要相互配合。在這種交叉路口,交通訊號通過改變交通燈的狀態,引導車輛一次從非衝突方向行駛。一種狀態是隻用交通訊號燈的紅綠訊號,忽略黃訊號,的合法組合。停留在一種狀態的持續時間稱為一個階段訊號燈的相位就是針對不同方向的交通流,給予相應的放行的時間,就是相位。相位的數量是由十字路口的法定狀態的數量決定的。所有相位以固定的順序迴圈變化,引導車輛通過交叉口。當各階段重複一次時,稱為一個週期。一個週期的相位序列是固定的,但每個相位的持續時間是自適應的。如果一個階段需要被跳過,它的持續時間可以設定為0秒。在這個問題中,我們動態地調整每個階段的持續時間,以應對不同的交通情況。
  • 我們的問題是如何通過學習歷史經驗動態地改變交通訊號燈的每一階段的持續時間來優化交叉口的使用效率。一般的想法是延長在那個方向有更多車輛的階段的持續時間。

Background on reinforcement learning:

  • 強化學習的背景就不說了

Reinforcement learning model:

  • 為了建立一個使用強化學習的交通訊號燈控制系統,我們需要定義狀態、行動和獎勵。在本節的提醒中,我們將介紹如何在我們的模型中定義這三個元素。

狀態States:

  • 我們定義的狀態是基於兩條資訊,車輛在十字路口的位置和速度。通過車輛網路,可以得到車輛的位置和速度。然後交通燈提取出當前交叉口的虛擬快照影象。整個交點被分割成大小相同的小正方形網格。網格的長度c應保證同一網格中不能容納兩輛車,並且可以將一整輛車放入一個網格中以減少計算量。在我們的系統中c的值將在評估中給出。在每個網格中,狀態值為車的二值向量<位置,速度>。位置維度是一個二進位制值,表示網格中是否有車輛。如果網格中有車輛,網格中的值為1;否則,它是0。速度維數為整數值,表示車輛當前的速度,單位為m/s。
  • 以圖2為例,說明如何量化來獲得狀態值。圖2(a)是用車輛網路中的資訊構建的簡單單線四向交叉口交通狀態快照。交叉點被分割成正方形的網格。位置矩陣具有相同網格尺寸,如圖2(b)所示。在矩陣中,一個十字路口對應圖2(a)中的一個網格。空白單元格表示對應網格中沒有車輛,為0。其他內部有車輛的單元被設定為1.0。速度維度中的值是以類似的方式構建的。如果網格中有車輛,對應的值為車輛的速度;否則,它是0。

動作Action:

  • 交通燈需要根據當前的交通狀態選擇合適的動作來很好地引導交叉口的車輛。在這個系統中,通過選擇下一個週期中的每個階段的持續時間來定義動作空間。但如果兩個週期的持續時間變化很大,系統可能會變得不穩定。因此,當前狀態下的法律階段期限應平穩變化。我們將兩個相鄰週期之間合法階段的持續時間變化建模為一個高維的MDP模型。在該模型中,交通燈在一小步內只改變一個階段的持續時間。

  • 十字路口分為南北綠、東南和西北綠、東西綠、東北和西南綠,四個階段。其他未提及的方向預設為紅色。讓我們在這裡忽略黃色訊號,稍後將介紹它。設< t1, t2, t3, t4>的四元組表示當前週期四個階段的持續時間。

  • 下一個週期的法律行為如圖3所示。在圖中,一個圓表示一個週期內四個階段的持續時間。我們將從當前週期到下一個週期的時間變化離散為5秒。下一個週期中一個且只有一個階段的持續時間是當前持續時間加或減5秒。在下一個迴圈中選擇階段的持續時間後,當前的持續時間成為被選擇的時間。紅綠燈可以以類似於前面步驟的方式選擇一個動作。此外,我們將一個階段的最大合法持續時間設定為60秒,最小的為0秒。

  • MDP是一種靈活的模式。它可以應用於有更多交通燈的更復雜的十字路口,這需要更多的階段,如五、六路的不規則十字路口。當相交處有更多階段時,它們可以作為高維值新增到MDP模型中。MDP中圓的尺寸等於交點處的階段數。

  • 紅綠燈的相位按順序週期性地變化。為了保證安全,相鄰兩個相位之間需要有黃色訊號,這可以讓行駛中的車輛在訊號變成紅色之前停下來。黃色訊號的持續時間是由道路的最大速度$$v_{max}$$除以最常見的減速的加速度$$a_{dec}$$定義的。這意味著行駛中的車輛需要這麼長的時間才能在十字路口前穩穩停車。

\[T_{yellow}=\frac{v_{max}}{a_{dec}} \tag {3} \]

獎勵Rewards

  • 獎勵是區分強化學習和其他學習演算法的一個因素。獎勵的作用是為強化學習模型提供關於之前行為表現的反饋。因此,定義獎勵對正確指導學習過程是很重要的,這有助於採取最佳的行動政策。
  • 在我們的系統中,主要的目標是提高交叉的效率。衡量效率的一個主要指標是車輛的等待時間。因此,我們將獎勵定義為兩個相鄰週期的累積等待時間的變化。
  • \(i_t\)為從開始時刻到\(t^{th}\)週期開始的時刻第\(i^{th}\)輛觀測到的車,\(N_t\)表示到\(t^{th}\)週期為止對應的車輛總數。車輛\(i\)到第\(t^{th}\)週期的等待時間用\(w_{i_t,t}\)表示,(1≤\(i_t\)\(N_t\))。\(t^{th}\)階段中的獎勵由以下方程式定義:

\[r_t=W_t-W_{t+1} \tag {4} \]

  • 這意味著獎勵等於行動之前和行動之後累積等待時間的增量。如果獎勵變大,等待時間的增量就變少。考慮到delay(等待時長)不隨時間而減少,總體獎勵總是非正的。

\[W_t= \sum_{i_t=1}^{N_t}w_{i_t,t} \tag {5} \]

Double dueling deep q network:

  • 直接求解圖(2)有很多實際問題,如要求狀態是有限的。在車輛網路中的交通燈控制系統中,狀態數過大。因此,在本文中,我們提出了卷積神經網路來近似\(Q\)值。結合最新的技術,提出的整個網路稱為Double Dueling Deep Q Network (3DQN).

Convolutional Neural Network:

  • 本文提出的CNN的架構如圖4所示。它由三個卷積層和幾個完全連線的層組成。在我們的系統中,輸入的是包含車輛位置和速度資訊的小網格。十字路口的網格數為60×60。輸入資料變為60×60×2,同時包含位置和速度資訊。資料首先經過三個卷積層。每個卷積層包括卷積、池化和啟用三個部分。卷積層包括多個濾波器。每個過濾器都包含一組權值,它聚合上一層的區域性塊,並且每次移動由步幅定義的固定步長。不同的過濾器有不同的權值來在下一層生成不同的特徵。卷積運算使模式的存在比模式的位置更重要。池化層從區域性單位補丁中選擇特徵值,以替換整個補丁。池化過程去掉了不太重要的資訊,並降低了維數。啟用函式是決定一個單位如何被啟用。最常見的方法是在輸出上應用非線性函式。在本文中,我們使用漏的ReLU作為啟用函式,其形式如下(讓x表示一個單位的輸出):

\[f(n)= \begin{cases} x, & \text {if x>0} \\ \beta x, & \text{if n $\leq$ 0} \end{cases} \tag {6} \]

  • \(β\)是一個小常數,以避免零梯度在負側。漏洩的ReLU比其他啟用函式(如tanh和sigmoid)收斂得更快,並防止常規ReLU產生“死亡”神經元,也就是防止出現梯度彌散和梯度爆炸。

  • 在該架構中,三個卷積層和全連線層的構造如下。第一個卷積層包含32個濾波器。每個過濾器的大小是4×4,並且每次通過輸入資料的全深度移動2×2步。第二層卷積層有64個濾波器。每個濾鏡的尺寸是2×2,每次移動2×2步長。經過兩個卷積層後的輸出大小為15×15×64。第三個卷積層有128個濾波器,尺寸為2×2,步長的大小為1×1。第三個卷積層的輸出是一個15×15×128張量。一個完全連通的層將張量轉換成一個128×1的矩陣。在全連通層之後,資料被分割成相同大小64×1的兩部分。第一部分用於計算價值,第二部分用於獲取優勢。行動的優勢是指採取某項行動比採取其他行動所取得的效果。因為如圖3所示,我們的系統中可能的運算元是9,所以優勢的大小是9×1。它們再次組合得到\(Q\)值,這就是Double Dueling Deep Q Network 的架構。

  • 每個動作對應的\(Q\)值,我們需要高度懲罰可能導致事故或達到最大/最小訊號持續時間的違法行為。輸出將\(Q\)值和嘗試的動作結合起來,迫使紅綠燈採取法律行動。最後,我們得到輸出中帶有懲罰值的每個操作的\(Q\)值。\(CNN\)中的引數用\(θ\)表示。\(Q(s, a)\)現在變成了\(Q(s, a;θ)\),在\(CNN θ\)下進行估計。架構中的細節將在下一小節中介紹。

Dueling DQN

  • 如前所述,我們的網路包含一個dueling DQN。在網路中,Q值是根據當前狀態的值和每個動作相對於其他動作的優勢來估計的。狀態\(V (s;θ)\)的值表示在未來步驟中採取概率行動的總體預期回報優勢對應於每一個動作,定義為\(A(s, a;θ)\)\(Q\)值是狀態\(V\)值和動作優勢\(A\)值的和,通過下面的方程進行計算:

\[Q(s,a;\theta)=V(s;\theta)+(A(s,a;\theta)-\frac{1}{|A|}\sum_{a'}A(s,a';\theta)) \tag7 \]

  • \(A(s, a;θ)\)表示一個動作對所有動作中的價值函式有多重要。如果行動的A值是正的,那就意味著與所有可能行動的平均表現相比,該行動在數值獎勵方面表現得更好;否則,如果行動的價值是負的,那就意味著行動的潛在獎勵低於平均值。結果表明,與直接使用優勢值相比,從所有優勢值的均值中減去優勢值可以提高優化的穩定性。實驗結果表明,該演算法能夠有效地提高強化學習的效能。

Target Network

  • 為了更新神經網路中的引數,定義了一個目標值來幫助指導更新過程。設\(Q_{target}(s, a)\)表示採取動作\(a\)時狀態\(s\)處的目標\(Q\)值,通過下式中的均方差損失函式(MSE)更新神經網路:

\[J=\sum_s P(s)[Q_{target}(s,a)-Q(s,a;\theta)]^2 \tag8 \]

  • 式中\(P(s)\)表示訓練小批量(mini-batch)中出現狀態\(s\)的概率。MSE可以看作是一個損耗函式來指導主網路的更新過程。為了在每次迭代中提供穩定的更新,通常使用獨立的目標網路\(θ^−\)生成目標值,該網路與原始神經網路結構相同,但引數不同。在雙DQN部分給出了目標Q值的計算。

  • 通過公式(8)的反向傳播對神經網路中的引數\(θ\)進行更新,\(θ^−\)根據下式中的\(θ\)進行更新:

\[\theta^-=\alpha\theta^-+(1-\alpha)\theta \tag9 \]

  • α是更新率,表示最新引數對目標網路中各成分的影響程度。目標網路可以有效地解決過樂觀值估計問題

Double DQN

  • 目標\(Q\)值由double Q-learning演算法生成。在double DQN中,目標網路產生目標\(Q\)值,動作由主網路產生。目標\(Q\)值可以表示為:

\[Q_{target}(s,a)=r+\gamma Q(s',argmax_{a'}(Q(s',a';\theta)),\theta^-) \tag{10} \]

  • 結果表明,雙DQN有效地緩解了過高價值估計,並且提高了的效能。
  • 此外,我們也使用\(\epsilon-greedy\)演算法來平衡在選擇行動上的探索和利用

Fig.5 個人的一些理解:

Primary CNN主要用來更新\(Q(s,a;\theta)\)

Target CNN主要用來更新神經網路中的引數

1》輸入當前狀態和試探性的動作,經過Primary CNN,更新每個試探性動作的\(Q(s,a;\theta)\)

2》來選擇一個\(Q(s,a;\theta)\)值最大的\(action\)

3》觀察下一個狀態\(state\)和獎勵回報\(reward\)

4》將四元組\(<s,a,r,s'>\)儲存到經驗池裡

5》通過優先順序進行選擇一個mini-batch的資料

6》一個Primary CNN通過輸入均方差損失函式MSE更新後的\(\theta\),來更新\(\theta^-\),並且通過當前狀態的s,a,\(\theta\),來獲得當前狀態的\(Q(s,a;\theta)\)

7》另一個Primary CNN通過輸入下一個狀態s',來更新下一個動作a'

7》Target CNN通過輸入上述的s',a',\(\theta^-\),來獲取\(Q(s',a';\theta^-)\)

8》 將mini-batch裡的r與上述的\(Q(s',a';\theta^-)\)結合獲得\(Q_{target}(s,a)\)

9》使用均方差損失函式MSE(\(Q(s,a;\theta)\),\(Q_{target}(s,a)\))來更新神經網路的引數\(\theta\)

  • 隨著訓練步數的增加,\(\epsilon\) 值逐漸降低。我們設定好 \(\epsilon\) 的起始值和結束值,以及從開始達到結束值的步數。\(\epsilon\)從開始到結束值線性減少。當\(\epsilon\)到達結束值的時候,就在下面程式中保持值不變。

Prioritized Experience Replay

  • 在更新過程中,梯度通過經驗回放策略進行更新。優先經驗回放策略根據優先順序從經驗池中選擇樣本,這可以導致更快的學習和更好的最終策略。其核心思想是提高時間差分誤差大的樣本的回放概率。有兩種可能的方法來評估經驗回放的概率,比例和排名。基於排名的優先經驗回放可以提供更穩定的效能,因為它不受一些極端大錯誤的影響。在該系統中,我們採用基於排序的方法來計算經驗樣本的優先順序。經驗樣本i的時差誤差\(δ\)定義為:

\[\delta_i=|Q(s,a;\theta)_i-Q_{target}(s,a)_i| \tag{11} \]

  • 經驗按錯誤數排序,經驗\(i\)的優先順序\(p_i\)是其優先順序的倒數。最後,對經驗i進行抽樣的概率按下式計算,

\[P_i=\frac{p_i^\tau}{\sum_k p_k^\tau} \tag{12} \]

  • τ表示使用了多少優先順序。當τ為0時,為隨機抽樣。個人理解:τ等於0時,分子為1條經驗,分母為所有的經驗數量,所以相當於是隨機抽樣,當τ大於1時,優先順序會被放大,例如原先是三條經驗,每條經驗優先順序\(p_1=\frac{1}{2}\)\(p_2=\frac{1}{4}\),τ等於0時,\(P_1=\frac{p_1^0}{p_1^0+p_2^0}=\frac{1}{2}\)\(P_2=\frac{p_2^0}{p_1^0+p_2^0}=\frac{1}{2}\),τ等於2時,\(P_1=\frac{p_1^2}{p_1^2+p_2^2}=\frac{4}{5}\)\(P_2=\frac{p_2^2}{p_1^2+p_2^2}=\frac{1}{5}\),經驗\(i=1\)就會更高的機率被抽取。

Optimization

  • 本文采用ADAptive Moment estimation (Adam)對神經網路進行優化。將Adam演算法與參考文獻[27]中的其他反向傳播優化演算法進行了評價和比較,結果表明Adam演算法具有較快的收斂速度和自適應學習速度,整體效能令人滿意。採用隨機梯度下降法自適應更新學習速率,同時考慮一階和二階。具體來說,讓θ表示為CNN中的引數,J(θ)表示損失函式。Adam先計算引數的梯度,

\[g=\nabla_\theta J(\theta) \tag{13} \]

  • 然後它分別用指數移動平均更新一階和二階有偏差的s和r,

\[s=\rho_ss+(1-\rho_s)g\\ r=\rho_rr+(1-\rho_r)g \tag{14} \]

  • 其中,\(ρ_s\)\(ρ_r\)分別為一階和二階的指數衰減率。利用時間步長t對一階和二階偏差部分進行校正,通過以下方程:

\[\hat s=\frac{s}{1-\rho_s^t}\\ \hat r=\frac{r}{1-\rho_r^t} \tag{15} \]

  • 最後將引數更新如下:

\[\theta=\theta+\Delta\theta\\ =\theta+(-\epsilon_r\frac{\hat s}{\sqrt{\hat r+\delta}}) \tag{16} \]

  • \(\epsilon_r\)是初始化的學習速率,\(\delta\)是一個很小的正的常數,目的是為了數值穩定性。

Overall Architecture

  • 綜上所述,我們模型的整個過程如圖5所示。當前的狀態和嘗試的動作被輸入到初級卷積神經網路,以選擇最有回報的動作。當前狀態和行動以及下一個狀態和收到的獎勵以四元組\(<s, a, r, s'>\)的形式儲存在經驗池中。經驗池中的資料由優先經驗回放選擇生成小批量資料,用於更新主神經網路的引數。目標網路\(θ^−\)是一個獨立的神經網路,以增加學習過程中的穩定性。我們使用double DQN和dueling DQN 來減少可能的高估和提高效能。通過這種方法,可以訓練出逼近函式和可以計算出每個動作在每個狀態下的Q值。通過選擇Q值最大的動作,可以得到最優策略。

Algorithm 1 Dueling Double Deep Q Network with Priori-tized Experience Replay Algorithm on a Traffic Light:

Input: replay memory size \(M\), minibatch size \(B\), greedy \(\epsilon\), pre-train steps \(tp\), target network update rate \(α\), discount factor \(γ\).
Notations:
\(θ\): the parameters in the primary neural network.
\(θ^−\): the parameters in the target neural network.
\(m\): the replay memory.
\(i\): step number.

Initialize parameters \(θ\),$ θ^−$with random values.
Initialize \(m\) to be empty and \(i\) to be zero.
Initialize \(s\) with the starting scenario at the intersection.
while there exists \(a\) state \(s\) do
Choose an action \(a\) according to the \(\epsilon\) greedy.
Take action \(a\) and observe reward \(r\) and new state \(s′\).
if the size of memory m > M then
Remove the oldest experiences in the memory.
end if
Add the four-tuple \(<s, a, r, s′>\) into \(M\).
Assign \(s′\) to \(s\): \(s ← s′\).
\(i ← i + 1\).
if \(|M| > B\) and \(i > tp\) then
Select \(B\) samples from \(m\) based on the sampling priorities.
Calculate the loss \(J\):
\(J =\sum_s \frac{1}{B}[r + γQ(s′,argmax_{a′}(Q(s′, a′;θ)), θ^−)−Q(s, a;θ)]^2.\)
Update \(θ\) with \(∇J\) using Adam back propagation.
Update \(θ^−\)with \(θ\):
\(θ^−= αθ^−+ (1 − α)θ\).
Update every experience’s sampling priority based on \(δ\).
Update the value of \(\epsilon\).
end if
end while

  • 我們的3DQN具有優先體驗重放的虛擬碼顯示在演算法1中。它的目標是訓練一個成熟的自適應交通燈,它可以根據不同的交通場景改變其相位的持續時間。智慧體首先隨機選擇動作,直到步驟的數量超過了預訓練步驟,並且記憶體中至少有足夠的樣本來處理一個小批量。在訓練之前,每個樣本的優先順序都是相同的。因此,他們被隨機挑選成一個小批進行訓練。經過一次訓練後,樣本的優先順序發生變化,根據不同的概率進行選擇。採用Adam反向傳播對神經網路中的引數進行更新。智慧體選擇行動基於 \(\epsilon\) 和行動的最大Q值。智慧體最終學會了通過對不同的交通場景做出反應來獲得高獎勵。

Evalution:

  • 在本節中,我們將介紹模擬環境。模擬結果表明了該模型的有效性

Evaluation Methodology and Parameters

我們進行模擬的主要目的是:

  • 最大化所定義的獎勵,減少所有車輛的累積延誤。

  • 減少交通道路場景下車輛的平均等待時間。

  • 具體來說,第一個目標是強化學習模型的目標。我們會在1小時內測量每一集的累積獎勵。第二個目標是衡量交通管理系統效能的重要指標,它直接影響司機的感受。為了這兩個目標,我們比較了所提出的模型與預先安排的交通訊號的效能。在有傳統交通燈的十字路口,訊號燈是由運營商預先安排的,它們不再改變。

  • 評估在SUMO中進行,提供了微觀的實時交通模擬。我們使用SUMO提供的Python api來提取交通燈控制的十字路口的資訊,併發送命令來更改交通燈的時間。十字路口由四條垂直的道路組成,如圖6所示。每條路都有三條車道。最右邊的車道允許右轉通行,中間的車道是唯一通行的車道,左邊的內車道只允許左轉車輛通行。整個交叉口場景為\(300m×300m\)區域。車道長度為\(150m\)。車輛長度為\(5m\),兩車最小間距為\(2m\)。我們設網格長度為\(c 5m\),因此網格總數為\(60×60\)。車輛的到達是一個隨機過程。各車道的平均車輛到達率相同,為每秒1/10。有兩條貫通車道,所有貫通車流(東西、東西、南北、南北)流速為每秒2/10,和轉彎流量(從東到南,從西到北,從南到西,從北到東)為每秒1/10。 SUMO提供 Krauss Following Model ,可確保在道路上安全行駛。對於車輛,最大速度為\(13.9 m / s\),等於\(50公里/小時\) 最大加速加速度為\(1.0 m / s^2\),減速加速度為\(4.5 m / s^2\)。 黃色持續時間訊號\(T_{yellow}\)設定為4秒。

Experimental Results

  • Cumulative reward:每集累積的獎勵首先以所有車道相同的車流率進行評估。模擬結果如圖7所示。藍色實線為我們模型的結果,綠色和紅色實線為固定時間交通燈的結果。虛線是對應顏色的實線的置信區間。從圖中可以看出,我們的3DQN策略在交通訊號燈時間固定的情況下優於其他兩種策略。具體來說,一次迭代的累積獎勵大於-50000(注意,獎勵是負的,因為車輛的延遲是正的),而其他兩種策略的累積獎勵都小於-6000。固定時間的交通訊號總是獲得較低的獎勵,即使產生更多的迭代,而我們的模型可以學習通過更多的迭代獲得更高的獎勵。這是因為在不同的交通場景下,固定時間的交通訊號不會改變訊號的時間。在3DQN中,訊號的時間變化以實現最佳預期回報,這平衡了當前的交通場景和潛在的未來交通。當訓練過程在我們的協議中迭代超過1000次時,累積的獎勵會比之前的迭代更加穩定。這意味著該協議已經學會如何處理不同的交通場景,以在1000次迭代後獲得最多的獎勵。
  • Average waiting time:我們測試了每集車輛的平均等待時間,如圖8所示。在這個場景中,來自所有車道的交通費率也是相同的。圖中藍色實線為我們模型的結果,綠色和紅色實線為固定時間交通燈的結果。虛線也是相同顏色的點線的對應方差。從圖中可以看出,我們的3DQN策略優於其他兩種固定時間紅綠燈策略。具體來說,固定時間訊號中的平均等待時間總是超過35秒。我們的模型可以學習將等待時間從35秒以上迭代1200次,減少到26秒左右,比其他兩種策略至少減少25.7%。結果表明,該模型能顯著提高交叉口車輛平均等待時間的效能。
  • Comparison with different parameters and algorithms:我們的模型,綠線是沒有雙網的模型。紅線是沒有決鬥網路的模型,青色線是沒有優先體驗重放的模型。我們可以看到,我們的模型在四個模型中學習速度最快。這意味著我們的模式比其他模式更快地達到最佳政策。具體來說,即使在前400次迭代中有一些波動,我們的模型在500次迭代後仍然優於其他三個模型。我們的模型可以獲得大於-47000的獎勵,而其他模型的獎勵少於-50000。

  • Average waiting time under rush hours:在這一部分中,我們通過比較交通高峰期下的效能來評價我們的模型。高峰時間意味著所有車道的車流都不一樣,這在現實生活中很常見。在高峰時間,一個方向的交通流率加倍,而其他車道的交通流率保持正常時間相同。具體來說,在我們的實驗中,從西向東的車道上的車輛到達率為每秒2/10,其他車道上的車輛到達率仍為每秒1/10。實驗結果如圖10所示。圖中藍色實線為我們模型的結果,綠色和紅色實線為固定時間交通燈的結果。虛線是對應顏色的實線的方差。從圖中我們可以看出,最好的政策比之前的情景更難學習。這是因為交通場景變得更加複雜,導致更多不確定因素。但是經過反覆試驗,我們的模型仍然可以學習到一個很好的策略來減少平均等待時間。其中3DQN在1000個episodes後的平均等待時間約為33秒,而另外兩種方法的平均等待時間分別在45秒和50秒以上。我們的模型減少了26.7%的平均等待時間。

CONCLUSION:

  • 在本文中,我們提出了利用深度強化學習模型來解決交通訊號燈控制問題。交通訊息是從車輛網路收集的。狀態是包含車輛位置和速度資訊的二維值。這些行為被建模為馬爾可夫決策過程,而回報則是兩個週期的累積等待時間差,為了解決我們問題中的複雜交通場景,我們提出了一個具有優先經驗重放的雙決鬥深度Q網路(3DQN)。該模型既能學習到高峰時段的交通策略,又能學習到正常交通流量下的交通策略。從開始訓練開始,可以減少平均等待時間的20%以上。該模型在學習速度上也優於其他模型,這在SUMO和TensorFlow的大量模擬中得到了體現。