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

關(guān)注伺服與運動控制公眾號獲取更多資訊

關(guān)注直驅(qū)與傳動公眾號獲取更多資訊

關(guān)注中國傳動網(wǎng)公眾號獲取更多資訊

掃碼關(guān)注小程序
時刻關(guān)注行業(yè)動態(tài)


填寫郵件地址,訂閱更多資訊:
撥打電話咨詢:13751143319 余女士
郵箱:chuandong@chuandong.cn
- 運動控制
- 伺服系統(tǒng)
- 機器視覺
- 機械傳動
- 編碼器
- 直驅(qū)系統(tǒng)
- 工業(yè)電源
- 電力電子
- 工業(yè)互聯(lián)
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯(lián)接
- 工業(yè)機器人
- 低壓電器
- 機柜