[發(fā)明專利]一種混合經(jīng)驗的多智能體強化學(xué)習(xí)運動規(guī)劃方法有效
| 申請?zhí)枺?/td> | 202110558854.1 | 申請日: | 2021-05-21 |
| 公開(公告)號: | CN113341958B | 公開(公告)日: | 2022-02-25 |
| 發(fā)明(設(shè)計)人: | 萬開方;武鼎威;高曉光 | 申請(專利權(quán))人: | 西北工業(yè)大學(xué) |
| 主分類號: | G05D1/02 | 分類號: | G05D1/02 |
| 代理公司: | 西北工業(yè)大學(xué)專利中心 61204 | 代理人: | 金鳳 |
| 地址: | 710072 *** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 混合 經(jīng)驗 智能 強化 學(xué)習(xí) 運動 規(guī)劃 方法 | ||
1.一種混合經(jīng)驗的多智能體強化學(xué)習(xí)運動規(guī)劃方法,其特征在于,包括以下步驟:
步驟1:對多智能體建立復(fù)雜環(huán)境下運動規(guī)劃的隨機對策模型;
采用隨機對策作為環(huán)境模型,隨機對策又稱馬爾科夫博弈模型,用五元組N,S,A,P,R進行描述,其中N={1,2,...,n},表示n個智能體的集合,S表示聯(lián)合狀態(tài),A表示聯(lián)合動作,P為狀態(tài)轉(zhuǎn)移模型,R表示聯(lián)合獎勵;
步驟1-1:設(shè)定智能體以及障礙物的物理模型;
對于智能體i,i=1,2,…,n,其半徑為ria,在絕對坐標(biāo)系中的位置為智能體i運動的角速度為ωi,速率為ui,用速度角ψi表示速率與X軸正方向的夾角,n為智能體數(shù)量;
智能體i的目標(biāo)設(shè)定為半徑為rig的圓形區(qū)域,目標(biāo)位置為目標(biāo)與智能體i的距離為D(Pia,Pig);當(dāng)D(Pia,Pig)≤ria+rig時,表明智能體i已到達目標(biāo);
設(shè)定智能體i的目標(biāo)速度角為αi,表示以智能體i中心為原點,以智能體i到其目標(biāo)的方向為正方向建立極坐標(biāo)系時的智能體i速度矢量與該極坐標(biāo)下正方向的夾角值;智能體i具有通信功能,設(shè)定智能體i的通信范圍是以智能體i為圓心,以dc為半徑的圓形區(qū)域;在通信范圍內(nèi),智能體i能感知到其他智能體和障礙物的位置;
障礙物設(shè)定為失去通信功能的故障智能體,對于障礙物j,它的半徑為速率和角速度分別為和速度角為位置為與智能體i的距離為為智能體i與障礙物j的碰撞距離,且當(dāng)時,表明已發(fā)生碰撞;
步驟1-2:設(shè)定多智能體的聯(lián)合狀態(tài);
多智能體的聯(lián)合狀態(tài)為所有智能體的狀態(tài)的笛卡爾積,表示為S=s1×s2×...×sn,其中si代表著智能體i的狀態(tài);對于智能體i,它的狀態(tài)空間為局部環(huán)境的觀測信息;
將智能體i作為原點,將其與目標(biāo)位置連線的方向作為正方向建立極坐標(biāo)系,智能體i的狀態(tài)表示為si=(sAi,sEi),其中為自身信息,為智能體i與目標(biāo)的距離,αi為目標(biāo)速度角,ui和ψi分別為智能體i的速率和速度角;為環(huán)境信息,其中為智能體i與距離它最近鄰居j之間的距離,智能體i的鄰居為其通信范圍內(nèi)的智能體和障礙物的集合,和分別為最近鄰居j的速率、速度角以及半徑;
如果智能體i的通訊范圍內(nèi)沒有鄰居,則
步驟1-3:設(shè)定多智能體的聯(lián)合動作;
多智能體的聯(lián)合動作為所有智能體的動作的笛卡爾積,表示為A,且A=a1×a2×...×an,其中ai表示無人機i的動作;對于智能體i,它的運動是由自身的角速度和速率所決定;
設(shè)定智能體i的動作空間為其中為t時刻智能體i的角速度;
步驟1-4:設(shè)定多智能體的狀態(tài)轉(zhuǎn)移模型;
多智能體的狀態(tài)轉(zhuǎn)移模型為P:S×A×S→[0,1],表示所有智能體在當(dāng)前狀態(tài)采取聯(lián)合動作到達下一狀態(tài)的概率值;
智能體的狀態(tài)轉(zhuǎn)移通過運動實現(xiàn),設(shè)定智能體和障礙物的運動空間為二維空間,則對于智能體i,它的運動模型表示為:
其中,和分別為智能體i的速率沿X軸和Y軸的分量,為智能體i的角速度;設(shè)定智能體i下一時刻位置為下一時刻速度角為ψ′i,運動的間隔時間為△t,則智能體i從當(dāng)前狀態(tài)轉(zhuǎn)移到下一狀態(tài)的過程表示如下:
障礙物的狀態(tài)轉(zhuǎn)移過程與智能體相同;
步驟1-5:設(shè)置多智能體的聯(lián)合獎勵;
設(shè)定多智能體的聯(lián)合獎勵為R,表示為R=R1×R2×...×Rn,即所有智能體獎勵函數(shù)的笛卡爾積,其中Ri表示智能體i與環(huán)境交互、實現(xiàn)狀態(tài)轉(zhuǎn)移后獲得的獎勵值;
智能體i的獎勵函數(shù)設(shè)置如下:
設(shè)智能體i到達目標(biāo)時的獎勵函數(shù)為其中表示智能體到達目標(biāo)消耗時間的懲罰值,Wt表示懲罰程度的參數(shù)值,Ti為智能體實際到達目標(biāo)消耗的時間;表示智能體以勻速沿直線運動至目標(biāo)位置時消耗的時間,其中Pia0為智能體i的初始位置;
智能體i發(fā)生碰撞時的獎勵函數(shù)為Ri_collision=-5;
當(dāng)智能體i沒有到達目標(biāo)或沒有發(fā)生碰撞時,設(shè)置4種非稀疏獎勵函數(shù),具體表達式如下:
其中為初始時刻智能體i到目標(biāo)的距離值,表示下一時刻智能體i到目標(biāo)的距離值;
則智能體i正常運動時的獎勵函數(shù)表示為Ri=η1N(R1)+η2N(R2)+η3N(R3)+η4N(R4),其中N(R)表示對獎勵函數(shù)的歸一化處理,η1,η2,η3,η4表示4種獎勵函數(shù)的貢獻率,且η1+η2+η3+η4=1;
步驟2:采用ME-MADDPG算法對多智能體運動規(guī)劃進行訓(xùn)練;
步驟2-1:構(gòu)建運動規(guī)劃網(wǎng)絡(luò)結(jié)構(gòu);
運動規(guī)劃網(wǎng)絡(luò)結(jié)構(gòu)采用Actor-Critic網(wǎng)絡(luò)結(jié)構(gòu),Actor網(wǎng)絡(luò)和-Critic網(wǎng)絡(luò)為兩個獨立的神經(jīng)網(wǎng)絡(luò),都由輸入層、隱藏層和輸出層構(gòu)成;
對于n個智能體,則有n個Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)以及n個目標(biāo)Actor網(wǎng)絡(luò)和目標(biāo)Critic網(wǎng)絡(luò),設(shè)智能體運動規(guī)劃的確定性策略集合為μ={μ1,…,μn};
對于智能體i,它的Actor網(wǎng)絡(luò)輸入為狀態(tài)向量si,輸出向量為動作向量它的Critic網(wǎng)絡(luò)輸入為所有智能體的狀態(tài)向量s=(s1,...,sn)和所有智能體根據(jù)各自的策略網(wǎng)絡(luò)μi得到的動作a1,...,an;輸出為表示智能體i的動作值函數(shù),即Q值,其中和分別為Actor網(wǎng)絡(luò)參數(shù)和Critic網(wǎng)絡(luò)參數(shù)的集合;θ′μ和θ′Q分別為目標(biāo)Actor網(wǎng)絡(luò)參數(shù)和目標(biāo)Critic網(wǎng)絡(luò)參數(shù)的集合,而智能體i的目標(biāo)Actor網(wǎng)絡(luò)參數(shù)和目標(biāo)Critic網(wǎng)絡(luò)參數(shù)更新方式為將Actor網(wǎng)絡(luò)μi和Critic網(wǎng)絡(luò)的參數(shù)復(fù)制到各自對應(yīng)的目標(biāo)網(wǎng)絡(luò)中,即之后設(shè)定Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)的超參數(shù),包括網(wǎng)絡(luò)層數(shù)、節(jié)點數(shù)、學(xué)習(xí)率、激活函數(shù)以及訓(xùn)練優(yōu)化器;
步驟2-2:設(shè)置訓(xùn)練參數(shù)的值,包括經(jīng)驗池容量M、批量采樣數(shù)量N、目標(biāo)網(wǎng)絡(luò)更新頻率F、最大訓(xùn)練回合數(shù)E以及每個回合智能體的最長運動時間T,并初始化訓(xùn)練回合數(shù)為e=0;
步驟2-3:初始化智能體和障礙物的初始位置、目標(biāo)位置、速率、角速度以及速度角,初始化迭代次數(shù)k=0和運動時間t=0,生成一個隨機數(shù)p0且p0∈[0,1];初始化每個智能體的聯(lián)合狀態(tài),即對于智能體i,設(shè)置初始聯(lián)合狀態(tài)為si=(0,0,0,0,0,0,0,0,0);
步驟2-4:設(shè)置采樣概率p的具體值;
首先設(shè)置p的初始值,p∈[0,1];之后在每個訓(xùn)練回合進行條件判定,若進入訓(xùn)練環(huán)節(jié)且p0,則設(shè)置p的值為clip(p-1/M,0,1),即clip(p-1/M,0,1)→p;否則p不發(fā)生變化;
clip(p-1/M,0,1)→p表示:當(dāng)p-1/M≥1時p=1,當(dāng)p-1/M≤0時p=0,當(dāng)0p-1/M1時p-1/M→p;
步驟2-5:判斷決策動作的方式;
若p0≤p,則轉(zhuǎn)到步驟2-6,根據(jù)人工勢場法決策每個智能體的動作并獲得聯(lián)合狀態(tài),將其存入專家經(jīng)驗池DA;否則,轉(zhuǎn)到步驟2-7,根據(jù)每個智能體的Actor網(wǎng)絡(luò)決策動作并獲得聯(lián)合狀態(tài),將其存入探索經(jīng)驗池DE;
步驟2-6:根據(jù)人工勢場法決策動作;
對于智能體i,首先求出智能體i與目標(biāo)之間的引力場得到該引力場對智能體i所產(chǎn)生的引力即為引力勢能的負梯度大小;然后求出智能體i與它的鄰居j之間的斥力場得到斥力場所生成的斥力即為斥力勢能的負梯度;之后求出智能體i受到的合力大小,表示為:
合力方向為求出角速度為最后確定智能體i的角速度,表示如下:
其中,ωmax和ωmin分別表示智能體在其機動性能限制下的最大角速度和最小角速度;
則智能體i獲得的動作為ai=(ωi);對于智能體i,在當(dāng)前狀態(tài)si根據(jù)動作ai進行狀態(tài)轉(zhuǎn)移,進入下一狀態(tài)s′i并獲得獎勵Ri,得到聯(lián)合狀態(tài)si,ai,s′i,Ri,將其存入專家經(jīng)驗池DA;
步驟2-7:根據(jù)Actor網(wǎng)絡(luò)決策動作;
對于智能體i,通過其Actor網(wǎng)絡(luò)μi,根據(jù)狀態(tài)信息si選擇動作ai,即其中為確定性策略函數(shù),Ni為Ornstein-Uhlenbeck噪聲;
智能體i在當(dāng)前狀態(tài)si根據(jù)動作ai進行狀態(tài)轉(zhuǎn)移,進入下一狀態(tài)s′i并獲得獎勵Ri,得到聯(lián)合狀態(tài)si,ai,s′i,Ri,將其存入探索經(jīng)驗池DE;
步驟2-8:更新所有智能體的狀態(tài)信息;
對于智能體i,將當(dāng)前狀態(tài)si更新為s′i,即s′i→si,并設(shè)置運動時間更新,即t+△t→t;
步驟2-9:判斷多智能體是否進入訓(xùn)練階段;
根據(jù)存入經(jīng)驗池DA和DE的經(jīng)驗元組數(shù)量判斷是否進入強化學(xué)習(xí)訓(xùn)練運動規(guī)劃策略的階段,若經(jīng)驗元組數(shù)量未超過經(jīng)驗池容量M,則轉(zhuǎn)到步驟2-5,繼續(xù)產(chǎn)生新的經(jīng)驗;否則,轉(zhuǎn)到步驟2-10,進入強化學(xué)習(xí)訓(xùn)練階段;
步驟2-10:根據(jù)動態(tài)采樣策略采集樣本用于訓(xùn)練;
動態(tài)采樣策略為:設(shè)置從專家經(jīng)驗池DA采集的樣本數(shù)量為nA,且nA=ceil(N×p),即nA為N×p向上取整的數(shù);設(shè)置從探索經(jīng)驗池DE采集的樣本數(shù)量為nE,且nE=N-nA;
分別從經(jīng)驗池DA和DE中隨機抽取nA和nE個樣本,將它們隨機組合為(sl,al,s′l,Rl)l=1,N,即為最終用于訓(xùn)練的樣本集;
步驟2-11:訓(xùn)練更新多智能體的Critic網(wǎng)絡(luò)參數(shù)θQ;
對于智能體i,其價值網(wǎng)絡(luò)參數(shù)θiQ通過最小化代價函數(shù)L(θiQ)更新,表示如下:
其中ai和ai′分別為智能體i當(dāng)前時刻和下一時刻的動作值,s和s′分別為多智能體當(dāng)前時刻和下一時刻的聯(lián)合狀態(tài),Ri為智能體i的立即獎勵,和分別為智能體i的動作值函數(shù)和目標(biāo)動作值函數(shù),γ為折扣因子;
步驟2-12:訓(xùn)練更新多智能體的Actor網(wǎng)絡(luò)參數(shù)θμ;
對于智能體i的策略網(wǎng)絡(luò)參數(shù)通過梯度下降的方式更新,表示如下:
其中μi(ai|si)表示Actor網(wǎng)絡(luò)在狀態(tài)si時根據(jù)動作策略函數(shù)μi得到的動作,表示狀態(tài)si下采取動作ai=μi(si)時的動作值函數(shù),表示在Actor網(wǎng)絡(luò)參數(shù)下的策略梯度,和分別表示Actor網(wǎng)絡(luò)策略函數(shù)梯度和Critic網(wǎng)絡(luò)動作值函數(shù)梯度;
步驟2-13:判斷Actor目標(biāo)網(wǎng)絡(luò)和Critic目標(biāo)網(wǎng)絡(luò)是否更新;
設(shè)置迭代次數(shù)k+1→k,并判斷是否達到Actor目標(biāo)網(wǎng)絡(luò)或Critic目標(biāo)網(wǎng)絡(luò)更新的條件,即更新后的迭代次數(shù)k是否能整除Actor目標(biāo)網(wǎng)絡(luò)或Critic目標(biāo)網(wǎng)絡(luò)更新頻率F,若條件符合,則轉(zhuǎn)到步驟2-14,更新Actor目標(biāo)網(wǎng)絡(luò)和Critic目標(biāo)網(wǎng)絡(luò);否則,轉(zhuǎn)到步驟2-15;
步驟2-14:更新目標(biāo)網(wǎng)絡(luò)參數(shù);
對Actor目標(biāo)網(wǎng)絡(luò)和Critic目標(biāo)網(wǎng)絡(luò)的參數(shù)進行軟更新,表達式為:
其中τ為軟更新比例系數(shù);
步驟2-15:判斷訓(xùn)練是否結(jié)束;
判斷運動時間t是否大于最長運動時間T,若不滿足t≥T,則轉(zhuǎn)到步驟2-5,繼續(xù)實現(xiàn)多智能體的狀態(tài)轉(zhuǎn)移;若滿足t≥T,則設(shè)置訓(xùn)練回合數(shù)e+1→e實現(xiàn)訓(xùn)練回合數(shù)的更新,之后對訓(xùn)練回合數(shù)進行判斷,如果不滿足e≥E,則轉(zhuǎn)到步驟2-3,開始下一個回合的訓(xùn)練;如果e≥E,則表明訓(xùn)練結(jié)束,保存訓(xùn)練完成的運動規(guī)劃網(wǎng)絡(luò)參數(shù);
步驟3:采用步驟2訓(xùn)練完成的運動規(guī)劃網(wǎng)絡(luò)對多智能體進行運動規(guī)劃。
2.根據(jù)權(quán)利要求1所述的一種混合經(jīng)驗的多智能體強化學(xué)習(xí)運動規(guī)劃方法,其特征在于,所述采樣概率p=0.4,經(jīng)驗池容量M=40000、批量采樣數(shù)量N=128。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西北工業(yè)大學(xué),未經(jīng)西北工業(yè)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110558854.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





