張立憲 盧生奧 韓銘昊 姜芊鵬 李云鵬 徐愷鑫
哈爾濱工業大學航天學院,哈爾濱 150001
強化學習(Reinforcement learning, RL)作為一種解決非線性隨機系統最優決策問題的有效方法,被認為是最有可能通往通用型人工智能的方向之一。近年來,隨著理論研究的深入和計算機算力的提高,策略梯度(Policy gradient)[1]、演員-評論家(Actor-Critic)[2]等強化學習算法開始越來越多地應用于自動控制中,在圍棋、電子游戲等領域已經能夠達到甚至超越人類水平[3-4]。
然而,作為一種黑盒學習方法,強化學習完全通過與環境交互試錯積累經驗,但訓練環境與實際環境存在差異(Reality gap),可能存在過擬合(Overfitting)現象,難以保證智能體學得的控制策略的魯棒性[5];此外,智能體和工作環境參數的變化也可能導致任務失敗,這些因素都限制了其在具有高魯棒性要求場景中的應用。隨著應用領域的日漸增多,特別是在航天控制中,航天器的姿態控制、軌跡優化等任務具有風險性高、復雜度高、不允許失敗等特點,這對強化學習的魯棒性提出了挑戰。
2005年,Morimoto等[6]提出了魯棒強化學習(Robust RL, RRL)的概念,自此,越來越多的學者開始將目光投向強化學習算法的魯棒性保障上。本文將對魯棒強化學習的最新研究進行分類和總結。第1節簡要介紹了強化學習的基本概念,闡釋了何為強化學習中的魯棒性;第2節從引入H∞控制理論的魯棒強化學習、域隨機化方法、魯棒對抗強化學習3個類別系統地對魯棒強化學習進行綜述;第3節分析并展望了魯棒強化學習在航天控制中的應用;第4節對全文總結,并提出了進一步研究的思路。
強化學習是一種通過“試錯”(Trial-and-Error)方式進行學習的算法。以馬爾可夫決策過程(Markov decision process, MDP)為例,在強化學習中,智能體t時刻的信息用

圖1 強化學習算法示意圖
經過數十年的發展,強化學習已經成為了一個龐大的研究領域,產生了動態規劃、時間差分、Q-learning、Sarsa、策略梯度、演員-評論家、Deep-Q-Network等諸多傳統算法,并已在自動控制領域被廣泛應用。
在強化學習的訓練中,為了優化策略(即狀態-動作函數),智能體需要在環境中進行大量采樣,即不斷探索(Exploration),并利用探索到的信息來優化自身在利用(Exploitation)時的決策,通過不斷迭代和試錯來進行學習。
但是,在航天工程、軍事國防等失敗代價較高的實際任務中,不允許智能體的決策存在失敗的情況,即要求不能試錯。因此,必須通過建立仿真環境進行訓練,離線生成策略,并遷移到實際環境中。然而,實際環境和仿真環境間存在差異,如空間機器人遙操作問題中關節的阻尼無法準確測量,地外行星探測問題中星表摩擦力未知等,一旦仿真環境和實際環境無法完全匹配,或是存在輕微擾動,在仿真環境中離線生成的策略將無法在實際環境中進行控制,即會出現過擬合現象,在一定程度上限制了強化學習在實際環境中的應用。
在自動控制中,如果某種強化學習算法能夠在輸入存在小范圍偏差,或是模型存在小范圍不確定性的情況下,仍然保持良好的控制效果,那么這一算法就是魯棒的。文獻[7]指出,建模的誤差可以看作是系統中額外的輸入擾動,因此本文只考慮在輸入存在小范圍偏差的情況下強化學習算法的魯棒性。
為了打破仿真環境和實際環境間的壁壘,越來越多的魯棒強化學習算法被提出。本節將對魯棒強化學習的最新研究進行分類和總結,并從引入H∞控制理論的魯棒強化學習、域隨機化方法、魯棒對抗強化學習3個方面分別分析魯棒強化學習的研究進展,如圖2所示。

