胡安峰,李唐,陳緣,葛紅斌,李怡君
(1.浙江大學 濱海和城市巖土工程研究中心,浙江 杭州 310058;2.浙江大學 平衡建筑研究中心,浙江 杭州 310058;3.浙江大學 建筑設計研究院有限公司,浙江 杭州 310058;4.廈門翔業集團有限公司,福建 廈門 361012)
作為巖土工程的經典問題,預測地基的沉降過程是尚未完全解決的難題.傳統預測沉降的方法一般有三種:一是利用沉降的理論計算法,如各類分層總和法與固結理論[1-4],但由于難以獲取原狀土參數以及施工現場的復雜性,計算出的結果往往和實際有一定差距.二是有限元建模等數值方法[5-9],除上述原狀土體參數問題外,有限元法還存在模型參數選取偏經驗化,迭代過程復雜耗時,易出現奇異點等多種問題,計算出的結果和實測值相比也不夠準確.與上述兩種方法相比,第三種的曲線擬合法通過實測數據來推算沉降量與時間的對應關系,能更真實地反映地基的沉降規律[10].應用廣泛的有指數曲線法[11]、雙曲線法[12]、泊松法[13]和Asaoka 法[14]等.曲線擬合法是通過在實測曲線上采點來擬合曲線,從而預測后續的沉降.為保證后續沉降預測順利進行,實測數據的準確度就變得至關重要.但在實際工程中,現場實測沉降數據常常存在諸多問題.
對于在建的大型地基處理項目,測點通常在千位數量級,由于人工誤差、儀器誤差等影響,一般很難保證所有測點數據都準確無誤.為避免異常數據對后續沉降預測的干擾,在使用曲線擬合法或其他預測方法之前,存在對實測沉降數據進行遴選及預處理的需求.
深度學習是近年來進行數據處理的高效方法,在沉降預測等巖土領域中的應用也較多[15-24],但迄今為止,尚無文獻研究過使用深度學習對沉降數據進行預處理.本文結合以上研究,提出了一種利用深度學習作為沉降數據預處理的新方法.由于深度學習是通過搭建神經網絡來觀察數據并發現其內在關聯,因此對于數據的處理能力要明顯優于其他方法[25-27].其中,長短期記憶網絡LSTM[28-31]尤其擅長處理時間序列,這種帶有記憶功能的神經網絡,能自動地觀察符合沉降發展規律的測點數據,學習良好的實測曲線具有的模式,然后將學到的映射關系應用到問題測點來重新計算全過程沉降值.
由于深度學習一般由多個處理層來組成計算模型,可學習具有多個抽象級別的數據表示[25],在經過若干處理層的轉換之后,模型可以學到非精細的模式和特征[26].因此,本文基于深度學習中的長短期記憶網絡LSTM,通過搭建Seq2Seq 模型[32-33],提出了對實測沉降數據進行預處理的新方法.在對比模型重新計算的全過程沉降值與對應的實測值后,驗證了該數據預處理方法的可行性.最后,還對Seq2Seq 模型的超參數與數據情況等主要影響因素進行分析,探討了模型的具體應用方法.
如圖1 所示,深度學習處理問題的出發點與傳統思維完全不同.傳統思維方法會事先建立從輸入到輸出的映射規則,而深度學習則首先通過輸入與已知的輸出標簽來反向求解出這種映射關系,再對新的輸入數據應用訓練得到的模型來計算輸出.

圖1 深度學習的范式Fig.1 The paradigm of deep learning
對于沉降計算問題,根據沉降計算理論,不論是式(1)的普通分層總和法還是式(2)的建筑地基基礎規范修正式,關鍵都在于經驗系數簇α 的選取.

又對于式(3)太沙基一維固結理論,將其簡化為式(4).若考慮非線性固結,則如式(5)(6)所示[34],按應力和應變定義的固結度存在差異.式(4)(5)(6)的重點在于函數簇f 的選取.因此,沉降計算在統計方法上可以看作對α 和f 分布的選取.

