張建奇
(廣州市城市規劃勘測設計研究院, 廣東 廣州 510000)
近年來隨著國民經濟和國家生產總值的不斷提高,各種高鐵隧道,橋梁大壩等利國利民市政工程不斷開工建設,在目前二維平面測量精度已達毫米量級的情況下,高程測量精度對工程建筑質量具有重大影響。當前國際高程系統分為正高、正常高和大地高,我國實際工程應用中大量采用以鉛垂線和近似水準面為基準的正常高H,而全球定位系統測得的是以法線和參考橢球面為基準的大地高h,兩者之間存在高程異常:ξ=H-h。正常高數據的獲取和使用需要根據幾何水準測量,存在觀測效率低,測量精度受地形影響大的問題,而大地高數據的獲取是通過全球導航衛星系統(Global Navigation Satellite System,GNSS)相對靜態定位方式,具有全天時,全天候,使用方便和高精度的優勢,因此如何將大地高轉換為工程實踐中所需的正常高,即求出兩者之間的高程異常ξ對于市政工程建設具有重要意義,也是當前研究的熱點問題[1-2]。
目前最常用的GNSS高程擬合方法是根據部分已知觀測水準點的高程異常值,采用多項式擬合,曲面擬合等方法對未知觀測點的高程異常進行插值計算,該類方法的擬合性能受GNSS觀測水準點的分布影響較大,僅適合于GNSS水準點分布均勻,地勢平坦的地區[3-4];隨著數值計算和優化理論的發展,小波變換,AIC準則和支撐向量機等方法逐漸被應用于GNSS高程擬合領域,文獻[5]利用小波方法對GNSS連續觀測上海站的GNSS高程數據隨時間的變化趨勢進行分析,研究了季節變化,地表植被,大氣等因素對GNSS高程觀測的影響;文獻[6-7]利用聚類方法和AIC準則/BIC準則對某礦區的GNSS高程數據進行分析,取得了接近三等水準測量的擬合精度;文獻[8]研究了不同地形條件下的GNSS高程擬合問題,提出一種基于地形修正的支撐向量機算法對某D級GNSS控制網進行高程擬合,并獲得了優于1 cm的擬合精度;近年來隨著人工神經網絡技術的興起,基于神經網絡模型的GNSS高程擬合方法由于不依賴于精確的數學模型,數據驅動和自適應性等優點得到了學術界的廣泛關注,文獻[9]利用BP神經網絡模型對湖南省某縣區的GNSS高程異常數據進行研究,試驗結果表明BP神經網絡模型相對于傳統曲面擬合法的擬合精度提升50%以上;文獻[10]采用徑向基函數(Radial Basis Function, RBF)神經網絡模型對某市區GNSS網絡數據進行研究,并從擬合殘差,內外擬合精度等維度對擬合性能進行評估,結果顯示RBF神經網絡模型的擬合性能優于支持向量機(Support Vector Machine, SVM)方法。上述研究成果表明,神經網絡方法相對于傳統方法可以獲得更高的擬合性能,但是文獻[11]的研究表明神經網絡模型初始參數的選取對擬合精度影響較大,而目前通常采用的經驗試錯法存在主觀性強,運算復雜和易陷入局部最優解的問題。
本文在上述研究的基礎上,針對BP(Back Propagation)神經網絡模型的初始參數選取問題,提出一種遺傳模擬退火算法(Genetic Simulated Annealing, GSA)優化的BP神經網絡模型,該方法利用GSA的全局尋優能力優化BP神經網絡模型的學習過程,避免其陷入局部極值的同時提升模型的擬合精度和數據適應性?;谀硿y區的實測GNSS數據的開展試驗,對所提方法的擬合性能進行驗證,并將結果與傳統BP神經網絡模型進行對比。
BP神經網絡作為當前應用最為廣泛的一種多層前向反饋網絡,可以實現從輸入層到輸出層的任意非線性映射,其結構如圖1所示,其中x和y為由感知單元組成的輸入層,與輸入層通過權值相連的神經元h為隱含層,隱含層可以是一層或者多層,模型中每個神經元都可接收前級網絡輸入并將本層網絡輸出至后級。BP網絡的前向反饋是指輸入神經元經隱層神經元向輸出層的正向傳播過程和輸出誤差與預期不符時由輸出層通過隱層神經元向輸入層的反向傳播過程實現,在整個傳播過程中模型根據誤差減小的方向修正輸入層和隱含層之間的權值,通過正向和反向傳播的迭代,權值被不斷優化,輸出誤差與預期逐漸接近,直至收斂。

