?

基于機器學習的區域工程地質分層思路與方法研究

2024-01-15 11:00王寒梅
上海國土資源 2023年4期
關鍵詞:靜力分層特征

劉 映 ,王寒梅

(上海市地質調查研究院, 上海 200072)

上海地質資料信息專業技術服務平臺通過地質資料匯交管理機制,構建起覆蓋全市的巖土工程勘察資料數據庫,并向社會提供基礎地質信息服務[1]。隨著社會經濟發展,城市規劃設計和建設對地質研究提出更高要求,要求更全面、更精細、更便捷的地質信息服務。

由于地下地質結構的不可見性及復雜性,區域地質研究除了需要開展野外調查工作外,還需要充分利用現有地質資料,準確刻畫區域內的地質特征。如何將機器學習方法引入到地質問題的研究中,已成為近來地學領域的研究熱點。區域地質分層是三維地質建模和可視化的基礎,在區域工程地質研究中,傳統的地質分層方法通常倚賴人工解釋和經驗判斷,必須進行大量的人工交互,需經過屢次的對比和修改,才能最終完成,而且存在諸如過程繁瑣、工作量巨大、受人為因素影響顯著等缺點。

近年來,隨著以機器學習為核心的人工智能技術迅猛發展,機器學習方法在自然語言處理(NLP)、計算機視覺(CV)等領域取得了突破性進展,在某些方面,它們的表現甚至已經超越了人類水平,這些技術的應用為地質學研究帶來了全新的可能性。通過將機器學習算法應用于地質數據,地學家們能夠識別潛在的地質模式,并提供更精確的地質預測。例如,利用機器學習方法進行地層類型序列模型和地層厚度序列模型構建,從而建立一個用于模擬地質地層序列的機器學習模型[2],利用深度神經網絡對地震相分類從而判斷巖層類型[3],利用隨機森林等機器學習方法對三維地質模型進行地層分類[4],都取得了一定的成果。

本文提出了基于機器學習的區域工程地質分層思路。首先依據上海市相關規范,構建區域分層模型,在此框架下對于靜力觸探數據,將地層分層問題轉換為序列到序列的地質體空間單元預測任務,對于取土孔數據,結合野外編錄,提取土樣的分層特征后,將地層分層問題轉換為地質屬性特征分類任務。本文主要創新是提出區域工程的整體分層的實現方法,并經過初步實驗,證明了方法的可行性,提出對靜力觸探數據的一維卷積處理以及基于多個土工試驗參數,計算土樣力學指標綜合值,從而有效增強數據特征,提升模型準確度。

1 技術路徑與方法

基于機器學習的區域工程地質分層方法,主要運用深度學習方法對靜力觸探試驗的原始數據進行地質分層的訓練和預測。這一方法能夠有效地從靜力觸探試驗數據中提取分層特征,從而在分層模型基礎上構建區域整體的地質分層框架,在這個框架中,區域內的靜力觸探試驗孔被視為網格節點。使用取土孔的土樣試驗數據以及鉆孔的地理坐標作為分類特征,并結合野外編錄的信息,通過采用分類算法,提取取土孔的分層特征,最終納入整體分層框架,這一綜合性的方法使得區域內的地質分層得以實現,技術路徑如圖1 所示。

圖1 基于機器學習的區域工程地質分層技術路徑Fig.1 Technical path of regional engineering geological layering

1.1 鉆孔數據處理

本文以原始鉆孔測試試驗數據為特征數據,以區域分層作為標簽,建立訓練和評估所用的訓練集、測試集和驗證集。首先建立區域標準分層作為標簽,其主要依據是上海市巖土工程勘察規范,并結合專家經驗而定。然后對每個單層進行編號,形成標簽編碼,并建立鉆孔數據與標簽的對應關系。最后對原始鉆孔數據進行優化處理,原始鉆孔數據主要包括靜力探觸探試驗數據和取土孔土工試驗成果數據,由于這兩類數據的具有不同的數據特征,因而需要分別處理。

