馬琰祁 李偉勤 吳育涵 鐘連誠
1 西南石油大學(xué)電氣信息學(xué)院,成都市新都大道8號(hào),610500
隨著正演計(jì)算方法的發(fā)展和計(jì)算機(jī)性能的提高,神經(jīng)網(wǎng)絡(luò)為地球物理學(xué)研究打開了新的篇章。已有研究表明,神經(jīng)網(wǎng)絡(luò)在電磁反演中具有可行性[1-2],但目前大部分神經(jīng)網(wǎng)絡(luò)在可控源電磁反演中的應(yīng)用是基于反向傳播等傳統(tǒng)方法提供初始輸入的一次性生成的網(wǎng)絡(luò)模型。神經(jīng)網(wǎng)絡(luò)的非線性優(yōu)勢在分類問題上效果顯著,但在回歸預(yù)測方面其優(yōu)勢會(huì)弱化,導(dǎo)致神經(jīng)網(wǎng)絡(luò)模型出現(xiàn)過擬合或欠擬合等問題[3]。在神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,較少的特征無法很好地反映地表特征場源之間的關(guān)系,因此一般使用高維的訓(xùn)練樣本,但這也容易導(dǎo)致網(wǎng)絡(luò)模型不收斂[4]。由此可見,神經(jīng)網(wǎng)絡(luò)在可控源電磁法中的應(yīng)用具有一定的挑戰(zhàn)性,同時(shí)也有很大的科研拓展空間。
本文提出一種卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)和生成對抗網(wǎng)絡(luò)(generative adversarial networks,GAN)相結(jié)合的CNN-GAN組合模型來解決可控源電磁二維反演問題。CNN具有較強(qiáng)的空間提取能力,而GAN判別器的識(shí)別能力可以增強(qiáng)網(wǎng)絡(luò),抓取更多的數(shù)據(jù)信息。使用CNN從差分總場中提取地下異常體電導(dǎo)率的空間數(shù)據(jù)信息,再將獲得的數(shù)據(jù)信息輸入GAN,以改進(jìn)數(shù)據(jù)圖像重建。通過CNN-GAN組合模型訓(xùn)練方法可以使網(wǎng)絡(luò)擁有更強(qiáng)的學(xué)習(xí)能力,更加有效地挖掘輸入與標(biāo)簽之間數(shù)據(jù)的關(guān)聯(lián)性,最后利用直方圖交互法將組合模型的預(yù)測結(jié)果與傳統(tǒng)網(wǎng)絡(luò)模型的預(yù)測結(jié)果進(jìn)行對比。
地電模型由空氣層、地層和地下異常體3部分組成,接收區(qū)域位于地面,異常體位于地下,磁偶極子發(fā)射源位于異常體上方,其橫坐標(biāo)位于原點(diǎn)處,地電模型如圖1所示。
圖1 地電模型示意圖
根據(jù)麥克斯韋方程組和相應(yīng)的電磁張量格林函數(shù),可以寫出任意電流分布為j(r)的電場公式:
(1)
式中,rj為剖分后的任意點(diǎn),E為電場,GE為電場格林算子,D為異常體內(nèi)部區(qū)域。
(2)
E(rj)=GE(ja)+GE(je)
(3)
式中,GE(ja)為過載電流ja產(chǎn)生的異常場,GE(je)為對應(yīng)背景介質(zhì)的外部電流je產(chǎn)生的背景場。另有:
(4)
Eb(rj)=GE(je)
(5)
(6)
若已知非均勻區(qū)域內(nèi)的電場和異常體電導(dǎo)率,使用式(6)便可求出任意點(diǎn)rj的電場[5]。式(6)為電磁正演模擬建立了基礎(chǔ)。
(7)
卷積神經(jīng)網(wǎng)絡(luò)(CNN)是深度學(xué)習(xí)中的代表網(wǎng)絡(luò)之一,由輸入層、輸出層、全連接層、卷積層和池化層5部分組成,具體的網(wǎng)絡(luò)結(jié)構(gòu)[6]如圖2所示。由于CNN可以將模型中的特征提取出來,然后根據(jù)模型的特征進(jìn)行識(shí)別、分類或預(yù)測等,其在地震及電磁數(shù)據(jù)分析領(lǐng)域中的應(yīng)用十分廣泛。
圖2 CNN示意圖
CNN主要通過訓(xùn)練網(wǎng)絡(luò)來學(xué)習(xí)輸入與輸出之間的關(guān)系,而在其應(yīng)用于地球物理領(lǐng)域時(shí),可以把某點(diǎn)觀測的電磁場數(shù)據(jù)看成一個(gè)特征。因此,本文將地面接收機(jī)接收及處理后的差分總場作為該網(wǎng)絡(luò)模型的輸入,將地下異常體的電導(dǎo)率作為輸出,通過一系列卷積操作有效提取出輸入和輸出數(shù)據(jù)之間的映射關(guān)系。將ADAM優(yōu)化器應(yīng)用于CNN中,該優(yōu)化器將AdaGrad算法和RMSProp算法的優(yōu)點(diǎn)相結(jié)合,可對網(wǎng)絡(luò)中的每個(gè)參數(shù)使用相同學(xué)習(xí)率,并獨(dú)立適應(yīng)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)[7]。
雖然CNN可實(shí)現(xiàn)地下異常體電導(dǎo)率的粗略重構(gòu),但其池化層丟失了一些有價(jià)值的信息,忽略了局部與整體之間的關(guān)系,導(dǎo)致精度較低,不能滿足工程應(yīng)用的要求。因此,本文將CNN的訓(xùn)練過程作為傳統(tǒng)深度學(xué)習(xí)方法的初值選擇過程,再使用GAN對模型進(jìn)行優(yōu)化。
生成對抗網(wǎng)絡(luò)(GAN)由生成器和判別器兩部分組成,具體結(jié)構(gòu)如圖3所示。與CNN不同,GAN是基于模擬人腦建模的,需要不斷學(xué)習(xí)和模仿,以提升到與標(biāo)簽數(shù)據(jù)一致且符合需要的建模水平[8]。
圖3 GAN示意圖
在傳統(tǒng)GAN中,常使用隨機(jī)噪聲作為生成器的輸入,但噪聲是隨機(jī)采樣的,并且噪聲在原始空間的映射并不是滿射的,這是導(dǎo)致GAN崩潰的原因之一。所以,本文直接使用CNN的輸出作為GAN生成器的輸入,同時(shí)也使用ADAM優(yōu)化器優(yōu)化二元交叉熵更新生成器的權(quán)重。
2.3.1 CNN的評(píng)價(jià)指標(biāo)
均方根誤差(RMSE)是判斷CNN預(yù)測效果的指標(biāo)之一。RMSE擅長追蹤異常的數(shù)據(jù)值,注重預(yù)測結(jié)果中異常值對模型效果的影響,RMSE值越小,其訓(xùn)練效果越好[9]。RMSE的計(jì)算公式為:
(8)
式中,m為樣本總數(shù),Yi為預(yù)測的地下異常體電導(dǎo)率,f(xi)為真實(shí)的地下異常體電導(dǎo)率。
2.3.2 GAN的評(píng)價(jià)指標(biāo)
傳統(tǒng)GAN的損失函數(shù)常表示為:
Ez~Pz[log(1-D(G(z))]
(9)
式中,G為生成器,D為判別器,V(D,G)為其運(yùn)算關(guān)系,x為真實(shí)數(shù)據(jù),Z為噪聲數(shù)據(jù),E為數(shù)學(xué)期望,Pdata為真實(shí)數(shù)據(jù)的分布,Pz為噪聲數(shù)據(jù)的分布,G(z)為生成器生成樣本的數(shù)據(jù),D(x)為判別器判別圖片的真實(shí)概率。
傳統(tǒng)GAN的損失函數(shù)常用log(1-D(G(z)))表示生成器的交叉熵,但通過圖4中l(wèi)og(1-D(x))函數(shù)曲線發(fā)現(xiàn),當(dāng)D(x)接近0時(shí),梯度非常小。所以,在傳統(tǒng)GAN訓(xùn)練初期,生成器“欺騙”判別器的效率很低。雖然-log(D(x))函數(shù)和log(1-D(x))函數(shù)的整體趨勢都是遞減的,但-log(D(x))函數(shù)在D(x)接近0時(shí)梯度較大,有利于提高生成器在訓(xùn)練初期“欺騙”判別器的效率,從而提高GAN整體的訓(xùn)練速度。此外,為盡可能增強(qiáng)生成器的性能,避免訓(xùn)練模型出現(xiàn)過擬合的現(xiàn)象,本文增加了L1正則化(L1 regularization)作為損失函數(shù)的懲罰項(xiàng)[10],因此可將生成器的損失函數(shù)Loss(G)表示為:
圖4 兩種log函數(shù)對比
(10)
式中,m為樣本個(gè)數(shù),WG為GAN生成器損失的權(quán)重初始值,WL1為平均絕對誤差的權(quán)重初始值。
對于GAN的判別器損失函數(shù)Loss(D)可表示為:
[log(D(x)+β)+log(1-D(G(z))+β)]
(11)
式中,β為常數(shù),用于確保log函數(shù)里面的參數(shù)大于0。
本文提出的CNN-GAN組合模型結(jié)構(gòu)如圖5所示,該模型彌補(bǔ)了單一網(wǎng)絡(luò)容易出現(xiàn)訓(xùn)練效果不穩(wěn)定的缺點(diǎn)??紤]到現(xiàn)實(shí)情況中獲取差分總場相位的成本很高,所以將差分總場以幅值的形式作為輸入。差分總場幅值可表示為:
圖5 CNN-GAN組合模型
(12)
式中,M為差分總場幅值,Re為差分總場實(shí)部的模值,Im為差分總場虛部的模值。通過CNN初步完成對地下異常體電導(dǎo)率的粗略預(yù)測,再將預(yù)測結(jié)果送入GAN生成器中,然后將生成器的預(yù)測結(jié)果與真實(shí)數(shù)據(jù)信息一同傳入到判別器中,判別器將判斷結(jié)果反饋給生成器,通過生成器和判別器相互對抗,提高生成器的回歸預(yù)測能力,充分挖掘出差分總場中的隱藏信息。
本文使用電磁仿真模擬軟件批量制作以差分電場幅值作為輸入和以異常體電導(dǎo)率模型作為輸出的數(shù)據(jù)集。該軟件是基于積分方程方法的頻率域建模軟件,可設(shè)計(jì)三維地電結(jié)構(gòu)模型,并實(shí)現(xiàn)平面波水平和垂直方向的雙極源及X、Y、Z三方向的場源模擬,通過修改參數(shù)文件來實(shí)現(xiàn)地電模型的模擬,參數(shù)設(shè)置包括場源參數(shù)、激發(fā)頻率、層狀模型參數(shù)、異常體剖分及異常體電導(dǎo)率等,運(yùn)行程序即可獲得相應(yīng)的電磁場數(shù)據(jù)。
根據(jù)油田實(shí)際情況建立地電模型,地下異常體的范圍為140 m×140 m×8 m,剖分網(wǎng)格大小為28 m×28 m×2 m,地下異常體形態(tài)與電導(dǎo)率是基于MNIST手寫數(shù)字集隨機(jī)生成的,且異常體電導(dǎo)率經(jīng)過歸一化的數(shù)據(jù)預(yù)處理后在0~1之間隨機(jī)變化。如圖6(a)所示,接收區(qū)域在地面上2 000 m×2 000 m,異常體位于地下1 400 m,頻率設(shè)置為200 Hz。以磁偶極子發(fā)射源為中心布設(shè)接收區(qū)域,在已知異常體所在儲(chǔ)層大致位置的情況下,發(fā)射源A和發(fā)射源B分別位于異常體上方和下方100 m處,坐標(biāo)分別為(0 m,0 m,1 308 m)、(0 m,0 m,1508 m),異常體坐標(biāo)范圍為X(0~140 m)、Y(0~140 m)、Z(1 400~1 408 m),接收區(qū)域范圍為X(-1 000~1 000 m)、Y(-1 000~1 000 m)。接收區(qū)域布設(shè)如圖6(b)所示,其中紅點(diǎn)為發(fā)射源的位置,灰色矩形為異常體。
圖6 可控源模型示意圖
CNN-GAN組合模型的硬件環(huán)境包括AMD Ryzen 7 5800H with Radeon Graphics@3.20 GHz,NVIDIA GeForce RTX 3050Ti Laptop GPU;軟件環(huán)境包括Python 3.5,TensorFlow1.2和CUDA 10.2等。其中,CNN的學(xué)習(xí)率設(shè)置為0.001,GAN中生成器和判別器的學(xué)習(xí)率分別設(shè)置為0.002和0.000 01,訓(xùn)練的批量大小為1,Epoch設(shè)置為120,初始權(quán)重WG和WL1分別設(shè)置為1.0和0.1。
數(shù)據(jù)集由地面接收器采集到的作為深度學(xué)習(xí)網(wǎng)絡(luò)輸入的差分總場幅值和作為網(wǎng)絡(luò)輸出的地下異常體電導(dǎo)率構(gòu)成。隨著網(wǎng)絡(luò)模型學(xué)習(xí)參數(shù)的增加,訓(xùn)練所需數(shù)據(jù)也會(huì)增加,所以高質(zhì)量的數(shù)據(jù)更能對網(wǎng)絡(luò)性能產(chǎn)生積極影響[11]。經(jīng)測試,選取1 000個(gè)數(shù)據(jù)集相較于500個(gè)數(shù)據(jù)集對于網(wǎng)絡(luò)性能有較大提升;而選取1 200個(gè)數(shù)據(jù)集和1 500個(gè)數(shù)據(jù)集相較于1 000個(gè)數(shù)據(jù)集對于網(wǎng)絡(luò)性能的提升并不顯著。因此,考慮到計(jì)算效率和時(shí)間成本,本文挑選了1 000個(gè)異常體占比較大的高質(zhì)量數(shù)據(jù)集作為訓(xùn)練樣本,200個(gè)數(shù)據(jù)集作為測試樣本,送入CNN進(jìn)行訓(xùn)練,并使用均方根誤差(RMSE)作為衡量指標(biāo)。由圖7可以看出,曲線呈跳躍狀,訓(xùn)練過程不穩(wěn)定,只能給出粗略的預(yù)測結(jié)果。再將CNN中粗略的預(yù)測結(jié)果送入GAN,結(jié)果如圖8所示,隨著訓(xùn)練次數(shù)的增加,生成器的損失函數(shù)也逐漸降低,前150次迭代GAN生成器和判別器處于激烈的對抗訓(xùn)練中,迭代至18 000次后趨于平穩(wěn),模型基本收斂,結(jié)果達(dá)到預(yù)期效果。由此可知,CNN-GAN組合模型訓(xùn)練花費(fèi)時(shí)間為36 783 s。
圖7 CNN網(wǎng)絡(luò)的均方根誤差
圖8 生成器損失函數(shù)
分別使用CNN、GAN及CNN-GAN組合模型進(jìn)行對比實(shí)驗(yàn),結(jié)果如圖9所示??梢钥闯?CNN及GAN只能粗略預(yù)測異常體電導(dǎo)率,而CNN-GAN組合模型預(yù)測的電導(dǎo)率分布與真實(shí)情況基本一致,可精確反演出地下異常體的位置形狀。
(a)差分總場幅值作為神經(jīng)網(wǎng)絡(luò)的輸入;(b)真實(shí)異常體電導(dǎo)率分布作為神經(jīng)網(wǎng)絡(luò)的標(biāo)簽;(c)基于CNN的二維反演異常體電導(dǎo)率分布;(d)基于GAN的二維反演異常體電導(dǎo)率分布;(e)基于CNN-GAN的二維反演異常體電導(dǎo)率分布
本文采用直方圖相交法計(jì)算模型輸出和標(biāo)簽之間的相似度,將彩色圖分為3個(gè)通道并繪制直方圖[12],將CNN、GAN及CNN-GAN組合模型預(yù)測圖形的直方圖分別與標(biāo)簽RGB三通道直方圖進(jìn)行匹配,并對匹配結(jié)果求平均值,分別得出不同網(wǎng)絡(luò)模型預(yù)測的圖形與標(biāo)簽的相似度(表1),發(fā)現(xiàn)CNN-GAN組合模型預(yù)測的電導(dǎo)率與標(biāo)簽相似度高達(dá)94.38%。
表1 不同模型預(yù)測圖形的相似度
針對傳統(tǒng)可控源電磁反演方法容易陷入局部最小、計(jì)算量大及反演結(jié)果不穩(wěn)定等問題,本文提出一種基于CNN和GAN的組合神經(jīng)網(wǎng)絡(luò)模型。該模型不僅在總場數(shù)據(jù)送入網(wǎng)絡(luò)前對其進(jìn)行差分預(yù)處理,還提高了CNN的提取能力及GAN的穩(wěn)定性。將CNN-GAN組合模型的預(yù)測結(jié)果與傳統(tǒng)CNN和GAN的預(yù)測結(jié)果進(jìn)行分析對比,結(jié)果顯示,CNN-GAN組合模型預(yù)測效果最好,相似度高達(dá)94.38%,比傳統(tǒng)CNN和GAN模型分別提高約48%、78%。
神經(jīng)網(wǎng)絡(luò)模型在可控源反演領(lǐng)域還存在許多問題,后期將提高模型的訓(xùn)練效率,改善CNN-GAN組合模型的泛化能力,以提高其實(shí)用性。