楊思明,單 征,丁 煜,李剛偉
(1.數學工程與先進計算國家重點實驗室,鄭州 450001;2.中國人民解放軍94162 部隊,西安 710600;3.中國人民解放軍78100 部隊,成都 610031)
近年來,深度學習(Deep Learning,DL)技術不斷發展,憑借深度神經網絡優異的特征表示能力,解決了許多學術界和工業界的難題并取得了重要的研究成果。強化學習(Reinforcement Learning,RL)作為解決序列決策的重要方法,賦予智能體自監督學習能力,能夠自主與環境進行交互,通過獲得的獎勵不斷修正策略。深度神經網絡的引入,使得強化學習取得了很大的進步并衍生出深度強化學習(Deep Reinforcement Learning,DRL)。
深度強化學習近幾年在各領域相繼取得重大突破。在游戲領域:Atari 系列視頻游戲中的智能體使用DRL 算法直接學習圖像像素,表現超越了人類水平;DeepMind 公司開發的AlphaGo[1]戰勝了頂尖人類棋手,最終版的AlphaZero[2]更是經過自學習的方式,戰勝了AlphaGo;騰訊AI Lab 開發的絕悟AI 在《王者榮耀》游戲中擊敗頂尖人類選手[3],又在Kaggle 的足球AI比賽中獲得冠軍[4];Open AI 的AlphaStar[5]在《星際爭霸2》游戲中以5∶0 戰勝了職業選手,展現了AI 在多智能體、復雜狀態動作空間中的優秀表現。在商業領域:Facebook 開源了Horizon 強化學習平臺,用于開發和部署基于DRL 的推薦系統;阿里在雙十一活動中,使用深度強化學習來提高用戶點擊率;Sliver 提出使用深度強化學習構建針對客戶交互的系統[6]。在控制領域,目前已經可以利用DRL 方法實現從現實世界攝像機輸入中學習機器人的控制策略[7-8],例如斯坦福大學使用DRL 方法實現對直升機的控制完成特技飛行,達到了人類同等水平。
本文介紹深度強化學習的發展歷程,結合當前深度強化學習的研究進展,按照研究目標將DRL 方法分為解決高維狀態動作空間任務上的算法收斂、復雜應用場景下的算法樣本效率提高、獎勵函數稀疏或難以定義情況下的算法探索以及多任務場景下的算法泛化能力增強問題4 類,并對DRL 方法的未來發展方向進行展望。
深度強化學習是深度學習和強化學習的結合,深度學習[9]使用表示學習對數據進行提煉,不需要選擇特征、壓縮維度、轉換格式等數據處理方式,擁有比傳統機器學習方法更強的特征表示能力,通過組合低層特征形成更加抽象的高層特征,實現數據的分布表示。強化學習[10]起源于控制論中的最優控制理論,主要用來解決時序決策問題,通過不斷與環境的交互和試錯,最終得到特定任務的最優策略并使得任務累計期望收益最大化。
傳統強化學習的主流方法主要包含蒙特卡洛類方法和時序差分類方法[11-12],前者是無偏估計,方差較大,后者使用有限步數自舉法,方差較小,但會引入偏差。實驗驗證表明,上述方法在高維狀態動作空間任務上效果不理想,甚至算法難以收斂。原因在于上述方法需要先進行策略評估,得到狀態價值函數或動作價值函數信息,再利用值函數信息改善當前的策略。算法使用表格型強化學習方法對值函數進行評估,建立一個表格,對于狀態價值函數,索引是狀態,對于動作價值函數,索引是狀態行為對。值函數的迭代更新就是這個表中數據的更新。對于高維狀態動作空間任務,表格法難以對所有狀態動作對應的值函數進行評估處理。
為解決表格法在處理高維狀態動作空間任務時產生的維度災難問題,研究人員提出使用函數逼近的方法進行預測,利用參數化的方法對于值函數進行近似,近似的價值函數不再表示成一個表格,而是一個具有權值向量的參數化函數,通過調整權值可以得到不同的函數。根據逼近的方法不同,可以分為線性逼近方法和非線性逼近方法。線性逼近方法包括多項式基、傅里葉基[13]、粗編碼、瓦片編碼等方法,優點在于可以收斂到全局最優,缺點在于表示能力有限。由于基函數是固定的,對于復雜的函數,數量太少且形式固定的基函數無法得到較好的逼近效果。非線性逼近方法表現力較強,包括核函數逼近[14]、基于記憶的函數逼近[15]等方法,相比線性逼近方法有了很大進步,但是實驗結果表明對于復雜任務的性能表現仍然不好。直到深度學習的出現,結合了深度神經網絡的強化學習實現了算法效能的大幅提升。
深度強化學習結合了深度學習的結構和強化學習的思想,用于解決決策問題。借助深度神經網絡強大的表征能力去擬合強化學習的任何組成部分,包括狀態價值函數、動作價值函數、策略、模型等,將深度神經網絡中的權重作為擬合參數。DRL 主要用于解決高維狀態動作空間任務,集成了深度學習在特征表示問題上強大的理解能力以及強化學習的決策能力,實現了端到端學習。深度強化學習的出現使得強化學習技術真正走向實用,得以解決現實場景中的復雜問題。最具代表的DQN 算法[16]是在Atari 系列視頻游戲中被提出,通過端到端的方法直接從圖像像素中進行學習,并取得了超過人類選手的成績,至此深度強化學習開始蓬勃發展。
傳統的強化學習方法由于使用表格法進行價值函數評估,對于高維狀態動作空間任務表現不佳。DRL 方法利用深度神經網絡優異的特征表示能力,可以對不同狀態、動作下的價值函數進行擬合。根據優化過程中動作選取方式的不同,又可以分為值函數算法(基于價值的算法)和策略梯度(Policy Gradient,PG)算法(基于概率的算法)。策略梯度算法使策略參數化,將神經網絡的權重參數作為價值函數的參數,能通過分析所處的狀態,直接輸出下一步要采取的各種動作的概率,然后根據概率采取行動,每種動作都有相應的概率被選中。值函數算法輸出所有動作的價值,然后根據最高價值來選擇動作,相比策略梯度算法,基于價值的決策更為準確,只選價值最高的決策,而基于概率的決策則會為每一個可能的動作分配一個對應的概率值。
值函數算法利用神經網絡擬合不同狀態-動作組合的價值函數,深度神經網絡強大的特征提取和泛化能力使得智能體在面對未遇到的狀態、動作組合時,仍然可以較為準確地進行價值函數預測。但由于值函數算法架構設計原因,對于高維動作空間或連續動作空間任務學習效果不理想。
DQN[16]作為重要的值函數算法,使用深度學習模型直接從高維感官輸入中學習控制策略,利用深度卷積神經網絡逼近值函數,并結合經驗回放及目標網絡,極大地提高了價值函數的估計精度和穩定性,并打破了數據間的關聯性。實驗結果證明,在Atari 系列游戲中,DQN 算法在43 項游戲中都取得了超過當時最佳強化學習方法的性能表現,同時在49 項游戲中達到或超過了人類頂尖選手的水平,其中有29 項游戲得分超過75%人類選手的得分。但是,在《蒙特祖瑪的復仇》等獎勵函數稀疏的游戲中表現不佳。DQN 算法作為DRL 中值函數算法的典型代表,后續基于其不斷進行迭代改進,產生了許多重要算法,提升了DRL 值函數算法的實用性,如圖1所示。

