陳 杰,張 挺*,杜 奕
(1. 上海電力大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海200090; 2. 上海第二工業(yè)大學(xué)工學(xué)部,上海201209)
(?通信作者電子郵箱bee921@163.com)
多孔介質(zhì)重構(gòu)[1]在石油地質(zhì)勘探、地層學(xué)和巖石學(xué)的研究等諸多領(lǐng)域有著大量的應(yīng)用,多孔介質(zhì)模型可以用于定量研究多孔介質(zhì)內(nèi)部各種微觀因素(如孔隙結(jié)構(gòu)、潤濕性、含水薄膜)對儲層宏觀性質(zhì)的影響,它對研究儲層油氣充注過程和油氣滲流機(jī)理有關(guān)鍵作用,所以建立一個準(zhǔn)確客觀的三維多孔介質(zhì)重構(gòu)模型對石油和天然氣勘探以及巖層研究有著重大意義。隨著實(shí)驗(yàn)儀器的創(chuàng)新和新理論、新技術(shù)的突破,國內(nèi)外研究團(tuán)隊(duì)不斷提出新的多孔介質(zhì)重構(gòu)的方法,主要分為物理實(shí)驗(yàn)方法和數(shù)值重構(gòu)方法等[2]。
物理實(shí)驗(yàn)方法使用實(shí)驗(yàn)儀器掃描多孔介質(zhì)樣品獲得大量的二維截面,然后通過建模程序形成三維多孔介質(zhì),但是設(shè)備使用成本高、實(shí)驗(yàn)困難。
與物理實(shí)驗(yàn)方法不同,數(shù)值重建方法[3]通常基于少量的二維或三維真實(shí)圖像,并通過隨機(jī)模擬或沉積巖過程模擬重構(gòu)三維多孔介質(zhì)。與物理實(shí)驗(yàn)方法相比,雖然這些方法成本低,可以重構(gòu)多種多孔介質(zhì),但耗時長,不能很好地重構(gòu)頁巖等內(nèi)部結(jié)構(gòu)復(fù)雜的多孔介質(zhì)。
多點(diǎn)統(tǒng)計(jì)法(Multiple-Point Statistics,MPS)[4]被認(rèn)為是重構(gòu)多孔介質(zhì)和隨機(jī)模擬的典型數(shù)值方法,通過使用訓(xùn)練圖像(Train Image,TI)來計(jì)算條件累積概率函數(shù)。然而,MPS 模擬速度慢且對內(nèi)存要求高,模擬過程復(fù)雜。
深度學(xué)習(xí)(Deep Learning)[5]從問世起就倍受學(xué)術(shù)界和工業(yè)界的關(guān)注,它可以獲取高維數(shù)據(jù)中的復(fù)雜結(jié)構(gòu)特征。將深度學(xué)習(xí)的相關(guān)技術(shù)應(yīng)用到多孔介質(zhì)重構(gòu)的建模方法中,有助于提取訓(xùn)練圖像的復(fù)雜結(jié)構(gòu)特征。深度遷移學(xué)習(xí)(Deep Transfer Learning,DTL)[6]是深度學(xué)習(xí)領(lǐng)域的重要技術(shù)之一,它可以將在其他數(shù)據(jù)集中已經(jīng)訓(xùn)練好的模型快速轉(zhuǎn)移到另一個數(shù)據(jù)集上。DTL 可以視為深度學(xué)習(xí)和遷移學(xué)習(xí)的結(jié)合,在深度學(xué)習(xí)提取多孔介質(zhì)的結(jié)構(gòu)特征后,利用遷移學(xué)習(xí)將學(xué)習(xí)到的特征用于新的多孔介質(zhì)重構(gòu)結(jié)果中,使其能夠很好地?cái)M合新的數(shù)據(jù)集,達(dá)到良好的效果[7]。
本文提出一種基于自適應(yīng)深度遷移學(xué)習(xí)的多孔介質(zhì)重構(gòu)方法——ADTL(Adaptive Deep Transfer Learning),在多孔介質(zhì)重構(gòu)的建模過程中,不再對每一個未知點(diǎn)進(jìn)行概率統(tǒng)計(jì),在深度學(xué)習(xí)的隱藏層中加入一些自適應(yīng)遷移層以減少來自不同多孔介質(zhì)數(shù)據(jù)的分布差異。通過梯度下降學(xué)習(xí)訓(xùn)練圖像的全部特征,然后再使用深度遷移學(xué)習(xí)將學(xué)習(xí)到的特征遷移到建模區(qū)域。
ADTL方法在重構(gòu)過程中分為兩個重要階段:第一階段是訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),通過梯度下降找到合適的參數(shù)來完成訓(xùn)練圖像特征的學(xué)習(xí);第二階段是將深度神經(jīng)網(wǎng)絡(luò)學(xué)到的特征復(fù)制到新的重構(gòu)結(jié)果中。
與傳統(tǒng)的模擬方法(如MPS)相比,由于采用了顯卡加速和深度學(xué)習(xí)的優(yōu)化算法,可大大縮短ADTL 的處理時間。另外,傳統(tǒng)方法不能將重構(gòu)特征以參數(shù)形式存儲在磁盤上,所以每次重構(gòu)都要重新掃描訓(xùn)練圖像,非常耗時。而ADTL 方法在訓(xùn)練一旦完成后,學(xué)習(xí)到的特征能夠以參數(shù)的形式存儲在硬盤中,所以可以重復(fù)利用,不必每次重新掃描訓(xùn)練圖像,因此速度優(yōu)勢明顯。
實(shí)驗(yàn)針對砂巖數(shù)據(jù)使用ADTL 方法進(jìn)行重構(gòu),并通過比較重構(gòu)結(jié)果和訓(xùn)練數(shù)據(jù)多點(diǎn)連通曲線、變差函數(shù)曲線和孔隙度,評估了該方法的性能。實(shí)驗(yàn)結(jié)果表明,ADTL 方法的重構(gòu)結(jié)果很好地保留了訓(xùn)練圖像的結(jié)構(gòu)特征,提高了重構(gòu)的效率;而且與傳統(tǒng)的MPS 比較發(fā)現(xiàn),ADTL 方法在重構(gòu)質(zhì)量、重構(gòu)速度和內(nèi)存占用方面具有優(yōu)勢。
深度學(xué)習(xí)也稱為深層神經(jīng)網(wǎng)絡(luò),最初在1986 年被引入機(jī)器學(xué)習(xí),深度學(xué)習(xí)就是基于神經(jīng)網(wǎng)絡(luò),使用許多簡單的非線性特征把原始數(shù)據(jù)轉(zhuǎn)化為更復(fù)雜的數(shù)據(jù)表達(dá)[8]。
深層神經(jīng)網(wǎng)絡(luò)構(gòu)造如圖1 所示,每層由若干神經(jīng)元組成,X(x1,x2,…,xi)表示輸入特征向量,y 表示輸出預(yù)測值。訓(xùn)練學(xué)習(xí)復(fù)雜任務(wù)時,每一層的網(wǎng)絡(luò)節(jié)點(diǎn)沒有數(shù)目要求,但是應(yīng)設(shè)置較多的隱藏層。在前饋神經(jīng)網(wǎng)絡(luò)中隱藏層為全連接層;在卷積神經(jīng)網(wǎng)絡(luò)中,隱藏層可分為卷積層和全連接層。所有這些隱藏層中,排序較前的幾層能夠?qū)W習(xí)一些低層次簡單特征,排序較后的幾層能把簡單的特征結(jié)合起來,學(xué)習(xí)更為復(fù)雜的任務(wù)[9]。
對于深層神經(jīng)網(wǎng)絡(luò)模型,損失函數(shù)可以衡量算法在單個訓(xùn)練樣本中的效果,對于所有的訓(xùn)練樣本,需定義一個損失函數(shù),如式(1)~(2)所示:
其中:m、w 和b 分別表示輸入數(shù)據(jù)樣本的數(shù)量、神經(jīng)元中的權(quán)重和偏差;i=1,2,…,m,表示輸入數(shù)據(jù)的數(shù)量;yi和yipre分別表示數(shù)據(jù)輸出的真實(shí)值和預(yù)測值。神經(jīng)網(wǎng)絡(luò)反向傳播[6,9]時更新w、b 和J(w,b),在訓(xùn)練模型過程中,找到合適的w 和b 來使得總損失函數(shù)J(w,b)最小。具體方法就是通過前向傳播[10]和反向傳播的迭代。
前向傳播時,對于每一個隱藏層,
其中:z 是每個隱藏層的輸出;a 是z 經(jīng)過激活函數(shù)后的輸出;l為隱藏層序號(如z[l]表示第l層的輸出z)。
反向傳播時是通過鏈?zhǔn)角髮?dǎo)完成參數(shù)迭代,如式(5)~(8)所示:
其中:α為學(xué)習(xí)率。
圖1 深層神經(jīng)網(wǎng)絡(luò)模型Fig.1 Deep neural network model
遷移學(xué)習(xí)是由機(jī)器學(xué)習(xí)技術(shù)發(fā)展出的一種方法,主要是為了將機(jī)器學(xué)習(xí)領(lǐng)域已有的經(jīng)典模型或者已經(jīng)訓(xùn)練好的模型用到新的領(lǐng)域和任務(wù)中,這樣可以不必對每一個新任務(wù)都重新訓(xùn)練一次模型,不僅節(jié)省時間而且提高了模擬效率,降低了訓(xùn)練數(shù)據(jù)需求量[11]。
對于許多需要使用遷移學(xué)習(xí)的任務(wù),在遷移的來源任務(wù)中有很多數(shù)據(jù),而遷移的目標(biāo)任務(wù)中數(shù)據(jù)很少。如果想從源任務(wù)中學(xué)習(xí)并遷移一些知識到目標(biāo)任務(wù)中,那么源任務(wù)和目標(biāo)任務(wù)需要有同樣屬性的輸入。目標(biāo)任務(wù)中的數(shù)據(jù)是想要擬合的數(shù)據(jù),但其中真實(shí)數(shù)據(jù)的量一般較少,那么遷移學(xué)習(xí)可從一些目標(biāo)相似度高并且擁有大量數(shù)據(jù)的源任務(wù)中獲得低層次的特征,然后將這些特征在目標(biāo)任務(wù)中復(fù)現(xiàn)[12]。深度遷移學(xué)習(xí)就是在使用深度學(xué)習(xí)時加入遷移學(xué)習(xí)方法。
1.2.1 Finetune
Finetune[13]是一種深度遷移學(xué)習(xí)方法,它在進(jìn)行深度遷移學(xué)習(xí)時,固定訓(xùn)練模型的全部卷積層和部分全連接層,只訓(xùn)練自己定制的部分全連接層。圖2 所示為一個深層神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)圖,它是由輸入層、輸出層和隱藏層組成。深度遷移學(xué)習(xí)Finetune 的過程,就是將輸出層前面的一個或者幾個隱藏層定義為遷移層Ltransfer,如圖2所示;遷移層前面的隱藏層和輸入層定義為固定層Lfixed(包含卷積層和全連接層)。將已訓(xùn)練完成的深層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的遷移層Ltransfer進(jìn)行隨機(jī)初始化操作,然后使用新的數(shù)據(jù)對整個網(wǎng)絡(luò)進(jìn)行重新訓(xùn)練,但每次前向傳播和反向傳播時不改變固定層Lfixed的參數(shù),而是僅僅對遷移層Ltransfer和輸出層進(jìn)行參數(shù)迭代,完成訓(xùn)練后,原來的遷移層(淺色部分)變成了新的網(wǎng)絡(luò)層(深色部分)。圖2 中固定層和新的遷移層組合起來就是遷移完成以后完整的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
圖2 深度遷移學(xué)習(xí)結(jié)構(gòu)Fig.2 Structure of deep transfer learning
1.2.2 自適應(yīng)深度遷移學(xué)習(xí)
因?yàn)镕inetune 在訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)分布相差較大的情況下效果較差,本文通過在深度學(xué)習(xí)遷移方法中加入自適應(yīng)層(Adaptation Layer)[14]來完成源域和目標(biāo)域數(shù)據(jù)的自適應(yīng),使得它們的數(shù)據(jù)分布更加接近,遷移效果更好。
如圖3 所示,在原本的遷移層中加入自適應(yīng)層,然后進(jìn)行Finetune。加入自適應(yīng)層后,網(wǎng)絡(luò)的總損失為:
其中:L(yi)是網(wǎng)絡(luò)在數(shù)據(jù)集上的損失函數(shù);L(Ds,Dt)是網(wǎng)絡(luò)的自適應(yīng)損失,添加自適應(yīng)損失的目的是在進(jìn)行梯度下降時減少因不同數(shù)據(jù)分布差異導(dǎo)致的訓(xùn)練結(jié)果不理想;λ 是自適應(yīng)系數(shù)[14];Ds和Dt分別表示源數(shù)據(jù)和目標(biāo)數(shù)據(jù)。
圖3 自適應(yīng)深度學(xué)習(xí)結(jié)構(gòu)Fig.3 Structure of adaptive deep learning
通過添加自適應(yīng)層提高深度遷移學(xué)習(xí)的學(xué)習(xí)效果,但額外增加了計(jì)算復(fù)雜度,并且在設(shè)計(jì)自適應(yīng)層時較為繁瑣[15]。文獻(xiàn)[16]中將自適應(yīng)層替換為BatchNorm 自適應(yīng)層,從而加入統(tǒng)計(jì)特征的適配性,這種方法稱為AdaBN(Adaptive Batch Normalization)[16],屬于自適應(yīng)遷移學(xué)習(xí)。
AdaBN 實(shí)現(xiàn)簡單而且該方法不增加額外的參數(shù),降低了重構(gòu)的復(fù)雜性。只需將圖3 中的自適應(yīng)層替換為一種新的數(shù)據(jù)層(稱之為BatchNorm 自適應(yīng)層),然后進(jìn)行Finetune。加入AdaBN 作用是解決來自不同數(shù)據(jù)集樣本的數(shù)據(jù)分布差異,AdaBN使用更新算法將數(shù)據(jù)集中的樣本標(biāo)準(zhǔn)化為零均值和同方差,從而緩解不同數(shù)據(jù)集的位移問題[16]。
其中:yj是神經(jīng)元j 的輸出;xj為輸入;μj和σ2j分別為計(jì)算均值和計(jì)算方差。
對于第n 次迭代時輸入的m 個樣本,其輸入均值和輸入方差分別為μ和σ2。此時計(jì)算均值μj和計(jì)算方差σ2j的更新規(guī)則為:
其中:d 是第n 次迭代的輸入均值μ 與第n - 1 次迭代的計(jì)算均值之差;Nj是前n - 1 次迭代時所有的樣本數(shù)之和,即累計(jì)樣本數(shù);運(yùn)算符“←”表示每次迭代時更新符號左邊的數(shù)據(jù)。在第一次迭代時,μj和被分別初始化為0和1。
本文提出使用深度學(xué)習(xí)來整體提取訓(xùn)練圖像中的結(jié)構(gòu)特征,替代傳統(tǒng)的模擬方法(如MPS)掃描訓(xùn)練圖像這一過程,然后使用自適應(yīng)深度遷移學(xué)習(xí)中的AdaBN 方法將提取到的特征復(fù)制到模擬結(jié)果中,最終可以得到具有訓(xùn)練圖像結(jié)構(gòu)特征的重構(gòu)結(jié)果。
算法具體步驟如下:
步驟1 首先從訓(xùn)練圖像中獲取全部數(shù)據(jù),為了加快深度學(xué)習(xí)的訓(xùn)練速度和防止梯度爆炸,對數(shù)據(jù)進(jìn)行隨機(jī)排序、歸一化等處理,得到數(shù)據(jù)集DS。
步驟2 設(shè)計(jì)深層神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),并將深層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)劃分為固定層Lfixed、遷移層Ltransfer和輸出層Lout,在遷移層中加入BatchNorm自適應(yīng)層。
步驟3 使用設(shè)計(jì)好的深層神經(jīng)網(wǎng)絡(luò)對訓(xùn)練圖像數(shù)據(jù)進(jìn)行迭代擬合來學(xué)習(xí)其中的復(fù)雜特征,當(dāng)訓(xùn)練誤差達(dá)到要求時訓(xùn)練結(jié)束,得到模型TS。TS中保存了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中每一層的權(quán)重w和偏差b。
步驟4 利用真實(shí)條件數(shù)據(jù)形成數(shù)據(jù)集DT,并在DT上對深度學(xué)習(xí)模型進(jìn)行遷移學(xué)習(xí)。進(jìn)行遷移學(xué)習(xí)的方法為:隨機(jī)初始化遷移層Ltransfer的所有參數(shù),然后加入DT進(jìn)行訓(xùn)練,訓(xùn)練神經(jīng)網(wǎng)絡(luò)時保持固定層Lin參數(shù)不變,每次前向傳播和反向傳播時僅改變遷移層Ltransfer和輸出層Lout的參數(shù),當(dāng)總代價滿足要求后訓(xùn)練完成,得到模型TT。
步驟5 將數(shù)據(jù)集DS的輸入特征向量作為模型TT的輸入,就得到了預(yù)測值,這些特征向量和對應(yīng)預(yù)測值即為重構(gòu)結(jié)果。
評價多孔介質(zhì)重構(gòu)結(jié)果優(yōu)劣的標(biāo)準(zhǔn)與一般重構(gòu)方法有較大的不同。一般重構(gòu)方法中的重構(gòu)數(shù)據(jù)與原始數(shù)據(jù)的相似度是由兩者在每個相同位置具有相同狀態(tài)值的元素的比例決定的。在一般重構(gòu)方法中,該比例越高,重構(gòu)相似度就越高,但是這個判定標(biāo)準(zhǔn)對于多孔介質(zhì)重構(gòu)并不適用。多孔介質(zhì)重構(gòu)并不要求隨機(jī)模擬結(jié)果與訓(xùn)練圖像完全一致,它的真正作用體現(xiàn)在捕捉訓(xùn)練圖像的結(jié)構(gòu)特征,并將這些特征復(fù)制到重構(gòu)數(shù)據(jù)中,這些結(jié)果是對訓(xùn)練圖像結(jié)構(gòu)特征的反映,重構(gòu)效果的優(yōu)劣在于這些結(jié)構(gòu)特征是否被復(fù)制到重構(gòu)數(shù)據(jù)中。
因此,本文評價重構(gòu)結(jié)果時并不直接比較重構(gòu)結(jié)果和訓(xùn)練圖像是否相同,而是通過多個重構(gòu)結(jié)果的孔隙度、變差函數(shù)[17],以及連接性曲線來衡量。
本文利用砂巖圖像重構(gòu)來驗(yàn)證本文方法的有效性,即使用深度學(xué)習(xí)對砂巖訓(xùn)練圖像的孔隙結(jié)構(gòu)特征進(jìn)行學(xué)習(xí),然后使用自適應(yīng)遷移學(xué)習(xí)將這些特征和真實(shí)數(shù)據(jù)結(jié)合,完成砂巖圖像的重構(gòu)。首先使用同步輻射掃描獲得砂巖數(shù)據(jù)(底面半徑為500 體素,高為1 022 體素的圓柱體砂巖),再從該砂巖不同位置隨機(jī)截取兩份80 × 80 × 80 體素的體數(shù)據(jù)分別作為訓(xùn)練圖像與真實(shí)圖像,孔隙度分別為0.174 5 和0.176 3。真實(shí)圖像是指客觀存在的真實(shí)數(shù)據(jù)圖像,是實(shí)驗(yàn)中需要模擬的目標(biāo),用來與模擬結(jié)果進(jìn)行對比。由于訓(xùn)練圖像與真實(shí)圖像從同一塊砂巖提取,故可以認(rèn)為它們具有相似的孔隙結(jié)構(gòu)特征,如圖4~5所示。
圖4 訓(xùn)練圖像Fig.4 Training image
圖5 真實(shí)圖像Fig.5 Real images
圖4(a)是訓(xùn)練圖像的外表面,圖中深色表示孔隙,淺色表示骨架;圖4(b)是訓(xùn)練圖像正交剖面圖;圖4(c)是將砂巖骨架隱藏后的孔隙結(jié)構(gòu)圖。從圖4 可知,訓(xùn)練圖像的孔隙特征具有長連通性,并且有不規(guī)則的孔隙形狀。圖5(a)是真實(shí)圖像的外表面,圖5(b)是其剖面圖,圖5(c)是其孔隙結(jié)構(gòu)圖。通過對真實(shí)圖像進(jìn)行隨機(jī)采樣,得到了0.5%的點(diǎn)作為重構(gòu)圖像的條件約束數(shù)據(jù),其中孔隙點(diǎn)占采樣點(diǎn)的比例為0.174 2。
重構(gòu)目標(biāo)是使得重構(gòu)圖像的孔隙結(jié)構(gòu)與真實(shí)圖像的孔隙結(jié)構(gòu)相似。數(shù)據(jù)集的輸入是1× 3 的輸入矢量X,矢量的每個維度的取值范圍{j=1,2,…,80},其中xij={x1j,x2j,x3j}為X 的三個特征向量,Y={0,1}為砂巖的結(jié)構(gòu)值,0 表示骨架,1 表示孔隙。真實(shí)圖像采樣數(shù)據(jù)量和訓(xùn)練圖像數(shù)據(jù)量分別是2 560 和512 000。
3.3.1 孔隙度對比
實(shí)驗(yàn)中,深層神經(jīng)網(wǎng)絡(luò)的輸入特征為每一個砂巖點(diǎn)的空間位置信息,每一個點(diǎn)的標(biāo)簽值使用0表示骨架,1表示孔隙,通過ADTL 方法得到一個重構(gòu)圖像結(jié)果(80 × 80 × 80 體素),如圖6 所示。圖6(b)的孔隙在不同截面上呈現(xiàn)出不規(guī)則形狀,而圖6(c)孔隙具有訓(xùn)練圖像中孔隙長連通性的特征。ADTL 方法重構(gòu)圖像的孔隙度為0.175 2,與真實(shí)圖像的孔隙度是十分接近的。
圖6 ADTL重構(gòu)圖像Fig.6 Images reconstructed by ADTL
為了與其他經(jīng)典重構(gòu)多孔介質(zhì)方法比較,又采用傳統(tǒng)的重構(gòu)方法MPS 來對砂巖孔隙圖像進(jìn)行重構(gòu),分別使用ADTL和MPS 進(jìn)行了10 次重構(gòu)來驗(yàn)證結(jié)果。圖7 是MPS 方法得到的一個重構(gòu)圖像,該MPS重構(gòu)圖像孔隙度為0.171 9。
圖7 MPS重構(gòu)圖像Fig.7 Images reconstructed by MPS
對比真實(shí)圖像、ADTL 重構(gòu)圖像和MPS 重構(gòu)圖像可看出,三種重構(gòu)圖像在孔隙結(jié)構(gòu)上均較為相似。表1 是MPS 和ADTL重構(gòu)圖像10次的重構(gòu)結(jié)果平均孔隙度,可見ADTL方法生成的圖像與真實(shí)圖像的孔隙度更為接近。
表1 MPS和ADTL重構(gòu)圖像的10次重構(gòu)結(jié)果平均孔隙度與真實(shí)圖像的平均孔隙度Tab. 1 Average porosities of 10 reconstruction results of DTL and MPS and average porosity of real image
表2 是MPS 和ADTL 方法分別進(jìn)行10 次重構(gòu)的圖像孔隙度,可以看出ADTL 方法的結(jié)果方差較小,說明波動較小,更為穩(wěn)定,孔隙度分布更集中。
表2 MPS和ADTL方法10次模擬重構(gòu)圖像的孔隙度Tab. 2 Porosities of 10 reconstruction results of DTL and MPS
3.3.2 變差函數(shù)對比
變差函數(shù)(Variogram)是評價多孔介質(zhì)重構(gòu)圖像效果的重要工具,計(jì)算公式見文獻(xiàn)[18]。設(shè)X、Y 和Z 方向上相鄰點(diǎn)之間的距離為1,變差函數(shù)的每對計(jì)算點(diǎn)之間的距離(單位:像素)作為變差函數(shù)曲線橫坐標(biāo)。分別計(jì)算真實(shí)圖像、MPS重構(gòu)圖像和ADTL重構(gòu)圖像在X、Y、Z方向的變差函數(shù),如圖8所示。ADTL 重構(gòu)圖像與真實(shí)圖像在X、Y 和Z 方向變差函數(shù)的變化趨勢都更加相似,說明二者的孔隙結(jié)構(gòu)特征更相近。
3.3.3 連接性曲線對比
變差函數(shù)能夠反映空間變化特征,但不足以表征多孔介質(zhì)結(jié)構(gòu)的多點(diǎn)相關(guān)性。多孔介質(zhì)重構(gòu)方法使用多點(diǎn)連接性(Multiple-Point Connectivity,MPC)[18]來評估重構(gòu)結(jié)果。圖9所示是真實(shí)圖像、MPS 重構(gòu)圖像和ADTL 重構(gòu)圖像在X、Y、Z方向的MPC。在X、Y 方向上ADTL 方法的效果略優(yōu)于MPS 方法,在Z方向上ADTL方法明顯優(yōu)于MPS方法。
圖8 MPS、ADTL重構(gòu)圖像及真實(shí)圖像的變差函數(shù)Fig.8 Variograms of real image and images reconstructed by MPS and ADTL
圖9 MPS和ADTL重構(gòu)圖像及真實(shí)圖像的多點(diǎn)連接性曲線Fig.9 MPC curves of real image and images reconstructed by MPS and ADTL
3.3.4 內(nèi)存和CPU性能對比
由于ADTL 方法在建模時主要使用計(jì)算機(jī)的GPU 進(jìn)行模擬,相較于MPS 方法對內(nèi)存和CPU 的使用更少,這使得該方法在模擬時對計(jì)算機(jī)的性能影響較小。
本文實(shí)驗(yàn)環(huán)境:CPU 型號為Inter Core I7-8700 3.2 GHz,內(nèi)存8 GB,GPU 型號為Nvidia GeForce GTX 1070(6 GB)。分別對兩種方法10 次重構(gòu)過程的內(nèi)存占用和CPU 使用率以及耗時進(jìn)行記錄,然后求取平均值。如表3 所示,使用ADTL 方法對內(nèi)存和CPU 的占用遠(yuǎn)小于MPS 方法。ADTL 方法耗時同樣明顯少于MPS方法,說明ADTL方法效率更高。
本文提出了一種基于自適應(yīng)深度遷移學(xué)習(xí)的多孔介質(zhì)重構(gòu)方法,通過對三維結(jié)構(gòu)進(jìn)行一個整體的學(xué)習(xí),使其重構(gòu)結(jié)果
在三個維度均能取得良好的效果。由于傳統(tǒng)多孔介質(zhì)隨機(jī)重構(gòu)(例如MPS 方法)建立的模型不是唯一的確定性模型,而是一系列的等概率隨機(jī)實(shí)現(xiàn),所以可能需要多次建模得出平均結(jié)果,且這些結(jié)果方差較大。而本文方法的神經(jīng)網(wǎng)絡(luò)建模過程是一個尋優(yōu)學(xué)習(xí)的過程,建模時不容易陷入局部最優(yōu),得到的結(jié)果更為穩(wěn)定,因此更有優(yōu)勢。實(shí)驗(yàn)結(jié)果表明在多孔介質(zhì)重構(gòu)建模中,使用自適應(yīng)深度遷移學(xué)習(xí)得到的重構(gòu)結(jié)果精度更高、連通性和結(jié)構(gòu)特征更好,內(nèi)存和CPU 的占用以及模擬耗時也遠(yuǎn)低于傳統(tǒng)方法。