王嘉佳
【摘 要】人工神經(jīng)網(wǎng)絡(luò)是目前發(fā)展較迅速的交叉學(xué)科,神經(jīng)網(wǎng)絡(luò)可以用來計(jì)算復(fù)雜的輸入和輸出之間的關(guān)系。文中把Matlab的神經(jīng)網(wǎng)絡(luò)工具箱與Simulink合理結(jié)合,完成神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)的計(jì)算仿真。
【關(guān)鍵詞】計(jì)算機(jī)神經(jīng)網(wǎng)絡(luò) Matlab 應(yīng)用
近年來,大多控制系統(tǒng)的高品質(zhì)控制都少不了對系統(tǒng)的仿真進(jìn)行研究。根據(jù)仿真研究可以優(yōu)化設(shè)定的控制參量,因此,控制系統(tǒng)的模擬與仿真一直是研究的重點(diǎn)。通常來說,控制系統(tǒng)進(jìn)行計(jì)算機(jī)仿真必須首先創(chuàng)建系統(tǒng)模型,之后根據(jù)模型設(shè)定仿真城西,充分運(yùn)用計(jì)算機(jī)對其進(jìn)行動(dòng)態(tài)模擬并展示結(jié)果。本文以計(jì)算機(jī)神經(jīng)網(wǎng)絡(luò)為研究視角,介紹了人工神經(jīng)網(wǎng)絡(luò)及BP網(wǎng)絡(luò)模型,提出設(shè)計(jì)基于Simulink控制系統(tǒng)及動(dòng)態(tài)仿真。
一、簡述人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)又被稱為神經(jīng)網(wǎng)絡(luò),是由人腦結(jié)構(gòu)的啟發(fā)之下創(chuàng)建的計(jì)算模型,人工神經(jīng)網(wǎng)絡(luò)不單單是高度非線性動(dòng)力學(xué)系統(tǒng),也是自適應(yīng)組織系統(tǒng)。神經(jīng)網(wǎng)絡(luò)的主要特征表現(xiàn)在他的學(xué)習(xí)、組織及容錯(cuò)能力方面。神經(jīng)網(wǎng)絡(luò)可以采用被訓(xùn)練的狀態(tài)實(shí)現(xiàn)特定任務(wù),從而為系統(tǒng)提供獨(dú)具代表性的描述問題樣本,就是其可以成組的輸入、輸出樣本,神經(jīng)網(wǎng)絡(luò)可以推測出輸入與輸出數(shù)據(jù)之間的關(guān)系。等到訓(xùn)練完成之后,神經(jīng)網(wǎng)絡(luò)又能永凱訓(xùn)練和識(shí)別任意樣本之間相似的新數(shù)據(jù)。同時(shí),神經(jīng)網(wǎng)絡(luò)也能對不完整或存在噪音的數(shù)據(jù)進(jìn)行識(shí)別,這一特征被廣泛使用到預(yù)測、診斷、控制方面。在最抽象的層次上,神經(jīng)網(wǎng)絡(luò)可以看做一個(gè)黑箱,數(shù)據(jù)由一邊輸入,通過神經(jīng)網(wǎng)絡(luò)處理之后給予相應(yīng)的輸出。對比輸出及目標(biāo)數(shù)值,采用產(chǎn)生的誤差調(diào)整網(wǎng)絡(luò)內(nèi)部之間的鏈接權(quán)重。人工神經(jīng)網(wǎng)絡(luò)功能如圖1所示。
二、創(chuàng)建BP網(wǎng)絡(luò)模型
BP網(wǎng)絡(luò)是現(xiàn)今使用最廣泛的神經(jīng)網(wǎng)絡(luò)模型。該模型的學(xué)習(xí)規(guī)則是采用反向傳播(BP)對網(wǎng)絡(luò)的權(quán)值和閥值進(jìn)行調(diào)整,卻阿伯網(wǎng)絡(luò)誤差的平方和達(dá)到最小狀態(tài)。這是根據(jù)最下速下降方向上進(jìn)行調(diào)整網(wǎng)絡(luò)權(quán)值和閥值完成的。BP網(wǎng)絡(luò)擁有超強(qiáng)的非線性映射和泛化性能,任何一連續(xù)函數(shù)或映射都可以使用三層網(wǎng)絡(luò)來實(shí)現(xiàn)。如此一來,把其看做控制器就可以找到最佳的答案。使用控制器之前饋網(wǎng)絡(luò)通常采用m-n-1結(jié)構(gòu),這一網(wǎng)絡(luò)輸入層具有m個(gè)神經(jīng)元,隱層存在n個(gè)神經(jīng)元,輸出層則只有單一的神經(jīng)元。本網(wǎng)絡(luò)隱層轉(zhuǎn)換為函數(shù)取tansig函數(shù),可以把該神經(jīng)元取值范圍設(shè)定為()映射到(-1,+1),這個(gè)是可微函數(shù),比較適合采用BP訓(xùn)練神經(jīng)元。若BP網(wǎng)絡(luò)的最后層是sigmoid型神經(jīng)元,此時(shí)整個(gè)網(wǎng)絡(luò)的輸出就限定在比較小的范圍之內(nèi)。若purelin型線性神經(jīng)元,那么整個(gè)網(wǎng)絡(luò)的輸出可以采用任意值,選取purelin型函數(shù)當(dāng)做輸出層的變換函數(shù)。
三、設(shè)計(jì)基于Simulink控制系統(tǒng)及動(dòng)態(tài)仿真
創(chuàng)建Simulink動(dòng)態(tài)仿真時(shí)在matlab環(huán)境下完成的動(dòng)態(tài)系統(tǒng)建模、仿真的環(huán)境,可以采用功能模塊建立控制系統(tǒng)展開仿真。這種方框圖示的建模辦法比較容易把復(fù)雜的數(shù)學(xué)模型輸入至計(jì)算機(jī)內(nèi),從而簡化編程過程。
(一)設(shè)置網(wǎng)絡(luò)控制器
本文建立的控制系統(tǒng)其核心為網(wǎng)絡(luò)控制器,基于matlab5.2應(yīng)用環(huán)境基礎(chǔ)上,采用兩種方法構(gòu)建網(wǎng)絡(luò)控制器:①進(jìn)入Simulink環(huán)境之后,采用Block&Toolboxes模塊庫,隨之選取Neural Network子庫的Transfer Function、Net Input Func—Tion、Weight Function三個(gè)功能模塊來建立網(wǎng)絡(luò)。簡言之就是先創(chuàng)建單個(gè)神經(jīng)元模型,隨之根據(jù)閥值、權(quán)值、轉(zhuǎn)移函數(shù)一次創(chuàng)建輸出層、隱層,最后進(jìn)行打包、封裝就形成所需的網(wǎng)絡(luò),整個(gè)工作流程借助鼠標(biāo)完成,便于操作。②基于M文件編輯器創(chuàng)建網(wǎng)絡(luò)控制器的S-函數(shù),隨之調(diào)用Nonlinear模塊庫中的S—Function功能模塊,如此一來可以獲取新的功能模塊,這種辦法適合建立Simulink中不存在現(xiàn)成的模塊。S-函數(shù)比較簡單,容易編輯。
(二)構(gòu)造控制系統(tǒng)
控制器構(gòu)造和封裝完工之后,從Simulink的Source、Sinks、Linear模塊庫中調(diào)用所需的功能模塊,該控制系統(tǒng)采用示波器可以清楚觀察其輸出曲線,也能把數(shù)據(jù)存儲(chǔ)至MATLAB工作空間內(nèi),使用繪制命令Plot把控制系統(tǒng)與原系統(tǒng)的響應(yīng)曲線畫出來。由仿真結(jié)果可知,BP網(wǎng)絡(luò)控制系統(tǒng)的性能遠(yuǎn)比原系統(tǒng)要好。
四、結(jié)束語
本文從人工神經(jīng)網(wǎng)絡(luò)和BP網(wǎng)絡(luò)模型進(jìn)行分析,采用Matlab構(gòu)造與仿真控制系統(tǒng),達(dá)到優(yōu)化控制系統(tǒng)仿真的效果的目的,仿真結(jié)果表示該辦法正確、有效。因此,大范圍推廣使用這一軟件,可以有效利用Matlab各種資源,進(jìn)一步提升工程實(shí)踐水平。
參考文獻(xiàn):
[1] 卓先德.網(wǎng)絡(luò)安全評估的仿真與應(yīng)用研究[J].計(jì)算機(jī)仿真,2011,28(6):177-180.
[2] 徐勇.神經(jīng)計(jì)算機(jī)的人工神經(jīng)網(wǎng)絡(luò)實(shí)用化研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012,(14):141-142.
基金項(xiàng)目:廣東醫(yī)學(xué)院科研基金,項(xiàng)目編號M2011048