圖1 DQN 算法的改進Fig.1 Improvement of DQN algorithm
過估計是DQN 的一大缺陷,使得估計的值函數比真實值函數要大,并且這種過估計的影響會累積,導致所有價值函數估計不準確,從而影響最優策略的學習。為了解決DQN 過估計的問題,Double DQN[17]將動作選擇與值函數評估解耦,有效減少過估計,使得算法更加健壯,對于Atari 系列游戲的得分相比DQN 提高了接近1 倍。但是,Double DQN 容易受到噪聲的干擾,從而影響收斂性能。優先級采樣算法[18]創新地將TD偏差作為重要性考量,確保可以優先重放學習重要的經驗,大幅提高了DQN 學習效率,應用于Atari 系列游戲后,使得其中49 項游戲得分相比單純使用DQN 算法獲得了48%到106%不等的性能提升。Dueling DQN 算法[19]解耦價值函數和優勢函數的學習網絡,提高了對于動作價值函數的預測準確性,并且由于通用性強可以與其他算法相結合。為解決DQN 算法前期值預測函數偏差較大,導致訓練初期速度慢的問題,研究人員提出DQN 冷啟動技術[20],將RL 與監督學習相結合,利用預先準備好的優質采樣軌跡加快模型前期的訓練速度,而該技術的局限性在于過度依賴用于監督學習的經驗軌跡,如果軌跡存在噪聲或樣本過少將會導致算法無法收斂或產生過擬合。
鑒于DQN 算法預測的目標值都是一個動作價值函數的期望值,所能提供的信息量過少,Distributional DQN 算法C51[21]構建模型使得輸出為一個價值的分布估計以獲得相比期望值更多的信息,對于部分可觀察馬爾科夫過程(POMDP),避免了價值函數的混淆,最重要的是該算法保留了價值分布的多模態,使得學習更加穩定,缺點在于C51 在理論上無法保證策略評估過程下,貝爾曼算子在多輪迭代后結果可以收斂,同時也無法保證當所表示的概率分布和樣本集上距離最小時,與真實分布距離也最小。QR-DQN[22]不僅具有以上算法的優點,而且可確保多輪迭代后貝爾曼算子收斂,并減少了超參數的設置,但QR-DQN 對于任務風險不敏感,在高風險任務中表現不佳。IQN[23]通過調節神經網絡容量,調整擬合精度,設置超參數,決定風險偏好。為了增強DQN 的探索能力,使得智能體可以有效探索未知狀態動作對,評估其動作價值函數,研究人員設計Noisy Network[24],使用更加平滑的添加噪聲的方式替代傳統的ε-greedy 方法,使智能體具有更強的探索能力,同時較好地平衡噪聲效果和參數數量并保證目標函數無偏。Rainbow 算法[25]集成了上述所有算法的優點,實驗結果表明,Rainbow算法遠超DQN算法,在Atari 系列游戲中表現超過人類選手,相比DQN 算法性能提升了3倍,相比double DQN 算法提升了2倍。分析并研究這些改進算法對于DQN 的優化程度,優先級采樣算法是對于DQN 改進效果最顯著的算法。
對于離散型動作空間,神經網絡擬合的是一個離散型分布,即執行每種動作的概率。對于連續型動作空間,神經網絡擬合概率密度函數的參數,這就使得策略梯度算法可以很好地處理高維或者連續動作空間的任務,通過優化參數,直接對策略進行更新迭代,使得累積期望回報最大。相比值函數算法,策略梯度算法更簡單、收斂性也更好,缺點在于算法方差較高、收斂速度較慢、學習步長不容易確定,針對以上不足,近年來研究人員提出多種改進思路,如圖2 所示。

