小腦模型關節控制器神經網路(Cerebella Model Articulation Controller Neural Network,即CMAC NN)由J.S.Albus 於1975年首先提出並由W.T.Miller等人成功運用於機械手的實時動態軌跡跟蹤控制。與多層前項神經網路這樣的全局逼近神經網路[1]相比,CMAC神經網路在任意時刻的學習都是少數的輸出層權值的調節過程,並且是一個線性最佳化過程,因此具有學習速度快的特點,非常適合於線上實時控制。對於大多數的控制問題,完全可以達到與多層前向神經網路相同的控制效果。目前,CMAC神經網路被越來越多地套用於機器人控制、模式識別、信號處理以及自適應控制等領域。
CMAC工作原理
CMAC是類似於感知器的基於格線基的聯想記憶神經網路。它由輸入層、中間層和輸出層組成。在輸入層與中間層和中間層與輸出層之間分別有由設計者預先確定的輸入層非線性映射和輸出層權值的自適應線性映射。在輸入層對n維輸入空間進行劃分形成一個n維格線基,任意一個輸入都降落到此n維格線基的一個超立方體單元內。中間層由若干個基函式構成,對任意一個輸入只有少數幾個基函式的輸出為非零值,我們稱非零輸出的基函式為作用基函式,作用基函式的個數為泛化參數ρ(generalization parameter)它規定了網路內部影響網路輸出的區域大小。中間層基函式的個數用P表示,泛化參數應滿足ρ<<P。在中間層的基函式與輸出層的網路輸出之間通過若干個連線權進行連線,它是一個全連線,在網路訓練階段,可以通過梯度下降算法對權值進行調整。CMAC神經網路的設計主要包括輸入空間的劃分、輸入層非線性映射的實現、輸出層權值學習。