于志剛 辛小軍 范遠洪 宋文江 張德政
(1.中海石油(中國)有限公司湛江分公司;2.中法渤海地質服務有限公司)
油田投產后, 油層本身的能量被不斷消耗,同時層間壓力也在不斷減小,導致油田產量大幅降低。 為了提高油田的采收率,必須對油田進行注水[1~3]。 目前,國內油田始終堅持“注好水,注夠水,精細注水”的原則[4~6],但普遍存在注采失衡的問題。 因此,對油田注水流量的預測研究具有十分重要的實際意義。
近年來,深度學習已經成為機器學習領域一個熱門的研究方向,被廣泛應用于時間序列數據的預測[7,8]。門控循環單元(GRU)是深度學習領域一個非常受歡迎的模型, 目前已被用于解決電力、交通及養殖業等領域的問題。 文獻[9]提出了一種將隨機森林(RF)與GRU神經網絡相結合的風電預測模型, 針對氣象信息與風電的因果關聯,將融合特征輸入GRU網絡提取時序聯系進行風電預測,并基于真實數據集驗證了所提模型的有效性; 文獻 [10] 分別采用循環神經網絡(RNN)、長短期記憶(LSTM)和GRU 3種模型對魚塘中的溶解氧含量進行了預測,結果表明GRU和LSTM的預測能力相近, 但GRU針對參數設置和模型訓練更簡便、快捷,總體上性能更優;文獻[11]利用生態浮標監測數據,分別建立了單隱層和雙隱層兩種不同隱層的人工神經網絡(ANN)模型對葉綠素a (Chl-a) 濃度進行了預測; 文獻[12] 基于雙層GRU神經網絡和飛蛾火焰優化(MFO) 算法提出了一種新型自動駕駛行為決策方法,實驗表明,該方法在汽車自動駕駛的行為決策方面比現有的方法準確性更高。
由于注水流量數據具有一定的周期性,且當前注水量受上一時刻注水量的影響,為了充分利用該特性,提高注水流量預測精度,筆者考慮采用GRU神經網絡模型進行注水流量預測。 但是以往采用GRU模型對水力發電站的水流、油田特高含水期產量、股票走勢及交通流量等的預測研究大多采用單一隱層的神經網絡結構,其擬合能力雖強,但對主要信息的特征提取能力較差。
因此,筆者利用國內某油田注水井的歷史注水數據,建立了單隱層和雙隱層兩種GRU模型對注水流量進行預測,通過對比兩種不同隱層的預測結果來證明深度學習在注水流量預測效果上更具優勢。
GRU神經網絡模型是在RNN模型的基礎上進行改進得到的。 作為一種強大的深度學習網絡,RNN與其他神經網絡有所不同, 它對前面的信息有一種獨特的“記憶”功能[13],同時,RNN之所以被稱為循環神經網絡,是因為在RNN的網絡結構(圖1)中,一個時間序列當前時刻的輸出值與前一時刻的輸出值具有相關性,網絡會記憶前一時刻的輸出信息并直接應用到當前時刻輸出的計算中, 即隱含層之間的節點是有連接的,且當前時刻隱含層的輸入不僅包括輸入層的輸出還包括上一時刻隱含層的輸出。

圖1 傳統RNN結構
GRU神經網絡和LSTM神經網絡都是在傳統RNN的基礎上改進得到的, 由于獨特的結構設計,常被用于處理與時序相關的重要事件。 LSTM單元結構中包含3個門結構,分別是輸入門、遺忘門和輸出門。 與LSTM不同,GRU模型單元結構更加簡單,只有2個門結構,分別是重置門rt和更新門zt(圖2)。 圖中,xt表示輸入,ht代表t時刻隱含層的輸出,ht-1代表t-1時刻隱含層的輸出, h~t表示候選隱含層信息。 由于結構簡單,算法運算的復雜程度也隨之降低,模型更容易訓練,且在預測表現上與LSTM模型效果相當,因此筆者選擇GRU網絡結構來構建注水流量預測模型。 當樣本信息輸入GRU模型時,根據設定的規則來判斷輸入樣本里哪些是有用的信息,哪些是沒用的信息,有用的信息留下,沒用的信息會被丟棄。 通過引入門結構,在一定程度上解決了RNN反向傳播過程中存在梯度消失或梯度爆炸的問題[14]。

