石晨陽,張振威,袁曉燕,柴 香,曹海迪
(重慶交通大學(xué),重慶 400074)
衛(wèi)星導(dǎo)航定位技術(shù)的快速發(fā)展,使得全球衛(wèi)星導(dǎo)航系統(tǒng)(global navigation satellite system, GNSS)技術(shù)在工程測繪中應(yīng)用愈加廣泛[1]。線狀工程中需要將GNSS高程轉(zhuǎn)化為正常高[2]。因此,需要利用合適的模型進(jìn)行高程異常擬合,以解決線狀工程GNSS高程轉(zhuǎn)化問題。
國內(nèi)外學(xué)者針對(duì)GNSS高程轉(zhuǎn)換這一課題進(jìn)行了大量研究。目前高程異常擬合方法主要有數(shù)學(xué)模型法[3-4]、地球重力場模型法[5-6]和神經(jīng)網(wǎng)絡(luò)方法[7-8]。神經(jīng)網(wǎng)絡(luò)能夠以任意精度逼近任意連續(xù)函數(shù)及平方可積函數(shù)[9-10],在高程異常擬合中應(yīng)用廣泛。
本文以某線狀工程為例,分別利用反向傳播(back propagation, BP)神經(jīng)網(wǎng)絡(luò)、極限學(xué)習(xí)機(jī)(extreme learning machine, ELM)、徑向基函數(shù)(radial basis function, RBF)神經(jīng)網(wǎng)絡(luò)、粒子群算法(particle swarm optimization, PSO)優(yōu)化 BP(PSO-BP)神經(jīng)網(wǎng)絡(luò)和遺傳模擬退火算法(genetic simulated annealing, GSA)優(yōu)化BP(GSA-BP)神經(jīng)網(wǎng)絡(luò)進(jìn)行高程異常擬合,并對(duì)結(jié)果進(jìn)行精度統(tǒng)計(jì)和分析,比較各種神經(jīng)網(wǎng)絡(luò)算法的優(yōu)缺點(diǎn)及適用性。
BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練模式是誤差反向傳播,它的輸入層和輸出層為一層,隱含層是大于或等于一層。各層之間的權(quán)值和閾值由初始化隨機(jī)得出,通過反復(fù)訓(xùn)練得到最優(yōu)的權(quán)值和閾值。其具體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)示意
算法步驟[11]如下:
1)置各權(quán)值和閾值的初始值。wji(0)、θj(0)為小的隨機(jī)數(shù)值。
2)提供訓(xùn)練樣本。輸入矢量Xk,k=1,2,…,p;期望輸出dk,k=1,2,…,p;對(duì)每個(gè)輸入樣本進(jìn)行下面步驟3)至步驟5)的迭代。
3)計(jì)算網(wǎng)絡(luò)的實(shí)際輸出及隱含層的狀態(tài)為
4)計(jì)算訓(xùn)練誤差為
5)修正權(quán)值和閾值為
6)當(dāng)k每經(jīng)歷1至p后,判斷指標(biāo)E是否滿足精度要求,即
式中,ε為預(yù)設(shè)的精度。
7)若滿足式(6),則結(jié)束,否則返回到步驟3)。
以平面坐標(biāo)作為輸入層,高程異常值作為輸出層,隱含層數(shù)設(shè)置為1,對(duì)訓(xùn)練集進(jìn)行高程異常擬合訓(xùn)練,得到最優(yōu)權(quán)值和閾值再進(jìn)行對(duì)測試集進(jìn)行預(yù)測。
ELM 是一種單層前饋神經(jīng)網(wǎng)絡(luò),它的訓(xùn)練方法與BP神經(jīng)網(wǎng)絡(luò)相同。針對(duì)BP神經(jīng)網(wǎng)絡(luò)反復(fù)迭代巨大的運(yùn)算量,ELM將隱含層與輸出層之間的連接權(quán)值,通過對(duì)訓(xùn)練結(jié)果進(jìn)行最小二乘運(yùn)算,而一次性確定,極大地提高了運(yùn)算速率[12]。
RBF神經(jīng)網(wǎng)絡(luò)與 BP神經(jīng)網(wǎng)絡(luò)最大的不同就是使用徑向基函數(shù)作為激活函數(shù),函數(shù)的自變量為輸入模式與中心向量的距離。RBF神經(jīng)網(wǎng)絡(luò)可以處理很復(fù)雜的非線性問題,學(xué)習(xí)速度很快[13]。
粒子群優(yōu)化(PSO)BP神經(jīng)網(wǎng)絡(luò)是將粒子群融到BP神經(jīng)網(wǎng)絡(luò)中。以BP算法的權(quán)值作為粒子群粒子的位置向量并進(jìn)行初始化,以均方差最小作為尋優(yōu)目標(biāo)進(jìn)行尋優(yōu),求得的全局最優(yōu)解作為BP算法的權(quán)值和閾值,進(jìn)行訓(xùn)練[14]。
遺傳模擬退火優(yōu)化BP神經(jīng)網(wǎng)絡(luò)是將遺傳算法和模擬退火算法融到BP神經(jīng)網(wǎng)絡(luò)中。在尋優(yōu)過程中,首先尋得一組可行解并保持一組解,最優(yōu)解被接受,非最優(yōu)解根據(jù)算法需要也可能被接受并重新組合,不斷迭代更新直至得到最優(yōu)解,然后進(jìn)行訓(xùn)練。其具體流程圖如圖2所示。
圖2 GSA-BP算法流程
本文以某高速公路GNSS/水準(zhǔn)數(shù)據(jù)為例。該線狀工程共約87 km,43個(gè)GNSS點(diǎn)全部進(jìn)行了四等水準(zhǔn)聯(lián)測。點(diǎn)位分布較為均勻,地形較為平坦,正常高最大值為409.5 m,最小值為193.3 m,平均值為275.5 m。具體點(diǎn)位分布和沿線高程異常起伏情況如圖3、圖4所示。
圖3 GNSS/水準(zhǔn)點(diǎn)分布
圖4 沿線高程異常起伏情況
用該線狀工程43組GNSS/水準(zhǔn)數(shù)據(jù)根據(jù)不同訓(xùn)練集和測試集點(diǎn)數(shù)分別設(shè)計(jì) 6種方案,具體方案見表1。
表1 訓(xùn)練方案 單位:個(gè)
根據(jù)以上 6種方案,分別利用 5種神經(jīng)網(wǎng)絡(luò)算法進(jìn)行高程異常擬合,并對(duì)結(jié)果進(jìn)行統(tǒng)計(jì)分析。測試集高程異常擬合結(jié)果見圖5,擬合精度見表2和圖6。精度計(jì)算公式為
圖6 各方案擬合精度統(tǒng)計(jì)
表2 各方案擬合精度統(tǒng)計(jì) 單位:mm
圖5 各方案高程異常擬合結(jié)果對(duì)比
從表2和圖5可知,在6種方案中,GSA-BP精度分別為 15.3、15.1、15.1、14.9、14.8及14.7 mm,相差不大且始終同組最高,說明GSA-BP算法擬合效果最優(yōu);在6種方案中,5種神經(jīng)網(wǎng)絡(luò)算法精度互差最大值依次為 13.6、9.7、5.8、3.4、1.6及 1.1 mm,GSA-BP相比 BP精度依次提高47.0%、38.9%、27.7%、18.6%、10.0%、6.7%,說明隨著訓(xùn)練集點(diǎn)數(shù)的增多,5種神經(jīng)網(wǎng)絡(luò)算法的精度愈加接近,且均能獲得較高精度;在6種方案中,ELM、RBF、PSO-BP精度接近,精度相比BP分別至少提升38.8%、28.0%、16.2%、8.0%、0、1.7%,說明這3種算法相比BP算法擬合效果更優(yōu)。
為進(jìn)一步比較5種神經(jīng)網(wǎng)絡(luò)算法的適用性,現(xiàn)將 6種方案中滿足四等水準(zhǔn)測量限差的點(diǎn)數(shù)進(jìn)行統(tǒng)計(jì),結(jié)果見圖7。
圖7 各方案滿足四等水準(zhǔn)限差統(tǒng)計(jì)
其中,四等水準(zhǔn)測量限差為
由圖7可知:在6種方案中,GSA-BP滿足四等水準(zhǔn)測量的點(diǎn)數(shù)分別為 23、17、17、14、11、9,始終最多,接近測試集點(diǎn)數(shù),說明GSA-BP適用性最高;在6種方案中,ELM、RBF、PSO-BP滿足四等水準(zhǔn)測量的點(diǎn)數(shù)接近GSA-BP,這3種算法能基本滿足四等水準(zhǔn)測量要求。
本文以某線狀工程為例,利用BP、ELM、RBF、PSO-BP、GSA-BP五種神經(jīng)網(wǎng)絡(luò)算法在 6種方案下進(jìn)行 GNSS高程轉(zhuǎn)換,比較 5種算法的精度和適用性??傻萌缦陆Y(jié)論:
1)在訓(xùn)練集點(diǎn)數(shù)較多時(shí),5種神經(jīng)網(wǎng)絡(luò)算法均能獲得較高精度;
2)ELM、RBF、PSO-BP擬合效果更優(yōu),且能滿足四等水準(zhǔn)要求;
3)GSA-BP效果最優(yōu),在線狀工程 GNSS轉(zhuǎn)換中具有可行性。