圖2 策略梯度算法的改進Fig.2 Improvement of policy gradient algorithm
原始的策略梯度算法將策略參數化,通過采樣一系列軌跡之后,使用策略梯度定理求得參數增量,對參數進行更新。該算法雖然無偏但是方差很大,所以帶有基線的REINFORCE 算法[26]對此進行了改進,引入當前時刻的狀態價值函數作為基線,減小方差,同時仍然可以保證無偏。但是,REINFORCE 算法中狀態價值函數僅作為基線函數,不具備判定器功能,所以方差依舊很大。為進一步減小方差,研究人員提出了使用自舉法的actor-critic 算法[27],使得狀態價值函數不僅用作基線,而且可作為判定器,用于自舉法進行價值預測,大幅降低了方差,并且是完全在線和增量式的,缺點在于引入了偏差。REINFORCE 和actor-critic 算法分別使用蒙特卡洛法和單步時序差分法估計誤差,前者方差很大,但是沒有偏差,后者偏差較大,但是方差很小。兩者都過于極端,為了更好地調和方差和偏差,研究人員提出了GAE(Generalized Advantage Estimation)算法[28],該算法是一種新的獎勵函數設計算法,通過調節超參數可以平衡收益的方差、偏差帶來的影響,廣泛應用于各種策略梯度法的獎勵設計中,缺陷在于為了得到合適的獎勵函數形式,需要對超參數進行精確調整。
為解決策略梯度算法難以確定學習步長的問題,需要找到使損失函數單調非增的最優步長,因此研究人員提出置信域類算法。TRPO 算法[29]引入KL 散度表示新舊策略之間的差距大小,最終可以求解得到一個置信區域內能夠使策略單調提升的最大步長。TRPO減少了訓練時的波動,使得策略單調穩步提升。為了解決TRPO 存在的計算量較大、速度較慢、實現復雜問題,PPO 算法[30]創新地使用Clipped 替代函數,縮小新舊策略的差距,保證形式簡潔。該算法有效降低了實現難度,提升了求解效率,同時依然保證策略單調穩步提升。ACKTR 算法[31]優化置信域類算法并結合克羅內克曲率應用于RL,可大幅減少計算量,使該類算法能夠用于大型模型,但是樣本效率較低。
為加快策略梯度算法的學習速率,研究人員提出確定性策略梯度算法,相比隨機策略梯度算法,一個狀態只對應一個動作,在參數更新梯度計算時,可在最大限度上加快計算速度,減少數據空間和對于樣本的依賴,同時使用離線學習(off-policy)方法彌補探索性差的問題。該類算法需要采樣的數據少,算法效率高,無須在動作空間中進行數據采樣。DPG[32]是最早的確定性策略梯度算法,但DPG 中使用的仍是線性函數近似器,因此性能較差。DDPG[33]對DPG 做了改進,使用actor-critic 架構,通過神經網絡代替線性函數進行值函數預測,同時引入DQN的相關優勢方法大大提升了DPG算法的效能,解決了端到端的策略學習,并且擁有更高的采樣效率。為解決DDPG 對于Q 值的高估,并且在超參數和其他參數調整方面存在脆弱性的問題,FUJIMOTO 等[34]提出TD3 算法,可緩解動作價值高估的影響,并消除方差累計問題,使得訓練過程波動較小,同時避免了DDPG 中可能發生的特性故障,但是TD3參數較多,使用者需要有較好的調參功底。
樣本效率低是DRL 的主要缺陷,為解決該問題,具體思路為:對于無模型類方法使用off-policy 學習;對于model-based方法進行策略學習,本節將對兩種方法進行具體分析。
在線學習(on-policy)和off-policy 的分類是依據產生數據的策略(行動策略)和正在通過訓練來優化的策略(目標策略)是否一致。對于on-policy 而言,行為策略和目標策略是一致的;對于off-policy 而言,使用行動策略產生樣本,存入經驗池,然后使用重要性采樣手段將樣本作用于優化目標策略。智能體在面對一個陌生的環境時,希望學到的動作可以使隨后的智能體行為是最優的,但是為了搜索所有動作,以保證找到最優動作,需要采取非最優的行動,因此在遵循試探策略采取行動的同時學習到最優策略中產生了矛盾。
on-policy 方法不學習最優策略的動作值,而是學習一個接近最優而且仍能進行探索的策略的動作值。off-policy 更加直接,使用多個策略,一個用來學習并最終成為最優策略,另外的策略更具試探性,用來產生智能體的行為樣本。離線方法通過重放不同策略的采樣經驗來優化目標策略,不僅提高了樣本效率,也降低了樣本復雜度,這種思路已經廣泛應用于各種算法,DQN算法以及確定性策略梯度算法都屬于off-policy 方法。
Retrace 算法[35]定義了一種新的重要性采樣算法,可避免方差爆炸問題,同時保證策略改進的安全性,并且有更強的收斂性。ACER 算法[36]利用Retrace 思想,融合對抗性網絡結構和置信域優化方法,在對策略進行有效優化的同時,提高了樣本效率。但在復雜任務中,ACER 并沒有表現出很好的效果,為進一步提高在復雜任務中的采樣效率和訓練效果,SAC 算法[37]創新地引入了energy-based 模型,將熵的概念融入到策略改進中。與其他離線方法相比,該算法更穩定,對于環境探索更積極,采樣效率明顯優于DDPG。實驗結果表明,SAC 在復雜任務上優于DDPG、PPO、TD3 等算法,并且減少了超參數數量。同時,基于off-policy 可建立并行架構,更高效地收集經驗樣本,提高學習速度。A3C算法[38]使用一個多核CPU 實現快速的DRL 訓練,使多個智能體并行地在線程中收集經驗樣本,并異步地將參數更新到全局的模型參數中。該算法極大提升了樣本多樣性,使得學習得到的策略更加魯棒,但是A3C 使用異步方式進行更新,由于策略不同,可能會導致主網絡累計更新效果不是最優。基于A3C 算法,改進得到的同步版本A2C 算法[39]與A3C 差別在于各個環境中智能體僅負責收集經驗數據,然后同步地將經驗傳到主網絡統一進行計算,更新參數。A2C 可使訓練更加協調一致,從而加快收斂。實驗結果證明,A2C相比A3C對于硬件利用率更高,對于相同任務的性能更好,但由于A2C 在經驗收集和策略學習步驟上仍然是串行的,因此效率仍然有提升的空間。IMPALA 算法[40]是一種大規模強化學習訓練算法,融合了A3C 的結構和A2C的思想。IMPALA 將經驗收集和策略學習分開異步運行,并使用V-trace 對off-policy 偏差進行糾正,極大地提高了算法速率、數據效率和穩定性。憑借優化的模型,與傳統agent 相比,IMPALA 可多處理一到兩個數量級的經驗,并且可推廣至超大規模實驗。APE-X 算法[41]屬于分布式架構,在DQN 經驗回放的基礎上進行改進,結構沒有變化,但分布式使用多個actor 來生成數據,擁有更大的經驗回放池,能容納數百個actor 采集的數據,大幅加快了訓練速度。同時,通過不同的并行環境得到不同優先級的經驗回放,提升樣本多樣性,防止過擬合。
off-policy 方法與model-free 結合,使得樣本效率有了很大提高,但是由于不掌握狀態轉移函數和獎勵函數的具體形式,因此所有經驗數據依然依靠與環境交互來得到。為進一步提高樣本效率,研究人員對modelbased 方法進行深入研究,從采樣數據中對環境進行建模,之后在內部通過模擬仿真自動生成大量的樣本數據,使用規劃的手段快速進行策略學習。當前modelbased 方法最大的挑戰就是模型誤差,在數據量很少的情況下,學到得到的模型不準確,而使用不準確的模型預測就會產生更大的誤差。針對此類問題,近年來研究人員提出了許多解決方案,如圖3 所示。

