趙辰豪, 吳德偉, 何 晶, 韓 昆, 來 磊
(空軍工程大學信息與導航學院,西安,710077)
實現運行體的自主“無人化”運行是研究人員不斷追求的目標,也是實現無人作戰(zhàn)系統(tǒng)的關鍵。運行體的“無人化”離不開自主導航技術,實現自主導航的方法有很多,目前主要分為2類:基于人工系統(tǒng)模型的方法與基于自然系統(tǒng)模型的方法。基于人工模型的方法在較為簡單的環(huán)境中,能夠一定程度上實現人工智能;當環(huán)境變得復雜,人工模型將變得十分復雜,不能夠快速處理信息。而基于自然模型的方法主要通過模擬自然界中存在的智能系統(tǒng)模型。目前,經過大量試驗證明動物大腦在認知導航中起到不可替代的作用,其自身具有最完美、最有效的信息處理機制,這使得導航領域的研究者對大腦在導航方面的應用產生了濃厚的興趣[1]。近些年,經過大量驗證與動物導航相關的細胞有:位置細胞、網格細胞、頭朝向細胞、邊界細胞等。導航工作人員結合對大腦的研究成果提出了腦神經科學啟發(fā)下的自主導航方法,該方法通過模擬大腦處理導航信息的機制,使得智能體呈現出一種具有探索、記憶、學習以及選擇等智能動作的導航行為。
實現腦神經科學啟發(fā)下的導航需要解決3個問題:①實現模擬大腦的空間探索與表征;②采用類腦機制構建認知圖;③在認知圖上進行路徑規(guī)劃。目前模擬大腦進行空間探索與表征的研究已經相對成熟;文獻[2]構建前饋網絡,建立網格細胞到位置細胞的聯系,并使用傅里葉分析網格細胞到位置細胞的權值,最終使用位置細胞對空間進行表征;文獻[3~4]采用Hebbian學習方法建立位置細胞與網格細胞的權值,從而使位置細胞具有空間的放電野。
“認知圖”一詞,最早由Tolman[5]在研究大鼠如何探索路徑的試驗中提出。類腦機制下導航認知圖構建的研究國外已有一定理論基礎。文獻[6]將生物大腦放電過程與傳統(tǒng)SLAM結合成功實現水下智能體的定位與地圖創(chuàng)建。文獻[7]提出了基于多層目標的導向的導航模型,將導航模型分為兩步:一是構建空間表征(構建認知圖);二是基于表征信息進行導航。而國內的研究相對較少,吳德偉團隊[8]提出了一種多尺度網格細胞的路徑整合,完成了運行體自主位置推算。于乃功團隊[9]提出位置細胞到網格細胞的競爭型神經網絡模型,并生成位置細胞對空間進行表征;唐華錦團隊[10]提出采用類腦神經機制進行定位,認知圖構建以及情景記憶,并對該過程進行誤差校正;吳德偉團隊[11]提出視覺位置細胞模型并利用其放電機理對空間進行表征。目前,類腦機制的導航認知圖構建的研究較少,國內還沒有團隊提出構建認知圖的系統(tǒng)方法,而已有的研究構建的認知圖存在以下問題:構建認知圖的效率較低,認知圖中面向目標的方向誤差較大,圖中的信息準確度不高。
針對上述問題本文提出了一種基于改進Q學習算法的導航認知圖構建方法(本文中認知圖特指動物出發(fā)覓食的過程,通過整合地理位置信息與面向目標的方向信息產生位置細胞,并對空間進行表征,最終生成基于目標導向的向量地圖[12])。該方法明確了類腦機制下認知圖構建過程,同時提高了構建認知圖的效率以及認知圖內面向目標信息的精確度。同時,本文優(yōu)化了網格細胞到位置細胞的RBF映射網絡,提高了位置細胞對空間的表征能力。
對于空間表征主要解決的核心問題是如何實現網格細胞到位置細胞的映射,目前實現網格細胞到位置細胞的轉換模型主要有:基于競爭學習的轉換模型[13],基于傅里葉分析的轉換模型[14]與基于ICA編碼的轉換模型[15]。本文提出采用RBF神經網絡,建立網格細胞與位置細胞的映射關系。通過運行體感知自身運動信息,輸入到網格細胞模型中得到網格細胞的放電率,再將網格細胞放電率作為RBF網絡的輸入,對RBF網絡進行訓練,建立網格細胞到位置細胞的轉換模型,最終使用位置細胞表征空間。
針對建立空間的位置細胞表征,給出具體方法,包括計算網格細胞的放電率,建立RBF神經網絡映射,建立位置細胞的空間表征3個步驟。
步驟1計算網格細胞的放電率。
目前模擬網格細胞放電活動的模型主要有:吸引子網絡模型[16-17]和振蕩干涉模型[18-19]。本文采用振蕩干涉模型對網格細胞進行模擬,其放電率的計算公式為:
i=1,2,…,NAC
(1)
(2)
式中:ωi為網格細胞的網格方向。
步驟2建立RBF網絡映射。
RBF神經網絡分為輸入層,隱含層與輸出層。其中輸入層到隱含層的變換是非線性的,隱含層到輸出層的變換為線性的。RBF網絡的輸出可以表示為:
(3)
由步驟1可得,運行體位于r=[x,y]時,網格細胞的放電率表示為:
(4)
將網格細胞的放電率作為RBF網絡的輸入,位置細胞的理論放電率作為輸出,根據輸入輸出對RBF網絡進行學習,最終確定RBF網絡的參數,得到當前位置處網格細胞到位置細胞的映射關系。
圖1 RBF-神經網絡結構圖
步驟3建立位置細胞的空間表征。
為了能夠生成新的位置細胞,設置位置細胞的放電閾值;當已有位置細胞的放電率小于該閾值時,則執(zhí)行生成新的位置細胞。建立位置細胞的表征過程即為生成RBF神經網絡群的過程。當運行體探索某一位置時,把該位置處網格細胞的放電率輸入RBF神經網絡群,得到一組輸出值,將輸出值與放電閾值比較,當輸出都小于放電閾值時,重復步驟2建立新的RBF神經網絡。
圖2 RBF神經網絡群示意圖
通過上述3個步驟,運行體感知自身運動信息后,通過網格細胞到位置細胞的模型,得到位置細胞的放電情況,根據位置細胞放電情況確定是否生成新的RBF網絡與位置細胞,最終得到位置細胞的空間表征。
Q學習算法[20]是一種經典的強化學習方法。強化學習不同于傳統(tǒng)的監(jiān)督學習機制,主要采用試錯的方法尋找最優(yōu)的行為策略。對于環(huán)境模型,Q學習算法不會進行預判與估計,而是直接采用函數迭代的方法,通過對策略的選擇,獲得相應的獎懲值,對函數值進行更新,在學習過程中逼近最優(yōu)的動作序列,最終達到全局最優(yōu)。這個過程中使用的函數即為Q函數。Q函數的迭代過程為:
Q(s,a)=Q(s,a)+β[R(s,a)+
(5)
式中:Q(s,a)表示狀態(tài)s時執(zhí)行動作a的Q值;β為學習率,β∈[0,1];γ為折扣率,γ∈[0,1];R(s,a)為狀態(tài)s時執(zhí)行動作a的獎勵值。
Q學習算法的過程可以概括為:
步驟1初始化Q表;
步驟2得到t時刻的狀態(tài)s,采用ε-貪婪策略選擇當前狀態(tài)下的動作即以概率選擇該狀態(tài)下最大Q值對應的動作,以概率1-隨機選擇動作;
步驟3通過Q表以及獎懲策略得到當前狀態(tài)的Q值與回報值,代入式(5)中更新Q表,直到學習結束。
Q學習算法具有學習能力強以及效果較好的特點,但其還存在一定的問題。由于Q表的設置狀態(tài)或動作需要的都是離散空間,Q學習算法不能運用到連續(xù)空間的學習。同時當狀態(tài)空間或動作空間中的元素過多時,Q表將變得十分龐大,對于Q表的查詢將變得十分困難。ε-貪婪策略是強化學習中比較普遍且有效的探索方法,但其缺點是在算法后期還會選擇非最優(yōu)策略為最優(yōu)策略,造成一些不必要的學習與資源浪費。
針對上述的問題,本文對傳統(tǒng)Q學習進行改進,引入Boltzmann分布,提出Boltzmann-選擇策略:
(6)
式中:P(s,a)表示在狀態(tài)s時選擇動作a的概率;Q(s,a)表示在狀態(tài)s時選擇動作a的Q值。
傳統(tǒng)Q學習算法中使用貪婪策略,在整個學習過程中隨著學習的深入選擇動作的概率基本保持在不變。這一問題導致在學習初期存在次優(yōu)動作的Q值大于最優(yōu)動作的Q值的現象,使得Q值不能夠準確的表達動作的優(yōu)劣性;當學習后期由于較大的概率選擇非最優(yōu)動作,因此導致學習值不準確,學習結果收斂較慢,學習效果不好。當概率值選擇不恰當時,會使得整個探索過程不合理,造成資源浪費。
改進Q學習算法中使用的是Boltzmann選擇策略。根據式(6)可得,當初始狀態(tài)的Q值都為0時,運行體對各個動作選擇的概率相等,從而使得前期的動作選擇更加隨機,探索更加合理,對Q值的更新更準確;當學習進行到一定階段時,由于各個動作的回報值不同,因此Q值更新情況也不同;動作的回報值越大,Q值越大;動作回報值越小的,Q值越小。因此根據式(6)得,Q值越大,被選擇的概率就越大。因此隨著學習的深入,運行體傾向選擇回報值高的動作。
改進Q學習算法對動作的選擇概率是變化的,學習初期能夠隨機探索各個動作,隨著學習過程的深入,回報值越大的動作被選中的概率越大。這種動態(tài)概率既能夠提高學習的合理性與有效性,又能夠提升算法的收斂速度,使學習更效率、更精確。
本文中構建的認知圖的過程分為3個步驟:
步驟1創(chuàng)建狀態(tài)空間與動作空間。
狀態(tài)空間:運行體在空間探索過程中,生成一組位置細胞,將生成的位置細胞群設定為狀態(tài)空間,其中每一個位置細胞表示一個狀態(tài)。當運行體到達空間中的某一位置時,通過空間表征模型確定當前狀態(tài)。
動作空間:運行體在探索空間的過程,能夠向各個方向運動。因此設定動作空間時需要滿足運行體運動的全方位性。將方向區(qū)間[0,2π]離散化,離散后的每個值表示相應的動作方向,組成動作空間。以X軸正半軸為基準,各個動作方向分別表示為:
(7)
步驟2采用改進Q學習算法建立狀態(tài)-動作關系。
結合改進Q學習算法運行體對學習狀態(tài)-動作過程如下:
首先,根據狀態(tài)空間與位置空間建立Q表,并對Q表初始化,Q表中主要記錄狀態(tài)與動作的匹配程度;
其次,當運行體從起點出發(fā)后,根據位置細胞表征模型確定當前狀態(tài)為st,根據改進后Boltzmann-選擇策略選擇當前狀態(tài)下的動作方向φ。由當前狀態(tài)與動作得到下一狀態(tài),此時根據Q學習算法的原理對Q表進行更新如下:
Q(st,φ)=Q(st,φ)+α[rewards+
γmaxQ(st+1,:)-Q(st,φ)]
(8)
式中:Q(st,φ)表示當處于狀態(tài)st時,選擇動作φ對應的Q值;maxQ(st+1,:)為狀態(tài)st+1時各個動作中的最大Q值;α為學習率;γ為折扣率;rewards為獎勵值,獎勵值的多少取決與下一狀態(tài),其設置為:
1)當下一個狀態(tài)為目標所在狀態(tài)時,rewards>0;
2)當下一個狀態(tài)超出探索區(qū)域或者遇到障礙物時,rewards<0;
3)其他情況,rewards=0。
最后,當運行體運動狀態(tài)數超過設置值或運行體發(fā)現目標時,該輪學習自動結束。啟動下一輪學習,直到學習結束。
經過學習后,運行體能夠獲得最終的Q表。該表中Q(st,φ)表示狀態(tài)st與動作φ的匹配關系,該值越大代表狀態(tài)st與動作φ越匹配。
步驟3構建認知圖。
在構建認知圖時,將步驟2中最終得到的Q表作為各個動作的權重,然后結合所對應的動作方向,直接使用重心估計原理計算各個狀態(tài)相對于目標的方向信息,從而生成面向目標的認知圖。方向的計算方法如下:
(9)
仿真環(huán)境設置如下:
1)空間大小為50 m×50 m,運行體采用離散方式,以5 m/s的速度對空間進行探索;
2)在空間探索過程中,將目標探索生成的位置細胞設置為狀態(tài)空間中的元素,在學習過程中,通過比較狀態(tài)確定是否達到目標;
3)獎勵策略設置為:當運行體運動位置超出探索空間時,獎勵值為-1;當運行體發(fā)現目標時,獎勵值為10;其余情況,獎勵值為0;
4)網格細胞的參數設置:根據式(1)建立網格細胞,網格細胞總數為50,網格間距A為4,網格方向為30°;
5)位置細胞的放電野設置:當距離位置細胞中心距離在0~5 m之間時,位置細胞的放電率大于0.1,當距離位置細胞中心距離大于5 m時,位置細胞的放電率小于0.1(位置細胞不放電),從而位置細胞能夠感應距離放電中心約5 m的范圍;
6)探索過程中位置細胞的放電閾值設置為0.1,當已有位置細胞的放電率都小于0.1時,生成新的位置細胞;
7)Q學習的相關參數設置:學習率為0.1,折扣因子為0.1,認知圖精度為8。
經過仿真實驗得到以下結果:圖3給出了不同間距網格細胞的放電情況(網格間距依次為:5,10,15)。仿真結果表明:改變網格間距,固定運行體位置能夠得到不同的網格細胞放電情況。圖4給出了在不同位置處網格細胞的放電情況(位置坐標依次為(5,15),(15,25),(25,35))。仿真結果表明:當固定網格細胞間距,改變運行體的位置,網格細胞的放電情況將發(fā)生改變。圖3,圖4證明在不同位置處網格細胞的放電情況不同,網格細胞的放電率能夠作為RBF網絡的有效輸入。
圖3 不同間距的網格細胞放電情況
圖4 不同位置處網格細胞的放電情況
圖5給出了RBF網絡訓練得到的位置細胞放電率與空間位置的函數關系。圖中的函數關系表明,當運行體與位置細胞的中心點距離小于等于5 m時,位置細胞放電(當且僅當距離為0時,位置細胞的放電率達到峰值);當距離大于5 m之后,位置細胞不放電。
圖5 訓練后RBF神經網絡的函數圖像
圖6表示中心點為(35,40)的位置細胞的放電域。分析圖像可得距離位置細胞的中心點距離在5m之內,位置細胞放電。該放電情況與圖5的訓練結果相符。
圖7給出了運行體經過探索后生成的部分位置細胞的放電情況。位置細胞的放電野覆蓋了整個區(qū)域,當運行體在空間運行時相應的位置細胞將正常放電,因此能夠通過觀察位置細胞的放電率得到運行體的位置。位置細胞仿真結果表明,改進后的RBF網絡能夠訓練得到位置細胞的放電函數,生成的位置細胞能夠覆蓋探索區(qū)域,并成功對空間進行表征。
圖6 RBF神經網絡映射后位置細胞的放電域
圖7 探索結束后生成位置細胞的放電情況
圖8給出了采用傳統(tǒng)Q學習算法(單個回合學習5 000次)構建認知圖的情況與采用改進Q學習算法(單個回合學習1 000次)構建認知圖的情況。仿真結果表明:改進后Q學習方法的效率更高,各個狀態(tài)的角度值更加接近真實值,構建的認知圖中的方向信息更加準確。
圖8 不同算法構建的認知圖
圖9給出傳統(tǒng)Q學習算法與改進Q學習算法在學習過程中部分狀態(tài)的學習值。圖9表明改進Q學習算法比傳統(tǒng)Q學習算法的實際角度值收斂更快速;且在學習次數大于2 000之后,改進Q學習算法的學習值更加接近實際值。
圖10給出了單個回合中學習次數與平均相對誤差的關系(平均相對誤差計算方法如下:以單個回合學習1 000次為例,運行體進行10個回合的學習,計算各個狀態(tài)平均相對誤差后,對各個狀態(tài)的平均誤差求和取平均,最后得到探索1 000次的平均相對誤差。)改進Q學習算法學習的相對誤差一直小于傳統(tǒng)Q學習算法的相對誤差,且當學習次數大于2 000次以后,傳統(tǒng)Q學習算法的相對誤差穩(wěn)定在20%,改進Q學習算法的相對誤差基本穩(wěn)定在4%。仿真結果表明:引入Boltzmann分布對貪婪策略進行改進能夠提高Q學習的收斂速度,提升學習值的精確性。
圖11和圖12給出了傳統(tǒng)Q學習算法與改進Q學習算法每回合的平均相對誤差,仿真實驗中一共學習了100個回合(圖11單個回合學習次數為1 000次,圖12單個回合學習次數為2 000次)。圖11,圖12表明改進Q學習算法學習值的平均相對誤差普遍小于傳統(tǒng)Q學習算法。
圖10 傳統(tǒng)Q學習算法與改進Q學習算法的平均相對誤差
圖11 傳統(tǒng)Q學習算法與改進Q學習算法每回合的平均相對誤差(單回合次數1 000次)
圖12 傳統(tǒng)Q學習算法與改進Q學習算法每回合的平均相對誤差(單回合次數2 000次)
仿真結果表明:改進后的Q學習算法相比于傳統(tǒng)Q學習算法學習效率更高,學習值更貼近真實值,學習結果更加準確,構建的認知導航圖更加準確。
本文提出了類腦機制的導航認知圖構建的系統(tǒng)方法,并對傳統(tǒng)Q學習算法進行改進。仿真結果表明,改進后的Q學習算法能夠提升學習效率,從而提高了導航認知圖構建的效率與精度。但最終生成的導航認知圖僅包含面向目標的信息,缺少該位置處的環(huán)境信息以及狀態(tài)之間的連接關系。如何整合環(huán)境信息與位置信息生成位置細胞對空間進行表征以及如何增加各個狀態(tài)之間的連接關系構建認知圖等問題還有待繼續(xù)研究。