王雪松 王榮榮 程玉虎
作為一種重要的機器學習方法,強化學習 (Reinforcement learning,RL)采用了人類和動物學習中 “試錯法” 與 “獎懲回報” 的行為心理學機制,強調智能體在與環(huán)境的交互中學習,利用評價性的反饋信號實現決策的優(yōu)化[1].早期的強化學習主要依賴于人工提取特征,難以處理復雜高維狀態(tài)和動作空間下的問題.近年來,隨著計算機硬件設備性能的提升和神經網絡學習算法的發(fā)展,深度學習由于其強大的表征能力和泛化性能受到了眾多研究人員的關注[2-3].于是,將深度學習與強化學習相結合就成為了解決復雜環(huán)境下感知決策問題的一個可行方案.2016 年,Google 公司的研究團隊DeepMind 創(chuàng)新性地將具有感知能力的深度學習與具有決策能力的強化學習相結合,開發(fā)的人工智能機器人AlphaGo 成功擊敗了世界圍棋冠軍李世石[4],一舉掀起了深度強化學習的研究熱潮.目前,深度強化學習在視頻游戲[5]、自動駕駛[6]、機器人控制[7]、電力系統(tǒng)優(yōu)化[8]、醫(yī)療健康[9]等領域均得到了廣泛的應用.
近年來,學術界與工業(yè)界開始逐步注重深度強化學習如何從理論研究邁向實際應用.然而,要實現這一階段性的跨越還有很多工作需要完成,其中尤為重要的一項任務就是保證決策的安全性.安全對于許多應用至關重要,一旦學習策略失敗則可能會引發(fā)巨大災難.例如,在醫(yī)療健康領域,微創(chuàng)手術機器人輔助醫(yī)生完成關于大腦或心臟等關鍵器官手術時,必須做到精準無誤,一旦偏離原計劃位置,則將對病人造成致命危害.再如,自動駕駛領域,如果智能駕駛車輛無法規(guī)避危險路障信息,嚴重的話將造成車毀人亡.因此,不僅要關注期望回報最大化,同時也應注重學習的安全性.
García 和Fernández[10]于2015 年給出了安全強化學習 (Safe reinforcement learning,SRL)的定義: 考慮安全或風險等概念的強化學習.具體而言,所謂安全強化學習是指在學習或部署過程中,在保證合理性能的同時滿足一定安全約束的最大化長期回報的強化學習過程.自2015 年起,基于此研究,學者們提出了大量安全強化學習算法.為此,本文對近年來的安全強化學習進行全面綜述,圍繞智能體的安全性問題,從修改學習過程、修改學習目標以及離線強化學習三方面進行總結,并給出了用于安全強化學習的5 大基準測試平臺: Safety Gym、safe-control-gym、SafeRL-Kit、D4RL、NeoRL,以及安全強化學習在自動駕駛、機器人控制、工業(yè)過程控制、電力系統(tǒng)優(yōu)化以及醫(yī)療健康領域的應用.安全強化學習中所涉及的方法、基準測試平臺以及應用領域之間的關系如圖1 所示.
圖1 安全強化學習方法、基準測試平臺與應用Fig.1 Methods,benchmarking platforms,and applications of safe reinforcement learning
本文結構如下: 第1 節(jié)對安全強化學習問題進行形式化描述;第2 節(jié)對近年來的安全強化學習方法進行分類與綜述;第3 節(jié)介紹5 種基準測試平臺;第4 節(jié)總結安全強化學習的實際應用場景;第5 節(jié)對未來研究方向進行探討;第6 節(jié)對文章進行總結.
安全強化學習問題通常被定義為一個約束馬爾科夫決策過程 (Constrained Markov decision process,CMDP)M ∪C[11],即在標準馬爾科夫決策過程M=〈S,A,T,γ,r〉 的基礎上添加了關于成本函數的約束項C={c,d}.S表示狀態(tài)空間集,A表示動作空間集,T(s′|s,a)表示用于描述動力學模型的狀態(tài)轉移函數,γ表示折扣因子,r:S×A→R表示獎勵函數;c:S×A→R表示成本函數,d表示安全閾值.這種情況下,安全強化學習問題可以表述為在滿足安全約束的情況下,求解使期望回報最大化的最優(yōu)可行策略π?
對于安全性要求嚴格的決策任務,例如自動駕駛[12-13]任務,通常采用硬約束方式,即在所有的時刻都需要強制滿足單步約束.這種情況下 Πc表示為
其中,Π 表示可行策略集.但由于這種約束方式要求過于嚴格,因此通常需要借助模型信息加以實現.
在無模型情況下,軟約束方式有著更廣泛的應用,即對折扣累積成本的期望進行約束,這種情況下 Πc表示為
這種約束方式可以很好地適用于機器人行走[14]、油泵安全控制[15]和電力系統(tǒng)優(yōu)化[16]等任務,但對于需要明確定義狀態(tài)或動作是否安全的任務卻難以處理.為了使軟約束方式更好地適用于不同類型的決策任務,可以將成本函數修改為c:S×A→{0,1},利用成本函數對當前狀態(tài)動作對進行安全性判斷,若安全,則c(st,at)=0,否則,c(st,at)=1,并且在智能體與環(huán)境交互期間遇到不安全的狀態(tài)動作對時終止當前回合.這時,約束項可以表示π產生不安全狀態(tài)動作對的概率,因此經過這樣修改后的軟約束也被稱為機會型約束.機會型約束由于其良好的任務適應性,已被成功應用于無模型的自動駕駛[17]和機械臂控制[18]等任務.
另一方面,離線強化學習[19-20]從一個靜態(tài)的數據集中學習最優(yōu)策略,它避免了與環(huán)境的交互過程,可以保障訓練過程中的安全性.因此,可以將離線強化學習作為安全強化學習的一種特殊形式.離線強化學習考慮一個標準馬爾科夫決策過程M=〈S,A,T,γ,r〉,它的目標是求解使期望回報最大化的最優(yōu)可行策略π?=arg maxπ∈ΠJ(π),與在線方式不同的是,智能體在訓練過程中不再被允許與環(huán)境進行交互,而是只能從一個靜態(tài)數據集B={(s,a,r,s′)}中進行學習.盡管這種方式可以保障訓練過程中的安全性,但分布偏移問題 (目標策略與行為策略分布不同)[19-20]也給求解π?的過程帶來了困難.因此,現如今的離線強化學習方法大多關注于如何解決分布偏移問題.離線強化學習在有先驗離線數據集支持的情況下,借助于其訓練過程安全的優(yōu)勢,已被應用于微創(chuàng)手術機器人控制[21]和火力發(fā)電機組控制[22]等任務.
求解安全強化學習問題的方法有很多,受García 和Fernández[10]啟發(fā),本文從以下三方面進行綜述:
1)修改學習過程.通過約束智能體的探索范圍,采用在線交互反饋機制,在強化學習的學習或探索過程中阻止其產生危險動作,從而確保了訓練時策略的安全性.根據是否利用先驗知識,將此類方法劃分為三類: 環(huán)境知識、人類知識、無先驗知識.
2)修改學習目標.同樣采用在線交互反饋機制,在強化學習的獎勵函數或目標函數中引入風險相關因素,將約束優(yōu)化問題轉化為無約束優(yōu)化問題,如拉格朗日法、信賴域法.
3)離線強化學習.僅在靜態(tài)的離線數據集上訓練而不與環(huán)境產生交互,從而完全避免了探索,但對部署時安全沒有任何約束保證,并未考慮風險相關因素.因此大多數離線強化學習能實現訓練時安全,但無法做到部署時安全.
三類安全強化學習方法的適用條件、優(yōu)缺點以及應用領域對比如表1 所示.下面對安全強化學習的現有研究成果進行詳細綜述與總結.
表1 安全強化學習方法對比Table 1 Comparison of safe reinforcement learning methods
在強化學習領域,智能體需要通過不斷探索來減小外界環(huán)境不確定性對自身學習帶來的影響.因此,鼓勵智能體探索一直是強化學習領域非常重要的一個研究方向.然而,不加限制的自由探索很有可能使智能體陷入非常危險的境地,甚至釀成重大安全事故.為避免強化學習智能體出現意外和不可逆的后果,有必要在訓練或部署的過程中對其進行安全性評估并將其限制在 “安全” 的區(qū)域內進行探索,將此類方法歸結為修改學習過程.根據智能體利用先驗知識的類型將此類方法進一步細分為環(huán)境知識、人類知識以及無先驗知識.其中環(huán)境知識利用系統(tǒng)動力學先驗知識實現安全探索;人類知識借鑒人類經驗來引導智能體進行安全探索;無先驗知識沒有用到環(huán)境知識和人類知識,而是利用安全約束結構將不安全的行為轉換到安全狀態(tài)空間中.
2.1.1 環(huán)境知識
基于模型的方法因其采樣效率高而得以廣泛研究.該類方法利用了環(huán)境知識,需要學習系統(tǒng)動力學模型,并利用模型生成的軌跡來增強策略學習,其核心思想就是通過協(xié)調模型使用和約束策略搜索來提高安全探索的采樣效率.可以使用高斯過程對模型進行不確定性估計,利用Shielding 修改策略動作從而生成滿足約束的安全過濾器,使用李雅普諾夫函數法或控制障礙函數法來限制智能體的動作選擇,亦或使用已學到的動力學模型預測失敗并生成安全策略.具體方法總結如下.
高斯過程.一種主流的修改學習過程方式是使用高斯過程對具有確定性轉移函數和值函數的動力學建模,以便能夠估計約束和保證安全學習.Sui 等[38]將 “安全” 定義為: 在智能體學習過程中,選擇的動作所收到的期望回報高于一個事先定義的閾值.由于智能體只能觀測到當前狀態(tài)的安全函數值,而無法獲取相鄰狀態(tài)的信息,因此需要對安全函數進行假設.為此,在假設回報函數滿足正則性、Lipschitz連續(xù)以及范數有界等條件的前提下,Sui 等[38]利用高斯過程對帶參數的回報函數進行建模,提出一種基于高斯過程的安全探索方法SafeOpt.在學習過程中,結合概率生成模型,通過貝葉斯推理即可求得高斯過程的后驗分布,即回報函數空間的后驗.進一步,利用回報函數置信區(qū)間來評估決策的安全性,得到一個安全的參數區(qū)間并約束智能體只在這個安全區(qū)間內進行探索.然而,SafeOpt 僅適用于類似多臂老虎機這類的單步、低維決策問題,很難推廣至復雜決策問題.為此,Turchetta 等[39]利用馬爾科夫決策過程的可達性,在SafeOpt 的基礎上提出SafeMDP 安全探索方法,使其能夠解決確定性有限馬爾科夫決策過程問題.在SafeOpt 和SafeMDP 中,回報函數均被視為是先驗已知和時不變的,但在很多實際問題中,回報函數通常是先驗未知和時變的.因此,該方法并未在考慮安全的同時優(yōu)化回報函數.針對上述問題,Wachi 等[40]把時間和空間信息融入核函數,利用時-空高斯過程對帶參數的回報函數進行建模,提出一種新穎的安全探索方法: 時-空SafeMDP (Spatio-temporal SafeMDP,ST-SafeMDP),能夠依概率確保安全性并同時優(yōu)化回報目標.盡管上述方法是近似安全的,但正則性、Lipschitz 連續(xù)以及范數有界這些較為嚴格的假設條件限制了SafeOpt、SafeMDP 和ST-SafeMDP 在實際中的應用,而且,此類方法存在理論保證與計算成本不一致的問題,在高維空間中很難達到理論上保證的性能.
Shielding.Alshiekh 等[41]首次提出Shielding 的概念來確保智能體在學習期間和學習后保持安全.根據Shielding 在強化學習環(huán)節(jié)中部署的位置,將其分為兩種類型: 前置Shielding 和后置Shielding.前置Shielding 是指在訓練過程中的每個時間步,Shielding 僅向智能體提供安全的動作以供選擇.后置Shielding 方式較為常用,它主要影響智能體與環(huán)境的交互過程,如果當前策略不安全則觸發(fā)Shielding,使用一個備用策略來覆蓋當前策略以保證安全性.可以看出,后置Shielding 方法的使用主要涉及兩個方面的工作: 1)Shielding 觸發(fā)條件的設計.Zhang 等[42]通過一個閉環(huán)動力學模型來估計當前策略下智能體未來的狀態(tài)是否為可恢復狀態(tài),如果不可恢復,則需要采用備用策略將智能體還原到初始狀態(tài)后再重新訓練.但如果智能體的狀態(tài)不能還原,則此方法就會失效.Jansen 等[43]一方面采用形式化驗證的方法來計算馬爾科夫決策過程安全片段中關鍵決策的概率,另一方面根據下一步狀態(tài)的安全程度來估計決策的置信度.當關鍵決策的概率及其置信度均較低時,則啟用備用策略.但是,在復雜的強化學習任務中,從未知的環(huán)境中提取出安全片段并不是一件容易的事情.2)備用 (安全)策略的設計.Li 和Bastani[44]提出了一種基于tube的魯棒非線性模型預測控制器并將其作為備用控制器,其中tube 為某策略下智能體多次運行軌跡組成的集合.Bastani[45]進一步將備用策略劃分為不變策略和恢復策略,其中不變策略使智能體在安全平衡點附近運動,恢復策略使智能體運行到安全平衡點.Shielding 根據智能體與安全平衡點的距離來決定選用何種類型的備用策略,從而進一步增強了智能體的安全性.但是,在復雜的學習問題中,很難定義安全平衡點,往往也無法直觀地觀測狀態(tài)到平衡點的距離.綜上所述,如果環(huán)境中不存在可恢復狀態(tài),Shielding 即便判斷出了危險,也沒有適合的備用策略可供使用.此外,在復雜的強化學習任務中,很難提供充足的先驗知識來搭建一個全面的Shielding 以規(guī)避所有的危險.
李雅普諾夫法.李雅普諾夫穩(wěn)定性理論對于控制理論學科的發(fā)展產生了深刻的影響,是現代控制理論中一個非常重要的組成部分.該方法已被廣泛應用于控制工程中以設計出達到定性目標的控制器,例如穩(wěn)定系統(tǒng)或將系統(tǒng)狀態(tài)維持在所需的工作范圍內.李雅普諾夫函數可以用來解決約束馬爾科夫決策過程問題并保證學習過程中的安全性.Perkins 和Barto[46]率先提出了在強化學習中使用李雅普諾夫函數的思路,通過定性控制技術設計一些基準控制器并使智能體在這些給定的基準控制器間切換,用于保證智能體的閉環(huán)穩(wěn)定性.為了規(guī)避風險,要求強化學習方法具有從探索動作中安全恢復的能力,也就是說,希望智能體能夠恢復到安全狀態(tài).眾所周知,這種狀態(tài)恢復的能力就是控制理論中的漸近穩(wěn)定性.Berkenkamp 等[47]使用李雅普諾夫函數對探索空間進行限制,讓智能體大概率地探索到穩(wěn)定的策略,從而能夠確?;谀P偷膹娀瘜W習智能體可以在探索過程中被帶回到 “吸引區(qū)域”.所謂吸引區(qū)域是指: 狀態(tài)空間的子集,從該集合中任一狀態(tài)出發(fā)的狀態(tài)軌跡始終保持在其中并最終收斂到目標狀態(tài).然而,該方法只有在滿足Lipschitz 連續(xù)性假設條件下才能逐步探索安全狀態(tài)區(qū)域,這需要事先對具體系統(tǒng)有足夠了解,一般的神經網絡可能并不具備Lipschitz 連續(xù).上述方法是基于值函數的,因此將其應用于連續(xù)動作問題上仍然具有挑戰(zhàn)性.相比之下,Chow 等[48]更專注于策略梯度類方法,從原始CMDP 安全約束中生成一組狀態(tài)相關的李雅普諾夫約束,提出一種基于李雅普諾夫函數的CMDP 安全策略優(yōu)化方法.主要思路為: 使用深度確定性策略梯度和近端策略優(yōu)化算法訓練神經網絡策略,同時通過將策略參數或動作映射到由線性化李雅普諾夫約束誘導的可行解集上來確保每次策略更新時的約束滿意度.所提方法可擴展性強,能夠與任何同策略或異策略的方法相結合,可以處理具有連續(xù)動作空間的問題,并在訓練和收斂過程中返回安全策略.通過使用李雅普諾夫函數和Transformer 模型,Jeddi 等[49]提出一種新的不確定性感知的安全強化學習算法.該算法主要思路為: 利用具有理論安全保證的李雅普諾夫函數將基于軌跡的安全約束轉換為一組基于狀態(tài)的局部線性約束;將安全強化學習模型與基于Transformer 的編碼器模型相結合,通過自注意機制為智能體提供處理長時域范圍內信息的記憶;引入一個規(guī)避風險的動作選擇方案,通過估計違反約束的概率來識別風險規(guī)避的動作,從而確保動作的安全性.總而言之,李雅普諾夫方法的主要特征是將基于軌跡的約束分解為一系列單步狀態(tài)相關的約束.因此,當狀態(tài)空間無窮大時,可行性集就具有無窮維約束的特征,此時直接將這些李雅普諾夫約束(相對于原始的基于軌跡的約束)強加到策略更新優(yōu)化中實現成本高,無法應用于真實場景,而且,此類方法僅適用于基于模型的強化學習且李雅普諾夫函數通常難以構造.
障礙函數法.障礙函數法是另一種保證控制系統(tǒng)安全的方法.其基本思想為: 系統(tǒng)狀態(tài)總是從內點出發(fā),并始終保持在可行安全域內搜索.在原先的目標函數中加入障礙函數懲罰項,相當于在可行安全域邊界構筑起一道 “墻”.當系統(tǒng)狀態(tài)達到安全邊界時,所構造的障礙函數值就會趨于無窮,從而避免狀態(tài)處于安全邊界,而是被 “擋” 在安全域內.為保證強化學習算法在模型信息不確定的情況下的安全性,Cheng 等[50]提出了一種將現有的無模型強化學習算法與控制障礙函數 (Control barrier functions,CBF)相結合的框架RL-CBF.該框架利用高斯過程來模擬系統(tǒng)動力學及其不確定性,通過使用預先指定的障礙函數來指導策略探索,提高了學習效率,實現了非線性控制系統(tǒng)的端到端安全強化學習.然而,使用的離散時間CBF 公式具有限制性,因為它只能通過仿射CBF 的二次規(guī)劃進行實時控制綜合.例如,在避免碰撞的情況下,仿射CBF只能編碼多面體障礙物.為了在學習過程中保持安全性,系統(tǒng)狀態(tài)必須始終保持在安全集內,該框架前提假設已得到一個有效安全集,但實際上學習安全集并非易事,學習不好則可能出現不安全狀態(tài).Yang等[51]采用障礙函數對系統(tǒng)進行變換,將原問題轉化為無約束優(yōu)化問題的同時施加狀態(tài)約束.為減輕通信負擔,設計了靜態(tài)和動態(tài)兩類間歇性策略.最后,基于actor-critic 架構,提出一種安全的強化學習算法,采用經驗回放技術,利用歷史數據和當前數據來共同學習約束問題的解,在保證最優(yōu)性、穩(wěn)定性和安全性的同時以在線的方式尋求最優(yōu)安全控制器.Marvi 和Kiumarsi[52]提出了一種安全異策略強化學習方法,以數據驅動的方式學習最優(yōu)安全策略.該方法將CBF 合并進安全最優(yōu)控制成本目標中形成一個增廣值函數,通過對該增廣值函數進行迭代近似并調節(jié)權衡因子,從而實現安全性與最優(yōu)性的平衡.但在實際應用中,權衡因子的選取需要事先人工設定,選擇不恰當則可能找不到最優(yōu)解.先前的工作集中在一類有限的障礙函數上,并利用一個輔助神經網來考慮安全層的影響,這本身就造成了一種近似.為此,Emam 等[53]將一個可微的魯棒控制障礙函數 (Robust CBF,RCBF)層合并進基于模型的強化學習框架中.其中,RCBF 可用于非仿射實時控制綜合,而且可以對動力學上的各種擾動進行編碼.同時,使用高斯過程來學習擾動,在安全層利用擾動生成模型軌跡.實驗表明,所提方法能有效指導訓練期間的安全探索,提高樣本效率和穩(wěn)態(tài)性能.障礙函數法能夠確保系統(tǒng)安全,但并未考慮系統(tǒng)的漸進穩(wěn)定性,與李雅普諾夫法類似,在實際應用中障礙函數和權衡參數都需要精心設計與選擇.
引入懲罰項.此類方法在原先目標函數的基礎上添加懲罰項,以此修正不安全狀態(tài).由于傳統(tǒng)的樂觀探索方法可能會使智能體選擇不安全的策略,導致違反安全約束,為此,Bura 等[54]提出一種基于模型的樂觀-悲觀安全強化學習算法 (Optimisticpessimistic SRL,OPSRL).該算法在不確定性樂觀目標函數的基礎上添加悲觀約束成本函數懲罰項,對回報目標持樂觀態(tài)度以便促進探索,同時對成本函數持悲觀態(tài)度以確保安全性.在Media Control環(huán)境下的仿真結果表明,OPSRL 在沒有違反安全約束的前提下能獲得最優(yōu)性能.基于模型的方法有可能在安全違規(guī)行為發(fā)生之前就得以預測,基于這一動機,Thomas 等[55]提出了基于模型的安全策略優(yōu)化算法 (Safe model-based policy optimization,SMBPO).該算法通過預測未來幾步的軌跡并修改獎勵函數來訓練安全策略,對不安全的軌跡進行嚴厲懲罰,從而避免不安全狀態(tài).在MuJoCo 機器人控制模擬環(huán)境下的仿真結果表明,SMBPO 能夠有效減少連續(xù)控制任務的安全違規(guī)次數.但是,需要有足夠大的懲罰和精確的動力學模型才能避免違反安全.Ma 等[56]提出了一種基于模型的安全強化學習方法,稱為保守與自適應懲罰 (Conservative and adaptive penalty,CAP).該方法使用不確定性估計作為保守懲罰函數來避免到達不安全區(qū)域,確保所有的中間策略都是安全的,并在訓練過程中使用環(huán)境的真實成本反饋適應性地調整這個懲罰項,確保零安全違規(guī).相比于先前的安全強化學習算法,CAP 具有高效的采樣效率,同時產生了較少的違規(guī)行為.
2.1.2 人類知識
為了獲得更多的經驗樣本以充分訓練深度網絡,有些深度強化學習方法甚至在學習過程中特意加入帶有隨機性質的探索性學習以增強智能體的探索能力.一般來說,這種自主探索僅適用于本質安全的系統(tǒng)或模擬器.如果在現實世界的一些任務(例如智能交通、自動駕駛)中直接應用常規(guī)的深度強化學習方法,讓智能體進行不受任何安全約束的“試錯式” 探索學習,所做出的決策就有可能使智能體陷入非常危險的境地,甚至釀成重大安全事故.相較于通過隨機探索得到的經驗,人類專家經驗具備更強的安全性.因此,借鑒人類經驗來引導智能體進行探索是一個可行的增強智能體安全性的措施.常用的方法有中斷機制、結構化語言約束、專家指導.
中斷機制.此類方法借鑒了人類經驗,當智能體做出危險動作時能及時進行中斷.在將強化學習方法應用于實際問題時,最理想的狀況是智能體任何時候都不會做出危險動作.由于限制條件太強,只能采取 “人在環(huán)中” 的人工介入方式,即人工盯著智能體,當出現危險動作時,出手中斷并改為安全的動作.但是,讓人來持續(xù)不斷地監(jiān)督智能體進行訓練是不現實的,因此有必要將人工監(jiān)督自動化.基于這個出發(fā)點,Saunders 等[57]利用模仿學習技術來學習人類的干預行為,提出一種人工干預安全強化學習 (SRL via human intervention,HIRL)方法.主要思路為: 首先,在人工監(jiān)督階段,收集每一個狀態(tài)-動作對以及與之對應的 “是否實施人工中斷” 的二值標簽;然后,基于人工監(jiān)督階段收集的數據,采用監(jiān)督學習方式訓練一個 “Blocker” 以模仿人類的中斷操作.需要指出的是,直到 “Blocker”在剩余的訓練數據集上表現良好,人工監(jiān)督階段的操作方可停止.采用4 個Atari 游戲來測試HIRL的性能,結果發(fā)現: HIRL 的應用場景非常受限,僅能處理一些較為簡單的智能體安全事故且難以保證智能體完全不會做出危險動作;當環(huán)境較為復雜的時候,甚至需要一年以上的時間來實施人工監(jiān)督,時間成本高昂.為降低時間成本,Prakash 等[58]將基于模型的方法與HIRL 相結合,提出一種混合安全強化學習框架,主要包括三個模塊: 基于模型的模塊、自舉模塊、無模型模塊.首先,基于模型的模塊由一個動力學模型組成,用以驅動模型預測控制器來防止危險動作發(fā)生;然后,自舉模塊采用由模型預測控制器生成的高質量示例來初始化無模型強化學習方法的策略;最后,無模型模塊使用基于自舉策略梯度的強化學習智能體在 “Blocker” 的監(jiān)督下繼續(xù)學習任務.但是,作者僅在小規(guī)模的4×4 格子世界和Island Navigation 仿真環(huán)境中驗證了方法的有效性,與HIRL 一樣,該方法的應用場景仍然非常受限.前兩種方法都是通過 “Blocker” 模仿人類干預來識別危險動作.但通常情況下,人類在遇到任何潛在的危險時,會立即停止行動.受此啟發(fā),Sun 等[59]提出一種解決提前終止馬爾科夫決策過程 (Early terminated Markov decision process,ET-MDP)框架下安全強化學習問題的方法.該方法以最直接的方式處理約束條件: 只要學習策略違反約束條件,就會觸發(fā)提前終止,從而避免不安全行為.進一步引入了基于上下文模型的異策略算法來緩解ET-MDP 求解中的有限狀態(tài)訪問問題.在一系列CMDP 環(huán)境中評估了所提方法,結果表明在約束條件下ET-MDP 的學習效率和漸近性能均有顯著提高.但在某些約束嚴格的場景下,使用提前終止原則可能會失效,導致無法對約束馬爾科夫決策問題進行求解.
結構化語言約束.增強強化學習智能體安全性的另一種方法是借助人類的自然語言表述將抽象的安全標準映射為成本函數或回報函數.在深度強化學習中,有很多任務對應的回報是比較稀疏的,不僅會使學習效率降低,而且易于生成次優(yōu)策略和導致不安全的行為.為此,Prakash 等[60]設計了一種以專家結構化語言生成約束條件的安全深度強化學習框架.主要思路為: 首先,收集由軌跡片段和結構化語言約束構成的數據集;然后,根據是否發(fā)生違規(guī)行為對數據進行人工手動標記;最后,利用該數據集來訓練 “約束檢查器”,這是一種用于在智能體訓練期間提供輔助回報信號的嵌入模型.約束檢查器用以判斷智能體的動作是否與專家意見相沖突,如果發(fā)生沖突則降低相應的回報值.在后續(xù)的訓練過程當中,智能體就更傾向于減小與專家意見的沖突,提高動作的安全性.這項工作的局限性在于: 它需要一種方法來自動生成數據以訓練約束檢查器,或者需要人工來收集和標記數據.先前的安全強化學習方法大都以數學或邏輯形式表達約束,因此需要具備特定的領域專業(yè)知識,而且使用特定安全約束集訓練的策略不易遷移到使用相同約束集的新任務中,面對新任務仍需要從頭訓練.為此,Yang 等[61]通過手工定義的成本函數來強制執(zhí)行安全標準,提出一種基于語言約束的策略優(yōu)化 (Policy optimization with language constraints,POLCO)方法.主要包括兩個部分: 約束解釋器,將自然語言約束編碼為中間向量或矩陣表征形式,用以捕獲禁止狀態(tài)的時空信息;策略網絡,根據約束解釋器輸出的表征形式,利用約束策略優(yōu)化輸出具有最小約束違規(guī)的策略.利用自然語言能夠輕松靈活地指定安全約束,且可以對模塊化約束解釋器進行重用從而適應新任務,但當將這些約束映射到用于安全強化學習的表征形式時,其模棱兩可的性質帶來了較大的挑戰(zhàn),而且,與文獻[60]類似,該方法需要為約束解釋器設置顯式標簽.如果將此類方法擴展到更為復雜的環(huán)境或現實世界中,自動管理此類數據集將不可行,而必須由人工來手動收集,不僅費時耗力,而且很難避免數據的錯采、漏采、錯標以及漏標.
專家指導.專家指導信息可以使得智能體更快地學習到與專家策略相近的策略,從而提高學習的安全性.課程學習的主要思想是模仿人類學習的特點,由簡單到困難來學習課程 (在機器學習里就是容易學習的樣本和不容易學習的樣本),從而有助于模型找到更好的局部最優(yōu),同時加快訓練的速度.Turchetta 等[62]首次將課程學習引入到安全強化學習場景中,提出一種受人類教學啟發(fā)的安全強化學習方法.智能體 (學生)在監(jiān)督者 (教師)的自動指導下進行學習,監(jiān)督者會在智能體開始出現危險行為時選擇不同的重置/干預動作,從而避免智能體在學習過程中違反約束.監(jiān)督者根據智能體的學習進度和行為數據分布,訓練一個決策模型來自動選擇重置/干預動作類型,從而對智能體的課程學習進行自動設計.然而,該方法將安全探索全權交給監(jiān)督者,而監(jiān)督者的好壞需要根據實際數據訓練得到,如何減小監(jiān)督者的樣本復雜度是具有挑戰(zhàn)性的問題.人類初學者在學習駕駛時,通常會有領域專家 (監(jiān)護人)在旁邊對其指導以確保學習過程中的安全性,避免危險事故的發(fā)生.基于該想法,Peng等[63]提出一種基于專家指導的策略優(yōu)化 (Expert guided policy optimization,EGPO)方法.該方法在智能體與環(huán)境的交互中加入了監(jiān)護人機制,通過基于近端策略優(yōu)化 (Proximal policy optimization,PPO)的專家策略來監(jiān)控學習智能體,進一步引入離線強化學習技術,從監(jiān)護人那里收集到部分示范數據以便指導學習.與先前方法相比,EGPO 具有更好的泛化性能和采樣效率.但過多的人工干預會增加成本,為此,Li 等[64]提出了一種高效的人-人工智能副駕駛優(yōu)化 (Human-AI copilot optimization,HACO)方法,將人類融入到智能體與環(huán)境的交互中,保證了安全高效的探索.通過離線強化學習技術將由部分示范中提取的人類知識注入代理值函數,利用最大熵正則化鼓勵人類對狀態(tài)動作空間的探索,同時,最小化訓練過程中的人為干預成本,減小隨時間推移對專家示范的依賴,提高智能體學習的自主性.與EGPO 的不同之處在于,所提方法進一步減少了人類專家干預,設計專門的機制來減小延遲反饋誤差.在實驗設計方面,去除了獎勵函數等冗余設計,使方法更簡單有效.實驗表明,該方法具有較高的采樣效率和安全性保證.但與強化學習基準算法相比,HACO 在訓練后表現過于保守,智能體傾向于緩慢駕駛,在十字路口出現頻繁讓路等行為.綜上所述,專家指導類的方法需要人工干預,監(jiān)督智能體的行為,阻止其探索危險狀態(tài).這種方法能同時做到訓練時安全和部署時安全,但在實際應用中,人工干預的成本也需要考慮在內.
2.1.3 無先驗知識
基于模型的離線強化學習方法需要學習顯式的狀態(tài)轉移函數和獎勵模型.相比之下,無模型方法無需知道先驗狀態(tài)轉移函數和人類知識,而是直接與環(huán)境交互來搜索同時滿足成本約束和最大化回報的策略.常用的方法為將安全約束融入到神經網絡中實現從原始動作到安全空間的投影,或者構建安全函數實現在安全區(qū)域內探索.
基于投影的方法.此類方法旨在訓練過程中確保約束滿足.當智能體生成的動作導致系統(tǒng)離開安全區(qū)域時,則對該動作實施干預并將其投影到系統(tǒng)停留在安全區(qū)域內的最近動作.為使強化學習算法在學習過程中不違反安全約束,Dalal 等[65]直接在策略網絡上增加一個安全層,將原始網絡輸出的動作通過線性映射投影到一個安全集上,從而在訓練期間將智能體約束到受限區(qū)域中,并實現零違反約束的目標.然而,該方法事先假設系統(tǒng)的安全性可通過在單個時間步長調整動作來保證,因而無法確保全局安全性,而且,線性化近似方式可能無法很好地捕獲復雜的環(huán)境動力學模型.朱斐等[66]在原始深度強化學習網絡模型的基礎上額外增加一個深度網絡,提出一種基于雙深度網絡的安全深度強化學習方法 (Dual deep network based secure deep reinforcement learning,DDN-SDRL).其主要思路為: 首先,依據安全性將狀態(tài)劃分為三種類型 (安全狀態(tài)、臨界狀態(tài)、危險狀態(tài));然后,通過建立雙經驗池來分別存放危險樣本 (導致任務失敗的危險狀態(tài)和臨界狀態(tài)樣本)和安全樣本;最后,利用危險樣本對新增的深度網絡進行有針對性的訓練并將訓練結果作為懲罰項來改進原始深度網絡 (由安全樣本池為其提供訓練樣本)的目標函數,能夠有效減少訓練過程中智能體進入危險狀態(tài)的次數,從而在一定程度上增強了智能體的安全性.但是,通過對6 個Atari 2600 游戲上的仿真結果進行分析,朱斐等[66]指出: DDN-SDRL 存在波動范圍大、訓練不穩(wěn)定的現象.上述安全強化學習方法側重于學習過程在原先策略網絡的基礎上添加投影步驟.然而,這類基于投影的方法需要在每個策略執(zhí)行步驟中求解一個優(yōu)化問題,這就可能會導致高昂的計算成本,并且在訓練后去掉投影步驟時無法獲得安全保證.為此,Zheng 等[67]提出了一種新的策略網絡架構,稱為頂點網絡(Vertex network,VN),通過將安全約束編碼到策略網絡架構中,在探索和執(zhí)行階段都能保證安全.VN 中設計了一個新的安全層,算法不解決投影優(yōu)化問題,而是在每個時間步驟計算安全區(qū)域的頂點,并將動作設計為這些頂點的凸組合,允許策略優(yōu)化算法在訓練期間只探索安全區(qū)域內部.數值實驗表明,所提出的VN 算法優(yōu)于基于投影的強化學習方法.約束成本函數類優(yōu)化算法需要處理回報與成本之間的權衡,同時易于陷入局部最優(yōu),限制智能體的探索.為解決這些問題,Marchesini 等[68]并未將安全強化學習問題形式化為約束馬爾科夫決策過程,而是直接將進化算法融入到深度強化學習中,提出安全導向搜索方法 (Safety-oriented search,SOS).該方法定義了安全突變的概念,利用已訪問的不安全狀態(tài)將探索偏向于更安全的動作,并通過定義估計驗證來刻畫訓練過程中的行為,顯著加速驗證過程.在Safety Gym 基準數據集上進行測試,結果表明SOS 成功解決了回報與成本之間的權衡問題,實現了與無約束算法類似的回報值,并使得成本函數值最小,獲得了與約束算法類似的性能.但是,如果估計驗證方法中屬性選取不當,則可能產生無法預料的行為.
構建安全函數.此類方法利用先驗知識建模從當前狀態(tài)到安全狀態(tài)的轉換函數,利用狀態(tài)空間的結構將隨機探索轉變?yōu)榘踩剿?通過引入安全控制和備份的概念,Mannucci 等[69]提出了一種帶有風險感知的安全探索算法 (Safety handling exploration with risk perception algorithm,SHERPA).該算法不需要先驗已知的全局安全函數以及動力學或環(huán)境模型,而是依賴于智能體在探索階段動力學的區(qū)間估計邊界模型,每次都以備份的形式生成一個臨時安全函數,將系統(tǒng)帶到智能體過去已經訪問過的狀態(tài)附近,并搜索滿足接近性條件的策略動作,從而提高安全性.在簡化的模擬四旋翼飛行器任務中顯示了SHERPA 可以有效避免危險狀態(tài).但該算法僅適用于智能體知識有限的強化學習任務,很難推廣至復雜學習任務.傳統(tǒng)的Q 學習通過?-greedy 策略來實現隨機探索,其中決策者通過探索新的Q 值來提高恢復決策的質量.如果沒有隨機探索,Q 學習將無法保證正確收斂,并且可能產生次優(yōu)策略.然而,不受任何限制的隨機探索可能導致算法選擇不安全的動作,這種破壞將對城市基礎設施系統(tǒng)造成毀滅性打擊.為此,Memarzadeh 和Pozzi[70]提出了一種在無模型強化學習中引入基于模型的安全探索方法,稱為安全Q 學習.該方法對問題的狀態(tài)空間結構進行建模,并在Q 學習基礎上添加從當前狀態(tài)到安全區(qū)域的動量函數,從而改進動作選擇策略,使智能體實現安全探索.在幾個基礎設施管理的例子中顯示所提方法比傳統(tǒng)的Q 學習更接近最優(yōu)性能,緩解了隨機探索所帶來的風險.然而與深度Q 學習類似,該方法仍存在訓練不穩(wěn)定和收斂性問題.先前基于高斯過程的方法無法處理非平滑變化的安全問題,為此,Wachi 等[71]利用智能體觀測得到的特征向量來預測安全函數值,并提出了帶有局部特征的安全策略優(yōu)化算法 (Safe policy optimization with a local feature,SPO-LF),能夠在先驗未知環(huán)境中優(yōu)化安全策略.該算法利用廣義線性函數近似學習由傳感器獲得的局部可用特征與環(huán)境獎勵/安全之間的關系,同時優(yōu)化智能體策略.理論證明智能體能以很大的概率獲得一個接近最優(yōu)的策略,同時在每個時間步上保證了安全約束.實驗結果進一步表明,與現有的安全強化學習方法相比,SPO-LF 的樣本復雜度和計算成本方面效率更高,更適用于大規(guī)模問題.然而,該算法在具有連續(xù)狀態(tài)和動作空間的實際應用上仍然有限.
常規(guī)強化學習的目標是最大化長期回報,忽略了危險狀態(tài)對智能體造成的損害.也就是說,常規(guī)強化學習的目標函數中缺少對決策風險或損失的描述.重要的是,為了讓強化學習智能體做正確的事,目標函數必須準確地與想要實現的功能相匹配.如果目標函數設計的不合理,強化學習智能體就很有可能會面臨安全問題.由第1 節(jié)可知,安全強化學習問題可建模為約束馬爾科夫決策過程,然而,由于回報目標函數和成本約束函數對智能體來說均是非凸的,因此求解約束馬爾科夫決策過程問題具有較大挑戰(zhàn)性.為求解約束最優(yōu)化問題,將修改學習目標類方法總結為兩大類: 拉格朗日法和信賴域法.總體思路均為引入風險相關信息,將原先的約束優(yōu)化問題轉化為無約束最優(yōu)化問題進行進一步求解.
2.2.1 拉格朗日法
在求解約束最優(yōu)化問題中,拉格朗日法是最為常用的一種方法.其基本思想為將約束馬爾科夫決策過程問題轉化為無約束對偶問題,方法是對原始目標函數進行懲罰,隱式表示安全約束,通過拉格朗日乘子建立一個無約束的鞍點優(yōu)化問題,將約束問題轉化為無約束問題,然后交替地應用某種策略優(yōu)化 (如策略梯度)對其對偶變量進行更新.因其思路簡單,易于實現,在一些復雜任務中優(yōu)于約束梯度方法,拉格朗日法得以廣泛研究.
Chow 等[72]分別將風險表示為累積成本的機會約束和條件風險值,構造了兩種風險CMDP 問題,并利用拉格朗日乘子法將其轉化為無約束優(yōu)化問題加以求解.該算法證明了其幾乎必然 (依概率為1)收斂到局部鞍點,但算法要求值函數和約束函數精確已知、可微且光滑,該假設條件較為嚴格,實際應用中難以滿足.
以乘子網絡為可行性指標,Ma 等[73]提出了確保狀態(tài)安全的可行演員-評論員 (Feasible actorcritic,FAC)算法.具體而言,算法采用一個新增的神經網絡 (乘子網絡)來近似關于狀態(tài)的拉格朗日乘子,實現從狀態(tài)到乘子的映射,通過狀態(tài)互補松弛條件和乘子網絡的梯度計算來準確指示狀態(tài)的可行性.利用原始-對偶梯度上升法訓練策略和乘子網絡,得到一個確保每個可行狀態(tài)安全的最佳可行策略、不可行狀態(tài)的最安全策略、以及一個表明哪些狀態(tài)不可行的乘子網絡.該算法能確保智能體通過優(yōu)化策略漸近地達到安全行為,但與其他安全強化學習算法一樣,該算法不能提供硬性保證,而且與其他拉格朗日方法類似,FAC 仍存在訓練不穩(wěn)定以及對乘子網絡更新敏感的問題.
傳統(tǒng)的強化學習缺乏一種實用的方法來指定哪些行為是允許的或禁止的,大多數情況下需要利用人類先驗知識設定獎勵函數來規(guī)范行為,而Roy 等[74]旨在通過簡單地指定閾值和指示函數來提供這些知識,而不是要求專家示范或持續(xù)的人類反饋.具體而言,Roy 等[74]將無模型的軟演員-評論員算法(Soft actor-critic,SAC)擴展為有約束的基于拉格朗日的SAC 算法.其中,智能體的期望行為是由給定指標事件的發(fā)生頻率來定義的,將其視為CMDP中的約束.該算法在CMDP 框架中指定行為偏好,在約束集中編碼成功準則,并使用拉格朗日方法自動權衡每個行為約束,其中多約束問題的拉格朗日乘子通過softmax 函數進行了歸一化以提高訓練期間的穩(wěn)定性.總體來說,該算法研究了如何在同時遵守多個約束的情況下調整CMDP 以解決基于目標的任務.該方法可以看作是在不影響收斂要求的前提下,在優(yōu)化過程中放松行為約束的一種方法.
先前的安全強化學習方法大都考慮的是條件值風險約束,針對平均約束,Sootla 等[75]提出了一種使用狀態(tài)增強的安全強化學習方法,稱之為Sauté RL.在具有平均約束的確定性環(huán)境中,當某些初始狀態(tài)的安全成本較高而同時滿足平均約束的其他初始狀態(tài)的成本較低時,可能會導致不必要的影響.所提方法通過確保所有初始狀態(tài)都滿足相同的約束來避免這種情況.該方法將安全約束條件納入到狀態(tài)空間中,對每一個受控軌跡都強制執(zhí)行該約束條件,因此可以依概率為1 地滿足安全約束.此外,該方法滿足貝爾曼方程,并更接近于解決幾乎必然滿足約束的安全強化學習問題.所提方法具有即插即用的性質,可以與現有的很多無模型算法或基于模型的方法相結合.然而,Sauté RL 通過增加約束數量來增強狀態(tài)空間,而理論采樣效率取決于狀態(tài)空間的維度,因此無法適用于高維控制問題.而且Sauté RL 仍然沒有解決訓練過程中的約束違反問題,其成本函數中仍隱含著可能違反安全約束的信息.
Tessler 等[76]利用拉格朗日乘子法將約束作為懲罰信號引入回報函數,提出一種約束型演員-評論員(Actor-critic)方法,稱為回報約束策略優(yōu)化(Reward constrained policy optimization,RCPO).RCPO 采用了多個時間尺度: 在快時間尺度上對critic 進行更新,使用時序差分學習估計帶懲罰的回報函數;在中間時間尺度上對actor 進行更新,使用策略梯度方法學習策略;在慢時間尺度上對拉格朗日乘子進行更新,通過緩慢增大懲罰系數來滿足約束.RCPO 為原始-對偶方法提供了漸近收斂分析,建立了局部收斂保證,確保收斂到不動點,但多時間尺度方法涉及到的多個學習率在實際使用中通常難以調整.
對于采用函數近似的大規(guī)模強化學習問題而言,約束馬爾科夫決策過程的目標函數和約束條件均被建模為關于策略參數的非凸函數.為求解非凸約束優(yōu)化問題,Yu 等[77]直接將非凸函數近似為從策略梯度估計器獲得的凸二次函數,從而轉化為求解一系列凸約束優(yōu)化子問題,提出一種具有收斂保證的約束策略梯度算法.Yu 等[77]證明了這些子問題得到的策略參數幾乎必然收斂到原始非凸問題的駐點.同時,約束強化學習具有零對偶間隙性,這為對偶域中的策略梯度算法提供了理論保障.
違反約束條件在實踐中可能會帶來災難性的后果,如何在不違反約束的情況下實現最優(yōu)目標是一個重要挑戰(zhàn).為此,Bai 等[78]設計了一種保守的隨機原始-對偶算法 (Conservative stochastic primaldual algorithm,CSPDA)來解決CMDP 問題(等價于鞍點問題),并利用遺憾分析證明了約束違反為零.
拉格朗日法將約束優(yōu)化問題簡化為帶有輔助懲罰項的無約束優(yōu)化問題,簡單的拉格朗日方法就能找到滿足約束的策略,而且獲得較大的回報.盡管當策略漸近收斂時拉格朗日法能夠確保部署安全性,但仍存在以下弊端: 一個鞍點優(yōu)化問題就相當于一系列馬爾科夫決策過程求解問題,計算量較大;對拉格朗日乘子的初始值和學習率比較敏感,因此超參數調優(yōu)過程會產生很大開銷;拉格朗日乘子和策略參數都不為零時問題的目標非凸非凹,迭代求解可能無法保證解的收斂速度;在訓練過程中無法保證生成策略的安全性.
2.2.2 信賴域法
與拉格朗日法不同的是,信賴域法顯式表示安全約束,通過修改信賴域策略梯度來求解約束策略優(yōu)化問題,在每次迭代過程中將策略投影到一個安全的可行集內,從而確保策略在預期約束范圍內.
在對CMDP 優(yōu)化求解的過程中,需要考慮長期而非單步成本函數滿足約束條件.為此,Achiam等[79]對信賴域策略優(yōu)化 (Trust region policy optimization,TRPO)[80]方法進行了拓展,率先提出一種用于安全強化學習的通用策略搜索方法,稱為約束型策略優(yōu)化 (Constrained policy optimization,CPO),可以確保智能體在學習過程中的每一步都滿足約束條件.CPO 的主要思路為: 首先,鑒于原始CMDP 優(yōu)化問題的目標函數非凸、不連續(xù),構造一個代理函數來近似原始目標函數;其次,把目標函數和成本函數通過泰勒二階展開,得到一個簡化的目標函數;然后,簡化目標函數為凸優(yōu)化問題,可通過對偶問題或者直接根據最優(yōu)性條件得到策略的迭代表達式;最后,鑒于近似誤差可能導致求得的解違反約束,利用回溯線搜索以保證滿足約束.但CPO 采用二階泰勒展開式逼近目標函數和成本函數的做法會導致Fisher 信息矩陣的規(guī)模較大,因此需要考慮采用共軛梯度法來間接計算Fisher 信息矩陣的逆.而且,違反約束后利用回溯線搜索的更新規(guī)則可能會減緩策略學習的進度.
借助投影梯度下降法的思想,Yang 等[81]提出了一種基于投影的約束策略優(yōu)化 (Projection-based constrained policy optimization,PCPO)方法.該方法分兩個階段來更新策略: 首先執(zhí)行無約束更新,采用TRPO 方法優(yōu)化回報函數,得到中間策略,然后利用KL (Kullback-Leibler)散度將策略投射回約束集上來調節(jié)違反約束的情況,即在約束集中選擇最接近中間策略的可行策略.與CPO 相比,PCPO 首先優(yōu)化回報函數,然后使用對約束集的投影來保證整個學習過程中滿足約束,因此可以在保證安全的同時對回報函數進行優(yōu)化.但CPO 和PCPO 存在的共性問題都是原始問題的解析解需要涉及Fisher 信息矩陣求逆,對于大型約束馬爾科夫決策過程而言,矩陣求逆計算量大,近似方法又會產生計算誤差.
為減小矩陣逆近似計算帶來的誤差,Zhang 等[82]提出一種一階約束優(yōu)化方法 (First order constrained optimization in policy space,FOCOPS).主要思路為: 使用原始-對偶梯度方法來求解帶有成本約束的信賴域問題,首先在非參數化策略空間中解決一個帶約束的優(yōu)化問題,然后再將更新策略映射回參數化策略空間.相較于CPO 和PCPO,所提方法只采用了線性近似,無需求解Fisher 逆矩陣,因此計算效率較高.高維連續(xù)控制任務上的仿真結果表明在近似滿足約束的情況下,使用一階近似性能上優(yōu)于復雜的二階近似方法(如CPO),但并未從理論層面對這一觀測結果進行論證.
同樣考慮到逆矩陣難計算的問題,Zhang 等[83]將傳統(tǒng)的近端策略優(yōu)化算法拓展為安全強化學習方法,提出懲罰近端策略優(yōu)化 (Penalized proximal policy optimization,P3O)算法.該算法利用精確懲罰函數將成本約束轉化為無約束優(yōu)化問題并采用一階優(yōu)化進行求解,將PPO[84]中的裁剪代理目標擴展到CMDP 中來消除信賴域約束.所提算法避免了二次近似和高維Hessian 矩陣求逆,有利于求解使用深度神經網絡的大型CMDP 問題.
原始-對偶問題求解CMDP 會引入額外的對偶變量,為此,Xu 等[85]提出了第一個對全局最優(yōu)具有可證明收斂性保證的基于原問題求解的安全強化學習方法,即約束修正策略優(yōu)化 (Constraint-rectified policy optimization,CRPO)算法.其中所有的策略更新均采用自然策略梯度,并在原始域中進行.若不違反約束,CRPO 通過求解無約束最大化獎勵目標來更新策略,否則,通過無約束最小化約束目標函數項進行更新策略,沿著被違反約束的下降方向,將策略瞬時修正回約束集.由于基于原問題求解的方法無需引入額外的對偶變量來優(yōu)化,因此涉及的超參數調優(yōu)較少,但算法收斂速度較慢,且在訓練階段無法保證安全性.
盡管原始-對偶方法已廣泛用于求解約束優(yōu)化框架,但其存在訓練不穩(wěn)定和缺乏最優(yōu)性保證等問題.為此,Liu 等[86]從概率推理的角度出發(fā),提出了約束變分策略優(yōu)化 (Constrained variational policy optimization,CVPO)算法.CVPO 采用期望最大化算法進行求解,將安全強化學習問題分解為兩個階段: 1)凸優(yōu)化學習階段,該階段采用非參數變分分布,并具有最優(yōu)性保證;2)有監(jiān)督學習階段,該階段采用信賴域正則化策略改進方法,并具有穩(wěn)定性保證.在連續(xù)控制任務上的實驗表明,與基于原始-對偶的安全強化學習方法相比,CVPO 訓練更穩(wěn)定、采樣效率更高.但文獻[86]中約束閾值的選取以及選取準則并不明確,且涉及的超參數多,難以用于實際場景.
上述方法均為用于約束型強化學習的信賴域方法,在每一次策略更新中都近似地強制執(zhí)行約束條件,因此策略在訓練過程中能確保安全性.由于這些方法與TRPO 緊密相關,將其應用于PPO 類方法進行約束優(yōu)化很簡單,但尚不清楚如何將其與不屬于近端策略梯度類型的方法結合使用,例如深度確定性策略梯度算法.除此之外,此類方法還存在一些不足之處: 非凸策略優(yōu)化的凸近似會產生不可忽略的近似誤差,因而采用一階或二階近似的方法只能學到接近滿足約束的策略;當原問題在一定初始策略下不可行時,需要采用額外的恢復方法,通過與環(huán)境交互將策略恢復到可行集中,因此采樣效率低;二階近似涉及矩陣求逆,高維環(huán)境下計算代價大,無法適用于求解大規(guī)模約束馬爾科夫決策過程問題.
上述兩大類算法 (修改學習過程和修改學習目標)可歸結為在線強化學習,即智能體需要與環(huán)境進行不斷交互來學習如何執(zhí)行任務.離線強化學習要求智能體完全從靜態(tài)的離線數據集中學習而不進行探索,因此從數據層面確保了智能體的訓練安全性[19-20].但在策略部署階段,此類方法并未考慮任何風險相關因素,因而無法確保部署時的安全性.監(jiān)督學習假定訓練數據與測試數據獨立同分布,從而在訓練集上學到的模型能夠在測試集中擁有很好的性能.然而,離線強化學習通常面臨所學習的策略(目標策略)與從離線數據集中觀測到的策略 (行為策略)分布不同而造成分布偏移問題[19].針對該問題,學者們從策略約束、值約束和預訓練模型等多角度進行研究,提出了一系列離線強化學習方法.
2.3.1 策略約束
策略約束類方法通常利用生成模型 (如變分自編碼器、生成對抗網絡)在隱空間對動作進行限制,或者利用分布度量 (如KL 散度、最大均值差異)將目標策略限制在行為策略的分布范圍內,目的都是使目標策略近似行為策略分布,從而緩解分布偏移問題.
Fujimoto 等[87]提出首個離線強化學習算法,稱為批約束深度Q 學習 (Batch-constrained deep Qlearning,BCQ),它能從任意批數據中學習而無需探索.BCQ 限制了動作空間,利用變分自編碼器模型來生成與離線數據集分布相近的動作,確保只選擇類似于行為策略選擇的動作來約束目標策略.同時,結合一個擾動模型對生成的動作進行調優(yōu),使動作具有多樣性.實驗表明,相比于模仿學習,BCQ在連續(xù)控制任務中具有獨特優(yōu)勢和巨大潛力.然而,嚴格限制目標策略接近行為策略未必在所有場合下都奏效.當離線樣本數不足時,BCQ 將會受到行為策略分布密度的限制,無法很好地對先前從未見過的分布外軌跡進行擬合.
Kumar 等[88]則認為自舉誤差是當前方法不穩(wěn)定的一個關鍵來源,其中自舉誤差是指訓練過程中分布外動作通過貝爾曼回溯進行累積而引起的誤差,并通過理論分析了在Q 學習過程中約束動作可以減少誤差傳播.同時,為減少分布外動作的影響,Kumar 等[88]引入了支撐集的概念,并提出一種隱式策略約束的離線強化學習算法BEAR (Bootstrapping error accumulation reduction).BEAR 的目標并不是顯式約束所學策略與行為策略越像越好,而是將所學策略保持在行為策略的支撐集范圍內,約束兩個策略分布之間的最大均值差異距離小于某個閾值,這樣就能通過學習策略的上界可集中性來控制誤差傳播,同時減小與最優(yōu)策略分布之間的距離.與BCQ 相比,BEAR 在限制所學策略方面沒有太過保守.在一系列連續(xù)控制任務上的仿真結果表明,BCQ 僅在由專家策略收集而來的離線數據集上表現良好,而BEAR 在次優(yōu)策略甚至是隨機策略數據集上會優(yōu)于BCQ.但BCQ 和BEAR 這類策略約束方法在很大程度上仍依賴離線數據集的質量,當數據質量不高時,此類方法總體仍無法獲得滿意的結果.
BCQ 使用生成模型近似數據集分布,并在生成的動作集合中手動選擇使Q 值最大的動作.PLAS(Policy in the latent action space)方法[89]是對BCQ的進一步擴展,該方法不是在動作空間上學習擾動模型,而是通過極大似然學習生成模型并在潛在空間中學習確定性策略.假設潛在動作空間隱式定義了對動作輸出的約束,從而訓練時策略是在數據集支持范圍內選擇動作,而不受數據集分布密度的限制.在各種連續(xù)控制任務中的實驗驗證了所提方法的性能.然而,Chen 等[90]指出PLAS 只能模擬數據集中低回報但高密度的樣本,而無法捕獲高回報動作.
為此,針對異構離線強化學習任務,Chen 等[90]提出潛在變量優(yōu)勢加權的策略優(yōu)化 (Latent-variable advantage-weighted policy optimization,LAPO)算法.該算法在訓練策略與最大化數據的優(yōu)勢加權對數似然之間交替學習潛在空間策略并實現獎勵最大化,利用潛在變量生成模型來表示高優(yōu)勢的狀態(tài)-動作對,使得強化學習策略偏向于選擇訓練數據支持的動作,同時有助于解決任務的數據分布偏移問題.LAPO 在結構上與PLAS 類似,因為這兩種算法都需要學習生成模型和潛在空間策略.然而,BCQ 和PLAS 中的生成模型是通過預先訓練來近似整個數據集上的分布,并且在訓練潛在策略時是固定的,這可能會限制模型在數據集中樣本數較少時對高回報樣本的表達能力.與先前工作不同的是,LAPO 通過交替學習生成模型、優(yōu)勢函數和潛在策略來訓練優(yōu)勢加權生成模型,從而能夠在潛在空間中利用簡單的高斯分布捕獲高回報動作.仿真結果表明,LAPO 在異構數據集上明顯優(yōu)于PLAS.
2.3.2 值約束
值約束常用的方法如下: 在值函數基礎上添加正則化項,使其估計值更加保守;利用估計的不確定性來學習一個悲觀值函數,從而避免產生分布外動作;通過重要性采樣,用行為策略的樣本來評估目標策略.其目的都是基于悲觀/保守的思想,通過限制值函數,從而緩解分布偏移問題.
目標策略與行為策略之間的分布偏移問題導致傳統(tǒng)的異策略強化學習方法出現值函數過估計.為解決此問題,Kumar 等[91]提出保守的Q 學習 (Conservative Q-learning,CQL)算法.該算法通過向其目標函數添加值函數正則化項來學習真實Q 函數的下界,使得該策略下的Q 函數期望值低于其真實值,從而防止由于分布外動作和函數近似誤差而導致的高估問題.在離散和連續(xù)控制域上的實驗結果表明,CQL 的性能大大優(yōu)于現有的離線強化學習算法,尤其適宜處理復雜的多模態(tài)數據分布.與監(jiān)督學習方法類似,離線強化學習也極易出現過擬合現象,因此設計簡單有效的提前終止方法是未來的一項重要挑戰(zhàn).
在離線環(huán)境下滿足安全約束并非易事,這是由于所學策略與離線數據集之間可能存在分布偏移,導致安全約束值錯誤估計,因此只能學到次優(yōu)解.為此,Xu 等[92]提出了一種安全離線強化學習算法,稱為約束懲罰的Q 學習 (Constraints penalized Qlearning,CPQ).該算法不使用顯式的策略約束,也不會受到數據集分布密度限制,允許使用混合行為策略產生的數據集,并通過修改獎勵critic 的貝爾曼更新方程來懲罰不安全的狀態(tài)動作對.連續(xù)控制任務的仿真結果表明,CPQ 能夠在滿足安全約束的同時獲得最大回報.總而言之,CPQ 在離線情況下訓練強化學習算法,為現實任務中的安全與高質量控制提供了可靠的策略保證.
目前大多數離線強化學習方法在訓練過程中需要評估未見過的動作值來改進策略,因此需要將這些動作限制在分布之內,或者對它們的值進行正則化.Kostrikov 等[93]提出隱式Q 學習 (Implicit Qlearning,IQL),在訓練過程中完全避免評估數據集以外的動作,同時仍然能夠進行多步動態(tài)編程.該算法主要貢獻在于在策略評估步驟中,IQL 沒有使用從行為策略中采樣的目標動作來更新Q 函數,而是針對每個狀態(tài)的數據集動作分布來近似值分布的上期望值.通過交替使用期望回歸擬合此值函數,然后用它計算貝爾曼備份來訓練Q 函數.該算法實現簡單且計算效率高.
基于重要性采樣的方法直接估計狀態(tài)邊際重要性比率 (密度比),得到無偏值估計,Zhang 等[94]提出廣義平穩(wěn)分布校正估計 (Generalized stationary distribution correction estimation,GenDICE)算法.該算法將約束條件擴展為狀態(tài)-動作的邊際重要性比率,并直接優(yōu)化其修正的貝爾曼方程所對應的剩余誤差.GenDICE 能同時處理給定多個行為不確定樣本的折扣平穩(wěn)分布和平均平穩(wěn)分布問題.然而,該算法所涉及的優(yōu)化問題不是凸凹鞍點問題,因此無法確保收斂或找到期望解.
確保離線強化學習的采樣效率通常需要滿足兩個強假設條件.1)數據覆蓋 (所有策略的集中性):離線數據分布 (在技術意義上)對所有候選策略誘導的狀態(tài)分布提供了良好覆蓋;2)函數近似 (貝爾曼完備性): 值函數類在貝爾曼最優(yōu)性算子下閉合.Zhan 等[95]放松了這兩個假設條件并提出一種原始-對偶正則化的離線強化學習 (Primal-dual regularized offline reinforcement learning,PRO-RL)算法,其中對偶變量 (目標策略的折扣占有率)使用邊際重要性比率對離線數據進行建模.該算法在不滿足貝爾曼完備性的情況下,利用正則化線性規(guī)劃求解異策略評估.但由于引入正則化,PRO-RL 所學到的策略一般是次優(yōu)的.
2.3.3 預訓練模型
借助模仿學習或元學習的思想,對離線數據進行預訓練來初始化模型,使之獲得一個較好的初始策略,從而快速適應新環(huán)境.
BCQ 和BEAR 這類算法都是利用生成模型對行為策略進行建模,若離線數據集由隨機策略或噪聲策略生成時,則很難對行為策略進行精準預測.為此,Siegel 等[96]利用先前學過的先驗知識,提出優(yōu)勢加權行為模型 (Advantage-weighted behavior model,ABM).具體而言,采用策略迭代方法,通過學習先驗知識了解哪些候選策略可能在離線數據集支持范圍內,從而形成行為數據的優(yōu)勢加權模型;再強制執(zhí)行策略提升步驟,使所學策略傾向于先前執(zhí)行過的經驗豐富的動作,這些動作可能在新任務上取得更好的性能.ABM 可以使用任意行為策略生成的數據,能夠在沖突的數據源中穩(wěn)定學習,在連續(xù)控制基準與機器人多任務學習的測試中驗證了所提算法優(yōu)于現有的兩個離線強化學習算法BCQ 和BEAR.
大多數模仿學習方法關注的是過濾掉次優(yōu)行為,隨后再利用傳統(tǒng)的監(jiān)督回歸損失進行處理.Wang等[97]提出critic 正則化回歸 (Critic regularized regression,CRR)方法,從離線數據中學習策略.該方法使用指示函數過濾掉低于平均水平的動作,而選擇了一個更悲觀的優(yōu)勢估計.CRR 的策略更新可看作是行為克隆的加權版本,其中權重由critic 網絡所確定.critic,即狀態(tài)-動作值函數,則是通過對獎勵標注的數據進行Q 學習訓練而來的.仿真結果表明,對于具有高維狀態(tài)和動作空間的任務,CRR 能表現出更好的性能.
離線強化學習無需與環(huán)境進行實時交互,僅在已收集的離線軌跡數據集上進行訓練,這與監(jiān)督學習的方式極為相似.基于該思想,Emmons 等[98]直接將策略學習問題視為監(jiān)督學習問題,并提出RvS(Reinforcement learning via supervised learning)算法.該算法使用條件行為克隆的方式來學習策略,其中樣本由觀測到的蒙特卡洛回報進行加權、過濾或條件化,從而避免了對值函數進行估計.仿真結果表明,純監(jiān)督學習 (最大化數據中觀察到的動作的可能性)方式表現的與保守時序差分學習方法一樣好;在廣泛的任務下,簡單的前饋模型可以與先前序列模型的性能相匹配;若條件變量 (如目標或者獎勵值)選擇恰當,則RvS 可以獲得最優(yōu)性能.然而,條件變量的選取對算法性能產生很大影響,如何自適應選擇條件變量以提高RvS 算法的適用性是未來值得研究的方向.
Uchendu 等[99]使用離線數據、示范或預先存在的策略來初始化強化學習策略,提出一種快速啟動的強化學習 (Jump-start reinforcement learning,JSRL)方法.該方法采用了兩種策略: 指導策略和探索策略.智能體在學習過程開始時使用指導策略而不是隨機策略作為探索策略的初始起點,隨著探索策略的不斷更新,指導策略的作用逐漸減弱,因此加快了學習過程,也提高了算法的泛化性能.視覺機器人實驗表明JSRL 明顯優(yōu)于先前提出的模仿和強化學習方法.
除了改善單個強化學習任務的性能外,學者們也逐步轉向對模型的通用性和泛化性能進行研究,力求找到一種實用的強化學習范式,能夠從離線數據中學習以快速適應新任務,這便是離線元強化學習.在離線元強化學習的設定中,引入了任務分布學習的概念,離線數據集不再是僅從單個任務中收集而來,而是通過不同的行為策略從多個任務中獲取得到.訓練智能體的目的是學習一種元策略,能夠有效地適應從未見過的任務.Zhao 等[37]提出帶有示范自適應的離線元強化學習 (Offline meta-RL with demonstration adaptation,ODA)算法.該算法首先使用離線數據進行預訓練,從中學習出一種自適應策略,再使用基于少量用戶提供的示范數據來快速適應新任務,最后通過在線微調做進一步的適應.仿真結果表明,所提算法僅需少量訓練樣本即可快速適應各種不同的工業(yè)連接器插入任務.
盡管上述方法在一定程度上解決了分布偏移問題,其得以成功應用的前提假設是離線數據可以充分覆蓋高獎勵的狀態(tài)動作對.在現實世界場景中,數據收集可能是昂貴的或受限的,實際應用中離線數據集的狀態(tài)動作空間覆蓋可能相當狹窄,這也是離線強化學習當前面臨的一大挑戰(zhàn).由于僅從離線數據中訓練,因此上述所有的離線強化學習算法都能做到訓練時安全.只有CPQ[92]考慮了安全約束,因此能實現部署時安全,而其余的傳統(tǒng)離線強化學習算法在不考慮安全性的情況下無法確保部署時安全.
安全強化學習和基于安全學習的控制方法已得到廣泛的研究,為了充分評估和公平比較現有的安全強化學習算法,并促進其在現實業(yè)務場景中的落地,學者們開發(fā)了多種基準測試平臺.本節(jié)介紹5個開源工具,這些工具包含了具有安全要求的模擬環(huán)境,并集成了常用的安全強化學習算法,對定量評估現有安全強化學習算法具有積極的指導意義.5 種基準測試平臺的任務如圖1 所示,適用條件與特性如表2 所示.
表2 安全強化學習基準測試平臺對比Table 2 Comparison of benchmarking platforms for safe reinforcement learning
OpenAI 團隊最先推出一套加速安全探索研究的工具Safety Gym[100].該工具包基于MuJoCo 物理引擎,采用OpenAI 的Gym 接口,同時與許多當前的強化學習庫無縫集成.Safety Gym 由兩部分組成: 1)一個環(huán)境創(chuàng)建器,允許用戶通過混合和匹配各種物理元素、目標和安全要求來創(chuàng)建一個新的環(huán)境;2)一套預先配置的基準環(huán)境,用于幫助標準化定量評估安全強化學習方法的好壞.Safety Gym開源代碼庫: https://github.com/openai/safetygym.
3.1.1 環(huán)境設置
在所有Safety Gym 環(huán)境中,機器人必須在復雜環(huán)境中進行導航才能完成任務.有三個預先設定的機器人 (Point、Car、Doggo),三個主要任務(Goal、Button、Push),每個任務都有兩個難度級別.
3.1.2 基準算法
為便于科研人員快速上手,Safety Gym 還提供了一些基準安全強化學習算法,例如: PPO[84]、TRPO[80]、PPO 和TRPO 的拉格朗日懲罰版本[101]、CPO[79]等.基準算法開源代碼庫: https://github.com/openai/safety-starter-agents.
多倫多大學航空航天研究所團隊提出了一個開源基準工具safe-control-gym[102],用于評估基于學習的控制和安全強化學習算法性能.該模擬環(huán)境基于Bullet 物理引擎,采用OpenAI 的Gym 接口,同時與許多當前的強化學習庫無縫集成.safe-control-gym 能夠支持基于模型的方法、表達安全約束以及捕捉現實世界中的非理想狀態(tài) (如不確定的物理屬性和不完美的狀態(tài)估計),對應于三個核心特征: 先驗符號模型、約束規(guī)范和干擾注入,以便同強化學習與控制方法無縫銜接.safe-control-gym 開源代碼庫: https://github.com/utiasDSL/safe-controlgym.
3.2.1 環(huán)境設置
safe-control-gym 包括三個動力系統(tǒng): 推車桿(Cart-pole),一維和二維四旋翼飛行器 (Quadrotor),兩種控制任務: 穩(wěn)定和軌跡跟蹤.
3.2.2 基準算法
safe-control-gym 包括:
1)控制與安全控制基準算法.對于標準狀態(tài)反饋控制器,包含線性二次調節(jié)器 (Linear quadratic regulator,LQR)和迭代LQR (Iterative LQR,iLQR)兩種方法[103].對于預測控制基準,包含線性模型預測控制 (Linear model predictive control,LMPC)和非線性模型預測控制 (Nonlinear model predictive control,NMPC)兩種算法[104].
2)強化學習基準算法.兩個無模型的方法PPO[84]和SAC[105].
3)基于安全學習的控制基準算法.提供一種基于高斯過程的模型預測控制 (Gaussian processbased model predictive control,GP-MPC)方法[106],該方法采用高斯過程對不確定的動態(tài)進行建模,用來更好地預測系統(tǒng)的未來演變,以及根據預測范圍內動力學的置信度來收緊約束.
4)安全與魯棒的強化學習基準算法.對于安全強化學習,將基于安全層的方法[65]添加進PPO[84]中用于測試.對于魯棒強化學習,包含兩種基于對抗學習的方法RARL[107]和RAP[108].
5)學習控制器的安全認證基準算法.一個常用的安全過濾器方法,即模型預測安全認證 (Model predictive safety certification,MPSC)[109],以及控制障礙函數[110].
最近,Zhang 等[17]提供了面向自動駕駛領域的安全強化學習基準測試工具包SafeRL-Kit.在兩個自動駕駛環(huán)境中進行實驗,所有基準算法均采用統(tǒng)一框架,方便進行對比.SafeRL-Kit 開源代碼庫:https://github.com/zlr20/saferl_kit.
3.3.1 環(huán)境設置
SafeRL-Kit 在兩個模擬環(huán)境中進行基準測試,包括一個四驅賽車速度控制環(huán)境SpeedLimit[111]和一個輕量化的真實汽車自動駕駛仿真平臺Meta-Drive[112].
3.3.2 基準算法
該工具包實現了幾種最新的安全強化學習算法,包括用于安全校正的安全層方法[65]、用于安全恢復的恢復強化學習 (Recovery RL)方法[18]、異策略拉格朗日 (Off-policy Lagrangian)方法[113]、FAC[73]以及Zhang 等[17]提出的用于安全約束的精確懲罰優(yōu)化 (Exact penalty optimization,EPO)方法.所有方法均采用統(tǒng)一的異策略actor-critic 網絡架構進行實現,從而提高了采樣效率,且方便與人類示范先驗知識相結合.
針對離線強化學習,Fu 等[114]提出了一個深度數據驅動的強化學習開源基準數據集D4RL.該工具包基于MuJoCo 物理引擎,采用OpenAI 的Gym接口.D4RL 提供了來自不同領域的多項任務,涵蓋導航、機器人操作和自動駕駛等應用領域,包括幾種基準離線強化學習算法,并提供了非常簡單的API 接口,方便學習者直接獲取離線數據集來實現算法的訓練.D4RL 開源代碼庫: https://github.com/rail-berkeley/d4rl.
3.4.1 環(huán)境設置
D4RL 包含了來自7 個不同領域的42 項任務.
1)導航任務,包括Maze2D 和AntMaze 分別提供的3 種和6 種迷宮導航任務,以及CARLA 模擬器提供的2 種基于現實世界視覺的導航任務.
2)Gym-MuJoCo 作為OpenAI 基準測試的HalfCheetah、Hopper 和Walker2D 三個數據集的共計12 項任務.
3)機器人操作任務,包括Adroit 和Franka-Kitchen 平臺分別提供的12 項和3 項任務.
4)自動駕駛任務,包括Flow 基準測試的4 項任務.
3.4.2 基準算法
該工具包涵蓋了多種離線強化學習算法,例如:策略約束類方法BCQ[87]、BEAR[88]、BRAC-p[115]、BRAC-v[115]和AWR[116],值函數正則化類方法CQL[91]和邊際重要性采樣方法AlgaeDICE[117].
最近,國內南棲仙策團隊提出了離線強化學習基準數據集NeoRL[118],其中數據集是由更保守的策略收集而來.除了廣泛使用的運動控制任務外,NeoRL 還包含了一些高維或具有高度隨機性的現實場景任務,如工業(yè)控制、金融交易等.NeoRL 開源代碼庫: http://polixir.ai/research/neorl.
3.5.1 環(huán)境設置
該基準數據集由5 大領域的52 項任務構成.
1)Gym-MuJoco 環(huán)境中包含3 類連續(xù)控制任務: HalfCheetah、Hopper、Walker2d,由保守的策略生成且數據量有限.
2)IB 為工業(yè)基準領域,用于模擬各種工業(yè)控制任務中呈現的特性,如風力或燃氣輪機、化學反應器等.
3)FinRL 模擬股票交易市場,包含股票池中的30 只股票和過去10 年的交易歷史.
4)CityLearn 用于控制不同類型建筑的儲能來重塑電力需求的聚集曲線.IB、FinRL 和CityLearn這三個領域數據集都來自高維連續(xù)狀態(tài)與動作空間,且具有高隨機性.
5)SalesPromotion 模擬真實商品促銷平臺,平臺運營商的目標是使總收入最大化,該領域的數據集由人工操作員和真實用戶提供.
3.5.2 基準算法
包括行為克隆BC,無模型離線強化學習算法BCQ[87]、PLAS[89]、CQL[91]和CRR[97],以及基于模型的離線強化學習算法BREMEN[119]和MOPO[120].
安全強化學習在諸多領域都有廣泛的應用前景,也產生了許多成功的案例.下面從自動駕駛、機器人控制、工業(yè)過程控制、電力系統(tǒng)優(yōu)化和醫(yī)療健康5 大領域展開詳細敘述.
自動駕駛是人工智能的一個發(fā)展產物.駕駛自動汽車時不僅要求高效準確到達目的地,還應做到安全可靠.因此,智能體如何在性能與風險之間權衡是當前該領域面臨的最大挑戰(zhàn).針對自動駕駛的安全性問題,許多新穎的算法被提出,也取得了一定成就.
針對無人車的安全探索問題,代珊珊和劉全[30]提出了一種基于動作約束的SAC 算法.通過在回報函數中引入懲罰項來避免無人車陷入危險狀態(tài),并對無人車的動作進行限制,使之避免發(fā)生碰撞或偏離軌道.與傳統(tǒng)的SAC 算法相比,所提算法在自動駕駛車道保持任務中可以有效規(guī)避風險.
為實現自動駕駛車輛在典型的多變交互場景(即環(huán)島)下的自適應決策,Zhang 等[23]提出優(yōu)化嵌入強化學習算法.所提算法對actor-critic 框架中的actor 網絡進行改進,新增了任務表示的狀態(tài)向量來重組策略網絡,以便智能體能適應不同類型的環(huán)島.環(huán)島場景下的仿真結果表明,所提算法可以通過在線調整期望加速度和動作時間來實現自適應決策,避免交互場景中的突發(fā)事件,確保安全行駛.
自動駕駛車輛在正常行駛過程中經常會遇到上下匝道、車道合并、或由于道路施工等因素引發(fā)的車輛匯流,如何有效提升該場景下車輛通行的效率及安全性,是自動駕駛決策系統(tǒng)開發(fā)中的一個關鍵問題.常用的方式為通過車輛之間相互協(xié)同通信來解決道路沖突問題.為避免在匯流場景下自動駕駛車輛的碰撞行為,Kamran 等[12]結合強化學習與基于優(yōu)化的軌跡規(guī)劃器,將匯流場景下車間協(xié)同問題建模為部分可觀測馬爾科夫決策過程.為了獲得最優(yōu)的行為策略,Kamran 等[12]通過引入可擴展的深度Q 網絡來預測其他駕駛員的意圖并選擇最佳動作.仿真結果表明,所提算法可以從車輛的歷史狀態(tài)中有效地識別出協(xié)同車輛,并產生交互式的操作,從而使自動駕駛更為舒適.同時,由于規(guī)劃器內部含有安全約束,因此所提出的算法可以確保車輛安全無碰撞.
為解決車輛與行人交互場景下的安全問題,即避免車輛向前行駛時與試圖過馬路的行人相撞,Trumpp 等[13]為安全自主車輛開發(fā)了新的行人防撞 (Pedestrian crash avoidance mitigation,PCAM)系統(tǒng),并提出了一種基于深度多智能體強化學習的人行橫道車輛-行人交互建模方法.同時,根據智能體的碰撞率和由此產生的交通流效率對所開發(fā)的PCAM系統(tǒng)進行評估,以便觀察行人行為的不確定性或噪聲對智能體決策的影響.仿真結果表明,所提方法能有效緩解碰撞問題,自主車輛學會了更智能的過馬路行為.
機器人控制可以滲透到生活的各個場景,例如,訓練機器人行走、導航、路徑規(guī)劃等輔助人類完成復雜任務.在工業(yè)領域,在確保安全的前提下利用機器人控制使效益最大化.傳統(tǒng)強化學習方法需要實體機器人通過不斷試錯的方式進行數據收集,這種做法昂貴且耗時,確保機器人的安全性是一項迫在眉睫的挑戰(zhàn)[121].下面總結了近些年安全強化學習在機器人控制方面的應用.
當訓練兩足機器人行走時,尤其是完成具有一定強度的任務 (比如快速行走)時,由于其自身不穩(wěn)定而導致在學習過程中很容易摔倒.為此,García和Shafie[27]提出基于策略重用的安全強化學習算法,來改善人形機器人的行走行為.該算法假設存在一個安全的基線策略,允許人形機器人行走,并以概率方式重用這種策略來學習一個更好的策略,其中遵循基線策略的概率由一個單調遞增風險函數來確定.在真實的人形機器人上的仿真結果顯示所提算法能極大提高學習速度,同時減少學習期間的摔倒次數.
同樣針對機器人行走安全問題,為降低四足機器人行走過程中腿部運動的損害風險,Yang 等[14]提出基于雙重策略的安全強化學習框架.該框架包含兩種策略: 安全恢復策略,其將機器人從接近不安全的狀態(tài)中恢復過來;學習者策略,其為執(zhí)行預期控制任務而進行優(yōu)化.算法在這兩種策略之間進行切換,從而防止智能體違反安全約束,同時盡量減少對學習過程的干預.在模擬真實的四足機器人實驗中驗證了所提框架能夠有效減少機器人摔倒次數,提高了安全性和學習效率.
為解決機器人在無地圖導航任務下的安全性問題,Corsi 等[35]將基于場景的編程與特定于機器人環(huán)境中的約束強化學習系統(tǒng)相結合.在Lagrangian-PPO 算法[100]的訓練過程中融入領域專家知識,從而確保智能體產生既安全又高性能的可信賴策略.在機器人無地圖導航仿真平臺上的結果表明,所提方法能產生遵循所有約束條件的策略,利用專家知識顯著提高了智能體的安全性.
強化學習在處理復雜多接觸機器人操作任務方面顯示出巨大的潛力.然而,現實世界中需要考慮機器人在訓練期間的安全性問題,以免發(fā)生意外碰撞.為此,Zhu 等[31]為多接觸機器人操作提供了一個接觸安全的強化學習框架,使得機器人在任務空間和關節(jié)空間都保持安全.Zhu 等[31]認為,關節(jié)空間安全不應該僅通過避免碰撞來實現,而是應該限制接觸力的大小.因此,當學到的強化學習策略導致機器人手臂與環(huán)境之間發(fā)生意外碰撞時,所提框架能夠立即檢測到碰撞并減小接觸力.同時,通過強制末端執(zhí)行器執(zhí)行多接觸任務,來保持對外部干擾的魯棒性.在執(zhí)行擦拭任務上的真實實驗結果表明,所提框架即使是在策略處于意外碰撞的未知情況下,仍能在任務空間和關節(jié)空間中保持較小的接觸力,同時防止由意外的關節(jié)碰撞引起的干擾.
強化學習在圍棋、游戲等領域已取得一定的成功,這些成功的背后依賴于場景中存在的完美模擬環(huán)境.強化學習算法以不斷試錯的方式與環(huán)境進行交互,從而獲得最優(yōu)策略.但是在一些更復雜嚴苛的現實場景中,例如復雜工業(yè)系統(tǒng)控制,以不斷試錯的方式收集數據不僅對成本要求高,而且可能引發(fā)極大的安全隱患.因此確保系統(tǒng)運行的安全性是進行控制優(yōu)化的前提.為此,針對工業(yè)過程控制安全優(yōu)化問題,學者們提出了一系列方法.
無模型安全強化學習方法已被應用于化學過程控制領域.通過迭代建立近似的過程模型,能夠探索控制動作并產生最佳策略.在此背景下,Savage等[24]提出了一種基于高斯過程的Q 學習算法.其中,高斯過程作為一種函數近似方法來描述非等溫半間歇反應器的Q 函數.通過使用高斯過程對分析不確定性進行編碼,可以在探索與利用之間進行權衡,從而高效地獲得最優(yōu)策略.更重要的是,高斯過程還可以對概率約束違反進行建模,確保在整個學習過程中進行安全探索.仿真結果表明,相比于傳統(tǒng)的基于神經網絡的強化學習算法,所提算法僅使用少量的過程軌跡數據就能得到安全有效的控制策略.
強化學習是一種能夠處理非線性隨機最優(yōu)控制問題的控制方法.然而傳統(tǒng)的強化學習方法只關注期望回報最大化,而未考慮滿足過程安全約束條件,因此可能為生化工程帶來隱患.考慮到化學過程控制中的狀態(tài)約束問題,Pan 等[32]提出一種oracle 輔助的約束Q 學習方法,用于在隨機復雜過程系統(tǒng)中尋找能夠滿足高概率約束的控制器策略.具體而言,在實際獎勵函數中添加關于過程約束的懲罰項,引入約束收緊來限制控制器感知的可行空間,并使用Broyden 方法迭代更新回退值,以懲罰違反約束的行為,從而保證滿足機會約束.仿真結果表明,相比于工業(yè)上常用的基準控制技術 ——非線性模型預測控制方法,所提方法能以更高的概率 (99%的概率)保障系統(tǒng)的安全性.
為解決化學過程控制中的模型失配問題,Mowbray 等[25]采用純數據驅動的離線安全強化學習方法,將強化學習策略從離線訓練環(huán)境 (過程模型)安全地部署到真實的未知過程模型中.具體而言,首先,使用高斯過程來構建離線的狀態(tài)空間模型;其次,利用相應的后驗不確定性預測分布方差來限制期望過程遠離約束邊界,從而使模型在安全區(qū)域探索;最后,采取貝葉斯優(yōu)化策略來調整約束程度,從而在性能與風險之間進行更好的平衡.仿真結果表明該方法能夠解釋過程的不確定性,即使在模型失配的情況下也能滿足聯(lián)合機會約束.
優(yōu)化火力發(fā)電機組的燃燒效率是能源行業(yè)中一項極具挑戰(zhàn)性的任務.通過充分利用火電行業(yè)的歷史數據,Zhan 等[22]將離線強化學習應用于真實的火力發(fā)電燃燒系統(tǒng)中,并提出一種具有限制性探索的基于模型的離線強化學習 (Model-based offline RL with restrictive exploration,MORE)算法.其主要思路為: 首先,引入額外的成本critic,強制模型滿足燃燒優(yōu)化問題的安全約束;其次,使用限制性探索方法在不完美的仿真環(huán)境中探索樣本;最后,將探索得到的樣本劃分為正樣本和負樣本,并以混合訓練的方式學習安全策略.在中國4 個大型燃煤火力發(fā)電廠的真實實驗表明,所提算法能夠提高火力發(fā)電機組的燃燒效率,降低污染物排放量.
針對信息物理系統(tǒng)控制領域的工業(yè)油泵安全控制問題,趙恒軍等[15]提出了基于增廣拉格朗日乘子法的安全強化學習算法.傳統(tǒng)的拉格朗日求解方法要求目標函數具有強凸性和有限性,嚴格的收斂條件使得該方法在實際應用中受限.而增廣拉格朗日目標函數放寬了該收斂條件,進一步提升了算法的魯棒性.具體而言,在原先的拉格朗日目標函數中引入期望損耗的二次懲罰項,進一步加大損耗懲罰力度.在增廣拉格朗日目標中,乘子項和二次懲罰項相互協(xié)同,實現懲罰參數的動態(tài)調節(jié).相比于傳統(tǒng)基于拉格朗日的安全強化學習方法,增廣拉格朗日方法的收斂條件更具一般性.
電力系統(tǒng)是安全關鍵型基礎設施的典型例子,如果違反運行限制則會導致大規(guī)模停電,造成高昂的經濟和人力成本.隨著可變的可再生能源資源被整合到電網中,確保系統(tǒng)狀態(tài)在運營商定義的 “安全” 區(qū)域內已變得越來越重要.因此,許多學者將安全強化學習算法應用于解決電力系統(tǒng)優(yōu)化問題,以提高訓練期間電網的安全性.
針對安全應急電壓控制問題,Vu 等[26]在安全減載的獎勵函數中引入障礙函數來指導最優(yōu)控制策略的搜索.當系統(tǒng)狀態(tài)達到安全邊界時,該障礙函數變?yōu)樨摕o窮大.因此,最大化獎勵函數的最優(yōu)控制策略可以使電力系統(tǒng)避開安全邊界,提高電網在減載期間的安全性.
為輔助孤島微電網的服務恢復,Du 等[28]提出了一個兩階段學習框架來確定一個最優(yōu)的恢復策略,該框架是建立在基于示范的深度確定性策略梯度算法基礎之上.預訓練階段: 利用模仿學習使智能體具備專家經驗,從而獲得較好的初始性能并快速適應環(huán)境;在線訓練階段: 利用動作剪裁、獎勵重塑和專家示范來確保安全探索,同時加速訓練過程.仿真結果表明,所提策略在處理服務恢復問題上表現出更優(yōu)的性能,且比基于模型的方法速度更快,能應用于實時系統(tǒng).
針對微電網在線優(yōu)化調度問題,季穎和王建輝[16]提出基于拉格朗日的SAC 強化學習算法.將調度問題建模為約束馬爾科夫決策過程,并通過訓練卷積神經網絡來獲得近似最優(yōu)的在線調度策略.在真實的電力系統(tǒng)中的仿真結果表明,在考慮微電網潮流約束情況下,所提算法仍能學習到最優(yōu)調度策略.
最近,Tabas 等[33]將安全強化學習方法用于解決電力系統(tǒng)的頻率控制問題,提出一種基于神經網絡的高效安全控制策略.該策略結合了集合論控制技術與凸優(yōu)化分析,并使用簡單的線性控制器來尋找最大魯棒控制不變集,再利用深度確定性策略梯度算法對神經網絡進行端到端訓練.在電力系統(tǒng)中的仿真結果表明,所提策略確保了安全性且性能優(yōu)于傳統(tǒng)的線性控制器.
近年來,深度強化學習也被廣泛應用于醫(yī)療健康領域,旨在為患者提供更精準有效的治療.然而,安全性是最值得關注的一個問題.如果處理不當,則會對患者造成致命傷害.因此,有必要為患者設計更為安全可靠的強化學習策略.
針對環(huán)境中存在的大規(guī)模且復雜的狀態(tài)空間,傳統(tǒng)的強化學習算法需要智能體進行大量探索才能學習到有效策略.能否對狀態(tài)空間進行簡化以提高學習效率是一個值得關注的話題.Zhang 等[36]研究了批處理強化學習 (離線強化學習)中的時間離散化問題,對原先的批處理強化學習進行改進.算法并未將所有狀態(tài)都視為潛在的決策點,而只考慮那些具有高行為策略可變性的狀態(tài),即臨床醫(yī)生對病人進行不同治療的特定決策點,因此使得狀態(tài)空間明顯縮小.在一組低血壓患者數據中進行驗證,可以發(fā)現簡化的狀態(tài)空間能夠加快規(guī)劃速度,從而輔助臨床醫(yī)生快速診斷.
連續(xù)體機械臂已被廣泛應用于微創(chuàng)外科手術中.然而,由于其非線性行為,使得這些機器人建模不準確、控制性能差,如果涉及大腦或心臟等關鍵器官的手術,則這些控制錯誤和不穩(wěn)定性可能帶來致命危害.為此,Ji 等[21]提出了一種基于無模型的多智能體深度Q 網絡 (Multi-agent deep Q network,MADQN)來控制一個自由度為2 的連續(xù)體手術機器人.MADQN 與具有動態(tài)改變動作集邊界的安全盾 (Shielding)方法相結合,有效消除了傳統(tǒng)DQN 框架中離散動作集的限制,并在瞄準精度和運動穩(wěn)定性方面提高了連續(xù)體機器人的控制性能.對不同軌跡、外部載荷、軟硬擾動以及具有高度結構非線性的微型機器人的測試實驗結果表明,所提方法能實現亞毫米級的軌跡跟蹤精度和較高的穩(wěn)定性.
傳統(tǒng)的深度強化學習無法保證安全性,因此在機器人輔助微創(chuàng)手術應用中受到限制.為此,Pore等[29]引入一個安全深度強化學習框架,將安全約束納入手術子任務的自動化中,并制定了一個形式化驗證工具來評估深度強化學習策略所造成的違規(guī)行為.實驗結果表明,所提框架能在模型執(zhí)行前識別可能導致安全違規(guī)的狀態(tài),從而使機器人能夠在安全空間進行操作.
新型冠狀病毒肺炎疫情 (COVID-19)的持續(xù)大流行使普通民眾的出行受到一定程度的影響.為規(guī)避高風險地區(qū),Misra 等[34]提出了一種基于Q 學習的COVID-19 安全導航系統(tǒng)S-Nav.首先,通過在獎勵函數上施加基于區(qū)域的懲罰來使智能體學會推薦零風險/低風險的路線;其次,為確保推薦的實時性,利用云計算架構最大限度地減少服務的訓練時間和響應時間.在真實路線圖數據上的實驗結果顯示,S-Nav 幾乎能夠實時規(guī)劃出安全路徑,避免出行者交叉感染.然而,該系統(tǒng)僅適用于室外環(huán)境.
盡管近年來安全強化學習領域已涌現出許多新思路新方法,取得了積極顯著的成果,但仍然有很多問題值得進一步探索.未來可以從以下幾個方面對安全強化學習進行拓展與延伸.
1)利用基于注意力機制的網絡對安全約束進行編碼.更多的強化學習相關研究開始使用基于注意力機制的網絡模型,如DT[122]、TT[123]等.這些網絡模型可以挖掘序列間多種維度上的注意力系數,更好地抽象化路徑信息,提高深度強化學習的樣本效率.同時,基于注意力機制的網絡輸入輸出靈活性更強,可以更方便地在編碼中嵌入安全信息,由此進一步增強算法的安全性能.
2)充分結合已有的強化學習研究成果來提高算法的安全性能.例如逆強化學習可以擴充經驗數據中包含的環(huán)境安全信息,提高安全性評估的精度和網絡全局更新的效率;分層強化學習可以將學習任務分解為多個子任務,根據子任務設計動態(tài)的安全約束和探索方式,以減小策略陷入局部最優(yōu)的概率;元強化學習可以從多個不同的環(huán)境中收集安全信息,使算法學到一個泛化能力更強的安全性評估標準,從而在沒有足夠專家經驗的下游任務訓練中提高安全性能.
3)將安全約束機制融入離線強化學習中.當前的離線強化學習算法僅從離線數據中學習,無需與環(huán)境交互,智能體完全避免了探索步驟,因此能確保訓練期間的安全性.但如果不對離線強化學習施加額外的安全約束項,則當策略部署到真實環(huán)境時,無法實現安全保證.因此,離線安全強化學習也是未來的研究方向之一.
深度強化學習是當前機器學習領域的一個熱點研究方向,它為解決復雜的決策與控制問題提供了有效途徑.然而,大部分強化學習方法并不能直接遷移到真實物理環(huán)境中.傳統(tǒng)的強化學習需要智能體不斷地與環(huán)境交互并以試錯的方式來收集數據,從而獲得最優(yōu)策略,但這種方式在實際應用中可能會產生巨大開銷.為此,研究有安全保障的強化學習算法尤為重要.本文對近年來的安全強化學習算法進行了全面綜述與總結,為研究安全強化學習方向的學者提供指導與思路.首先對安全強化學習問題進行形式化定義,將安全強化學習問題轉化為約束馬爾科夫決策過程,并總結了安全強化學習常見的兩種約束形式.其次對安全強化學習算法進行分類與匯總,從修改學習過程、修改學習目標以及離線強化學習三大方面進行綜述.修改學習過程是在智能體的探索過程中施加約束,因而能同時保證訓練時安全和部署時安全.修改學習目標中拉格朗日法將原先的約束優(yōu)化問題通過拉格朗日乘子的權衡轉化為無約束優(yōu)化問題,但這種約束方法屬于隱式約束,在訓練期間無法提供安全性保證,而信賴域法顯式地實施安全約束,利用約束策略優(yōu)化方法,確保訓練過程中智能體的安全性.然后介紹了5 種安全強化學習基準測試平臺,便于研究者進行基準測試和公平比較.針對修改學習過程和修改學習目標類的安全強化學習方法可以使用Safety Gym、safe-control-gym 和SafeRL-Kit 基準測試平臺,而針對離線強化學習,則使用D4RL 和NeoRL 進行測試.最后總結了安全強化學習在自動駕駛、機器人控制、工業(yè)過程控制、電力系統(tǒng)優(yōu)化和醫(yī)療健康5 大應用領域中的研究進展,以及展望了未來研究方向.雖然目前仍有許多問題尚未解決,但在可預見的未來,隨著學者對安全強化學習問題研究的進一步深入,相信安全強化學習將成為今后的一個熱點話題.