饒章宇,劉春元,彭 珍,孫浩宸
(1.浙江理工大學(xué)信息學(xué)院,浙江 杭州 310018;2.嘉興學(xué)院信息科學(xué)與工程學(xué)院)
永磁同步直線電機(jī)(Permanent Magnet Synchronous Linear Motor,PMSLM)具有動(dòng)態(tài)響應(yīng)快、推力大、效率高等特點(diǎn),在工業(yè)領(lǐng)域[1,2]得到了廣泛的應(yīng)用。但由于PMSLM 的定位力波動(dòng)降低了系統(tǒng)的可靠性和控制精度,特別是在電機(jī)處于低速運(yùn)行時(shí),還會(huì)引起整個(gè)裝置的共振,危害系統(tǒng)運(yùn)行的穩(wěn)定性[3]。
定位力是永磁同步直線電機(jī)的一項(xiàng)重要性能指標(biāo)和固有的特性,其大小和方向與電機(jī)運(yùn)行狀態(tài)無關(guān)[4],準(zhǔn)確和快速計(jì)算定位力對(duì)優(yōu)化PMSLM 結(jié)構(gòu)和電磁性能具有重要意義。目前計(jì)算定位力主要有解析法、有限元法和非參數(shù)建模法。解析法[5]是利用已有的電機(jī)結(jié)構(gòu)參數(shù)和電磁公式計(jì)算推導(dǎo)PMSLM 的定位力,解析法為了簡(jiǎn)化計(jì)算,通常都會(huì)假設(shè)理想的前提條件,結(jié)果存在一定誤差,計(jì)算精度不高;有限元法[6]雖然計(jì)算精度高,但計(jì)算耗時(shí)比較長(zhǎng),效率低;非參數(shù)建模法[7-9]通過電機(jī)結(jié)構(gòu)參數(shù)-定位力的樣本庫,對(duì)樣本數(shù)據(jù)進(jìn)行回歸建模,擬合出電機(jī)結(jié)構(gòu)參數(shù)和定位力的回歸計(jì)算模型,常用建模方法有K 最近鄰(KNearest Neighbour,KNN)[7]、隨機(jī)森林(RandomForest,RF)[8]、神經(jīng)網(wǎng)絡(luò)[9]等,神經(jīng)網(wǎng)絡(luò)建模方法通常有更高的精度,但神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)的調(diào)整往往需要依賴經(jīng)驗(yàn)信息和先驗(yàn)知識(shí),建模時(shí)需要消耗更多時(shí)間成本。
基于上述方法的優(yōu)缺點(diǎn),本文提出了一種基于自適應(yīng)深度神經(jīng)網(wǎng)絡(luò)(AdaptiveDeep NeuralNetwork,ADNN)的PMSLM 定位力非參數(shù)建模方法。深度神經(jīng)網(wǎng)絡(luò)具有更強(qiáng)的泛化能力,其多層網(wǎng)絡(luò)的特點(diǎn)使其對(duì)高維數(shù)據(jù)具有更好的表達(dá)能力,本文在深度神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上,采用神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索算法搜索最佳模型結(jié)構(gòu),使神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行自適應(yīng),相較于傳統(tǒng)的人工調(diào)參訓(xùn)練,可以節(jié)省大量用于調(diào)整深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)的時(shí)間;同時(shí)結(jié)合一種k折訓(xùn)練方式,能全面利用所有樣本,使模型結(jié)構(gòu)更合理。訓(xùn)練ADNN所使用的數(shù)據(jù)來自有限元分析軟件的仿真數(shù)據(jù),以確保PMSLM定位力計(jì)算模型的高精度和高效率。
為了簡(jiǎn)化計(jì)算和提高計(jì)算效率,本文利用敏感參數(shù)法,重點(diǎn)研究對(duì)定位力影響較大的幾個(gè)參數(shù),包括極弧系數(shù)(a)、氣隙(g)、背鐵厚度(Hb)、永磁體厚度(Hpm)、槽寬(Wslot),PMLSM 的其他主要參數(shù)如表1 所示,根據(jù)上述參數(shù)建立PMLSM 有限元分析模型,其中極弧系數(shù)a=τpm/τp。
表1 電機(jī)的主要尺寸參數(shù)
根據(jù)已建立的有限元分析模型,利用參數(shù)化分析,計(jì)算得到不同參數(shù)的定位力數(shù)據(jù),本文的參數(shù)范圍和步長(zhǎng)如表2所示。
表2 研究的結(jié)構(gòu)參數(shù)范圍和步長(zhǎng)
按表2 中的數(shù)據(jù),設(shè)定求解器時(shí)間步長(zhǎng)為2ms,按正交組合的方式輸出0-200ms 中每組結(jié)構(gòu)參數(shù)每個(gè)時(shí)刻的定位力大小,總共有1200 組實(shí)時(shí)定位力數(shù)據(jù),每組數(shù)據(jù)有101個(gè)定位力數(shù)據(jù)。
對(duì)于上述原始數(shù)據(jù)的輸入特征,存在特征之間相差過大的情況,由于深度學(xué)習(xí)模型會(huì)在所有樣本分布中尋找一個(gè)平衡點(diǎn),這就會(huì)導(dǎo)致過小的數(shù)據(jù)被忽略,難以學(xué)習(xí)到所有樣本特征,所以,需要對(duì)數(shù)據(jù)放縮到相同的分布空間中,本文采用歸一化的方法,將樣本特征放縮到[0,1]的范圍內(nèi),對(duì)樣本標(biāo)簽不做處理。
其中,xi為某一樣本的第i個(gè)特征為所有樣本的第i個(gè)特征中的最大值為所有樣本的第i個(gè)特征中的最小值為該樣本歸一化處理后的第i個(gè)特征。
從歸一化處理后的樣本數(shù)據(jù)中去掉與樣機(jī)實(shí)驗(yàn)平臺(tái)最相近的一組數(shù)據(jù),如表3所示,確保模型不會(huì)學(xué)習(xí)到該組數(shù)據(jù),用于后續(xù)測(cè)試,剩余1199 組數(shù)據(jù)組成樣本庫。
表3 模型測(cè)試使用的電機(jī)結(jié)構(gòu)參數(shù)
另外,樣本庫中相鄰樣本之間僅有一個(gè)特征不同,存在特征相似的問題,神經(jīng)網(wǎng)絡(luò)是按批進(jìn)行訓(xùn)練的,當(dāng)每批的樣本特征過于相似時(shí),會(huì)使神經(jīng)網(wǎng)絡(luò)將相鄰的樣本之間特征是相似的這一錯(cuò)誤信息更新到網(wǎng)絡(luò)模型中,導(dǎo)致模型收斂速度慢、精度低,所以需要將樣本庫中的樣本順序隨機(jī)打亂,確保訓(xùn)練時(shí)每批樣本特征之間不存在過多聯(lián)系。
深度神經(jīng)網(wǎng)絡(luò)是一種模擬人腦神經(jīng)元進(jìn)行信息處理的計(jì)算系統(tǒng),其模型構(gòu)建往往需要依賴經(jīng)驗(yàn)信息和先驗(yàn)知識(shí),在深度神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上使用結(jié)構(gòu)搜索算法構(gòu)建ADNN 模型,模型由輸入層、隱藏層、輸出層組成,本文使用全連接網(wǎng)絡(luò)結(jié)構(gòu),提前終止法終止訓(xùn)練,驗(yàn)證集誤差和決定系數(shù)反饋調(diào)整模型結(jié)構(gòu),如圖1所示,其中結(jié)構(gòu)搜索算法可以分為搜索空間、搜索策略和性能評(píng)估三個(gè)維度[10,11]。
圖1 ADNN模型結(jié)構(gòu)圖
其工作流程如下:
⑴ 給定搜索空間,模型參數(shù)初始化。給定ADNN 模型結(jié)構(gòu)的搜索空間,在搜索空間內(nèi)選定某一結(jié)構(gòu)建立ADNN 模型,并初始化各層的權(quán)重參數(shù)W和偏置參數(shù)b。
⑵正向傳播,計(jì)算輸出結(jié)果。選取一定批量的數(shù)據(jù)作為輸入層數(shù)據(jù),權(quán)重參數(shù)Wi與上一層的輸出數(shù)據(jù)yi-1相乘加上偏置量bi得到當(dāng)前層的輸入數(shù)據(jù)xi,為了使模型能計(jì)算非線性問題,輸入數(shù)據(jù)xi需要經(jīng)過激活函數(shù)σ得到當(dāng)前層的輸出數(shù)據(jù)yi,由此正向傳播計(jì)算得到最后輸出結(jié)果y,也即預(yù)測(cè)結(jié)果,其中i為當(dāng)前神經(jīng)元所在層數(shù)。
⑶反向傳播,更新參數(shù)。計(jì)算預(yù)測(cè)結(jié)果和真實(shí)結(jié)果的之間的損失LOSS,采用梯度下降法反向傳播,更新權(quán)重參數(shù)Wi和偏置量bi。
其中,ε為學(xué)習(xí)率。
⑷提前終止法停止學(xué)習(xí)。選取下一批量的數(shù)據(jù)重復(fù)步驟⑵和⑶,完整訓(xùn)練一遍樣本數(shù)據(jù)算作一次迭代,經(jīng)過若干次的學(xué)習(xí)迭代,當(dāng)滿足提前終止法的條件后,完成模型的訓(xùn)練。
⑸反饋調(diào)整模型結(jié)構(gòu)。完成模型訓(xùn)練后,評(píng)估模型誤差和精度,并使用一種搜索策略反饋調(diào)整模型結(jié)構(gòu),尋找搜索空間內(nèi)性能最優(yōu)的模型結(jié)構(gòu)。
本文使用決定系數(shù)R2評(píng)估模型的精確性,R2的計(jì)算公式如下:
其中,m為樣本個(gè)數(shù),yi為樣本真實(shí)結(jié)果,yi為模型預(yù)測(cè)結(jié)果為所有樣本真實(shí)結(jié)果的平均值。
當(dāng)R2越接近1時(shí),則預(yù)測(cè)值越接近于真實(shí)值,模型擬合度越高;當(dāng)R2越接近0時(shí),則預(yù)測(cè)值越接近于平均值,說明模型幾乎沒有預(yù)測(cè)作用,模型擬合度越低;當(dāng)R2為負(fù)數(shù)時(shí),則表明模型預(yù)測(cè)值的誤差比直接使用平均值作為預(yù)測(cè)值的誤差還大,這種情況一般為非線性問題使用了線性模型進(jìn)行預(yù)測(cè)會(huì)出現(xiàn),若出現(xiàn)這種情況則說明模型結(jié)構(gòu)存在較大問題。
本文ADNN 模型輸入層數(shù)據(jù)為電機(jī)結(jié)構(gòu)參數(shù),即輸入層節(jié)點(diǎn)數(shù)為5,輸出層數(shù)據(jù)為電機(jī)的一組定位力,即輸出層節(jié)點(diǎn)數(shù)為101,確定搜索空間的隱層數(shù)范圍為[1,+∞),隱層節(jié)點(diǎn)數(shù)范圍為[5,101];由于模型計(jì)算規(guī)模較小,可使用順序搜索策略,算法過程見算法1;在訓(xùn)練ADNN 時(shí)使用提前終止法提前停止訓(xùn)練,算法過程見算法2。此外,本文使用一種k 折的訓(xùn)練方式,可以有效利用所有樣本,搜索得到最佳模型結(jié)構(gòu),最后使用所有樣本訓(xùn)練最佳模型得到定位力快速計(jì)算模型,其構(gòu)建流程如圖2所示。
圖2 定位力快速計(jì)算模型構(gòu)建流程圖
算法1 順序搜索算法
算法2 提前終止法
本文與兩種傳統(tǒng)的機(jī)器學(xué)習(xí)算法進(jìn)行對(duì)比,包括KNN算法、RF算法。將預(yù)處理后的樣本按8:2劃分訓(xùn)練集與測(cè)試集,各算法主要參數(shù)設(shè)定如下:
⑴KNN算法中k值設(shè)定為5;
⑵RF算法中最大深度設(shè)定為不限。
使用訓(xùn)練集數(shù)據(jù)訓(xùn)練各模型,完成訓(xùn)練后計(jì)算測(cè)試集均方誤差和決定系數(shù)。使用三個(gè)模型對(duì)表3中的結(jié)構(gòu)參數(shù)進(jìn)行定位力預(yù)測(cè),與有限元分析軟件的輸出結(jié)果對(duì)比分別如圖3、圖4所示。
圖3 KNN模型預(yù)測(cè)圖
圖4 RF模型預(yù)測(cè)圖
3.2.1 模型參數(shù)初始化
本文選擇LeakyReLU 作為模型的激活函數(shù),解決了ReLU 死神經(jīng)元的問題,模型的初始學(xué)習(xí)率設(shè)定為0.001,損失函數(shù)選擇更適合回歸任務(wù)的均方誤差(Mean Square Error,MSE)函數(shù),優(yōu)化器選擇自適應(yīng)矩 估 計(jì)(Adaptive moment estimation,Adam),Adam優(yōu)化器可動(dòng)態(tài)調(diào)整模型學(xué)習(xí)率,能自然地實(shí)現(xiàn)步長(zhǎng)退火過程,由于其優(yōu)秀的性能和精度,被各領(lǐng)域廣泛使用[12]。
3.2.2 訓(xùn)練ADNN定位力快速計(jì)算模型
將樣本庫平均分成10 份,按2.3 節(jié)中的訓(xùn)練步驟訓(xùn)練ADNN 模型。訓(xùn)練結(jié)束后得到10個(gè)模型,計(jì)算平均隱層數(shù)和隱層節(jié)點(diǎn)數(shù),得3 個(gè)隱層、24 個(gè)隱層節(jié)點(diǎn),則最佳模型結(jié)構(gòu)為3 個(gè)隱層、24 個(gè)隱層節(jié)點(diǎn)。用樣本庫中所有數(shù)據(jù)訓(xùn)練最佳結(jié)構(gòu)的ADNN 模型即可得到定位力計(jì)算模型,該模型的誤差和精度可采用k 折交叉驗(yàn)證法進(jìn)行驗(yàn)證。使用定位力計(jì)算模型對(duì)表3中的結(jié)構(gòu)參數(shù)進(jìn)行定位力預(yù)測(cè),與有限元分析軟件的輸出結(jié)果對(duì)比如圖5所示。
圖5 ADNN模型預(yù)測(cè)圖
3.2.3 k折交叉驗(yàn)證
上一節(jié)中使用10折訓(xùn)練方式,直接使用該節(jié)的樣本分組,進(jìn)行10 折交叉驗(yàn)證,不同的是不需要再將除測(cè)試集外的數(shù)據(jù)分為訓(xùn)練集和驗(yàn)證集,而是整體作為k 折交叉驗(yàn)證法的訓(xùn)練集。由于上一節(jié)所使用的驗(yàn)證集數(shù)據(jù)為k 折交叉驗(yàn)證法的訓(xùn)練集中的一部分,故不存在數(shù)據(jù)泄露的問題。訓(xùn)練完成后得到10 個(gè)模型的誤差和決定系數(shù)如圖6 所示,計(jì)算它們的平均誤差和決定系數(shù)即為ADNN 定位力快速計(jì)算模型的誤差和精度。
圖6 k折交叉驗(yàn)證法的誤差與決定系數(shù)
由3.1 節(jié)與3.2 節(jié)得到KNN、RF 和ADNN 的誤差與精度如圖7所示。
圖7 KNN、RF、ADNN模型誤差和精度對(duì)比
ADNN模型精度為99.86%,與KNN、RF的75.15%、97.10%相比,精度分別提高32.88%和2.84%。人工調(diào)參時(shí),逐一對(duì)模型分析、調(diào)整與訓(xùn)練,建立高精度模型大約需耗費(fèi)100min;ADNN 完整自適應(yīng)調(diào)整過程僅耗費(fèi)14min50s,時(shí)間消耗減少85.17%。
為了驗(yàn)證ADNN 定位力快速計(jì)算模型能有效計(jì)算永磁直線電機(jī)的定位力,用MTS100kN 萬能試驗(yàn)機(jī)進(jìn)行試驗(yàn)。樣機(jī)實(shí)驗(yàn)平臺(tái)所使用的永磁直線電機(jī)結(jié)構(gòu)參數(shù)如表6 所示,使用MTS100kN 萬能試驗(yàn)機(jī)以0.001m/s 的速度帶動(dòng)永磁直線電機(jī)工作,如圖8 所示。電機(jī)初級(jí)的質(zhì)量為M,向上移動(dòng)時(shí)讀取力傳感器的數(shù)據(jù)FU(t),向下移動(dòng)時(shí)讀取力傳感器的數(shù)據(jù)FD(t),經(jīng)過計(jì)算得到其定位力Fd(t)。
表6 實(shí)驗(yàn)平臺(tái)使用的電機(jī)結(jié)構(gòu)參數(shù)
圖8 樣機(jī)實(shí)驗(yàn)平臺(tái)示意圖
使用ADNN 定位力快速計(jì)算模型計(jì)算表6參數(shù)的定位力,與樣機(jī)實(shí)驗(yàn)平臺(tái)測(cè)量的數(shù)據(jù)對(duì)比如圖9所示。ADNN 模型計(jì)算結(jié)果與實(shí)驗(yàn)結(jié)果基本一致,說明ADNN 定位力快速計(jì)算模型是有效的,其中存在一些偏差的主要原因是訓(xùn)練模型的樣本數(shù)據(jù)由軟件仿真得到,沒有考慮損耗和摩擦等因素。
圖9 ADNN預(yù)測(cè)數(shù)據(jù)與實(shí)驗(yàn)數(shù)據(jù)對(duì)比
本文提出了一種結(jié)構(gòu)自適應(yīng)的ADNN 模型,通過提前終止法和結(jié)構(gòu)搜索算法能快速找到最佳模型,k折訓(xùn)練方式能有效利用所有樣本,然后使用k 折交叉驗(yàn)證法計(jì)算其精度,并和K最近鄰、隨機(jī)森林的精度進(jìn)行對(duì)比,最后使用樣機(jī)平臺(tái)驗(yàn)證模型的有效性。實(shí)驗(yàn)結(jié)果表明,基于ADNN 的定位力計(jì)算模型具有良好的精度和性能,解決了傳統(tǒng)機(jī)器學(xué)習(xí)算法精度不足的問題,且ADNN 的結(jié)構(gòu)自適應(yīng)特性相比人工調(diào)參的深度神經(jīng)網(wǎng)絡(luò)模型,建模效率顯著提高。未來考慮引入智能算法改進(jìn)本文的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)搜索策略,諸如遺傳算法、粒子群優(yōu)化算法等,進(jìn)一步提高效率和準(zhǔn)確性。