郝娟
(河海大學(xué) 能源與電氣學(xué)院,江蘇 南京 211100)
開(kāi)關(guān)磁阻電機(jī)自20世紀(jì)70年代問(wèn)世以來(lái),以其結(jié)構(gòu)簡(jiǎn)單和高速運(yùn)行的特點(diǎn),適用于各種高效調(diào)速場(chǎng)合[1]。SRM調(diào)速系統(tǒng)兼具傳統(tǒng)交、直流調(diào)速系統(tǒng)的優(yōu)勢(shì),是當(dāng)代電氣傳動(dòng)領(lǐng)域的熱門課題之一,其應(yīng)用領(lǐng)域遍及家用電器、航空工業(yè)、電動(dòng)汽車等。但是,位置傳感器的加入大大降低了電機(jī)可靠性,增加了成本。為克服傳感器帶來(lái)的缺陷,出現(xiàn)了多種無(wú)位置傳感器控制技術(shù),但這些方案都有自己適應(yīng)的速度范圍[2]。本文采用雙隱層BP神經(jīng)網(wǎng)絡(luò)智能算法擬合磁鏈-電流-轉(zhuǎn)子角度的非線性模型,再通過(guò)粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)隱層神經(jīng)元個(gè)數(shù)來(lái)達(dá)到更好的泛化能力[3-4]。
粒子群優(yōu)化算法(PSO)是一種群體智能算法,由Eberhart博士和kennedy博士于1995年提出,有自組織、自適應(yīng)、間接通信等特性[5-6]。PSO將群體中的每個(gè)個(gè)體看成是一種微粒。每個(gè)微粒在搜索空間以一定的速度飛行,根據(jù)群體的經(jīng)驗(yàn)和微粒自身的經(jīng)驗(yàn)來(lái)進(jìn)行速度調(diào)節(jié),表現(xiàn)為每個(gè)粒子均向自身較好的位置和群體中最好微粒的位置靠近。每個(gè)微粒的位置即可視為問(wèn)題空間的一個(gè)潛在解。
粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法包括確定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)。
BP神經(jīng)網(wǎng)絡(luò)因具有結(jié)構(gòu)簡(jiǎn)單、容錯(cuò)性好及優(yōu)良的非線性映射性能而被廣泛應(yīng)用[7]。本文采用了雙隱含層BP神經(jīng)網(wǎng)絡(luò),與單隱含層相比,多隱含層泛化能力強(qiáng)、預(yù)測(cè)精度高。采用的雙隱含層BP神經(jīng)網(wǎng)絡(luò)的拓補(bǔ)結(jié)構(gòu)如圖1所示。
圖1 雙隱含層BP神經(jīng)網(wǎng)絡(luò)
文獻(xiàn)[1]中的三相(6/4極)SRM樣機(jī)建立磁鏈模型,以電流和磁鏈為輸入,確定輸入層神經(jīng)元個(gè)數(shù),角度為輸出,即輸出層神經(jīng)元個(gè)數(shù)。其次,根據(jù)經(jīng)驗(yàn)算式確定雙隱含層神經(jīng)元個(gè)數(shù)范圍,通過(guò)仿真實(shí)驗(yàn)分別確定第一隱含層和第二隱含層神經(jīng)元個(gè)數(shù)。
電流值在1A~12A之間每隔1A取一個(gè)樣本點(diǎn),角度在1°~46°之間,由經(jīng)驗(yàn)算式給出的大概范圍,第一隱含層神經(jīng)元個(gè)數(shù)取8個(gè),第二隱含層神經(jīng)元個(gè)數(shù)取12個(gè),訓(xùn)練目標(biāo)為2.5×10-6,得到的訓(xùn)練結(jié)果與轉(zhuǎn)子的實(shí)際位置對(duì)比如圖2所示。
圖2 實(shí)際結(jié)果與擬合圖
由于樣本點(diǎn)不足夠多,加上樣本數(shù)據(jù)分成了兩組,一組用來(lái)訓(xùn)練網(wǎng)絡(luò),另一組用來(lái)測(cè)試網(wǎng)絡(luò),導(dǎo)致模型的精度有所下降。在樣本數(shù)據(jù)量不變的情況下,本文采用粒子群算法對(duì)BP神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元個(gè)數(shù)進(jìn)行了優(yōu)化,以期減少隱含層神經(jīng)元個(gè)數(shù),提高BP神經(jīng)網(wǎng)絡(luò)的泛化能力和運(yùn)行速度。
粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元個(gè)數(shù)算法流程圖如圖3所示。
圖3 粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元 個(gè)數(shù)算法流程圖
流程圖說(shuō)明如下:
1) 首先將樣本數(shù)據(jù)在BP神經(jīng)網(wǎng)絡(luò)中進(jìn)行擬合,確定雙隱含層神經(jīng)元個(gè)數(shù)的大概范圍。
2) 在給定的范圍內(nèi)由隨機(jī)函數(shù)產(chǎn)生具體的隱含層神經(jīng)元個(gè)數(shù),建立粒子群優(yōu)化算法與BP神經(jīng)網(wǎng)絡(luò)的映射關(guān)系,且BP神經(jīng)網(wǎng)絡(luò)的擬合誤差值設(shè)為1×10-2,迭代次數(shù)設(shè)為10。
3) 利用粒子群算法進(jìn)行優(yōu)化,記錄本次優(yōu)化結(jié)果和對(duì)應(yīng)的隱含層神經(jīng)元個(gè)數(shù)。
4) 重復(fù)步驟2)和步驟3),在考慮誤差和隱含層神經(jīng)元個(gè)數(shù)都最佳的情況下,選擇一組最優(yōu)解。
算法中,取c1=c2=1.494 45,速度區(qū)間設(shè)為[-1,5],位置區(qū)間為[1,10],以BP神經(jīng)網(wǎng)絡(luò)的擬合均方誤差絕對(duì)值為適應(yīng)度值,對(duì)BP神經(jīng)網(wǎng)絡(luò)隱含層神經(jīng)元個(gè)數(shù)進(jìn)行優(yōu)化。種群規(guī)模為10,進(jìn)化代數(shù)為10代時(shí),優(yōu)化10次的結(jié)果如表1所示。
表1 PSO算法優(yōu)化雙隱含層BP神經(jīng)網(wǎng)絡(luò)結(jié)果
由表1可以看出,綜合考慮適應(yīng)度值和隱含層神經(jīng)元個(gè)數(shù)都最佳的隱含層神經(jīng)元個(gè)數(shù)為[8,10],且此時(shí)擬合誤差最小為0.364 4,其最優(yōu)個(gè)體適應(yīng)度值與最優(yōu)個(gè)體值的進(jìn)化結(jié)果如圖4所示。
圖4 最優(yōu)個(gè)體適應(yīng)度值
由圖4可知最優(yōu)個(gè)體適應(yīng)度越來(lái)越小,直到趨于穩(wěn)定的極小值。中間進(jìn)化過(guò)程有4次突變,證明進(jìn)化過(guò)程中粒子群跳出局部最小值向全局最優(yōu)值方向變化。在進(jìn)化代數(shù)為9代之后最優(yōu)個(gè)體適應(yīng)度值趨于穩(wěn)定,其值也不再隨著進(jìn)化代數(shù)的增加而變化,此時(shí)BP神經(jīng)網(wǎng)絡(luò)擬合的均方誤差約為0.364 4,近似為最優(yōu)粒子的適應(yīng)度值,隱含層神經(jīng)元個(gè)數(shù)為[8,10]。圖5為優(yōu)化之前雙隱含層[10,12]時(shí)的擬合誤差,圖6為優(yōu)化之后雙隱含層[8,10]時(shí)的擬合誤差,比較圖5和圖6可知,雙隱含層BP神經(jīng)網(wǎng)絡(luò)經(jīng)過(guò)PSO優(yōu)化之后,隱含層神經(jīng)元個(gè)數(shù)由[10,12]減少到了[8,10],迭代次數(shù)大幅度下降。PSO優(yōu)化之前需要迭代267次,而經(jīng)過(guò)PSO優(yōu)化隱含層神經(jīng)元個(gè)數(shù)之后的迭代次數(shù)只有50多次,節(jié)約了大量訓(xùn)練時(shí)間。
圖5 PSO優(yōu)化之前的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線
圖6 PSO優(yōu)化之后的BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差曲線
為驗(yàn)證PSO優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)的檢測(cè)效果,使用MATLAB/Simulink搭建的SRM模型,測(cè)試其檢測(cè)性能。CCC運(yùn)行方式下設(shè)導(dǎo)通區(qū)間為[5°,40°]時(shí),其對(duì)應(yīng)的轉(zhuǎn)子位置角度檢測(cè)結(jié)果如圖7所示。
圖7 PSO優(yōu)化后轉(zhuǎn)子位置檢測(cè)結(jié)果
由圖7可知,經(jīng)PSO優(yōu)化隱含層神經(jīng)元個(gè)數(shù)后的BP神經(jīng)網(wǎng)絡(luò)模型仍然可以較精確地估計(jì)轉(zhuǎn)子位置角度。
本文通過(guò)粒子群算法優(yōu)化不同雙隱含層神經(jīng)元個(gè)數(shù)的BP神經(jīng)網(wǎng)絡(luò),利用不同隱含層神經(jīng)網(wǎng)絡(luò)的誤差調(diào)整神經(jīng)元個(gè)數(shù),尋找最小適應(yīng)度值以期獲得雙隱含層的最優(yōu)解,不僅減少了隱含層神經(jīng)元的個(gè)數(shù),還提高了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度和實(shí)時(shí)性。仿真實(shí)驗(yàn)結(jié)果表明,粒子群算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)精度高,魯棒性強(qiáng),是一種適合SRM檢測(cè)轉(zhuǎn)子位置的有效方法。
參考文獻(xiàn):
[1] 王宏華. 開(kāi)關(guān)磁阻電動(dòng)機(jī)調(diào)速控制技術(shù)[M]. 北京: 機(jī)械工業(yè)出版社,2014.
[2] 鄧智泉,蔡駿. 開(kāi)關(guān)磁阻電機(jī)無(wú)位置傳感器技術(shù)的研究現(xiàn)狀和發(fā)展[J]. 南京航空航天大學(xué)學(xué)報(bào),2012,44(5):611-620.
[3] 劉湘陵. 開(kāi)關(guān)磁阻電機(jī)非線性電磁特性的磁鏈模型[J]. 電子測(cè)試,2015(4):33-35.
[4] 高峰,肖麗. 基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的SRM間接位置檢測(cè)技術(shù)[J]. 儀表技術(shù)與傳感器,2012(9):54-56.
[5] 夏長(zhǎng)亮,王明超,史婷娜,等. 基于神經(jīng)網(wǎng)絡(luò)的開(kāi)關(guān)磁阻電機(jī)無(wú)位置傳感器控制[J]. 中國(guó)電機(jī)工程學(xué)報(bào),2005,25(13):123-128.
[6] 史峰,王輝,郁磊,等. MATLAB智能算法30個(gè)案例分析[M]. 北京: 北京航空航天大學(xué)出版社,2011.
[7] 李大鵬,樊勝利,代尚方,等. 基于BP神經(jīng)網(wǎng)絡(luò)的開(kāi)關(guān)磁阻電機(jī)無(wú)位置傳感器[J]. 伺服控制,2011(5):34-36.