滕建強,邱 萌,楊明任,申輝林,曲 薩,孫啟鵬
(1.中國石化西北油田分公司石油工程技術研究院,新疆烏魯木齊830011;2.中國石化碳酸鹽巖縫洞型油藏提高采收率重點實驗室,新疆烏魯木齊830011;3.中國石油大學(華東)地球科學與技術學院,山東青島266580)
測井資料在儲層描述和油氣儲集能力評價中具有十分重要的作用,通常只能在鉆井后通過測井工程獲取,而在隨鉆測井過程中需對未鉆地層的測井資料提前預測,這對隨鉆測井具有重要意義。如果能夠提前預測到未鉆地層深度序列的測井數據,則會有效提高鉆探過程的可靠性和安全性,且節約生產成本。在鉆探前預測未鉆地層測井曲線方法與測井曲線重構方法具有一定的相似性,前人研究中曾使用傳統BP 神經網絡預測未知深度序列方向的測井曲線[1-5],以上方法雖然能夠學習到測井曲線之間的非線性關系,但由于測井信息受地層沉積特征的影響具有時序漸變性,曲線深度序列的變化趨勢和測井曲線的前后關聯性將會發生改變[6]。因此,基于傳統BP神經網絡的方法極大簡化了地質沉積漸變過程,與實際地層參數相比,該方法構建的測井預測模型誤差太大,導致預測未鉆地層測井曲線質量難以保證。
近年來,機器學習快速發展,在科學和工程領域應用廣泛并獲得了突破性的進展,為預測未鉆地層測井曲線提供了新思路和方法,且已將一些常規的機器學習算法應用到測井曲線預測,如支持向量機(SVM)[7-8]、模糊邏輯模型(FLM)[9-10]、隨機森林[11]、極端梯度提升[12]等,在一定條件下取得了較好的效果,但這些常規的機器學習算法網絡結構簡單,無法解決地層復雜的非線性問題。由于測井曲線與地質參數間的非線性關系復雜,用簡單的機器學習算法無法明確其數學關系,因此,應用這些方法具有一定的局限性[13]。深度學習方法是當前機器學習領域最熱門的方向之一,其網絡結構復雜且具有多個隱含層,不僅能通過提取每一項特征將樣本的原始空間特征轉換成新的高維空間特征表征,還能為數據建立更加抽象的特征描述,從而將預測或分類問題簡單化且提高準確性[14]。長短期記憶神經網絡(LSTM)和門控循環單元神經網絡(GRU)模型作為深度學習的研究熱點之一,是一種具有記憶功能的神經網絡模型,較適用于未鉆地層測井曲線預測,與其他網絡結構的不同之處在于增加了自循環體,可以將前一個深度序列的樣本輸出并與下一個深度序列的樣本進行運算,使模型處理得到的測井數據不僅具有前一個深度序列的特征信息,還具有樣本自身的特征信息,能較好地預測未鉆地層測井曲線。王俊等研發一種基于深度雙向循環神經網絡的儲層孔隙度預測方法,有效解決了孔隙度預測中的空間尺度問題和傳統神經網絡無法提供前后序列信息的問題,提高了孔隙度預測的準確性和穩定性[15],但該網絡對數據量需求過大,且容易出現過擬合現象。宋輝等將卷積神經網絡與門控循環單元網絡相結合,有效地提取測井數據特征,提高了儲層參數的預測精度[16],但該網絡結構復雜且訓練時容易出現局部最小值,池化層也會丟失大量有價值信息,忽略局部與整體之間的關聯性。
測井數據是具有非線性和序列化特性的數據結構,為此,應用GRU 模型對新疆油田和南海西部油田進行實際測井數據預測,并與LSTM 模型進行對比分析,結果表明,GRU 模型預測效果更好,可有效預測未鉆地層地球物理測井特征并指導鉆井和測井工程。
循環神經網絡是一類專門處理深度序列數據的深度學習模型,在不同深度序列數據的步長上,該網絡模型能夠循環共享權重,并進行跨越深度序列鏈接,這在處理測井深度序列數據上具有較大優勢。LSTM模型新增加了遺忘門、輸入門、tanh層、輸出門4個交互層(圖1),使自循環的權重成為變化的參數。各個門限可以對前一時刻的單元狀態進行處理,并將新的測井信息添加到當前時刻的單元狀態。因此,在模型參數不變的情況下,不同時刻的積分尺度可以動態變化,從而解決了梯度消失或梯度爆炸問題,也無需確定窗口的延遲長度[17]。
圖1 LSTM模型結構Fig.1 Structure of LSTM model
第1 個交互層為遺忘門,決定哪些測井信息需要被忘記(丟棄),即上一時刻的單元狀態有多少測井信息傳遞到當前時刻的單元狀態,當前時刻的輸入值和上一時刻的隱含層節點的輸出值組合成一個新的特征向量,然后乘以權重,最后輸入到sigmoid函數中。其表達式為:
第2 個交互層為輸入門,決定當前時刻的輸入值中有多少測井信息保存到當前時刻的單元狀態,其表達式為:
第3 個交互層為tanh 層,決定當前時刻的候選值。與輸入向量相乘,以確定候選值中有多少新的測井信息被存放到單元狀態中,其表達式為:
將攜帶記憶信息的單元狀態與攜帶新的測井信息的候選值相結合,t時刻的遺忘門決定忘記t-1 時刻的單元狀態中的哪些測井信息,t時刻的輸入門決定保留和添加t- 1 時刻的單元狀態中的哪些測井信息。t時刻的單元狀態表達式為:
第4 個交互層為輸出門,決定當前時刻需要輸出的測井信息,其表達式為:
LSTM 模型不僅能從序列數據中提取測井信息,還能夠記憶先前步驟的長期相關性的測井信息,這反映了該模型能較好地考慮到前期的測井曲線對未鉆地層的影響。
GRU 模型是對LSTM 模型的改進和優化,保留了LSTM 模型處理深度序列方向測井數據的能力,使其在保留長期記憶功能的同時簡化了網絡結構,且訓練參數減少,收斂速度加快,預測精度提高。由圖2 可以看出,GRU 模型將LSTM 模型中的輸入門、遺忘門和輸出門用更新門和重置門代替。GRU模型將原來的輸入門和遺忘門變成單一的更新門,決定了當前時刻的輸入值中有多少測井數據將被保留,更新門的值越大,當前時刻測井數據保留越多;重置門決定前一時刻的輸出值對當前時刻的輸入值的影響,重置門的值越大,當前時刻的輸入受前一時刻的輸出影響越大[18]。這說明GRU 模型不僅結構更簡單,收斂速度更快,而且還避免了過擬合現象發生。
圖2 GRU模型結構Fig.2 Structure of GRU model
更新門和重置門在t時刻的狀態定義分別為:
當前神經元的特定輸出值表達式為:
GRU模型的輸出值表達式為:
利用已鉆地層的測井數據作為訓練模型,預測下一深度序列方向的測井數據,其預測模型為:
首先選取已鉆地層的測井數據及鄰井的數據(圖3中深度井段為M的測井訓練數據)并將其輸入到GRU 模型中用于訓練模型,優化網絡模型參數,更新隱含層節點單元的狀態,然后將訓練好的模型用于預測未鉆地層的測井數據(圖3 中深度井段為N的測井測試數據)。圖3中,h0是GRU 模型隱含層節點的初始狀態,ht-1和Ct-1是深度井段為M的測井訓練數據t-1 時刻的輸出值和單元狀態,當前時刻的輸出被傳遞到深度井段為N的測井測試數據作為第一步預測的輸入數據。預測數據段的起始數據序號為t,則在t- 1 時刻可用GRU 網絡基于深度井段為M的測井訓練數據獲取輸出節點的單元狀態和內部狀態,再結合t時刻的鄰井測井數據預測t時刻的單元狀態和內部狀態,進而預測t時刻的值。最后結合t時刻的單元狀態和t- 1時刻的鄰井測井數據就可獲得t- 1時刻的單元狀態和預測值。
圖3 GRU模型流程Fig.3 Flow chart of GRU model
數據預處理工作將確保各測井參數處于規范的分布范圍內,這樣能夠使網絡模型更易學習到各參數之間的關聯性。數據標準化是機器學習中最基本的預處理工作,為了減小不同測井參數間的量綱影響,采用分數歸一化方法對測井數據進行標準化處理,以期各參數間具有可比性,處理后的測井數據須服從標準正態分布,數據標準化表達式為:
為了加快網絡收斂速度,優化學習率,減少迭代次數,需要選擇優化算法進行網絡模型訓練。常用的優化算法包括SGD,RMSProp,Adam,AdaGrad等,其中SGD 算法簡單,收斂速度快,但容易陷入局部最小值,導致無法獲得最優解。為此,采用Adam算法,并結合RMSProp和AdaGrad兩個算法的優點,這樣不僅適用于稀疏梯度,還具備解決非平穩數據的特性[19]。
GRU 模型訓練過程大致包括以下步驟:①以測井曲線作為輸入參數,輸入到LSTM 和GRU 模型中進行訓練,沿著深度前向傳播方向有序計算GRU 單元的輸出值。②將測井曲線輸出值與實際值進行比較,沿著反向傳播方向計算每個GRU 單元的誤差。③根據反向傳播計算的誤差,計算每個權重梯度,并用Adam 算法更新權重,使測井曲線預測值與實際值逐步逼近。④不斷重復上述步驟,使GRU 模型不斷得以訓練并優化。
以測井曲線的實際值與預測值之間的均方根誤差和相關系數作為評價預測方法的標準,即均方根誤差越小,相關系數越大,則測井數據預測方法更優,預測精度更高,其計算公式如下:
為了驗證上述兩種方法預測測井曲線的應用效果,對多個油田的測井曲線進行預測,均取得了理想的應用效果。以新疆油田已鉆直井電纜測井曲線和南海西部油田水平井隨鉆測井曲線為例進行預測效果和精度分析。
新疆油田A1井為直井,對常規電纜測井曲線以及鄰井測井數據中的自然伽馬(GR)、深感應電阻率(Rt)、聲波時差(AC)、密度(DEN)、井徑(CAL)5 條測井曲線數據進行預測處理,將其分別輸入到GRU 和LSTM 模型中進行預測,以評價兩種模型利用已鉆地層測井數據以及鄰井測井數據預測未鉆地層深度序列測井曲線的能力,并分析兩種模型預測結果的精度和優劣。
實際預測搭建的GRU 模型由2 個GRU 層和1個全連接層組成,其中每個隱含層的節點數為10,批處理大小為20,退出率為0.3,測井序列長度為20,可以通過改變序列長度調整GRU 模型的記憶范圍,學習率為0.01,學習率是網絡模型中重要的超參數。學習率過低,會減緩模型收斂速度;學習率過高,在梯度下降時易錯過最低點,導致模型收斂效果不佳。此外,與其對應的LSTM 模型也采用相同的預測參數和算法進行測井曲線預測。
圖4 為新疆油田A1 井常規電纜測井曲線GRU和LSTM 模型訓練-預測結果,1 895~1 928 m 井段為模型的訓練擬合層段,1 928~1 940 m 井段為模型的預測層段。從圖4 中可以看出,GRU 和LSTM 模型在訓練階段實際測井值與預測值基本重合,說明兩模型均已學習訓練完成,且GRU 模型學習訓練效果更好。兩種模型在預測深度序列方向未鉆地層測井曲線上均取得了較好的預測效果,雖然存在一定誤差,但總體上能夠逼近實際測井曲線,尤其是在測井曲線沒有發生大幅度突變時,GRU 模型預測效果更好。尤其是新疆油田A1 井在埋深為1 930~1 935 m 處GR和Rt測井曲線發生較大幅度突變,由于該井訓練階段學習過程有類似的曲線特征趨勢變化,因此兩種模型均比較好地預測到巖電曲線以及其他測井曲線這一變化趨勢,但GRU 模型能夠綜合考慮測井曲線隨深度序列的變化趨勢和曲線前后的關聯性,使得預測結果比LSTM 模型更接近實際測井曲線,這表明GRU 模型的長時記憶功能在預測未鉆地層深度序列測井曲線上應用效果更佳。其余三條測井曲線AC,DEN和CAL訓練階段模型學習也充分,訓練效果也不錯,使兩種模型預測結果更加逼近實際測井曲線,且GRU 模型的預測效果同樣比LSTM模型更好。
圖4 A1井常規電纜測井訓練-預測結果Fig.4 Prediction results of regular logging training in Well A1
由GRU和LSTM模型的相關系數和均方根誤差評價參數計算結果(表1)也可以看出,GRU 模型預測未鉆地層深度序列的測井曲線效果比LSTM 模型好,因此,相對于LSTM 模型,新疆油田A1 井應用GRU模型預測的GR,Rt,AC,DEN和CAL曲線的相關系數分別提升了5.13%,33.33%,7.87%,16.67%和5.88%,均方根誤差分別下降了3.14%,47.99%,19.96%,50%和14.29%。其中,GRU 模型比LSTM模型平均相關系數提高13.78%,平均均方根誤差下降27.08%。這些預測結果均表明,GRU 模型預測對具有深度序列特性的測井數據效果好、精度高、適用性更強。
表1 A1井GRU和LSTM模型相關系數和均方根誤差對比Table1 Comparison of correlation coefficient and root mean square error between LSTM and GRU models in Well A1
南海西部油田B6井為水平井,本次實際預測搭建的LSTM 和GRU 模型結構與新疆油田A1 井所用模型具有相同的預測參數和算法,這樣能夠保證訓練與預測的曲線具有可靠性與對比性。
圖5 是南海西部油田B6 井隨鉆測井曲線GRU和LSTM 模型訓練-預測結果。1 260~1 290 m 井段為模型的訓練擬合層段,1 290~1 306 m 井段為模型的預測層段。由圖5 可知,發現GRU 和LSTM 模型同樣在訓練階段預測值與實際值基本重合,且GRU模型的預測效果同樣比LSTM 模型更好,說明GRU模型適用性比LSTM模型更強。
圖5 B6井隨鉆測井訓練-預測結果Fig.5 Prediction results of logging-while-drilling(LWD)training in Well B6
由南海西部油田B6 井GRU 和LSTM 模型處理的相關系數和均方根誤差評價參數計算結果(表2)可知,GRU 模型預測的GR,Rt,AC,DEN和CAL曲線的相關系數分別提高8.14%,18.52%,20.78%,6.67% 和6.52%,均方根誤差分別下降23.18%,54.64%,49.68%,33.33%和50%。其中,GRU 模型比LSTM 模型平均相關系數提高12.13%,平均均方根誤差下降42.17%。這些預測結果再次表明,GRU模型處理對具有深度序列特性的測井數據可靠性強、精度高、適用性強。
表2 B6井LSTM和GRU模型相關系數和均方根誤差對比Table2 Comparison of correlation coefficient and root mean square error between LSTM and GRU models
以新疆油田已鉆直井電纜測井曲線和南海西部油田水平井隨鉆測井曲線為例,利用GRU 和LSTM 模型進行了預測效果和精度分析,結果表明,兩種模型在直井常規電纜測井和水平井隨鉆測井中均能提前獲取未鉆地層的測井信息,可有效指導鉆井和測井工程,為地質導向提供科學依據。受井眼環境特別是擴徑影響嚴重的測井曲線,如DEN和AC曲線,可應用GRU 模型預測測井曲線的方法進行井眼影響校正,有助于提高測井解釋精度。但GRU 模型的預測效果比LSTM 模型更好、適用性更強、精度更高。另外GRU 模型還可以應用于測井曲線重構,有助于降低測井費用,可達到降本增效的目的。
符號解釋
b——偏置項;
bc—候選值狀態下的偏置項;
bf——遺忘門狀態下的偏置項;
bi——輸入門狀態下的偏置項;
bo——輸出門狀態下的偏置項;
——候選狀態;
C0——初始時刻的單元狀態;
C1——第1時刻的單元狀態;
Ct——t時刻的單元狀態;
——t時刻的候選值;
Ct+1——t +1時刻的單元狀態;
Ct-1——t- 1時刻的單元狀態;
Ct-2——t- 2時刻的單元狀態;
Ct-M——t-M時刻的單元狀態;
ft——t時刻的遺忘門;
f——GRU模型;
h0——GRU模型隱含層節點的初始狀態;
ht——測井序列t時刻隱含層節點的輸出值;
——測井序列t時刻隱含層節點的候選狀態;
ht-1——測井序列t- 1時刻隱含層節點的輸出值;
ht-2——測井序列t- 2時刻隱含層節點的輸出值;
ht-M——測井序列t-M時刻隱含層節點的輸出值;
ht+N-1——測井序列t+N- 1 時刻隱含層節點的輸出值;
i——當前時刻的輸入值;
it——t時刻的輸入門;
M,N——分別為測試樣本的采樣數目;
n——深度序列長度;
ot——t時刻的輸出門;
p——測試樣本的采樣數目;
r——測井曲線實際值與預測值之間的相關系數;
rt——GRU模型的重置門;
t——測井序列的測試時刻;
Ur——重置門的權重矩陣;
Uz——更新門的權重矩陣;
wc——候選狀態的權重參數;
wi——輸入門的權重參數;
wo——輸出門的權重參數;
wf——遺忘門的權重參數;
Wh——隱含層的權重矩陣;
Wr——重置門的權重矩陣;
Wz——更新門的權重矩陣;
xt——測井序列t時刻隱含層節點的輸入值;
xi——各輸入參數;
Xi——測井曲線各參數的實測序列;
Xt——t時刻的輸入值;
——t時刻測井曲線的預測值;
yt-1,yt-2,yt-3,yt-n+1——GRU模型t時刻之前輸入值;
yi,——測井曲線各參數的實際值和預測值;
Yi——測井曲線各參數的生成序列;
zt——GRU模型的更新門;
Z*——標準化后的參數;
σ——sigmoid函數;
*——哈達瑪積;
μi——各輸入參數的平均值;
δi——各輸入參數的標準方差,其分布范圍為[-1,1];
εRMSE——測井曲線實際值與預測值之間的均方根誤差。