李彥普(中國石油大港油田公司第一采油廠,天津 300280)
掌握油井產(chǎn)量變化規(guī)律是提高油田經(jīng)營管理水平的關(guān)鍵。由于油藏地質(zhì)、舉升工藝、作業(yè)措施、管理水平等的復(fù)雜性,影響油井產(chǎn)量的因素眾多[1]。目前常采用油藏工程方法或者油藏數(shù)值模擬方法預(yù)測產(chǎn)量,所用計算模型不能反映實際儲層滲流情況[2]。近年來,基于數(shù)據(jù)驅(qū)動的人工智能技術(shù)逐漸應(yīng)用于油氣行業(yè),它們不再依賴于物理模型,而是通過包含各種信息的生產(chǎn)數(shù)據(jù)進行前后信息關(guān)聯(lián)和預(yù)測,取得了較好的應(yīng)用效果[3-4]。
2020 年,劉巍等[5]考慮油井和周圍注水井的油藏靜態(tài)資料和開發(fā)動態(tài)參數(shù),建立了一種利用機器學(xué)習(xí)模型實現(xiàn)油井日產(chǎn)油量的快速預(yù)測方法。王洪亮等[6]在對32 個產(chǎn)量影響因素分析的基礎(chǔ)上采用長短期記憶神經(jīng)網(wǎng)絡(luò)模型進行產(chǎn)量預(yù)測,發(fā)現(xiàn)該方法的預(yù)測結(jié)果優(yōu)于傳統(tǒng)水驅(qū)曲線方法和全連接神經(jīng)網(wǎng)絡(luò)方法。2022 年,Ng等[7]利用元啟發(fā)式算法(MA) 和機器學(xué)習(xí)算法對Volve 油田生產(chǎn)數(shù)據(jù)進行產(chǎn)量預(yù)測研究,并對7 種數(shù)據(jù)驅(qū)動模型的預(yù)測性能進行了評價,發(fā)現(xiàn)長短期記憶神經(jīng)網(wǎng)絡(luò)在訓(xùn)練結(jié)果和預(yù)測準確性方面要優(yōu)于其他6 個模型。
本文以單井為研究對象,不考慮油井與油井之間的相互影響,建立基于長短期記憶神經(jīng)網(wǎng)絡(luò)的油井產(chǎn)量預(yù)測模型,實現(xiàn)簡便、快捷、準確的油井產(chǎn)量預(yù)測。
長短期記憶神經(jīng)網(wǎng)絡(luò)是一種改進的遞歸神經(jīng)網(wǎng)絡(luò),適合用于油田生產(chǎn)的長時時序預(yù)測。長短期記憶神經(jīng)網(wǎng)絡(luò)在遞歸神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上增加了輸入門、輸出門和遺忘門,其結(jié)構(gòu)如圖1 所示[3]。
在t 時刻,長短期記憶神經(jīng)網(wǎng)絡(luò)單元處理輸入狀態(tài)xt、短期隱藏狀態(tài)ht-1和長期隱藏狀態(tài)ct-1來生成輸出狀態(tài)yt。長期隱藏狀態(tài)ct-1包含t 時刻之前的時間步的相關(guān)信息,短期隱藏狀態(tài)ht-1包含上一個時間步的信息。

圖1 長短期記憶神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
遺忘門決定t 時刻ct-1被遺忘的部分,通過執(zhí)行ft和ct-1之間的數(shù)組元素相乘來實現(xiàn),當ct-1里的元素被0 相乘則全部遺忘,被1 相乘則全部保留;輸入門通過執(zhí)行g(shù)t和it之間的數(shù)組元素相乘來決定在長期隱藏狀態(tài)中g(shù)t被保存的部分;遺忘門信息(ftct-1)和輸入門信息(gtit)相結(jié)合得到時刻t 的長期隱藏狀態(tài)ct;輸出門處理新的長期隱藏狀態(tài)ct和輸出向量ot來生成新的短期隱藏狀態(tài)ht;輸入狀態(tài)xt和短期隱藏狀態(tài)ht-1通過全連接層FC 進行處理,其中g(shù)t、ft、it、ot分別為:

式(1)~(4)中:f 為非線性激活函數(shù),一般為tanh或ReLU;σ 為激活函數(shù),通常為Sigmoid;ft、it、ot由激活函數(shù)σ 決定,分別控制遺忘門、輸入門和輸出門,取值范圍在0 到1;gt為由非線性激活函數(shù)f 決定,與it一起控制輸入門的參數(shù),取值范圍為0 到1;Wxg、Wxf、Wxi、Wxo為處理輸入xt的權(quán)重矩陣;Whg、Whf、Whi、Who為處理短期隱藏狀態(tài)ht-1的權(quán)重矩陣;bg、bf、bi、bo為偏置項;權(quán)重矩陣和偏置項是狀態(tài)矩陣中每個元素的加權(quán)系數(shù),在神經(jīng)網(wǎng)絡(luò)自我學(xué)習(xí)過程中由程序自動調(diào)整。
本文以某油井生產(chǎn)數(shù)據(jù)為例,收集和整理該井自2019 年2 月27 日至2022 年1 月26 日的生產(chǎn)時間、沖程、沖次、套壓、氣油比、日產(chǎn)液、日產(chǎn)水數(shù)據(jù)并進行數(shù)據(jù)清洗,主要包括清除數(shù)據(jù)異常點、補全缺失數(shù)據(jù),保證整個生產(chǎn)時段內(nèi)數(shù)據(jù)的完整性和有效性。
為了提升長短期記憶神經(jīng)網(wǎng)絡(luò)模型計算精度,使得不同維度之間的特征在數(shù)值上有一定的可比性,同時為了提升長短期記憶神經(jīng)網(wǎng)絡(luò)模型的收斂速度,采取最大最小歸一化方法將數(shù)據(jù)映射到[0,1] 區(qū)間,計算公式如下:

式中:x 為某特征待歸一化的數(shù)據(jù);xmin為該特征的最小值;xmax為該特征的最大值。
2.3.1 特征向量構(gòu)造
假設(shè)Xt為第t 天產(chǎn)液量和產(chǎn)水量影響因素特征向量,每個特征向量包含生產(chǎn)時間、沖程、沖次、套壓、氣油比5 個特征,依次編號為Xt1~Xt5。
2.3.2 時間序列數(shù)據(jù)構(gòu)造
LSTM 網(wǎng)絡(luò)要求其輸入是特征向量的序列,而序列是由連續(xù)的M 個特征向量組成,M 為時間步長。本文構(gòu)造的輸入序列形式為{Xt-M+1, Xt-M+2, …, Xt}。第1 個序列為{X1, X2, …, XM},第2 個序列為{X2, X3,…, XM+1},以此類推。
2.3.3 樣本數(shù)據(jù)集構(gòu)造
樣本由輸入時間序列和輸出時間序列構(gòu)成,假設(shè)總生產(chǎn)時間為T,時間步長為M,Ytl為第t 天的日產(chǎn)液量,Ytw為第t 天的日產(chǎn)水量,輸入時間序列包括I1={X1, X2,…, XM}, I2={X2, X3,…, XM+1},…, In={Xn, Xn+1,…, XM+n-1};輸出時間序列包括O1={YlM+1, YwM+1}, O2={YlM+2, YwM+2},…, On={YlM+n, YwM+n},共組成n 個監(jiān)督學(xué)習(xí)樣本,n=T-M+1。
2.3.4 數(shù)據(jù)集劃分
對選取的生產(chǎn)數(shù)據(jù)按照8∶2 的比例劃分訓(xùn)練集和測試集,即2019 年2 月27 日至2021 年6 月27 日數(shù)據(jù)作為訓(xùn)練集,2021 年6 月28 日至2022 年1 月26 日數(shù)據(jù)作為測試集。
采用平均相對誤差、決定系數(shù)評價長短期記憶神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的好壞。平均相對誤差越小則模型訓(xùn)練的越好,決定系數(shù)是一個小于等于1 的正數(shù),決定系數(shù)越接近1 則模型訓(xùn)練的越好。
長短期記憶神經(jīng)網(wǎng)絡(luò)的邏輯是輸入前M 天生產(chǎn)時間、沖程、沖次、套壓、氣油比數(shù)據(jù),預(yù)測第M+1 天的日產(chǎn)液、日產(chǎn)水;接著按照一定步長移動這個M 天時間步,來預(yù)測下一個M+1 天的日產(chǎn)液、日產(chǎn)水,從而實現(xiàn)整個數(shù)據(jù)集的迭代計算。為了防止過度擬合,長短期記憶神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中添加忽略層,在每次訓(xùn)練時隨機忽略一些神經(jīng)元。通過網(wǎng)格搜索,得到長短期記憶神經(jīng)網(wǎng)絡(luò)模型最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)為:忽略層的比例為30%,時間步長3 天、批次大小256、第一層內(nèi)神經(jīng)元數(shù)目512、第二層內(nèi)神經(jīng)元數(shù)目256、訓(xùn)練次數(shù)=300。
在長短期記憶神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中,采用Adam 優(yōu)化器尋找模型的最優(yōu)解。Adam 優(yōu)化器是自適應(yīng)學(xué)習(xí)率優(yōu)化器的一種,可以讓學(xué)習(xí)率隨訓(xùn)練過程自動修改,有著收斂速度快、調(diào)優(yōu)容易等優(yōu)點。模型訓(xùn)練過程中選擇均方差作為損失函數(shù)。
模型訓(xùn)練過程中訓(xùn)練集和測試集的損失函數(shù)隨訓(xùn)練次數(shù)的變化如圖2 所示。可以看出,訓(xùn)練集和測試集的損失函數(shù)隨訓(xùn)練次數(shù)的增加逐漸減小并趨于穩(wěn)定,并且兩者非常接近,說明長短期記憶神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中沒有出現(xiàn)過擬合或欠擬合現(xiàn)象。訓(xùn)練集產(chǎn)液量和產(chǎn)水量擬合的決定系數(shù)分別為0.980 和0.987、平均相對誤差分別為1.36%和4.34%,說明模型具有較高精度。

圖2 訓(xùn)練集和測試集損失函數(shù)隨訓(xùn)練次數(shù)的變化
該井產(chǎn)液量和產(chǎn)水量預(yù)測結(jié)果如圖3 和圖4 所示,其決定系數(shù)分別為0.724 和0.780、平均相對誤差分別為0.64%和0.96%。部分日期的預(yù)測結(jié)果統(tǒng)計如表1 所示。預(yù)測結(jié)果準確掌握了該井產(chǎn)液量和產(chǎn)水量的變化趨勢。

圖3 測試集產(chǎn)液量預(yù)測結(jié)果

圖4 測試集產(chǎn)水量預(yù)測結(jié)果

表1 產(chǎn)液量和產(chǎn)水量預(yù)測值與實際值統(tǒng)計
本文考慮油井生產(chǎn)歷史數(shù)據(jù)的變化趨勢和前后關(guān)聯(lián)性,利用單井生產(chǎn)數(shù)據(jù)建立了一種基于LSTM 模型的油井產(chǎn)量方法。現(xiàn)場實例應(yīng)用表明,本文建立的長短期記憶神經(jīng)網(wǎng)絡(luò)模型具有良好的預(yù)測性能,產(chǎn)液量和產(chǎn)水量預(yù)測平均誤差分別為0.64%和0.96%,預(yù)測精度能滿足現(xiàn)場工程應(yīng)用要求。基于目前的研究成果,可以進一步將區(qū)塊中各口油井之間的相互影響引入長短期記憶神經(jīng)網(wǎng)絡(luò)模型中,以考慮油井之間的干擾影響;也可以將注水井引入長短期記憶神經(jīng)網(wǎng)絡(luò)模型中,以考慮注水對油井產(chǎn)量的影響。