CMAC神經(jīng)網(wǎng)絡(luò)模糊控制器設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
作者:哈爾濱工程大學(xué) 陸 軍 哈爾濱翔宇自動(dòng)化研究所 張秀梅 哈爾濱工程大學(xué) 李殿璞中國(guó)民用航空學(xué)院 華克強(qiáng) 來(lái)源:《電子技術(shù)應(yīng)用》 cmac神經(jīng)網(wǎng)絡(luò)模糊控制器設(shè)計(jì) 摘 要: 詳細(xì)介紹了cmac神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、中間層作用函數(shù)地址的計(jì)算方法、輸出層權(quán)值的學(xué)習(xí)算法,并利用cmac神經(jīng)網(wǎng)絡(luò)對(duì)水下機(jī)器人深度模糊控制器進(jìn)行了學(xué)習(xí)。仿真結(jié)果表明,訓(xùn)練得到的cmac神經(jīng)控制器控制效果良好,中間層作用函數(shù)地址的計(jì)算方法正確。 關(guān)鍵詞: cmac神經(jīng)網(wǎng)絡(luò) 模糊控制 水下機(jī)器人 小腦模型關(guān)節(jié)控制器神經(jīng)網(wǎng)絡(luò)(cerebella model articulation controller neural network,即cmac nn)由j.s.a(chǎn)lbus 于1975年首先提出并由w.t.miller等人成功運(yùn)用于機(jī)械手的實(shí)時(shí)動(dòng)態(tài)軌跡跟蹤控制。與多層前項(xiàng)神經(jīng)網(wǎng)絡(luò)這樣的全局逼近神經(jīng)網(wǎng)絡(luò)[1]相比,cmac神經(jīng)網(wǎng)絡(luò)在任意時(shí)刻的學(xué)習(xí)都是少數(shù)的輸出層權(quán)值的調(diào)節(jié)過(guò)程,并且是一個(gè)線性?xún)?yōu)化過(guò)程,因此具有學(xué)習(xí)速度快的特點(diǎn),非常適合于在線實(shí)時(shí)控制。對(duì)于大多數(shù)的控制問(wèn)題,完全可以達(dá)到與多層前向神經(jīng)網(wǎng)絡(luò)相同的控制效果。目前,cmac神經(jīng)網(wǎng)絡(luò)被越來(lái)越多地應(yīng)用于機(jī)器人控制、模式識(shí)別、信號(hào)處理以及自適應(yīng)控制等領(lǐng)域。 1 cmac的結(jié)構(gòu)及工作原理 cmac是類(lèi)似于感知器的基于網(wǎng)格基的聯(lián)想記憶神經(jīng)網(wǎng)絡(luò)。它由輸入層、中間層和輸出層組成。在輸入層與中間層和中間層與輸出層之間分別有由設(shè)計(jì)者預(yù)先確定的輸入層非線性映射和輸出層權(quán)值的自適應(yīng)線性映射。在輸入層對(duì)n維輸入空間進(jìn)行劃分?形成一個(gè)n維網(wǎng)格基,任意一個(gè)輸入都降落到此n維網(wǎng)格基的一個(gè)超立方體單元內(nèi)。中間層由若干個(gè)基函數(shù)構(gòu)成,對(duì)任意一個(gè)輸入只有少數(shù)幾個(gè)基函數(shù)的輸出為非零值,我們稱(chēng)非零輸出的基函數(shù)為作用基函數(shù),作用基函數(shù)的個(gè)數(shù)為泛化參數(shù)ρ(generalization parameter)它規(guī)定了網(wǎng)絡(luò)內(nèi)部影響網(wǎng)絡(luò)輸出的區(qū)域大小。中間層基函數(shù)的個(gè)數(shù)用p表示,泛化參數(shù)應(yīng)滿(mǎn)足ρ<<p。在中間層的基函數(shù)與輸出層的網(wǎng)絡(luò)輸出之間通過(guò)若干個(gè)連接權(quán)進(jìn)行連接,它是一個(gè)全連接,在網(wǎng)絡(luò)訓(xùn)練階段,可以通過(guò)梯度下降算法對(duì)權(quán)值進(jìn)行調(diào)整。cmac神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)主要包括輸入空間的劃分、輸入層非線性映射的實(shí)現(xiàn)、輸出層權(quán)值學(xué)習(xí)算法,下面給予詳細(xì)介紹。 1.1 cmac 輸入空間的劃分 設(shè)計(jì)cmac神經(jīng)網(wǎng)絡(luò)的第一步是對(duì)輸入空間的劃分方法進(jìn)行定義。設(shè)輸入向量為?且xi∈ri,ri為一有限區(qū)間,定義為: 對(duì)該區(qū)間進(jìn)行如下分割: 其中λi,j 稱(chēng)為xi的第j個(gè)內(nèi)節(jié)點(diǎn)。 同樣也可以定義xi的外節(jié)點(diǎn): 通常,所有左邊的外節(jié)點(diǎn)均置于,所有右邊的外節(jié)點(diǎn)均置于。若兩節(jié)點(diǎn)在同一位置,則稱(chēng)該節(jié)點(diǎn)為重節(jié)點(diǎn)。所有這些節(jié)點(diǎn)將整個(gè)區(qū)間ri分為ri+1個(gè)子區(qū)間rr,j(0≤j≤ri): 對(duì)于任意輸入x?它在每一個(gè)輸入坐標(biāo)軸的子區(qū)間號(hào)為 內(nèi)節(jié)點(diǎn)的選區(qū)辦法可以是在區(qū)間[,]等間隔劃分或是根據(jù)實(shí)際問(wèn)題的需要非均勻劃分,即在期望輸出變化快的區(qū)域多劃分,在期望輸出變化慢的區(qū)域少劃分。對(duì)輸入空間的劃分不僅影響網(wǎng)絡(luò)的內(nèi)存消耗,還影響網(wǎng)絡(luò)的建模能力和學(xué)習(xí)收斂速度。 1.2 cmac輸入層非線性映射的實(shí)現(xiàn) 設(shè)計(jì)cmac輸入層非線性映射的目的是保證對(duì)任意一個(gè)輸入,在中間層只有ρ個(gè)基函數(shù)的輸出值為非零值,并且在輸入沿某一輸入坐標(biāo)軸平行移動(dòng)一個(gè)超立方體單元后,只有一個(gè)非零輸