張苗苗,吳幫玉*,馬德波,王治國(guó)
(1.西安交通大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,陜西西安 710049;2.中國(guó)石油勘探開(kāi)發(fā)研究院,北京 100083)
斷層解釋是地震資料解釋的關(guān)鍵環(huán)節(jié)之一。早期的人工斷層解釋結(jié)果依賴于解釋人員的專業(yè)知識(shí)及經(jīng)驗(yàn)。三維地震數(shù)據(jù)的斷層解釋一般需要人工先對(duì)二維地震剖面進(jìn)行標(biāo)記[1],然后合成三維斷層體。隨著數(shù)據(jù)體越來(lái)越龐大、勘探區(qū)域越來(lái)越復(fù)雜,人工標(biāo)記的效率和精度已無(wú)法滿足實(shí)際生產(chǎn)需求[2]。計(jì)算機(jī)技術(shù)的進(jìn)步使斷層識(shí)別方法得到發(fā)展,如用于斷層識(shí)別的地震屬性技術(shù)(相干[3-5]、方差[6]、曲率[7]等)、蟻群算法[8]、最優(yōu)曲面投票技術(shù)[9]等。但是,地震屬性對(duì)噪聲等非地質(zhì)因素和其他地層不連續(xù)特征比較敏感[10],通常需要對(duì)斷層識(shí)別結(jié)果進(jìn)行人工干預(yù)或處理。
近年來(lái),深度學(xué)習(xí)技術(shù)在圖像分割、目標(biāo)檢測(cè)、圖像識(shí)別等領(lǐng)域取得了顯著進(jìn)展。深度學(xué)習(xí)算法已應(yīng)用于許多地球物理問(wèn)題的解決,如斷層解釋[11-14]、地震數(shù)據(jù)插值[15-17]、阻抗反演[18-21]、地震數(shù)據(jù)去噪[22]、速度譜拾取[23]等。以人工解釋成果或合成數(shù)據(jù)作為標(biāo)簽,深度神經(jīng)網(wǎng)絡(luò)可學(xué)習(xí)地震數(shù)據(jù)與斷層之間的映射關(guān)系,實(shí)現(xiàn)二維或三維地震資料斷層自動(dòng)識(shí)別[24],大大減少人為干預(yù),大幅度提高斷層解釋的效率和精度[25-26]。神經(jīng)網(wǎng)絡(luò)通過(guò)隨機(jī)梯度下降優(yōu)化訓(xùn)練,以損失函數(shù)衡量模型的誤差,迭代更新網(wǎng)絡(luò)模型參數(shù)。利用深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練三維地震資料斷層解釋模型時(shí),損失函數(shù)的選取對(duì)斷層解釋結(jié)果至關(guān)重要。
目前,已經(jīng)有眾多用于斷層解釋的損失函數(shù)和網(wǎng)絡(luò)結(jié)構(gòu)。Wu 等[27]合成了帶標(biāo)簽的三維地震數(shù)據(jù)體,利用平衡交叉熵(BCE)損失函數(shù)訓(xùn)練U-Net,最終將訓(xùn)練模型用于三維實(shí)際地震數(shù)據(jù)的斷層解釋。Wei等[28]使用焦點(diǎn)(Focal)損失函數(shù)訓(xùn)練CNN 網(wǎng)絡(luò),在訓(xùn)練過(guò)程中對(duì)難、易樣本使用不同權(quán)重。Dou 等[29]提出Mask Dice 損失函數(shù)指導(dǎo)Fault-Net訓(xùn)練,以解決人工解釋標(biāo)簽的假陰性問(wèn)題。為了在增強(qiáng)斷層特征的同時(shí)抑制無(wú)關(guān)特征,何易龍等[30]引入Focal-Tversky損失函數(shù)訓(xùn)練3D U-Net++L3模型,使斷層在地震數(shù)據(jù)體中的位置更準(zhǔn)確、形態(tài)更清晰。Araya-Polo 等[31]基于斷層面的連續(xù)性,利用Wasserstein 損失函數(shù)訓(xùn)練DNN,實(shí)現(xiàn)斷層自動(dòng)檢測(cè),該損失函數(shù)適用于解決輸出結(jié)果具有空間依賴性的問(wèn)題。
此外,一些在醫(yī)學(xué)圖像及自然圖像語(yǔ)義分割任務(wù)中應(yīng)用的損失函數(shù)同樣適用于地震資料的斷層解釋。Salehi等[32]針對(duì)病灶數(shù)量遠(yuǎn)低于非病灶數(shù)量的數(shù)據(jù)不平衡問(wèn)題,提出Tversky損失函數(shù)訓(xùn)練三維FCN,該損失函數(shù)在許多醫(yī)療圖像分割任務(wù)中表現(xiàn)優(yōu)異。Jadon[33]提出Log-Cosh Dice損失函數(shù)訓(xùn)練二維U-Net以用于醫(yī)學(xué)圖像分割,該損失函數(shù)封裝了骰子(Dice)損失函數(shù)和雙曲余弦函數(shù)的特性。Jakhetiya 等[34]基于余弦相似度計(jì)算卷積神經(jīng)網(wǎng)絡(luò)深層特征之間的相似性,進(jìn)而對(duì)三維合成圖像的質(zhì)量進(jìn)行評(píng)估。Raj等[35]引入余弦(Cosine)損失函數(shù)解決醫(yī)學(xué)圖像分割常見(jiàn)的小數(shù)據(jù)集問(wèn)題。
本文介紹了可用于三維地震資料斷層解釋的10種損失函數(shù),即BCE、Dice、Focal、Cosine、Log-Cosh Dice、Tversky、Focal-Tversky、Wasserstein、BCE-Dice和BCE-Cosine 損失函數(shù)等,以3D U-Net作為網(wǎng)絡(luò)結(jié)構(gòu),以Adam(Adaptive Moment Estimation)作為優(yōu)化器,用歸一化和數(shù)據(jù)增強(qiáng)后的三維合成樣本訓(xùn)練網(wǎng)絡(luò),比較各損失函數(shù)訓(xùn)練模型的收斂速度、計(jì)算效率和抗噪性能,分析網(wǎng)絡(luò)層數(shù)變化對(duì)各損失函數(shù)訓(xùn)練模型的影響,對(duì)比、分析合成數(shù)據(jù)與實(shí)際數(shù)據(jù)斷層解釋的應(yīng)用效果,以期為選取合適的損失函數(shù)進(jìn)行地震資料的斷層解釋提供參考。
利用深度學(xué)習(xí)技術(shù)進(jìn)行三維地震資料斷層識(shí)別,是以三維地震數(shù)據(jù)體作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,對(duì)每個(gè)像素點(diǎn)進(jìn)行語(yǔ)義判斷,將分類問(wèn)題轉(zhuǎn)化為分割問(wèn)題,通過(guò)學(xué)習(xí)訓(xùn)練數(shù)據(jù)的斷層映射關(guān)系,從而預(yù)測(cè)實(shí)際工區(qū)的斷層分布特征。
首先,對(duì)輸入網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)進(jìn)行Min-Max歸一化處理,使其取值范圍為0~1,該操作在不改變結(jié)構(gòu)信息的同時(shí)限制地震數(shù)據(jù)振幅的范圍,從而減少由于地震數(shù)據(jù)振幅范圍不一致造成的不確定性[36];其次,對(duì)歸一化后的數(shù)據(jù)進(jìn)行伽馬變換[37],通過(guò)非線性變換對(duì)圖像細(xì)節(jié)進(jìn)行增強(qiáng);最后,將 12 個(gè)不同尺度的噪聲隨機(jī)添加到合成數(shù)據(jù)中,以解決由于合成數(shù)據(jù)與實(shí)際數(shù)據(jù)分布之間差異較大而導(dǎo)致的預(yù)測(cè)結(jié)果不準(zhǔn)確的問(wèn)題。數(shù)據(jù)預(yù)處理前、后結(jié)果如圖1所示,預(yù)處理后地震數(shù)據(jù)(圖1b)振幅為0~1,且構(gòu)造地質(zhì)細(xì)節(jié)得到增強(qiáng)。
圖1 數(shù)據(jù)預(yù)處理前(a)、后(b)對(duì)比
U-Net 架構(gòu)起源于醫(yī)學(xué)圖像分割領(lǐng)域[38],經(jīng)典結(jié)構(gòu)為U 型對(duì)稱網(wǎng)絡(luò),由編碼器、解碼器和跳躍連接三部分構(gòu)成。本文使用的3D U-Net 將原U-Net的卷積層數(shù)從23 減少到18,在保證斷層識(shí)別精度的同時(shí),實(shí)現(xiàn)節(jié)省內(nèi)存、減少計(jì)算量、提高計(jì)算效率的目的。
本文3D U-Net 網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。編碼器包含卷積層、批歸一化(BN)層、ReLU(Rectified Linear Units)激活函數(shù)、失活(Dropout)層和最大池化下采樣層,可以有效地從三維地震數(shù)據(jù)中學(xué)習(xí)代表性特征。解碼器包括卷積層、BN 層、ReLU 激活函數(shù)、Dropout層和上采樣層,不斷地將特征進(jìn)行上采樣操作以重構(gòu)空間信息,從而恢復(fù)數(shù)據(jù)的分辨率。跳躍連接(圖2黃色箭頭)用于拼接編碼器與解碼器中對(duì)應(yīng)的特征,彌補(bǔ)下采樣過(guò)程中丟失的信息。
圖2 地震資料斷層解釋3D U-Net 網(wǎng)絡(luò)結(jié)構(gòu)
3D U-Net 網(wǎng)絡(luò)的輸入、輸出通道數(shù)依次為16、32、64、128,考慮到整體結(jié)構(gòu)的對(duì)稱性,該網(wǎng)絡(luò)共設(shè)置四層結(jié)構(gòu)。
本文介紹10種可用于3D U-Net訓(xùn)練而識(shí)別地震資料斷層的損失函數(shù),并利用各損失函數(shù)訓(xùn)練卷積網(wǎng)絡(luò)(圖2),對(duì)比、分析合成數(shù)據(jù)訓(xùn)練與實(shí)際數(shù)據(jù)預(yù)測(cè)效果。
1.3.1 BCE 損失函數(shù)
交叉熵?fù)p失函數(shù)在圖像分割問(wèn)題中應(yīng)用比較廣泛。BCE 損失函數(shù)是在交叉熵?fù)p失函數(shù)的基礎(chǔ)上增加了樣本的正例和負(fù)例的數(shù)量比例權(quán)重[39],在處理斷層與非斷層類別分布不平衡時(shí)可以使網(wǎng)絡(luò)更傾向于預(yù)測(cè)結(jié)果為非斷層。BCE損失函數(shù)可表示為
1.3.2 Dice 損失函數(shù)
BCE損失函數(shù)考慮兩個(gè)分布之間的差異,然而基于分布的損失函數(shù)在分割任務(wù)中并不區(qū)分前景與背景,對(duì)假陰性標(biāo)簽非常敏感[1]。
基于區(qū)域的損失函數(shù)旨在最小化真值與預(yù)測(cè)結(jié)果之間的不匹配程度,代表性分割損失函數(shù)是Dice損失函數(shù)[40],可表示為
Dice 損失函數(shù)衡量神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值與真值之間的全局重疊程度。該損失函數(shù)廣泛應(yīng)用于醫(yī)學(xué)圖像分割任務(wù),適用于解決數(shù)據(jù)不平衡問(wèn)題[41]。在地震資料的斷層解釋中,斷層與非斷層數(shù)量的比例非常不均衡,類別分布不平衡的問(wèn)題與醫(yī)學(xué)圖像分割任務(wù)類似,因此利用深度學(xué)習(xí)技術(shù)識(shí)別地震資料斷層時(shí),應(yīng)用Dice 損失函數(shù)訓(xùn)練模型預(yù)測(cè)斷層效果較好[29,36,40,42-43]。
1.3.3 Focal 損失函數(shù)
Focal損失函數(shù)[28]可看作二元交叉熵?fù)p失函數(shù)的變體,它在幫助深度模型解決難、易樣本不平衡的分割任務(wù)時(shí)效果很好。該損失函數(shù)將樣本分為難、易兩類,引入調(diào)制因子調(diào)節(jié)難、易樣本對(duì)整體損失的貢獻(xiàn)權(quán)重,在模型學(xué)習(xí)過(guò)程中降低易樣本的權(quán)重,從而使模型更專注于學(xué)習(xí)難樣本。Focal損失函數(shù)定義為
式中pt和αt分別為
式中:p表示預(yù)測(cè)為斷層的概率;α為權(quán)重因子,用于調(diào)整、平衡正例與負(fù)例占比;γ≥0 為聚焦參數(shù),調(diào)制因子(1-pt)γ對(duì)難樣本和易樣本的權(quán)重進(jìn)行調(diào)節(jié)。當(dāng)γ=0 時(shí),F(xiàn)ocal損失函數(shù)和二元交叉熵?fù)p失函數(shù)相同,對(duì)于難、易樣本沒(méi)有區(qū)分度;當(dāng)γ>0 時(shí),難、易樣本的損失占總損失的比例由調(diào)制因子進(jìn)行調(diào)節(jié),例如:當(dāng)樣本容易識(shí)別時(shí),即對(duì)于易樣本,pt接近于1,調(diào)制因子接近于0,則易樣本損失占總損失的比例降低;反之亦然,對(duì)于難樣本來(lái)說(shuō),pt接近于0,調(diào)制因子接近于1,總損失由難樣本的損失主導(dǎo),此時(shí)模型主要對(duì)難樣本進(jìn)行學(xué)習(xí)。Lin等[44]給出α、γ的參考取值范圍分別為α∈[0.25, 0.75]、γ∈[0.5, 5.0],在本文中α=0.25、γ=2.0。
1.3.4 Cosine 損失函數(shù)
余弦相似度是通過(guò)標(biāo)簽向量與預(yù)測(cè)向量的夾角余弦值來(lái)衡量模型預(yù)測(cè)值與真實(shí)值之間的相似性。余弦距離更加注重兩個(gè)向量在方向上的差異[45],而對(duì)絕對(duì)距離或位置不敏感。Cosine損失函數(shù)[34]可以表示為
式中:y·p和‖y‖‖p‖分別表示真實(shí)分布y(標(biāo)簽值)和預(yù)測(cè)分布p(預(yù)測(cè)值)兩個(gè)向量之間的點(diǎn)積及其歐氏距離的乘積;θyp為向量y與p之間的角度,余弦相似值用cosθyp表示,該值越高意味著向量之間的距離越近,即模型預(yù)測(cè)越準(zhǔn)確,則訓(xùn)練損失應(yīng)該越小,因此用1-cosθyp表示余弦相似度與余弦損失之間的負(fù)相關(guān)關(guān)系。
1.3.5 Log-Cosh Dice 損失函數(shù)
Log-Cosh Dice損失函數(shù)[46]是Dice損失函數(shù)的一種變體,它通過(guò)添加Log-Cosh 平滑損失函數(shù)曲線而得。
Log-Cosh Dice損失函數(shù)不僅封裝了Dice損失函數(shù)的特點(diǎn),而且因雙曲余弦函數(shù)的特性而具有易于處理的性質(zhì)。
1.3.6 Tversky 損失函數(shù)
Tversky損失函數(shù)可以看作Dice損失函數(shù)的推廣形式[47]。它通過(guò)添加一個(gè)權(quán)重因子λ以控制假陽(yáng)性與假陰性之間的平衡,其表達(dá)式為[32]
當(dāng)λ=0.5 時(shí),Tversky 損失函數(shù)等同于Dice 損失函數(shù)。本文取λ=0.3。
1.3.7 Focal-Tversky 損失函數(shù)
為了解決正、負(fù)樣本高度不平衡和斷層與背景難以區(qū)分的問(wèn)題,何易龍等[30]結(jié)合Focal 損失函數(shù)和Tversky 損失函數(shù)的優(yōu)點(diǎn),提出Focal-Tversky 損失函數(shù),其表達(dá)式為
式中參數(shù)τ用于調(diào)整損失函數(shù)的變化趨勢(shì),輔助學(xué)習(xí)斷層中的難樣本。本文令τ=0.75。
1.3.8 Wasserstein 損失函數(shù)
Wasserstein距離作為距離衡量指標(biāo),可用于衡量?jī)蓚€(gè)概率分布之間的相似程度,它表示移動(dòng)一個(gè)分布使其擬合另一個(gè)分布需要的最小代價(jià)[48]。KL 散度(Kullback - Leibler Divergence)和JS 散度(Jensen -Shannon Divergence)也可以用于衡量?jī)蓚€(gè)概率分布之間的差異[49]。不同的是,當(dāng)兩個(gè)分布完全沒(méi)有重疊時(shí),KL 散度的值沒(méi)有意義,JS 散度的值是一個(gè)常數(shù),而Wasserstein 距離仍然可以有效地定量反映它們之間的距離。Wasserstein損失函數(shù)為[31]
由于交叉熵?fù)p失函數(shù)并沒(méi)有考慮預(yù)測(cè)斷層結(jié)果的結(jié)構(gòu)信息,所以它無(wú)法定量區(qū)分預(yù)測(cè)結(jié)果錯(cuò)誤的偏離程度。Araya-Polo等[31]使用Wasserstein損失函數(shù)獲取數(shù)據(jù)空間與斷層之間的映射關(guān)系,基于該損失函數(shù)對(duì)結(jié)構(gòu)化信息適當(dāng)處理以獲得斷層網(wǎng)絡(luò)的準(zhǔn)確預(yù)測(cè)。
1.3.9 BCE-Dice 損失函數(shù)
Dice損失函數(shù)訓(xùn)練時(shí)更關(guān)注前景區(qū)域,這一特性可以解決樣本中前景與背景不平衡的問(wèn)題,從而保證有較低的假陰性。前景、背景不平衡問(wèn)題是指圖像中只有小部分區(qū)域包含目標(biāo)、大部分區(qū)域不包含目標(biāo)。BCE 損失函數(shù)針對(duì)每個(gè)像素點(diǎn)計(jì)算損失,當(dāng)前點(diǎn)的損失只和當(dāng)前預(yù)測(cè)值與真實(shí)標(biāo)簽值的距離有關(guān)。BCEDice損失函數(shù)將BCE 損失函數(shù)和Dice損失函數(shù)進(jìn)行組合,其表達(dá)式為
式中wB和wD分別表示BCE損失函數(shù)和Dice損失函數(shù)的權(quán)重。
BCE損失和Dice損失的值相差一個(gè)數(shù)量級(jí)(BCE損失更小),若在BCE-Dice組合損失函數(shù)中Dice損失函數(shù)能夠占據(jù)主導(dǎo)地位,就需要令wB=wD=0.5。
1.3.10 BCE-Cosine 損失函數(shù)
BCE 損失函數(shù)通過(guò)計(jì)算真實(shí)標(biāo)簽與預(yù)測(cè)值的像素?fù)p失以衡量數(shù)據(jù)的預(yù)測(cè)分布與真實(shí)分布之間的差異,而Cosine損失函數(shù)通過(guò)計(jì)算夾角余弦值衡量標(biāo)簽向量與預(yù)測(cè)向量之間的差異??梢跃C合上述兩種斷層預(yù)測(cè)結(jié)果與真實(shí)值的差異衡量方式,使用BCE-Cosine損失函數(shù)訓(xùn)練斷層預(yù)測(cè)模型,其函數(shù)形式為
式中wC表示Cosine損失函數(shù)的權(quán)重。
BCE 損失和Cosine 損失的值相差一個(gè)數(shù)量級(jí)(BCE 損失更小),若Cosine 損失函數(shù)能夠作為主要因素影響B(tài)CE-Cosine 組合損失函數(shù)的變化,則可以令wB=wC=0.5。
本文將Wu等[27]提供的合成數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理后用于3D U-Net 的網(wǎng)絡(luò)訓(xùn)練。該數(shù)據(jù)集包含200個(gè)訓(xùn)練數(shù)據(jù)對(duì)和20個(gè)驗(yàn)證數(shù)據(jù)對(duì),每個(gè)數(shù)據(jù)對(duì)由隨機(jī)生成的128×128×128合成地震圖像和對(duì)應(yīng)的128×128×128 斷層標(biāo)簽組成。數(shù)據(jù)預(yù)處理后的合成地震數(shù)據(jù)及對(duì)應(yīng)的標(biāo)簽如圖3所示。
圖3 訓(xùn)練使用的合成地震數(shù)據(jù)預(yù)處理后結(jié)果(左)及斷層標(biāo)簽(右)
在實(shí)驗(yàn)中,使用NVIDIA GeForce RTX 3090訓(xùn)練神經(jīng)網(wǎng)絡(luò),CPU 配置為Intel(R)Xeon(R)Gold 6226R。網(wǎng)絡(luò)訓(xùn)練在PyTorch 框架下實(shí)現(xiàn),采用Adam 優(yōu)化算法[50],學(xué)習(xí)率設(shè)置為1×10-4。為緩解過(guò)擬合現(xiàn)象,將模型權(quán)重衰減設(shè)置為1×10-6,編碼器中Dropout 層的隨機(jī)丟棄率設(shè)置為0.5。由于本文使用的數(shù)據(jù)集中單個(gè)數(shù)據(jù)體較大,因此批大小設(shè)置為1。訓(xùn)練輪次設(shè)置為100,每輪訓(xùn)練結(jié)束后都進(jìn)行精度和損失的計(jì)算,當(dāng)驗(yàn)證集的損失在 5 輪內(nèi)不再下降時(shí)停止訓(xùn)練,并且以驗(yàn)證損失最小作為網(wǎng)絡(luò)模型輸出。
設(shè)置相同的網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練參數(shù),通過(guò)實(shí)驗(yàn)對(duì)比應(yīng)用 10 種損失函數(shù)分別訓(xùn)練四層和五層(在圖2 網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上增加一層,通道數(shù)由[16,32,64,128]變?yōu)閇16,32,64,128,256])3D U-Net 的收斂速度和計(jì)算效率,并且在合成數(shù)據(jù)驗(yàn)證集和實(shí)際數(shù)據(jù)集展示斷層識(shí)別效果。同時(shí),測(cè)試各種損失函數(shù)對(duì)不同信噪比地震數(shù)據(jù)的抗噪性能。
利用各損失函數(shù)訓(xùn)練3D U-Net 的停止輪次和訓(xùn)練時(shí)間如表1所示。由表可知,應(yīng)用Log-Cosh Dice 損失函數(shù)的平均訓(xùn)練時(shí)間最短,應(yīng)用BCE-Dice損失函數(shù)的平均訓(xùn)練時(shí)間最長(zhǎng),兩者之間相差3.303 s。在10 種損失函數(shù)中,有7 種損失函數(shù)(Dice、Focal、Cosine、Log-Cosh Dice、Tversky、Focal-Tversky、Wasserstein 損失函數(shù))的每輪平均訓(xùn)練時(shí)間都在57 s 左右,最長(zhǎng)與最短的訓(xùn)練時(shí)間僅相差0.165 s,因此對(duì)于網(wǎng)絡(luò)訓(xùn)練效率來(lái)說(shuō),平均訓(xùn)練時(shí)間并無(wú)顯著差異。
針對(duì)訓(xùn)練輪次而言,應(yīng)用Wasserstein 損失函數(shù)只需要43 輪就可以達(dá)到停止條件,而應(yīng)用Focal損失函數(shù)則需要80 輪。除了Focal 損失函數(shù),應(yīng)用其他損失函數(shù)訓(xùn)練的網(wǎng)絡(luò)都可以在60 輪之內(nèi)達(dá)到停止條件。正是由于應(yīng)用Focal 損失函數(shù)的停止輪次非常晚,從而導(dǎo)致應(yīng)用該損失函數(shù)的總訓(xùn)練時(shí)間最長(zhǎng)。
從總訓(xùn)練時(shí)間來(lái)看,應(yīng)用Dice、Cosine、Focal-Tversky 和Wasserstein 損失函數(shù)訓(xùn)練3D U-Net 均能夠在3000 s內(nèi)停止,訓(xùn)練效率較高。
應(yīng)用各種損失函數(shù)在合成數(shù)據(jù)驗(yàn)證集上的斷層預(yù)測(cè)結(jié)果如圖4所示。由圖可知,應(yīng)用Focal 損失函數(shù)(圖4e)訓(xùn)練模型的預(yù)測(cè)結(jié)果整體連續(xù)性較差,應(yīng)用Cosine(圖4f)、Tversky(圖4h)和Focal-Tversky(圖4i)損失函數(shù)對(duì)于臨近斷層(紅色圓圈內(nèi))的識(shí)別效果較好;應(yīng)用Dice(圖4d)、Cosine(圖4f)、Tversky(圖4h)和Focal-Tversky(圖4i)損失函數(shù)對(duì)于交叉結(jié)構(gòu)斷層部分(紅色箭頭處)識(shí)別效果較好,斷層預(yù)測(cè)結(jié)果更加清晰、準(zhǔn)確。
圖4 驗(yàn)證集中合成數(shù)據(jù)及不同損失函數(shù)斷層預(yù)測(cè)結(jié)果
為了更加客觀地評(píng)價(jià)實(shí)驗(yàn)結(jié)果,在訓(xùn)練不同損失函數(shù)的模型后,應(yīng)用圖像分割中常用的幾個(gè)評(píng)估指標(biāo)[33],如交并比(IoU)、敏感性(Sensitivity)和特異性(Specificity),對(duì)合成數(shù)據(jù)驗(yàn)證集的效果進(jìn)行評(píng)價(jià)。評(píng)估指標(biāo)定義為
式中:TP 表示真實(shí)為斷層且預(yù)測(cè)也為斷層的像素?cái)?shù)量;FP 表示真實(shí)為非斷層而預(yù)測(cè)為斷層的像素?cái)?shù)量;TN 表示真實(shí)為斷層而預(yù)測(cè)為非斷層的像素?cái)?shù)量;FN 表示真實(shí)為非斷層且預(yù)測(cè)也為非斷層的像素?cái)?shù)量。
交并比通過(guò)計(jì)算斷層預(yù)測(cè)結(jié)果和真實(shí)值之間交集與并集的比值,衡量真實(shí)的斷層結(jié)果與預(yù)測(cè)結(jié)果之間的重疊程度。敏感性是識(shí)別出的斷層占所有斷層的比例,值越高表示盡可能地將正例判斷為正,即將斷層判斷為斷層,而不出現(xiàn)漏判。特異性是識(shí)別出的非斷層占所有非斷層的比例,值越高表示盡可能地將負(fù)例判斷為負(fù),即將非斷層判定為非斷層,而不出現(xiàn)誤判。被漏判的斷層部分叫做假陰率,被誤判的部分叫做假陽(yáng)率,因此敏感性和特異性盡可能高,能夠最大程度地避免假陰性和假陽(yáng)性。合成數(shù)據(jù)驗(yàn)證集的斷層預(yù)測(cè)效果的指標(biāo)評(píng)價(jià)結(jié)果如表2所示。
表2 合成數(shù)據(jù)斷層預(yù)測(cè)效果的評(píng)價(jià)指標(biāo)
由表2 可見(jiàn),應(yīng)用Focal 損失函數(shù)的交并比和敏感性最低、特異性最高,這表示利用該損失函數(shù)訓(xùn)練的模型能夠保證不會(huì)把非斷層預(yù)測(cè)為斷層,但與此同時(shí)會(huì)以部分?jǐn)鄬舆z漏為代價(jià),導(dǎo)致有效斷層較少。應(yīng)用Dice損失函數(shù)的指標(biāo)評(píng)估結(jié)果與Focal損失函數(shù)的恰恰相反,敏感性最高而特異性最低,該結(jié)果表明利用Dice損失函數(shù)訓(xùn)練模型能夠降低假陰性,使盡可能多的斷層部分被預(yù)測(cè)出來(lái)。應(yīng)用Tversky損失函數(shù)和Focal-Tversky 損失函數(shù)的交并比都比較高,整體來(lái)看,漏判和誤判都較少,這兩個(gè)方法斷層預(yù)測(cè)結(jié)果(圖4h、圖4i)和標(biāo)簽結(jié)果(圖4b)非常接近。此外,應(yīng)用Cosine 損失函數(shù)的三個(gè)指標(biāo)評(píng)估結(jié)果均高于平均值,斷層預(yù)測(cè)結(jié)果(圖4f)與標(biāo)簽結(jié)果(圖4b)也比較相近,對(duì)斷層部分和非斷層部分的預(yù)測(cè)都比較準(zhǔn)確。預(yù)測(cè)效果最差的是應(yīng)用Wasserstein 損失函數(shù),三個(gè)指標(biāo)的值都非常低,由圖4j 也可以看出,部分?jǐn)鄬咏徊鎱^(qū)域混亂,且概率密度值較低。
綜上所述,應(yīng)用Cosine、Tversky和Focal-Tversky損失函數(shù)訓(xùn)練的3D U-Net在合成數(shù)據(jù)集識(shí)別斷層效果較好。
本文選擇的網(wǎng)絡(luò)模型為四層3D U-Net結(jié)構(gòu)(圖2),而斷層解釋任務(wù)中五層3D U-Net網(wǎng)絡(luò)結(jié)構(gòu)也是常用的基本模型[16,51-52]。因此,本文在相同的實(shí)驗(yàn)配置下,利用各損失函數(shù)對(duì)五層3D U-Net模型也進(jìn)行了訓(xùn)練,并記錄了10 種損失函數(shù)分別對(duì)四層和五層3D U-Net的訓(xùn)練效率(圖5、圖6和表3)。
表3 應(yīng)用不同損失函數(shù)訓(xùn)練五層3D U-Net 網(wǎng)絡(luò)效率對(duì)比
圖5 應(yīng)用不同損失函數(shù)對(duì)四層(左)和五層(右)3D U-Net 的訓(xùn)練損失變化曲線
圖6 不同損失函數(shù)對(duì)四層(左)和五層(右)3DU-Net 的驗(yàn)證損失變化曲線
本文將應(yīng)用各損失函數(shù)訓(xùn)練四層、五層3D U-Net的訓(xùn)練損失(圖5)和驗(yàn)證損失(圖6)用最大值歸一化,并且選出15 個(gè)訓(xùn)練輪次進(jìn)行局部放大展示。
由圖5、圖6 可見(jiàn),無(wú)論是四層還是五層3D UNet,應(yīng)用BCE、Dice、Cosine、Log-Cosh Dice、BCEDice 和BCE-Cosine 損失函數(shù)訓(xùn)練模型的訓(xùn)練損失和驗(yàn)證損失都下降較快,而且損失值較低。由局部放大圖可以看到,在第15~第30 輪的訓(xùn)練過(guò)程中,應(yīng)用Dice 損失函數(shù)訓(xùn)練四層3D U-Net 能夠達(dá)到較小的訓(xùn)練損失和驗(yàn)證損失,而訓(xùn)練五層3D U-Net時(shí),應(yīng)用BCE-Dice 損失函數(shù)的訓(xùn)練損失和驗(yàn)證損失更小。此外,網(wǎng)絡(luò)層數(shù)增多并不一定導(dǎo)致訓(xùn)練輪次增多,可以看到部分損失函數(shù)能夠在更早的訓(xùn)練輪次達(dá)到停止條件。應(yīng)用各損失函數(shù)訓(xùn)練四層和五層3D U-Net 的詳細(xì)訓(xùn)練時(shí)間和停止輪次分別見(jiàn)表1 和表3。
由于網(wǎng)絡(luò)層數(shù)增加,表3 展示的平均訓(xùn)練時(shí)間與表1 相比都增加了1 s 左右。就訓(xùn)練時(shí)間而言,應(yīng)用Focal-Tversky 損失函數(shù)的平均訓(xùn)練時(shí)間最短,應(yīng)用BCE-Dice 損失函數(shù)的平均訓(xùn)練時(shí)間最長(zhǎng),二者之間相差2.615 s。相比表1 的結(jié)果來(lái)說(shuō),差值有所減小。在應(yīng)用的10種損失函數(shù)中,有7種損失函數(shù)(Dice、Focal、Cosine、Log-Cosh Dice、Tversky、Focal-Tversky、Wasserstein損失函數(shù))的平均訓(xùn)練時(shí)間都在58 s左右,這與表1所示結(jié)果有相似的規(guī)律。對(duì)于表3中的訓(xùn)練輪次來(lái)說(shuō),最早停止的是應(yīng)用BCE-Dice損失函數(shù),僅需要37 輪訓(xùn)練,甚至比表1 中最少的43 輪(Wasserstein 損失函數(shù))更早停止,最晚停止的是應(yīng)用Tversky損失函數(shù),且比表1中最多的80輪(Focal損失函數(shù))更早停止。對(duì)比表1 與表3 可知,部分損失函數(shù)(BCE、Focal、Log-Cosh Dice、Focal-Tversky、BCE-Dice 等損失函數(shù))在增加網(wǎng)絡(luò)層數(shù)后反而能夠減少訓(xùn)練輪次,這可能是由于增加網(wǎng)絡(luò)層數(shù),在訓(xùn)練集上越容易過(guò)擬合,因此停止迭代的輪數(shù)越早。
從總訓(xùn)練時(shí)間來(lái)看,使用BCE、Dice、Log-Cosh Dice、Focal-Tversky 和BCE-Dice 損失函數(shù)訓(xùn)練五層3D U-Net都能夠在3000 s內(nèi)停止,與表1所示結(jié)果并不完全相同,只有應(yīng)用Dice 和Focal-Tversky 損失函數(shù)能在網(wǎng)絡(luò)層數(shù)變化后仍保持較高的訓(xùn)練效率。
當(dāng)?shù)卣鹳Y料的信噪比存在顯著差異時(shí),應(yīng)用不同的損失函數(shù)有可能會(huì)體現(xiàn)出不同的抗噪性能。因此,本文在合成數(shù)據(jù)訓(xùn)練集上選取一個(gè)數(shù)據(jù)樣本,分別添加方差為0、0.005、0.02、0.05、0.09 的高斯噪聲,得到五個(gè)數(shù)據(jù)體。將噪聲方差為0 的數(shù)據(jù)(原始合成數(shù)據(jù))作為干凈數(shù)據(jù),添加噪聲后信噪比分別為16.637、10.900、7.480、5.606 dB。用10 種損失函數(shù)訓(xùn)練的模型分別對(duì)上述五種信噪比數(shù)據(jù)體進(jìn)行斷層預(yù)測(cè),結(jié)果如表4所示。由表可見(jiàn),隨著數(shù)據(jù)噪聲方差逐漸增加,敏感性、特異性和交并比都在逐漸下降,這說(shuō)明應(yīng)用各損失函數(shù)訓(xùn)練模型的預(yù)測(cè)效果都在不同程度地變差。
表4 不同噪聲方差地震數(shù)據(jù)斷層預(yù)測(cè)結(jié)果評(píng)價(jià)指標(biāo)
從整體來(lái)看,應(yīng)用Focal 損失函數(shù)的敏感性非常低,而特異性非常高,這說(shuō)明利用該損失函數(shù)訓(xùn)練的模型能夠避免把非斷層預(yù)測(cè)為斷層,但是同時(shí)會(huì)以部分?jǐn)鄬舆z漏為代價(jià)。在噪聲方差從0 增大到0.09 的過(guò)程中,應(yīng)用BCE、Focal、Focal-Tversky和Wasserstein 損失函數(shù)預(yù)測(cè)結(jié)果的敏感性指標(biāo)都有比較明顯的下降,這說(shuō)明對(duì)于信噪比越低的地震數(shù)據(jù),應(yīng)用上述損失函數(shù)訓(xùn)練模型預(yù)測(cè)的斷層連續(xù)性越差。在這個(gè)過(guò)程中,應(yīng)用Dice、Cosine、Log-Cosh Dice 和BCE-Dice 損失函數(shù)的敏感性指標(biāo)值變化較小,對(duì)不同噪聲數(shù)據(jù)適應(yīng)性較好。噪聲方差從0.05 增大到0.09 時(shí),敏感性數(shù)值降低較小的是應(yīng)用Cosine、Log-Cosh Dice、Tversky 和BCE-Cosine 損失函數(shù),這說(shuō)明當(dāng)噪聲增加到一定程度后,再繼續(xù)增加噪聲,應(yīng)用上述損失函數(shù)仍然能夠保持較好的斷層預(yù)測(cè)效果。
應(yīng)用各損失函數(shù)訓(xùn)練模型的預(yù)測(cè)結(jié)果特異性值都比較高,而且隨著噪聲逐漸增大,該值并沒(méi)有顯著降低,說(shuō)明應(yīng)用各損失函數(shù)在預(yù)測(cè)不同噪聲數(shù)據(jù)的斷層時(shí)只會(huì)產(chǎn)生較少的錯(cuò)誤結(jié)果,對(duì)于主要斷層的識(shí)別不會(huì)產(chǎn)生太大的影響。
就交并比而言,噪聲方差從0 提高到0.09 時(shí),下降較大的是應(yīng)用Focal 和Wasserstein 損失函數(shù),較小的是Dice 和BCE-Dice 損失函數(shù)。噪聲方差從0.05 到0.09 時(shí),交并比下降較大的是應(yīng)用Focal、Tversky 和Focal-Tversky 損失函數(shù),較小的是Cosine、Log-Cosh Dice 和Wasserstein 損失函數(shù)。由于交并比僅衡量預(yù)測(cè)結(jié)果中斷層、非斷層比例與真實(shí)結(jié)果的相似程度,所以需要與其他指標(biāo)結(jié)合進(jìn)行分析。
綜上所述,利用Dice、Cosine、Log-Cosh Dice 和BCE-Dice 損失函數(shù)訓(xùn)練的模型具有較好的抗噪性能,能夠適應(yīng)不同噪聲數(shù)據(jù)的斷層解釋。
實(shí)際數(shù)據(jù)為荷蘭近海F3 區(qū)塊的部分地震數(shù)據(jù),共 512 條測(cè)線,每條測(cè)線384 道,時(shí)間采樣間隔為4 ms,采樣點(diǎn)數(shù)為128,數(shù)據(jù)尺寸為512×384×128。
首先利用各損失函數(shù)訓(xùn)練的3D U-Net對(duì)地震數(shù)據(jù)進(jìn)行斷層預(yù)測(cè),選取切面(線號(hào)和道號(hào)均為29,時(shí)間采樣點(diǎn)為111)展示斷層預(yù)測(cè)結(jié)果。FaultSeg3D 網(wǎng)絡(luò)[27]的斷層預(yù)測(cè)結(jié)果以及應(yīng)用本文10 種損失函數(shù)訓(xùn)練3D U-Net得到的斷層預(yù)測(cè)結(jié)果如圖7所示。
圖7 F3 區(qū)塊實(shí)際地震數(shù)據(jù)及不同方法斷層預(yù)測(cè)結(jié)果
由圖7 可見(jiàn),紅色方框中發(fā)育一條貫穿整個(gè)時(shí)間剖面的大斷層,在FaultSeg3D 網(wǎng)絡(luò)預(yù)測(cè)結(jié)果(圖7b)中,該斷層的連續(xù)性欠佳,而應(yīng)用Tversky 損失函數(shù)(圖7h)和Focal-Tversky 損失函數(shù)(圖7i)預(yù)測(cè)的該斷層連續(xù)性較好。
在線方向上明顯可見(jiàn)一條“Y”型斷層(圖7b紅色圓圈內(nèi)),F(xiàn)aultSeg3D 網(wǎng)絡(luò)預(yù)測(cè)該斷層及其相鄰斷層(圖7b)比較清晰、連續(xù),同樣有類似預(yù)測(cè)效果的是應(yīng)用BCE 損失函數(shù)(圖7c)和BCE-Cosine 損失函數(shù)(圖7l)訓(xùn)練的模型。雖然利用Dice損失函數(shù)(圖7d)、Focal-Tversky 損失函數(shù)(圖7i)和BCE-Dice 損失函數(shù)(圖7k)的預(yù)測(cè)結(jié)果也展示出了該“Y”型斷層的主要形態(tài),但是其鄰近斷層卻沒(méi)有完全預(yù)測(cè)出來(lái),出現(xiàn)了一定的不連續(xù)性。由于該區(qū)域存在特殊的斷層形態(tài)以及鄰近斷層相互影響等原因,其他損失函數(shù)(圖7e、圖7f、圖7g、圖7h、圖7j)對(duì)該“Y”型斷層的預(yù)測(cè)效果較差。
圖7 中紅色箭頭所指的區(qū)域存在幾條近似平行的鄰近斷層,由于距離較近,各斷層相互影響,增加了模型預(yù)測(cè)的難度。應(yīng)用BCE-Cosine 損失函數(shù)的預(yù)測(cè)斷層(圖7l)連續(xù)性較好,比較清晰、完整。
綜上所述,當(dāng)損失函數(shù)包含BCE 損失時(shí),訓(xùn)練的模型對(duì)“Y”型斷層和距離較近的相鄰斷層的預(yù)測(cè)效果較好,斷層邊緣清晰且連續(xù)性較好,對(duì)于斷層細(xì)節(jié)豐富或斷層分布較復(fù)雜的區(qū)域,該類損失函數(shù)是模型訓(xùn)練的較好選擇。對(duì)于獨(dú)立大斷層來(lái)說(shuō),加入Tversky損失的損失函數(shù)訓(xùn)練的模型在斷層連續(xù)性方面預(yù)測(cè)效果更好。
本文所述10 種損失函數(shù)中,F(xiàn)ocal 損失函數(shù)、Tversky損失函數(shù)和Focal-Tversky損失函數(shù)存在超參數(shù),不同的超參數(shù)取值會(huì)影響損失函數(shù)對(duì)網(wǎng)絡(luò)訓(xùn)練的效果。對(duì)于BCE-Dice 損失函數(shù)和BCE-Cosine 損失函數(shù)這類混合損失函數(shù),各損失函數(shù)的權(quán)重也會(huì)影響整個(gè)損失函數(shù)的效果。因此,可以通過(guò)調(diào)節(jié)損失函數(shù)的超參數(shù)或權(quán)重以獲得更好的斷層預(yù)測(cè)效果。
在3D U-Net 的合成數(shù)據(jù)和實(shí)際數(shù)據(jù)應(yīng)用中,Wasserstein損失函數(shù)預(yù)測(cè)斷層效果均較差,該結(jié)論僅為本文在斷層問(wèn)題上應(yīng)用3D U-Net的測(cè)試結(jié)論。有可能結(jié)合其他結(jié)構(gòu)的網(wǎng)絡(luò),如主要由生成器和判別器構(gòu)成的GAN(Generative Adversarial Networks)網(wǎng)絡(luò),該損失函數(shù)可能會(huì)表現(xiàn)出更佳性能。因此,可能存在一些損失函數(shù),需要配合特定網(wǎng)絡(luò)結(jié)構(gòu)才能發(fā)揮其優(yōu)勢(shì)。此外,本文僅對(duì)比研究了10種用于深度神經(jīng)網(wǎng)絡(luò)識(shí)別三維地震資料斷層的損失函數(shù),可能存在其他文中未涉及到的損失函數(shù),它們?cè)跀鄬咏忉尫矫嬉灿袃?yōu)異表現(xiàn)。
損失函數(shù)在決定深度學(xué)習(xí)模型性能和預(yù)測(cè)效果方面有著至關(guān)重要的作用。對(duì)于三維地震資料斷層解釋這類復(fù)雜的任務(wù),并沒(méi)有一個(gè)通用的最優(yōu)損失函數(shù)。本文總結(jié)了可用于三維地震資料斷層解釋的10種損失函數(shù),在相同網(wǎng)絡(luò)模型、訓(xùn)練參數(shù)以及停止準(zhǔn)則的條件下,通過(guò)三維合成樣本訓(xùn)練網(wǎng)絡(luò),對(duì)比各種損失函數(shù)訓(xùn)練3D U-Net的收斂速度、計(jì)算效率和抗噪性能,并在荷蘭近海F3區(qū)塊地震數(shù)據(jù)應(yīng)用中展示了斷層預(yù)測(cè)效果。
對(duì)于合成數(shù)據(jù)集來(lái)說(shuō),Cosine、Tversky 和Focal-Tversky 損失函數(shù)訓(xùn)練的3D U-Net 斷層預(yù)測(cè)效果較好。Dice、Cosine、Log-Cosh Dice和BCE-Dice損失函數(shù)訓(xùn)練的3D U-Net具有較好的抗噪性能,在地震資料斷層解釋任務(wù)中能夠適應(yīng)不同噪聲的數(shù)據(jù)。
對(duì)于F3區(qū)塊實(shí)際地震數(shù)據(jù)來(lái)說(shuō),Tversky和Focal-Tversky 損失函數(shù)訓(xùn)練的3D U-Net 預(yù)測(cè)的斷層連續(xù)性較好。當(dāng)交叉或平行斷層分布密集、鄰近斷層互相影響時(shí),BCE、BCE-Dice 和BCE-Cosine 損失函數(shù)訓(xùn)練的3D U-Net預(yù)測(cè)的斷層完整、清晰,細(xì)節(jié)更豐富。
本研究可為相關(guān)工程人員在利用深度學(xué)習(xí)技術(shù)進(jìn)行地震資料斷層解釋實(shí)踐時(shí)提供參考。