圖2 魯棒強化學習的分類
一種常見的方法是在強化學習中引入H∞控制。H∞控制理論給出了魯棒控制系統的設計方法,不僅能保證控制系統的魯棒性,而且能優化部分性能指標。如圖3所示,以一般控制系統為例,G為系統的傳遞函數,K為控制器,u為系統輸入的控制量,y為系統的測量輸出,w為輸入擾動,z為被控輸出。

圖3 H∞控制示意圖
H∞控制的目的是即使存在一定的輸入擾動,系統的輸出誤差仍然很小,即w到z的傳遞函數盡可能的小,用H∞范數表示為
(1)
式中:‖·‖2為L2范數;γ為設置的閾值。

(2)
通過進一步變換[8],可以將式(2)變化為尋找最優解
(3)
其條件為
(4)
式(4)即為哈密頓-雅可比-艾薩克方程(Hamilton-Jacobi-Isaacs equation, HJI equation)。
根據這一思想,在強化學習算法中,在獎賞r(t)外增加干擾獎勵,得到增強型獎勵函數
q(t)=r(s(t),a(t))+ω(w(t))
(5)
式中:w(t)為干擾;ω(w(t))為用來減少干擾輸入的附加獎賞。
此時價值函數為
(6)
式中:τ為時間常數。
HJI方程為

(7)
式中:T(·)為狀態轉移函數。
針對基于模型的強化學習問題,可以利用價值梯度(Value gradient)理論,將魯棒控制要求轉化為微分對策,將連續時間強化學習控制問題轉化為含有增強型獎勵函數的最大最小準則優化問題。其最優解可以直接通過求解HJI方程確定,這種方法在倒立擺的控制仿真中取得了比傳統強化學習更好的結果[9]。
針對無模型強化學習問題,一種名為行動者-干擾者-評論家(Actor-Disturber-Critic)的算法被提出,算法框架如圖4所示。行動者和干擾者的策略分別為

圖4 行動者-干擾者-評論家框架[6]
a(t)=ga(Aa(s(t);va)+na(t))
(8)
w(t)=gw(Aw(s(t);vw)+nw(t))
(9)
式中:A(·)為參數v的函數逼近器;n(·)為噪聲。
定義TD error
(10)
則算法的更新策略為
(11)
(12)
式中:η為學習率。
通過使用這種框架,可以解決大多數非線性系統最優策略不可解釋的問題。在此基礎上,文獻[10]通過信賴域策略優化(Trust region policy optimization, TRPO)的方法,引入深度神經網絡作為函數逼近器,利用深度強化學習(Deep RL, DRL)的思想拓展了無模型魯棒強化學習算法,并在很多復雜非線性機器人的仿真中驗證了魯棒性。文獻[11]進一步提出了一種具有魯棒穩定性保證的強化學習算法,利用最大熵算法搜索李雅普諾夫函數,保證閉環系統的H∞性能和穩定性,實現了目前最優的魯棒性能。
引入H∞控制理論的魯棒強化學習可拓展性強、適用方法多,能夠在很大程度上提升算法的魯棒性,但算法依然是有限制的、概率意義下的魯棒,因此,如何更大范圍地提升算法的魯棒性,成為引入H∞控制理論魯棒強化學習的研究方向之一。
與引入H∞控制理論的魯棒強化學習算法不同,另一種思路是在智能體的訓練過程中引入多個仿真環境,增強訓練得到的策略適應不同環境的能力,以減弱實際環境中模型不確定性帶來的影響,這類方法被稱為域隨機化(Domain randomization)方法,算法框架如圖5所示。

