宋 玲,王立穎
1(廣西大學(xué) 計算機與電子信息學(xué)院,南寧 530004) 2(廣西多媒體通信與網(wǎng)絡(luò)技術(shù)重點實驗室,南寧 530004)
隨著無線通信技術(shù)和智能移動設(shè)備的快速發(fā)展,基于位置的服務(wù)(LBS)受到人們的廣泛關(guān)注.全球定位系統(tǒng)(GPS)的使用使人們能夠在室外獲得可靠且高精度的位置信息,但由于受建筑物自身遮擋和建筑物內(nèi)部結(jié)構(gòu)的影響,室內(nèi)難以收到有效的GPS信號,因此無法提供理想的定位效果.
為了解決室內(nèi)定位的問題,國內(nèi)外學(xué)者提出了許多室內(nèi)定位技術(shù),例如:超寬帶定位、藍牙定位、Wi-Fi定位、機器視覺定位等.其中,基于Wi-Fi的指紋定位技術(shù)因其部署成本低、實用性強等優(yōu)點被廣泛應(yīng)用.一方面,Wi-Fi設(shè)備已被廣泛部署于各類建筑中,通過現(xiàn)有的無線基礎(chǔ)設(shè)施便可輕松實現(xiàn)該技術(shù),此外,現(xiàn)有的移動設(shè)備都內(nèi)置了Wi-Fi的接收和發(fā)射模塊,這意味著用戶無需再攜帶額外的設(shè)備便可獲得位置信息,真正實現(xiàn)了無感定位;另一方面,Wi-Fi信號的傳播范圍較大,并且能夠穿透建筑物墻壁等障礙物[1],相對于其它基于無線信號的定位技術(shù)來說,具有更強的實用性.
基于Wi-Fi的指紋定位技術(shù)通常分為兩個階段,分別是離線階段和在線階段.離線階段,首先由開發(fā)人員將待定位區(qū)域劃分成網(wǎng)格,每個網(wǎng)格點作為一個參考點(RP).其次,收集每個參考點處的來自不同接入點(AP)的接收信號強度(RSS).由于在不同位置收集到的來自同一個AP的RSS是不同的,因此,來自多個的AP的RSS可以作為一個位置獨一無二的標(biāo)志,即指紋.所有參考點的指紋數(shù)據(jù)收集結(jié)束后與參考點的位置信息一起存儲到指紋庫中,指紋庫中的指紋數(shù)據(jù)將在該階段用于訓(xùn)練出合適的定位模型.在線階段,由用戶站在待定位區(qū)域的任意位置,使用移動設(shè)備收集來自各AP的RSS形成實時指紋數(shù)據(jù),并將指紋數(shù)據(jù)傳至到定位模型中,以此來獲得位置信息.由此可見,構(gòu)建一個可靠的指紋庫以及收集到準(zhǔn)確且穩(wěn)定的實時指紋數(shù)據(jù)是實現(xiàn)高精度定位的關(guān)鍵.然而,由于信號的非視距傳播、多徑效應(yīng)等因素,收集到的指紋數(shù)據(jù)中往往包含了較多的噪聲,如何減少噪聲對定位的干擾,成為了該技術(shù)在應(yīng)用過程中一項亟待解決的問題.同時,指紋數(shù)據(jù)中包含了大量無效的冗余數(shù)據(jù),在一定程度上削弱了定位模型的學(xué)習(xí)能力,如何消除冗余數(shù)據(jù)的影響,提高模型的定位性能,也是一個值得研究的問題.
為此,本文提出了一種基于稀疏自編碼器(SAE)和深度收縮網(wǎng)絡(luò)(DSN)的室內(nèi)定位回歸模型.該模型能夠減少冗余數(shù)據(jù)對定位的干擾,同時有效消除在線階段指紋數(shù)據(jù)噪聲對定位的影響,從而進一步提高定位精度.本文的貢獻如下:
1)本文提出使用稀疏自編碼器(SAE)對指紋數(shù)據(jù)進行特征提取,稀疏自編碼器對隱藏層神經(jīng)元增加了稀疏性約束,能夠有效減少無用特征的干擾,增強定位模型的學(xué)習(xí)能力.
2)本文提出了一種深度收縮網(wǎng)絡(luò)(DSN),通過在全連接神經(jīng)網(wǎng)絡(luò)中引入軟閾值模塊,有效消除了指紋數(shù)據(jù)中噪聲的干擾,提高定位精度.
3)本文將稀疏自編碼器與提出的深度收縮網(wǎng)絡(luò)結(jié)合,形成了具有去噪能力的室內(nèi)定位回歸模型SAE-DSN.實驗表明,本文提出的模型能夠有效應(yīng)對在線階段高斯和非高斯噪聲的干擾,且更適合于Wi-Fi指紋數(shù)據(jù)的訓(xùn)練,相較于其它同類算法在定位精度上有明顯提升.
指紋數(shù)據(jù)的去噪問題一直是Wi-Fi指紋定位領(lǐng)域的研究熱點之一.為了降低RSS的波動給定位帶來的干擾,學(xué)者們提出使用不同濾波算法對指紋數(shù)據(jù)進行處理,例如:均值濾波、高斯濾波、卡爾曼濾波、 粒子濾波等.Wang等[2]提出使用均值濾波對收集到的RSS進行處理,通過對RSS多次采集求平均值,有效降低了異常值的干擾.Sun等[3]對比了均值濾波、高斯濾波和卡爾曼濾波對RSS數(shù)據(jù)的平滑能力,結(jié)果表明,卡爾曼濾波的適應(yīng)性更強,得到的數(shù)據(jù)更加接近真實值.Xue等[4]提出了一種改進的粒子濾波算法,通過將粒子濾波與卡爾曼濾波結(jié)合,能夠同時去除RSS中高斯和非高斯分布的噪聲,解決了單一濾波器只對特定噪聲敏感的問題.Zhang等[5]提出一種縮放因子自動優(yōu)化的改進箱線圖濾波方法.該方法利用中位數(shù)構(gòu)建非對稱的濾波區(qū)間,同時利用位置比對進行縮放因子的自動優(yōu)化,進行了原始觀測數(shù)據(jù)的粗差剔除,解決了非高斯分布噪聲的影響.盡管這些方法能夠有效地平滑數(shù)據(jù),剔除異常值,但是需要大量的觀測數(shù)據(jù)才能實現(xiàn),因此僅僅適用于離線階段對指紋庫中指紋數(shù)據(jù)的處理,無法解決在線階段指紋數(shù)據(jù)的噪聲問題.
模型的設(shè)計是Wi-Fi指紋定位技術(shù)的另一大挑戰(zhàn),好的模型應(yīng)該具有一定的應(yīng)對噪聲的能力,即使存在多徑信號和噪聲波動也能實現(xiàn)高精度的定位.RADAR[6]是最早提出的基于Wi-Fi指紋技術(shù)的室內(nèi)定位系統(tǒng)之一,其使用最近鄰法(NN)作為匹配算法.但是由于指紋數(shù)據(jù)是包含噪聲的,使用最鄰近的節(jié)點位置作為定位結(jié)果往往是不可靠的,可能會產(chǎn)生較大的定位誤差.為了減少單個鄰近節(jié)點可能帶來的干擾,K最近鄰法(KNN)、加權(quán)K最近鄰法(WKNN)等NN的改進算法被相繼用于指紋定位中,但還是無法從本質(zhì)上解決數(shù)據(jù)噪聲的干擾問題.為了進一步提升定位精度,貝葉斯算法、支持向量機等算法相繼被引入到指紋定位中,相對于KNN等算法,這些算法有一定的應(yīng)對噪聲的能力,因此定位精度有所提升,但也存在定位時間長的問題.隨著深度學(xué)習(xí)的發(fā)展,深度神經(jīng)網(wǎng)絡(luò)(DNN)[7]、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[8]、自編碼器(AE)等算法被廣泛應(yīng)用于Wi-Fi指紋定位中.深度學(xué)習(xí)算法能夠很好的逼近復(fù)雜的輸入輸出映射關(guān)系,并且模型訓(xùn)練放在離線階段,相比于傳統(tǒng)的機器學(xué)習(xí)算法,大大縮短了定位時間,定位性能得到了顯著提升.近幾年來,自編碼器與神經(jīng)網(wǎng)絡(luò)成為了Wi-Fi指紋定位中一種相對固定的組合.Song等[9]提出一個基于RSS指紋的室內(nèi)定位框架CNNLoc,該框架使用了堆疊自動編碼器(SAE)和一維CNN的組合模型,在UJIIndoorLoc數(shù)據(jù)集上達到了99%的建筑分類準(zhǔn)確率和96.03%的樓層分類準(zhǔn)確率.Feng等[10]提出了一種基于卷積去噪自編碼器(CDAE)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的定位系統(tǒng)CCPos.利用CDAE提取關(guān)鍵特征,然后由CNN輸出位置估計,在Alcala Tutorial 2017數(shù)據(jù)集和UJIIndoorLoc上分別獲得了1.05m和12.4m的定位精度.Wang等[11]提出了一種堆疊降噪自編碼器(SDAE)和多層感知機(MLP)的組合模型,該模型使用堆疊降噪自編碼器提取時間無關(guān)特征,當(dāng)訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)的收集時間間隔較大時,仍能保持較高的定位精度.然而,CNN主要是用于特征具有空間相關(guān)性的數(shù)據(jù),并不適合于提取指紋數(shù)據(jù)的空間特征.對于RNN來說,盡管能夠獲得較高的定位精度,但是需要在離線階段收集大量的時間序列數(shù)據(jù),不適用于小場景的定位中.同時,上述方法均未考慮在線階段的指紋數(shù)據(jù)的去噪問題,當(dāng)測試數(shù)據(jù)包含較多噪聲時,將達不到理想的定位效果.
針對于上述問題,本文提出了一種基于SAE-DSN的室內(nèi)定位回歸模型.該模型能夠有效減少無用特征的干擾,有效消除在線階段指紋數(shù)據(jù)中噪聲的干擾.接下來的章節(jié)將對本文提出的算法進行詳細的介紹.
(1)
反向傳播是把誤差信號反向傳回,并通過相應(yīng)的優(yōu)化算法對每層的各個神經(jīng)元的權(quán)值和偏置進行修改,以期誤差趨向最小.傳統(tǒng)的反向傳播算法使用梯度下降法進行權(quán)值和偏置的優(yōu)化.反向傳播如式(2)所示:
(2)
其中J表示損失函數(shù),對于分類問題,一般使用交叉熵損失函數(shù),對于回歸問題,一般使用均方誤差損失函數(shù).全連接網(wǎng)絡(luò)的學(xué)習(xí)過程就是使用大量的數(shù)據(jù)樣本循環(huán)訓(xùn)練多次,直到損失值不再下降或達到預(yù)設(shè)的迭代次數(shù),最終得到所需要的模型,即輸入與輸出的映射函數(shù).
軟閾值算法是一種常用的信號去噪方法,但閾值的確定需要許多信號處理方面的專業(yè)知識,這無疑成為了運用該方法的一大挑戰(zhàn).為此,Zhao等[12]提出了一種深度殘差收縮網(wǎng)絡(luò)DRSN,該網(wǎng)絡(luò)通過將軟閾值作為可訓(xùn)練的收縮函數(shù)嵌入到深層結(jié)構(gòu)中,自動確定了閾值,有效降低了噪聲的干擾.軟閾值函數(shù)如式(3)所示:
(3)
其中,x為輸入特征,y為輸出特征,τ為閾值,即為正參數(shù).軟閾值將接近于零的特征置為零,從而保留有用的負特征.軟閾值的導(dǎo)數(shù)如式(4)所示.可以看出,輸出對輸入的導(dǎo)數(shù)要么為1,要么為0,能夠有效防止梯度消失和梯度爆炸的問題.
(4)
DRSN有兩種結(jié)構(gòu),分別是DRSN-CS和DRSN-CW.其中,DRSN-CW將軟閾值作為非線性變換層插入到Resnet的殘差單元中,形成了具有Channel-Wise閾值的殘差單元RSBU(RSBU-CW).DRSN-CW與DRSN-CS最大的不同是它為每個通道都設(shè)置了一個閾值,即對每個通道都進行了噪聲消除,因此其性能優(yōu)于DRSN-CS.DRSN-CW的結(jié)構(gòu)單元RSBU-CW及整體結(jié)構(gòu)如圖1所示.
軟閾值模塊由3層組成,分別是全局平均池化層(GAP),以及兩個全連接層.全局平均池化層將來自卷積層的多個通道的絕對值簡化為一維向量,然后將其傳播到兩層的全連接層中.全連接層第2層有一個以上的神經(jīng)元,神經(jīng)元的數(shù)量等于輸入特征映射的通道數(shù)量.全連接層的輸出z經(jīng)過Sigmoid函數(shù)(如式(5)所示)后被縮放到(0,1)的范圍.
(a) DRSN-CW模型結(jié)構(gòu)單元 (b) DRSN-CW模型結(jié)構(gòu)
(5)
其中zc為第c個神經(jīng)元處的特征,αc為第c個縮放參數(shù).然后,閾值計算公式如式(6)所示:
(6)
式(6)中,τc表示特征圖第c個通道的閾值,i,j,c分別表示寬度,高度和通道的下標(biāo),閾值是正值,并保持在一個合理的范圍內(nèi),從而防止輸出特征為全零.
自編碼器是一種常用的無監(jiān)督學(xué)習(xí)算法,其包括編碼部分和解碼部分.它可以降低輸入信號的維度,同時自動提取出相對重要的特征,從而免去了復(fù)雜且繁瑣的手工特征工程過程.自編碼的損失函數(shù)如式(7)所示.其中x表示原始輸入信號,y表示重建的輸出信號,其目的是要最小化x和y之間的誤差.
(7)
稀疏自編碼器是自編碼器的一種改進,它是在自編碼器的基礎(chǔ)上對隱藏層神經(jīng)元增加稀疏性約束得到的.通過對隱藏層神經(jīng)元的稀疏性約束,使得一部分神經(jīng)元處于活躍狀態(tài),一部分神經(jīng)元處于抑制狀態(tài),從而使網(wǎng)絡(luò)達到一個稀疏的效果.稀疏自編碼器利用KL散度迫使隱藏層神經(jīng)元的平均激活值與一個給定的稀疏值相近,并將其作為懲罰項添加到損失函數(shù)中,從而實現(xiàn)對隱藏層神經(jīng)元的抑制效果.稀疏自編碼器的損失函數(shù)如式(8)~式(10)所示.
(8)
(9)
(10)
通過對隱藏層加入稀疏性的限制,迫使自編碼器將每個輸入表示為少量激活的神經(jīng)元的組合,如果通過隱藏層神經(jīng)元的稀疏表達可以完美地重建原始輸入信號,那么說明這些稀疏表達已經(jīng)包含了原始信號的重要特征,可以作為輸入數(shù)據(jù)的一種簡單表示,這樣就可以在保證模型重建精度的基礎(chǔ)上,降低數(shù)據(jù)的維度[13].
DRSN將軟閾值模塊嵌入到Resnet[14]網(wǎng)絡(luò)的殘差單元中,由多個殘差單元堆疊而成的,其本質(zhì)上屬于卷積神經(jīng)網(wǎng)絡(luò).然而,對于指紋數(shù)據(jù)來說,各AP之間相互獨立,且指紋數(shù)據(jù)中AP的排列是隨機的,不存在較強的空間相關(guān)性,因此,卷積操作不能使定位精度獲得更多的提升,這便是現(xiàn)有基于CNN的Wi-Fi指紋定位模型定位精度不高的原因之一.為了有效消除指紋數(shù)據(jù)的噪聲,同時使模型更適合用于指紋數(shù)據(jù)的訓(xùn)練,本文提出將軟閾值模塊嵌入到全連接網(wǎng)絡(luò)中,形成深度收縮網(wǎng)絡(luò)(DSN),網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示.
(a) DSN模型結(jié)構(gòu)單元 (b) DSN模型結(jié)構(gòu)
本文將DSN的結(jié)構(gòu)單位稱為DSBU,其結(jié)構(gòu)如圖2(a)所示.在DSBU中,所有的層均為全連接層,D1,D2表示數(shù)據(jù)的維度.由于指紋數(shù)據(jù)是一維的,因此本文舍棄DRSN軟閾值模塊中的GAP層,讓數(shù)據(jù)直接傳播到兩層全連接層中,這相當(dāng)于為每個神經(jīng)元都設(shè)置了一個閾值,即為每個神經(jīng)元都進行了去噪處理,換句話說,DSN為指紋數(shù)據(jù)中的每個RSS都進行了去噪操作.兩層全連接層的輸出z經(jīng)過Sigmoid激活函數(shù)式(11)后被縮放到(0,1)之間.
(11)
τd=αd·xd
(12)
zd表示為z的第d個神經(jīng)元,αd表示zd經(jīng)過Sigomid函數(shù)縮放后的輸出值,軟閾值的計算公式如式(12)所示.
本文提出的SAE-DSN模型定位框架如圖3所示.首先由開發(fā)人員在待定位區(qū)域收集指紋數(shù)據(jù),形成指紋數(shù)據(jù)庫,其次對指紋數(shù)據(jù)進行歸一化處理,處理后的數(shù)據(jù)作為模型的輸入.SAE-DSN模型首先使用稀疏自編碼器(SAE)對指紋數(shù)據(jù)進行降維,以提取出指紋數(shù)據(jù)的魯棒特征.由于稀疏自編碼器對隱藏層的神經(jīng)元添加了稀疏性約束,因此隱藏層中一部分的神經(jīng)元處于活躍狀態(tài),一部分神經(jīng)元處于抑制狀態(tài),降維后的數(shù)據(jù)輸入到DSN網(wǎng)絡(luò)中.DSN由多個DSBU堆疊而成,每個DSBU都會對神經(jīng)元進行去噪處理,經(jīng)過大量指紋數(shù)據(jù)訓(xùn)練后,最終形成具有去噪能力的定位回歸模型.當(dāng)在線定位時,用戶只需使用手機將實時收集的指紋數(shù)據(jù)輸入訓(xùn)練好的模型中,便可得到位置信息.SAE-DSN模型的訓(xùn)練過程如算法1所示.
圖3 模型定位框架Fig.3 Model positioning frame
算法1.SAE-DSN
輸入:Training Dataset,Validation Dataset,Test Dataset
輸出:(x,y)
1.建立稀疏自編碼器結(jié)構(gòu)
2.foreach Epochesdo
3. 使用優(yōu)化算法最小化損失函數(shù),訓(xùn)練SAE模型
4. 計算驗證集的損失值val loss,保存損失值最小的模型
5. 根據(jù)val loss執(zhí)行學(xué)習(xí)率衰減策略scheduler.step()
6.ifval loss連續(xù)n1個epoch未下降do
7.break//結(jié)束模型訓(xùn)練
8.New Training Dataset=SAE_predict(Training Dataset)
New Validation Dataset=SAE_predict(Training Dataset)
New Test Dataset=SAE_predict(Test Dataset)
9.建立深度收縮網(wǎng)絡(luò)DSN
10.foreach Epochesdo
11.使用優(yōu)化算法最小化損失函數(shù),訓(xùn)練DSN模型
12.計算驗證集的損失值val loss,保存損失值最小的模型
13.根據(jù)val loss執(zhí)行學(xué)習(xí)率衰減策略scheduler.step()
14.ifval loss連續(xù)n2個epoch未下降do
15.break//結(jié)束模型訓(xùn)練
16.positioning_result=DSN_predict(New Test Dataset)
17.returnpositioning_result
本文在數(shù)據(jù)集UJIIndoorLoc[15]上評估提出模型的有效性.實驗環(huán)境為:Python 3.7、Pytorch 1.7.1、Tesla GPU V100.
UJIIndoorLoc(http://indoorlocplatform.uji.es/databases/get/1/)是目前應(yīng)用較為廣泛的大型公共數(shù)據(jù)集之一,覆蓋了Jaume I大學(xué)的3棟建筑,面積近11萬平方米.該數(shù)據(jù)集由19937條訓(xùn)練記錄和1111個驗證記錄組成,每條記錄包含來自520個AP的接收信號強度(RSS)、經(jīng)緯度、建筑編號、樓層編號等.RSS值為負整數(shù)值,范圍從-104dBm(極差信號)到0dBm,未檢測到信號的AP使用100表示.由于未能以公開的方式獲取測試集,本文將驗證集作為測試集使用,驗證集使用Song等[9]提出的拆分方法進行拆分,確保驗證集的數(shù)據(jù)分布與訓(xùn)練集的數(shù)據(jù)分布保持一致.UJIIndoorLoc數(shù)據(jù)集樣本數(shù)量分布情況如表1所示.
表1 UJIIndoorLoc數(shù)據(jù)集樣本數(shù)量分布情況Table 1 Distribution of samples in UJIIndoorLoc dataset
(13)
本文設(shè)計了一個兩層的稀疏自編碼器(520-324-256-324-520)和一個由3個DSBU和一層全連接層堆疊而成的深度收縮網(wǎng)絡(luò)(256-128-64-32-2).指紋數(shù)據(jù)經(jīng)過稀疏自編碼器后,維數(shù)被降至256維,降維后的數(shù)據(jù)輸入到深度收縮網(wǎng)絡(luò)中進行訓(xùn)練.模型的輸出層是一層線性的全連接層,輸出的數(shù)據(jù)維度為2,表示預(yù)測的坐標(biāo).模型的參數(shù)如表2所示.
表2 SAE-DSN模型參數(shù)Table 2 SAE-DSN model parameters
為了獲得最優(yōu)模型,本文在稀疏自編碼器(SAE)和深度收縮網(wǎng)絡(luò)(DSN)的訓(xùn)練過程中均使用了學(xué)習(xí)率衰減策略和早停機制.對于稀疏自編碼器來說,每訓(xùn)練5個epoch,學(xué)習(xí)率衰減為原來的0.6倍,當(dāng)連續(xù)12個epoch驗證集的損失值未下降時,則結(jié)束訓(xùn)練.對于深度收縮網(wǎng)絡(luò)來說,當(dāng)驗證集的損失值連續(xù)5個epoch未下降時,學(xué)習(xí)率衰減為原來的0.5倍,當(dāng)連續(xù)20個epoch未下降時,則結(jié)束訓(xùn)練.
5.3.1 提出的模型的表現(xiàn)
本文在UJIIndoorLoc數(shù)據(jù)集上,使用不同網(wǎng)絡(luò)結(jié)構(gòu)的DRSN進行實驗,對比DRSN與DSN和SAE-DSN的表現(xiàn),以說明本文提出的模型的有效性.1D-DRSN使用Zhao等[12]提出的結(jié)構(gòu),2D-DRSN(Resnet18)和2D-DRSN(Resnet34)分別表示以Resnet18和Resnet34為主體網(wǎng)絡(luò)的DRSN.
表3 DRSN、DSN和SAE-DSN的表現(xiàn)Table 3 Performance of DRSN,DSN and SAE-DSN
表3展示了不同結(jié)構(gòu)的DRSN與DSN和SAE-DSN在平均定位誤差、平均定位時間、訓(xùn)練時間等方面的表現(xiàn).如表3所示,本文提出的SAE-DSN模型的平均定位誤差最小,平均定位時間短,同時,模型的訓(xùn)練時間以及測試集損失值均小于所對比的其它模型.緊隨其后的是DSN模型,在定位誤差、定位時間、訓(xùn)練時間等方面均有著良好的表現(xiàn),僅次于SAE-DSN模型.DRSN模型的平均定位誤差均高于比SAE-DSN和DSN模型,其中1D-DRSN的表現(xiàn)最差,平均定位誤差最高,說明了本文提出的模型的有效性.DSN模型為每個神經(jīng)元都設(shè)置了一個閾值,即對每個神經(jīng)元都進行了去噪處理,因此能夠獲得相對較高的定位精度.對于SAE-DSN模型來說,由于在定位前使用了稀疏自編碼器對指紋數(shù)據(jù)進行了特征提取,消除了冗余數(shù)據(jù)的干擾,因此定位精度獲得了進一步的提升.此外,SAE-DSN和DSN模型的訓(xùn)練時間均小于DRSN模型,減小了指紋庫更新和維護的時間開銷,綜上所述,本文提出的SAE-DSN模型更適合應(yīng)用于指紋定位的場景當(dāng)中.
5.3.2 與同類方法的對比實驗
本小節(jié)將提出的SAE-DSN模型與近幾年的同類模型進行比較.這里的同類模型指的是輸入和輸出維度的方式與SAE-DSN相同的深度學(xué)習(xí)模型.CNNLoc[9]和SDAE-MLP[11]均為2019年提出的Wi-Fi指紋室內(nèi)定位模型,CNNLoc基于堆疊自動編碼器(SAE)和一維卷積神經(jīng)網(wǎng)絡(luò)(CNN),可用于建筑、樓層及位置坐標(biāo)的預(yù)測,SDAE-MLP為堆疊降噪自編碼器(SDAE)結(jié)合多層感知機(MLP)的回歸模型,用于室內(nèi)位置坐標(biāo)的預(yù)測.模型及其表現(xiàn)如表4所示.
表4 CNNLoc、SDAE-MLP和SAE-DSN的表現(xiàn)Table 4 Performance of CNNLoc,SDAE-MLP and SAE-DSN
從表4中可知,本文提出的SAE-DSN模型的平均定位誤差為8.48米,遠小于所對比的同類模型.圖4為3種模型的定位誤差累計分布(CDF)圖,表5為3種模型的定位誤差在不同距離范圍內(nèi)的樣本數(shù)量.從圖4中可以看出,本文的模型定位誤差在5米內(nèi)的概率為41%,定位誤差在10米內(nèi)的概率為70%,而CNNLoc的概率僅為26%和56%,SDAE-MLP的概率僅為29%和59%.并且本文提出的模型定位誤差在0~1米、1~3米、3~5米的樣本數(shù)量為39、198、221,SDAE-MLP模型為27、114、187,而CNNLoc模型僅為17、94、181,均多于所對比的CNNLoc模型和SDAE-MLP模型.同時,本文提出的模型沒有定位誤差大于50米的樣本,CNNLoc模型有15個,SDAE-MLP模型有27個,說明了本文模型的優(yōu)越性.
表5 不同誤差范圍內(nèi)的樣本數(shù)量Table 5 Number of samples within different error ranges
圖4 定位誤差累計分布圖Fig.4 Cumulative distribution of positioning error
5.3.3 提出的模型的抗噪性能
為了進一步驗證本文提出的模型應(yīng)對噪聲的能力,本文向測試數(shù)據(jù)中加入高斯噪聲和非高斯噪聲,模擬現(xiàn)實場景中數(shù)據(jù)收集時可能出現(xiàn)的RSS受到干擾而衰減的情況.高斯噪聲為服從高斯分布(X-N(0,1))的高斯白噪聲,非高斯噪聲使用拉普拉斯噪聲(X-La(0,1))及服從α穩(wěn)定分布(α=1.5)的非高斯噪聲.拉普拉斯噪聲是無線通信場景下常見的非高斯噪聲[16],α穩(wěn)定分布常用于大氣噪聲的建模及其它非高斯脈沖噪聲場景的建模[17],噪聲的選擇具有合理性.
RSS′=RSS+λ·noise
(14)
如式(14)所示,λ表示噪聲系數(shù),λ∈[0,1]用于控制加入的噪聲的強度,本文選取不同的λ值,使用平均定位誤差評價不同模型的去噪能力.為了使數(shù)據(jù)具有統(tǒng)計意義,對于同一個λ值,本文向測試集中獨立地加入噪聲10次,形成10個不同的測試集,觀察不同模型定位誤差變化情況.
圖5~圖7展示了添加了高斯噪聲、拉普拉斯噪聲和服從α穩(wěn)定分布的非高斯噪聲后SAE-DSN、CNNLoc、SDAE-MLP 3種模型在不同噪聲系數(shù)(λ)下平均定位誤差的變化趨勢.從圖中可看到,當(dāng)λ取不同值時,無論是添加高斯噪聲還是非高斯噪聲,本文提出模型的定位誤差均小于CNNLoc模型和SDAE-MLP模型,且定位誤差變化趨勢都較為緩和,即對噪聲不敏感,相比之下,CNNLoc、SDAE-MLP兩種模型定位誤差變化趨勢略顯陡峭,尤其是SDAE-MLP模型,對噪聲較為敏感.從圖5中可以看出,對于高斯噪聲,當(dāng)λ=0.1時,SAE-DSN模型相對于未加噪時的定位誤差只增加了0.78米,而CNNLoc和SDAE-MLP模型分別增加了2.2米和1.12米,當(dāng)λ=0.5時,SAE-DSN模型相對于未加噪時的定位誤差增加了5.61米,而CNNLoc和SDAE-MLP模型分別增加了10.31米和10.39米,同樣,從圖6和圖7可以看出,對于非高斯噪聲,SAE-DSN也有類似的表現(xiàn).以上數(shù)據(jù)充分說明了本文提出的模型具有較強的抗噪性和魯棒性.能夠較好的應(yīng)對在線階段數(shù)據(jù)噪聲的干擾,而CNNLoc和SDAE-MLP模型對噪聲較為敏感,小的噪聲就會引起定位誤差的較大變化.
圖5 高斯噪聲下不同模型的平均定位誤差Fig.5 Average positioning error of different models under Gaussian noise
圖6 拉普拉斯噪聲下不同模型的平均定位誤差Fig.6 Average positioning error of different models under Laplace noise
圖7 服從α穩(wěn)定分布的非高斯噪聲下不同模型的平均定位誤差Fig.7 Average positioning error of different models under obey α stably distributed non Gaussian noise
5.3.4 不同自編碼器對模型性能的影響
由于指紋數(shù)據(jù)的高維稀疏性,在模型訓(xùn)練之前,通常先使用自編碼器對指紋數(shù)據(jù)進行降維和特征提取,以獲得有效的特征,提高模型的學(xué)習(xí)能力.不同的自編碼器提取特征的能力不同,相應(yīng)訓(xùn)練出的模型的表現(xiàn)也不同,在現(xiàn)有的研究中,使用最多的是堆疊自編碼器(StackedAE)和堆疊降噪自編碼器(StackedDAE),因此,本小節(jié)上述兩種自編碼器與稀疏自編碼器對模型定位性能的影響.自編碼器的結(jié)構(gòu)為(520-324-256-324-520),定位模型結(jié)構(gòu)為DSN(256-128-64-32-2).
表6展示了不同自編碼器下DSN模型的定位誤差,如表6所示,使用稀疏自編碼器時,DSN的定位誤差最小,其次是堆疊自編碼器,定位誤差為8.69米,使用堆疊降噪自編碼器時,DSN模型的表現(xiàn)最差.總的來說,由于稀疏自編碼器對隱藏層神經(jīng)元添加了稀疏性約束,所獲得的數(shù)據(jù)更能反映原始數(shù)據(jù)的重要特征,同時研究表明,稀疏自編碼器關(guān)注了隱藏層表達的魯棒性,這意味著稀疏自編碼器具有一定的抗噪能力,當(dāng)輸入信號出現(xiàn)微小變化時,隱藏層表達與干凈輸入信號的隱藏層表達將不會發(fā)生較大的變化,因此,使用稀疏自編碼器時,DSN能夠獲得相對較高的定位精度.
針對指紋數(shù)據(jù)的高維稀疏性及指紋數(shù)據(jù)噪聲對定位的干擾,本文提出一種基于SAE-DSN的室內(nèi)定位回歸模型.本文提出使用稀疏自編碼器(SAE)提取指紋數(shù)據(jù)的魯棒特征,稀疏自編碼器(SAE)對隱藏層神經(jīng)元增加了稀疏性約束,能夠有效減少無用特征的干擾,增強定位模型的學(xué)習(xí)能力.其次,本文提出一種深度收縮網(wǎng)絡(luò)(DSN),通過在全連接神經(jīng)網(wǎng)絡(luò)中引入軟閾值模塊,能夠?qū)γ總€神經(jīng)元進行去噪處理,有效地消除了指紋數(shù)據(jù)中噪聲的干擾,提高定位精度.本文將稀疏自編碼器與深度收縮網(wǎng)絡(luò)結(jié)合,形成了具有去噪能力的室內(nèi)定位回歸模型SAE-DSN.本文提出的模型在UJIIndoorLoc進行實驗,結(jié)果表明本文模型能達到8.48米的定位精度,明顯優(yōu)于現(xiàn)有同類模型.同時,本文模型有著更少的訓(xùn)練時長和更強的抗噪能力,更適合Wi-Fi指紋數(shù)據(jù)的訓(xùn)練,即使在線階段收集到的數(shù)據(jù)包含較大噪聲,仍能夠獲得相比于同類模型更高的定位精度.