(1)原始數據提取與標注

根據上海市工程建設規范“靜力觸探技術規程”,靜力探觸探試驗數據按10 cm 間距采集。本文將靜力觸探端承阻力(Ps)取整后作為特征數據,并建立與地層標簽數據的對應關系,如圖2 所示。

圖2 靜力觸探試驗數據地層標注Fig.2 Stratum annotation of static cone penetration test data

對于取土孔土樣試驗數據,依據上海市工程建設規范“巖土工程勘察規范”,提取土樣取樣深度、顏色、重要的物理力學指標以及取土孔地理坐標、孔口高程等,建立土樣數據與地層標簽數據的對應關系。

(2)數據清洗預處理

數據清洗預處理對提升數據質量起著至關重要的作用。數據清洗預處理主要指缺失值和異常值的處理以及數據標準化或歸一化。首先,對數據向量中各變量的重要性進行分類,剔除重要特征如鉆孔坐標、試驗深度、土樣分類指標等缺失的向量,剔除指標缺失率過高的向量,對于異常值或指標數值間存在沖突時,一般也予以剔除。其次,對數據進行標準化或歸一化處理,以降低變量間的度量的差異。

標準化計算公式為:

式中:Xs為標準化值,x為標量,μ為該變量樣本的均值,σ為該變量樣本的標準差。

歸一化計算公式為:

式中:xnor為歸一化值,x為變量,xmas、xmin分別為變量樣本的最大值、最小值。

(3)數據優化

優質數據可以顯著提升模型的性能和準確度,數據優化處理的方法有很多種,本文數據優化處理主要使用特征工程等方法。特征工程可實現進一步提取數據的特征,幫助模型從數據中捕獲基本模式。特征工程包括選擇對模型預測最有影響的特征,排除對模型貢獻不大的特征,以及創建新的特征,或者從現有特征中提取更有信息量的信息,以提升模型的效率和性能。

靜力觸探試驗數據屬于序列數據,具有前后鄰近數據相關性強的特點。本文對靜力觸探試驗數據向量進行一維卷積計算,如圖3 所示,通過改變卷積核大小多次計算提取,以獲取更多數據內部的模式和結構,最終將提取的特征與原始數據拼接,構成訓練數據的輸入向量。

圖3 靜探試驗數據向量卷積計算示意圖Fig.3 Schematic diagram of convolution calculation of CPT test data

取土孔土工試驗數據指標變量,除了包括取樣位置外,還包括土的物理力學性質指標。在物理性質指標部分,本文選用兩個指標作為特征,一是綜合塑性指數及顆分試驗,根據經驗公式,計算其土類定名綜合值用作特征。二是選取土樣含水量作為特征,對于缺失含水量數據的土樣,選擇適當方法進行插值補充。在力學性質指標部分,主要根據土的C、φ 值、壓縮系數、壓縮模型、密實度等力學指標,并參照含水量、液性指數等,根據經驗公式,計算土樣力學指標綜合值,并用作特征。土樣數據特征既包括地理坐標、深度等坐標度量,也包括含水量、綜合值等物理力學性質的度量,由于度量差異較大,在標準化或歸一化處理對學習效果不明顯時,可利用權重向量對數據進一步處理,以確保不同特征間權重相對均衡;也可根據鉆孔間距離的遠近,劃分訓練子集。

1.2 算法及模型選擇

機器學習模型的選擇主要取決于數據和任務類型。本文中靜力觸探試驗數據為連續序列數據,與相應地層存在序列到序列的對應關系,因此可以將靜力觸探試驗孔地層分層問題轉換為序列到序列的預測任務。對于取土孔,可以根據其土樣試驗數據,并依據業務規則確定土樣特征后,將其地層分層問題轉換為地質體單元屬性分類問題。

(1)靜力觸探試驗數據模型算法選擇

