司彥娜,普杰信,孫力帆,2
1.河南科技大學 信息工程學院,河南 洛陽 471023
2.電子科技大學 信息與通信工程學院,成都 611731
2016年3月,來自Google公司的AlphaGo[1]向韓國職業九段棋手、圍棋世界冠軍李世乭發起挑戰,并最終以4∶1的總比分獲勝。此次人機大戰的勝利,使AlphaGo成為第一個打敗圍棋職業選手,戰勝世界冠軍的人工智能程序。同時,其背后的核心算法吸引了社會各界的廣泛關注,也引發了全球對高級人工智能的熱烈討論。
簡單來說,AlphaGo使用了一種結合了深度學習(deep learning,DL)和強化學習(reinforcement learning,RL)兩種機器學習技術的新方法——深度強化學習(deep reinforcement learning,DRL)。其中,前者作為感知部分,用于觀察棋盤,從環境中獲取狀態信息,為智能體的行為選擇提供依據;后者作為決策部分,根據當前狀態決定落子位置,并基于預期回報評估動作價值。這種“感知+決策”的組合,與人類的學習行為十分接近,被視為人工智能領域有史以來最成功的范式之一,被迅速應用于各種領域。
近年來,得益于計算機技術的發展,深度學習的相關研究已經形成了較為成熟的理論體系,實際應用也非常廣泛[2-4]。而強化學習的發展相對較慢,自20世紀80年代以后,逐漸出現在機器學習研究領域中,伴隨著AlphaGo的大獲全勝,再度引起學界重視,并取得了一定的進展[5-7]。
整體來看,強化學習過程中,沒有任何預先給出的標簽數據或教師信號,智能體通過與環境的不斷交互來獲取外部信息,然后根據環境的反饋信號調整自身的行為。這種“trial and error”的學習方式,通過實踐累積經驗,以達到學習目的,特別適用于缺少先驗知識或高度動態化的復雜優化決策問題。因為在智能系統的設計過程中,面對復雜、未知的環境,獲得模型參數和教師信號往往比較困難或者根本無法實現,如果智能體具備一定的自主學習能力,就能在缺乏信息和知識的情況下依靠自身繼續完成任務。
然而,傳統強化學習算法針對有限的離散空間,狀態或狀態-動作對的有關信息采用表格的形式進行存儲和計算,當面對大規模、連續空間任務時,表格型強化學習無法有效求解,離散化處理也可能遭遇維數災難(curse of dimensionality)。為此,研究人員利用函數逼近思想,對價值函數或策略函數進行近似表達,通過學習逼近器參數間接獲得最優策略,形成了近似強化學習方法。并且,其中部分成果在實際應用中取得了優秀的學習表現,例如資源優化調度[8-9]、醫學實驗[10-11]、機器人控制[12-13]、工業過程控制[14]、金融投資[15]等。
近年來,隨著信息技術的進步和機器學習理論的不斷完善,近似強化學習研究也得以迅速發展。然而,公開的成果雖然很多,相關的綜述卻大部分集中在深度強化學習方面,相對比較片面。鑒于此,本文對近似強化學習有關的算法進行較為全面的分類梳理,重點綜述基于價值函數、基于策略函數及Actor-Critic三類不同的近似方法。通過對各類算法的分析與比較,指出各類算法的優缺點與適用場合,總結出當前存在的若干問題,為后續研究提供參考,以期進一步提高算法性能,并擴展其在實際問題中的應用。
馬爾科夫決策過程(Markov decision process,MDP)是序貫決策問題的數學模型,在系統狀態具有馬爾科夫性質的環境中,用來模擬智能體可能實現的隨機策略和獎勵。
完整的MDP通常由四元組(S,A,P,R)描述,其中S表示有限的狀態集合{s0,s1,…,sT};A表示有限的動作集合{a0,a1,…,an};P表示環境的狀態轉移概率P(s,a,s′);R表示標量獎勵{r0,r1,…,r n}。
在強化學習系統中,智能體是整個系統的學習者和決策者,狀態是對環境信息的描述;動作是智能體對環境的反應;獎勵是環境對動作的評價。如圖1所示,智能體通過觀察環境,根據獲取的狀態信息選擇合適的動作;環境接收到動作,做出相應的反饋,同時轉移到新的狀態;智能體得到環境的獎勵,繼續調整下一步的動作。

