楊國鋒,戴家才,劉向君,2,陳猛,秦昊
(1.西南石油大學(xué)地球科學(xué)與技術(shù)學(xué)院, 四川 成都 610500;2.西南石油大學(xué)油藏地質(zhì)與開發(fā)工程重點(diǎn)實(shí)驗(yàn)室, 四川 成都 610500)
碳氧比測井儀器利用脈沖中子源發(fā)射能量為14 MeV的快中子,快中子與地層中的碳氧等元素原子核發(fā)生非彈性散射,利用伽馬探測器探測產(chǎn)生的次生伽馬射線,并記錄響應(yīng)能譜,根據(jù)測量能譜中碳氧元素能窗內(nèi)的計數(shù)率計算碳氧比值,結(jié)合相應(yīng)解釋圖版實(shí)現(xiàn)剩余油飽和度的評價[1-2]。
受放射性統(tǒng)計漲落以及儀器穩(wěn)定性的影響,儀器所測伽馬能譜中會存在噪音,影響計數(shù)率的統(tǒng)計[3],使計算得到的碳氧比值產(chǎn)生較大誤差。因此,在計算碳氧比之前需先對譜數(shù)據(jù)進(jìn)行濾波處理。
小波閾值算法是由Donoho于1994年提出的濾波算法[4],該算法利用小波變換來反映信號時域與頻域的局部特征。相對于常用的傅里葉變換頻率濾波方法,小波變換的多分辨率分析功能可以提取不同時間、不同尺度下的信號性質(zhì),因此對非平穩(wěn)信號具有更好的應(yīng)用效果[5]。對變換后的小波系數(shù)采用閾值處理可以有效壓制信號中的噪聲,提高信噪比[6]。該算法中最關(guān)鍵的問題是選取合適的閾值函數(shù),常用的閾值函數(shù)包括軟閾值函數(shù)與硬閾值函數(shù)2種[7],但這2種閾值函數(shù)均會使信號造成不同程度的失真。針對傳統(tǒng)小波閾值算法的不足,Vargas等[8]提出了一種具有雙閾值的閾值函數(shù)并對地震信號進(jìn)行了降噪處理。Zhang等[9]提出了一種滿足二階可導(dǎo)的閾值函數(shù)并運(yùn)用Stein無偏風(fēng)險估計自適應(yīng)的確定閾值。關(guān)新平等[10]將模糊理論引入到小波閾值算法中,提出了模糊小波閾值算法并用于圖像去噪。但是由于伽馬能譜中噪聲結(jié)構(gòu)復(fù)雜,采用單一的閾值函數(shù)始終無法得到最佳的降噪效果。
本文提出了一種具有可調(diào)參數(shù)的改進(jìn)閾值函數(shù),該函數(shù)采用不同的參數(shù)值可獲得不同的濾波處理效果,采用遺傳算法對函數(shù)中的參數(shù)進(jìn)行優(yōu)選,尋找使濾波效果達(dá)到最好的閾值函數(shù)參數(shù)值。為了使遺傳算法在參數(shù)優(yōu)化中有更好的尋優(yōu)能力,本文引入了反向?qū)W習(xí)策略對遺傳算法進(jìn)行改進(jìn),增強(qiáng)了算法的性能。通過對實(shí)測能譜進(jìn)行處理驗(yàn)證了所提算法的適用性。
對信號采用離散小波變換(DWT)可以將信號分解為不同尺度不同時間上的小波函數(shù)的線性組合。在整個小波變換過程中存在2個重要的函數(shù):母小波函數(shù)ψ(t)與父小波函數(shù)φ(t),兩者均滿足可積條件。利用父小波函數(shù)與母小波函數(shù)構(gòu)成的正交基可以構(gòu)建小波函數(shù)序列,將信號表示為式(1),實(shí)現(xiàn)信號的多分辨率分析
(1)
式中,第1項(xiàng)反映了信號的逼近信息,第2項(xiàng)反映了信號的細(xì)節(jié)信息。由于在小波域內(nèi),信號的能量主要集中于絕對值較大的小波系數(shù)中,而信號中的噪音由于能量較弱且具有較強(qiáng)的隨機(jī)性,主要集中于絕對值較小的小波系數(shù)中。因此,通過設(shè)置適當(dāng)?shù)拈撝祵⒔^對值小于閾值的小波系數(shù)置零,再將處理后的系數(shù)進(jìn)行重構(gòu)就可實(shí)現(xiàn)信號的去噪。
(2)
(3)
硬閾值函數(shù)未對大于閾值的小波系數(shù)進(jìn)行處理,和軟閾值相比具有更小的均方根誤差,即處理后信號和原始信號相比失真較小。但由于硬閾值函數(shù)本身存在間斷點(diǎn),濾波后信號會出現(xiàn)附加震蕩,出現(xiàn)偽吉布斯效應(yīng),影響最終的濾波效果。軟閾值函數(shù)在整個區(qū)間內(nèi)具有完整的連續(xù)性,重構(gòu)后的信號不會產(chǎn)生附加震蕩,但由于對大于閾值的小波系數(shù)進(jìn)行了處理,因此,重構(gòu)信號和原始信號相比會產(chǎn)生一定的偏差,影響到重構(gòu)信號和實(shí)際信號之間的逼近程度。
本文根據(jù)軟硬閾值函數(shù)的不足與優(yōu)勢,構(gòu)建了一種新的閾值函數(shù)
λt=
(4)
式中,引入了調(diào)節(jié)參數(shù)k,利用參數(shù)k可以實(shí)現(xiàn)軟閾值函數(shù)與硬閾值函數(shù)之間的過渡。當(dāng)k趨于0時,改進(jìn)閾值函數(shù)無限逼近硬閾值函數(shù);當(dāng)k趨于正無窮時改進(jìn)閾值函數(shù)無限逼近軟閾值函數(shù)。因此,可以通過選擇合適的調(diào)節(jié)參數(shù)使濾波效果達(dá)到最佳。改進(jìn)的閾值函數(shù)在整個區(qū)間上保持了完整的連續(xù)性,從而消除了偽吉布斯效應(yīng)。改進(jìn)閾值函數(shù)與軟硬閾值函數(shù)的圖像(見圖1),圖1中改進(jìn)閾值函數(shù)的調(diào)節(jié)參數(shù)k取值為0.1。
圖1 閾值函數(shù)對比圖像
反向?qū)W習(xí)策略(Opposition-based Learning,OBL)是由Tizhoosh于2005年提出的一種智能計算概念[12],前人研究已證實(shí)該策略在增強(qiáng)各類優(yōu)化算法性能上具有良好的應(yīng)用效果[13-14]。當(dāng)智能算法評價可行域內(nèi)個體x的適應(yīng)性時,同時評價該個體的反向個體可以為優(yōu)化算法提供更大的搜索范圍,此外反向個體往往比當(dāng)前解更接近最優(yōu)解,因此,算法的搜索效率也會提升。
(5)
式中,ai與bi為xi各維下的邊界值。但采用式(5)中固定的邊界值往往會跳出當(dāng)前已經(jīng)收斂的可行域,從而造成已學(xué)習(xí)信息的丟失,不利于最優(yōu)解搜索。因此,在反向?qū)W習(xí)中一般采用動態(tài)的邊界值[15]
(6)
式中,t表示迭代次數(shù),ai(t)與bi(t)分別為第t次迭代時各維下的邊界值
ai(t)=min[xi(t)]bi(t)=max[xi(t)]
(7)
遺傳算法是基于自然界遺傳機(jī)制以及生物進(jìn)化理論的一種群體智能算法[16]。經(jīng)典的遺傳算法已廣泛應(yīng)用于解決工程中的各類優(yōu)化問題[17]。但經(jīng)典遺傳算法存在收斂速度慢,易陷入局部最優(yōu)等局限性。為了增強(qiáng)遺傳算法的性能,使其可以更好地實(shí)現(xiàn)對小波閾值函數(shù)的優(yōu)化。本文將反向?qū)W習(xí)策略引入遺傳算法中,提出了反向遺傳算法(OBLGA),提高了算法適用性。OBLGA的主要操作包括4點(diǎn)。
(1)選擇操作。選擇操作是根據(jù)種群內(nèi)個體適應(yīng)性來確定被選擇的概率,每個個體被選擇的概率與其適應(yīng)性成正比,采用輪盤賭的方式對個體進(jìn)行選擇,種群中適應(yīng)性較優(yōu)的個體有更大的概率被選擇進(jìn)入下一代的迭代
(8)
式中,Pchoose(i)為個體i被選擇的概率;fi為個體i的適應(yīng)性;N為種群中個體數(shù)量。
(2)交叉操作。交叉操作從當(dāng)前代種群中隨機(jī)選擇2個個體,通過交換個體部分染色體片段來產(chǎn)生新的優(yōu)秀個體。本文設(shè)置進(jìn)行交叉操作的概率為0.4,本文算法中個體采用實(shí)數(shù)編碼的方式[18]
(9)
(3)變異操作。變異操作指從群體中選擇一個個體,之后選擇該個體染色體中的某一片段重新初始化。通過變異操作可以增加種群的多樣性,幫助算法跳出局部最優(yōu)。經(jīng)典遺傳算法所采用的變異概率為常值,然而固定的變異概率并不適合種群的進(jìn)化。在迭代初期由于種群多樣性較高,此時不應(yīng)具有較大的變異概率;在迭代后期由于多樣性喪失,此時應(yīng)該賦予種群一個較大的變異概率,來提高種群多樣性,幫助算法跳出局部最優(yōu)。本文構(gòu)造了如式(10)的變異概率函數(shù),實(shí)現(xiàn)了在迭代初期變異概率較小,隨著迭代次數(shù)的增加變異概率逐漸增大,且變異概率的增長速度逐漸變緩,有利于在后期提高種群的穩(wěn)定性
(10)
式中,t表示當(dāng)前迭代次數(shù);參數(shù)a和b為調(diào)節(jié)因子,本文取a=2,b=0.05。
動態(tài)的變異概率既有利于在初期保證種群的穩(wěn)定性,防止已學(xué)習(xí)的信息丟失,又有利于在后期提升種群的多樣性,提高搜索能力。
(4)反向?qū)W習(xí)操作。在經(jīng)典遺傳算法中引入反向?qū)W習(xí)操作,提高算法探索能力與搜索效率。采用式(6)計算種群的反向個體,并評價反向個體的適應(yīng)性,如果反向個體的適應(yīng)性優(yōu)于原個體則用反向個體替換原個體加入種群進(jìn)行下次迭代。但考慮到每次迭代均要評價種群個體的反向個體會給算法造成較大的計算開銷。本文引入了反向?qū)W習(xí)概率Popposite,僅當(dāng)本次迭代產(chǎn)生的隨機(jī)數(shù)小于Popposite時進(jìn)行反向?qū)W習(xí)操作,反向?qū)W習(xí)概率取值為0.5。
為了得到改進(jìn)閾值函數(shù)中參數(shù)k的最優(yōu)值,首先需要確定一個目標(biāo)函數(shù)來衡量濾波后信號的質(zhì)量,進(jìn)而可以通過上述改進(jìn)遺傳算法對參數(shù)k進(jìn)行尋優(yōu)。信號濾波后的效果有平滑度與相似度2個標(biāo)準(zhǔn)[19]。平滑度定義為濾波后數(shù)據(jù)與濾波前數(shù)據(jù)逐差的方差值比,其值越小說明濾波后信號越平滑。相似度可通過均方根誤差來衡量,其值越小濾波后信號相似度越高。平滑度S與均方根誤差RMSE根據(jù)式(11)、式(12)計算
(11)
(12)
式中,f(x)為濾波前各采樣點(diǎn)數(shù)據(jù);f′(x)為濾波后各采樣點(diǎn)數(shù)據(jù);n為采樣點(diǎn)數(shù)。
為使濾波效果兼顧平滑性與相似性,采用降噪后的平滑度S與歸一化均方根誤差R的加權(quán)平均值作為OBLGA的目標(biāo)函數(shù)
fitness=λS+(1-λ)R
(13)
式中,λ為目標(biāo)函數(shù)中平滑度的權(quán)重值,通過調(diào)節(jié)權(quán)重值可以實(shí)現(xiàn)不同的濾波效果。在伽馬能譜處理時,濾波效果并非越平滑越好,平滑度過高通常會使譜峰增寬,造成鄰峰重疊與弱峰丟失,不利于進(jìn)一步的能譜處理[20]。因此,能譜在降噪同時要盡可能減少濾波后數(shù)據(jù)與原始數(shù)據(jù)之間的誤差,保證兩者的相似性,減小數(shù)據(jù)的失真?;谝陨峡紤]本文取平滑度權(quán)重值為0.7,相似度權(quán)重值為0.3。
OBLGA優(yōu)化小波閾值算法的步驟:①讀入含噪信號f(x),設(shè)置OBLGA算法的主要參數(shù)包括:種群個數(shù),最大迭代次數(shù),交叉概率,變異因子等;設(shè)置小波基函數(shù)與分解層數(shù)。②對含噪信號f(x)進(jìn)行離散小波變換,得到小波系數(shù)。③根據(jù)初始k值采用改進(jìn)閾值函數(shù)對小波系數(shù)進(jìn)行閾值處理。④采用公式(13)評價各參數(shù)k的適應(yīng)性。⑤算法進(jìn)行選擇、交叉、變異操作以及計算個體的反向個體,并評價適應(yīng)性。循環(huán)迭代直至達(dá)到算法結(jié)束條件。
為驗(yàn)證優(yōu)化小波閾值算法的濾波效果,取某井不同深度點(diǎn)的實(shí)測譜線進(jìn)行濾波處理,并將結(jié)果與軟硬閾值函數(shù)的處理結(jié)果進(jìn)行對比,計算得到的平滑度,歸一化均方根誤差以及目標(biāo)函數(shù)適應(yīng)性如表1所示。由表1可以看出,優(yōu)化小波閾值算法的濾波處理結(jié)果在所有處理能譜中具有最小的均方根誤差。這說明優(yōu)化小波閾值算法的處理結(jié)果與原能譜數(shù)據(jù)最為接近,信號失真最小。
圖2 各閾值函數(shù)濾波效果對比
軟閾值函數(shù)處理數(shù)據(jù)中具有最佳平滑度的譜線占76.92%,說明軟閾值函數(shù)的處理效果和硬閾值與優(yōu)化閾值函數(shù)相比具有更好的平滑性。但軟閾值函數(shù)濾波后的能譜數(shù)據(jù)和硬閾值與優(yōu)化閾值函數(shù)的處理結(jié)果相比具有最大的均方根誤差,結(jié)合圖2濾波效果對比圖中低能區(qū)2個峰的處理效果可以發(fā)現(xiàn),
表1 3種閾值函數(shù)評價指標(biāo)對比
軟閾值函數(shù)處理后的能譜出現(xiàn)峰寬加大,峰高降低的現(xiàn)象,說明譜線出現(xiàn)了過度降噪,這會造成弱峰遺失或鄰峰重疊,不利于能譜進(jìn)一步的處理。而由譜線高能區(qū)的濾波圖像也可看出采用優(yōu)化閾值算法處理后的能譜其中的噪聲已得到了有效壓制。
為考察優(yōu)化小波閾值算法的實(shí)用效果,采用計算濾波處理后的信噪比
(13)
由于不含噪音的純凈能譜數(shù)據(jù)無法直接獲得,因此,采取累加能譜的方式降低統(tǒng)計漲落與噪音影響。選取巖性、物性、含油性變化較小的一小段井段,并將該井段內(nèi)多張能譜累加并歸一化,累加譜和單張能譜相比,噪聲占比低很多。本文選取以所選測點(diǎn)為中心的2 m井段內(nèi)共計20張能譜進(jìn)行累加并歸一化,并將累加后的能譜看作不含噪音的純凈譜,采用式(13)計算信噪比。
將優(yōu)化小波閾值算法計算的信噪比與硬閾值濾波法,軟閾值濾波法,以及傳統(tǒng)的滑動平均法與高斯法計算的信噪比進(jìn)行比較。結(jié)果如表2所示??梢钥闯霾捎脙?yōu)化小波閾值算法處理的具有最高信噪比的能譜占76.92%。這說明優(yōu)化小波閾值算法具有更好的實(shí)際應(yīng)用效果。
表2 5種濾波算法信噪比對比
圖3 GA與OBLGA迭代曲線
為了說明OBLGA算法在改進(jìn)閾值函數(shù)參數(shù)優(yōu)化中的尋優(yōu)效果。繪制了GA與OBLGA在參數(shù)尋優(yōu)中的迭代曲線(見圖3)。通過曲線對比可以看出OBLGA的收斂速度和GA相比提高了44.4%,并且收斂精度也優(yōu)于GA。這是由于反向?qū)W習(xí)策略的引入提高了種群在迭代過程中的搜素范圍,使種群個體可以更快地靠近最優(yōu)解,算法的收斂速度得到了增強(qiáng)。同時動態(tài)的變異概率也可幫助算法在迭代后期跳出局部最優(yōu)解,從而提高了算法的收斂精度。
(1)構(gòu)建了一種具有調(diào)節(jié)參數(shù)的閾值函數(shù),通過調(diào)節(jié)閾值函數(shù)中的參數(shù)可獲得不同的濾波效果,并實(shí)現(xiàn)了軟、硬閾值函數(shù)之間的過渡。
(2)為了選取閾值函數(shù)的最優(yōu)參數(shù),提出了反向?qū)W習(xí)遺傳算法(OBLGA),反向?qū)W習(xí)策略以及動態(tài)變異概率的引入使改進(jìn)算法和經(jīng)典遺傳算法相比收斂性與精度均得到提高。
(3)利用平滑度與歸一化均方根誤差的加權(quán)平均值來衡量濾波效果可防止出現(xiàn)過度降噪,由優(yōu)化小波閾值算法的處理結(jié)果可以看出,優(yōu)化小波閾值算法處理后的譜線在對噪聲有效壓制的基礎(chǔ)上,和原始數(shù)據(jù)相比具有更好的相似性,同時和傳統(tǒng)方法相比其結(jié)果具有更高的信噪比,有利于后期能譜的進(jìn)一步處理。