崔 方,趙庶旭
(蘭州交通大學(xué)電子與信息工程學(xué)院,甘肅 蘭州 730070)
隨著GPS技術(shù)的發(fā)展和應(yīng)用,越來越多的工程需要利用GPS來進(jìn)行測(cè)量。GPS測(cè)量通常采用WGS-84空間直角坐標(biāo)系統(tǒng),然而我國的測(cè)繪生產(chǎn)普遍采用1954北京坐標(biāo)系和1980西安坐標(biāo)系[1],因此,在利用GPS作我國控制測(cè)量或工程測(cè)量時(shí),為了適應(yīng)測(cè)量的需求,就必須將GPS測(cè)量獲得的WGS-84坐標(biāo)轉(zhuǎn)換到地方坐標(biāo)系中去[2]。在GPS坐標(biāo)轉(zhuǎn)換問題上,目前的研究成果有多種轉(zhuǎn)換模式,傳統(tǒng)的方法是采用坐標(biāo)投影和七參數(shù)相似變換等,然而這些方法計(jì)算量大,過于復(fù)雜,會(huì)有一定的投影誤差,精度難以保證[3]。
為了更好地研究GPS坐標(biāo)轉(zhuǎn)換問題,文獻(xiàn)[4]基于人工神經(jīng)網(wǎng)絡(luò)所具有的高度非線性的信息處理能力,提出了一種新的坐標(biāo)轉(zhuǎn)換方法,即設(shè)計(jì)出一種BP神經(jīng)網(wǎng)絡(luò)進(jìn)行GPS坐標(biāo)轉(zhuǎn)換;文獻(xiàn)[5]提出了一種基于改進(jìn)BP算法神經(jīng)網(wǎng)絡(luò)的GPS坐標(biāo)轉(zhuǎn)換方法。神經(jīng)網(wǎng)絡(luò)方法在GPS高程轉(zhuǎn)換方面有較多研究,并取得了較好的結(jié)果[6]。這些研究成果雖然提高了轉(zhuǎn)換精度,但由于其使用的BP神經(jīng)網(wǎng)絡(luò)屬于淺層模型,在面對(duì)巨大且復(fù)雜的GPS數(shù)據(jù)處理時(shí),泛化能力受到限制,不能輕易地進(jìn)行坐標(biāo)轉(zhuǎn)換。
深度學(xué)習(xí)是近年來被提出的一種新的基于無監(jiān)督特征學(xué)習(xí)的具有多個(gè)特征層次結(jié)構(gòu)的機(jī)器學(xué)習(xí)方法。其主要思想是堆疊多個(gè)層,即該層的輸出作為下一層的輸入。通過采用自下而上地?zé)o監(jiān)督逐層訓(xùn)練來學(xué)習(xí)特征,再應(yīng)用由上而下地有監(jiān)督訓(xùn)練來微調(diào)整個(gè)網(wǎng)絡(luò)參數(shù)[7]。面對(duì)巨大的GPS數(shù)據(jù),深度學(xué)習(xí)架構(gòu)可以有效地進(jìn)行特征學(xué)習(xí),進(jìn)而實(shí)現(xiàn)其坐標(biāo)的轉(zhuǎn)換。
本文利用深度學(xué)習(xí)對(duì)非結(jié)構(gòu)化數(shù)據(jù)處理的優(yōu)勢(shì),提出一種新的基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的坐標(biāo)轉(zhuǎn)換方法,即利用卷積神經(jīng)網(wǎng)絡(luò)能夠自動(dòng)提取數(shù)據(jù)中的特征,根據(jù)最小化數(shù)據(jù)預(yù)處理要求的特點(diǎn)來進(jìn)行GPS坐標(biāo)轉(zhuǎn)換。試驗(yàn)結(jié)果表明,該轉(zhuǎn)換方法與BP神經(jīng)網(wǎng)絡(luò)相比取得了更加有效的精度。
卷積神經(jīng)網(wǎng)絡(luò)模型最初是一種用于識(shí)別二維形狀的多層感知器,是常用的深度學(xué)習(xí)模型之一。CNN模型屬于層次模型,其典型結(jié)構(gòu)主要包含輸入層、卷積層、池化層(又稱下采樣層)、全連接層及輸出層,通過這些層就構(gòu)建出一個(gè)多層次的網(wǎng)絡(luò)模型[8]。
卷積神經(jīng)網(wǎng)絡(luò)又是一種特殊的多層感知器模型,它對(duì)幾何變換、形變具有一定程度的不變性。它的結(jié)構(gòu)特殊性主要體現(xiàn)在3個(gè)方面:①不同層中的各個(gè)神經(jīng)元節(jié)點(diǎn)之間的稀疏連接;②同一層中的局部神經(jīng)元節(jié)點(diǎn)之間的權(quán)值共享;③池采樣,對(duì)得到的特征信息進(jìn)行降維。卷積神經(jīng)網(wǎng)絡(luò)通過結(jié)合稀疏連接、權(quán)值共享、空間或時(shí)間上的池采樣能夠最小化對(duì)數(shù)據(jù)本身包含的局部特征的預(yù)處理要求,無監(jiān)督地從數(shù)據(jù)中提取出有效特征,有良好的自學(xué)習(xí)能力和泛化能力[9-10]。
在標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)中,層與層之間的各個(gè)神經(jīng)元的節(jié)點(diǎn)都是相互全連接的。然而在卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)中,為了有效挖掘出圖像中興趣目標(biāo)的局部空間關(guān)聯(lián)信息,使得網(wǎng)絡(luò)各層之間的神經(jīng)元節(jié)點(diǎn)變成稀疏連接的形式[11],CNN利用神經(jīng)網(wǎng)絡(luò)中相鄰層節(jié)點(diǎn)之間的局部空間相關(guān)性來表示網(wǎng)絡(luò)的連接模式,即局部連接(局部感知),連接方式如圖1所示。
由圖1可以看出,第k層的神經(jīng)元節(jié)點(diǎn)在第k-1層中僅僅與它最為相近的幾個(gè)神經(jīng)元節(jié)點(diǎn)連接。根據(jù)局部特征聯(lián)系較緊密,而距離較遠(yuǎn)特征聯(lián)系較弱的原則,只需對(duì)局部信息進(jìn)行感知,利用更高層將這些局部信息組合起來就可以得到全部信息,這就有效降低了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)規(guī)模[12]。
在CNN模型中,卷積層的每一個(gè)卷積濾波器在整個(gè)感受野中是重復(fù)疊加的,這些重復(fù)單元形成了一種特征圖(feature map),每一個(gè)特征圖都可以共享相同的參數(shù),包括相同的權(quán)值矩陣和偏置向量,權(quán)值共享如圖2所示。
由圖2可以看出,第k層的特征數(shù)據(jù)包含了3個(gè)神經(jīng)元節(jié)點(diǎn),第k-1層的神經(jīng)元節(jié)點(diǎn)與第k層神經(jīng)元節(jié)點(diǎn)不同連接線之間的權(quán)值參數(shù)是共享的。使用改進(jìn)之后的梯度下降法學(xué)習(xí)共享的權(quán)值參數(shù),即所要學(xué)習(xí)的共享權(quán)值的梯度是所有共享連接參數(shù)的梯度之和[13]。權(quán)值共享的特點(diǎn)是無需考慮重復(fù)單元在感受野外的位置也可以檢測(cè)到局部特征并進(jìn)行特征提取,且權(quán)值共享可以大大減少CNN模型需要訓(xùn)練的參數(shù)數(shù)目。
目前在卷積神經(jīng)網(wǎng)絡(luò)的研究中常用的池化方法是最大池采樣(max-pooling)、最小池采樣(min-pooling)及平均池采樣(average-pooling)方法。本文使用的池化方法是最大池采樣方法。池采樣是一種非線性的降采樣方法,能夠使得特征量減少,同時(shí)保持特征的局部不變性。
在獲取數(shù)據(jù)的卷積特征后,確定池化區(qū)域的大小,通過最大池采樣方法計(jì)算圖像區(qū)域的最大特征來獲取池化后的卷積特征[14],這樣不僅減少了卷積層輸出的特征向量,而且避免了過擬合現(xiàn)象。
利用卷積神經(jīng)網(wǎng)絡(luò)對(duì)GPS數(shù)據(jù)進(jìn)行建模時(shí),直接將原始GPS數(shù)據(jù)輸入模型中容易造成CNN算法的發(fā)散,不能有效找出原始GPS數(shù)據(jù)中的特征規(guī)律。由于CNN應(yīng)用較成功的是在圖像中,因此先將原始GPS數(shù)據(jù)轉(zhuǎn)化為非結(jié)構(gòu)化圖片數(shù)據(jù)可提升CNN模型的精確度。
GPS數(shù)據(jù)的卷積神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法的基本思想包括3步:首先,建立CNN模型結(jié)構(gòu);然后,建立CNN學(xué)習(xí)規(guī)則,利用原始樣本數(shù)據(jù)(即大地坐標(biāo)系統(tǒng)的經(jīng)度和緯度值)轉(zhuǎn)換的非結(jié)構(gòu)化圖片數(shù)據(jù)作為網(wǎng)絡(luò)的輸入值,對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練;最后,通過訓(xùn)練好的網(wǎng)絡(luò)得到輸出值(地方坐標(biāo)系統(tǒng)的平面投影坐標(biāo)值)。圖3給出了使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行GPS數(shù)據(jù)轉(zhuǎn)換的基本結(jié)構(gòu)圖。本文方法采用了4層相互交替的卷積層和最大池采樣層來進(jìn)行逐層特征的提取工作,得到的矢量信息特征通過一個(gè)全連接的輸出層進(jìn)行識(shí)別。在圖3所顯示的CNN基本結(jié)構(gòu)中,C1i(i=1,2,…,m1)、C1j(j=1,2,…,m2)、…、C1k(k=1,2,…,m(n-1))分別表示卷積層L1,L3,…,Ln-1的卷積核;Input表示輸入的GPS坐標(biāo)數(shù)據(jù);Pool表示結(jié)構(gòu)中每個(gè)池采樣層的采樣池;Map表示結(jié)構(gòu)中逐層提取的特征子圖;Y表示最終的全連接輸出。
本文應(yīng)用于GPS數(shù)據(jù)坐標(biāo)轉(zhuǎn)換的卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法主要包括4個(gè)步驟,可以分為兩個(gè)階段:
(1) 前向傳播階段分為:
a. 從非結(jié)構(gòu)化圖片樣本數(shù)據(jù)集中取出一個(gè)樣本(X,Yp),將X值作為網(wǎng)絡(luò)的輸入。
b. 計(jì)算相對(duì)應(yīng)的實(shí)際輸出Op,在此過程中,特征信息將從輸入層經(jīng)過之后各層從低到高逐一變換來傳送到全連接層,即輸出層,該階段網(wǎng)絡(luò)中使用的計(jì)算表達(dá)式為
Op=Fn(…(F2(F1(XpW(1))W(2))…)W(n))
(1)
(2) 反向傳播階段分為:
a. 計(jì)算經(jīng)過第一階段得出的輸出值Yp與樣本數(shù)據(jù)集中的實(shí)際輸出值Op的差。
b. 利用該差值,通過采用隨機(jī)梯度下降使誤差平方和函數(shù)值極小化,以此調(diào)整權(quán)值矩陣。
為了能夠更加清晰地闡述本文方法所采用的CNN的訓(xùn)練過程,假設(shè)網(wǎng)絡(luò)的輸入層、中間各層和輸出層的單元數(shù)分別為N、L和M[15]。X=(x0,x1,…,xN)為加到網(wǎng)絡(luò)的輸入矢量,H=(h0,h1,…,hL)為中間層輸出矢量,Y=(y0,y1,…,yM)為網(wǎng)絡(luò)的實(shí)際輸出矢量,并且用D=(d0,d1,…,dM)表示訓(xùn)練數(shù)據(jù)集合中各模式的目標(biāo)輸出矢量。輸出單元i到隱藏單元j的權(quán)值為Vij,而隱藏單元j到輸出單元k的權(quán)值為Wjk。另外用θk和φj分別表示輸出單元和隱藏單元的閾值。中間層各單元的輸出為
(2)
輸出層各單元的輸出為
(3)
其中,f(*)為激勵(lì)函數(shù),采用S型函數(shù),即
(4)
在以上設(shè)置的條件下,本文方法的卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程具體如下:
(1) 選定訓(xùn)練集。從非結(jié)構(gòu)化圖片樣本數(shù)據(jù)集中隨機(jī)選取2000個(gè)圖片樣本作為訓(xùn)練集。
(2) 將以上提到的網(wǎng)絡(luò)中的各個(gè)權(quán)值Vij、Wjk和閾值θk、φj設(shè)置為相對(duì)于0來說較小的隨機(jī)值,以及初始化精度控制參數(shù)ε和學(xué)習(xí)率α。
(3) 從步驟(1)的訓(xùn)練集中取出X作為網(wǎng)絡(luò)的輸入值,并給定它的目標(biāo)輸出矢量值為D。
(4) 利用式(2)計(jì)算中間各層的輸出矢量值H,接著利用式(3)計(jì)算出該網(wǎng)絡(luò)學(xué)習(xí)到的實(shí)際輸出矢量值Y。
(5) 將步驟(4)中得到的輸出矢量值Y中的元素yk與步驟(3)中給定的對(duì)應(yīng)目標(biāo)矢量值D中的元素dk進(jìn)行比較,計(jì)算得出M個(gè)輸出誤差項(xiàng)
δk=(dk-yk)yk(1-yk)
(5)
對(duì)中間各層的隱藏單元也計(jì)算得出L個(gè)誤差項(xiàng)
(6)
(6) 依次計(jì)算出網(wǎng)絡(luò)中各個(gè)權(quán)值參數(shù)的調(diào)整量
ΔWjk(n)=(α/(1+L))·(ΔWjk(n-1)+1)·δk·hj
(7)
ΔVij(n)=(α/(1+N))·(ΔVij(n-1)+1)·δk·hj
(8)
閾值參數(shù)的調(diào)整量為
Δθk(n)=(α/(1+L))·(Δθk(n-1)+1)·δk
(9)
Δφj(n)=(α/(1+L))·(Δφj(n-1)+1)·δj
(10)
(7) 根據(jù)各誤差項(xiàng)來調(diào)整權(quán)值參數(shù)
Wjk(n+1)=Wjk(n)+ΔWjk(n)
(11)
Vij(n+1)=Vij(n)+ΔVij(n)
(12)
調(diào)整閾值參數(shù)
θk(n+1)=θk(n)+Δθk(n)
(13)
φj(n+1)=φj(n)+Δφj(n)
(14)
(8) 當(dāng)下標(biāo)值k每次經(jīng)歷從1~M后,就會(huì)自動(dòng)判斷精度控制參數(shù)值是否滿足精度的要求:E≤ε,其中E是總誤差函數(shù)
(15)
如果不滿足此要求,就會(huì)返回到步驟(3),繼續(xù)進(jìn)行迭代過程;如果滿足此要求就會(huì)進(jìn)入下一步驟。
(9) 整個(gè)網(wǎng)絡(luò)的訓(xùn)練過程結(jié)束,就可認(rèn)為各個(gè)權(quán)值已經(jīng)基本達(dá)到穩(wěn)定狀態(tài)。在此還可將訓(xùn)練好的各個(gè)權(quán)值和閾值保存在本地文件中,下一次進(jìn)行網(wǎng)絡(luò)訓(xùn)練時(shí),可以直接從本地文件中導(dǎo)出各個(gè)權(quán)值和閾值進(jìn)行訓(xùn)練,無需再進(jìn)行參數(shù)的初始化。
根據(jù)以上步驟,對(duì)應(yīng)的簡(jiǎn)單CNN訓(xùn)練過程如圖4所示。
本文利用所研究的卷積神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法對(duì)山東省淄博市張店區(qū)與臨淄區(qū)域內(nèi)的GPS坐標(biāo)數(shù)據(jù)進(jìn)行仿真試驗(yàn),以驗(yàn)證本文方法在研究GPS坐標(biāo)轉(zhuǎn)換問題上的有效性。
本文選取淄博市內(nèi)以張店區(qū)與臨淄區(qū)域?yàn)橹行?、?jīng)度范圍為113.52°E—118.28°E、緯度范圍為32.25°N—36.833°N區(qū)域內(nèi)的2000個(gè)GPS點(diǎn)作為網(wǎng)絡(luò)訓(xùn)練樣本集,1000個(gè)GPS點(diǎn)作為網(wǎng)絡(luò)測(cè)試樣本集。網(wǎng)絡(luò)的部分訓(xùn)練樣本見表1。在開始訓(xùn)練網(wǎng)絡(luò)之前,需要對(duì)訓(xùn)練樣本集進(jìn)行預(yù)處理,即將樣本集的輸入和輸出數(shù)據(jù)歸一化到[-1,1]。
本試驗(yàn)構(gòu)造了一個(gè)輸入為28×28像素的非結(jié)構(gòu)化圖片、輸出為2個(gè)神經(jīng)元的7層卷積神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)的輸入是將原始GPS點(diǎn)大地坐標(biāo)系統(tǒng)的經(jīng)緯度值轉(zhuǎn)化為28×28像素的非結(jié)構(gòu)化數(shù)據(jù)集,輸出是1954北京坐標(biāo)系的平面坐標(biāo)。表2給出了CNN的結(jié)構(gòu)參數(shù),包括網(wǎng)絡(luò)中每一層的特征數(shù)、神經(jīng)元數(shù)、卷積核尺寸和池采樣尺寸等。
表1 網(wǎng)絡(luò)的部分訓(xùn)練樣本
表2 7層卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)
采用經(jīng)過預(yù)處理方法選取的非結(jié)構(gòu)化圖片樣本數(shù)據(jù)集對(duì)建立的7層CNN模型進(jìn)行訓(xùn)練和測(cè)試,完成GPS點(diǎn)的坐標(biāo)轉(zhuǎn)換過程。圖5為坐標(biāo)轉(zhuǎn)換的訓(xùn)練總誤差E曲線。從圖5可以看出,整個(gè)網(wǎng)絡(luò)的訓(xùn)練在迭代500次時(shí),誤差值迅速下降,而在迭代2000次之后是一個(gè)平穩(wěn)的收斂過程。
表3為分別采用傳統(tǒng)轉(zhuǎn)換方法、BP神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行GPS坐標(biāo)轉(zhuǎn)換的結(jié)果,可以看出本文使用的卷積神經(jīng)網(wǎng)絡(luò)方法能夠建立坐標(biāo)轉(zhuǎn)換的復(fù)雜模型,具有較高的轉(zhuǎn)換正確率。
表3 幾種方法的轉(zhuǎn)換結(jié)果比較 (%)
綜合以上試驗(yàn)結(jié)果分析可以得出以下幾個(gè)結(jié)論:
(1) 卷積神經(jīng)網(wǎng)絡(luò)方法可以模擬復(fù)雜的非線性變化關(guān)系,利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行坐標(biāo)轉(zhuǎn)換完全可行。
(2) 在卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,整個(gè)網(wǎng)絡(luò)的總體誤差曲線是快速且平穩(wěn)下降的,體現(xiàn)出CNN的特征學(xué)習(xí)過程具有良好的收斂性。
(3) 根據(jù)平均轉(zhuǎn)換正確率的結(jié)果,與傳統(tǒng)方法及BP神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換方法相比較,卷積神經(jīng)網(wǎng)絡(luò)能夠達(dá)到更深的特征學(xué)習(xí),即在GPS數(shù)據(jù)轉(zhuǎn)換時(shí)能夠得到更高的正確率,轉(zhuǎn)換效果更好。
本文提出了一種應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)模型的GPS坐標(biāo)轉(zhuǎn)換方法,將原始GPS坐標(biāo)數(shù)據(jù)轉(zhuǎn)化為非結(jié)構(gòu)化圖片數(shù)據(jù),利用卷積神經(jīng)網(wǎng)絡(luò)模型對(duì)非結(jié)構(gòu)化圖片數(shù)據(jù)進(jìn)行特征學(xué)習(xí),從而提取出GPS數(shù)據(jù)的內(nèi)在特征并進(jìn)行坐標(biāo)轉(zhuǎn)換。實(shí)測(cè)GPS數(shù)據(jù)驗(yàn)證的結(jié)果表明,本文所提出的基于卷積神經(jīng)網(wǎng)絡(luò)的GPS坐標(biāo)轉(zhuǎn)換方法取得了良好的轉(zhuǎn)換效果,預(yù)測(cè)精度高,是一種有效的GPS坐標(biāo)轉(zhuǎn)換方法。但由于卷積神經(jīng)網(wǎng)絡(luò)的良好表現(xiàn)受限于自身的監(jiān)督式訓(xùn)練,再加上實(shí)際采集到的原始GPS數(shù)據(jù)中存在著較為嚴(yán)重的背景干擾,導(dǎo)致GPS坐標(biāo)轉(zhuǎn)換的精度降低。因此,如何降低干擾并設(shè)計(jì)出更加合理的網(wǎng)絡(luò)結(jié)構(gòu)以提高網(wǎng)絡(luò)的通用性和穩(wěn)健性,是下一步值得研究的內(nèi)容。