圖1 基本強化學習系統Fig.1 Basic reinforcement learning system
智能體和環境在每個時間步相互作用,這種從狀態到動作的映射稱為策略,用π表示,即:

強化學習的目標是尋找最優行動策略,智能體在學習過程中收到的正反饋越多,也意味著學習到的策略越好。因此,將每一步的獎勵值隨時間的加權累積和定義為回報(Return),即:

式中,γ表示折扣因子。
通過最大化長期回報Gt,可以獲得相應的最佳行動策略。為了更好地描述在狀態s處執行策略π時的長期價值,定義此時回報的期望為狀態值函數:

同理,遵循策略π,衡量在狀態s處執行動作a的價值大小可定義為動作值函數:

根據貝爾曼方程(Bellman equation),可對價值函數作如下分解:

類似地,可以得到動作值函數的貝爾曼方程形式:

一般認為,當價值函數最大時,相應的策略即最優策略。因此,最優狀態值函數和最優動作值函數的貝爾曼方程可以分別表示為:

根據環境模型(狀態轉移概率)是否已知,價值函數估計可以分為基于模型(model-based)的方法和無模型(model-free)的方法。
當MDP的環境模型已知,值函數可以通過動態規劃(dynamic programming,DP)算法計算。當前狀態的所有后繼狀態都可以根據狀態轉移概率和行為策略計算得到,直到到達終止狀態。此時,值函數的計算公式為:

在學習過程中,值函數的更新形式通常記作:

當模型未知時,無法計算全部后繼狀態,只能利用實驗和采樣的方式每次獲得一個后繼狀態。蒙塔卡羅算法(Monte-Carlo,MC)算法采用經驗平均代替回報的期望來估計當前狀態的價值函數。每次實驗,從任意狀態開始,到終止狀態結束,視為一個回合(episode)。每次實驗的回報值記為:

經驗平均即對多個回合的結果求平均值,經過K個回合的實驗以后,狀態st處的值函數為:

當K足夠大時,狀態st處的值函數更新過程可以表示為:

式中,α是學習率。
MC算法中用到回報值,只有在每個回合結束以后才能計算,導致學習速度較慢,效率較低。時序差分(temporal difference,TD)算法結合DP算法中的bootstrapping方法與MC算法中的采樣方法,有效克服了這個問題。其值函數更新公式為:

式中,r t+1+γv(st+1)稱作TD目標。
根據以上分析,MC算法使用了價值函數的原始定義,利用回報值估算價值函數;DP算法和TD算法則利用bootstrapping方法對當前值函數進行一步預測。不同的是,DP算法針對模型已知的問題,直接利用狀態轉移概率計算后繼狀態,而TD算法使用實驗采樣的方法得到后繼狀態。
在處理復雜的強化學習問題時,需要應對連續的狀態或動作空間,經典強化學習算法難以獲得理想的學習效果。為了應對此類問題,近似強化學習方法利用函數逼近的思想對價值函數或策略函數進行近似表達,通過學習逼近器參數間接獲得最優策略。本章將分別總結值函數近似方法和策略梯度方法,其中前者適用于連續狀態空間,后者適用于連續動作空間。
基于價值的近似方法利用線性或非線性函數對價值函數進行參數化表示,通常情況下,價值函數的近似形式可以表示為:

式中,w為逼近器參數。
根據逼近器的結構特性,值函數近似方法可以分為線性近似和非線性近似兩種。其中,線性近似方法采用一組特征基函數和一個參數向量的線性乘積來近似表示價值函數,原理簡單,易于實現。
Bradtke等[16]最先提出了基于線性最小二乘(least squares,LS)逼近理論的時序差分算法(LSTD)及其遞歸版本(RLSTD),從訓練經驗中提取更多信息,提高了學習效率。Xu等[17]在此基礎上引入資格跡,提出了基于遞歸最小二乘的多步時序差分算法RLS-TD(λ),利用資格跡提高數據的使用效率,進而加快收斂速度。
LSTD在固定策略下學習狀態值函數,無法在缺少底層過程模型的時候進行動作選擇和控制,Lagoudakis等[18]為此提出了最小二乘策略迭代(least-squares policy iteration,LSPI)算法,允許在沒有模型的情況下隨機選擇動作,并進行增量式策略改進。然而,該算法對Q值函數估計不足,且只適合off-line情況。因此,Busoniu等[19]提出了在線最小二乘策略迭代(online LSPI)算法,每經歷幾次轉換就可以更新一次策略,并且在線收集樣本,增強了對未知動作的探索。此外,周鑫等[20]提出了批量最小二乘策略迭代(batch least-squares policy iteration,BLSPI)算法,從經驗數據中提取出更多有用信息,進一步提高了樣本的利用效率,加快了收斂速度。
以上算法中,特征基函數需要人為選取,對先驗知識依賴性較強,具有一定的局限性。為解決這個問題,程玉虎等[21]提出一種基于狀態-動作圖測地高斯基的策略迭代強化學習方法,利用基于近似線性相關的核稀疏方法自動選擇測地高斯核的中心,但該方法僅適用于動作值函數逼近。Song等[22]提出了一種基于梯度校正的最小二乘時序差分算法(LS-TDC),利用核方法自動選擇特征向量,并通過近似線性相關分析實現核的稀疏化。季挺等[23]提出一種基于狀態聚類的非參數化近似廣義策略迭代增強學習算法(NPAGPI-SC),利用delta規則和最近鄰思想在學習過程中自適應地調整逼近器。
此外,當特征數量很大時,LSTD算法會對數據產生過擬合,并且計算成本升高。文獻[24]提出了一種正則化框架克服這些困難,并針對L1正則化LSTD不能表示為凸優化的問題,利用一種類似于最小角度回歸(least angle regression,LADS)算法的高效算法計算最優解。文獻[25]則引入L2范數懲罰項克服過擬合,同時利用遞歸算法消除矩陣逆操作,有效降低了算法的計算復雜度。
總體看來,基于線性逼近的方法易于理解且具有可靠的收斂保證。但是,特征基函數的選取,大多依賴先驗知識或通過反復試湊確定,缺乏自動構建的能力。當面對復雜問題時,特征基函數選擇不當可能導致精度不夠或計算冗余等問題。根據以上分析,表1總結了部分典型線性值函數近似算法及其優化算法的基本原理和優缺點。