圖5 域隨機化方法框架
域隨機化方法最早可追溯至1995年,Jakobi等[12]將傳感器和執行器參數進行隨機化處理,一定程度上減小了噪聲和模型不確定性帶來的影響。
在強化學習中,以MDP問題為例,系統模型可以用狀態轉移函數表示為
st+1=T(st,at)
(13)
通過引入模型參數μ,得到一組模型
st+1=T(st,at;μ)
(14)
μ~ρμ
(15)
式中:ρμ為參數μ的概率分布。
此時,問題即轉化為最大化目標函數
(16)
可以使用策略梯度等算法進行求解。
文獻[13]通過增加擾動,進而改變名義模型的參數,得到一組仿真模型進行訓練,實現了有限模型集上的策略優化,但由于算力限制,其模型集中最多存在10個模型,在一定程度上限制了算法魯棒性的提高,且沒有將算法遷移到實際環境中進行測試。文獻[14]將算法應用于基于視覺的物體定位問題中,得到的物體探測器的定位精度達到1.5cm,且在干擾物和部分遮擋物存在的情況下依然有著良好的檢測性能,第一次將僅在模擬RGB圖像上進行訓練的深度神經網絡成功轉移到實際環境中,證明了算法的魯棒性。文獻[15]在訓練時隨機初始化摩擦系數和動作延遲,訓練機器人旋轉夾持器中的工具,利用算法控制機械臂推動物體,將隨機放置的隨機物體有效地移動到目標位置,進一步在實際任務中證明了算法的魯棒性。
域隨機化方法邏輯簡單、實現方便,但其弊端也相對明顯:在增加仿真環境個數的同時,算法的計算量會成倍增加;增加仿真環境只能在一定程度上提高算法的魯棒性,當實際環境不在仿真環境的包絡集合中時,訓練的策略很大程度上也不會取得良好的控制效果。因此,域隨機化方法雖然能夠在一定程度上提高強化學習算法的魯棒性,但其提升程度有限,智能性相對較弱。
受引入H∞控制理論的魯棒強化學習算法和域隨機化方法的啟發,2017年,Pinto等[16]提出了魯棒對抗強化學習(Robust Adversarial RL, RARL)的概念。與一般的魯棒強化學習算法直接由智能體與環境進行交互不同,魯棒對抗強化學習引入對手(Adversary)幫助主角(Protagonist)學習。對手的目的是產生擾動,進而影響主角學習;主角的目的是在對手的擾動下,仍然能夠完成給定任務,進而實現魯棒的控制性能。
一種自然的想法是讓對手模擬在實際環境中所有可能出現的情況[17]。但是,增強魯棒性的本質是即使存在能夠讓系統輸出偏差最大的輸入擾動,系統依然能夠保持良好的控制性能,這意味著模擬所有的輸入擾動的計算效率極低,且在大多數任務中,無法獲得實際環境的所有可能情況。魯棒對抗強化學習將主角的學習特性同樣賦予對手,即同時訓練主角與對手兩個智能體,以優化主角的決策,其算法示意圖如圖6所示。

圖6 魯棒對抗強化學習算法示意圖
對于主角和對手,其決策分別為
(17)
(18)