圖3 model-based 方法的發展歷程Fig.3 Development course of model-based method
PILCO 算法[42]將模型誤差納入考慮范圍,建立了概率動力學模型,將不確定性集成到長期的規劃和決策中,提高了算法的魯棒性和樣本效率。PILCO 算法成立的前提是狀態完全可觀和可測。然而,在實際中狀態并非完全可觀,而且觀測值存在噪聲,因此研究人員將濾波器引入到PILCO 算法的執行步和預測步,解決了PILCO 算法中的POMDP 問題[43]。由于PILCO 優化過程僅考慮了當前最優,對于未知模型系統,智能體需要兼顧策略優化與環境探索兩方面的問題,因此提出基于貝葉斯優化的有向探索方法[44]解決該問題。I2A算法[45]建立一種結合model-based 和model-free 的新型體系結構,提高了數據處理效率以及存在模型誤差情況下的算法魯棒性,可在幾乎沒有領域知識的低水平觀測值上直接進行訓練并得到了較好的結果,但僅限于較為簡單的環境。MB-MPO 算法[46]使用元學習的方法學習策略,使得算法可以不依賴于模型的精度,對任意一個模型都具有較好的學習效果,增強了算法魯棒性。
PILCO、I2A 等算法在對復雜的動力學模型建模時不能取得較好的效果,原因在于動力學模型規模較大,并且過長視界的動力學預測進一步加劇了模型的不準確性。MBMF 算法[47]將model-based 方法擴展到具有表達能力的高容量模型,實現了與模型預測控制(MPC)相結合,在復雜任務中實現穩定的動作控制,但由于MPC實時性較差,因此MBMF 一般僅用于為無模型算法通過前期監督初始化,加快初期學習速率。MVE 算法[48]致力于解決視界過長導致的模型不穩定問題,融合了model-based 的短期穩定預估以及model-free 的長期預估,提高預測值準確率,有效抑制模型預測不準確問題。STEVE 算法[49]改進自MVE 算法,目的是解決MVE 算法手動設置展開步數不準確導致的精度下降問題。算法在不同的視界長度之間進行插值,得到不同視界的加權組合目標值,相比MVE可以更準確地預測目標值。ME-TRPO 算法[50]通過使用多個不同的環境模型進行規劃,減少過擬合現象,使得學習更加穩定。STEVE 與ME-TRPO 算法的共同缺陷在于模型規劃時間較長,速度較慢。
很多任務的反饋是稀疏的,比如走迷宮的任務,只有在走出迷宮時才能得到一個正反饋,其余的動作不會獲得任何正反饋,可見只有在成功完成任務時才會獲得獎勵。如果使智能體隨機進行探索,則將很難得到任何正反饋,并且無法進行有效的策略評估,進而造成無法學到有用的經驗。此外,獎勵函數難以準確定義,即使使用人工方法也很難確定其形式。獎勵函數的定義與總結如圖4 所示。