圖1 BP神經網絡結構圖
對于GNSS高程擬合問題,輸入神經元為GNSS水準點的平面坐標x和y,正向傳播過程通過一組預設的初始權值wi和閾值θ將輸入神經元映射到隱層神經元:
u=w1x+w2y-θ
(1)
對于包含多個隱含層的BP網絡結構,通常利用Sigmoid型激活函數將當前隱含層的輸入值u調整到下一隱含層的輸入值:
(2)
依次計算得到每一個隱含層的輸出值,直至傳遞到最終輸出層得到輸出值?完成第一次的正向傳播過程,計算當前輸出值?與期望輸出值?*之間的誤差:
(3)
采用梯度下降法按照δ減小的方向調整不同層的權值w和閾值θ,并依次向輸入層傳遞,完成第一次反向傳播過程。通過上述正向傳播階段的參數選擇和反向傳播階段的參數優化過程反復迭代,使BP神經網絡實際輸出與期望輸出的差值減小至可接受范圍內,即得到訓練好的網絡模型。
由于BP網絡的求解采用的是梯度下降法,因此其性能受網絡初值的選取影響較大,例如在圖2所示的優化問題中,存在唯一的最小值A,如果網絡初值選在a點或者b點,則根據梯度下降算法可以得到最優解,但是如果網絡初始值選在c,d點和e點,則最終會陷入局部極小值B點,導致擬合性能下降。因此需要對BP神經網絡初值選取方法進行優化,保證模型能夠收斂于全局最優解。

圖2 存在局部極小值時優化問題示意
遺傳算法(Genetic Algorithm, GA)[12]和模擬退火算法(Simulated Annealing, SA)[13-14]是目前常用的兩種優化算法。GA作為一種隨機搜索模型,模擬的是自然界達爾文生物進化論中描述的種族的自然選擇和進化過程,在算法的每一步迭代過程中,采用被稱為選擇,交叉和變異的操作步驟對每個種族的生物個體進行篩選,從而產生出更適合當前自然環境的種族生物集合,通過多輪的迭代更新直至最終獲取最優解,GA算法具有較強的全局搜索能力,但是存在收斂速度慢,局部搜索能力較弱的缺陷。
SA算法的設計思想是模擬自然界中物質的退火過程,同樣作為一種隨機搜索算法,SA理論上能夠以概率1收斂于全局最優解。物質退火過程中,隨著溫度的降低,物質的內能減少,對于任一溫度,物質內都可以實現熱平衡(局部最優),此時SA算法根據Metropolis準則會賦予一個跳出局部最優解的概率,從而保證其最終收斂于全局最優。SA算法具有局部搜索能力強,收斂速度快的優點,但是存在全局搜索能力差的劣勢。
本文在已有研究的基礎上,根據上述分析將GA與SA進行優勢互補,提出一種遺傳模擬退火BP(Genetic Simulated Annealing Back Propagation, GSA-BP)神經網絡模型,首先利用GA對BP神經網絡參數空間進行全局搜索,并將當前條件下得到的最優解作為SA的初始值,然后利用SA進行局部搜索,并將獲得的滿足Metropolis準則的解作為下一輪迭代中GA的初始種群,依次往復迭代,全局搜索和局部搜索交替進行,直至滿足迭代終止條件,此時獲得的參數即為BP神經網絡模型的最優參數。
所提基于GSA-BP模型的GNSS高程擬合方法流程如圖3所示,具體算法流程包含如下6個步驟:

圖3 GSA-BP高程擬合算法流程圖
(1)BP神經網絡模型初始化。對于GNSS高程擬合問題,輸入神經元為GNSS水準點的平面坐標,輸出GNSS水準點的高程異常,因此BP神經網絡的輸入神經元個數為2,輸出神經元個數為1;
(2)GA模型種群初始化。將BP神經網絡的初始權值w,閾值θ和隱層節點數p作為GA模型的初始種群,并對其進行編碼;
(3)按如下步驟進行自適應遺傳操作。
①判斷當前參數下是否滿足GA算法迭代終止條件,若滿足則輸出當前參數為BP模型的最優初始化參數w,θ和p否則轉入(2);
②對當前種群進行選擇、交叉和變異操作,從而得到當前的最優種群。
(4)SA模型參數初始化。將步驟3(2)中得到的最優種群作為SA模型的當前模型參數。
(5)按如下步驟進行模擬退火操作:
①計算當前初始參數對應的目標函數S;

③判斷當前狀態是否滿足SA終止條件,若不滿足則進行降溫,循環模擬退火操作,否則跳至步驟2,并將SA得到的新解作為GA的初始種群。
(6)GSA迭代終止后,將最優初始參數w、θ和p賦予BP神經網絡進行學習,最終輸出GNSS高程擬合結果。
為了驗證本文所提GSA-BP神經網絡模型的GNSS高程擬合性能,采用某市D級GNSS水準控制網的實測數據開展試驗,試驗區域面積約98 km2,區域內均勻布設了28個四等聯測GNSS水準點,圖4給出了訓練集和測試集點位的平面分布情況。