表1 線性值函數近似方法比較Table 1 Comparison of linear value function approximation methods
與線性函數逼近相比,非線性逼近方法種類更多,并且逼近能力更強,實際應用更加廣泛。在近似強化學習中,通常采用模糊推理系統(fuzzy inference system,FIS)、人工神經網絡(artificial neural network,ANN)等非線性值函數逼近算法。
其中,Kim等[26]將模糊推理系統與Q學習相結合,提出了模糊Q學習(fuzzy Q-learning,FQL),利用有限的模糊變量描述連續狀態和動作空間,通過與環境的交互產生模糊規則,而不需要對環境有先驗的認識。Shi等[27]將模糊Q學習方法用于欠驅動的無人機系統,設計了一種解耦控制器,利用Q學習進行自適應伺服增益調整,同時采用模糊方法調整學習速率,實現了無人機的穩定控制。Derhami等[28]首次提出了模糊Sarsa學習(fuzzy Sarsa learning,FSL),證明了其在平穩策略下的收斂性,并且實驗證實FSL比FQL的學習速度更快。文獻[29]提出了一種可解釋模糊強化學習(interpretable fuzzy reinforcement learning,IFRL)的新方法,使用最新的模糊系統逼近狀態-動作值函數,在線生成易于理解的規則,并采用Sarsa(λ)算法更新規則,多個任務表明該算法具有更少的參數和更快的收斂速度。
模糊推理原理簡單,容易理解,實際應用效果較好。但是,其結構單一,模糊規則的制定具有一定難度,并且直接影響學習效果。與模糊邏輯相比,人工神經網絡具有多種結構,相關逼近算法的應用更加廣泛。因此,在近似強化學習研究中,神經網絡是最為常見的一種函數逼近器。
其中,劉智斌等[30]融合資格跡與反向傳播(back propagation,BP)神經網絡,實現了強化學習過程的多步更新,并利用改善的殘差梯度法更新權值,同時保證學習速度與收斂性能。Zhang等[31]針對強化學習效率低下的問題,提出了一種基于RBF網絡和啟發式Q學習的RNH-QL方法,用于大規模狀態空間的路徑搜索,表現良好。Pan等[32]將極限學習機(extreme learning machine,ELM)應用于Q學習,并引入滾動時間窗口,在一定程度上減小了樣本空間的大小,提高了學習速度。張耀中等[33]將多層脈沖神經網絡與強化學習算法結合,提出憶阻脈沖強化學習(memristive spiking reinforcement learning,MSRL),顯著增強了智能體的學習能力和效率。此外,閔華清等[34]采用小腦模型神經網絡(cerebellar model articulation controller,CMAC)擬合值函數,并利用Bellman誤差的變化趨勢實現狀態自動劃分。季挺等[35]利用CMAC逼近值函數,同時結合初始劃分和拓展劃分確定CMAC狀態劃分方式。
基于淺層神經網絡的近似強化學習在相對簡單的控制任務中表現較好,但神經網絡的整體性能受神經元個數與網絡層數的限制。相比之下,深度學習的表達能力更加突出。將深度學習良好的感知能力與強化學習的決策能力相結合,可以為復雜系統的決策問題提供新的解決思路。
2015年,Mnih等[36]首次提出了深度Q網絡(deep Q-network,DQN),通過引入經驗回放機制同時構建獨立的目標網絡,直接由高維感知輸入學習到成功的策略,實現了端到端的學習,應用于Atari游戲,取得了巨大成功。但是該算法仍然存在一些不可避免的問題,例如Q值過估計,樣本利用率低,學習穩定性差等。因此,Hasselt等[37]提出了Double DQN算法,使用不同的網絡進行動作選擇和價值評估,且兩個網絡的參數獨立訓練,有效緩解了Q值估計偏高導致的非最優解和學習過程穩定性下降的問題。Schaul等[38]則提出了經驗優先回放(prioritized experience replay,PER),根據重要程度對經驗進行重復利用,打破了數據之間的強相關性,樣本利用效率提高的同時學習效率也得到較大的提升。但該算法依舊只適合離散動作空間,并且存在價值低估的風險。
上述DQN相關算法的改進,重點在于融合新的改進機制,并未對網絡結構或RL控制算法有較大的改動。所以,Wang等[39]提出了一種更適合無模型RL的神經網絡體系結構——Dueling DQN,將Q值函數逼近器分割為狀態價值函數逼近器和與狀態相關的動作優勢函數逼近器,分別學習狀態和動作兩個層次的策略。雖然算法性能有所提升,但網絡結構變得更加復雜,并且該網絡僅適用于基于動作值函數的算法。Hausknecht等[40]將長短期記憶網絡(long short term memory,LSTM)結合DQN,形成深度循環Q網絡(DRQN),通過時間整合每幀間的信息,可以使用部分觀測信息學習,具有更強的適應性。但單層LSTM網絡的記憶能力有限,在連續性不強的環境中學習效果受到影響。
上述DQN的改進算法從不同角度進行優化處理,雖然在一定程度上緩解了過估計問題,提高了樣本的利用效率,但對離散動作空間的要求并未改變。表2簡要總結了部分DQN系列算法的原理與優缺點。

