孫宇航 劉 洋*③
(①中國石油大學(北京)油氣資源與探測國家重點實驗室,北京昌平 102249; ②中國石油大學(北京)CNPC物探重點實驗室,北京昌平 102249; ③中國石油大學(北京)克拉瑪依校區,新疆克拉瑪依 834000)
縱、橫波速度是地震勘探中的關鍵參數,在地下構造解釋和油藏描述等工作中具有重要作用。通過常規聲波測井可以得到縱波速度。橫波測井(如偶極子聲波測井)勘探成本太高,在一般情況下,實際地震資料中往往缺少橫波速度信息。因此,有必要研究精確預測橫波速度的方法。
橫波速度預測方法主要分為經驗公式法和巖石物理建模法。傳統的經驗公式法通過統計學分析縱、橫波速度,擬合得到縱、橫波速度關系式,由縱波速度預測橫波速度。Pickett[1]通過分析大量測井數據,得到灰巖的縱、橫波速度經驗公式。Castagna等[2]基于碎屑巖中的縱、橫波速度關系,提出了著名的“泥巖線”公式。此外,不同巖石存在不同的縱、橫波速度擬合公式[3-4]。隨著勘探技術的發展,傳統的經驗公式法已經不能滿足橫波速度預測的精度需求。因此,基于傳統經驗公式法,人們在擬合過程中加入密度、自然伽馬和電阻率等參數,提出了多元回歸法[5-7]。經驗公式法容易實現,計算效率高,但擬合關系式反映了大量測井數據的統計規律,在實際應用時存在較大誤差。
巖石物理建模法主要通過建立巖石物理模型精確地計算巖石的彈性參數,然后基于彈性參數和橫波速度之間的關系計算橫波速度。Xu等[8]基于砂巖和泥巖孔隙的幾何形態,提出了砂泥巖儲層的等效介質模型——“Xu-White模型”;隨后Xu等[9]基于該模型估算了碳酸鹽巖的孔隙形狀,較為精確地預測了橫波速度。劉欣欣等[10]采用自適應遺傳算法計算巖石物理模型的彈性參數、預測橫波速度并應用于體積模量反演,取得了較好效果。羅水亮等對Pride模型[11]和Lee模型[12]進行變形,提出了變形P-L模型,利用地震反演預測橫波速度[13]。此外,鄭旭楨等[14]、唐杰等[15]、熊曉軍等[16]基于巖石物理建模預測橫波速度,均取得了較好效果。利用巖石物理建模法預測橫波速度精度較高,但是算法復雜、所需參數較多,導致計算效率較低。
經驗公式法和巖石物理建模法都是基于橫波速度和其他參數之間的關系,利用其他參數預測橫波速度。經驗公式法利用儲層參數(密度和自然伽馬等)預測橫波速度,巖石物理建模法利用彈性參數(體積模量和剪切模量等)預測橫波速度,相比而言,儲層參數更容易獲得。但是在一般情況下,橫波速度和彈性參數的關系式較橫波速度和儲層參數的關系式更準確,因此提高橫波速度預測精度和預測效率可以從兩方面入手,即建立橫波速度和儲層參數之間的高精度關系式或提高提取彈性參數的效率,后者在目前較難實現。本文主要研究如何精確地建立橫波速度和儲層參數之間的關系式。
近年來,機器學習技術迅速發展,在不同領域取得了重大進展。機器學習方法主要分為分類、回歸和聚類三種,其中回歸主要處理和預測時序數列。GRU(gated recurrent unit)神經網絡是基于回歸思想提出的一種機器學習方法,并已經成功應用于時序數列的分析和預測。通過引入GRU神經網絡,本文提出一種利用儲層參數預測橫波速度的方法,具體步驟包括神經網絡構建、數據預處理、樣本訓練和數據預測等。選擇D區測井數據測試,結果表明該方法具有較高精度和較好的適用性。
儲層參數反映了儲層的具體特征,與橫波速度之間存在著必然聯系。通常通過測井方法得到儲層參數,目前常用的測井方法包括聲波時差測井、密度測井、自然伽馬測井、中子測井和電阻率測井等。本文主要分析由這些測井方法得到的儲層參數(縱波速度、密度、自然伽馬值、孔隙度和電阻率)與橫波速度之間的相關性??v、橫波速度同時受儲層的巖石骨架和孔隙流體影響,因此縱、橫波速度之間存在正相關關系;密度直接參與儲層體積模量和剪切模量的計算,間接參與橫波速度的計算,因此密度與橫波速度具有一定相關性;自然伽馬值反映了儲層骨架中的泥質含量,與橫波速度具有正相關關系;孔隙度值反映了儲層的地質結構,直接影響橫波速度;儲層的巖石骨架通常不導電,電阻率主要反映儲層的孔隙流體特征,因此也能反映橫波速度變化。圖1為D區儲層參數與橫波速度交會圖。由圖可見:縱波速度(圖1a)、密度(圖1b)和電阻率對數(圖1e)均與橫波速度呈正相關(R2約為0.40),其中電阻率對數與橫波速度的正相關性最好(R2=0.4492);自然伽馬值(圖1c,R2=0.2241)、孔隙度(圖1d,R2=0.3792)均與橫波速度呈負相關,但前者與橫波速度的負相關性較弱。
儲層參數與橫波速度之間存在一定的相關關系,但是這種關系較復雜,很難得到解析解。為此,本文構建了GRU神經網絡方法,通過訓練神經網絡逼近橫波速度與儲層參數之間的關系,然后預測橫波速度。

