基于深度负相关学习的室内WiFi 指纹定位技术∗

2021-05-15 06:59刘伟明金韬汪启杭冯鹏宇
传感技术学报 2021年2期
关键词:信号强度负相关编码器

刘伟明金 韬汪启杭冯鹏宇

(浙江大学信息与电子工程学院,浙江 杭州310027)

近年来,尽管全球定位系统(Global Positioning System,GPS)能够为无线传感器提供定位信息,但是在室内定位上效果仍然不佳。 随着WiFi 技术不断的普及,基于WiFi 信号强度的室内定位系统越来越多地出现在市场上。 最常用的WiFi 定位技术是基于接收信号强度(Received Signal Strength Indication,RSSI)的指纹信息而建立的匹配系统[1-4]。 该系统工作通常有两个阶段,即离线数据采集的训练阶段和在线预测评估阶段。 之前研究人员常用的手段是基于最近邻分析(K-Nearest Neighbor,KNN)[5]或者支持向量机(Support Vector Machine,SVM)[6]的方式对RSSI 进行处理。 由于上述方法提取到的特征有限,并且训练策略较为单一,定位准确度相对较差[7]。 目前越来越多的研究人员开始采用深度学习的方法,通过提取RSSI 中更为有效的信息,从而得到更高的预测精确度。 但是现有的大多数模型都无法适应随时间或者环境剧烈变化的RSSI 信号,导致训练好的模型仅仅只能适用极短时间,若长期运行,则预测准确度大打折扣。 如何训练一个定位模型,使其可以长期适应RSSI 信号的漂变而不损失过多的预测精确度成为需要重点研究的课题。

RSSI 的信号强度会随时间、环境的改变而发生变化。 图1 是在不同时间、相同位置上采集1 min所得到的平均RSSI 信号强度分布,由图可见,短期(15 d)内RSSI 的整体信号强度的偏移相对较小,而在较长时间间隔(60 d)内,RSSI 的整体分布就已经和最初所采集的信号有了明显差异。 若重新去采集RSSI 数据再建立模型,则费时费力。 之前有研究人员借用额外的传感器[7],例如陀螺仪等设备重新记录用户的轨迹来更新RSSI 的数值,但引入新的传感器也往往带来新的误差。 近年来采用去噪自编码器对RSSI 进行建模逐渐成为主流做法[8-10],通过人为增加噪声可以有效提高模型的鲁棒性,以适应RSSI信号的漂变。 但是这些模型往往相对简单且单一,无法准确描述整个RSSI 的环境,导致模型的定位精确度在长时间间隔内仍然较低[11]。

图1 在固定采样点下的WiFi 的RSSI 信号强度随着时间发生波动的示意直方图

通过引入多个学习器的集成学习可以有效提升模型的表示能力[12]。 常见的集成学习方法有随机森林[13]、GBDT(Gradient Boosted Decision Tree,梯度提升树)[14]、XGBoost(Extreme Gradient Boosting,极限梯度提升树)[15]和LightGBM(Light Gradient Boosting Machine,轻量梯度提升树)[16]等。 但上述集成模型都有一个共同的缺点,每个学习器得到的损失函数是一致的,导致在训练结束之后每一个学习器之间没有差异性,最终同化为一个简单的学习器,这显然无法提升模型的泛化能力[17-18]。 而负相关学习则可以有效引导每一个独立的学习器学到不一样的特征,降低模型学习器彼此的相关性,使其获得不一样的表征效果,从而大大降低模型过拟合。 本文提出了一种新的室内定位模型,将采用深度学习结合负相关学习的训练策略,利用负相关学习使模型中的每个学习器之间彼此学到不一样的特征,提升模型对于环境的表达能力和泛化能力,并提高其在短期和长期时间间隔内的定位准确度。

1 原理与方法

1.1 深度负相关学习原理

传统的集成学习除了效率低之外,由于不同的学习器之间没有约束和限制,产生的回归结果往往有很强的相关性,从而导致模型出现过拟合,极大的降低了模型的准确度。 负相关学习的提出,是为了使得集成学习下多个学习器可以有很强的多样性。负相关学习则是给每个学习器以一定的约束,从而有效增强其学习和泛化的能力。

假设现有m个训练样本,在数据集中的训练数据表示为X={x1,…,xm},其对应的标签为Y={y1,…,ym}。 当前的核心任务就是设计学习网络Q,使其输出不断逼近标签Y,学习网络的损失函数定义为

式中:p(X,Y)是数据集的分布概率[18]。 上述损失函数在实际建模中通常也可用均值平方损失函数代替,即为

越来越多的研究证实,仅用一个简单的学习器很难对数据集进行建模[19-20]。 因此,要采用多个学习器互相配合的集成学习策略。 假设有k个独立的学习器,它们之间的参数和权重不同,每一个学习器的输出记为Qk,于是这k个独立学习器的输出的均值^Q可表示为