系統的狀態轉移函數和環境反饋的獎賞分別為
(19)
(20)
為了使對手對主角產生的影響最大,采用零和博弈的思想,規定主角和對手獲得的獎賞分別為
(21)
(22)
主角和對手的獎賞函數分別為
(23)
(24)
式中:T為預測時域。
最優解條件為
(25)
即找出在對手影響最大的情況下獎賞的最大值。
根據這一思想,一些其他方法也可以歸入魯棒對抗強化學習的框架中來。引入H∞控制理論的魯棒強化學習可以在某種程度上被認為是智能體與環境之間進行連續動態的零和博弈,其中環境即為輸入、狀態轉移函數、模型不確定性等。域隨機化方法可以被認為是智能體與一系列訓練環境之間的對抗,通過隨機化模型參數的方式,建立一系列固定的仿真環境,智能體通過與仿真環境之間的博弈進而優化自身的控制策略,從而提高算法的魯棒性。在此基礎上,文獻[18]引入深度學習(Deep learning)的思想,使用深度雙Q學習(Deep double Q-learning)算法和深度確定性策略梯度(Deep deterministic policy gradient, DDPG)算法,大幅度提升了算法在倒立擺等常見應用中的魯棒性。
魯棒對抗強化學習能夠勝任實際的控制任務,有效地解決了當仿真環境和實際環境間存在差異時的控制問題。然而,關于對抗與魯棒性之間關系的理論研究尚處于起步階段,如何從理論上證明算法的魯棒性保障,或對算法的可解釋性進行研究,成為了魯棒對抗強化學習的發展方向之一。
隨著航天工程逐漸向復雜化、智能化的方向發展,任務場景的非結構化和高交互性的日漸增強,對控制算法提出了更高要求[19]。近年來,計算機算力的不斷提高讓強化學習這類智能控制算法在航天控制中的應用成為了可能。空間在軌維護、小行星勘探、星球表面著陸、行星基地建造、空天飛行器控制[20]等典型場景也對控制算法的魯棒性提出了新的挑戰。本節將分析魯棒強化學習在航天控制中的應用現狀,并對其應用前景進行展望。
作為一種端到端的智能控制方法,強化學習能夠適應日益復雜的航天控制任務。文獻[21]提出單網絡積分型強化學習(SNIRL)算法,并將其應用在再入飛行器姿態控制問題中。求得最優控制律只需要采用評價網絡估計值函數,證明了閉環系統的穩定性。但由于實際的航天任務中存在不確定性,當實際環境與仿真環境不匹配時,算法很大程度上不能實現控制,即傳統的強化學習算法沒有專門解決魯棒性這一問題。
近年來,越來越多的學者將目光集中到了航天控制中的魯棒性問題上,我國載人運載火箭CZ-2F即利用基于參數裕度的魯棒設計方法提高控制系統的可靠性[22]。對于航天控制任務,由于太空環境復雜惡劣,為了提高空間飛行器芯片的可靠性,其計算單元的密度通常被控制得很低,導致其計算能力下降,無法進行大規模的訓練。因此,要實現魯棒強化學習在航天控制中的應用,需要解決的一個重要問題即為:在空間飛行器星載芯片算力有限的條件下,如何滿足魯棒強化學習訓練的高計算量消耗需求。
根據魯棒強化學習算法的訓練過程是否在線,可以將應用分為3類,即在線訓練的魯棒性策略、離線訓練的魯棒性策略、離線訓練與在線更新相結合的魯棒性策略,如圖7所示。本部分將分別對這3類應用方法進行分析,并總結各類方法的適用場景。

圖7 魯棒強化學習在航天控制中的應用分類
在少部分航天控制任務中,魯棒強化學習算法可以直接進行在線訓練,如圖8所示。如在大型航天器的在軌制造/裝配任務中,雖然環境特性未知,無法完全由人直接參與決策制定,但是環境在較長時間內變化緩慢,留給機械臂進行精細操作的時間比較充裕,對星載計算單元的算力要求不高,可以在線進行充分的魯棒強化學習訓練,實現自主、魯棒的任務規劃和決策的優勢[23]。

圖8 在線訓練的魯棒性策略
然而,完全在星載計算單元上進行訓練在大多數情況下是不可行的,一個常見的思路是訓練與應用分離,即在地面站預先做離線訓練,并將訓練好的魯棒性策略遷移至空間飛行器的控制單元中,在實際的航天工程任務中直接應用該策略,如圖9所示。

圖9 離線訓練的魯棒性策略
這一離線訓練方法常用于星表著陸等在線訓練計算量大的任務中,通過端到端的優化學習方法,可以解決類似航天器軟著陸這樣的復雜非線性系統[24]。文獻[25]首次將強化學習算法應用于行星表面自主著陸問題中,提出了一種基于強化學習的制導算法,通過設計一種自適應制導算法,能夠克服一定的環境不確定性,可以實現魯棒、省油、準確的著陸。算法將訓練過程預先放在地面站進行,盡管訓練階段的計算量很大,但是一旦訓練完畢,網絡輸出就由矩陣乘法和函數求值確定,其計算量少,且神經元的權重可以很容易地存儲在星載內存中,能夠實現100 Hz的高頻控制。仿真結果表明,該算法能夠自主跟蹤逼近最優的燃料消耗軌跡,其精度已經超出目前火星探測任務的需求。
在文獻[25]的基礎上,文獻[26]使用策略梯度中的近端策略優化(Proximal policy optimization)方法來學習策略,將著陸器估計的狀態直接映射到每個引擎的推力指令策略中,能夠在實際部署的軌道上產生準確且幾乎最佳的燃料軌跡,并能夠在6自由度仿真環境中抵抗噪聲和系統不確定性影響,進一步增強了系統的魯棒性,同時通過使用不同的衰減因子來獲得獎勵,顯著提高了系統的優化性能。
文獻[27]提出了一種自適應降落算法,從經驗中學習如何利用著陸器下方的圖像和高度計數據,并將此數據作為輸入,計算月球表面精確著陸問題中的最佳推力,利用卷積遞歸神經網絡和元學習算法實現基于圖像和實時的導航,證明了算法在月球著陸任務中控制性能的魯棒性。
離線訓練的魯棒強化學習方法雖然能很大程度上減輕星載計算單元的計算壓力,但也和其他離線算法一樣存在明顯的缺點:控制策略離線生成,導致其無法實時在線更新優化,難以適應新的不同環境,在一定程度上限制了其魯棒性的進一步提升。
除了在線訓練和離線訓練的魯棒強化學習應用方法,還有一種折衷的思路是離線訓練與在線更新相結合,即先在地面站的計算中心進行大規模訓練,得到初始的魯棒性策略,再將初始策略遷移至空間飛行器中,根據實際任務環境在線更新,以實現策略對未知環境的控制效果,如圖10所示。