圖1 D區儲層參數與橫波速度交會圖(a)縱波速度—橫波速度; (b)密度—橫波速度; (c)自然伽馬—橫波速度; (d)孔隙度—橫波速度; (e)電阻率對數—橫波速度R為兩個變量之間的相關系數
GRU神經網絡是LSTM神經網絡(long short term memory network)的一種變體,LSTM神經網絡是在RNN(recurrent neural network)的基礎上發展起來的。RNN是一種成熟的機器學習方法,在處理時序數列方面具有著很大優勢[17]。RNN中包含信號反饋結構,能將t時刻的輸出信息與t時刻之前的信息相關聯,具有動態特征和記憶功能。


圖2 RNN結構示意圖[17]
圖4為GRU神經網絡的隱藏層結構示意圖。由圖可見:更新門控制前一時刻的信息對當前時刻的影響程度,更新門的值越大,前一時刻的信息對當前時刻的影響越小;重置門控制對前一時刻信息的接收百分比,重置門的值越大,對前一時刻的信息接收的越多。

圖3 LSTM隱藏層結構示意圖[20]“×”表示對兩個向量做○運算(下文詳細說明),“+”表示對兩個向量做和運算

圖4 GRU神經網絡隱藏層結構示意圖[20]

zt=g(Wz·[ht-1,xt])
(1)
rt=g(Wr·[ht-1,xt])
(2)

(3)

(4)
式中:“[ ]”表示兩個向量相連接; “○”是矩陣間的一種計算方法,表示按元素乘,當“○”作用于兩個向量時,運算為

(5)

(6)
(7)
(8)

GRU神經網絡的訓練方法基于反向傳播理論,主要包括四個步驟。
(1)前向計算每個神經元的輸出值。
(2)反向計算每個神經元的誤差項。GRU神經網絡誤差項的反向傳播包括兩個方面:一個是沿時間的反向傳播,即從當前時刻起,計算每個時刻的誤差項;另一個是將誤差項傳遞到上一層。
(4)利用得到的梯度更新權重。本文采用隨機梯度下降法(SGD,stochastic gradient descent)計算權重梯度。普通的批量梯度下降法(BGD,batch gradient descent)在每次迭代過程中把所有的樣本都計算一遍,然后更新梯度;SGD算法是從樣本中隨機抽出一組進行計算然后更新梯度。相對于BGD算法,SGD算法既能夠較好地避免在計算過程中陷入局部極值,又不需要在每次迭代過程中計算所有樣本,能夠兼顧計算效率和計算精度。
圖5為基于GRU神經網絡的橫波速度預測流程。由圖可見,包括輸入層、隱藏層和輸出層,輸入層對儲層參數進行異常值處理和歸一化處理,并將處理后數據輸入到隱藏層。歸一化是為了限定輸入數據的最大值和最小值不超過隱藏層函數和輸出層函數的限定范圍。本文采用的歸一化公式為
(9)
式中xmin和xmax分別為xi的最小值和最大值。

圖5 基于GRU神經網絡的橫波速度預測流程
當訓練神經網絡時,隱藏層接收數據并利用構建好的GRU神經網絡計算,將計算結果傳遞給輸出層;輸出層接收計算結果并進行反歸一化,提供輸出結果;將輸出結果與樣本值比較,迭代更新隱藏層的權重系數直至訓練結束。進行神經網絡預測時,隱藏層接收數據并利用訓練好的GRU神經網絡計算,將計算結果傳遞給輸出層;輸出層接收計算結果并進行反歸一化,提供橫波速度信息。
利用D區的30口井的測井數據預測橫波速度,將這些井按順序從1到30編號(圖6)。30口井的測井資料(共90000個實測樣本點)包括縱波速度、密度、自然伽馬值、孔隙度、電阻率和橫波速度數據。對測井數據進行異常值處理和歸一化處理,使這些數據的值域為(0,1),然后將其分為90000個二維數組,每個二維數組包括輸入值和樣本值兩部分,其中輸入值為xt=(縱波速度,密度,自然伽馬值,孔隙度,電阻率),樣本值=(橫波速度)。每次迭代的輸出結果為ot=(橫波速度),其中井1包含3000個數據點(圖7)。本文采用Matlab編程語言構建模型,在構建GRU神經網絡時,經過反復迭代、測試,在同時考慮計算效率和精度的情況下,選擇具有一個輸入層、三個隱藏層和一個輸出層的神經網絡結構。其中學習率為0.02,激活函數為sigmoid函數和tanh函數,利用SGD優化目標函數。為了檢驗預測效果,對比本文方法、經驗公式法(下文簡稱公式法)和基于最小平方的橫波速度擬合法[22](下文簡稱擬合法)的預測結果,以相對誤差和相關系數作為評價標準。

