《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > CMAC神經(jīng)網(wǎng)絡模糊控制器設計

CMAC神經(jīng)網(wǎng)絡模糊控制器設計

2009-02-04
作者:(1)陸 軍(2)張秀梅 (3)

  摘 要: 詳細介紹了CMAC神經(jīng)網(wǎng)絡結構、中間層作用函數(shù)地址的計算方法、輸出層權值的學習算法,并利用CMAC神經(jīng)網(wǎng)絡對水下機器人深度模糊控制器進行了學習。仿真結果表明,訓練得到的CMAC神經(jīng)控制器控制效果良好,中間層作用函數(shù)地址的計算方法正確。
  關鍵詞: CMAC神經(jīng)網(wǎng)絡 模糊控制 水下機器人


  小腦模型關節(jié)控制器神經(jīng)網(wǎng)絡(Cerebella Model Articulation Controller Neural Network,即CMAC NN)由J.S.Albus 于1975年首先提出并由W.T.Miller等人成功運用于機械手的實時動態(tài)軌跡跟蹤控制。與多層前項神經(jīng)網(wǎng)絡這樣的全局逼近神經(jīng)網(wǎng)絡[1]相比,CMAC神經(jīng)網(wǎng)絡在任意時刻的學習都是少數(shù)的輸出層權值的調節(jié)過程,并且是一個線性優(yōu)化過程,因此具有學習速度快的特點,非常適合于在線實時控制。對于大多數(shù)的控制問題,完全可以達到與多層前向神經(jīng)網(wǎng)絡相同的控制效果。目前,CMAC神經(jīng)網(wǎng)絡被越來越多地應用于機器人控制、模式識別、信號處理以及自適應控制等領域。
1 CMAC的結構及工作原理
  CMAC是類似于感知器的基于網(wǎng)格基的聯(lián)想記憶神經(jīng)網(wǎng)絡。它由輸入層、中間層和輸出層組成。在輸入層與中間層和中間層與輸出層之間分別有由設計者預先確定的輸入層非線性映射和輸出層權值的自適應線性映射。在輸入層對n維輸入空間進行劃分,形成一個n維網(wǎng)格基,任意一個輸入都降落到此n維網(wǎng)格基的一個超立方體單元內。中間層由若干個基函數(shù)構成,對任意一個輸入只有少數(shù)幾個基函數(shù)的輸出為非零值,我們稱非零輸出的基函數(shù)為作用基函數(shù),作用基函數(shù)的個數(shù)為泛化參數(shù)ρ(generalization parameter),它規(guī)定了網(wǎng)絡內部影響網(wǎng)絡輸出的區(qū)域大小。中間層基函數(shù)的個數(shù)用P表示,泛化參數(shù)應滿足ρ<<P。在中間層的基函數(shù)與輸出層的網(wǎng)絡輸出之間通過若干個連接權進行連接,它是一個全連接,在網(wǎng)絡訓練階段,可以通過梯度下降算法對權值進行調整。CMAC神經(jīng)網(wǎng)絡的設計主要包括輸入空間的劃分、輸入層非線性映射的實現(xiàn)、輸出層權值學習算法,下面給予詳細介紹。
1.1 CMAC 輸入空間的劃分
  設計CMAC神經(jīng)網(wǎng)絡的第一步是對輸入空間的劃分方法進行定義。設輸入向量為x=[x1x2...xn]T,且xi∈Ri,Ri為一有限區(qū)間,定義為:
  
  通常,所有左邊的外節(jié)點均置于ximin,所有右邊的外節(jié)點均置于ximax。若兩節(jié)點在同一位置,則稱該節(jié)點為重節(jié)點。所有這些節(jié)點將整個區(qū)間RI分為ri+1個子區(qū)間Rr,j(0≤j≤ri):

  內節(jié)點的選區(qū)辦法可以是在區(qū)間[ximin,ximax]等間隔劃分或是根據(jù)實際問題的需要非均勻劃分,即在期望輸出變化快的區(qū)域多劃分,在期望輸出變化慢的區(qū)域少劃分。對輸入空間的劃分不僅影響網(wǎng)絡的內存消耗,還影響網(wǎng)絡的建模能力和學習收斂速度。