深度學習可通過多個處理層組成的神經網絡模型,來學習沉降數據的發展規律,經過多個處理層的轉換之后,理論上模型可以組合出任意函數分布[15].應用在沉降計算過程中時,網絡參數會根據實測數據的輸入(即土體參數)和答案(即實測沉降值),不斷調整自身參數值,優化出最符合此現場沉降發展規律的α 和f 函數簇的分布.并且深度學習優化出的α 和f 可以隨時間變化,表現出高度非線性,這也符合在不同沉降發展階段,α 和f 應取不同值的理論依據.因而,深度學習契合沉降計算的要求.
深度學習最大的優勢在于,除了經驗系數α 和f的選取完全來自于對數據模式的高效識別外,還在最初就考慮了各種不可控噪聲對沉降的影響.在數據量大的條件下,深度學習模型由于具有記憶和遺忘功能以及強大的學習能力,可以通過對多個良好測點沉降模式的學習來識別這些噪聲,從而在異常數據處理時,除了經驗系數之外還能考慮到噪聲的影響.其中,處理沉降發展曲線這種時間序列尤其適合LSTM.
傳統深度神經網絡雖然能對數據進行逐層的特征提取,但無法考慮時間順序,沒有辦法對時間序列進行有效的處理.循環神經網絡RNN 正是為克服這個缺點而誕生的,也即RNN 擁有一定的記憶功能.具體的表現形式為循環神經網絡會對前面的信息進行記憶并應用于當前輸出的計算中,隱藏層之間的節點不再是無連接而是有連接的,并且隱藏層的輸入不僅包括輸入層的輸出,還包括上一時刻隱藏層的輸出.
長短期記憶網絡LSTM 是循環神經網絡的主流實現,是一類用于處理時間序列的神經網絡,其神經元內部結構如圖2 所示.在t 時刻,網絡的輸入有3個:當前時刻的輸入值xt,上一時刻LSTM 的輸出值ht-1,上一時刻的記憶單元ct-1;輸出有2 個:當前時刻的輸出值ht,當前時刻的記憶單元ct.

圖2 長短期記憶網絡神經元內部結構Fig.2 Internal structure of LSTM neuron
LSTM 的關鍵在于如何控制記憶單元c,為此,LSTM 設計了3 個開關,即門控單元:輸入門、遺忘門和輸出門.
1)輸入與門控單元.
輸入:

輸入門:

遺忘門:

輸出門:

其中,σ 為sigmoid 函數.
2)記憶狀態單元的更新.

3)輸出.

LSTM 用遺忘門決定上一時刻的記憶單元ct-1有多少保留到當前時刻ct,用輸入門決定當前網絡的輸入xt有多少保留到當前時刻ct,用輸出門控制當前記憶單元ct有多少輸出到當前ht.
LSTM 常常用來構建Seq2Seq 模型,如圖3 所示.在訓練全過程沉降修正模型的過程中,輸入是每個時刻的施工參數、土層參數,輸出是每個時刻的沉降.對于encoder 部分,將訓練數據按時序輸入,得到encoder 部分的最終記憶單元值cn和最終輸出hn,再用cn和hn來初始化decoder 最初的c0和h0.訓練的輸入包括1)施工參數:時間、加載和卸載等;2)土層參數:各土層的壓縮模量E、厚度h 等.

圖3 全過程沉降數據重計算Seq2Seq 模型Fig.3 Seq2Seq model for recalculated whole process settlement data
對于decoder,再次將訓練數據按時序輸入,在每個時間點t,輸入為xt,標簽為yt.訓練標簽為各時段對應的實測沉降值.訓練網絡的目的是讓LSTM每個時刻輸出的ht與標簽yt盡可能接近.通過建立ht與相應時刻yt的損失函數MAE,利用梯度下降法訓練網絡,使損失逐步降低以達到預期值.
深度學習需要首先根據實際數據反演輸入與輸出的映射關系,脫離實際數據來討論深度學習是無意義的,因此,直接將工程實測數據分析作為出發點是深度學習的必然要求.
某大型機場填海面積26.0 km2,從某島礁地基處理一期工程中2 000 余測點的實測沉降曲線中可以看到,由于觀測、儀器等誤差,測得的部分測點沉降曲線不符合沉降理論的預期,違背沉降發展規律,集中體現在出現大幅波動的鋸齒狀曲線這一現象.但從工程的實際情況來看,堆載測點并未卸載,應只有下沉,不可能出現回彈.這說明測得的鋸齒狀曲線與測點實際的沉降發展曲線相比有很大的偏差.除去觀測誤差的影響,現場實測曲線還存在某時間段數據缺失、測試員隨意寫入沉降數據等多種問題.由于機場建設非常關注全區域不均勻沉降帶來的影響,而問題測點的數量較多,因此需要對這些異常測點數據進行預處理.
Seq2Seq 模型訓練與驗證過程如圖4 所示.首先需要人工對數據進行遴選,挑出符合經典沉降理論預期的優良測點數據作為訓練集和測試集;然后定義網絡超參數(非網絡參數),對于上述Seq2Seq 模型,即選取神經元數量;之后網絡參數的調整過程是模型根據反向傳播自動進行的,無需人為干預;模型訓練完成后,如在訓練集和測試集上都收斂,則可應用到異常測點數據處理,否則需要重新調整神經網絡超參數或重新選取訓練集與測試集,并再次訓練網絡.