圖4 獎勵函數的定義與總結Fig.4 Definition and summary of reward function
為解決獎勵函數稀疏的問題,可通過設置內部獎勵及使用分層強化學習方法來增強算法探索能力。
設置內部獎勵的方法將智能體的獎勵分為內部獎勵和外部獎勵,當外部獎勵很稀疏時,就需要使用內部獎勵來激勵指引智能體進行探索。內部獎勵又分為基于curiosity和基于計數,基于curiosity的內部獎勵傾向于探索未知,對預測誤差比較大或是不確定程度比較大的狀態動作對賦予一個較大的內部獎勵值。基于計數的內部獎勵是使用狀態的訪問頻率來衡量狀態的不確定性,傳統方式是定義表格,若遇到相關的狀態,相應的計數就加上1,但如今為了解決高維狀態動作空間任務,表格法已經難以滿足要求。
在基于curiosity 的內部獎勵方面,VIME 算法[51]使用信息增益作為內在獎勵,成功將內部獎勵方法推廣至高維任務中,并通過實驗證明,相比啟發式探索方法,VIME 算法探索能力更強。BURDA 等[52]在僅使用基于curiosity 的內在獎勵的情況下完成了探索,并取得了很好的效果,但該算法和VIME 一樣存在缺陷,當環境出現與智能體無關的隨機性時,智能體會因為始終不能預測下一步的狀態,而在相應的狀態中進行停滯。為了解決該問題,PATHAK 等[53]提出ICM 算法,定義正反兩個模型,通過兩個相反的操作提取圖像中的有用信息,對于環境中無關的信息則能自動忽略,解決了環境噪音對內部獎勵設置的影響。RND 算法[54]通過內部獎勵和外部獎勵靈活結合的方法和網絡結構,對于復雜問題的探索能力顯著提高。ICM 和RND 算法的缺陷在于面對復雜任務時,僅使用探索的手段很難提升效能。
在基于計數的內部獎勵方面,CTS-based Pseudo Counts 算法[55]將虛擬技術引入DRL,使用CTS 模型作為概率模型來估計狀態計數,以此作為衡量不確定性的指標,進而得到內在獎勵。實驗結果表明,該算法可以直接作用在像素游戲中顯著改善探索能力,但穩定性較差。基于上述成果,研究人員將概率模型改為PixelCNN,得到基于PixelCNN 的偽計數方法[56],該方法重新構建了內在激勵形式,使得算法效果更加穩定。由于PixelCNN 模型只能用于圖像,在連續控制中無法使用,并且顯式的概率模型計算復雜,因此TANG 等[57]提出Hash-based Counts 算法,使用自編碼器代表哈希函數,將狀態映射到低維特征空間中,在特征空間中進行計數,加快了算法速度,并且可以應用在連續動作空間中。
分層強化學習(Hierarchy Reinforcement Learning,HRL)方法將一個任務分解設定為一系列小目標,在完成這些小目標的過程中,智能體將不再關注環境本身的反饋。整個架構分為兩部分,頂層負責制定小目標,底層負責完成小目標。頂層被稱為元控制器,負責接收環境的狀態和反饋,并根據這些信息產生小目標。底層被稱為執行器,接收環境狀態和小目標,并根據這些信息產生行動。通過使用HRL 方法使得智能體更容易找到探索方向,加快解決問題的速度,解決稀疏獎勵問題。
H-DQN 算法[58]建立雙層網絡結構,兩層都采用DQN 網絡,在Atari系列游戲和《蒙特祖瑪的復仇》中取得了遠超DQN 算法的成績,但對于《蒙特祖瑪的復仇》做了太多條件設定,使得該算法對于其他任務可能并不普遍適用。RAFATI 等[59]使用增量無監督學習方法和H-DQN 架構開發新的無模型HRL 方法,進一步在稀疏獎勵問題上提高了算法效能。SUKHBAATAR等[60]使用分層自學習算法增強探索能力,同時使得策略能夠不斷自我改進優化。Fun 算法[61]利用上下兩層的架構,定義一個端到端模型,可以很好地解決獎勵函數稀疏問題,但并未較好地解決控制權轉移問題,頂層每步都會發出同步信號,使得子目標容易快速變換,影響底層策略執行。HIRO 算法[62]使用off-policy 的分層強化學習算法,算法思路和Fun 相近,區別在于直接使用狀態觀測值作為目標,并將狀態觀測值的改變量作為高級策略的動作空間,相比Fun 算法提高了下級策略效率和樣本效率,但實驗環境與Fun 算法的實驗環境并不相同,Fun 算法使用視頻作為輸入,而HIRO 算法使用低維輸入,所以并不能證明其在性能上的優勢。optioncritic 架構[63]將頂層策略和底層策略的控制權移交問題轉換為函數學習問題,通過學習跨度不同的子策略,增大模型容量。
獎勵函數是影響學習速率的一個重要因素,如果獎勵函數形式不明確或者獎勵函數設置不合理,難以進行高效學習。但在實際任務中,多數情況的獎勵難以準確定義,沒有準確的獎勵函數,智能體就難以通過迭代手段正確修正自身策略。逆向強化學習(Inverse Reinforcement Learning,IRL)的思路和RL 相反,RL 通常在回報已知的情況下求出值函數和策略,IRL 通過策略求回報,將專家經驗看作最優策略與環境交互得到的結果,智能體做出符合專家經驗的動作獲得高回報,反之獲得低回報,是一種類似監督學習的方式。通過不斷迭代使智能體的策略逼近專家經驗策略,專家經驗一般根據人類處理相關任務記錄得到[63-64]。對于IRL 而言,機制是通過示范策略來反推回報函數,基于設計良好的獎勵函數,智能體便可學習到泛化的策略。
對于一條專家經驗軌跡可以找到許多獎勵函數進行解釋,這就會使得到的獎勵函數不確定,導致學習的策略較差,因此需要對環境反饋信號進行建模。FIRL 算法[64]使用基于邏輯聯結的合成特征,實現非線性反饋信號的建模,之后結合深度信念網絡設計DGP-IRL 算法[65],極大增強了反饋信號的表示能力。
隨著DL 的發展,使用神經網絡對反饋信號進行建模的方法成為主流方法。基于神經網絡的最大熵逆強化學習方法解決了數據噪聲問題。GCL 算法[66]基于最大熵模型,使用神經網絡表示獎勵函數,解決了需要已知動力學模型進行獎勵函數提取的問題,并將逆強化學習方法推廣至高維動作空間任務,解決了現實場景中復雜系統的相關問題。但是,GCL需要先學習獎勵函數后,再利用獎勵函數進行策略優化,實現復雜且效率低下。為解決上述問題,GAIL 算法[67]使用對抗生成網絡來完成逆強化學習,與GCL 算法不同,GAIL 算法可以直接從專家數據中學到策略。目前,GAIL 算法已經廣泛用于各種復雜機械控制任務,但由于對抗性模型不穩定,因此研究人員提出VAIL 算法[68],通過對內部表示之間的互信息進行約束保持訓練穩定性。
當前的強化學習方法都是通過與環境交互,根據獎勵函數動態優化策略。這就造成了策略是與環境緊密相關的,是用來處理單個任務的。然而現實世界問題本質是多模態的,生物大腦的數據處理也是遵循多任務處理策略的。當前算法在環境或目標發生變動后,算法的泛化性較差,制約RL 在實際物理空間任務中的應用。近年來為了解決這個問題,學術界也提出了新的思路。
多任務強化學習本質上是利用前期輔助任務訓練得到的先驗知識,提高面對新任務時的模型效果,核心思想是在不同但相關的源任務和目標任務之間遷移知識,以提高用于學習目標任務的機器學習算法的性能。
多任務強化學習的一種思路是使用多個輔助任務對網絡架構進行訓練,優化任務間共享的網絡結構和參數。之前的學習經驗遷移類似于參數微調,實質上是一種破壞性的過程,會使得原本學習到的策略被遺忘。RUSU 等[69]提出漸進神經網絡,并開發一個能夠在學習過程中將特征層次的每一層納入先驗知識的系統,使得經驗遷移的同時不會遺忘先驗知識,但是缺點在于參數數量、網絡復雜度會隨著任務數量的增加而增加,并且通過輔助任務添加的網絡結構是固定的。PathNet[70]是基于漸進神經網絡開發的一種新型學習網絡,在學習期間使用遺傳算法通過神經網絡進行復制和突變選擇路徑,可以進行靈活連接,同時可以避免災難性遺忘,得到比漸進神經網絡更好的泛化性能,但劣勢在于遺傳算法樣本效率較低,并且收斂速度慢。Policy Distillation方法[71]將復雜模型學習到的特征壓縮為比例更小、速度更快并保持性能不變的簡化模型,可以使用該方法提取智能體策略,用于訓練一個在專家級別上具有較小規模和較高效率的新網絡。Actor-Mimic方法[72]使智能體能夠學習如何同時執行多個任務,將積累的知識推廣到新領域,可被視為通過使用一組相關源任務來訓練單個深度策略網絡的方法。使用Actor-Mimic 訓練的模型可在許多游戲中達到專家級的性能,并可推廣到未訓練過的新任務中。
多任務強化學習的另一種思路是使用基于目標的價值函數。UVFA 算法[73]使用基于目標的價值函數,該價值函數是通用的,可以根據不同的任務目標對當前的狀態進行評價,綜合了狀態和目標的價值函數,有助于泛化到相似但未見過的狀態目標對。這類算法不僅針對狀態進行概括,而且針對目標進行概括,并且可對沒有見過的狀態和目標進行預測,這使得UVFA 可以作用于狀態動作空間大的多任務模型中,使智能體進行多任務學習,但實驗結果表明UVFA 在多類型、高維度狀態動作空間任務中的性能有待提升。UNREAL 算法[74]可看作UVFA 的并行版本,使用并行架構,加入若干無監督輔助任務,任務之間共享一些網絡參數,用于學習更好的表示方式。通過訓練多個面向同一個最終目標的任務來提升行動網絡的表達能力和水平。HER 算法[75]使用基于目標的價值函數建立經驗池,并構建目標空間和狀態空間的映射,高效利用了采樣得到的樣本經驗,不但在多目標任務中完成泛化,而且在一定程度上緩解了稀疏獎勵問題,但該方法的主要限制在于規定了目標和狀態之間的對應關系,狀態維度很低并且有明確的語義。如果狀態維度高或者語義不明確,則不便于基于狀態來制定有語義的目標,這一點可能限制了HER 算法在多任務上的應用拓展。
元學習(Meta-Learning)是近幾年的研究熱點,目的是基于少量無標簽數據實現快速有效的學習模型,使其推廣到在訓練期間從未遇到過的新任務和新環境中。元學習首先通過學習與相似任務匹配的內部表示,為機器提供一種使用少量樣本快速適應新任務的方法。學習這種表示的方法主要有基于模型的元學習(Model-Based Meta-Learning,MBML)和模型不可知的元學習(Model-Agnostic Meta-Learning,MAML)兩類。基于模型的元學習方法利用少量樣本的任務標記來調整模型參數,使用模型完成新任務,該方法最大的問題是設計適用于未知任務的元學習策略非常困難。模型不可知的元學習方法通過初始化模型參數,執行少量的梯度更新步驟就能成功完成新的任務。
元強化學習過程大致可以分為兩步:1)構建inner loop 的快速學習過程;2)設計out loop 的元學習器,使得能夠利用inner loop 的樣本來優化目標。RL2算法[76]的inner loop 部分采用RNN 網絡的隱藏狀態來代表記憶和經驗,核心是使用之前經驗的獎勵,通過訓練神經網絡使得智能體能夠自動學習判斷任務層面的信息,從而加快新任務的訓練過程。RL2無論是在小規模還是大規模實驗中都有優異的表現,缺點在于有時會忘記優化目標,進而無法重用先前先驗信息,因此需要設計更好的outer-loop 算法。為避免在元強化學習中使用手工設計特征,SNAIL 算法[77]基于通用的元學習器架構,將時間卷積和軟注意力相組合。前者從過去的經驗中收集信息;后者用于確定特定的信息,在因果關系上聚集過去經驗中的有用信息,使得學習的泛化性更強。MQL 算法[78]有效回收并利用訓練任務中采集的數據,最大化智能體在當前所有任務上的表現,但算法實現過于復雜,待調參數也很多。與MQL 算法思路不同,MAML 算法[79]的目標不是使智能體在當前所有任務上表現最佳,而是學習一個初始化參數規則,該初始化的參數規則在參數空間中具有對每個任務最優參數解的高度敏感性,使其能夠在一步梯度下降中沿著梯度方向快速達到最優點。MAML 算法優化參數在各個任務上的梯度方向矢量和,并且由于學習的是對于多個任務最敏感的初始化參數位置,可以用于解決各種類型的任務,是一個適應性很強的通用算法,但當前MAML 算法主要集中于解決較為簡單的任務,對于復雜任務的性能表現并不理想。PEARL 算法[80]使用任務編碼方式從前期學習的任務中針對新的任務獲取有效信息,并對新任務的不確定性做出更準確的判斷,提高元強化學習中樣本的利用率。
根據不同的研究目標,本文對DRL 分類情況、算法優缺點和適用范圍進行分析總結,如表1 所示,對于其他不常見的DRL 研究分類,本文不再論述。