圖10 離線訓練與在線更新相結合的魯棒性策略
受限于星載計算單元的算力,這種離線訓練與在線更新相結合的方法目前只適用于空間機械臂在軌操作等計算資源消耗少、采樣周期長的任務。文獻[23]針對目標特性未知的在軌操作環境,除了上文提到的在線訓練方法,還提出了離線訓練與在線更新相結合的方法:首先在地面站進行離線訓練,訓練出初始的魯棒策略,之后在實際的在軌操作任務中只需根據環境的變化做少量的探索更新,并針對目標特性未知的在軌操作環境研究了典型空間操作機械臂的路徑規劃策略,采用Sarsa(λ)強化學習方法實現目標跟蹤及避障的自主路徑規劃與智能決策。該方法將機械臂的每一節視為一個決策智能體,通過感知由目標偏差和障礙距離程度組成的二維狀態,設計了符合人工經驗的擬合獎賞函數,進行各機械臂轉動動作的強化訓練,最終形成各智能體的狀態-動作值函數表,即可作為機械臂在線路徑規劃的決策依據。通過將本方法應用于多自由度空間機械臂路徑規劃任務,仿真結果表明,算法能在有限訓練次數內實現對移動目標的穩定跟蹤與避障,同時各智能體通過學習所得的狀態-動作值函數表具備較強的在線自主調整能力,從而驗證了算法具有較強的智能性和魯棒性。
文獻[28]針對空間機器人的控制問題展開進一步研究。自由飄浮的空間機器人在實際的空間環境中運動非常緩慢,對系統實時性的要求比地面固定基座的機器人低,這為神經網絡的在線學習提供了充分的時間。針對自由漂浮空間機器人,文章利用RBF神經網絡來逼近其動力學模型,設計了魯棒控制器對逼近誤差和外部干擾進行抑制,建立了新的神經網絡參數和連接權值的在線學習算法,利用耗散理論設計魯棒控制器,在保證系統實時性和穩定性的前提下,進一步提升算法的控制精度。可以認為其提出的魯棒強化學習算法是能夠在線更新的。
文獻[29]針對空間機械臂從地面裝調到空間應用過程中重力項的變化問題,利用RBF神經網絡在線建模,實時逼近重力項。其不依賴于系統的模型,不需要對系統的動力學方程進行參數線性化,提出了一種神經網絡自適應魯棒補償控制策略,通過神經網絡在線建模逼近系統模型中變化的重力項,逼近誤差及系統的不確定性通過自適應魯棒控制器來補償,進而控制空間機械臂的末端,實現了地面環境與空間環境重力不匹配時的在軌操控任務。
綜上,魯棒強化學習在航天控制中的應用已初步顯現,國內外多名學者均針對此展開相關研究。依據任務的復雜程度,目前魯棒強化學習在航天控制中的應用主要分為在線訓練、離線訓練、離線訓練與在線更新相結合3種方法。其中在線訓練無需任何先驗知識,可以在完全未知的環境中在線生成魯棒性控制策略,但只適用于任務相對簡單的航天控制場景;離線訓練主要針對任務復雜度高、不可能在太空的星載計算單元上訓練的場景,不占用過多的星載計算資源,但需要事先獲取大量的訓練數據,且無法在實際環境中在線更新,一定程度上限制了其魯棒性;用離線訓練與在線更新相結合的方法對前兩種方法進行融合,既不過多地占用星載計算資源,又能夠實現策略的實時更新,但當任務相對復雜、采樣周期過短時,算法的計算消耗即會顯著增加,無法實現魯棒性策略的實時在線更新。
作為一種智能控制算法,魯棒強化學習打破了仿真訓練和實際任務之間的壁壘,在航天器的在軌服務與操作、地外行星探測、軍事國防等領域都有著十分開闊的應用前景,如圖11所示。