圖6 D區井位分布示意圖

圖7 井1的測井數據
為了驗證本文方法的預測精度和泛化能力,分別做多數井訓練、少數井驗證和少數井訓練、多數井驗證的試算。
利用24口井數據訓練、6口井數據驗證,并采用交叉驗證的方法檢驗本文方法的預測精度和泛化能力。
(1)選擇井2、井5、井13、井15、井23和井24的測井數據作為測試樣本,其他測井數據作為訓練樣本。
在本文中,作者在探討接受理論視角下看文化缺省的翻譯策略時,主要考慮了兩個主要方面,分別為采用文化置換讓讀者體會到感同身受,以及采用保持異國情調讓讀者進行一次思想漫步,能夠在書本中體會到異域風情。兩個方面下又分別有滿足其需求的翻譯方法來進行翻譯。楊先生更注重行文的流暢和自如的表達,而榮先生則在處理文化缺省時更偏向使用一些異化的手法或是通過直接介紹給讀者本文化中沒有的文化現象來豐富讀者的認知。兩人的譯本各有千秋。
將訓練樣本對應的72000個二維數組依次輸入到構建好的神經網絡中,對神經網絡訓練。然后將測試樣本對應的18000個二維數組依次輸入到訓練好的神經網絡中,輸出預測橫波速度并與實際橫波速度、基于“公式法”預測的橫波速度和基于“擬合法”預測的橫波速度對比。表1為井2、井5、井13、井15、井23和井24的測井數據作為測試樣本的橫波速度預測相對誤差。由表可見:對于訓練數據,本文方法預測的橫波速度相對誤差約為3.00%,小于“擬合法”(4.09%)和“公式法”(4.81%);對于測試數據,本文方法預測的橫波速度相對誤差略有增大,約為3.19%,仍低于“公式法”和“擬合法”。表2為井2、井5、井13、井15、井23和井24的測井數據作為測試樣本的橫波速度預測值與實際值的相關系數。由表可見:對于訓練數據,本文方法的預測結果與實際值的相關系數平均值為0.9837,大于“擬合法”(0.9638)和“公式法”(0.9526);對于測試數據,本文方法的相關系數略有減小,平均值為0.9805,仍大于“公式法”和“擬合法”。
(2)選擇井3、井8、井11、井18、井21和井29的測井數據作為測試樣本,其他測井數據作為訓練樣本。
將訓練樣本對應的72000個二維數組和測試樣本對應的18000個二維數組按照上文的順序依次輸入,由相對誤差(表3)和相關系數(表4)可以看出:①對于訓練數據,本文方法預測的橫波速度相對誤差平均值為3.01%,小于“擬合法”(4.10%)和“公式法”(4.69%);本文方法的相關系數平均值為0.9839,大于“擬合法”(0.9655)和“公式法”(0.9499)。②對于測試數據,本文方法預測的橫波速度相對誤差略有增大,相關系數略有減小,平均值分別為3.20%和0.9797。
(3)選擇井4、井9、井12、井20、井22和井27的測井數據作為測試樣本,其他測井數據作為訓練樣本。
將訓練樣本對應的72000個二維數組和測試樣本對應的18000個二維數組依次輸入,由相對誤差(表5)和相關系數(表6)可見:無論是訓練數據還是測試數據,本文方法預測的橫波速度相對誤差小于“擬合法”和“公式法”,本文方法的預測結果與實際值的相關系數大于“擬合法”和“公式法”。
通過以上交叉驗證算例可以看出,本文方法預測的橫波速度與真實橫波速度的相對誤差更小,相關系數更大,證明了該方法具有較高的預測精度和較強的泛化能力。

表1 井2、井5、井13、井15、井23和井24的測井數據作為測試樣本的橫波速度預測相對誤差
注:文中只列出了5口訓練井、5口測試井數據,下同

表2 井2、井5、井13、井15、井23和井24的測井數據作為測試樣本的橫波速度預測值與實際值的相關系數