序列到序列(Sequence-to-Sequence, Seq2Seq)模型是一種深度學習模型,用于處理輸入和輸出都是可變長度序列的任務。2014 年以來,Seq2Seq 模型經歷了從基本RNN 到LSTM、GRU,再到編碼—解碼(Encoder-Decoder)結構、注意力機制等關鍵技術的演進,最終形成了一系列高效的模型架構,在自然語言處理領域取得了顯著的成就。2017 年,隨著Transformer 模型的提出,自注意力機制在Seq2Seq 任務中得到了廣泛應用。Transformer 的出現徹底改變了傳統的循環結構,通過并行計算顯著提升了模型的訓練速度,同時在機器翻譯、文本生成、語言理解等任務上取得了前所未有的性能。目前Seq2Seq 模型一般都基于編碼—解碼結構,它由稱為編碼器和解碼器的神經網絡組成的模型。編碼器讀取一個輸入序列并輸出到解碼器一組向量,而解碼器讀取該組向量以生成一個輸出序列。不同的Seq2Seq 模型其編碼器、解碼器結構的不同。

循環神經網絡(Recursive Neural Network, RNN),是NLP、語音識別等時間序列數據處理的基本網絡框架,如圖4 所示,可用于Seq2Seq 模型。圖4 中的 U、V、W分別為輸入層、輸出層及上次輸入的權重矩陣,輸入是原始數據序列“x1x2x3x4x5…”,通過中間的隱藏層s,最終通過計算得到輸出o。至于RNN 在訓練中很容易發生梯度爆炸和梯度消失等問題,本文應用中通過設置梯度閾值及合理的初始化權重值來解決。

圖4 RNN 及前向計算過程展開示意圖[5]Fig.4 A recurrent neural network and the unfolding in time of the computation involved in its forward computation

Transformer 則是另一種Seq2Seq 架構,其編碼器和解碼器結構如圖5 所示。在Transformer 模型中,輸入是一個二維的矩陣,矩陣的形狀可以表示為(N,D),其中N 是序列(sequence)的長度,即靜力觸探試驗的數據長度,而 D 是序列中每個數據向量的嵌入(embedding)維度。Transformer最核心的操作就是自注意力(self-attention)機制,由于靜力觸探試驗數據前后間存在較強的關聯性,即存在明顯分塊特征,自注意力機制其實就是輸入向量之間進行相互關注(attention)來學習到新特征,從而對輸入信息賦予不同的權重來聚合信息。然后利用多層感知機(MLP),對輸入序列進行線性變換,并通過非線性激活函數進行操作,每個層的輸出都會通過殘差連接和歸一化處理。Decoder 中的每個層除了自注意力計算外,還使用編碼器―解碼器注意力機制來關注編碼器中的信息,從而解碼器可根據編碼器的輸出,動態地選擇要關注的部分。

圖5 Transformer 的編碼—解碼器結構[6]Fig.5 Encoder - Decoder Structure in Transformer

其它模型如LSTM、GRU 等網絡,則是針對RNN 梯度消失問題,在RNN 網絡結構基礎上進行改進后的模型。本文選取基于序列到序列的RNN 和Transformer 模型,分別開展靜力觸探試驗孔分層實驗研究。

(2)取土孔數據模型算法選擇

取土孔分層問題則可看成地質體空間單元的屬性分類問題,選擇不同的分類器會影響建模的結果。Kotsiantis[7]等 在2007 年、Trevor Hastie 等[8]在2008 年對分類器算法從不同側面進行評估,Manuel Fernández-Delgado 等[9]在2014 年對17 大類179 個分類器進行分類評價。

