



關鍵詞:路徑規劃;DDQN;動態排序;動態獎勵函數;PR—DDQN
0 引言
隨著人工智能以及機器人技術的飛速發展,集成了自動控制、傳感器技術等多個先進領域的機器人技術已成為目前研究潛力極大的科學領域之一,特別是移動機器人領域,成為研究者的主要關注點[1]。隨著移動機器人被廣泛應用于各個領域,對移動機器人的要求也越來越高,這意味著移動機器人需要高度智能化以及高計算力來解決實際問題。而其中一個重要的研究熱點就是移動機器人如何在復雜未知的環境下安全順利地完成路徑規劃任務[2-3]。當前,研究學者根據不同的應用場景和移動機器人的類型,開發了多種算法和模型以解決路徑規劃問題,并已在實際應用中取得了顯著成效。
傳統路徑規劃算法主要在已知地圖環境中,通過特定的方法尋找從起點到終點的最佳路徑[4]。常用的算法包括A*算法、人工勢場法和遺傳算法等。傳統的路徑規劃算法在科研和應用中已經發展到了成熟階段,這些算法能夠有效地處理許多標準的路徑選擇問題。然而,當面對現實世界中的復雜和不斷變化的環境及任務時,這些傳統算法也暴露出了一些不足和局限性。為了解決這些問題,基于強化學習的路徑規劃方法被提出作為一種新的解決方案。這種方法通過學習和適應環境的動態變化,不斷優化其決策過程,從而能夠在未知或變化的環境0qKrAKJTGZwku5/77n2KP3b6tGkCHJ3lV8sXYbyHb3g=中做出更為合理和高效的路徑選擇。
Q-Learning(QL) 算法作為強化學習領域中的經典算法,因其簡單性和良好的收斂性特點而廣受歡迎[5]。然而,隨著環境復雜度的增加以及未知因素的介入,QL算法面臨著一些挑戰。首先,復雜和未知的環境可能會導致訓練次數呈指數級增長,這不僅降低了算法的學習效率,還可能導致“維數災難”[6]。此外,Q- Learning在移動機器人探索環境的初期階段往往面臨著環境認知度低的問題,需要通過頻繁的移動機器人與環境的交互來獲取必要的信息。這一過程不僅耗時,而且很多時候包含了大量非必要的環境探索,從而進一步增加了算法收斂所需的時間。
隨著深度學習技術的迅速發展,深度強化學習成為一個突破性的發展方向,為強化學習領域帶來了新的研究機遇。深度強化學習技術通過將深度神經網絡的自學習和自適應特性與傳統強化學習的試錯學習能力相結合,顯著增強了移動機器人在復雜和動態環境中的感知與決策能力。這種結合不僅優化了算法的性能,還提高了其適應新環境的靈活性和效率。因此,深度強化學習已經成為移動機器人技術,尤其是在自動導航和任務執行方面,不可或缺的核心技術之一。
目前,深度強化學習算法如DQN和DDQN已被廣泛應用于移動機器人的路徑規劃中,并在實際場景中顯示出了良好的效果。面對復雜環境下算法收斂速度慢的挑戰,一些研究者已經采取了創新的策略來改進算法。
周治國等針對DQN算法在大范圍復雜環境中收斂速度慢的問題進行了改進。他們在DQN網絡中加入了一個LSTM模塊來保存信息,并通過在經驗池中設置閾值篩選樣本,該方法有效加快了算法的收斂速度[7]。Lv等人通過創建一個體驗價值評估網絡來提高DQN算法在學習初期的收斂速度、規劃成功率和路徑精度,并引入一種平行探索結構,以增加經驗池的廣度和多樣性,從而提高算法的成功率,特別是在路徑徘徊現象發生時[8]。Zhang等人為了提升DDQN算法在訓練過程中估計目標Q值的準確性,引入了多步引導策略,使用連續多步與環境交互獲得的獎勵來代替單步獎勵。此外,他們還采用了經驗分類訓練方法,將經驗分為兩個池,并通過訓練損失來更新兩個經驗池的抽樣比例,從而提高算法性能[9]。孫傳禹等人在解決DDQN算法中的探索效率低和規劃不平滑問題上,結合人工勢場優化獎勵函數,顯著提高了算法在動態環境下的效率[10]。
盡管上述研究在一定程度上改善了深度強化學習算法在移動機器人路徑規劃中的性能,但在復雜和未知環境下尋找最優路徑仍然是一個挑戰。因此,為解決上述問題,本文提出一種基于動態排序的優先經驗回放機制以及動態獎勵的雙重深度Q網絡(PR- DDQN) 。該算法對原DDQN算法的經驗回放機制進行優化,采用動態排序優先回放那些對學習更有價值的經驗,以提高樣本的利用效率。同時,對獎勵函數機制進行了優化,通過動態調整移動機器人每一步的獎勵值,加速算法的收斂速度。
1 模型設計
1.1 DDQN 算法
DQN(Deep Q-Network) 算法是由DeepMind 團隊開發的一種創新性技術,它巧妙地結合了強化學習與深度神經網絡。DQN算法通過使用深度學習來處理復雜環境中的高維數據,有效地解決了傳統方法在復雜環境下遇到的維度爆炸問題[11]。其模型結構如圖1 所示。DQN算法基于Q-Learning算法,利用神經網絡代替Q表,通過公式(1) 函數近似Q值,從而充分發揮深度學習面對高維數據時的優秀處理能力。
式中,w 為學習參數,更新神經網絡參數w 的關鍵在于用損失函數來測量預測的Q值與實際Q值之間的差異。而損失函數通常定義為這兩者差異的平方,即(預測Q?實際Q) 2,通過最小化這個損失函數,優化參數w,從而使得預測的Q值更加接近真實的Q值。
在DQN算法中,主要涉及兩個神經網絡:主網絡和目標網絡,它們的結構相同,但功能和更新方式有所不同。
主網絡在DQN中扮演著至關重要的角色。它的主要任務是根據當前環境的狀態,估計各個行動的Q 值。Q值是一個評估指標,用于預測在當前狀態下執行特定行動可獲得的未來累積回報的期望值。通過這些Q值,算法能夠選擇最有可能最大化未來回報的行動。主網絡通過反復學習狀態到行動的映射關系,從而能夠在復雜或未知環境中做出智能決策。
與主網絡相對的是目標網絡,目標網絡的參數更新方式與主網絡在每次訓練迭代中不同。目標網絡是在固定的時間間隔后,直接從主網絡復制參數而來。這種延遲更新的方法有助于穩定學習過程,它減少了估計Q值時目標值和實際動作值之間的相關性和波動,從而使訓練更加穩定。
在深度強化學習中,特別是在DQN算法里,經驗池(experience replay pool) 的概念扮演了核心角色[12]。經驗池是一種數據結構,用于存儲和回放過去的經驗,以輔助訓練過程。每個經驗樣本包括4個部分:當前狀態(s) 、采取的動作(a) 、接收到的獎勵(r) 和執行動作后的新狀態。這些樣本被存儲起來供未來學習使用。
經驗池的主要優勢在于其能夠打破經驗樣本間的時間序列相關性,這是通過隨機抽樣實現的。從池中隨機抽取樣本進行訓練有助于模型避免對最近遭遇的狀態或動作過度擬合,從而更全面地學習和利用歷史經驗。這種方法不僅增強了訓練數據的多樣性,還有助于改善學習算法的穩定性和效率。經驗池示意圖如圖2所示。
在傳統的DQN算法中,神經網絡為每個可能的動作輸出一個狀態價值,決策時通常選擇Q值最高的動作。然而,在現實應用中,例如移動機器人,不應僅追求局部最優動作(最高Q值),而應考慮全局最優解。這就暴露了DQN中的一個問題,即Q-Learning的依賴性問題:算法可能過度依賴當前的估計值,而忽略了動作的真實價值。
為了解決這一問題,研究者們引入了雙重深度Q 網絡(Double Deep Q-Network,DDQN) 算法。DDQN采用兩個神經網絡,分別用于估計當前狀態下所有可能動作的價值。通過引入目標網絡,減少了對當前估計值的依賴,從而提高了算法的魯棒性和穩定性,有效地避免了過度估計的問題。DDQN與DQN的網絡結構非常相似,但它們使用不同的目標函數來更新網絡權重,如公式(2) 和公式(3) 所示:
DDQN通過引入兩個獨立的網絡,一個用于選擇動作,另一個用于評估該動作的Q值,有效地減少了估計偏差,從而提高了算法在各種環境下的穩定性和性能。
1.2 經驗池設計
在DDQN算法中,經驗回放是一個重要的機制,旨在打破樣本之間的相關性,因為移動機器人在學習過程中收集的數據是時間序列數據[13]。通過隨機抽樣樣本數據,可以更好地提高樣本數據的利用率。盡管隨機抽樣可以降低數據之間的關聯性,但在進行隨機抽樣時,是以相同的概率來抽取樣本的,而每個樣本的重要性并不相同。損失函數較低的數據重要性較低,而損失函數較高的數據重要性較高。如果以相同的概率來抽取樣本數據,將導致在訓練過程中浪費大量時間在重要性較低的樣本數據上,從而降低算法的效率。因此,對于樣本數據進行加權抽樣是很重要的,以確保在訓練過程中更多地關注重要性較高的樣本。
針對以上問題,對原算法的經驗回放機制進行了優化,采用了基于動態排序的優先經驗回放機制,并利用時間差分誤差(Temporal Difference error,TD er? ror) 來更新神經網絡參數。TD誤差能夠更準確地反映神經網絡在當前狀態下的預測準確度與實際獎勵之間的差距,進而更有效地指導網絡參數的更新,從而提高移動機器人的行為性能。TD誤差的計算公式如下:
當TD誤差越大時,表示當前狀態下值函數與TD 目標之間的差距較大,這意味著網絡需要進行更大的調整以逼近真實的獎勵情況。因此,較大的TD誤差會導致網絡參數更新的幅度增加,從而提高了該狀態處的學習效率。通過優先選擇TD誤差較大的經驗進行回放,可以更有效地訓練網絡,使其更快地學習到環境的特征和獎勵信號。
因此,采用了基于排序的方式進行優先級判斷,即Pαi由δi 來決定優先級。通過將經驗按照TD誤差的大小進行排序。公式如下所示,其中randi 根據 δi 的絕對值排序得到:
若一個樣本的TD誤差為δi,則這個樣本被采樣的概率可以表示為:
式中,α 用于調節抽樣樣本的優先級程度,當α 接近為0時,退位均勻采樣,即所有樣本的概率相同。當α 為1時,為貪婪策略取樣,Pαi為優先級大小。
為了提高算法的效率,進行動態調整參數,即隨著時間的推移逐漸降低TD誤差和重要性的權重系數,以使經驗的優先級逐漸趨于平衡。計算公式如下:
α0 是初始的權重系數,t 表示當前的學習步數。隨著學習步數的增加,經驗的優先級逐漸趨于平衡或者更加集中于當前網絡無法準確預測的經驗。這意味著隨著移動機器人不斷地學習和經驗積累,優先級采樣機制會逐漸調整,以更好地適應環境和網絡的學習狀態。
1.3 獎勵函數設計
正確設置獎勵函數對于引導移動機器人執行期望的行為并懲罰不當行為至關重要。在DDQN算法中,獎勵值通常是一個靜態常數,導致移動機器人在探索階段進行隨機搜索,從而增加了算法的收斂時間。
為了加速移動機器人找到目標點的速度,本文對獎勵函數進行了優化。通過使移動機器人越接近目標點,所獲得的正獎勵越高,引導移動機器人更快地學習到正確的行為,從而進一步提高路徑規劃的成功率。
若移動機器人的目標點坐標為T(xt,yt),移動機器人當前坐標為L(xL,yL),則可以計算出移動機器人當前位置和目標位置的歐式距離d,計算公式如公式(8) 所示。將計算出的數據作為啟發因子? ={d0,d1,d2,d3},每次進行動作選擇時選擇啟發因子最小的值,從而啟發式引導移動機器人移動,并得出改進后的獎勵函數R,如公式(9) 所示。
2 實驗仿真與分析
為驗證算法的可行性,采用柵格法建立了仿真環境,如圖3所示。在該仿真環境中,內嵌入不同形狀的方塊表示移動中的移動機器人,內嵌入不同形狀的圓形表示對應機器人需要到達的目標點,黑色區域表示障礙物即禁行區域,白色區域表示可移動區域。
為了更好地驗證PR-DDQN算法可行性,采用消融實驗,分別對DDQN、僅加入優先經驗池的PE- DDQN、僅加入改進獎勵函數的RE-DDQN以及最終改進算法PR-DDQN 進行實驗。
DDQN和PE-DDQN算法在仿真實驗中采用的獎勵函數如下:
同時,為更直觀地對比算法收斂速度,本文收集了TD誤差數據并對其進行分析,以驗證算法效率。
圖4展示了各個算法的TD誤差對比圖,橫坐標為探索步數,縱坐標為TD誤差數值。通過對比示意圖,可以觀察到不同算法在達到穩定狀態的步數上存在差異。例如,DDQN算法約在9 500步左右開始趨于穩定,而PE-DDQN約在8 000步左右趨于穩定,RE- DDQN 約在5 500 步左右趨于穩定,PR-DDQN 約在4 500步左右趨于穩定。因此,可以得出PR-DDQN算法的性能要優于其他3種算法。
3 結論
針對傳統的DDQN算法在路徑規劃中探索效率低、收斂速度慢的問題,本文提出了PR-DDQN算法。在該算法中,對經驗回放機制進行了優化,采用了動態排序的優先經驗回放機制,以提高實際樣本的利用率,從而提高算法的學習效率和性能。同時,優化了原算法的獎勵函數機制,通過動態調整移動機器人每一步的獎勵,加速算法的收斂速度。
最后,通過消融仿真實驗和數據分析,證明了PR-DDQN算法的有效性和高效性。實驗結果表明,在路徑規劃任務中,PR-DDQN 算法相較于傳統的DDQN算法,在探索效率和收斂速度上都取得了顯著的提升。這表明提出的PR-DDQN算法在解決路徑規劃問題上具有較高的性能和實用性,為移動機器人在復雜環境下的行為學習提供了有效的方法和工具。