圖2 GRU單元結構
首先通過更新門和重置門的計算來確定當前時刻的隱含層狀態和當前的記憶內容。 當前時刻的輸入xt和上一時刻隱含層輸出ht-1分別與權重矩陣W、U相乘,相加之后再利用sigmoid激活函數將結果壓縮在0~1之間。 如果zt趨于0,則說明上一時刻隱含層輸出將被遺棄,反之,若趨于1,則保留。 更新門和重置門的輸出為:

sigmoid函數為:

rt用來控制遺棄或保留上一時刻的記憶內容, 如果rt為0, 那么~只包含當前時刻的輸入信息:

tanh函數為:

zt決定需要從上一時刻的隱含層中遺棄多少信息,需要加入多少當前時刻的候選隱含層信息~,最后得到ht:

為了提高模型對輸入樣本信息主要特征的提取能力,提高模型預測的精度,擬對GRU神經網絡模型的隱含層結構進行改進,結合所研究的油田注水流量預測問題,給出改進后的GRU神經網絡結構(圖3)。 隱含層的設置是用來更好地處理層間關系, 使神經網絡具備學習訓練的功能,但過多的隱含層會直接導致神經網絡計算量增大、訓練時間變長等負面問題,甚至導致預測能力降低,發生過擬合現象[11,15]。 因此經過多次試驗,綜合模型的預測效果,采用了雙隱層的GRU結構,同時設置不同的神經元節點個數,對試驗結果進行對比。 輸入層代表采集到的注水歷史流量樣本輸入,輸入變量的個數設置為3個,即油壓p1、套壓p2和實際流量值Qt。在注水流量預測中,輸出層的輸出變量個數設置為1,即預測流量值Qp。

圖3 雙隱層GRU網絡結構示意圖
注水量主要受壓力、 溫度等多重因素的影響, 但由于同層井間溫度上下浮動變化不明顯,所以對預測結果造成的影響可以忽略不計,因此樣本數據主要采集了影響注水量的其他兩種因素,即油壓、套壓。 將國內某油田注水井的單層歷史注水數據作為樣本數據 (圖4) 進行處理和分析,該層井深1 036.3 m,選取時間段為2015年11月12日12時54分至2015年11月12日13時58分,數據采集間隔為5 s,共采集到樣本數據776組。

圖4 注水井某一時段單層歷史注水數據
為了降低模型仿真訓練的難度,提升網絡訓練的速度,同時為避免因輸入樣本數據過大導致的數值問題, 首先要對樣本數據進行預處理,由于樣本數據中不存在極端的最大值或最小值,因此采用歸一化處理,將數據縮放至[0,1]的范圍內。 歸一化公式為:

其中,x′為歸一化后的值;xmax、xmin分別表示歷史注水數據中的最大值和最小值。
所選取的數據集共包含776組樣本數據,試驗時將前676組數據作為訓練集,后100組數據作為測試集。 模型在注水流量上的預測結果,采用平均相對誤差(MRE)和均方誤差(MSE)進行評價,誤差越小,表明預測結果越準確,評價公式為:

其中,Qp表示預測流量值,Qt表示實際流量值。
在模型訓練過程中,合適的訓練方法和優化器的選擇對模型訓練的效果和預測的準確度也有很大的影響。 為了避免訓練樣本數據輸入過多導致模型訓練速度過慢, 甚至出現過擬合的現象,考慮采用小批量的訓練方法,批量大小設置為5, 即按照時序每批輸入5組樣本數據進行訓練。 對于優化器的選擇,為了能加快模型的收斂速度,選用了常見的Adam優化器,與其他優化算法有所不同,該優化算法不需將學習率設定為常數,算法在優化過程中會計算神經網絡每個參數的自適應學習率[16]。并采用Dropout方法來防止出現過擬合,丟棄率設為0.5。 每次試驗設置的迭代次數均為100次。 具體算法流程如圖5所示。