基于上述研究,本文對常見的分類算法如決策樹方法、K 最近鄰算法(K-Nearest Neighbors,KNN)、貝葉斯分類、支持向量機(support vector machine,SVM)、隨機森林方法和神經網絡等進行比較,最終選取KNN 算法與樸素貝葉斯(Naive Bayesian Model,NBM)方法,開展對比實驗研究。KNN 是一種基于實例的學習方法,它不依賴于對數據的線性假設。它的工作原理是在訓練數據中找到與新樣本最相似的K 個鄰居,并將新樣本分配給占據多數的類別。在線性不可分的情況下,數據可能分布得非常復雜,沒有明顯的線性邊界可以將不同類別的樣本分開。KNN 可以適應這樣的數據分布,因為它是一種基于距離的方法,不受線性分割的限制。NBM 則結合先驗概率和后驗概率,避免了只使用先驗概率的主觀偏見,也避免了單獨使用樣本信息的過擬合現象。貝葉斯分類算法在數據集較大的情況下表現出較高的準確率,與KNN 一樣,NBM 算法本身也比較簡單。本文中的地層屬性分類是一個多分類問題,而且數據集規模不大,在此情況下,簡單的模型更容易訓練,往往會取得較好的性能。

1.3 模型訓練及評估

機器學習依賴于訓練數據集,根據學習策略從假設空間中挑選出最優模型。其中一個重要挑戰是確保模型不僅在訓練集上表現良好,還要在新樣本數據上有出色表現,這就是模型的泛化能力。除了高質量的訓練數據,掌握必要的模型訓練技巧也至關重要。通過改進訓練方法、參數調優,并合理劃分數據集進行訓練評估,我們能夠獲得具有最佳泛化性能的模型。

(1)模型訓練改進

在模型訓練時需要引進適當方法改進訓練過程,如對于深度學習,為提高訓練速度,可設置合理的初始化權重w 和偏置b;也可以使用Adam,Adagrad 等自適應優化算法,實現學習率的自適應調整,從而保證準確率的同時加快收斂速度等。對于過擬合問題,可利用正則化直接改變模型的架構來解決。深度學習模型訓練常用的正則化方法有L2 正則化和 Dropout 等。它們通過修改參數或權重的更新方式來確保模型不會過擬合。L2 正則化是在損失函數中添加L2 懲罰項,鼓勵更小的權重并防止模型過擬合,Dropout 則是在訓練過程中隨機禁用一部分神經元,防止對特定神經元的依賴,提高模型的魯棒性和泛化能力。

(2)超參數調優

超參數是指那些不會由算法自身學習得到的模型參數,它們需要在訓練之前進行手動設置,以控制模型的訓練過程和性能。超參數的選擇是模型成敗的一個關鍵步驟,因為不同的超參數組合可以導致不同的模型性能和收斂行為。一般通過實驗和經驗來選擇合適的超參數,也可以使用自動調參技術來搜索最佳的超參數組合。本文通過實驗和經驗來選擇合適的部分超參數,對另一部分超參數,則應用自動調參技術來搜索其最佳泛化性能的配置。

(3)模型評估

模型評估主要考察模型在新樣本數據上的表現能力。一般可將數據集劃分為訓練集、驗證集和測試集,訓練數據集用來訓練模型,驗證數據集用來判斷哪個參數下的模型表現最好,最后再用測試數據集進行評估模型性能和泛化能力。如果數據集比較小,可以采用交叉驗證的方法來評估模型了。交叉驗證指的是將數據集等分為k份(一般不超過10),然后用其中的k–1 份來訓練、驗證,剩下的1 份用來測試。每次都選取不同的1 份來測試,將這個過程重復k 次。最后可以采用混淆矩陣來評判模型表現,據此計算模型的準確率、精確度和召回率等。另外還需要考慮業務相關的指標,如計算分層Ps 值、分層各類土工試驗指標等,從而綜合評估模型的性能。

2 方法實驗及結果

本文在上述思路基礎上,選取上海某新城區域的工程地質鉆孔數據,開展區域工程地質分層實驗研究。在Windows 11 操作系統下,我們利用了Python 3.8 以及Scikit-learn 和PyTorch 等開源機器學習庫進行了實驗。訓練環境配置了一塊GeForce RTX 3070 顯卡(CUDA 版本11.6.99),以提升實驗效率。

2.1 數據集準備

研究區收集的靜力觸探試驗孔3410 個( 深度49.2 ~90.0 m),取土孔2803 個(深度49.2 ~100.0 m)。參照上海市工程建設規范“巖土工程勘察規范”,研究區內場地屬于屬濱海平原——湖沼相地貌類型,100 m 以淺分為25 個主要層次及亞層。