根据偏差-方差分解定理[21],如果每个学习器之间都彼此高度相关,则集成学习的效果就会大打折扣,且最终会影响到其泛化性能,最终导致模型很难适应RSSI 随时间和环境的变化,这是诸如随机森林、GBDT 等大多数集成学习模型在室内定位上表现欠佳的主要原因。 平方损失函数可以被展开为偏差和方差两个部分。 此时很容易得到如下结果:

式(4)反应了集成学习器的二次误差应保证小于或者等于其他学习器的平均二次误差。 正因为如此,可以适当地给不同的学习器增加约束,使彼此保持差异性。 这样就可得到负相关学习的损失函数:

式中:λ是一个平衡两个损失的超参数。 在本文中,我们首次将负相关学习应用到室内定位算法之中,同时将负相关学习和自编码器、回归器的任务有效结合,极大地提升了模型的鲁棒性和稳定性。

1.2 深度负相关室内定位模型

在WiFi 室内定位中,为了提高模型的定位精度,避免多径效应和阴影衰弱带来的定位误差,现在越来越多的模型开始采用指纹定位的方法。 其中的指纹即指每一个采样点所收集到的所有RSSI 信号强度数值。 每一个采样点收集到的RSSI 数据都会因为其所处的环境不同而不同,因此也被称为定位指纹。 通过神经网络,可以高效地拟合所采样到的WiFi 指纹信息和其对应的坐标位置信息。

我们提出的深度负相关学习模型的预测过程主要包括两个阶段:离线采集数据阶段和在线数据验证测试阶段。 整个模型的架构如图2 所示。 在离线采集阶段,通过WiFi 探针收集每一个WiFi 的RSSI强度。 通过噪声添加层对原始数据施加噪声来增强模型的鲁棒性。 其后将数据喂入k个不同的集成学习器中,每一个集成学习器包含编码器、解码器和回归器。 编码器和解码器构成了自编码器,而回归器用来拟合给定的坐标。 每一个学习器都有自编码器损失、最小二乘回归坐标损失和负相关学习损失。在测试阶段,模型采集每一个WiFi 的RSSI 强度之后,不再经过噪声添加层,而是直接喂入k个不同的集成学习器,并将其输出的预测结果取平均后作为最终的预测结果。

图2 深度负相关定位模型框图

首先收集可靠的WiFi 的RSSI 数据。 注意到RSSI 的数据处在-110 dBm 到0 dBm 之间,因此需要对RSSI 信号进行归一化从0 到1 之间,以便得到无偏和低方差的数据

式中:rssii,j是从i号采样节点采集到的j号Wifi 锚点的RSSI 数据。 此时可以构建一个Wifi 指纹的数据库,其中包括RSSI 信息和坐标位置。

式中:Rs∈ℝm×n,其中m代表所有参考测量节点的个数,n代表所有Wifi 锚点个数。 (RPsxi,RPsyi)是第i个采样节点的坐标信息。 类似于式(6),也需要将矩阵Ys进行归一化。

深度负相关学习系统的主干网络包含如下模块:噪声添加层N和k个独立的学习器。 每个彼此独立的第h号学习器中又包含了编码器Eh、解码器Dh和回归器Ch。 随机丢失技术(Dropout)已经被证实可以有效提升数据和系统的鲁棒性。 因此,在原始的RSSI 数据的基础上,在噪声添加层利用随机丢失技术以一定的比例丢失和删除输入的信息数据。在试验过程中随机丢失的比例设置为30%,即有30%的输入信息会被随机置0。 此后被噪声污染的数据N(Rsi)将被输入到k个独立的学习器中。

通过训练后端的自编码器,可以使其能从噪声数据中恢复原始干净的数据。 通过第h号学习器的编码器Eh后会得到隐含特征zsh,i=Eh[N(Rsi)],后续的解码器Dh则利用该特征还原信号。 解码器Dh和编码器Eh的激活函数都设置为relu(x)=max(0,x)。k个独立的学习器的平均输出是。 将负相关学习和自编码器的重构损失相结合,得到第h号学习器的损失函数

此处的超参数λ1用于平衡自编码重构损失和负相关重构损失二者之间的差异。

式中:超参数λ2用于平衡均方回归误差损失和负相关均方回归损失二者的差异。 因此,对于第h号学习器,它的总损失函数可以表示为

2 实验验证

为了验证深度负相关定位系技术的可靠性,在真实的环境下对该算法进行有效性测试。 测试时间从2020 年2 月1 日至2020 年3 月31 日。 在环境中安置了60 个WiFi 的锚点,每个WiFi 锚点的距离设置为1.8 m,采样点的间隔也设置为1.8 m。 我们采用同样的安卓系统对RSSI 信号进行采样,每次采样间隔5 s,并对回收到了数据进行平滑滤波。 为了验证模型对RSSI 随着时间的漂变具有很强的鲁棒性,系统每5 d、15 d、30 d、60 d 就会重新随机选择节点采集数据。 所得到的测试集数据表示为

输出的预测坐标为