表2 非線性值函數近似方法比較Table 2 Comparison of nonlinear value function approximation methods
基于策略(policy-based)的近似方法直接對策略函數進行參數化表示,然后利用梯度上升法更新目標函數相對于策略參數的梯度,最終得到最優或局部最優策略,適用于具有連續動作空間的強化學習問題。策略函數的近似表達式可以記作:

式中,θ是逼近器參數。由于策略代表某個狀態下采取任意可能動作的概率,可以將πθ看作概率密度函數,θ決定了策略的概率分布形態。
為了評估策略函數,需要設置一個與參數有關的待優化目標函數,常用的優化目標有以下幾種:
(1)在回合環境中,可以使用初始狀態的價值:

(2)在連續環境中,可以使用平均價值:

(3)或者采用每一時間步的平均獎勵:

式中,dπθ是關于策略πθ的馬爾科夫鏈的平穩分布。
根據策略梯度定理,對于任意可微的策略πθ(s,a),上述任一種目標函數的策略梯度均可以表示為:

在經典策略梯度算法中,利用蒙特卡羅法估算每個時間步的狀態價值v(s),策略函數的參數優化采用梯度
上升的方法,則參數更新表達式為:

式中,α表示學習步長,策略πθ通常使用高斯策略、softmax策略等。
常見的策略梯度方法通常屬于隨機策略,輸出為確定狀態下每個可能動作的概率,代表性算法如REINFORCE[41]、GPOMDP[42]等。策略梯度方法在梯度估計過程中,普遍存在方差較大的問題,容易導致策略更新不穩定,收斂速度緩慢。
因此,相關文獻主要針對方差問題進行優化。文獻[43]將方差正則化思想、基于參數的探索及基線減法相結合,直接利用策略梯度的方差作為正則化器來抑制梯度估計的方差,實驗證明能夠提供比非正則化方法更可靠的策略更新,但缺乏相應的理論分析。文獻[44]提出了基于改進的貝葉斯框架的策略梯度方法,使用Hessian矩陣分布調整學習率,同時在計算策略梯度分布時,利用貝葉斯求積方法估計Hessian矩陣分布,以提高貝葉斯策略梯度算法在方差和樣本方面的性能。文獻[45]提出了一種基于信賴域隨機方差縮減的策略梯度優化方法,將隨機方差減少梯度(stochastic variance reduction gradient,SVRG)應用于信賴域優化框架,并從隨機小批量估計引入小的控制噪聲鼓勵參數探索,以獲得更好的樣本效率。
此外,還有一些其他方法用于解決樣本和方差的問題,如期望最大化(expectation maximization,EM)和相對熵(relative entropy,RE)。文獻[46]提出一種基于參數探索的EM策略搜索方法,直接在控制器參數空間進行多次采樣以收集樣本,來克服隨機探索過程中梯度過大的問題,同時利用重要采樣技術以重復使用策略更新過程中收集的樣本,降低采樣成本。文獻[47]為了克服重要性采樣帶來的不穩定性問題,將獎勵加權回歸與自適應重要性采樣技術相結合,提出一種用于直接策略學習的高效數據重用算法。文獻[48]則通過相對熵技術將外部強化信息與直接策略評估聯系起來塑造獎勵函數,防止策略改進過程中損失過多的信息,為尋找最佳策略參數提供更有效的學習。
另一方面,Schulman等[49]著重考慮了更新步長在策略梯度算法中的影響,設計了一種隨機控制策略優化的方法——置信域策略優化(trust region policy optimization,TRPO),通過回報函數分解及平均KL散度約束,保證了回報函數在更新過程中單調不減,算法得以收斂到局部最優或全局最優。然而,使用隨機策略在梯度方向進行搜索,建立在大量采樣的基礎之上,對樣本的數量存在依賴較,計算量也較大。為此,Silver等[50]提出了確定性策略梯度(deterministic policy gradient,DPG)算法,對某個狀態只輸出確定的動作,而不是根據概率分布隨機選擇動作,當動作空間維度較高時,需要的樣本數量更少,梯度估計效率更高。
策略梯度算法解決了值函數算法不能用于連續動作空間的問題,但是其屬于回合制更新,學習速度較慢,并且在梯度估計過程中,方差較大導致的策略更新不穩定難以避免。鑒于此,Barto等[51]結合兩種學習方法,提出了Actor-Critic學習框架,同時估計價值函數和策略函數。如圖2所示,該框架包含了Actor和Critic兩個部分,與單純的策略梯度算法所不同的是,Actor部分參數更新不再使用蒙特卡羅方法估算價值函數,而從Critic部分得到近似后的值函數。

