秦 峰,閆正和,唐圣來,羅睿喬,龔 斌
(1.中海石油(中國)有限公司深圳分公司,廣東 深圳 518000;2.中國地質(zhì)大學(武漢)資源學院,湖北 武漢 430074)
數(shù)值模擬技術目前已是大型油氣藏開發(fā)決策常用的輔助分析手段之一[1-5],然而由于控制方程的非線性性質(zhì)和地質(zhì)描述的多尺度特性,油氣藏模型包含了復雜的滲流機理和巨量網(wǎng)格,當模型應用于優(yōu)化、不確定性量化和數(shù)據(jù)同化時可能需要運行數(shù)千次模擬計算[6-9],這樣模型的計算成本極高。應用基于深度學習的代理模型進行油氣藏模擬是油氣藏仿真研究的一個新方向[10-20],代理模型比高保真油氣藏模型的模擬運算速度大幅提升,因此計算成本更加低廉,在實際應用中可替代高保真油氣藏模型,實現(xiàn)大型復雜油氣藏開發(fā)方案的快速迭代。
目前國外對構建地下流體流動模擬的代理模型已進行了廣泛的研究,其中基于圖像處理網(wǎng)絡架構的代理模型發(fā)展較快,這些構建代理模型的方法已被應用于地質(zhì)參數(shù)化、不確定性量化和代理/降階建模等方面。CANCHUMUNI 等將基于圖像處理的網(wǎng)絡架構應用于地質(zhì)建模,使用變分自動編碼器(VAE,Variational Auto Encoder)將隨機化的低維隱藏變量生成新的地質(zhì)實現(xiàn)[21-22]。在流體流動模擬方面,WANG 等使用長短期記憶(LSTM,Long-Short Term Memory)循環(huán)神經(jīng)網(wǎng)絡模型來逼近由本征正交分解(POD,Proper-Orthogonal-Decomposition)方法所建立的流動動力學模型[23-24]。GONZALEZ 等用自編碼器(AE,Auto-Encoder)架構代替了POD 步驟進行低維表示[25]。TANG 等引入一種基于深度學習的代理模型R-U-Net[26],該模型同時包含了卷積和遞歸神經(jīng)網(wǎng)絡,在井控條件不變的情況下用于預測不同地質(zhì)模型的流量響應,在油氣藏輔助歷史擬合過程中應用較好。TEMIRCHEV 等構造了一個與降階模型相似的模型,用VAE 來表示低維的儲層狀態(tài)[27]。模型結(jié)合線性回歸、LSTM 或門控循環(huán)單元(GRU)進行了實際油藏動態(tài)模擬測試,但結(jié)果顯示在不考慮井控條件的情況下,模型結(jié)果的相對誤差在某些驗證方案中相對較大。上述模型只適用于油氣藏內(nèi)邊界條件不變的情況,即沒有考慮井控條件的變化,而實際油氣藏開采過程中井控條件一般都會隨時間發(fā)生變化,因此上述模型對油氣藏實際流動模擬問題適應性較差。研究前期許多模型都是端到端的純數(shù)據(jù)驅(qū)動方法,沒有考慮流體流動的基本控制方程。為了提高模型性能,最新進展中已有許多方法將物理約束納入到深度神經(jīng)網(wǎng)絡模型構建過程中。MO 等將VAE 模型擴展到處理多相流問題,并通過引入額外的物理約束進一步提高性能[28]。RAISSI 等提出了使用密集連接前饋神經(jīng)網(wǎng)絡的物理知識深度學習框架(被稱為物理信息神經(jīng)網(wǎng)絡或PINN)[29]。在PINN中,將與控制偏微分方程相關聯(lián)的殘差函數(shù)引入神經(jīng)網(wǎng)絡的損失函數(shù)中,并利用控制方程的殘差構建了用于不確定性量化的代理模型。
筆者采用嵌入式控制框架(E2C,Embed to Con?trol)模型構建流動控制方程的降階模型,并對模型架構進行了調(diào)整優(yōu)化,將編碼的卷積輸出結(jié)果加入到解碼的卷積輸入中,這樣解碼器可以獲得更多的油氣藏屬性空間信息;同時將油氣藏井控條件作為物理約束加入到模型中,因此該模型適用于油氣藏邊界條件可變的情況,更加符合油氣藏實際流動模擬狀態(tài)。
達西定律描述了在孔隙介質(zhì)中流體的宏觀流動方式,因此,采用基于達西定律的常規(guī)油氣水三相流動模型。從各組分的質(zhì)量守恒出發(fā),結(jié)合達西定律并忽略毛管壓力的影響,導出非混相油氣水流動的控制方程為:
其中:
(1)式中,?和K表示地質(zhì)特征,Sj和p為求解變量。一般采用有限體積方法對(1)式求解,并針對每個網(wǎng)格塊計算它們的解。在本次研究中,使用特雷西能源科技有限公司的油氣藏數(shù)值模擬器Cloud[30]來構建所有訓練數(shù)據(jù)。
WATTER 等提出了E2C 模型,在機器人規(guī)劃系統(tǒng)的背景下將直接感覺數(shù)據(jù)(圖像)和時變控制作為輸入來預測系統(tǒng)狀態(tài)的演化[31]。E2C 模型將VAE 模型和生成模型相結(jié)合,VAE 模型是將系統(tǒng)狀態(tài)投影到低維子空間的推理模型,生成模型是對預測結(jié)果進行重構生成的模型和線性轉(zhuǎn)化模型。后者基于時變控制輸入近似低維狀態(tài)的演化。借鑒E2C模型的設計思路,開發(fā)一個包含物理約束(井控條件)的嵌入式控制框架的降階模型,主要包括3個處理部分:將系統(tǒng)變量從高維空間投射到低維子空間(這里稱為隱藏空間)的編碼器、低維近似系統(tǒng)動力學的線性轉(zhuǎn)化模型、將解映射回高維(全階)空間的解碼器或生成模型。該模型與WATTER 所設計模型的區(qū)別在于對模型架構進行了調(diào)整優(yōu)化,將編碼的卷積輸出結(jié)果加入到解碼的卷積輸入中,這樣解碼器可以獲得更多的油氣藏屬性空間信息;同時將油氣藏井控條件作為物理約束加入到模型中,更適用于油氣藏實際流動模擬。
編碼器提供了全序狀態(tài)變量的低維表示。在訓練時編碼器可簡單地表示為:
E2C 模型中編碼器結(jié)構如圖1 所示。這里使用的編碼器網(wǎng)絡由3 個卷積塊、3 個殘差塊和1 個全連接層堆積組成。在訓練過程中,壓力和飽和度被輸入到編碼器網(wǎng)絡,隱藏狀態(tài)的特征矩陣zt被生成。
圖1 編碼器結(jié)構Fig.1 Structure of encoder
線性轉(zhuǎn)化模型根據(jù)給定的控制將隱藏變量從一個時間步發(fā)展到下一個時間步,用于描述模型由于外界作用而發(fā)生變化的過程,文中主要用于描述模型由于井控條件的變化導致壓力場、飽和度場的變化過程。線性轉(zhuǎn)化模型(圖2)由3 個轉(zhuǎn)化塊和2個全連接層組成。線性轉(zhuǎn)化模型遵循一個Densebatchnorm-ReLU 架構,這被認為是全連接網(wǎng)絡的標準處理步驟。該模型的輸入包括:隱藏狀態(tài)的特征矩陣zt、井控條件ut+1和預測的時間間隔Δt。模型輸出為下一時刻隱藏狀態(tài)的特征矩陣z?t+1。
圖2 線性轉(zhuǎn)化模型結(jié)構Fig.2 Structure of linear converter
解碼器的結(jié)構類似于編碼器,其結(jié)構如圖3 所示,具體可以表示為:
解碼器結(jié)構如圖3所示。將線性轉(zhuǎn)化模型的輸出zt+1與編碼器的卷積輸出Et結(jié)合作為解碼器的輸入,預測高維狀態(tài)的輸出,即油氣藏的壓力場及飽和度場。解碼器結(jié)構與編碼器結(jié)構類似,只是順序是顛倒的,由1 個全連接層、3 個殘差塊、4 個逆卷積塊和1個卷積層堆疊組成。密集層將一個低維的潛在向量轉(zhuǎn)換為特征映射的堆積,這些特征圖先通過殘差塊和逆卷積塊轉(zhuǎn)化得到多個特征圖,再通過卷積層將多個特征映射轉(zhuǎn)換為壓力和飽和度場作為最終輸出。
圖3 解碼器結(jié)構Fig.3 Structure of decoder
E2C模型的輸入數(shù)據(jù)為數(shù)值模擬算例中包含的壓力場、飽和度場及時序類型的井控條件數(shù)據(jù)。對輸入數(shù)據(jù)的預處理主要是對數(shù)據(jù)進行歸一化處理,可以提高學習過程和輸出質(zhì)量[32]。飽和度S∈[0,1]不需要歸一化,井控條件的壓力數(shù)據(jù)需要歸一化。標準壓力p0(包括網(wǎng)格壓力和井底流壓)的表達式為:
E2C模型的輸出數(shù)據(jù)為壓力場、飽和度場,為了便于實際應用,在計算出壓力場、飽和度場結(jié)果的基礎上,利用皮斯曼方程計算單井的產(chǎn)量。關于多少個訓練樣本可以使模型達到最佳訓練效果,即使模型達到精準度與訓練時間的平衡還沒有進一步的深入研究,文中使用了數(shù)值模擬結(jié)果的500 個算例作為訓練數(shù)據(jù),模型訓練后達到了預期效果。
對實際氣藏進行三維模擬以測試E2C 模型效果。番禺35-1氣田位于珠江口盆地流花區(qū)塊,區(qū)域上位于白云凹陷北坡,北部緊靠番禺低隆起。氣田所在海域水深約為195~202 m,整體為受巖性控制的層狀邊水砂巖氣藏。
利用特雷西能源科技有限公司的油氣藏數(shù)值模擬器Cloud 建立氣水模擬的算例,作為E2C 模型的訓練集。具體算例的網(wǎng)格模型(圖4)包含3 口生產(chǎn)井,其中2 口直井A2 和A3,一口水平井A1H,實際生產(chǎn)為衰竭式開發(fā)。網(wǎng)格塊的尺寸為50 m×50 m×0.5 m,總網(wǎng)格數(shù)為154×81×124 共1 546 776。模型滲透率的算術平均值為25.4 mD,孔隙度平均值為0.147。相對滲透率的表達式為:
圖4 番禺35-1氣田算例的網(wǎng)格模型Fig.4 Grid model of PY35-1 Gas Field case
(6)式和(7)式中,K0ro為1.0,K0rw為0.7,Sor為0.3,Swr為0.1,a為3.6,b為1.5。其他流體參數(shù)包括:ρg為0.738 kg/m3,ρw為1 000 kg/m3,μg為0.02 mPa·s,μw為0.91 mPa·s,毛管壓力的影響可以忽略。
模型采用了來自于研究區(qū)1 400 d 的實際生產(chǎn)數(shù)據(jù)。模擬時間間隔對于訓練和測試運行都是相同的。生產(chǎn)井采用變井底流壓控制,井底流壓數(shù)據(jù)按實際輸入。
通過對比E2C 模型與Cloud 模擬器模擬結(jié)果的差異及模擬用時,評價E2C 模型的實際應用效果。在相同的生產(chǎn)時間節(jié)點,對比E2C 模型與Cloud 模擬器模擬的產(chǎn)量曲線、飽和度場、壓力場,并定量分析其差異。
產(chǎn)量曲線對比 分析實際工區(qū)3口生產(chǎn)井的井底流壓曲線(圖5),其井底流壓為0~32 MPa,Cloud模擬器和E2C 模型在相同的井底流壓曲線即井控條件的約束下進行運算,E2C 模型在訓練階段的日產(chǎn)氣量曲線整體與Cloud 模擬器差別很小(圖5),日產(chǎn)氣量曲線的整體誤差絕對值為0~0.5 Sm3/d,日產(chǎn)水量曲線的整體誤差絕對值為0~1.2 Sm3/d,E2C 模型訓練效果理想。預測階段Cloud 模擬器和E2C 模型都在井底流壓為25 MPa 條件下定壓生產(chǎn),E2C 模型在預測階段誤差稍微增加,日產(chǎn)氣量曲線的整體誤差絕對值為0~0.95 Sm3/d,日產(chǎn)水量曲線的整體誤差絕對值為0~3.6 Sm3/d。由此可見,E2C 模型模擬的生產(chǎn)曲線較Cloud 模擬器差別不大,曲線形態(tài)與Cloud模擬器匹配較好。
圖5 番禺35-1氣田3口生產(chǎn)井的日產(chǎn)量曲線對比Fig.5 Comparison of daily production curves of three producing wells in PY35-1 Gas Field
飽和度場對比 以番禺35-1 氣田生產(chǎn)1 400 d的飽和度場(圖6)為例說明。由于Cloud 模擬器模擬結(jié)果(圖6a)和E2C 模型模擬結(jié)果(圖6b)從視覺上看是相似的,因此對兩者之間的差異進行了定量描述(圖6c),可以看出偏差基本為-0.05~0.01,平均相對誤差小于5%,飽和度場模擬效果較好。
圖6 番禺35-1氣田飽和度場對比及誤差分析Fig.6 Comparison of saturation fields of PY35-1 Gas Field and error analysis
壓力場對比 以番禺35-1 氣田生產(chǎn)1 400 d 的壓力場(圖7)為例說明。由于Cloud 模擬器模擬結(jié)果(圖7a)和E2C 模型模擬結(jié)果(圖7b)從視覺上看是相似的,對兩者之間的差異進行了定量描述(圖7c),E2C 模型局部位置的壓力場與Cloud 模擬器模擬的壓力場存在差異,且Cloud 模擬器計算的壓力場更加光滑連續(xù),分析原因主要是基于物理滲流過程的Cloud 模擬器可以再現(xiàn)滲流過程,基于數(shù)據(jù)驅(qū)動的E2C 模型對于某些滲流過程的細節(jié)特征難以提取與保留,這也是未來E2C 模型的改進方向。與Cloud模擬器模擬結(jié)果相比,E2C模型模擬的壓力場平均相對誤差為8%,效果較好。
圖7 番禺35-1氣田壓力場對比及誤差分析Fig.7 Comparison of pressure fields of PY35-1 Gas Field and error analysis
運行時間對比 在Intel Xeon ES-2670 雙CPU(24 核)的計算節(jié)點上,Cloud 模擬100 個測試算例,每個耗時60 s,運行用時共計6 000 s。在分配了8 GB 內(nèi)存的Tesla V100 GPU 節(jié)點上,使用E2C 模型可以在大約1.25 s 內(nèi)評估完100 個測試用例。這種條件下進行比較可以得到6 000/1.25=4 800倍的加速,但是這個比較沒有考慮GPU 和CPU 的差別。在相同的CPU(Intel Xeon ES-2670)條件下,E2C 模型的100 次測試算例運行時間大約需要16 s,這相當于6 000/16=375倍的加速,雖然比GPU的加速要小,但仍然非常可觀。
采用一種基于深度學習的嵌入式控制框架模型模擬油氣藏地下三維屬性場的變化,探索了深度學習模型在油氣藏模擬方面的應用。利用E2C 模型對實際氣藏進行三維模擬,評價了深度學習模型在真實三維氣藏條件下的性能和適用性。算例結(jié)果顯示:在準確度上,E2C模型可以很好地模擬氣藏在不同的井控條件下壓力場、飽和度場的變化,與Cloud 模擬器結(jié)果對比誤差較小;在時間性能上,E2C 模型模擬耗時是傳統(tǒng)方法的1/375。綜上所述,E2C模型在優(yōu)化和歷史擬合方面比傳統(tǒng)數(shù)值模擬方法更具潛力。
研究中實際應用的E2C 模型預測耗時不包括前期數(shù)值模擬模型準備、批量計算、代理模型訓練等耗時,如果綜合考慮全部耗時,E2C模型的時間優(yōu)勢仍然比較明顯:第一,前期模型的準備、批量計算、代理模型訓練等工作可以在機器空閑時進行,即線下進行;訓練好的模型由于具備極快的求解速度,可以在一些智能油藏的場景,比如生產(chǎn)方案實時優(yōu)化、實時決策等,無延遲完成,即線上完成。第二,通過相對有限的訓練算例得到的代理模型,具備在更廣泛參數(shù)空間采樣后快速求解的能力,因此在運用智能優(yōu)化算法(如粒子群算法)時,能夠避免成百上千優(yōu)化算例的直接求解,這部分時間的節(jié)省也非常顯著。模型泛化性方面,本次實際應用的E2C 模型主要針對具體的一個氣藏,目前的研究進展表明,代理模型的實際應用在現(xiàn)階段還不具備泛化性,需要針對具體的地質(zhì)模型和井位部署、在一定邊界的生產(chǎn)制度下完成替代訓練。目前正在探索具有泛化能力的網(wǎng)絡模型路線,但需要建立極其海量的訓練集(不同區(qū)塊、不同地質(zhì)模型的多個實現(xiàn),以及不同生產(chǎn)制度下的多個算例),經(jīng)過超大型的訓練方能完成。
符號解釋