网络结构的具体细节如下。 输入层的神经元为60 个,期间经历编码器的三层全连接层后得到隐含特征z,其维度是40。 隐含特征z再经历解码器的三层全连接层后得到自编码器的重构数据,同时经过回归器的三层全连接之后输出预测的位置信息。在网络训练过程中采用Adam 作为优化器,设置学习率为0.1,设置训练次数为50 轮。 默认设置学习器个数为6 个(k=6)。 其中关键的超参数搜索范围是λ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}。 可以利用网格搜索法(Grid Search)得到最优的参数为λ1=0.1,λ2=0.1。

首先我们评估深度负相关学习在开始测试当天的定位表现。 这里我们随机采样了200 个点,其中150 点当成训练集,剩下50 个点作为测试集。 相应对比的模型和方法如表1 所示,得到的误差距离的累计概率如图3 所示。

表1 对比模型的差异对照表格

图3 不同模型的定位误差距离的累计概率

图3是不同模型的定位误差距离的累计概率分布,由图3 可见:①对比模型1 和模型2 可知,添加了噪声层之后,模型的鲁棒性有提升。 ②结合自编码器和回归器之后,模型的预测准确度有显著提升。究其原因是因为自编码器为神经元提供了较为可靠的基础信息,降低了过拟合情况。 ③对比模型2 和模型3、模型4 和模型5 可知,通过增加多个学习器的集成学习,可以提升模型的表达能力。 ④对比模型5 和负相关定位模型,可以看出负相关学习使每个学习器彼此学到不一样的特征后,呈现出更为强劲的泛化能力。

我们评估了定位模型随时间变化及其对环境的适应能力,结果见图4 和图5。 短时间间隔主要考察在5 d、15 d 之后模型的准确度,长时间间隔主要考察在30 d、60 d 之后模型的准确度。 在短时间间隔内,RSSI 有小幅度的变化。 由图4 可见,模型5 的效果强于模型4,而负相关定位模型则表现最佳,说明当RSSI 有变动时,即使变动范围不大,缺乏集成学习的模型也很难适应,导致其定位精度大幅度下降。

图4 在短时间内不同模型定位误差距离的累积概率

图5 在长时间内不同模型定位误差距离的累积概率

由图5 可见,随着时间间隔的不断拉长,RSSI 的变化幅度也逐渐加大,此时没有添加负相关学习模块的模型5 就无法适应这样的RSSI 波动,导致其表征能力出现下降。 虽然负相关定位模型精度有小幅度的下降,但还是可以大体上适应整个环境状态的变化,取得最优的定位效果。 从上述试验中也可以得知负相关定位模型不仅能实现高精度定位,同时可以有效削弱长期的RSSI 波动对模型定位的干扰。

同时我们整理了平均定位误差ALE 随着时间的变化情况,如图6 和表格2 所示。 数据结果表明,随着时间的推移,平均定位误差ALE 有所增加。 但是可以很明显看到,没有应用负相关学习的模型5,在短时间之内ALE 变化不明显,但是在长期的定位测试中ALE 变化显著。 究其根本的原因,是因为其多个学习器之间没有学习得出多样的模型,导致其泛化能力随着时间的推移而逐步变差。 而负相关学习器使每个学习器之间产生差异性,有效提升了模型的泛化能力。

图6 平均定位误差随着时间发生的变化

表2 ALE 随着时间变化的表格 单位:m

此外,我们还比较了不同数量学习器对模型预测精度的影响,结果如图7 所示。 当集成学习器的个数较少时(学习器为2 个或4 个),其定位精度相对较低;而当集成学习器的数量较多时(学习器的个数为6 个、8 个或者10 个),定位精度得到明显改善。 但是值得注意的是,并不是学习器的个数越多越好,因为可以看到学习器个数为6 个及以上时,预测精度已经提升不明显,但学习器越多,训练和预测的时间开销也越大。 因此,优化集成学习器个数,对于实际模型的建立非常重要。

图7 不同学习器个数k 对于负相关定位精度的影响

3 结论

论文提出了一种结合深度学习和负相关学习的室内定位模型。 该定位模型采用了常见的离线训练和在线测试两个阶段来实施,首先采集RSSI 指纹数

据,然后基于负相关学习模块,通过训练多个不同的集成学习器来进行拟合。 通过数学建模和现场验证,论证了负相关学习不仅可以提高模型的预测准确度,同时可以有效提升其泛化特性,使模型在至少60 d长期工作阶段能适应变化的RSSI 信号强度。 模型的平均定位误差从第一天的0.77 m 到第60 天的0.89 m,误差仅仅只增加0.12 m,取得了优异的定位效果。

猜你喜欢
信号强度负相关编码器
光学相干断层成像不同扫描信号强度对视盘RNFL厚度分析的影响
电子自旋共振波谱法检测60Co-γ射线辐照中药材
N-末端脑钠肽前体与糖尿病及糖尿病相关并发症呈负相关
基于FPGA的同步机轴角编码器
室内定位信号强度—距离关系模型构建与分析
基于双增量码道的绝对式编码器设计
更 正
WiFi信号强度空间分辨率的研究分析
翻译心理与文本质量的相关性探析
技术应用型本科院校非英语专业本科生英语学习焦虑的调查与研究