圖11 魯棒強化學習在航天控制中的部分展望
在航天器的在軌服務與操作方面,航天工程對航天器的結構和功能提出了復雜化和智能化的要求,使得航天器在軌維修、模塊更換等需求日益增加,增強航天器的可靠性、降低維護成本、提高航天器的壽命等對于保障航天器的安全穩定運行具有重要意義[30],同時也對控制算法的魯棒性提出了巨大挑戰。由于存在天地大回路信號傳輸時延、獲取信息有限、不同人決策經驗的相異性等因素,由地面人員手動進行衛星控制顯然不切實際。魯棒強化學習算法可以很好地解決這一問題,首先通過仿真環境離線訓練“粗”的初始策略,接著在實際環境中在線學習“細”的策略,使用魯棒強化學習算法保證策略從仿真環境遷移到實際環境中的魯棒性,即可實現故障實時自動檢測、精細化故障維修等功能,在無需人為控制的情況下完成航天器的在軌服務與操作。
在地外行星探測方面,由于行星表面環境復雜,需要用離線訓練算法對探測器進行控制,以避免因未知地形造成的傾倒、空轉、卡堵等情況。但由于無法準確獲得摩擦力等星表環境參數,仿真環境與實際環境間必定存在差異,可用魯棒強化學習算法解決這一問題。通過訓練魯棒性策略,探測器由仿真環境遷移至實際的星表時依然能夠取得很好的控制性能,可以在多種地形上安全前行,適應不同的未知情況,實現可靠作業。
此外,在同樣具有航天背景的軍事國防應用中,魯棒強化學習可以更加可靠地完成作戰任務。如在戰場的洲際彈道導彈攔截任務中,使用魯棒強化學習算法能夠更加快速、準確地完成導彈本體和敵方迷惑性目標的識別。我方攔截導彈可以利用魯棒性策略,優化攔截方案的規劃和設計,在提高攔截成功率的同時降低彈藥損耗,同時保護我方主要軍事目標的安全。這種攔截導彈在某種程度上可以被認為是一種“會學習”的導彈[31],如圖12所示。

圖12 使用魯棒強化學習完成洲際彈道導彈攔截任務
目前,受限于理論水平、硬件設備等因素,魯棒強化學習算法在航天控制中的應用正處于起步階段,且算法的魯棒性有待進一步提高。但是,隨著理論研究的深入和計算水平的提高,魯棒強化學習算法必將越來越多地應用于航天控制中,在提高航天器自主性的同時,充分保證算法的魯棒性。
魯棒強化學習是一種具有廣闊應用前景的機器學習方法,能夠為具有不確定模型的優化控制問題提供有力的分析手段。本文通過對國內外研究進行總結與評述,從引入H∞控制理論的魯棒強化學習、域隨機化方法、魯棒對抗強化學習3個類別綜述了魯棒強化學習,分析總結了其在航天控制中的應用,并對未來應用前景進行了展望。
魯棒強化學習是強化學習邁向航天控制等實際應用的重要一步。目前,針對魯棒強化學習的研究尚未形成成熟的理論體系,因此算法在航天控制中的應用大多處于仿真階段,鮮有在實際航天任務中使用。此外,太空環境復雜惡劣,為了提高航天器芯片的可靠性,計算單元的密度被控制得很低,導致計算能力相對變差,無法進行大規模的訓練,對算法的學習效率、采樣效率以及計算速度都提出了挑戰。隨著理論研究和硬件性能的不斷發展,魯棒強化學習的研究必定會進一步深入,在航天控制等實際任務中具有廣闊的應用前景。