劉偉明金 韜汪啟杭馮鵬宇
(浙江大學(xué)信息與電子工程學(xué)院,浙江 杭州310027)
近年來(lái),盡管全球定位系統(tǒng)(Global Positioning System,GPS)能夠?yàn)闊o(wú)線傳感器提供定位信息,但是在室內(nèi)定位上效果仍然不佳。 隨著WiFi 技術(shù)不斷的普及,基于WiFi 信號(hào)強(qiáng)度的室內(nèi)定位系統(tǒng)越來(lái)越多地出現(xiàn)在市場(chǎng)上。 最常用的WiFi 定位技術(shù)是基于接收信號(hào)強(qiáng)度(Received Signal Strength Indication,RSSI)的指紋信息而建立的匹配系統(tǒng)[1-4]。 該系統(tǒng)工作通常有兩個(gè)階段,即離線數(shù)據(jù)采集的訓(xùn)練階段和在線預(yù)測(cè)評(píng)估階段。 之前研究人員常用的手段是基于最近鄰分析(K-Nearest Neighbor,KNN)[5]或者支持向量機(jī)(Support Vector Machine,SVM)[6]的方式對(duì)RSSI 進(jìn)行處理。 由于上述方法提取到的特征有限,并且訓(xùn)練策略較為單一,定位準(zhǔn)確度相對(duì)較差[7]。 目前越來(lái)越多的研究人員開(kāi)始采用深度學(xué)習(xí)的方法,通過(guò)提取RSSI 中更為有效的信息,從而得到更高的預(yù)測(cè)精確度。 但是現(xiàn)有的大多數(shù)模型都無(wú)法適應(yīng)隨時(shí)間或者環(huán)境劇烈變化的RSSI 信號(hào),導(dǎo)致訓(xùn)練好的模型僅僅只能適用極短時(shí)間,若長(zhǎng)期運(yùn)行,則預(yù)測(cè)準(zhǔn)確度大打折扣。 如何訓(xùn)練一個(gè)定位模型,使其可以長(zhǎng)期適應(yīng)RSSI 信號(hào)的漂變而不損失過(guò)多的預(yù)測(cè)精確度成為需要重點(diǎn)研究的課題。
RSSI 的信號(hào)強(qiáng)度會(huì)隨時(shí)間、環(huán)境的改變而發(fā)生變化。 圖1 是在不同時(shí)間、相同位置上采集1 min所得到的平均RSSI 信號(hào)強(qiáng)度分布,由圖可見(jiàn),短期(15 d)內(nèi)RSSI 的整體信號(hào)強(qiáng)度的偏移相對(duì)較小,而在較長(zhǎng)時(shí)間間隔(60 d)內(nèi),RSSI 的整體分布就已經(jīng)和最初所采集的信號(hào)有了明顯差異。 若重新去采集RSSI 數(shù)據(jù)再建立模型,則費(fèi)時(shí)費(fèi)力。 之前有研究人員借用額外的傳感器[7],例如陀螺儀等設(shè)備重新記錄用戶的軌跡來(lái)更新RSSI 的數(shù)值,但引入新的傳感器也往往帶來(lái)新的誤差。 近年來(lái)采用去噪自編碼器對(duì)RSSI 進(jìn)行建模逐漸成為主流做法[8-10],通過(guò)人為增加噪聲可以有效提高模型的魯棒性,以適應(yīng)RSSI信號(hào)的漂變。 但是這些模型往往相對(duì)簡(jiǎn)單且單一,無(wú)法準(zhǔn)確描述整個(gè)RSSI 的環(huán)境,導(dǎo)致模型的定位精確度在長(zhǎng)時(shí)間間隔內(nèi)仍然較低[11]。
圖1 在固定采樣點(diǎn)下的WiFi 的RSSI 信號(hào)強(qiáng)度隨著時(shí)間發(fā)生波動(dòng)的示意直方圖
通過(guò)引入多個(gè)學(xué)習(xí)器的集成學(xué)習(xí)可以有效提升模型的表示能力[12]。 常見(jiàn)的集成學(xué)習(xí)方法有隨機(jī)森林[13]、GBDT(Gradient Boosted Decision Tree,梯度提升樹(shù))[14]、XGBoost(Extreme Gradient Boosting,極限梯度提升樹(shù))[15]和LightGBM(Light Gradient Boosting Machine,輕量梯度提升樹(shù))[16]等。 但上述集成模型都有一個(gè)共同的缺點(diǎn),每個(gè)學(xué)習(xí)器得到的損失函數(shù)是一致的,導(dǎo)致在訓(xùn)練結(jié)束之后每一個(gè)學(xué)習(xí)器之間沒(méi)有差異性,最終同化為一個(gè)簡(jiǎn)單的學(xué)習(xí)器,這顯然無(wú)法提升模型的泛化能力[17-18]。 而負(fù)相關(guān)學(xué)習(xí)則可以有效引導(dǎo)每一個(gè)獨(dú)立的學(xué)習(xí)器學(xué)到不一樣的特征,降低模型學(xué)習(xí)器彼此的相關(guān)性,使其獲得不一樣的表征效果,從而大大降低模型過(guò)擬合。 本文提出了一種新的室內(nèi)定位模型,將采用深度學(xué)習(xí)結(jié)合負(fù)相關(guān)學(xué)習(xí)的訓(xùn)練策略,利用負(fù)相關(guān)學(xué)習(xí)使模型中的每個(gè)學(xué)習(xí)器之間彼此學(xué)到不一樣的特征,提升模型對(duì)于環(huán)境的表達(dá)能力和泛化能力,并提高其在短期和長(zhǎng)期時(shí)間間隔內(nèi)的定位準(zhǔn)確度。
傳統(tǒng)的集成學(xué)習(xí)除了效率低之外,由于不同的學(xué)習(xí)器之間沒(méi)有約束和限制,產(chǎn)生的回歸結(jié)果往往有很強(qiáng)的相關(guān)性,從而導(dǎo)致模型出現(xiàn)過(guò)擬合,極大的降低了模型的準(zhǔn)確度。 負(fù)相關(guān)學(xué)習(xí)的提出,是為了使得集成學(xué)習(xí)下多個(gè)學(xué)習(xí)器可以有很強(qiáng)的多樣性。負(fù)相關(guān)學(xué)習(xí)則是給每個(gè)學(xué)習(xí)器以一定的約束,從而有效增強(qiáng)其學(xué)習(xí)和泛化的能力。
假設(shè)現(xiàn)有m個(gè)訓(xùn)練樣本,在數(shù)據(jù)集中的訓(xùn)練數(shù)據(jù)表示為X={x1,…,xm},其對(duì)應(yīng)的標(biāo)簽為Y={y1,…,ym}。 當(dāng)前的核心任務(wù)就是設(shè)計(jì)學(xué)習(xí)網(wǎng)絡(luò)Q,使其輸出不斷逼近標(biāo)簽Y,學(xué)習(xí)網(wǎng)絡(luò)的損失函數(shù)定義為
式中:p(X,Y)是數(shù)據(jù)集的分布概率[18]。 上述損失函數(shù)在實(shí)際建模中通常也可用均值平方損失函數(shù)代替,即為
越來(lái)越多的研究證實(shí),僅用一個(gè)簡(jiǎn)單的學(xué)習(xí)器很難對(duì)數(shù)據(jù)集進(jìn)行建模[19-20]。 因此,要采用多個(gè)學(xué)習(xí)器互相配合的集成學(xué)習(xí)策略。 假設(shè)有k個(gè)獨(dú)立的學(xué)習(xí)器,它們之間的參數(shù)和權(quán)重不同,每一個(gè)學(xué)習(xí)器的輸出記為Qk,于是這k個(gè)獨(dú)立學(xué)習(xí)器的輸出的均值^Q可表示為
根據(jù)偏差-方差分解定理[21],如果每個(gè)學(xué)習(xí)器之間都彼此高度相關(guān),則集成學(xué)習(xí)的效果就會(huì)大打折扣,且最終會(huì)影響到其泛化性能,最終導(dǎo)致模型很難適應(yīng)RSSI 隨時(shí)間和環(huán)境的變化,這是諸如隨機(jī)森林、GBDT 等大多數(shù)集成學(xué)習(xí)模型在室內(nèi)定位上表現(xiàn)欠佳的主要原因。 平方損失函數(shù)可以被展開(kāi)為偏差和方差兩個(gè)部分。 此時(shí)很容易得到如下結(jié)果:
式(4)反應(yīng)了集成學(xué)習(xí)器的二次誤差應(yīng)保證小于或者等于其他學(xué)習(xí)器的平均二次誤差。 正因?yàn)槿绱?,可以適當(dāng)?shù)亟o不同的學(xué)習(xí)器增加約束,使彼此保持差異性。 這樣就可得到負(fù)相關(guān)學(xué)習(xí)的損失函數(shù):
式中:λ是一個(gè)平衡兩個(gè)損失的超參數(shù)。 在本文中,我們首次將負(fù)相關(guān)學(xué)習(xí)應(yīng)用到室內(nèi)定位算法之中,同時(shí)將負(fù)相關(guān)學(xué)習(xí)和自編碼器、回歸器的任務(wù)有效結(jié)合,極大地提升了模型的魯棒性和穩(wěn)定性。
在WiFi 室內(nèi)定位中,為了提高模型的定位精度,避免多徑效應(yīng)和陰影衰弱帶來(lái)的定位誤差,現(xiàn)在越來(lái)越多的模型開(kāi)始采用指紋定位的方法。 其中的指紋即指每一個(gè)采樣點(diǎn)所收集到的所有RSSI 信號(hào)強(qiáng)度數(shù)值。 每一個(gè)采樣點(diǎn)收集到的RSSI 數(shù)據(jù)都會(huì)因?yàn)槠渌幍沫h(huán)境不同而不同,因此也被稱為定位指紋。 通過(guò)神經(jīng)網(wǎng)絡(luò),可以高效地?cái)M合所采樣到的WiFi 指紋信息和其對(duì)應(yīng)的坐標(biāo)位置信息。
我們提出的深度負(fù)相關(guān)學(xué)習(xí)模型的預(yù)測(cè)過(guò)程主要包括兩個(gè)階段:離線采集數(shù)據(jù)階段和在線數(shù)據(jù)驗(yàn)證測(cè)試階段。 整個(gè)模型的架構(gòu)如圖2 所示。 在離線采集階段,通過(guò)WiFi 探針收集每一個(gè)WiFi 的RSSI強(qiáng)度。 通過(guò)噪聲添加層對(duì)原始數(shù)據(jù)施加噪聲來(lái)增強(qiáng)模型的魯棒性。 其后將數(shù)據(jù)喂入k個(gè)不同的集成學(xué)習(xí)器中,每一個(gè)集成學(xué)習(xí)器包含編碼器、解碼器和回歸器。 編碼器和解碼器構(gòu)成了自編碼器,而回歸器用來(lái)擬合給定的坐標(biāo)。 每一個(gè)學(xué)習(xí)器都有自編碼器損失、最小二乘回歸坐標(biāo)損失和負(fù)相關(guān)學(xué)習(xí)損失。在測(cè)試階段,模型采集每一個(gè)WiFi 的RSSI 強(qiáng)度之后,不再經(jīng)過(guò)噪聲添加層,而是直接喂入k個(gè)不同的集成學(xué)習(xí)器,并將其輸出的預(yù)測(cè)結(jié)果取平均后作為最終的預(yù)測(cè)結(jié)果。
圖2 深度負(fù)相關(guān)定位模型框圖
首先收集可靠的WiFi 的RSSI 數(shù)據(jù)。 注意到RSSI 的數(shù)據(jù)處在-110 dBm 到0 dBm 之間,因此需要對(duì)RSSI 信號(hào)進(jìn)行歸一化從0 到1 之間,以便得到無(wú)偏和低方差的數(shù)據(jù)
式中:rssii,j是從i號(hào)采樣節(jié)點(diǎn)采集到的j號(hào)Wifi 錨點(diǎn)的RSSI 數(shù)據(jù)。 此時(shí)可以構(gòu)建一個(gè)Wifi 指紋的數(shù)據(jù)庫(kù),其中包括RSSI 信息和坐標(biāo)位置。
式中:Rs∈?m×n,其中m代表所有參考測(cè)量節(jié)點(diǎn)的個(gè)數(shù),n代表所有Wifi 錨點(diǎn)個(gè)數(shù)。 (RPsxi,RPsyi)是第i個(gè)采樣節(jié)點(diǎn)的坐標(biāo)信息。 類似于式(6),也需要將矩陣Ys進(jìn)行歸一化。
深度負(fù)相關(guān)學(xué)習(xí)系統(tǒng)的主干網(wǎng)絡(luò)包含如下模塊:噪聲添加層N和k個(gè)獨(dú)立的學(xué)習(xí)器。 每個(gè)彼此獨(dú)立的第h號(hào)學(xué)習(xí)器中又包含了編碼器Eh、解碼器Dh和回歸器Ch。 隨機(jī)丟失技術(shù)(Dropout)已經(jīng)被證實(shí)可以有效提升數(shù)據(jù)和系統(tǒng)的魯棒性。 因此,在原始的RSSI 數(shù)據(jù)的基礎(chǔ)上,在噪聲添加層利用隨機(jī)丟失技術(shù)以一定的比例丟失和刪除輸入的信息數(shù)據(jù)。在試驗(yàn)過(guò)程中隨機(jī)丟失的比例設(shè)置為30%,即有30%的輸入信息會(huì)被隨機(jī)置0。 此后被噪聲污染的數(shù)據(jù)N(Rsi)將被輸入到k個(gè)獨(dú)立的學(xué)習(xí)器中。
通過(guò)訓(xùn)練后端的自編碼器,可以使其能從噪聲數(shù)據(jù)中恢復(fù)原始干凈的數(shù)據(jù)。 通過(guò)第h號(hào)學(xué)習(xí)器的編碼器Eh后會(huì)得到隱含特征zsh,i=Eh[N(Rsi)],后續(xù)的解碼器Dh則利用該特征還原信號(hào)。 解碼器Dh和編碼器Eh的激活函數(shù)都設(shè)置為relu(x)=max(0,x)。k個(gè)獨(dú)立的學(xué)習(xí)器的平均輸出是。 將負(fù)相關(guān)學(xué)習(xí)和自編碼器的重構(gòu)損失相結(jié)合,得到第h號(hào)學(xué)習(xí)器的損失函數(shù)
此處的超參數(shù)λ1用于平衡自編碼重構(gòu)損失和負(fù)相關(guān)重構(gòu)損失二者之間的差異。
式中:超參數(shù)λ2用于平衡均方回歸誤差損失和負(fù)相關(guān)均方回歸損失二者的差異。 因此,對(duì)于第h號(hào)學(xué)習(xí)器,它的總損失函數(shù)可以表示為
為了驗(yàn)證深度負(fù)相關(guān)定位系技術(shù)的可靠性,在真實(shí)的環(huán)境下對(duì)該算法進(jìn)行有效性測(cè)試。 測(cè)試時(shí)間從2020 年2 月1 日至2020 年3 月31 日。 在環(huán)境中安置了60 個(gè)WiFi 的錨點(diǎn),每個(gè)WiFi 錨點(diǎn)的距離設(shè)置為1.8 m,采樣點(diǎn)的間隔也設(shè)置為1.8 m。 我們采用同樣的安卓系統(tǒng)對(duì)RSSI 信號(hào)進(jìn)行采樣,每次采樣間隔5 s,并對(duì)回收到了數(shù)據(jù)進(jìn)行平滑濾波。 為了驗(yàn)證模型對(duì)RSSI 隨著時(shí)間的漂變具有很強(qiáng)的魯棒性,系統(tǒng)每5 d、15 d、30 d、60 d 就會(huì)重新隨機(jī)選擇節(jié)點(diǎn)采集數(shù)據(jù)。 所得到的測(cè)試集數(shù)據(jù)表示為
輸出的預(yù)測(cè)坐標(biāo)為
網(wǎng)絡(luò)結(jié)構(gòu)的具體細(xì)節(jié)如下。 輸入層的神經(jīng)元為60 個(gè),期間經(jīng)歷編碼器的三層全連接層后得到隱含特征z,其維度是40。 隱含特征z再經(jīng)歷解碼器的三層全連接層后得到自編碼器的重構(gòu)數(shù)據(jù),同時(shí)經(jīng)過(guò)回歸器的三層全連接之后輸出預(yù)測(cè)的位置信息。在網(wǎng)絡(luò)訓(xùn)練過(guò)程中采用Adam 作為優(yōu)化器,設(shè)置學(xué)習(xí)率為0.1,設(shè)置訓(xùn)練次數(shù)為50 輪。 默認(rèn)設(shè)置學(xué)習(xí)器個(gè)數(shù)為6 個(gè)(k=6)。 其中關(guān)鍵的超參數(shù)搜索范圍是λ1={0.01,0.02,0.05,0.1,0.2,0.5,1,3,10},λ2={0.01,0.02,0.05,0.1,0.2,0.5,1,3,10}。 可以利用網(wǎng)格搜索法(Grid Search)得到最優(yōu)的參數(shù)為λ1=0.1,λ2=0.1。
首先我們?cè)u(píng)估深度負(fù)相關(guān)學(xué)習(xí)在開(kāi)始測(cè)試當(dāng)天的定位表現(xiàn)。 這里我們隨機(jī)采樣了200 個(gè)點(diǎn),其中150 點(diǎn)當(dāng)成訓(xùn)練集,剩下50 個(gè)點(diǎn)作為測(cè)試集。 相應(yīng)對(duì)比的模型和方法如表1 所示,得到的誤差距離的累計(jì)概率如圖3 所示。
表1 對(duì)比模型的差異對(duì)照表格
圖3 不同模型的定位誤差距離的累計(jì)概率
圖3是不同模型的定位誤差距離的累計(jì)概率分布,由圖3 可見(jiàn):①對(duì)比模型1 和模型2 可知,添加了噪聲層之后,模型的魯棒性有提升。 ②結(jié)合自編碼器和回歸器之后,模型的預(yù)測(cè)準(zhǔn)確度有顯著提升。究其原因是因?yàn)樽跃幋a器為神經(jīng)元提供了較為可靠的基礎(chǔ)信息,降低了過(guò)擬合情況。 ③對(duì)比模型2 和模型3、模型4 和模型5 可知,通過(guò)增加多個(gè)學(xué)習(xí)器的集成學(xué)習(xí),可以提升模型的表達(dá)能力。 ④對(duì)比模型5 和負(fù)相關(guān)定位模型,可以看出負(fù)相關(guān)學(xué)習(xí)使每個(gè)學(xué)習(xí)器彼此學(xué)到不一樣的特征后,呈現(xiàn)出更為強(qiáng)勁的泛化能力。
我們?cè)u(píng)估了定位模型隨時(shí)間變化及其對(duì)環(huán)境的適應(yīng)能力,結(jié)果見(jiàn)圖4 和圖5。 短時(shí)間間隔主要考察在5 d、15 d 之后模型的準(zhǔn)確度,長(zhǎng)時(shí)間間隔主要考察在30 d、60 d 之后模型的準(zhǔn)確度。 在短時(shí)間間隔內(nèi),RSSI 有小幅度的變化。 由圖4 可見(jiàn),模型5 的效果強(qiáng)于模型4,而負(fù)相關(guān)定位模型則表現(xiàn)最佳,說(shuō)明當(dāng)RSSI 有變動(dòng)時(shí),即使變動(dòng)范圍不大,缺乏集成學(xué)習(xí)的模型也很難適應(yīng),導(dǎo)致其定位精度大幅度下降。
圖4 在短時(shí)間內(nèi)不同模型定位誤差距離的累積概率
圖5 在長(zhǎng)時(shí)間內(nèi)不同模型定位誤差距離的累積概率
由圖5 可見(jiàn),隨著時(shí)間間隔的不斷拉長(zhǎng),RSSI 的變化幅度也逐漸加大,此時(shí)沒(méi)有添加負(fù)相關(guān)學(xué)習(xí)模塊的模型5 就無(wú)法適應(yīng)這樣的RSSI 波動(dòng),導(dǎo)致其表征能力出現(xiàn)下降。 雖然負(fù)相關(guān)定位模型精度有小幅度的下降,但還是可以大體上適應(yīng)整個(gè)環(huán)境狀態(tài)的變化,取得最優(yōu)的定位效果。 從上述試驗(yàn)中也可以得知負(fù)相關(guān)定位模型不僅能實(shí)現(xiàn)高精度定位,同時(shí)可以有效削弱長(zhǎng)期的RSSI 波動(dòng)對(duì)模型定位的干擾。
同時(shí)我們整理了平均定位誤差A(yù)LE 隨著時(shí)間的變化情況,如圖6 和表格2 所示。 數(shù)據(jù)結(jié)果表明,隨著時(shí)間的推移,平均定位誤差A(yù)LE 有所增加。 但是可以很明顯看到,沒(méi)有應(yīng)用負(fù)相關(guān)學(xué)習(xí)的模型5,在短時(shí)間之內(nèi)ALE 變化不明顯,但是在長(zhǎng)期的定位測(cè)試中ALE 變化顯著。 究其根本的原因,是因?yàn)槠涠鄠€(gè)學(xué)習(xí)器之間沒(méi)有學(xué)習(xí)得出多樣的模型,導(dǎo)致其泛化能力隨著時(shí)間的推移而逐步變差。 而負(fù)相關(guān)學(xué)習(xí)器使每個(gè)學(xué)習(xí)器之間產(chǎn)生差異性,有效提升了模型的泛化能力。
圖6 平均定位誤差隨著時(shí)間發(fā)生的變化
表2 ALE 隨著時(shí)間變化的表格 單位:m
此外,我們還比較了不同數(shù)量學(xué)習(xí)器對(duì)模型預(yù)測(cè)精度的影響,結(jié)果如圖7 所示。 當(dāng)集成學(xué)習(xí)器的個(gè)數(shù)較少時(shí)(學(xué)習(xí)器為2 個(gè)或4 個(gè)),其定位精度相對(duì)較低;而當(dāng)集成學(xué)習(xí)器的數(shù)量較多時(shí)(學(xué)習(xí)器的個(gè)數(shù)為6 個(gè)、8 個(gè)或者10 個(gè)),定位精度得到明顯改善。 但是值得注意的是,并不是學(xué)習(xí)器的個(gè)數(shù)越多越好,因?yàn)榭梢钥吹綄W(xué)習(xí)器個(gè)數(shù)為6 個(gè)及以上時(shí),預(yù)測(cè)精度已經(jīng)提升不明顯,但學(xué)習(xí)器越多,訓(xùn)練和預(yù)測(cè)的時(shí)間開(kāi)銷也越大。 因此,優(yōu)化集成學(xué)習(xí)器個(gè)數(shù),對(duì)于實(shí)際模型的建立非常重要。
圖7 不同學(xué)習(xí)器個(gè)數(shù)k 對(duì)于負(fù)相關(guān)定位精度的影響
論文提出了一種結(jié)合深度學(xué)習(xí)和負(fù)相關(guān)學(xué)習(xí)的室內(nèi)定位模型。 該定位模型采用了常見(jiàn)的離線訓(xùn)練和在線測(cè)試兩個(gè)階段來(lái)實(shí)施,首先采集RSSI 指紋數(shù)
據(jù),然后基于負(fù)相關(guān)學(xué)習(xí)模塊,通過(guò)訓(xùn)練多個(gè)不同的集成學(xué)習(xí)器來(lái)進(jìn)行擬合。 通過(guò)數(shù)學(xué)建模和現(xiàn)場(chǎng)驗(yàn)證,論證了負(fù)相關(guān)學(xué)習(xí)不僅可以提高模型的預(yù)測(cè)準(zhǔn)確度,同時(shí)可以有效提升其泛化特性,使模型在至少60 d長(zhǎng)期工作階段能適應(yīng)變化的RSSI 信號(hào)強(qiáng)度。 模型的平均定位誤差從第一天的0.77 m 到第60 天的0.89 m,誤差僅僅只增加0.12 m,取得了優(yōu)異的定位效果。