控制算法手記——深度強化學習控制
文:李磊2024年第五期
近年來,隨著相關算法、仿真平臺、訓練框架、硬件和工具鏈的成熟,深度強化學習DRL(Deep Reinforcement Learning)控制方法在無人機、腿足機器人(四足、雙足、人形等)、自動駕駛等機器人運動控制領域展露頭角,取得了令人印象深刻的控制效果,體現出了優越的魯棒性和泛化能力。
文/李磊
近年來,隨著相關算法、仿真平臺、訓練框架、硬件和工具鏈的成熟,深度強化學習DRL(Deep Reinforcement Learning)控制方法在無人機、腿足機器人(四足、雙足、人形等)、自動駕駛等機器人運動控制領域展露頭角,取得了令人印象深刻的控制效果,體現出了優越的魯棒性和泛化能力。對于這些典型的欠驅動系統(Underactuated System),強化學習端到端(End-to-End)的控制方案正在取代基于模型的控制中(規劃-跟蹤控制-狀態估計)分層、模塊化控制方案,成為學術界和工業界追逐的潮流。
基于模型的控制方案中,劃分各個控制模塊的做法在某種意義可以視為手動特征工程,而這一點恰好正好是深度學習這類方法的優勢(自動特征工程)。然而,拋去自動特征工程的優勢,端到端方案也面臨著獎勵稀疏、可解釋性差、訓練-部署實施周期長的問題,抹去了基于模型的模塊化方法帶來的模塊化設計、調試便利和物理可解釋性強等優勢,加上動力學對象本身帶來的穩定性、可靠性憂慮,阻礙了深度強化學習方法在實際中的部署。事實上,從事深度強化學習控制的人來自不同的專業背景(來自計算機領域、或者機電、控制、自動化等領域)對于深度強化學習控制勢必會發展采取不同的態度。
從另一方面來看,對于欠驅動系統的運動控制,必須考慮長期效應使得優化控制(Control as Optimization)已經成為主流控制范式,無論是軌跡優化TO、模型預測控制MPC還是強化學習方法,本質是用不同的方法求解同一類運動控制問題,也出現了諸如基于模型+深度強化學習相結合的控制方法,以更好利用兩者的優勢。
基于上述背景,本文在參考相關資料的基礎上(見文章結尾介紹),希望對以下問題做出初步梳理,以便加強理解:深度強化學習的背后的基本原理是什么?其求解最優控制的思路與傳統基于模型的優化控制(MPC、TO)有何差異?由于暫時尚無機會從事相關方面的系統研究,因此相關分析主要依據公開文獻整理和總結而來,不當之處,歡迎討論糾正。
1 強化學習介紹
強化學習RL(Reinforcement Learning)針對作為主體的智能體(Agent)與作為客體的未知環境(Unkonwn Environment)交互的多步、序貫決策過程,通過試錯(Trial-and-Error)方法,求解最優策略(最大化累積獎勵或長期回報,這些長期回報對應著預設的性能指標)的一類問題。環境未知、持續多步的決策過程(當前決策會帶來長期影響)是強化學習問題需要解決的兩大挑戰。
與其他機器學習方法不同,強化學習擁有的是環境,而不是數據,其目的并不是發現已有數據(從環境中隨機采樣)背后的特征、規律和分布特點(非監督學習),或者找到數據之間的復雜映射關系(監督學習),而是通過自主選擇與環境交互的方式,產生有價值的交互數據(這里的價值是相對于目標而言的,即能夠幫助求解最優策略的數據),找到更好適應環境的的方式(獲得更多獎勵)。深度強化學習(Deep RL)則利用深度神經網絡這類方法強大的特征提取和近似能力,在回報函數引導下提取狀態信息的深層特征并建立這些深層特征與長期回報的決策相關性的過程,其求解復雜決策問題的思路仍然以強化學習的求解優化問題的基本思路為主(值迭代和策略迭代),增加的是如何設計和訓練深度神經網絡以盡可能無偏、確定性地(方差)近似各種價值函數,這些價值函數表征著當前動作和狀態的長期回報。因此對于深度強化學習來說,最重要的不是深度神經網絡,而是對強化學問題基本原理和所涉及的具體決策場景的深入理解。
2 強化學習基本原理
強化學習其通常面臨兩個問題:數據效率(Data Efficiency)和計算效率(求解最優策略),我們既要考慮產生有價值的交互數據,又要考慮如何從交互數據中學習最佳策略。其中數據效率即如何有針對性地(而不是隨機產生或者完全自由探索產生的數據,這些數據可能在與最優策略相關的區域分布較少,從數據難以得到較好的策略,如考試中老師劃重點可能會幫助我們得到高分,盲目復習可能得分較低)產生我們感興趣的或者對于目標有幫助的交互數據。比如,在多個選項中進行決策時,對于較差的選項,我們不需要知道有多差,對于看起來較好的選項,我們需要準確低估計到底有多好,以便選擇最好的,因此需要較多看起來比較好的選項相關的數據,但是終究我們無法真正確定是不是還有更好的,因此我們需要的交互數據應該既是“與當前判斷最佳選項比較接近的”,但又必須是“有所不同的”,這也是強化學習中十分重要的基礎問題:探索-利用(Exploration-exploitation)平衡問題,即在未知環境下,如何通過有限次的主動交互(有效的交互數據),相對準確估計并確定最佳選項。
對于持續多步的決策過程,基于馬爾科夫決策過程MDP假設(MDP假設下一步的狀態僅僅由當前狀態和動作決定,即只需要根據當前狀態和動作便可以計算下一步狀態的分布)帶來的每一步對應的成本/獎勵可加性和動態規劃思想,強化學習將當前動作以及后續持續多步決策過程的影響分離開,并利用通過巧妙地定義各種價值函數(按照最優策略走才能兌現價值)排除掉后續不同決策組合帶來的無窮可能性, 將互相關聯的多步決策對長期回報影響轉化為單步決策問題的回報影響,為利用值迭代或者策略梯度方法奠定基礎,從而簡化最優策略的求解。
不同于監督學習,強化學習中深度神經網絡訓練過程中并沒有明確的標簽/監督信息,只能靠獎勵函數進行引導(強化學習的目標是最大化累積獎勵,因此引導的方向是增加體現出較高價值/累積獎勵的狀態-動作映射的權重,以便智能體記住有用的技能/動作,這種較高價值的狀態-動作映射出現得越多,學習過程越快,也越能準確得到最有效的動作),如果引導信息較少(即稀疏回報問題),則無疑會增加強化學習的訓練難度和成功率,這也是強化學習目前應用于一些復雜技能學習的難點。因此基于對任務目標、流程和業務細節的理解格外重要,這些理解能夠引導獎勵函數函數的設計(因此,實際才有獎勵工程的說法,一些控制人物的獎勵函數項可以達到十項以上)。
具體到深度強化學習的不同方法,基于值迭代的方法(如各類DQN算法)本質上是擬合逼近獎勵函數定義下的客觀存在的、真實的動作-狀態價值(因此可以利用經驗回放等離線數據改進狀態價值估計),然后利用估計好的狀態-動作價值函數進行決策;而策略梯度算法AC(Actor-Critic即演員-評論家)架構中,Actor與環境交互產生單步狀態轉移數據,Critic網絡估計單步狀態-動作優勢函數(將策略的影響劃分到單步上),逐漸增大能夠帶來較大回報的單步狀態-動作概率,最終使得能夠帶來最大價值回報的動作能夠以最高的幾率被選中,即實現最優策略。值得注意的是,無論對于值迭代方法和策略梯度方法,探索-利用平衡問題貫穿始終,以避免錯失潛在最優動作。
綜上,從與環境交互產生數據和基于交互數據優化策略兩個方面來說,強化學習的基本原理可總結如下:
為此,我們只有對智能體進行初步訓練,當它有了初步的分辨能力之后就能夠判斷并產生相對更加“重要”的數據。然后,智能體又會用這些數據優化自身的策略,并能夠更準確地判斷哪些數據更加“重要”。隨后,它又能夠更有針對性地從環境中產生更加有價值的數據,并進一步優化自身的策略。將這個過程迭代下去,便是一個“越學越強”的過程。這也正是“強化學習”這個名稱的由來。 ——《強化學習》余欣航
3 與優化控制的聯系
得益于強化學習對價值的定義(即考慮當前動作帶來的長期影響)以及策略網絡類似于狀態反饋控制的形式,深度強化學習控制即具備強大的規劃能力(Predictive)也具備即時反應能力(Reactive),加上深度神經網絡自動關聯和提取隱藏特征(對于狀態輸入)以及萬能逼近(對于策略網絡)的優勢,這也是深度強化學習能夠實現端到端規劃控制一體化的根本原因,也是目前深度強化學習在無人機、腿足機器人等欠驅動動力學系統成為SOTA算法的原因。
在使用強化學習解決實際動力學控制問題時,我們必須將問題轉化為強化學習的標準數學模型-MDP,然而才能使用強化學習相關工具和算法解決問題,這就涉及到動作空間、狀態空間以及獎勵函數的設計以及對應任務回合(Episode)設定(如該回合中的環境設定、任務中止條件等,對應著與環境產生何種交互數據)。目前,深度強化學習控制一般采用先在仿真環境中訓練出策略,后實際遷移部署的范式,需要格外注意的是:
l 狀態空間的設計應該滿足MDP假設,包含歷史動作、指令信息、環境信息等影響當前動力學特性的信息;
l 深度強化學習控制中,Sim2Real的差距是一個值得注意的問題,其本質問題時仿真環境中產生的環境交互數據不一定能夠代表實際環境中的狀態(如狀態分布規律、狀態轉移特性)。如對于機器人系統來說,機器人自身動力學特性(控制延遲、噪聲、誤差以及外部干擾等)以及環境參數(如地形物理和幾何特性)本身就是狀態的一部分,在仿真環境中未必能準確反映,應該采用合適的方法處理(如參數隨機化等)。
從傳統優化控制的視角(環境/模型已知)來看,深度強化學習控制和優化控制的聯系可以用圖1表示。其中在求解最優策略方面,策略梯度和值迭代分別借鑒了控制泛函(龐特里亞金極大值原理)和動態規劃的思想,這兩種優化控制方法由于數值求解難度較大(如維度爆炸)目前在機器人優化控制領域(狀態、控制連續)已經較少應用。
圖1 深度強化學習與優化控制聯系
機器人優化控制領域常見的為直接方法,即利用模型信息(離線環境信息),推導出目標函數、約束條件等解析表達式,將問題Formulate成模型預測控制MPC/軌跡優化TO問題,并直接轉化為非線性規劃NLP(Nonlinear Programming)問題,按照是否同時優化狀態變量和控制輸入,進一步可以分為單步打靶法(Single Shooting method)和(多步打靶法和直接配點法)。單步打靶類方法如(動態微分規劃DDP或者迭代線性二次調節器iLQR)借鑒了狀態價值函數和狀態-動作價值函數的概念,并基于策略迭代的思路求解最優控制,加上通過一些數值方法能夠處理相關約束,近年來逐步得到推廣應用。
而對于其他方法,則是利用非線性規劃思路,通過數值迭代(注意非價值迭代或者策略迭代)直接整體求解出相關整體最優控制和控制,是與強化學習控制截然不同的求解思路。值得注意的是,從近似動態規劃的角度來看,MPC可以理解為將未來代價近似為0(未來長期代價可以認為沒這么重要,可以忽略),而僅僅做預測窗口內的優化(一般為秒級別內的機器人動態),這種處理方式保證了實時求解的速度,但由于忽略長期動態影響,可能會帶來穩定性方面的考慮。然而,從另一方面來看,目前大多強化學習算法都通過負獎勵項處理約束(這也是強化學習的獎勵項較多的原因之一),安全強化學習或者限制MDP過程的最優決策是值得注意的方向。
4 總結
本文嘗試對深度強化學習的背后的基本原理以及其與傳統基于模型的優化控制(MPC、TO)有何差異進行了初步分析和梳理,其中涉及到大量的細節仍有待深入分析和實踐驗證。如同其他控制算法一樣,雖然深度強化學習控制在機器人運動控制領域目前已經成為潮流,但實際應用中,應該結合其本質原理和具體問題分析進行應用。
在試圖梳理相關概念的過程中,讀到很多有啟發性的圖書和讀書筆記,這里一一列出,并表示感謝。西湖大學趙老師的《強化學習的數學原理》,脈絡清晰、循序漸進地解釋了強化學習背后的基本數學原理及其對應的求解方法(貝爾曼最優方程),對深度強化學習進行了祛魅。余欣航老師的《強化學習》教材(最近剛出版,已經入手收藏,本文一些文字幾乎是復制這本書)則以富有洞見的文字清楚解釋了強化學習重要概念(如探索與平衡)和主要思路,并且加入優化控制的視角,加深了對相關概念的理解。魏寧老師的深度強化學習落地指南則從實際落地的角度,格外強調了在對實際業務問題深度理解的基礎上,如何有針對性地進行動作、狀態與獎勵函數的協同設計,避免盲目套用算法。王源老師的《強化學習與最優控制》讀書筆記,則從近似動態規劃(差分思想)的強度,將MPC/TO、強化學習放在了同一個視角下進行了對比分析。最后加上MIT的Russ Tedrake 教授在欠驅動動力學系統中著重強調的必須考慮長期動態影響以及對優化控制方法的分析,以上都是非常好的深度強化學習控制入門學習資料,一并推薦。
中傳動網版權與免責聲明:
凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊
- 運動控制
- 伺服系統
- 機器視覺
- 機械傳動
- 編碼器
- 直驅系統
- 工業電源
- 電力電子
- 工業互聯
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯接
- 工業機器人
- 低壓電器
- 機柜