靜力觸探試驗數據在建立與土層標簽的對應關系后,采用特征工程對數據進行優化處理。采用一維卷積操作,卷積核分別設為[0.3, 0.4, 0.3]T、[0.1, 0.25, 0.4, 0.25, 0.1]T、[0.1, 0.12, 0.14, 0.14, 0.14.1,0.12,0.1]T,卷積計算完成后,與已有靜力觸探試驗數據進行拼接,形成訓練向量數據。

取土孔土樣試驗數據特征向量數據包括鉆孔坐標、取土深度(標高)、顏色、土性等。對顏色類別進行編碼,計算物理、力學特征的綜合值,最后提取土工試驗數據特征向量。

2.2 結果評估

本文采用RNN 和Transformer 兩種模型分別對靜力觸探試驗數據集進行訓練,訓練過程如圖6 所示。左圖是平均精確度曲線,該曲線表明在本文數據集下,RNN的表現更好,在Epoch 數為200 時,達到最高精確度,此后圍繞此數值穩定波動,右圖Loss 曲線則表明epoch取值150 ~200 最為合理。在精確度方面,Transformer表現比RNN 遜色,在Epoch 數為120 時,達到最高精確度,Loss 曲線表明epoch 取值100 左右最為合理。

圖6 序列到序列模型訓練過程比較Fig.6 Comparison of training process from sequence to sequence model

在算力條件允許的情況下,還可對上述模型的超參數進一步調優,提升模型表現和可使用性。

本文對取土孔土工試驗數據集,選取KNN 和樸素貝葉斯模型,進行分類實驗研究。KNN 模型的表現主要取決于K 值的大小,如圖7 所示。實驗將按8:2 比例將數據集分為訓練集和測試集,圖中左圖是KNN 在訓練集上的表現,右圖是在測試集上的表現,不同顏色曲線表示在不同批次訓練測試的結果,其中帶“x”的曲線為平均精確度曲線。結果顯示,KNN 模型的K 值一般可設為4 ~6,此時精確度達到峰值。

圖7 KNN 模型分類實驗結果Fig.7 Results of KNN model Classification Experiment

本文利用樸素Bayes 模型進行訓練和分類,實驗將按8:2 比例將數據集分為訓練集和測試集,總體精度達到0.78,稍優于KNN 模型。樸素Bayes 模型對缺失數據不太敏感,算法也比較簡單,分類準確度高,速度快,具有一定的推廣應用價值。

3 結語

本文針對區域工程地質研究中的分層問題,提出了一種基于機器學習的地質分層思路與方法。經過實驗證明,所提出的方法可行,具有一定的分類精度。由于機器學習具備端到端的特性,所提出的框架用戶友好性強,從而只需最少的人工干預,便能在短時間內實現分層功能。同時,交叉驗證方法顯示,這一成果具有推廣價值,因此在研究和實際應用中具有積極意義。

然而,考慮到該方法是機器學習在區域地質分層方面的初步應用,仍然需要在以下方面進行進一步的研究和改進:(1) 進一步開展數據特征提取方法研究,更好地捕捉數據中的關鍵信息,提高模型性能,增加數據的可解釋性。(2)研究多模態學習,使更多類型的地質勘探數據能加入到地層分類方法中,提高分類性能和泛化能力。(3)進一步開展各類機器學習方法在地質分層模型中適用性研究,研究超參數在分層模型構建中的地學意義。

猜你喜歡
靜力分層特征
基于有限元仿真電機軸的靜力及疲勞分析
帶孔懸臂梁靜力結構的有限元分析
基于ABAQUS的叉車轉向橋靜力分析
如何表達“特征”
一種沉降環可準確就位的分層沉降儀
不忠誠的四個特征
雨林的分層
有趣的分層
抓住特征巧觀察
靜力性拉伸對少兒短距離自由泳打腿急效研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合