圖2 Actor-Critic算法框架Fig.2 Framework diagram of Actor-Critic algorithm
如此,策略函數的參數更新公式變為:

根據任務需要,也可以選擇動作值函數完成策略函數的參數更新,即:

Sutton和Anderson分別在對AC方法進行了進一步的研究和擴展[52-53]。根據策略更新時所使用的梯度類型,AC方法可分為標準梯度(standard gradient)和自然梯度(natural gradient)[54]。
標準梯度AC方法沒有使用函數逼近技術,僅對狀態進行離散化處理,所以可以利用狀態泛化來提高學習速度。Cheng等[55-56]針對復雜連續系統,在AC框架下,用同一歸一化徑向基函數神經網絡逼近狀態值函數和動作-狀態值函數,網絡的輸入層和隱含層由Actor和Critic共享,并根據任務的復雜性和學習進度自適應調整網絡結構和參數。隨后,Bhatnagar[57]首次將帶函數逼近的AC算法用于折扣成本約束下的MDP問題,算法利用即時擾動隨機逼近法對策略梯度進行估計,并證明了算法對局部最優策略的收斂性及高維參數空間的適用性。此外,文獻[58]針對連續狀態和動作問題,提出了一種基于增量構造RBF網絡的AC方法,利用輸出的歸一化加權和來估計Critic的價值函數,并利用相應基函數接受域的局部TD誤差來更新模型。
由于標準梯度適用于具有單個最小值的損失函數,而實際上,強化學習中的損失函數具有多個局部極小值是不可避免的問題;并且,自然梯度在高維空間中的學習性能比標準梯度更為突出,因此相關的研究和應用成果更多。
第一個成功使用自然梯度的AC算法來自Peters等[59],他們介紹了一種估計自然梯度的通用算法,并證明該算法在倒立擺和人形機器人控制中表現優于標準梯度算法。然而,基于策略梯度的方法往往存在樣本利用率低及收斂速度慢等問題,文獻[60]提出了真實在線增量式自然梯度AC(true online incremental natural Actor-Critic,TOINAC)算法,引入一種新的前向觀點來估計自然梯度,再利用資格跡將自然梯度估計變為在線估計,提高了自然梯度估計的準確性和算法的效率。為了降低策略梯度估計的方差,文獻[61]利用優勢函數參數向量對優勢函數進行線性近似,同時在目標函數中加入L2范數進行正則化,以促進優勢函數和策略的收斂。
另一方面,隨著AlphaGo的成功,基于AC框架的深度強化學習算法在理論和應用方面也取得了較大突破。首先是Lillicrap等[62]將DQN算法和DPG算法結合,提出深度確定性策略梯度(deep deterministic policy gradient,DDPG)算法,采用DQN的方式模擬、訓練策略函數和值函數;同時利用DPG減小樣本依賴,提高計算速度。在使用相同的優化算法、網絡結構和超參數的前提下,DDPG能夠很好地解決20多個模擬物理任務,包括倒立擺平衡、靈巧手操作、雙腿移動和汽車駕駛等經典問題。之后,Scott等[63]提出雙延遲DDPG(twin delayed deep deterministic policy gradient,TD3),利用Double Q-learning的原理,通過選擇兩個critic網絡之中較小的值限制過估計,同時以延遲策略更新減少每次的更新誤差,并證明算法表現優于當時其他同類方法。
此外,Mnih等[64]提出了異步優化AC算法(asynchronous advantage Actor-Critic,A3C),利用計算機的多個線程,并行地執行多個Agent,再將每個Agent的學習成果保存在一個公共網絡,指導后續的學習過程。A3C因為不需要存儲樣本而需要的內存更少,并且避免了批量采集樣本的相關性。在Atari 2600游戲、TORCS賽車模擬、MuJoCo物理模擬及Labyrinth迷宮等實驗環境下的訓練速度遠遠超越DQN等優秀算法。Haarnoja等[65]提出了基于最大熵強化學習框架的離策略AC算法soft Actor-Critic(SAC),該算法通過保持熵最大化盡可能探索所有可能的最佳動作,滿足樣本高效、穩定的學習,實驗證明算法性能優于off-policy的DDPG算法和on-policy的TRPO算法。Schulman等[66]提出了近端策略優化算法(proximal policy optimization,PPO),通過重要采樣技術實現策略離線更新,保留TRPO優點的同時,實現過程更簡單,更通用,且具有更好的樣本復雜度。
標準AC算法可以看作策略梯度算法的延伸,利用值函數近似代替蒙特卡羅方法估算價值函數,將回合制更新變為一步更新,提高了學習速度。因此,一般情況下,將結合AC框架的近似強化學習算法也歸為基于策略的方法。表3總結了部分代表性AC算法的原理及特點。

