劉廣勝,鄭 剛,鄧澤鯤,魏 韋,劉新福
(1.長(zhǎng)慶油田分公司 油氣工藝研究院,陜西 西安 710018; 2.低滲透油氣田勘探開(kāi)發(fā)國(guó)家工程實(shí)驗(yàn)室,陜西 西安 710018; 3.青島理工大學(xué) 機(jī)械與汽車工程學(xué)院,山東 青島 266520)
國(guó)內(nèi)外預(yù)測(cè)水合物形成壓力和溫度的方法可分為經(jīng)驗(yàn)法、圖解法、相平衡算法、熱力學(xué)模型以及智能算法5大類[1],經(jīng)驗(yàn)法受限于使用范圍且精度不高,圖解法精度低且難以編程實(shí)現(xiàn)[2],相平衡算法和熱力學(xué)模型由Vd W-P模型發(fā)展與補(bǔ)充,對(duì)含酸性氣體的天然氣水合物平衡條件預(yù)測(cè)誤差較大,且計(jì)算難度較大[3-4]。
殘差神經(jīng)網(wǎng)絡(luò)(ResNet)是一種改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型,引入殘差深度學(xué)習(xí)的概念,設(shè)置帶跳過(guò)連接線的殘差學(xué)習(xí)單元,并采用多個(gè)殘差學(xué)習(xí)單元首尾相連法加以構(gòu)建,跳過(guò)連接線可使輸入直接傳遞至輸出層,從而避免梯度消失、過(guò)擬合等問(wèn)題,提高網(wǎng)絡(luò)的訓(xùn)練效率和泛化能力。ResNet主要用于圖像分類、目標(biāo)檢測(cè)、語(yǔ)義分割等任務(wù)[3-4]。
目前很多學(xué)者利用支持向量機(jī)(SVM)與人工神經(jīng)網(wǎng)絡(luò)(ANN)等方法預(yù)測(cè)天然氣水合物生成條件,而較少使用殘差神經(jīng)網(wǎng)絡(luò)智能算法進(jìn)行預(yù)測(cè)。卞小強(qiáng)等[5]引入酸性混合氣體對(duì)CH4的影響,將交叉驗(yàn)證(CV)與支持向量機(jī)相結(jié)合的方法預(yù)測(cè)含H2S和CO2等酸性天然氣水合物生成條件,并運(yùn)用杠桿法提出一種檢測(cè)SVM模型異常點(diǎn)和適用范圍的方法。Mesbah等[6]針對(duì)SVM算法運(yùn)行速度慢和大規(guī)模二次規(guī)劃等問(wèn)題,采用最小二乘支持向量機(jī)法(LSSVM)預(yù)測(cè)H2S和CO2含量高的酸性天然氣水合物生成溫度。顧新建等[7]使用全連接神經(jīng)網(wǎng)絡(luò)(FCNN)預(yù)測(cè)天然氣水合物生成,彭遠(yuǎn)進(jìn)等[8]使用FCNN理論預(yù)測(cè)部分烴類氣體與含CO2等酸性氣體水合物生成。FCNN存在訓(xùn)練速度慢、結(jié)果易陷入局部最優(yōu)等缺點(diǎn),使得FCNN的預(yù)測(cè)精度極易受到影響;FCNN改進(jìn)過(guò)程中發(fā)現(xiàn),使用小波神經(jīng)網(wǎng)絡(luò)(WNN)的效果良好。陳哲等[9]提出將小波分析與神經(jīng)網(wǎng)絡(luò)相結(jié)合,唐永紅等[10]提出群體最大誤差比率代表機(jī)制,對(duì)WNN引入動(dòng)量項(xiàng)系數(shù)進(jìn)行改進(jìn),由此加速網(wǎng)絡(luò)的收斂速度。Park[11]在小波神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上耦合遺傳算法,來(lái)克服其陷入局部最優(yōu)的缺點(diǎn)。綜上所述,本文提出一種跳過(guò)連接卷積神經(jīng)網(wǎng)絡(luò)模型構(gòu)建水合物生成大數(shù)據(jù)集處理方法,推導(dǎo)殘差神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)算法、大數(shù)據(jù)集特征獲取與數(shù)據(jù)預(yù)處理算法、大數(shù)據(jù)集構(gòu)造與劃分算法及大數(shù)據(jù)集評(píng)價(jià)指標(biāo),構(gòu)建多元體系殘差神經(jīng)網(wǎng)絡(luò)模型,包括殘差神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練、殘差神經(jīng)網(wǎng)絡(luò)超參自動(dòng)調(diào)優(yōu)以及參數(shù)動(dòng)態(tài)微調(diào),并依據(jù)實(shí)例分析和試驗(yàn)結(jié)果準(zhǔn)確預(yù)測(cè)出高壓氣井多元體系天然氣水合物生成條件。
殘差神經(jīng)網(wǎng)絡(luò)(ResNet)采用多個(gè)殘差學(xué)習(xí)單元首尾相連法加以構(gòu)建[12-14],殘差深度學(xué)習(xí)方法見(jiàn)圖1。
圖1 ResNet神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)方法
圖中,x為殘差單元輸入,H(x)為殘差單元輸出,F(x)為殘差射函數(shù),表示學(xué)習(xí)到的殘差,H(x)=F(x,Wi)+x為恒等映射函數(shù),Wi為輸入經(jīng)過(guò)殘差塊中第i個(gè)卷積層時(shí)獲得的權(quán)重。
水合物生成模型需結(jié)合高壓氣井具體工況選擇具有代表性的特征,同時(shí)綜合考慮天然氣多組分混合比例、臨界壓力、臨界溫度、實(shí)際溫度、氣體流速、壓力波動(dòng)及高壓等因素的影響。由于獲取的數(shù)據(jù)集特征有限,氣體流速、壓力波動(dòng)及節(jié)流效應(yīng)等因素?zé)o法獲取,為此主要選取氣體組分、水合物生成壓力與生成溫度作為模型特征。
所選取的部分特征不宜直接使用,需要通過(guò)合理有效的轉(zhuǎn)化規(guī)則進(jìn)行處理。ResNet神經(jīng)網(wǎng)絡(luò)優(yōu)化與學(xué)習(xí)時(shí),數(shù)據(jù)需要進(jìn)行歸一化與標(biāo)準(zhǔn)化等預(yù)處理,從而使原始數(shù)據(jù)映射到指定范圍,并除去不同維度數(shù)據(jù)的量綱及其量綱單位。
最小與最大幅度歸一化適合數(shù)值較集中的數(shù)據(jù),即數(shù)據(jù)中不存在極端最大值和最小值,即
(1)
Z分?jǐn)?shù)標(biāo)準(zhǔn)化涉及距離度量、協(xié)方差計(jì)算的工況數(shù)據(jù),一般用于分類、聚類與主成分分析(PCA)算法。其算式為
(2)
式中:μ為數(shù)據(jù)均值;σ為數(shù)據(jù)標(biāo)準(zhǔn)差。
根據(jù)特征數(shù)據(jù)特點(diǎn),對(duì)大部分學(xué)習(xí)特征采用最小與最大幅度歸一化,具體的學(xué)習(xí)特征選取和轉(zhuǎn)化規(guī)則見(jiàn)表1。
表1 學(xué)習(xí)特征選取與轉(zhuǎn)化規(guī)則
依據(jù)ResNet神經(jīng)網(wǎng)絡(luò)多對(duì)一回歸方法,并結(jié)合混合氣體組分比例、臨界壓力、臨界溫度、實(shí)際壓力等預(yù)測(cè)水合物實(shí)際生成壓力和生成溫度。ResNet模型使用一維卷積層(Conv1d)并輸入二維張量(n,m),m為特征向量維度,n為樣本數(shù)量,M1~Mn分別為甲烷、乙烷、丙烷、正丁烷、異丁烷、二氧化碳、氮?dú)?、硫化氫及其混合組分以及臨界壓力和臨界溫度,Mn+1為氣體壓力。
綜合甲烷、乙烷、丙烷、正丁烷、異丁烷、二氧化碳、氮?dú)馀c硫化氫等水合物實(shí)驗(yàn)數(shù)據(jù)[15-17],結(jié)合大數(shù)據(jù)集構(gòu)造方法組裝樣本數(shù)據(jù)集,部分實(shí)驗(yàn)數(shù)據(jù)作為訓(xùn)練集,余下部分作為數(shù)據(jù)驗(yàn)證集。大數(shù)據(jù)集訓(xùn)練時(shí)使用k折交叉驗(yàn)證(k-Fold)的方式將部分訓(xùn)練集劃分為測(cè)試集。大數(shù)據(jù)集共收集1 900多個(gè)實(shí)驗(yàn)數(shù)據(jù),收集的所有數(shù)據(jù)被隨機(jī)打亂,并且劃分為15折進(jìn)行訓(xùn)練和測(cè)試。
水合物ResNet預(yù)測(cè)模型的損失函數(shù)可選擇均方誤差(SSE)、平均絕對(duì)誤差(MAE)、均方誤差(MSE)、均方根誤差(RMSE)以及均方對(duì)數(shù)根誤差(RMSLE)。SSE、MAE、RMSE效果類似,對(duì)預(yù)測(cè)值與真實(shí)值間的誤差懲罰一致,RMSLE對(duì)預(yù)測(cè)值小于真實(shí)值的誤差懲罰較大,且當(dāng)少量數(shù)據(jù)預(yù)測(cè)值與真實(shí)值相差較大時(shí),通過(guò)取對(duì)數(shù)的方式可減輕局部誤差對(duì)整體的影響。為此采用RMSLE作為訓(xùn)練的損失指標(biāo),選取MSE作為模型的精度指標(biāo),其計(jì)算式為
(3)
無(wú)論選擇何種指標(biāo)作為損失函數(shù),ResNet神經(jīng)網(wǎng)絡(luò)的最終優(yōu)化目標(biāo)均為最小損失。
隨機(jī)初始化ResNet 神經(jīng)網(wǎng)絡(luò)參數(shù),設(shè)置神經(jīng)殘差學(xué)習(xí)單元為1、訓(xùn)練循環(huán)次數(shù)為1 000、批量大小為32。使用訓(xùn)練集進(jìn)行模型訓(xùn)練且完成后驗(yàn)證模型,以預(yù)測(cè)乙烷水合物生成壓力和生成溫度為例。使用單個(gè)殘差學(xué)習(xí)單元時(shí),模型預(yù)測(cè)精度指標(biāo)MSE為0.053 28。
采用初始化的神經(jīng)網(wǎng)絡(luò)參數(shù),計(jì)算結(jié)果不一定符合預(yù)期要求,且ResNet神經(jīng)網(wǎng)絡(luò)的超參數(shù)量巨大,取值范圍寬泛。為此采用手動(dòng)設(shè)定超參取值范圍,程序框架自動(dòng)搜尋最優(yōu)解的方法建立ResNet模型,通過(guò)增加網(wǎng)絡(luò)層數(shù)的方法來(lái)過(guò)擬合模型,同時(shí)關(guān)注訓(xùn)練損失和驗(yàn)證損失的變化,尋找驗(yàn)證數(shù)據(jù)集上性能降低的初始位置,確定超參數(shù)范圍。
超參數(shù)的選擇會(huì)影響ResNet模型的訓(xùn)練效果和速度,ResNet模型超參自動(dòng)調(diào)優(yōu)常用的搜索策略包括網(wǎng)格搜索、隨機(jī)搜索、貝葉斯優(yōu)化等[4]。ResNet模型發(fā)生過(guò)擬合通常由模型過(guò)于復(fù)雜或訓(xùn)練數(shù)據(jù)過(guò)少造成的,緩解或避免過(guò)擬合的方法主要包括正則化、隨機(jī)丟棄、提前終止等[5]。
以ResNet模型的學(xué)習(xí)單元個(gè)數(shù)為例,使用Nakamura等[18-20]的實(shí)驗(yàn)數(shù)據(jù),預(yù)測(cè)274.25~285.78 K的I型CH4水合物,結(jié)果見(jiàn)圖2和圖3。
圖2 CH4水合物生成壓力和溫度預(yù)測(cè)值與實(shí)驗(yàn)值對(duì)比
圖3 CH4水合物生成的預(yù)測(cè)精度
ResNet預(yù)測(cè)模型的殘差塊為2個(gè)時(shí),ResNet模型預(yù)測(cè)精度指標(biāo)MSE為0.044 89;ResNet模型的殘差塊為5個(gè)時(shí),精度指標(biāo)MSE為0.008 09;ResNet模型的殘差塊達(dá)到6個(gè)并繼續(xù)增加時(shí),ResNet模型發(fā)生過(guò)擬合,預(yù)測(cè)精度指標(biāo)MSE升高,預(yù)測(cè)結(jié)果與實(shí)際值偏差變大。因此合理的ResNet模型殘差塊數(shù)量應(yīng)設(shè)為4~5。
自動(dòng)調(diào)優(yōu)的參數(shù)包括全連接層網(wǎng)絡(luò)層數(shù)、全連接層神經(jīng)元個(gè)數(shù)、訓(xùn)練循環(huán)次數(shù)、批量大小等,設(shè)置每個(gè)參數(shù)的步長(zhǎng),并使用網(wǎng)格搜索的方式確定最優(yōu)參數(shù)組合。ResNet 神經(jīng)網(wǎng)絡(luò)各參數(shù)及其取值見(jiàn)表2。
表2 殘差神經(jīng)網(wǎng)絡(luò)模型參數(shù)設(shè)置
表2中ResNet學(xué)習(xí)單元的參數(shù)分別表示其前后兩個(gè)卷積層的參數(shù),如殘差塊1 中參數(shù)(1,3,2,16)表示第一個(gè)卷積層卷積核大小為1×3、步長(zhǎng)為2、通道數(shù)為16,參數(shù)(1,3,1,32)表示第二個(gè)卷積層卷積核大小為1×3、步長(zhǎng)為1、通道數(shù)為32。因?yàn)闅埐顚W(xué)習(xí)單元2第一個(gè)卷積層的步長(zhǎng)為2,會(huì)將輸入數(shù)據(jù)長(zhǎng)度減少一半,而使輸入與輸出大小不匹配,需在殘差學(xué)習(xí)單元2中跳過(guò)連接部分添加步長(zhǎng)為2的1×1卷積核處理,保證該殘差學(xué)習(xí)單元的輸入與輸出維度匹配,同理需在殘差學(xué)習(xí)單元4與殘差學(xué)習(xí)單元5跳躍連接線部分加入步長(zhǎng)為2的1×1卷積核進(jìn)行處理。卷積核的實(shí)現(xiàn)方法為
(4)
式中:yi,j為輸出數(shù)據(jù)第i行和第j列的輸出元素;C為卷積核通道數(shù);xi,j+k為輸入數(shù)據(jù)第i行和第j+k列的輸入元素;wk為卷積核第k個(gè)權(quán)重。
為提高ResNet網(wǎng)絡(luò)的擾動(dòng)能力并保持良好的魯棒性,在訓(xùn)練時(shí)加入正則化防止極端權(quán)重的產(chǎn)生和隨機(jī)丟棄,避免模型過(guò)于依賴局部特征,建立帶有不同隨機(jī)丟棄系數(shù)與正則化系數(shù)L2的網(wǎng)絡(luò),并使其初始化、優(yōu)化器類型、學(xué)習(xí)率以及訓(xùn)練的步數(shù)一致,預(yù)防無(wú)關(guān)變量對(duì)模型訓(xùn)練效果和該系數(shù)的影響,最終比較模型在測(cè)試集上的損失。使用Nakamura[18]的實(shí)驗(yàn)數(shù)據(jù),得出正則化與隨機(jī)丟棄對(duì)均方誤差(MSE)的影響,見(jiàn)表3。
表3 正則化與隨機(jī)丟棄對(duì)ResNet模型結(jié)果的影響
正則化與隨機(jī)丟棄對(duì)MSE、隨機(jī)丟棄系數(shù)和L2的影響見(jiàn)圖4。ResNet模型MSE隨著隨機(jī)丟棄系數(shù)的增大先降低而后逐漸提高,增大隨機(jī)丟棄系數(shù)可減輕ResNet模型的過(guò)擬合,而隨機(jī)丟棄系數(shù)過(guò)大則會(huì)導(dǎo)致網(wǎng)絡(luò)訓(xùn)練困難,反而降低ResNet模型的預(yù)測(cè)效果;正則化系數(shù)L2的變化趨勢(shì)與隨機(jī)丟棄系數(shù)類似,適度選取L2系數(shù)可減少ResNet模型的過(guò)擬合,但L2系數(shù)過(guò)大可能會(huì)導(dǎo)致ResNet模型欠擬合,影響預(yù)測(cè)效果。依據(jù)表3的結(jié)果數(shù)據(jù),最佳ResNet網(wǎng)絡(luò)參數(shù)為L(zhǎng)2系數(shù)取0.2,隨機(jī)丟棄系數(shù)取0.4。
圖4 正則化與隨機(jī)丟棄對(duì)ResNet模型MSE的影響
采用優(yōu)化算法更新ResNet網(wǎng)絡(luò)訓(xùn)練參數(shù),初始值設(shè)為0.001,衰減率為0.9,每迭代500次進(jìn)行衰減,L2系數(shù)為0.4,隨機(jī)丟棄系數(shù)為0.2,訓(xùn)練策略為提前終止以獲得更好效果[21-23]。ResNet神經(jīng)網(wǎng)絡(luò)采用5個(gè)殘差學(xué)習(xí)單元,批量大小為64,訓(xùn)練循環(huán)次數(shù)為3 000,并依據(jù)分布式技術(shù)將每組參數(shù)生成對(duì)應(yīng)的模型文件和預(yù)測(cè)結(jié)果進(jìn)行存儲(chǔ)。
選取長(zhǎng)慶油田高壓氣井單組分、二元以及多組分天然氣水合物井場(chǎng)試驗(yàn)測(cè)試數(shù)據(jù),對(duì)比分析ResNet、WNN和FCNN等不同神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)天然氣水合物生成條件的準(zhǔn)確性。ResNet、WNN和FCNN 3種模型的預(yù)測(cè)結(jié)果與甲烷水合物相平衡試驗(yàn)結(jié)果[14,19]的對(duì)比情況見(jiàn)圖5。
圖5 不同網(wǎng)絡(luò)法甲烷水合物生成預(yù)測(cè)值與實(shí)際值對(duì)比
ResNet模型與WNN模型和FCNN模型的預(yù)測(cè)結(jié)果趨勢(shì)一致, 均有較高的精度。依據(jù)計(jì)算誤差統(tǒng)計(jì)曲線, 3種模型中ResNet模型的計(jì)算誤差最小, WNN模型次之, FCNN模型最大。模型預(yù)測(cè)精度指標(biāo)MSE更加明顯體現(xiàn)3種模型預(yù)測(cè)結(jié)果的差別, 對(duì)于CH4水合物預(yù)測(cè),ResNet模型的MSE為0.005 72,WNN模型的MSE為0.015 22,FCNN模型的MSE為0.034 52,由此推知ResNet模型預(yù)測(cè)甲烷水合物的準(zhǔn)確度較高。
ResNet、WNN和FCNN 3種模型預(yù)測(cè)單組分體系水合物生成結(jié)果見(jiàn)圖6。
圖6 不同網(wǎng)絡(luò)法單組分水合物生成預(yù)測(cè)值與實(shí)際值對(duì)比
ResNet、WNN和FCNN 3種模型對(duì)于單組分天然氣水合物預(yù)測(cè)均有較高的精度,其MSE均小于0.7,且正丁烷與二氧化碳的預(yù)測(cè)精度較低,這與正丁烷水合物的數(shù)據(jù)量少和數(shù)據(jù)稀疏有關(guān)。橫向?qū)Ρ?種模型預(yù)測(cè)結(jié)果,ResNet模型的MSE最小,WNN模型的MSE次之,FCNN模型的MSE最大,由此推知3種模型均能有效預(yù)測(cè)純組分的水合物生成條件,且ResNet模型預(yù)測(cè)單組分體系水合物的準(zhǔn)確度最高。
水合物類型為I型和所在相為L(zhǎng)w-H-V以及不含抑制劑與促進(jìn)劑和溫度范圍283.2~301.2 K工況,ResNet、WNN和FCNN等不同神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)二元體系水合物形成條件,水合物相平衡預(yù)測(cè)結(jié)果與試驗(yàn)結(jié)果[16,20]對(duì)比情況見(jiàn)圖7。
圖7 不同網(wǎng)絡(luò)法二元體系水合物生成預(yù)測(cè)值與實(shí)際值對(duì)比
二元體系水合物生成壓力為3.97~62.23 MPa,ResNet模型預(yù)測(cè)的水合物生成條件值與實(shí)測(cè)值間的MSE最小,WNN模型和FCNN模型的平均相對(duì)誤差均大于1%,表明ResNet模型預(yù)測(cè)二元體系水合物的準(zhǔn)確度最高。
(1)綜合天然氣多組分混合比例、臨界壓力、臨界溫度、實(shí)際溫度及高壓等因素的影響,提出跳過(guò)連接的卷積神經(jīng)網(wǎng)絡(luò)模型,利用殘差神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)算法,可有效提高天然氣水合物生成條件的預(yù)測(cè)精度和效率。
(2)基于大數(shù)據(jù)集訓(xùn)練以及參數(shù)自動(dòng)調(diào)優(yōu)和動(dòng)態(tài)微調(diào)構(gòu)建ResNet神經(jīng)網(wǎng)絡(luò)模型,僅需將預(yù)先整理的水合物生成數(shù)據(jù)在模型中學(xué)習(xí),即可準(zhǔn)確預(yù)測(cè)出高壓氣井多元體系水合物生成條件,且ResNet神經(jīng)網(wǎng)絡(luò)保持良好的魯棒性。
(3)11種單組分體系以及二元和多組分體系水合物相平衡預(yù)測(cè)結(jié)果和井場(chǎng)試驗(yàn)結(jié)果對(duì)比分析表明,預(yù)測(cè)均方誤差由WNN模型的0.006~3.417和FCNN模型的0.008~3.722降至ResNet模型的0.001~1.020,ResNet模型的預(yù)測(cè)效果較優(yōu)且吻合程度較高。