羅森林,魏繼勛,劉曉雙,潘麗敏
(北京理工大學(xué) 信息與電子學(xué)院, 北京 100081)
現(xiàn)代自動化系統(tǒng)中,廣泛使用PID、自抗擾控制等算法[1-2]實現(xiàn)系統(tǒng)在不同環(huán)境下的高效、穩(wěn)定運行.此類控制算法的參數(shù)需要專家基于規(guī)則或經(jīng)驗在運行現(xiàn)場反復(fù)調(diào)試[3],整定過程耗時長且包含大量重復(fù)工作. 強化學(xué)習(xí)方法[4]可將整定過程近似為控制目標優(yōu)化問題[5],在一定程度上代替專家,自主完成參數(shù)整定.
實際的參數(shù)整定任務(wù)常包含多個存在矛盾的控制目標[6],例如列車自動駕駛系統(tǒng)的停車誤差、舒適度,鍋爐溫控系統(tǒng)的上升時間、超調(diào)量等. 此類任務(wù)中一個目標減小時,與之沖突的目標將增大,呈現(xiàn)矛盾關(guān)系. 多數(shù)強化學(xué)習(xí)方法側(cè)重于優(yōu)化單一目標. 為實現(xiàn)多目標優(yōu)化,其處理方式為依據(jù)目標間的矛盾關(guān)系及對目標的偏好程度,將各目標加權(quán)線性組合[7-8],利用所得的全局單一目標建立單智能體. 實際在線應(yīng)用時,因系統(tǒng)本身的復(fù)雜特性和運行環(huán)境的不確定,目標間關(guān)系隨系統(tǒng)性能及運行環(huán)境改變而發(fā)生變化,矛盾將減小、增大甚至消失,與先驗存在偏差.此時,智能體僅學(xué)習(xí)到了固定的調(diào)參知識,依舊按照預(yù)設(shè)的權(quán)重優(yōu)化目標[9],無法在矛盾關(guān)系變化時做出自適應(yīng)性調(diào)整并探索可能存在的最優(yōu)解,導(dǎo)致整定效果不理想.
針對上述問題,提出一種面向多目標參數(shù)整定的協(xié)同深度強化學(xué)習(xí)方法. 方法將整定過程轉(zhuǎn)化為離線單目標整定學(xué)習(xí)及在線多目標感知強化兩個階段. 離線階段針對單一目標設(shè)計獎勵、調(diào)參動作,應(yīng)用Double-DQN 建立多個面向單一目標的智能體;離線階段,建立整定效果反饋,從反饋中感知目標關(guān)系變化情況,同時對各智能體添加動態(tài)權(quán)重,自適應(yīng)調(diào)節(jié)智能體協(xié)同策略,使其根據(jù)目標關(guān)系的變化調(diào)整對目標的優(yōu)化程度,提升所有目標的參數(shù)整定效果.列車自動駕駛系統(tǒng)參數(shù)整定實驗結(jié)果表明,本方法與單智能體的方法相比,能夠適應(yīng)不同的車軌性能差異,提升停車誤差、舒適度兩個目標的參數(shù)整定效果.
多目標控制參數(shù)整定方法有經(jīng)典控制理論方法、基于啟發(fā)式算法的方法、結(jié)合機器學(xué)習(xí)的方法[1]等.經(jīng)典控制理論方法通過推導(dǎo)系統(tǒng)模型確定最優(yōu)參數(shù),但復(fù)雜系統(tǒng)建模困難;基于啟發(fā)式算法的方法[10],如NSGA-Ⅱ、MOPSO 等,在參數(shù)空間中搜索可行的解集,但算法時效性不理想;結(jié)合機器學(xué)習(xí)的方法,如模糊神經(jīng)網(wǎng)絡(luò)[11],構(gòu)建環(huán)境與參數(shù)的映射,通過感知環(huán)境狀態(tài)信息輸出最優(yōu)參數(shù),但在環(huán)境非平穩(wěn)時學(xué)習(xí)能力弱.
強化學(xué)習(xí)通過與環(huán)境交互積累知識,可以在無系統(tǒng)模型的條件下通過環(huán)境反饋快速調(diào)參. 李金娜等[12]使用Q 算法進行無模型系統(tǒng)的最優(yōu)控制,??旱萚13]使用深度確定性策略梯度算法進行船舶航向參數(shù)調(diào)整,甄巖等[14]用深度Q 網(wǎng)絡(luò)方法進行飛行器制導(dǎo)的參數(shù)整定. 但這些方法對多個優(yōu)化目標的處理方式是將目標加權(quán)組合或排除沖突目標,雖然降低了問題復(fù)雜度,但必須建立先驗假設(shè)以對目標做出權(quán)衡[6],實際所得結(jié)果往往是次優(yōu),甚至難以滿足任務(wù)要求. 因此,提出一種面向多目標的多智能體協(xié)同深度強化學(xué)方法.
所提方法分為離線單目標整定學(xué)習(xí)和在線多目標感知強化兩個階段,離線單目標整定學(xué)習(xí)階段,針對單目標進行特征提取,使用DNN 網(wǎng)絡(luò)學(xué)習(xí)調(diào)參知識,訓(xùn)練多個智能體;在線多目標感知強化階段,從運行特征中感知整定效果,根據(jù)運行效果自適應(yīng)調(diào)節(jié)智能體權(quán)重,協(xié)同優(yōu)化多個目標,得到整定控制參數(shù)并持續(xù)優(yōu)化. 圖1 表示所提方法的原理框架.
圖1 方法原理框架Fig. 1 Principle framework of the proposed method
系統(tǒng)運行環(huán)境為智能體提供狀態(tài)特征信息. 如圖2 所示,可調(diào)參控制器控制受控對象,受控對象與運行環(huán)境交互并輸出實際值. 智能體的調(diào)參過程便是感知與實際值相關(guān)的狀態(tài)特征信息,調(diào)整控制參數(shù),使實際值滿足系統(tǒng)運行需求,數(shù)學(xué)描述如式(1)所示.
圖2 系統(tǒng)運行環(huán)境Fig. 2 The system operating environment
離線階段使用隨機控制參數(shù)初始化系統(tǒng)運行仿真環(huán)境,應(yīng)用Double-DQN 構(gòu)建多個智能體. 每個智能體對應(yīng)一個控制目標,以環(huán)境狀態(tài)特征信息為輸入,調(diào)參動作為輸出,在有限次的“感知-調(diào)參”循環(huán)中學(xué)習(xí)最優(yōu)參數(shù)整定策略 π(s). 每次循環(huán),智能體感知狀態(tài)St, 執(zhí)行調(diào)參動作At,環(huán)境轉(zhuǎn)移至下一個狀態(tài)St+1, 并給予智能體收益Rt+1. 最優(yōu)策略下,多次循環(huán)的累計收益最大. 收益是根據(jù)實際值設(shè)置的正值獎勵或負值懲罰,當實際值接近目標值時給予獎勵,遠離時給予懲罰,實際值滿足約束條件時給予大額獎勵. 動作指對控制參數(shù)進行不同幅度的增減.
Double-DQN 算法是一種深度強化學(xué)習(xí)模型,可以避免過估計問題對性能的損耗,有效加快訓(xùn)練速度[15-17]. 算法以價值函數(shù)Q(s,a)為學(xué)習(xí)對象,并用深度神經(jīng)網(wǎng)絡(luò)逼近,原理如圖3 所示. 訓(xùn)練時每次從經(jīng)驗池中隨機選取樣本 <St,At,Rt+1,St+1>以公式(2)為損失函數(shù),使用隨機梯度下降法(SGD)更新DNN 參數(shù).
圖3 Double-DQN 算法原理Fig. 3 Principle of the Double-DQN method
在線階段各智能體嵌入自動化系統(tǒng)中,對初始控制參數(shù)進行調(diào)整,使用動態(tài)權(quán)重自適應(yīng)目標關(guān)系變化,在系統(tǒng)整個生命周期中進行持續(xù)優(yōu)化. 隨系統(tǒng)自身性能變化以及運行環(huán)境改變,目標間的關(guān)系充滿不確定性. 參數(shù)整定過程中,多個目標的增減情況一致時,各智能體優(yōu)化各自目標,可使所有目標共同減??;不一致時,智能體需優(yōu)先保證重要目標的優(yōu)化效果,同時減小對沖突目標的優(yōu)化.
使用權(quán)重wm體 現(xiàn)目標的重要程度,wm位 于[0,1]之間,數(shù)值越大表示目標越重要. 多個目標加權(quán)聯(lián)合,作為參數(shù)整定的全局目標,如式(4)所示.
fm(x)是隨控制參數(shù)變化而改變的連續(xù)函數(shù),當參數(shù)小幅度變化時,目標函數(shù)值在小范圍內(nèi)波動. 對各智能體添加代表智能體對目標的關(guān)注程度的權(quán)重.權(quán)重為0 時智能體將不再改變控制參數(shù),也不再對目標進行優(yōu)化. 智能體與目標共享相同的權(quán)重,使關(guān)注程度與重要程度保持一致. 將所有智能體的策略聯(lián)合,使用聯(lián)合策略對全局目標進行優(yōu)化,公式為
各智能體受權(quán)重控制,優(yōu)先關(guān)注重要目標. 由于沖突存在,低權(quán)重目標優(yōu)化效果較差,重要目標達到最優(yōu)時,其他目標仍有優(yōu)化空間. 因此,在優(yōu)化過程中,根據(jù)目標間關(guān)系的變化情況,對非重要目標的權(quán)重進行動態(tài)調(diào)整,調(diào)整方式如下:當非重要目標未滿足約束條件時,每次目標值增大將增加權(quán)重wm=wm+λ , 0 <λ <1,使其在全局目標中重要程度升高,聯(lián)合策略對其關(guān)注程度加重;滿足約束條件時,每次目標值增大將減少權(quán)重wm=wm-λ,使得其重要程度減少,聯(lián)合策略減少關(guān)注程度,避免影響重要目標的優(yōu)化效果;如果目標值減小,則權(quán)重維持不變. 重要目標的權(quán)重保持不變,保證其在整個調(diào)參過程中的優(yōu)化效果;非重要目標的權(quán)重始終保持在 [0,1]之間,在原有的優(yōu)化效果上進行小幅度調(diào)整. 通過動態(tài)權(quán)重調(diào)整,改變對各目標的優(yōu)化順序,在不斷變化的多目標關(guān)系間尋求最優(yōu)解.
為驗證提出的多智能體協(xié)同方法對多目標參數(shù)整定的提升效果,進行列車自動駕駛系統(tǒng)(automatic train operation)參數(shù)整定實驗,并與Q、DQN、Double-DQN 單智能體方法進行比較. 實驗通過調(diào)整3 個控制參數(shù)優(yōu)化舒適度、停車誤差兩個不定矛盾目標,停車誤差具有高優(yōu)先級. 單智能體方法利用線性組合后的全局目標進行參數(shù)整定.
列車自動駕駛參數(shù)整定實驗環(huán)境為利用某地鐵軌道電子地圖、列車性能數(shù)據(jù)、專家知識建立的車輛運行狀態(tài)仿真環(huán)境,由自動駕駛系統(tǒng)、列車、運行線路構(gòu)成. 自動駕駛系統(tǒng)實時控制列車在發(fā)車、提速、巡航、減速、停靠等過程中的運行速度. 速度控制有PID、速度追趕、專家策略等多種控制策略. 自動駕駛系統(tǒng)需要在列車運行的不同階段適時切換不同的控速策略,以實現(xiàn)列車穩(wěn)速舒適運行及在停車站點精準停車. 策略切換點由轉(zhuǎn)換參數(shù)控制,部分參數(shù)需要根據(jù)列車性能、運行線路、運行需求定期重調(diào).
實驗環(huán)境可正確響應(yīng)參數(shù)改變所帶來的運行效果變化,且對一組確定的參數(shù),其仿真結(jié)果與真實列車運行結(jié)果相似. 環(huán)境的輸入為待整定參數(shù),輸出為軌道線路上列車在各站點間的運行效果. 運行效果包括:停車誤差、控速策略轉(zhuǎn)換時列車速度表現(xiàn)、實際速度曲線與理想速度曲線差異、列車制動表現(xiàn)等.環(huán)境的狀態(tài)特征為運行效果的量化.
生成仿真列車時,對列車添加隨機性能噪聲,使各列車性能不同;列車仿真運行時,對列車的制動力進行隨機增減,使環(huán)境對列車的作用效果不斷變化.通過兩個隨機過程,模擬車軌性能不斷發(fā)生變化的真實環(huán)境.
使用停車誤差f1(x)及 舒適度f2(x)評價參數(shù)整定效果.
停車誤差f1(x)=e,通過傳感器直接獲取,指車廂門與屏蔽門或等候線對齊時的偏移量,表示列車能否精確停靠在站臺指定停車點.
列車運行過程中速度v(t)隨時間變化,舒適度f2(x) 為 列車實際速度曲線va(t)與 理想速度曲線vi(t)的差異,如公式(6)所示.
根據(jù)列車運行要求,停車誤差絕對值小于30 cm、舒適度小于500,列車可正常運行.
在列車自動駕駛系統(tǒng)控制參數(shù)調(diào)整任務(wù)上,將所提方法與Q、DQN、Double-DQN 單智能方法進行比較,單智能體方法以采用不同權(quán)重組合后的全局目標函數(shù)為學(xué)習(xí)、優(yōu)化對象.
多智能體協(xié)同方法分別對目標函數(shù)f1(x)及f2(x)構(gòu)建智能體. 智能體的深度神經(jīng)網(wǎng)絡(luò)含有3 個隱藏層,每個隱藏層有128 個神經(jīng)元,層與層之間使用線性整流函數(shù)(RLU)作為激活函數(shù). 單目標整定學(xué)習(xí)時,min-max 標準化處理已量化的環(huán)境狀態(tài),使用Adam算法更新神經(jīng)網(wǎng)絡(luò)參數(shù). 多目標感知強化時,設(shè)置重要目標f1(x)的 權(quán)重為1,非重要目標f2(x)的權(quán)重為0.5,權(quán)重變化系數(shù) λ=0.05.
單智能體方法對各個目標設(shè)置權(quán)重,利用線性組合后的全局目標進行整定策略學(xué)習(xí),將停車誤差f1(x)獎 勵權(quán)重設(shè)置為1,舒適度f2(x)獎勵權(quán)重分別設(shè)置為1、0.5、0.1,每種方法對應(yīng)3 組權(quán)重. 智能體的網(wǎng)絡(luò)結(jié)構(gòu)與多智能體協(xié)同方法相同.
各智能體整定策略學(xué)習(xí)時的超參數(shù)設(shè)置如表1所示,其中 ε隨Episodes 線性減小,從 εstart減 少至 εend.
表1 實驗方法超參數(shù)Tab. 1 Hyperparameters of experimental methods
隨機選取100 組初始參數(shù)進行整定效果驗證,每組參數(shù)對應(yīng)一輛不同性能的列車,整定次數(shù)限定為100 次. 將均值作為最終結(jié)果,如表2 所示.
由表2 結(jié)果可知,(1)本文的協(xié)同方法在不同車軌性能下對停車誤差、舒適度優(yōu)化結(jié)果的均值分別為21.89、281.081,滿足停車誤差絕對值小于30 cm、舒適度小于500 的運行需求. 而單智能體方法,舒適度指標最低為653.38,無法滿足運行需求. (2)單智能體方法,隨舒適度權(quán)值升高,舒適度的結(jié)果值減小,但始終未達目標要求. (3)本文方法的停車誤差結(jié)果為21.892 cm,大于Q-learn 方法的18.175 cm,但在舒適度指標上的結(jié)果遠小于Q-Learn 方法.
這些結(jié)果表明,(1)多智能體協(xié)同方法優(yōu)于其他單智能體方法,具備根據(jù)實際情況自適應(yīng)調(diào)節(jié)目標優(yōu)化效果的能力,可嵌入自動化系統(tǒng)中進行持續(xù)優(yōu)化. (2)單智能體方法中,調(diào)節(jié)目標的權(quán)重可以改變對目標的優(yōu)化效果,但目標線性加權(quán)組合的方式無法表達不同環(huán)境下目標間的復(fù)雜關(guān)系,難以引導(dǎo)智能體使兩個目標同時達到最優(yōu). (3)本文方法在多目標協(xié)同階段動態(tài)改變對目標的關(guān)注度,在一定程度上以犧牲重要目標的效果為代價,使其他目標得到優(yōu)化.
為進一步說明多智能體協(xié)同方法的優(yōu)異性,圖4展示了參數(shù)整定過程中各目標值隨調(diào)參次數(shù)的變化情況對比. 其中,圖4(a)(b)為相同車軌性能下本方法與單智能體Double-DQN 方法的對比,圖4(c)(d)另一車軌性能環(huán)境下的過程對比.
由圖4 可知,多智能體協(xié)同方法能夠在100 次內(nèi)使雙目標下降到最低點,并在滿足約束條件的基礎(chǔ)上,進行持續(xù)優(yōu)化,同時適用于不同的車軌性能. 而單智能體方法難以適應(yīng)動態(tài)的目標關(guān)系,整定效果不理想.
圖4 參數(shù)整定過程對比Fig. 4 Comparison of parameter-tuning process
綜上所述,所提方法可以通過關(guān)注參數(shù)整定過程中目標關(guān)系的變化,自適應(yīng)調(diào)整對目標的優(yōu)化程度,改變目標優(yōu)化順序,在滿足列車運行要求前提下,提升控制參數(shù)整定的效果,具有平穩(wěn)、快速、持續(xù)的優(yōu)化性能.
本文提出了一種面向多目標參數(shù)整定的協(xié)同深度學(xué)習(xí)方法,應(yīng)用于自動化系統(tǒng)的參數(shù)整定. 方法包含離線單目標整定學(xué)習(xí)及在線多目標感知強化兩個階段,離線階段應(yīng)用Double-DQN 構(gòu)建多個可實現(xiàn)單目標參數(shù)自整定的智能體,在線階段使用動態(tài)權(quán)重機制進行多智能體多目標參數(shù)自動化調(diào)整,在滿足約束條件下對多個目標進行持續(xù)優(yōu)化. 列車自動駕駛參數(shù)整定實驗中,針對停車誤差、舒適度兩個控制目標進行參數(shù)整定,并與單智能體方法對比. 結(jié)果表明所提方法應(yīng)用效果良好,可以自適應(yīng)不同車軌性能且持續(xù)優(yōu)化,滿足實際列車運行需求,具備解決多目標參數(shù)整定問題的能力. 未來將進一步研究多智能體與多目標的交互問題,以期達到更優(yōu)的整定效果.