表1 深度強化學習方法分類Table 1 Classification of DRL method
近幾年,關于強化學習研究的論文在人工智能領域頂級會議中的錄用數量逐年增加,在2021年ICLR 會議中論文占比僅次于深度學習,位列第二。斯坦福大學AI 實驗室負責人Christopher D.MANNING 等專家都對強化學習的崛起表示認同,也十分看好這一領域的發展前景。筆者認為深度強化學習未來將成為智能決策方向的主流技術,在機器人、自動駕駛、兵棋推演、金融投資等領域都會產生深遠影響。
當前,DRL 算法仍存在諸多挑戰有待解決,例如:在高維狀態動作空間任務中的收斂性能和速度無法保障,難以應用在實時性要求較高的場景中;樣本效率較低,難以應用在采樣成本較高的任務中;高度依賴獎勵函數,如果獎勵函數設計不合理或者難以定義,會使智能體學到不符合要求的策略;泛化性能較低,限制了在復雜任務場景中的應用。針對以上挑戰,筆者認為DRL 未來的研究方向主要包括:
1)提升算法收斂性。off-policy 方法將行動策略和目標策略分開,很好地解決了探索利用困境,并且較高的樣本效率加強了算法收斂性。如何進行有效的重要性采樣是off-policy 方法未來的研究熱點,為保證目標策略可以有效利用行動策略采樣得到樣本,同時要對軌跡進行安全裁剪,避免模型發生較大波動影響收斂,可以考慮將重要性采樣方法結合偏差糾正方法來平衡經驗偏差和方差,保證模型不會發生較大波動。
2)提高算法樣本效率。model-based 方法通過建模可有效提高樣本效率,但是模型誤差導致學習到次優策略的問題依然存在,雖然很多DRL 算法致力于解決該問題,但是仍然不能完全避免模型缺陷,并且當前model-based 方法對于復雜環境應用效果不佳。未來可以考慮研究off-policy 與on-policy 相結合的方法,例如Q-Prop[81]、PCL[82]、trust-pcl[83]等方法通過結合兩種學習方式,兼顧了穩定性和樣本效率。
3)分層強化學習。在獎勵函數稀疏或難以定義的任務中,內在獎勵會受到環境中內在隨機性的影響,逆強化學習使用人類經驗作為樣本,不一定能學到最優的策略,并且泛化性較差,所以逆強化學習發展前景不明朗。未來可以針對分層強化學習進行重點研究,主要集中在3 個方面:(1)自動分層能力,不再受限于由人工進行層次劃分的設定;(2)結合大規模并行架構,使用強大的算力提升學習效率;(3)融合多目標學習和元學習,提高策略的通用性。
4)增強算法適應性。多任務下的策略遷移和元學習可以考慮結合并行架構下不同的模擬環境進行樣本收集和訓練,提高樣本多樣性和訓練速度,例如Distral 框架[84]、Impala 框架[40]和PopArt 框架[85],借鑒遷移學習中神經網絡復用架構,以及基于目標的強化學習算法中提取包含任務目標的價值函數的方法,同時關注神經科學、認知心理學等交叉領域,融合多領域知識優化強化學習算法。
本文對近年來深度強化學習的研究進展進行概述,回顧深度強化學習的發展歷程,依據研究目標對當前主流方法進行分類。在處理高維狀態動作空間任務時,利用值函數算法,通過深度神經網絡近似相應的動作價值函數,并使用策略梯度法,將動作選擇的概率參數化,通過優化參數直接對策略進行更新迭代。在提高算法樣本效率方面,使用off-policy 方法,分離行動策略和目標策略,平衡智能體探索和利用之間的矛盾,并利用model-based 方法,通過學習任務模型來提升算法效率。在面對獎勵函數稀疏或難以表示的任務時,使用基于計數或curiosity 的內部獎勵,引導智能體優化策略,并利用分層強化學習,將任務分解成為一系列小任務,使得智能體更容易找到探索方向,加快學習速度,同時采用逆強化學習方法,以人類經驗為模板進行學習。在提高算法泛化能力方面,多任務強化學習和元強化學習都取得了較好的學習效果。當前深度強化學習技術受到越來越多的關注,并在電子游戲、機械控制、推薦系統、金融投資等諸多領域得到了廣泛應用并取得了大量研究成果,后續將針對深度強化學習算法的學習效率、運行速度、泛化性能等方面做進一步研究。