圖4 模型訓練與驗證過程Fig.4 Training and verification process of model
模型訓練完成后,在測試集所有測點上的全過程平均誤差為32 mm.圖5 為A 區部分測點的實測與重計算對比圖,從圖5(a)(b)(c)曲線的前半段可以看到,由于前期的沉降過程差異較大,在數據不夠充足的情況下,模型很難精準修正,所以前半段的平均誤差達到53 mm.到曲線后半段,模型能夠發現沉降逐步偏向平穩的趨勢,且精度提升明顯,后半段平均誤差為8 mm.圖5(d)全過程平均誤差為9 mm,低于全部測試集測點的平均誤差值32 mm,且全過程都較為準確.圖5 表明,深度學習模型對各種沉降發展模式,即各種形狀的實測曲線,都能做到較為精確的重新計算,而傳統方法很難處理突變等復雜狀況.且深度學習模型計算后半段曲線的精確度明顯高于前段,對于預測工后沉降來說,曲線后期的發展趨勢顯然更重要.

圖5 A 區測試集部分測點實測與重計算沉降對比圖Fig.5 Comparison figure of the measured and recalculated settlement of some points in the test set of area A
為探究模型學習能力的影響因素,也為證實前文所述深度學習的普適性,另選取該機場B 區與C區的測點訓練并測試模型,得到的結果與A 區作為對比.
深度學習是數據驅動的科學,模型能否取得優異的表現,數據量的大小是決定因素之一.
如表1 所示,模型在B 區測試集上有91 mm 的平均誤差.B 區誤差偏大的原因是模型僅使用16 個測點作為訓練集數據,來重計算測試集的8 個測點.B 區的數據較少,嚴重限制了模型的泛化能力.逐漸增大數據量后,模型的精確程度有了很大的提高,在C 區測試集上誤差縮小到22 mm.從使用的數據量來看,B 區與C 區的結果均在合理范圍內,這也反映了深度學習的普適性.

表1 不同區域模型的沉降誤差Tab.1 Settlement error of different region
LSTM 神經元的個數對模型的學習能力有很大影響.神經元選取的數量需要逐步調試,數量過少會導致欠擬合,模型在訓練集上都無法做到收斂;數量過多模型會出現過擬合現象,在測試集上的表現明顯變差.
表2 展示了神經元數量選取16、32、64、128、256對模型計算沉降值與真實沉降值之間平均誤差的影響.神經元數量越多在訓練集上的表現越好,因為此時模型的學習能力變強.在測試集上則存在一個極值點,神經元數量偏少時,模型學習能力不強,無法通過訓練集數據學習到沉降發展的規律;數量偏多時,模型由于強大的擬合能力,開始過度關注訓練集數據,將其中的異常噪聲也進行學習.模型在測試集上的表現是問題的核心,對于A 區測點數據選取64個神經元,此時模型在測試集上表現最優.

表2 神經元數量對誤差的影響Tab.2 Effect of neuron numbers on settlement error
圖6 為B 區測試集8 個測點的實測與重計算沉降對比圖.圖6 中的主要誤差都來源于測點B-52 和B-53,而其他測點的重計算情況相對較好,這說明除了數據量對模型誤差的影響外,還存在其他重要影響因素.B 區訓練集測點的淤泥層厚度、黏土層厚度見表3.圖7 由表3 數據繪制而成.

圖7 訓練集與測試集偏差分布圖Fig.7 Deviation distribution of training and testing set

表3 測點土層參數表Tab.3 Parameter of soil layer in data set

