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