1.2 CMAC輸入層非線性映射的實現(xiàn)
  設計CMAC輸入層非線性映射的目的是保證對任意一個輸入,在中間層只有ρ個基函數(shù)的輸出值為非零值,并且在輸入沿某一輸入坐標軸平行移動一個超立方體單元后,只有一個非零輸出的基函數(shù)與原來的不同。而在輸入沿某一坐標軸平行移動ρ個超立方體單元后,已無任何一個非零輸出的基函數(shù)與原來相同,這樣就保證了當輸入相近時,輸出也比較相近,當輸入的距離較遠時,相應的輸出互不相關。并且,輸出層權值的調整也是局部的,在每一次學習過程中只有ρ個權值發(fā)生調整,對兩個相近的輸入,只有少量的權值發(fā)生變化,而不影響大多數(shù)權值,這樣大大加快了網(wǎng)絡學習速度,減少了學習干擾。當泛化參數(shù)ρ增大時,學習變得缺少局部特性,網(wǎng)絡的建模能力通常也會下降。
  由于對任意一個輸入向量x,只有ρ個中間層的基函數(shù)的輸出非零,問題歸結為找到這ρ個基函數(shù)在中間層p維基函數(shù)向量a(t)中的地址。下面分別給出在輸入為一維、二維和多維情況下的作用基函數(shù)的地址的計算方法。
1.2.1 一維輸入的計算方法
  當n=1時,共有ρ個作用基函數(shù)輸出非零,其中第j個作用基函數(shù)地址ad(j)的計算方法如下:

1.2.2 二維輸入的計算方法
  當n=2時,ad(j)的計算方法如下:

1.2.3 多維輸入的計算方法
  當n>2時,第j個作用基函數(shù)地址ad(j)的計算方法如下:

1.3 CMAC 基函數(shù)的輸出
  本文采用二進制CMAC神經(jīng)網(wǎng)絡,作用基函數(shù)的輸出為1/ρ,這樣CMAC網(wǎng)絡作用基函數(shù)的輸出和為
  
1.4 CMAC 輸出層權值學習算法
  本文采用帶有輸出死區(qū)的NLMS學習算法:
  
  這里,δ為學習速率,當δ∈(0,2)時,學習收斂,輸出誤差
2 水下機器人CMAC神經(jīng)網(wǎng)絡控制器設計
  采用CMAC神經(jīng)網(wǎng)絡對水下機器人深度模糊控制器進行學習,從而得到水下機器人CMAC神經(jīng)網(wǎng)絡控制器。
2.1 水下機器人深度模糊控制器
  本文對某水下機器人深度通道設計了一PD型模糊控制器,以系統(tǒng)輸出誤差e及誤差變化率e’作為模糊控制器的輸入,e∈[-1.5m,1.5m],e’∈[-0.5m/s,0.5m/s],模糊控制器的輸出是z軸方向上的推力,u∈[-270N,270N]。模糊控制器的輸入和輸出語言變量的模糊子集均為NL(負大)、NM(負中)、NS(負小)、ZE(零)、PS(正小)、PM(正中)、PL(正大)。模糊隸屬函數(shù)采用等腰三角形,且隸屬函數(shù)的重合度為2,采用Mandani推理方法。模糊控制規(guī)則表如表1所示。


  模糊控制器的輸出曲面見圖1,模糊控制器作用下的系統(tǒng)輸出見圖2。

  


2.2 水下機器人CMAC神經(jīng)網(wǎng)絡深度控制器
  本文利用CMAC神經(jīng)網(wǎng)絡對水下機器人CMAC模糊深度控制器進行學習,以模糊控制規(guī)則的前件和后件隸屬函數(shù)的中心對應的e、e’和u的取值作為訓練樣本對,組成49個訓練樣本對。CMAC神經(jīng)網(wǎng)絡的設計參數(shù)如下:泛化參數(shù)ρ=5,輸入空間為均勻劃分,劃分數(shù)為20*20,覆蓋偏移向量d1=[1 3]T,d2=[2 1]T,d3=[3 4]T,d4=[4 2]T,d5=[5 5]T,輸出死區(qū)ζ=5。訓練得到的CMAC神經(jīng)網(wǎng)絡深度控制器輸出曲面見圖3,該控制器作用下的系統(tǒng)輸出見圖4。

  


參考文獻
1 孫增圻.智能控制理論及應用.北京:清華大學出版社,廣西科學技術出版社,1997
2 石寺博.遙控無人潛器的運動仿真.船工技術譯叢,1987(3):53~62
3李士勇,夏乘志.模糊控制和智能控制理論與應用.哈爾濱工業(yè)大學出版社,1990

本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。