圖6 B 區測試集實測與重計算沉降對比圖Fig.6 Comparison figure of the measured and recalculated settlements in the test set of area B
表3 最后兩行黑體字部分為測試集誤差主要來源B-52 和B-53 的參數值,其余為訓練集測點的參數值.從圖7 可以看到,訓練集測點的黏土層厚度大多數在10 m 以上,而淤泥層的厚度在4 m 以下,與B-52、B-53 的土層厚度相差較大,由于訓練集的數據分布與測試集差異很大,且數據量偏少,模型無法學習到淤泥層、黏土層厚度增大或減小造成的沉降具體增減量.模型主要訓練在黏土層厚而淤泥層薄的數據集上,B-52 和B-53 的黏土層厚度過小,因此計算出的最終沉降會偏小.
在數據較少的條件下,數據的分布會造成模型預測結果不夠精確.劃分數據集時,應該盡量讓訓練集和測試集具有相同的數據分布.將B-52 或B-53中的任意一點加入訓練集可以部分彌補訓練集和測試集分布的偏差,嘗試將B-52 加入訓練集后,模型在其余條件不變的情況下測試集誤差減小至57 mm,相較之前有明顯提升.
圖8 為測試集測點C-16、C-22 的沉降曲線對比圖,其土層參數見表4.

表4 C 區測點土層參數Tab.4 Soil parameters of area C

圖8 C 區測試集實測與重計算沉降對比圖Fig.8 Comparison figure of the measured and recalculated settlements in the test set of area C
C-16 與C-22 的土層參數相差不大,但C-16 在沉降發展到350 d 后誤差明顯變大.這說明施工條件僅考慮加載,土層參數僅考慮壓縮量較大的淤泥和黏土限制了模型學習能力.C-16 顯然是受到如滲透系數、排水條件等其他因素的影響.在數據偏多的情況下,應該考慮更多的影響因素,加入更多的數據特征.
在加入滲透系數作為數據特征后,C-16 的沉降對比曲線見圖9(a),誤差由之前的21 mm 降低至10 mm,且曲線后段提升效果明顯.C-22 在考慮了滲透系數后,計算誤差降低到2 mm.

圖9 考慮滲透系數后C-16 與C-22 沉降對比圖Fig.9 Comparison figure of C-16 and C-22 considering permeability coefficient
通過搭建Seq2Seq 模型,首次提出了深度學習在實測沉降數據預處理中的應用方法.在某機場不同典型區域A、B、C,通過對比模型在測試集上的重計算與實測沉降值,驗證了深度學習對異常沉降數據進行預處理的可行性.其中,Seq2Seq 模型在A、C區域沉降數據的預處理中,將全過程平均誤差分別控制在3 cm 和2 cm,表明此方法對工程實測沉降數據預處理及后續預測具有較好的實用價值.最后,還分析了超參數與數據集對模型學習能力的影響程度.具體結論如下:
1)數據量對模型處理異常數據的能力起決定作用,模型輸出誤差隨數據量增大明顯變低.樣本數量作為統計方法的重要參數,是深度學習在巖土工程中的應用能否取得成功的基石.增大樣本數量時,模型在B、C 區域測試集上的誤差由91 mm 降低至22 mm.
2)訓練集與測試集的參數一致性對模型性能有很大影響.在B 區的測試過程中,B-52、B-53 測點的淤泥層與黏土層厚度與訓練集相差較大,導致模型測試與學習的內容不一致,造成B 區的重計算精度明顯偏低.因此在劃分數據集的過程中,應盡量保證訓練集與測試集的數據特征分布大致相同.具體操作時,多次隨機選取訓練集,分別訓練完成后對測試集結果取均值,一般能弱化這種差異.
3)所選數據特征的代表性對模型輸出精度影響較大.若模型反復調試后,依舊達不到精度要求,應考慮所選輸入是否具有代表性.此時可根據具體數據狀況逐步增加數據特征,直至模型的重計算值達到精度要求.例如,相較于初次訓練測試時僅考慮壓縮模量與各土層厚度,增加滲透系數作為輸入后,C區誤差明顯降低.
4)超參數的最優解會隨具體數據集變化而不同,需根據具體的數據狀況進行逐步調試,應避免過擬合與欠擬合現象發生.神經元數量、學習率、優化器、數據批次、網絡層數等是模型自身超參數,其調節一般都是試錯的過程.在算力充足的條件下,可對每個超參數設定一個數值或類型范圍,對它們的組合全部進行訓練.訓練完成后,在測試集上進行驗證并挑選合理結果.若時間有限,在固定其他超參數為默認值的條件下,可優先調節神經元數量與學習率,同樣能夠取得較為理想的結果.