表3 基于AC框架的算法比較Table 3 Comparison of AC-based algorithms
綜上所述,Value-based方法通過值函數間接學習控制策略,動作的選取易受價值函數逼近誤差變化影響,并且只適用于離散動作空間的強化學習問題。相較而言,Policy-based方法可直接對策略進行表示和搜索,不但具有更為可靠的收斂保證,而且能夠求解高維連續動作空間問題。然而,PG算法在學習中存在策略梯度估計方差過大的問題,收斂速度緩慢甚至難以收斂。AC方法結合了Value-based和Policy-based的優勢,既可以求解連續動作空間問題,拓寬應用范圍;又可以引入狀態值函數減小策略梯度估計的方差,加快收斂速度。
強化學習的靈感來源于動物和人類的學習行為,其學習過程中不需要精確的數學模型,僅依靠環境的獎勵反饋指導動作選擇。在機器人控制領域,利用強化學習可以解決模型未知、缺少先驗知識或高度動態化的優化決策問題。本章主要介紹近似強化學習在各種機器人控制系統中應用進展。
移動機器人包括無人駕駛車輛、飛行器和船舶等,常用于代替人類在復雜且危險的環境中工作,例如資源探索、災難搜救和軍事防爆等[67]。導航能力是移動機器人研究的一個基本問題,通常是指在二維或三維環境中,確定從起點到終點的無碰撞最優或次優路徑。
移動機器人導航大多使用視覺或激光獲取環境信息,然后建立局部或全局地圖,規劃可行路徑。其中,地圖的質量易受傳感器精度和環境噪聲影響,限制了對未知或動態環境的適應能力。而深度強化學習端到端的訓練策略極大地簡化了基于傳感器信息的控制過程,用于移動機器人導航優勢明顯。Tai等[68-69]首次利用DQN算法,以RGB-D傳感器的深度圖像作為唯一的輸入,進行了虛擬及真實的走廊環境中的移動機器人導航實驗,實現了探測和避障能力。隨后,Zhu等[70]在此基礎上提出了能夠泛化到新場景的模型,并將實驗擴展到環境更加復雜的室內,使用真實的機器人驗證了模型的性能。近年來,Lee等[71]利用強化學習方法規劃倉庫環境中的移動機器人行進路徑,并對其進行優化。Samsani等[72]針對復雜擁擠的人群環境,為機器人建立危險區域模型,并分別使用深度強化學習(DRL),長短期記憶強化學習(LSTM-RL)及社會注意力強化學習(SARL)三種方法實現了社交機器人的導航。de Jesus等人[73]以激光測距結果作為輸入,利用DDPG算法輸出連續速度,完成了移動機器人障礙物環境中的導航。
此外,對于特殊形態的機器人,文獻[74]利用DDPG算法控制無人潛水器(unmanned underwater vehicles,UUVs),有效縮小了跟蹤誤差,提高了整體性能。文獻[75]針對無人戰斗機(unmanned combat air vehicles,UCAVs),提出一種連續戰略機動規劃方法,完成了三維動態高空場景中的目標跟蹤,具有較強的魯棒性。文獻[76]提出了一種事件觸發強化學習控制策略,用以克服四旋翼無人機(quadrotor unmanned aerial vehicle,QUAV)動態特性復雜難以精確建模的問題,完成機身穩定和跟蹤任務。
機械臂是一種特殊類型的機器人,比人類更適合重復性高、強度大或工作環境惡劣的任務,在工業裝配、農業采摘、醫療手術等領域應用廣泛[77]。不同于移動機器人導航,機械臂需要通過控制各個關節的角度、速度等,完成連桿的運動規劃,實現對末端位置的跟蹤。
經典的控制方法基于數學模型設計控制器,通過運動學和動力學方程計算關節角度,并且利用各種策略對未建模動態、外部擾動等進行補償。強化學習不需要數學模型,可以直接以關節角度作為控制變量,學習最優控制策略。文獻[78]提出了一種基于核的強化學習控制器,通過核函數抽樣形成新的元組描述機械臂控制,在較小的力/力矩條件下實現更好的跟蹤性能。為了提高工業機器人的性能,文獻[79]提出了一種基于TD3的機械臂運動規劃算法,并采用后驗經驗回放提高樣本效率,用于多自由度機械臂中路徑更加平滑,距離更短。文獻[80]提出了一種基于DDPG的快速、魯棒無碰撞路徑規劃方法,利用循環神經網絡記憶和利用過去的狀態信息,在非結構化的果園環境中,采摘成功率得到較大提高。
特別地,強化學習在多臂系統中的應用也取得了一定的效果。文獻[81]針對空間連體機械臂,設計了基于TD3算法的反饋動力學控制器,利用策略網絡指導每個機械臂在線調整關節軌跡,在捕獲任務中,比傳統控制方法的精度提高42%。文獻[82]基于SAC算法設計了雙臂機器人運動規劃方法,利用兩個網絡分別控制每個的位置和方向,不需要額外的傳感器,有效避免了運動中的碰撞。
整體而言,強化學習用于機器人控制,無需精確的模型,避免了復雜的運動學和動力學求解;結合深度學習強大的表示能力,可以降低對傳感器精度的依賴,簡化控制流程,已逐漸成為新的研究趨勢。然而,在動態、復雜的環境中,盡管強化學習可以使機器人具有一定的自學習能力,同時避免監督學習中存在的標簽數據采集困難、訓練誤差大等問題。但其試錯學習的方式,需要大量的樣本,利用實體機器人采集樣本昂貴且耗時。并且,當前的研究大多采用仿真環境驗證,算法的性能從模擬到實物的遷移效果很難達到預期。
強化學習理論、算法和應用研究在國內外已經普遍開展,并且取得了大量的研究成果,但針對連續空間的近似強化學習方法仍面臨諸多挑戰:
(1)部分強化學習算法經改造后雖然可以克服維數災難,但缺乏可靠的收斂性保證,學習性能比較不穩定。
(2)強化學習算法通過試錯學習最優策略,需要大量的采樣和迭代計算才能得到較好的收斂效果,學習效率有待提高。
(3)利用逼近原理的強化學習算法往往有許多參數需要設置,算法性能易受經驗影響,應用難度較大。
(4)多數強化學習算法都針對某項具體任務設計,難以在不同任務上重復利用,對于訓練代價大的算法,易造成資源浪費。
上述難題影響了強化學習算法的進一步應用和推廣,若不能很好地解決,將不利于實現更高級的人工智能。因此,對連續空間下的強化學習算法進行研究具有重要的理論意義與實際價值。