表3 井3、井8、井11、井18、井21和井29的測井數據作為測試樣本的橫波速度預測相對誤差

表4 井3、井8、井11、井18、井21和井29的測井數據作為測試樣本的橫波速度預測值與實際值的相關系數

表5 井4、井9、井12、井20、井22和井27的測井數據作為測試樣本的橫波速度預測相對誤差

表6 井4、井9、井12、井20、井22和井27的測井數據作為測試樣本的橫波速度預測值與實際值的相關系數
為了進一步驗證本文方法的泛化能力,利用10口井數據訓練、20口井數據測試。選擇井2、井4、井7、井8、井9、井14、井19、井20、井22和井29的測井數據作為訓練樣本,其他測井數據作為測試樣本。
將訓練樣本對應的30000個二維數組依次輸入構建好的神經網絡中,對神經網絡訓練。然后將測試樣本對應的60000個二維數組依次輸入到訓練好的神經網絡中,輸出預測橫波速度并與實際橫波速度、基于“公式法”預測的橫波速度和基于“擬合法”預測的橫波速度對比。表7為井2、井4、井7、井8、井9、井14、井19、井20、井22和井29的測井數據作為訓練樣本的橫波速度預測相對誤差。由表可見:對于訓練數據,本文方法預測的橫波速度相對誤差平均值為2.49%,小于多數井訓練、少數井驗證;對于測試數據,本文方法預測的橫波速度相對誤差平均值為3.91%,大于多數井訓練、少數井驗證。這是由于減少了訓練樣本的數量,增加了測試集的樣本數量所致。但總體來說,本文方法預測的橫波速度相對誤差仍小于“擬合法”和“公式法”。表8為井2、井4、井7、井8、井9、井14、井19、井20、井22和井29的測井數據作為訓練樣本的橫波速度預測值與實際值的相關系數。由表可見:對于訓練數據,本文方法預測的橫波速度相對誤差和相關系數分別為2.49%和0.9867,預測結果好于“擬合法”和“公式法”;對于測試數據,本文方法預測的橫波速度相對誤差和相關系數分別為3.92%和0.9686,預測結果與“擬合法”相當,好于“公式法”。圖8為橫波速度預測值和真實值。由圖可見,預測橫波速度和實際橫波速度曲線趨勢一致,具有很好的匹配度。圖9為橫波速度絕對誤差曲線。由圖可見,訓練井的絕對誤差值小于110m/s,測試井的絕對誤差值小于150m/s,表明本文方法的實用性較好。

表7 井2、井4、井7、井8、井9、井14、井19、井20、井22和井29的測井數據作為訓練樣本的橫波速度預測相對誤差

表8 井2、井4、井7、井8、井9、井14、井19、井20、井22和井29的測井數據作為訓練樣本的橫波速度預測值與實際值的相關系數

圖8 橫波速度預測值和真實值從左至右依次為訓練井2、訓練井29、測試井5和測試井25

圖9 橫波速度絕對誤差曲線從左至右依次為訓練井2、訓練井29、測試井5和測試井25
本文提出了一種基于GRU神經網絡的橫波速度預測方法,利用D區的測井數據訓練、測試,得到以下認識。
(1)橫波速度與縱波速度、密度和自然伽馬等儲層參數之間存在一定的相關性??v波速度、密度和電阻率對數與橫波速度呈較好的正相關關系。自然伽馬值、孔隙度與橫波速度呈負相關關系。
(2)利用基于GRU神經網絡的橫波速度預測方法對實際測井數據的試算結果表明:對于多數井訓練、少數井驗證,訓練數據預測的橫波速度與真實值的相對誤差和相關系數分別約為3.00%和0.9837,測試數據預測的橫波速度與真實值的相對誤差和相關系數分別約3.19%和0.9805;對于少數井訓練、多數井驗證,訓練數據預測的橫波速度與真實值的相對誤差和相關系數分別約為2.49%和0.9867,測試數據預測的橫波速度與真實值的相對誤差和相關系數分別約3.92%和0.9686。因此本文提出的橫波速度預測方法具有較高的預測精度和較強的泛化能力。
尚需指出,本文方法雖能較為準確地預測橫波速度,但仍然存在兩個主要問題:
(1)本文提出的GRU神經網絡方法是一種有監督的機器學習方法,其預測精度依賴于訓練樣本的精度,若訓練樣本的精度不夠,則不能得到精確的預測結果。因此,有必要研究一種基于無監督思想的橫波速度預測方法。
(2)本文采用SGD算法更新梯度的速度相對較快,但由于單個樣本的訓練大多會帶來很多噪聲,因此SGD算法的每次迭代并不都是向著整體最優化的方向進行,易造成早期收斂快、晚期收斂慢的現象。