圖5 基于GRU網絡模型的預測算法流程
為了更直觀地進行對比驗證, 首先搭建了RNN、LSTM和GRU 3種預測模型分別對訓練集樣本數據進行訓練、測試集數據進行預測,并利用評價指標MSE對3種模型的評價結果進行評估(表1)。從表1中可以看出,LSTM和GRU兩種模型的預測誤差非常接近,均小于RNN。 且在圖6中,可以更加直觀地看出,LSTM和GRU兩種預測模型的擬合度更高, 且兩種模型的預測效果也基本吻合。但是,由于GRU在結構上進行了簡化,這使得它在模型訓練過程中消耗的時間更短,提高了試驗的整體效率。

表1 不同神經網絡模型預測效果對比

圖6 不同神經網絡模型測試集預測結果對比
在試驗過程中, 不同隱含層神經元節點數的設置會對模型的預測結果造成一定影響。 如果隱含層神經元節點數設置過少, 網絡對輸入信息主要特征的提取能力會相對減弱, 導致預測誤差偏大;如果節點設置過多,極易出現過擬合現象,造成模型最終泛化能力降低(表2)。 通過對兩種不同隱含層的神經元節點數進行反復試驗,單隱層GRU網絡結構為3-10-1時預測效果最好(即輸入層節點數設置為3個,隱含層節點數為10個,輸出層節點數為1個),測試集的平均相對誤差為0.050 4, 雙隱層GRU結構為3-6-6-1時預測效果最好, 測試集的平均相對誤差為0.024 5。

表2 GRU不同隱層和節點設置對測試結果的影響
利用預測效果最好的單隱層(3-10-1)和雙隱層 (3-6-6-1)GRU模型分別對訓練集和測試集樣本數據進行預測結果對比,結果如圖7所示。 結果表明, 無論是訓練集仿真值和實際值的對比,還是測試集預測值和實際值的對比,單隱層和雙隱層GRU模型都能夠較好地預測注水流量的變化趨勢。


圖7 不同隱層GRU模型訓練集仿真和測試集預測效果
單隱層GRU模型676組訓練集樣本仿真MSE為0.073,100組測試集樣本預測MSE為0.084;雙隱層GRU 模型676 組訓練集樣本仿真MSE 為0.038,100組測試集樣本預測MSE為0.055。
通過對兩種不同隱層GRU模型預測結果的對比發現:雙隱層GRU模型無論是對訓練集的仿真還是對測試集的預測效果都比單隱層GRU的效果更好。 雙隱層GRU模型訓練集仿真的MSE比單隱層下降了0.035 m3/d,測試集的MSE比單隱層下降了0.029 m3/d。這說明雙隱層結構GRU模型在對輸入信息主要特征提取方面的能力要優于單隱層結構GRU模型,因此也有效地證明了深層學習在實際應用中的優越性。
4.1 利用國內某油田注水井歷史注水數據作為樣本數據,采用RNN、LSTM、GRU 3種神經網絡對注水流量進行了預測,結果表明GRU神經網絡總體上具有更優的性能。
4.2 搭建了兩種不同隱層結構的GRU油田注水流量預測模型,通過對兩種不同隱層GRU模型預測結果的對比和分析得出:雙隱層結構較單隱層結構有更強的主要信息特征提取能力,預測精度也更高。
4.3 通過對歷史注水數據進行仿真和預測,表明了GRU神經網絡在油田注水流量預測方面的可行性和優越性。 在實際的油田注采中,基于深層GRU神經網絡的預測模型對油田注水流量進行預測有著很好的應用前景。