圖4 GNSS水準點平面分布圖
GSA-BP神經網絡模型進行GNSS高程擬合時,網絡模型的輸入向量為GNSS水準點的平面坐標值x和y構成的二維向量,輸出值為GNSS高程異常z,即網絡輸入層有2個神經元,輸出層有1個神經元。GNSS水準點的平面坐標值與高程異常值的數值差異較大,在進行分析之前需要對數據進行歸一化處理。本文采用經典的Z-score標準化方法,即利用原始的均值和標準差對數據進行歸一化:
(4)
其中,p′=[x′,y′]T為歸一化后的輸入神經元;mean(p)為p的均值;std(p)為p的標準差。從式(4)可以看出,原始數據經過歸一化后變為服從0均值,標準差為1的正態分布,完全消除了不同數據大小對結果的影響。
為了定量的比較不同方法的擬合性能,采用如下擬合殘差、殘差最大值,殘差最小值和殘差均方根思維維度進行分析:
(1)擬合殘差:
(5)

(2)殘差最大值:
Δζmax=max(Δζn)
(6)
(3)殘差最小值:
Δζmin=min(Δζn)
(7)
(4)殘差均方根:
(8)
根據前述分析,本文試驗中BP神經網絡模型輸入神經元個數為2,輸出神經元個數為1,GA算法的初始種群為BP網絡初始參數集合P=[w,θ,p],設置其取值范圍的下限和上限分別為:Pmin=[0.01, 0.01, 1]和Pmax=[100, 1, 50]。利用所提GSA算法對BP網絡模型進行優化后,系統收斂時w=20.4,θ=0.37,p=6,而采用傳統經驗試錯法對BP神經網絡模型參數進行搜索得到的模型參數為w=21.3,θ=0.89,p=4。
表1給出了采用所提GSA-BP神經網絡模型和傳統BP神經網絡模型對訓練集進行擬合的結果,從表1可以看出,所提GSA-BP方法對訓練集得到的最大擬合殘差為36 mm,最小擬合殘差為 1 mm,所有訓練集的殘差均方根為0.094,3項指標均小于傳統BP神經網絡模型(最大擬合殘差174 mm,最小擬合殘差9 mm,殘差均方根0.291),圖5給出了兩種方法對訓練集的擬合殘差圖,可以看出所提GSA-BP方法對每個樣本點的擬合精度都高于傳統BP神經網絡,表明經GSA算法優化后獲得的模型參數優于傳統經驗試錯法獲得的模型參數,即傳統經驗試錯法獲得的模型為局部最優解。

表1 不同方法對訓練集的高程擬合結果 單位:m

圖5 不同方法得到的擬合殘差(訓練集)
表2給出了采用所提GSA-BP神經網絡模型和傳統BP神經網絡模型對測試集進行擬合的結果,從表2可以看出,所提GSA-BP方法對測試集得到的最大擬合殘差為43 mm,最小擬合殘差為10 mm,殘差均方根為0.183,而傳統BP神經網絡方法對測試集得到的最大擬合殘差為441 mm,最小擬合殘差為50 mm,殘差均方根為0.706,GSA-BP方法的3項指標均優于傳統BP神經網絡模型。圖6給出了兩種方法對測試集的擬合殘差圖,可以看出對于每個測試樣本點,GSA-BP模型的擬合精度均優于BP神經網絡模型。

表2 不同方法對測試集的高程擬合結果 單位:m

圖6 不同方法得到的擬合殘差(測試集)
對比訓練數據集的擬合結果和測試數據集的擬合結果可以看出,GSA-BP模型獲得的訓練集殘差均方和測試集殘差均方根差值為0.089,相對于訓練集殘差均方根惡化了94.68%,而傳統BP神經網絡模型訓練集殘差均方根和測試集殘差均方根差值為0.415,該項結果表明所提GSA-BP方法相對于傳統BP模型具有更強的數據適應性和魯棒性,更適合于工程應用。
表3給出了在相同條件下利用GSA方法和傳統經驗試錯法對BP神經網絡模型參數進行尋優所需計算時間,算法運行條件為Lenovo-Thinkpad,主頻2.2 GHz的Intel 酷睿雙核處理器。從表3可以看出,GSA方法由于具備更強的局部搜索和全局搜索能力,其收斂速度要快于傳統經驗試錯法。

表3 不同方法所需計算時間 單位:s
GNSS高程數據得到有效利用的前提是高精度的GNSS高程擬合技術。傳統基于BP神經網絡模型的GNSS高程擬合方法存在擬合精度受模型參數初值選取影響較大,易陷入局部極小值的問題,本文提出一種GSA-BP神經網絡模型,將GA和SA兩種優化算法進行優勢互補,對BP神經網絡模型的權值,閾值和隱層節點數三種模型參數進行優化,確保BP神經網絡能夠收斂于全局最優解,最后基于某市D級GNSS水準網開展試驗,從擬合殘差,殘差最大值,殘差最小值和殘差均方根4個維度對所提GSA-BP模型和傳統BP模型的性能進行對比,結果表明GSA-BP模型可以獲得更高的擬合精度,更強的數據適應能力,更適合于在實際工程場景中應用。
需要指出的是,本文選擇的試驗數據來自平原地區,地勢起伏相對較為平緩,而當前丘陵,高山等地勢起伏較大地區的GNSS高程擬合需求同樣迫切,因此如何提升所提方法在丘陵,高山等地區的適應性和擬合精度是接下來課題組的研究方向。