武風(fēng)波,范夢寧,劉文遠(yuǎn),趙 盼,周遠(yuǎn)國
(1.西安科技大學(xué) 通信與信息工程學(xué)院,陜西 西安 710054;2.陜西科技大學(xué) 電子信息與人工智能學(xué)院,陜西 西安 710021)
計算電磁仿真研究在學(xué)術(shù)和工程領(lǐng)域中應(yīng)用十分廣泛,如天線和電路設(shè)計、目標(biāo)探測、地球物理勘探、納米光學(xué)等許多相關(guān)領(lǐng)域[1]。傳統(tǒng)的計算電磁方法有: 時域有限差分法(finite-difference time-domain, FDTD)[2-3]、有限元法(finite element method, FEM)[4]、譜元法[5]、時域積分方程法(time domain integral equation, TDIE)[6]、矩量法(method of moments, MOM)[7]等,這些方法都能準(zhǔn)確地計算電磁問題。但由于上述方法都需要進(jìn)行大規(guī)模的網(wǎng)格剖分,對于大的電磁正演模型將會占用大量的計算資源,需要大量的計算時間,且有的方法對于電磁正演模型的形狀有限制。隨著神經(jīng)網(wǎng)絡(luò)、人工智能的快速發(fā)展,神經(jīng)網(wǎng)絡(luò)建模方法在很多領(lǐng)域得到應(yīng)用[8-10],大大提高了計算效率。神經(jīng)網(wǎng)絡(luò)具有學(xué)習(xí)復(fù)雜趨勢的能力,并基于這一趨勢能預(yù)測出新的或未來的信息,因此,研究人員利用該特點將神經(jīng)網(wǎng)絡(luò)應(yīng)用于模擬復(fù)雜問題,如格林函數(shù)[11]、泊松方程[12]和流體力學(xué)[13]等。在這些工作中,神經(jīng)網(wǎng)絡(luò)從傳統(tǒng)求解器模擬的數(shù)據(jù)中學(xué)習(xí),得到經(jīng)驗?zāi)P?從而快速準(zhǔn)確地預(yù)測結(jié)果,并且取得了較好的效果。而目前關(guān)于神經(jīng)網(wǎng)絡(luò)在電磁正演問題中的應(yīng)用研究較少,F(xiàn)ENG等搭建了一個基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNNs)的電磁正演模型,能夠正確預(yù)測二維電磁輻射特性,但其泛化性不夠強,且需要大量訓(xùn)練樣本的支持,訓(xùn)練此神經(jīng)網(wǎng)絡(luò)模型耗時較長[14];ZHANG等搭建了循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)宏模型來進(jìn)行微帶低通濾波器的電磁仿真分析,速度與傳統(tǒng)的電磁正演方法相比有了數(shù)倍提升,但是訓(xùn)練誤差較大[15]。
針對上述問題本文考慮采用適合處理時間序列的長短時記憶(long short-term memory, LSTM)[16-18]神經(jīng)網(wǎng)絡(luò)模型來對電磁正演問題進(jìn)行求解,提出了基于LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型,以及適用于LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型訓(xùn)練算法,并搭建了一個基于LSTM神經(jīng)網(wǎng)絡(luò)的近似模型。此方法僅需要少量的訓(xùn)練樣本就能快速訓(xùn)練出基于LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型,同時將該LSTM神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果與FDTD計算結(jié)果進(jìn)行對比,在保證精度的情況下,單個樣本的計算速度比FDTD方法提高了1 000多倍。初步的數(shù)值研究證明了該算法的可行性,成功實現(xiàn)了快速準(zhǔn)確預(yù)測空間中電場分布的目的。
LSTM神經(jīng)網(wǎng)絡(luò)模型通過 “門”來控制丟棄或保留信息,從而實現(xiàn)遺忘或記憶的功能。在本問題中,基于LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型如圖1所示。其基本結(jié)構(gòu)由遺忘門、輸入門和輸出門3個門組成,這3個門相互作用從而控制LSTM神經(jīng)網(wǎng)絡(luò)最終的輸出。LSTM神經(jīng)網(wǎng)絡(luò)的關(guān)鍵是單元狀態(tài),LSTM神經(jīng)網(wǎng)絡(luò)通過遺忘門、輸入門和輸出門保護(hù)和控制單元狀態(tài)。
圖1 LSTM結(jié)構(gòu)圖Fig.1 LSTM structure
遺忘門決定了哪些信息應(yīng)該被保留或丟棄,在本問題中,遺忘門的輸出被寫為
ft=
σ(wf·[Et-1,xmin,xmax,ymin,ymax,εr,E0(t)]T+
bf)。
(1)
其中:σ(·)為sigmoid激活函數(shù);xmin、xmax、ymin、ymax、εr、E0(t)為回歸模型的輸入;xmin、xmax、ymin、ymax為散射體的位置信息;εr為散射體的相對介電常數(shù);E0(t)為t時刻對應(yīng)的背景的電場值;ft為t時刻遺忘門的輸出;Et-1為t-1時刻的輸出電場;bf為遺忘門的偏置;wf為遺忘門的權(quán)值矩陣。
輸入門決定了需要多少信息作為輸入才能生成當(dāng)前狀態(tài)。計算公式為
it=
σ(wi·[Et-1,xmin,xmax,ymin,ymax,εr,E0(t)]T+bi)。
(2)
其中,wi和bi分別表示輸入門的權(quán)值矩陣和偏置??梢钥闯?,it與ft相似,兩個門均由Et-1和xmin、xmax、ymin、ymax、εr、E0(t)共同確定。
LSTM神經(jīng)網(wǎng)絡(luò)通過添加遺忘門和輸入門所控制的信息來確定當(dāng)前時刻t的隱藏狀態(tài)ct,長期信息由ft控制,短期信息由it控制,具體的計算公式為
tanh(wc·[Et-1,xmin,xmax,ymin,ymax,εr,E0(t)]T+
bc),
(3)
(4)
其中:tanh(·)為激活函數(shù);wc和bc分別為電流門的權(quán)值矩陣和偏置。
LSTM神經(jīng)網(wǎng)絡(luò)的輸出門控制最終有多少信息作為輸出,輸出門用ot表示,具體的計算公式為
ot=
σ(wo[Et-1,xmin,xmax,ymin,ymax,εr,E0(t)]T+bo)。
(5)
由于3個門相互作用,控制LSTM神經(jīng)網(wǎng)絡(luò)的輸出,因此,LSTM電場Et的最終輸出定義為
Et=ot*tan(ct)。
(6)
由以上LSTM神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)特點可知,LSTM神經(jīng)網(wǎng)絡(luò)非常適合處理與時間序列高度相關(guān)的問題,“門”結(jié)構(gòu)能夠有選擇性的決定信息的保留。而時域電磁場的變化在時間上是相互關(guān)聯(lián)的,電場值E的變化,不僅與散射體的位置信息和相對介電常數(shù)信息有關(guān),與當(dāng)前時刻的背景場有關(guān),也與時間密切相關(guān),這些特征之間對所求電場值E的影響關(guān)系,就可以靠“門”結(jié)構(gòu)進(jìn)行判斷,最終預(yù)測出結(jié)果。因此,將LSTM神經(jīng)網(wǎng)絡(luò)模型引入時域電磁正演領(lǐng)域是可行的。
將LSTM神經(jīng)網(wǎng)絡(luò)用于時域電磁正演不僅保證了計算精度,同時也加快了電磁計算的速度。為了建立LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型,本文提出了一套算法,算法如下所述。圖2為LSTM神經(jīng)網(wǎng)絡(luò)求解電磁正演的算法流程圖。
圖2 算法流程圖Fig.2 Algorithm flow chart
算法步驟如下:
1) 根據(jù)所要求解的電磁問題,建立電磁正演模型,得到所需要的樣本數(shù)據(jù)。
2) 根據(jù)樣本數(shù)據(jù)特征,確定LSTM神經(jīng)網(wǎng)絡(luò)為解決電磁正演的神經(jīng)網(wǎng)絡(luò)模型,以及LSTM神經(jīng)網(wǎng)絡(luò)的輸入輸出,并確定訓(xùn)練停止的閾值T。
3) 劃分樣本數(shù)據(jù)為訓(xùn)練集跟測試集兩部分,選擇合適的歸一化標(biāo)準(zhǔn)對樣本數(shù)據(jù)進(jìn)行歸一化處理,以便更快更好地訓(xùn)練出用于電磁正演的LSTM神經(jīng)網(wǎng)絡(luò)模型。
4) 選擇合適的神經(jīng)網(wǎng)絡(luò)超參數(shù)以及迭代步數(shù)等,用訓(xùn)練集對LSTM神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。
5) 測試集對訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行測試,驗證網(wǎng)絡(luò)的準(zhǔn)確性與泛化性。
6) 通過對比LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果與FDTD仿真結(jié)果的相對誤差erraver來判斷神經(jīng)網(wǎng)絡(luò)模型是否訓(xùn)練良好。
7) 若平均相對誤差小于訓(xùn)練停止的閾值T,則表示網(wǎng)絡(luò)訓(xùn)練良好,否則重新執(zhí)行步驟4)。
通過該算法,一旦神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練和測試成功,不僅可以快速對電磁正演問題進(jìn)行求解,而且對類似問題均可以直接進(jìn)行求解,傳統(tǒng)FDTD方法對于不同問題則需要進(jìn)行重新建模,本文提出的算法大大提高了計算效率。
在本研究中,針對電磁散射問題,搭建了基于tensorflow框架的LSTM神經(jīng)網(wǎng)絡(luò)。使用Matlab正演程序生成樣本數(shù)據(jù)集,并隨機劃分為訓(xùn)練數(shù)據(jù)集、測試數(shù)據(jù)集。將訓(xùn)練數(shù)據(jù)集輸入到LSTM神經(jīng)網(wǎng)絡(luò)經(jīng)過訓(xùn)練后, 用測試數(shù)據(jù)集驗證該LSTM神經(jīng)網(wǎng)絡(luò)的性能。
本文電磁正演仿真建模如圖3所示。電磁正演模型分為兩層,上層背景介質(zhì)的相對介電常數(shù)設(shè)置為1,電導(dǎo)率為0,下層背景介質(zhì)的相對介電常數(shù)設(shè)置為2,電導(dǎo)率為0.000 1,散射體在下層區(qū)域。整個計算區(qū)域的大小為10 m×10 m,散射體遍歷的預(yù)測區(qū)域的尺寸為7 m×7 m,被劃分為70×70個單元,每個單元格的大小為Δx=Δy=0.1。有5個發(fā)射源,用黃色的點表示,一個接收點,用紅色的點表示,它們都被放置在下層介質(zhì)上方,發(fā)射源為高斯源,中心頻率為0.15 GHz。
圖3 二維電磁正演模型示意圖Fig.3 2-D electromagnetic forward modeling
本文構(gòu)造了40個均勻散射體,形狀為長方體,它們?yōu)榇笮≡赱1 m×1 m,0.5 m×1 m,1 m×0.5 m,0.5 m×0.5 m,0.5 m×0.75 m,0.75 m×0.5 m,1 m×0.75 m,0.75 m×1 m]之中,相對介電常數(shù)在[3,4,5,6,7]之中的隨機組合,電導(dǎo)率為0.001,位置在下層預(yù)測區(qū)域內(nèi)隨機變化。一共組成3 399組樣本數(shù)據(jù),用于訓(xùn)練的有154組,用于測試的有3 245組。對LSTM神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,花費1 h左右,訓(xùn)練3 000次后,訓(xùn)練的損失函數(shù)降低到10-4以下,如圖4所示。
圖4 訓(xùn)練損失函數(shù)Fig.4 Training loss curve
圖5是從3 245組測試樣本中隨機抽取的兩個樣本的電磁散射結(jié)果。由圖5可以看出基于LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型預(yù)測的電場值與FDTD計算電場結(jié)果吻合地較好,這意味著經(jīng)過3 000次訓(xùn)練的LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型對于電磁正演是可靠的。
圖5 LSTM預(yù)測二維電磁散射結(jié)果Fig.5 LSTM predicts results of 2-D electromagnetic scattering
為了更詳細(xì)地比較LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測的電場值和FDTD數(shù)值計算的電場值,使用LSTM神經(jīng)網(wǎng)絡(luò)模型中的平均相對誤差erraver來衡量預(yù)測的準(zhǔn)確性。其公式為
(7)
ELSTM(j)、EFDTD(j)分別為LSTM神經(jīng)網(wǎng)絡(luò)預(yù)測的電場值、FDTD數(shù)值計算的電場值,erraver為樣本的平均相對誤差。為了直觀地看出預(yù)測樣本的誤差分布情況,繪制了平均相對誤差分布散點圖,如圖6所示??梢钥闯?測試樣本的erraver全都小于2%,結(jié)果表明基于LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型具有非常高的準(zhǔn)確性。
圖6 平均相對誤差分布Fig.6 Mean relative error distribution
同時為了對比本文提出的算法與傳統(tǒng)FDTD在時間上的差異,驗證了兩者在相同計算機硬件環(huán)境下計算單一樣本的時間開銷,結(jié)果如表1所示。由表1可以看出在相同計算機硬件環(huán)境下基于LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型求解電場在速度上大大優(yōu)于FDTD方法,前者的計算速度是后者1 809倍。
表1 LSTM預(yù)測電場與FDTD數(shù)值計算時間對比
本文提出了一種基于 LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型,以及適用于LSTM神經(jīng)網(wǎng)絡(luò)的電磁正演模型訓(xùn)練算法。該方法利用LSTM神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)特點進(jìn)行電磁正演建模,從而對時域電磁散射特性進(jìn)行快速求解,與傳統(tǒng)的FDTD方法相比,在保證精度的情況下,有效提高了時域電磁正演的求解速度。本文以二維時域電場問題為例進(jìn)行驗證,所提出方法的計算速度是傳統(tǒng)的FDTD方法的上千倍。這項研究表明,利用LSTM神經(jīng)網(wǎng)絡(luò)的靈活性,可以建立一個提供實時響應(yīng)的快速電磁求解器。