基于学习模型的设备定位相关申请
本申请要求2014年6月20日提交的美国申请14/311,077的优先权利益,该美国申
请的全部内容通过引用结合在此。
技术领域
本申请总体涉及电子通信领域,在一个示例性实施例中,涉及基于学习模型的设
备定位。
背景技术
电子设备位置的定位、确定或估算一般需要使用在设备中运行的全球定位系统
(GPS)电路。设备可从多个GPS卫星接收GPS数据,并处理接收数据,以确定设备的位置。但
是,在某些环境下,例如,建筑、车库或阻碍卫星信号的其它障碍物内部,设备可能无法接收
GPS数据。
在这种环境下,可采用各种形式的射频(RF)定位代替GSP定位,对设备进行定位。
在这种系统中,通常利用从设备接收的通信信号的特征,例如,接收信号强度指示(RSSI)确
定设备相对于“基准点”设备(例如,设计为专用于设备定位的一个或多个信号读取器、无线
接入点或基础设施设备)的位置。一般通过增加基准点的数量提高这种系统的精确性。
这种定位系统在被布置用于对实际用户设备进行射频定位之前,通常还需要进行
“指纹识别”或“现场勘测”操作。在指纹识别或现场勘测期间,可在基准点附近的整个区域
内通常沿着预定路线移动传输信号的测试设备,以提供基准信息,来自用户设备的接收信
号与基准信息相比较,从而对这些设备进行定位。关注区域中的结构变化,例如,墙体、隔
断、屏障和家具的位置和/或方向变化通常会降低之前对该区域进行的指纹识别或勘测的
精确性,这意味着可能需要再进行一次指纹识别或勘测操作。另外,兴趣区域中的射频环境
的临时变化,例如,人的存在,可能会改变在基准点从用户设备接收的通信信号的范围或强
度,从而使确定设备相对于基准点的位置的任务复杂化。
附图说明
实施例以示例方式说明,并不限于附图中的各图。在附图中,相似参考数字表示相
似元件,其中:
图1是可用于基于学习模型对设备进行定位的示例通信系统的框图;
图2是可用于图1的通信系统的示例无线基准点的框图;
图3是可用于图2的无线基准点的示例学习模型模块的框图;
图4是基于学习模型对设备进行定位的示例方法的流程图;
图5是来自用户设备的用于学习模型的通信信号的示例处理方法的流程图;
图6是基于通信信号样本处理值序列的示例方法的流程图;
图7是基于多个无线基准点的学习模型的输出、利用三角测量估算设备位置的示
例方法的流程图;
图8是包括多个无线基准点学习模型的示例系统学习模型的框图;
图9是示例多层次学习模型的图示;
图10是图9的多层次学习模型的一个层次的示例单独单元的图示;以及
图11是以计算机系统为示例形式的机器的图示,机器内可执行一组指令,用于使
机器执行本文所述的方法的任何一个或多个。
具体实施方式
在以下描述中,为了说明的目的,提供了很多具体细节,以便于透彻理解本文公开
的实施例。但是,本领域的技术人员将会明白,这些实施例可在无这些具体细节的情况下实
施。
图1是可用于基于学习模型对设备(例如,用户设备104)进行定位的示例通信系统
100的框图。在通信系统100中,局部区域101(可以是家庭、公寓、百货商店、餐厅、酒吧、竞技
场、体育场或其它类似限定区域)可包括可与用户设备104进行局域无线通信的至少一个无
线基准点102A。在图1的特定示例中,采用三个无线基准点102A、102B和102C(各自可替代地
为无线基准点102)至少从用户设备104接收局域无线通信120。但是,在其它实施例中,可采
用一个或多个这种无线基准点102。如下文更详细的描述,任何或所有无线基准点102可对
从用户设备104接收的局域无线通信进行处理,以在一定的误差范围内定位或确定用户设
备104的位置。进一步,这些无线基准点102中的每一个均可保持在局部区域101内的固定位
置,以便于对用户设备104进行定位。
无线基准点102的示例可包括,但不限于,无线局域网(LAN)的无线接入点,例如,
无线接入点或路由器;通信设备;射频识别(RFID)标签阅读器;蜂窝
网络(例如,第三代(3G)或第四代(4G)通信设备);或其它个人局域网(PAN)通信
设备;或能作为路由器或对等设备通过任何无线通信协议与用户设备104进行无线通信,或
具有任何其它通信能力的其它无线通信设备。在其它示例中,无线基准点102可以是严格用
于用户设备104定位的设备。这种无线基准点102可例如仅窃听用户设备104与另一个无线
基准点102或另一个用户设备104之间的局域无线通信,并处理这些通信以定位用户设备
104。
用户设备104的示例可包括,但不限于,台式电脑、笔记本电脑和平板电脑;游戏系
统;智能手机;个人数字助理(PDA);智能电视;智能电器;以及能通过任何无线通信网络协
议,例如,RFID、3G、4G、或任何其它LAN、PAN或其它局域
无线网络协议与无线基准点102进行通信的其它通信设备。虽然图1中描绘了单一用户设备
104,但可在局部区域101内对能与无线基准点102通信的任何数量的用户设备104进行定
位。
图2是可用于图1的通信系统100的示例无线基准点102的框图。在该示例中,无线
基准点102可包括局域通信接口202、路由模块204、用户设备识别模块206和学习模型模块
208。这些模块中的每一个以及本文所述的其它模块可包括硬件、软件或硬件与软件的一些
组合,用于执行模块对应的各种功能,如下文更充分的描述。无线基准点102可包括其它可
能的组件,例如,广域网(WAN)接口、用户接口等,但为了简化以下说明,图2中没有明确显
示。另外,图2和其它附图所示的组件可以不全部包括在所有实施例中。另外,图2和本文的
其它框图所示的组件可进一步分成单独组件,或可组合起来,构成更少、更大的组件。
局域通信接口202可配置成便于在无线基准点102与图1的一个或多个用户设备
104之间进行局域无线通信。由此,局域通信接口202可通过如上所述的3G、4G、中
的一个或多个或任何其它LAN、PAN或其它局域无线网络协议,能够通过局域无线通信120进
行通信。
路由模块204(如果包括在无线基准点102中)可配置成充当路由器,用于在局部区
域101的用户设备104之间,以及可能在每个用户设备104与其它网络(例如,WAN)之间进行
通信。在其它示例中,无线基准点102可与外部LAN路由器通信联接,以便于在无线基准点
102与用户设备104之间进行通信。
用户设备识别模块206可配置成基于涉及用户设备104的局域无线通信120中包含
的信息对局部区域101内的一个或多个用户设备104进行识别。例如,局域无线通信120可包
含数据包,数据包中包含发送数据包的用户设备104的标识符。这种标识符可为(例如)用户
设备104的MAC(介质访问控制)地址,但用户设备识别模块206可采用唯一识别用户设备104
及其发送的局域无线通信120的任何其它标识符。
学习模型模块208可配置成采用学习模型处理与用户设备识别模块206识别的位
于局部区域101内的每个用户设备104关联的这些局域无线通信120,以确定或至少估算该
用户设备104的当前位置。如以下更详细的描述,学习模型模块208中采用的学习模型配置
成利用用户设备104正常运行期间从用户设备104接收的信号产生的数据以“在线”方式定
位局部区域101内的用户设备104,在对用户设备104进行实际定位之前,无需通过指纹识
别、现场勘测或其它类型的“离线”操作采集关于局部区域101的特征的数据。进一步,在至
少某些实施例中,学习模型可配置成具有以下能力:保留关于之前接收的局域无线通信120
的历史数据,这能够使学习模型在适应局部区域101内的条件变化的同时从接收的局域无
线通信120中识别出之前的临时模式。
图3是可用于图2的无线基准点102的学习模型模块208示例的框图。在图3的特定
示例中,学习模型模块208可包括设备模型创建模块302、信号采样模块304、样本分拣模块
306、样本编码模块308、推断/预测引擎310和设备位置估算模块312。学习模型模块208中还
可包括图3未具体描绘的其它模块,但为了简化以下说明,本文没有提到这些模块。在其它
实施例中,学习模型模块308可不包括图3的模块302-312中的一个或多个。在至少某些示例
中,学习模型模块208还可包括一个或多个数据库或数据集,例如,一个或多个用户设备模
型320、基准点模型322和/或描述接收的局域无线通信120的历史数据330。在其它实施例
中,模块302-312中的一个或多个和/或数据库320、322和330可以可替代地位于另一个设备
内,例如,另一个无线基准点102或与无线基准点102通信联接的服务器。
设备模型创建模块302可配置用于为特定用户设备104创建学习模型。学习模型模
块208可利用创建的学习模型在用户设备104正常运行期间以在线方式估算该用户设备104
的位置,无需预先进行描述局部区域101特征的“离线”操作,例如,指纹识别等。在一个示例
中,设备模型创建模块302可响应于用户设备识别模块206(图2)第一次遇到或识别用户设
备104而创建与特定用户设备104关联的学习模型。另外,设备模型创建模块302可存储创建
的学习模型,作为用户设备模型320的其中之一,以便随后在用户设备识别模块206随后在
局部区域101内检测到同一个用户设备104时随后进行取回。
创建的学习模型的一个示例可以是基于一部分人脑(例如,大脑皮层)的模型。其
它示例中可采用其它可能的基于机器的学习模型或技术,例如,某些类型的人工神经网络
(ANN)或强化学习系统。下文结合图9和图10对学习模型的一个示例进行了说明。
在某些示例中,设备模型创建模块302还可将创建的学习模型配置用于与其关联
的用户设备104。例如,可为特定类型的用户设备104定制模型的特定方面,例如,用户设备
104采用的特定通信协议、用户设备104采用的特定硬件等。在其它示例中,所有类型的用户
设备104可与同一个模型对应,因此可能意味着不保证模型具有特定配置。
类似地,在某些实施例中,设备模型创建模块302可为根据用户设备104发送的在
无线基准点102接收的通信信号的样本序列创建编码器。在某些实施例中,这种编码器可接
收所述样本序列,或这些样本的某些版本,并将其编码成可被创建的学习模型作为输入而
接收的形式。例如,可将样本序列编码成稀疏分布表示(SDR)(或者可替代地,稀疏分布记忆
(SDM)),使一次只有学习模型的小百分比的输入是有效的,同时,学习模型的输入的大量绝
对数量的单独元素被激活,以表示模型的特定状态。下文结合图10对稀疏分布表示进行了
说明。
信号采样模块304、样本分拣模块306和样本编码模块308可配置成根据从用户设
备104接收的提供给用户设备104的对应学习模型的通信信号生成值序列,用于对用户设备
104进行定位。在某些实施例中,这些模块304、306和308中的一个或多个可以省略。
信号采样模块304可配置成不时对从用户设备104接收的通信信号的特定数量或
特征进行采样,以生成样本序列。在一个示例中,信号采样模块304可以某个周期频率,例
如,每秒一次、每两秒一次等,对通信信号进行采样。在其它示例中,该周期频率可以是任何
较快(例如,每100毫秒一次(msec)、每200毫秒一次等)或较慢(例如,每五秒一次)的频率。
在某些实施例中,信号采样模块304可对至少与用户设备104和无线基准点102之
间的距离有某种关联的任何特定类型的可测量特征进行采样。例如,测量特征可以是接收
的通信信号的接收信号强度指示(RSSI)。其它实施例中可采用的接收的通信信号的其它测
量特征包括例如接收的通信信号的链路质量和信道质量。
样本分拣模块306可配置成将来自用户设备104的每个样本序列分拣或分配到区
间(例如直方图的区段)中。在某些实施例中,这种分拣功能可减少提供给编码器的(例如,
可在样本编码模块308中提供的)值的可能数量。减少可能数量进而可简化编码器的结构。
在某些示例中,例如,在信号采样模块304生成的样本可在样本编码模块308直接接收的实
施例中,可无需使用样本分拣模块306。
样本编码模块308可配置成对从信号采样模块304或样本分拣模块306接收的来自
用户设备104的通信信号的样本进行编码以生成值序列,用作用户设备104的对应学习模型
的输入。如上文的一个示例所述,编码样本可以是稀疏分布表示(SDR)的形式。根据用于用
户设备104的特定学习模型所预期的输入类型,样本编码模块308可将接收的样本编码成其
它类型的表示。
信号采样模块304、样本分拣模块306和样本编码模块308中的任何或所有模块的
各种参数可基于无线基准点102的基准点模型322。例如,基准点模型322可指定对接收的通
信信号进行采样的频率或周期、分拣样本的区间大小,和/或对分拣或未分拣的样本进行的
编码类型。这些参数可至少部分基于无线基准点102中采用的特定电路和软件。
信号采样模块304、样本分拣模块306和样本编码模块308的任何或所有模块可将
原始样本、分拣样本、编码样本和/或类似物存储为历史数据330。历史数据330可存储在无
线基准点102内,或存储在与无线基准点102通信联接的某个数据存储设备(图1中未显示)
内。例如,历史数据330可存储至服务器或其它云基础设施,该服务器或其它云基础设施可
通过WAN(例如,互联网)利用WAN接口(图2的无线基准点102中未显示)使用。(除作为与通信
信号的当前原始、分拣或编码样本关联的输入之外)历史数据330还可充当当前关注的用户
设备104对应的学习模块的功能输入,并/或可用于对学习模型模块208的任何部分的性能
进行后处理分析。
推断/预测引擎310可配置成接收样本编码模块308基于来自用户设备104的通信
信号生成的值序列,并利用同一个用户设备104的用户设备模型320对值进行处理,以生成
可用于对用户设备104进行定位的输出或状态。在其它实施例中,推断/预测引擎310可接收
可能已由样本分拣模块306分拣或未分拣的未编码样本,用于进行处理以生成输出。在至少
某些示例中,即使可以特定频率捕捉用于生成值的样本,如上所述,推断/预测引擎310也可
在不参考与值相关联的时间(因此,没有任何时间概念或理念)的情况下对传入的值序列进
行处理。
如下文的一个特定实施例更详细的描述,推断/预测引擎310可利用发送通信信号
的用户设备104的用户设备模型320,基于已提供给用户设备模型320(可替代地称为学习模
型320,或简称为模型320)的当前输入和先前输入以及给模型320提供这些输入的特定顺
序,生成特定输出或状态。由此,模型320可使推断/预测引擎310推断或识别与之前见过的
输入模式类似的当前输入模式。进一步,模型320可使推断/预测引擎310基于当前和以前的
输入预测以后的输入。
在某些示例中,推断/预测引擎310可配置成在值序列中的当前值之前预测预定数
量的未来输入值(例如,下一个输入值、接下来的两个输入值、接下来的三个输入值等)。进
一步,对接收的每个当前输入值预测的未来输入值可基于当前输入值和由样本窗口大小确
定的预定数量的紧邻先前输入值。例如,根据五个样本的样本窗口大小,推断/预测引擎310
可配置成基于当前输入值和四个先前输入值预测一个或多个未来输入值。在其它实施例
中,样本窗口大小可以是大于1的任何正整数。在这些示例中,在产生了足够的输入值以填
充样本窗口之前,推断/预测引擎310不会生成任何预测。一旦样本窗口已满,推断/预测引
擎310可为生成的每个输入值预测一个或多个未来输入值。
在其它实施例中,推断/预测引擎310对一个或多个未来输入值的预测可基于任何
或所有先前输入值,先前输入值进而可基于任何或所有历史数据330,因此可不限于特定样
本窗口。另外,预测所基于的特定先前输入值和基于先前输入值预测的一个或多个未来输
入值都不需要在值序列内构成连续的输入值系列。
如上所述,模型320的推断和预测能力可针对改变局部区域101的传输条件,改变
用户设备104的传输特征,改变无线基准点102的接收特征等方面,促进适应性和稳定性。例
如,在某些实施例中,与采用相对较小的样本窗口大小可产生的输入值相比,相对较大的样
本窗口大小可使推断/预测引擎310预测或推断较大数量的未来输入值,或更远未来的一个
或多个输入值。由此,在估算用户设备104的位置时,相对较大的窗口大小可降低变化性并/
或增加稳定性。相反,相对较小的窗口大小可在预测输入值与实际接收输入值之间获得更
高的可信度和精确度,但对估算用户设备104的位置时的整体稳定性的帮助较小。
在一个示例中,无线基准点102可配置成将其自身的用户设备模型320与局部区域
101内的其它无线基准点102生成的同一个用户设备104的用户设备模型320组合在一起,从
而对用户设备104生成整体学习模型。在该示例中,无线基准点102可为其它无线基准点102
接收和存储用户设备模型320。设备模型创建模块302可生成整体组合用户设备模型320。推
断/预测引擎310可从这个或其它无线基准点102接收样本数据(例如,原始样本数据、分拣
样本数据和/或编码样本数据),并将该输入提供给组合用户设备模型320,以生成可表示用
户设备104在该局部区域101内的当前位置的单个输出。
设备位置估算模块312可配置成将推断/预测引擎310的输出映射到用户设备104
在局部区域101内的特定位置或位置的集合。该映射可部分基于将推断/预测引擎310的当
前或先前输出与表示用户设备104的实际位置的信息相关联的步骤。这种信息可基于人对
用户设备104位置的感知、基于用户设备104与另一个设备或系统(例如近场通信(NFCTM)设
备(例如可与用户设备104交互的销售点(POS)站))的交互,或基于其它方式。
在某些实施例中,设备位置估算模块312可从局部区域101内的一个或多个其它无
线基准点102接收对应输出,并将这些输出组合在一起以提供用户设备104的当前位置的估
值。例如,设备位置估算模块312可将这些输出与每个无线基准点102的位置相关知识组合
在一起,以对用户设备104的位置进行三角测量。在其它示例中,设备位置估算模块312可采
用其它输出组合方式。
如上所述,在来自多个无线基准点102的信息的使用上,任何一个或多个无线基准
点102均可接收来自其它无线基准点102的信息,例如,通信信号样本以及用户设备模型
320。在其它实施例中,每个无线基准点102均可通过WAN向服务器或向局部区域101内的另
一设备提供用户设备模型320以及样本信息,所述服务器或所述另一设备随后可对该信息
进行处理,以推导或估算出用户设备104的当前位置。
图4是基于与设备(例如,图1的用户设备104)相关联的学习模型(例如,图3的用户
设备模型320)对设备进行定位的示例方法400的流程图。在以下示例中,假定图1的无线基
准点102,包括图3的学习模型模块208中显示的各个部件,执行方法400的各种操作。但是,
在其它实施例中,本文未具体描述的其它设备或部件也可执行方法400的操作。
在方法400中,在一定时间段内从设备接收通信信号(操作402)。在本文所述的各
个示例中,设备可包括图1的用户设备104,例如,智能手机、笔记本电脑、平板电脑或配置成
与局部区域101内的无线基准点102通信的另一个设备。在一个示例中,从设备发送的通信
信号可以是设备以广播方式向各种收听者(包括无线基准点102以及位于局部区域101内的
任何其它无线基准点102)发送的报告或标示。在另一个示例中,从设备发送的通信信号可
以是对无线基准点102以无线方式发送的请求(例如,以通信方式发送的主动探测
请求)的响应。在至少某些实施例中,所述请求以单播方式特别发送给接收设备,设备以相
似方式对请求做出响应。
无线基准点102或与其通信联接的某个设备随后可根据无线基准点102在所述时
间段期间接收的通信信号生成值序列(操作404)。如上所述,在某些示例中,值序列可基于
通信信号的某个特征(例如,RSSI)的周期性样本,随后可能以分拣和/或编码的方式对所述
样本进行进一步处理。
所得的值序列随后可提供给学习模型320(操作406)。在一个示例中,学习模型320
可配置成基于值序列中的历史值以及值序列的至少一个预测值生成状态或输出。在至少某
些实施例中,至少一个预测值(其也可基于序列中的历史值)的使用可促进学习模型320在
值序列产生重大临时变化时的稳定输出。在某些示例中,采用RSSI或用于通信信号样本的
其它特征时可能会出现这种变化,但在其它实施例中,其它类型的通信信号样本也可能会
受到类似影响。这种变化可能是由于例如用户设备104的通信信号特征的变化、可能影响通
信信号的环境条件的变化、局部区域101的布局(例如,各种物理特征(例如,墙壁、隔断、家
具等)的存在、位置和/或方向)以及局部区域101内人员的数量和/或位置造成的。进一步,
学习模型320可随着时间适应局部区域101内的更多永久变化。随后可基于学习模型320的
状态或输出,在该时间段期间对用户设备104在局部区域101内的当前位置进行估算(操作
408)。
图4的操作402-408(以及本文所示的其它方法的操作)示出为以特定顺序发生,但
也可采用其它操作顺序,包括同时执行两项或多项操作。例如,操作402-408可以周期性、连
续或某种其它重复方式进行,可能在用户设备104在局部区域101内发送通信信号时以并
行、同步或同时的方式进行,无线基准点102随后可接收并处理通信信号,以估算用户设备
104的位置,如上所述。进一步,操作402-408可适用于在局部区域101内发送通信信号的每
个单独用户设备104,从而对每个用户设备104在局部区域101内的位置进行估算。
图5是来自用户设备104的用于学习模型(例如,用户设备模型320)的通信信号的
示例处理方法500的流程图。在方法500中,可对通信信号进行采样,以生成样本序列(操作
502)。生成的样本序列可以是用户设备104发送的通信信号的任何特征的样本,可最终用于
确定用户设备104在局部区域101内的位置。通信信号的特征的示例可包括,但不限于,
RSSI、链路质量和信道质量。在至少某些实施例中,以设定采样率进行周期性采样,例如,每
一秒或多秒一次、每几分之一秒一次(例如,每500毫秒一次),或产生关于采样特征变化的
有意义信息的某些其它频率。
在某些示例中,可将样本序列分拣到多个区间中(操作504)。例如,可将每个样本
分拣到与特征值的特定区间对应的“区段”中。区间可总体连续覆盖一个特定的特征值范
围。进一步,在某些情况下,在线性标度、对数标度或基于特征性质的另一个特征标度上,区
间的大小可相等。另外,可将区间大小设为,代表每个测量样本的有效数字的数量减少,但
仍对学习模型提供有意义信息。
随后可将分拣的样本序列编码,以生成将如图4的操作406所示提供给学习模型
320的值序列(操作506)。在一个示例中,编码可使得每个分拣样本映射到对应的稀疏分布
表示(SDR)。在一个示例中,SDR可包括大量的位(二进制数字)(例如,50位、100位等),在任
何一个样本中,这些位中相对较低百分比的位(例如,不到5%、不到3%等)有效。在某些实
施例中,可根据两个样本中共有的有效位的数量或百分比判断两个样本的相似度。在其它
实施例中,可将操作502中提供的未分拣样本序列直接提供给操作506进行编码。
图6是基于从用户设备104接收的通信信号的样本来处理值序列的示例方法600的
流程图。虽然假定图1的无线基准点102执行方法600的各种操作,但与接收用户设备104发
出的通信信号的无线基准点102通信联接的一个或多个其它设备可执行这些操作中的一种
或多种。在方法600中,对发出无线基准点102接收的通信信号的当前用户设备104的身份进
行确定(操作602)。在一个实施例中,可根据通信信号中包含的信息,例如,用户设备104的
介质访问控制(MAC)地址确定当前用户设备104的身份。在其它实施例中,可采用用户设备
104和/或用户设备104的用户的其它标识符。
根据接收的用户设备104的身份,无线基准点102然后可确定识别的用户设备104
的学习模型320是否存在(操作604)。例如,如果无线基准点102之前从用户设备104接收了
通信信号,无线基准点102可能之前已经为该用户设备104生成了学习模型320。如果学习模
型320存在,无线基准点102可例如从图3的用户设备模型320中为当前用户设备104取回模
型320(操作610)。否则,如果不存在当前用户设备104的学习模型320,无线基准点102可为
用户设备104创建和/或配置学习模型320(操作606)。在某些示例中,无线基准点102还可创
建样本编码器(操作608),如上文结合图5所述。在某些示例中,对于局部区域101内的无线
基准点102检测到的每个用户设备104,创建和配置的学习模型320和/或创建的编码器可相
同。在其它示例中,根据一个或多个因素,例如,用户设备104的类型、制造商或型号,创建和
配置的学习模型320和/或创建的编码器可与为其它用户设备104创建的其他学习模型320
和/或编码器不同。在某些示例中,这些信息可包含在无线基准点102从用户设备104接收的
通信信号中。
一旦创建或取回了当前用户设备104的适当学习模型320,将通过从当前用户设备
104接收的通信信号的采样、分拣和/或编码而生成的值序列提供给该用户设备104的学习
模型320(操作612)。在某些示例中,将每个值按接收顺序(一次一个地)提供给学习模型
320,以生成学习模型320的新输出或状态。为此,学习模型320可采用模型320的当前状态处
理当前输入值,从而生成模型320的新状态(操作614)。如上所述,模型320的当前状态可包
含或反映已提供给模型320的通信信号的先前输入值,以及模型320生成的一个或多个预测
未来输入值。
可基于模型320的新状态或输出确定或估算用户设备104的当前位置(操作616)。
在某些实施例中,学习模型320(更广泛地说是无线基准点102)可接收表示用户设备104的
当前位置的附加信息,使模型320生成的新状态可与当前位置相关联,从而模型320的相似
未来状态可解释为表示相同或相似位置。如上所述,这种信息可将模型320的特定输出或状
态与人对用户设备104位置的感知相关联,或与用户设备104和另一个设备或系统(例如,
POS设备、NFCTM站或其它系统)的交互相关联。
在某些示例中,可将无线基准点102采用的学习模型320的当前输出或状态与一个
或多个其它无线基准点102使用的同一个当前用户设备104的一个或多个学习模型320的当
前输出或状态相组合,以确定当前用户设备104在局部区域101内的位置。下文将结合图7和
图8对这些示例进行更充分的说明。
如果在值序列中存在来自同一个用户设备104的通信信号的另一个输入值(操作
618),可将下一个输入值提供给用户设备104的学习模型320(操作612)并处理,以生成下一
个状态(操作614),下一个状态可用于更新用户设备104的当前位置(操作616),如上所述。
相反,如果与当前用户设备104相关联的值序列中没有留下任何值,无线基准点102则可等
待另一个用户设备104发送的通信信号(操作620)。随后可确定该用户设备104的身份(操作
602),可创建(操作606、608)或取回(操作610)与该用户设备104相关联的模型320,随后可
将从该用户设备104发送的通信信号中生成的值序列提供给适当的设备模型320(操作612)
并处理(操作614),如上所述,以确定该用户设备104的当前位置(操作616)。在局部区域101
内存在多于一个用户设备104且用户设备104发送通信信号的示例中,无线基准点102可主
动为每个用户设备104保留单独模型320,同时处理从每个用户设备104接收的通信信号中
生成的输入值,以确定或估算每个用户设备104在局部区域101内的当前位置。
图7是基于多个无线基准点102的学习模型320的输出、利用三角测量估算用户设
备104的位置的示例方法700的流程图。在方法700中,可接收保存在多个无线基准点102中
的当前用户设备104的学习模型320的当前状态或输出(操作702)。在一个示例中,可在其中
一个无线基准点102接收当前状态或输出,以便进行进一步处理。在其它实施例中,可在服
务器或其它系统接收当前状态或输出,在服务器或其它系统进行该信息的处理。可基于多
个无线基准点102的学习模型320的当前状态或输出,通过三角测量估算或确定用户设备
104的当前位置(操作704)。例如,在图1中,每个无线基准点102A、102B和102C对应的学习模
型320的状态或输出可表示与对应无线基准点102的距离。利用对应无线基准点102在局部
区域101内的这些距离和位置进行三角测量,可确定或估算用户设备104的位置。
在可采用或可不采用三角测量的某些实施例中,如上所述,一个或多个无线基准
点102可采用相控阵天线和/或定向波束形成技术限定可在其中对用户设备104进行定位的
更窄小的关注区域。因此,利用高端基础设施环境中可能使用的这些天线和技术,可增强信
号参数的稳定性和用户设备104的定位,如本文所述。
在另一个示例中,图8是包括当前用户设备104的用户设备模型802A、802B等(或者
可替代地,用户设备模型802或用户设备学习模型802)的示例系统学习模型800的框图,其
中,每个用户设备模型802与单独无线基准点102相关联。在一个实施例中,当前用户设备
104的每个用户设备模型802可保留在其对应无线基准点102内,每个模型生成当前状态或
输出。随后可将这些当前状态或输出提供给无线基准点102或其它系统,无线基准点102或
其它系统随后对当前状态或输出进行处理,以生成用户设备104的系统学习模型800的总体
状态或输出。总体状态或输出可用于确定或估算用户设备104的当前位置。
在另一个实施例中,其中一个无线基准点102或另一个系统可采用用户设备104的
整个系统学习模型800,包括每个所包含的用户设备学习模型802。因此,包括系统学习模型
800和用户设备学习模型802组件的无线基准点102或其它系统可从对应用户设备104的通
信信号中接收值序列,并将这些值提供给系统学习模型800,以估算或确定用户设备104的
当前位置。
如上所述,上文所述的各个实施例中可采用能接收值序列、识别值序列的模式并
基于先前接收的值来预测未来值的任何学习模型320,例如,各种类型的机器学习模型和人
工神经网络(ANN)。在某些示例中,这种学习模型320可包括或采用SDR以及在人脑中建模的
类似记忆表示。
图9是可充当图3所示的用户设备模型320的示例多层次学习模型900的图示。这种
多层次模型的一个示例是作为股份有限公司支持的Numenta智能计算平台
的一部分而提供的分级暂存记忆(HTM)。机器学习模型的其它示例,例如,强化
学习模型和其它ANN,也可包含类似概念或结构。如图9所示,学习模型900可包括多个语义
模型层次904,每个语义模型层次904可对从较低模型层次904向其提供的输入值进行处理,
并通过层次间通信908向较高模型层次904提供输出。在某些示例中,还可通过层次间通信
908将信息从较高模型层次904提供给较低模型层次904。另外,在某些实施例中,可在一个
或多个模型层次904中进行层次内通信906。如图9的特定示例所示,每个模型层次904可处
理其输入,并将总体较小的结果或输出提供给下一个较高模型层次904。但是,其它示例的
多层次模型并不限于此,因为在某些实施例中,某些模型层次904实际上可将较大量数据
(例如,较大SDR表示)提供给较高模型层次904。在某些实施例中,模型层次904可整体与人
体大脑皮层的新皮层部分中的单个层相关联。更具体地,在一个示例中,模型层次904可整
体代表通常所称作的新皮层的“第3层”神经元。
在图9的示例中,如上所述,学习模型900可基于从用户设备104接收的通信信号的
一个或多个特征的样本接收编码样本902(例如,如上所述作为值序列)。在一个示例中,每
个值可以是采样特征的SDR,可将每个值按采样顺序提供给学习模型900。因此,学习模型
900的所得当前输出910或状态可基于借助学习模型900进行的模式匹配和/或值预测来反
映用户设备104的当前位置。
图10是图9的学习模型900的模型层次904的示例单独“单元”1002的图示。根据特
定学习模型900,单元1002可代表单个神经元或一组神经元,或某种代表或模拟一部分人脑
的其它构造。如图所示,多层1004的单元1002可构成学习模型900的单个模型层次904,尽管
其它示例可仅包括单个层1004。每个单元1002可配置成接收和处理来自较低单元层1004的
数据,并与其所处的层1004和邻近层1004内的邻近单元1002通信。该单元间通信以及图9的
层次内通信906和层次间通信908的特定特征可在向学习模型900提供和由学习模型900处
理值序列902时随着时间变化而适应或改变。这些类型的通信的这些特征可包括例如与每
个单元1002或层1004通信的特定单元1002和层1004、特定加权或适用于这些通信中的每种
通信的其它处理等。
另外,在一个实施例中,一组单元1002中的每个单元,例如,最低模型层次904的最
低层1004的单元1002,可设置为与作为输入而提供给学习模型900的编码样本902的SDR对
应。这种输入可有助于模式匹配、样本预测以及常常与至少某些类型的学习模型900相关联
的其它功能。
在其它示例中,还可将不具有结合图9和图10所述的学习模型900的一个或多个特
征的其它机器学习或ANN模型或算法用作学习模型320,例如,借助如上所述的图3的学习模
型模块208的推断/预测引擎310的机器学习或ANN模型或算法。
在上文所述的至少某些实施例中,可采用学习模型处理由用户设备发送并由无线
基准点接收的通信信号的一个或多个特征的样本,以确定或估算用户设备在包含用户设备
和无线基准点的局部区域内的位置。在某些示例中,学习模型可接收代表通信信号特征的
样本的一个或多个值序列,识别这些值中的模式,并使得用户设备位置的估算基于识别的
这些模式。利用样本历史,在对定位系统进行功能性操作之前,无需进行指纹识别、现场勘
测或具体设计用于描述局部区域的通信特征的类似操作,便可确定用户设备位置。进一步,
学习模型可在存在信号噪声、临时环境变化、在场人员数量增加或减少以及局部区域环境
的其它变化的情况下能够预测序列的未来值并采用这些预测值提供用户设备的正确位置
信息。因此,学习模型可实时动态适应局部区域的这些变化,无需停止正常运行来离线再次
特征化识别局部区域。
图11示出计算机系统1100的示例形式的机器的图示,机器内可执行一组指令,用
于使机器执行本文所述的方法的任何一个或多个。在替代实施例中,机器以独立设备的形
式运行,或可与其它机器连接(例如,联网)。在联网部署下,机器可以服务器-客户机网络环
境中的服务器或客户机的形式运行,或以点对点(或分布式)网络环境中的对等机的形式运
行。机器可以是个人计算机、平板电脑、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络
设备、网络路由器、交换机或网桥或能执行指定了该机器要进行的动作的一组指令(顺序指
令或其它指令)的任何机器。进一步,虽然附图仅示出了一个机器,但应理解的是,术语“机
器”还应理解为包括单独或共同执行一组(或多组)指令以进行本文所述的任何一种或多种
方法的机器的任何集合。
示例计算机系统1100包括通过总线1108互相通信的处理器1102(例如,中央处理
器(CPU)、图形处理单元(GPU)或两者)、主存储器1104和静态存储器1106。计算机系统1100
可进一步包括视频显示器1110(例如,液晶显示器(LCD)或阴极射线管(CRT))。计算机系统
1100还包括字母数字输入设备1112(例如,键盘)、用户界面(UI)导航设备1114(例如,鼠
标)、磁盘驱动器1116、信号生成设备1118(例如,扬声器)和网络接口设备1120。
磁盘驱动器1116包括机器可读介质1122,机器可读介质1122上存储有一组或多组
指令和数据结构(例如,指令1124),这些指令和数据结构体现了或用于本文所述的任何一
种或多种方法或功能。在计算机系统1100执行指令1124期间,指令1124也可完全或至少部
分位于静态存储器110、主存储器1104和/或处理器1102内,主存储器1104和处理器1102也
构成机器可读介质。
可进一步经由网络接口设备1120,通过计算机网络1150,利用多种已知传输协议
中的任何一种协议(例如,超文本传输协议(HTTP))传输或接收指令1124。
虽然在一个示例性实施例中机器可读介质1122示出为单个介质,但术语“机器可
读介质”应理解为包括存储一组或多组指令1124的单个介质或多个介质(例如,集中式或分
布式数据库和/或关联的高速缓存和服务器)。术语“机器可读介质”还应理解为包括能够存
储、编码或传输供机器执行的一组指令并使机器实施本发明的主题中的任何一种或多种方
法、或能够存储、编码或传输一组指令1124所使用的或关联的数据结构的任何介质。由此,
术语“机器可读介质”应理解为包括但不限于固态存储器、光学介质和磁性介质。
在本说明书全文中,多个实例可实施被描述为单个实例的组件、操作或结构。虽然
一种或多种方法的单项操作被图示和描述为单独的操作,但也可同时进行一种或多种单项
操作,可按图示顺序之外的其它顺序进行操作。在示例配置中呈现为单独组件的结构和功
能可实施为组合结构或组件。类似地,呈现为单个组件的结构和功能可实施为单独组件。这
些和其它变化、修改、添加和改进属于本文的主题范围。
本文所述的某些实施例包括逻辑或多个组件、模块或机构。模块可构成软件模块
(例如,在机器可读介质上或传输信号中实施的代码)或硬件模块。“硬件模块”是能执行某
些操作的有形单元,可以某种物理形式配置或布置。在各个示例性实施例中,可用软件(例
如,应用或应用部分)将一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统
或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,一个处理器或一组处理
器)配置为用于执行本文所述的某些操作的硬件模块。
在某些实施例中,可以机械方式、电子方式或这些方式的任何合适组合实施硬件
模块。例如,硬件模块可包括被永久配置为进行某些操作的专用电路或逻辑。例如,硬件模
块可以是专用处理器,例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块还
可包括用软件临时配置为执行某些操作的可编程逻辑或电路。例如,硬件模块可包括通用
处理器或其它可编程处理器内包含的软件。应理解的是,在考虑成本和时间的前提下,可决
定以机械方式、在专用和永久配置电路中或在临时配置电路(例如,用软件配置)中实施硬
件模块。
由此,应理解的是,术语“硬件模块”包括有形实体,是具有物理构造、永久配置(例
如,硬接线)或临时配置(例如,编程)的实体,用于以特定方式运行,或执行本文所述的某些
操作。本文使用的术语“硬件实现的模块”指硬件模块。对于临时配置(例如,编程)硬件模块
的实施例,无需在任何一个瞬间对每个硬件模块进行配置或实例化。例如,如果硬件模块包
括通用处理器,且通用处理器用软件配置为专用处理器,通用处理器可在不同时间配置为
各自不同的硬件模块。软件可由此配置处理器,以例如在一个瞬间下构成特定硬件模块,而
在一个不同瞬间下构成不同的硬件模块。
硬件模块可向其它硬件模块提供信息,并从中接收信息。由此,可将所述硬件模块
视为通信联接的。在同时存在多个硬件模块的情况下,可通过两个或多个硬件模块之间的
信号传输(例如,通过适当电路和总线)实现通信。在不同时间下配置或实例化了多个硬件
模块的实施例中,可通过例如多个硬件模块访问的存储结构中的信息的存储和取回来实现
这些硬件模块之间的通信。例如,一个硬件模块可执行一种操作,并将该操作的输出存储在
与其通信联接的存储设备中。随后,另一个硬件模块可在后来的时间访问存储设备,以取回
和处理存储的输出。硬件模块还可发起与输入或输出设备的通信,并可对资源(例如,一组
信息)进行操作。
本文所述的示例方法的各种操作可至少部分由临时配置(例如,由软件)或永久配
置用于执行相关操作的一个或多个处理器执行。无论临时配置还是永久配置,这种处理器
都可构成用于执行本文所述的一种或多种操作或功能的处理器实现的模块。本文使用的术
语“处理器实现的模块”指利用一个或多个处理器实现的硬件模块。
类似地,本文所述的方法可以至少一部分通过处理器实现,处理器是硬件的示例。
例如,可由一个或多个处理器或处理器实现的模块执行一种方法的至少某些操作。另外,一
个或多个处理器还可用于对“云计算”环境中的相关操作的执行提供支持,或作为“软件即
服务”(SaaS)而运行。例如,可由一组计算机(作为包括处理器的机器的示例)执行至少某些
操作,可通过网络(例如,互联网),并通过一个或多个适当接口(例如,应用程序接口(API))
访问这些操作。
某些操作的执行可分布在一个或多个处理器之间,这些处理器并非仅处于一个机
器内,而是部署在多个机器中。在某些示例性实施例中,一个或多个处理器或处理器实现的
模块可位于单个地理位置(例如,家庭环境、办公环境或服务器机群内)。在其它示例性实施
例中,一个或多个处理器或处理器实现的模块可分布在多个地理位置。
本说明的某些部分根据在机器存储器(例如,计算机存储器)内存储为位或二进制
数字信号的数据的操作的算法或符号表示来呈现。这些算法或符号表示是数据处理领域的
普通技术人员用来将其工作内容传达给本领域的其他技术人员的技术的示例。本文使用的
术语“算法”是为了获得预期结果而进行的自洽的操作序列或类似处理。在这种情况下,算
法和操作涉及物理量的物理操作。通常来说,这些量以能由机器存储、访问、传输、组合、比
较或以其它方式操纵的电、磁或光信号的形式呈现,但不一定必须如此。主要由于常见用法
的原因,有时将这些信号称为“数据”、“内容”、“位”、“值”、“元素”、“符号”、“字符”、“项”、
“号码”、“数字”等词语较为方便。但是,这些词语只是方便的标签,与适当物理量相关联。
除非另行特别说明,本文使用诸如“处理”、“运算”、“计算”、“确定”、“呈现”、“显
示”等词语进行的论述可指对一个或多个存储器(例如,易失性存储器、非易失性存储器或
其任何适当组合)、寄存器或接收、存储、传输或显示信息的其它机器组件内用物理(例如,
电子、磁或光)量表示的数据进行操作或转换的机器(例如,计算机)的动作或处理。另外,除
非另行特别说明,本文使用的术语“一种”或“一个”是专利文件中的常见术语,包括一个或
一个以上的实例。最后,除非另行特别说明,本文使用的连词“或”指非排他性的“或”。
提供本公开的摘要的目的在于让读者快速了解技术公开的本质。应理解的是,摘
要并非用于解释或限制权利要求的范围或意义。另外,在上述具体实施方式中,可以看出,
为了简化本公开,将各种特征组合在单个实施例中。公开的方法不应解释为反映这种意图:
所述实施例包括比每项权利要求中明确所述的特征更多的特征。相反,如以下权利要求所
反映,本发明的主题在于少于所公开的单项实施例的所有特征。因此,以下权利要求以此组
合在具体实施方式中,每项权利要求独立作为单独实施例。
虽已然参照特定示例性实施例对本公开的实施例进行了说明,但显然在不脱离这
些实施例的较宽范围的情况下,可对这些实施例进行各种修改和改变。由此,应将说明书和
附图理解为例证性,而非限制性意义。构成本文一部分的附图以图例(而不是限制)的方式
示出了可实施本主题的特定实施例。对所示实施例进行了足够详细的说明,以使本领域的
技术人员能够实施本文公开的教导。还可使用其它实施例并从中衍生出其它实施例,使得
在不脱离本公开的范围的情况下可进行结构和逻辑替代和改变。因此,该具体实施方式不
应理解为限制性意义,各个实施例的范围仅受所附权利要求以及这些权利要求有权要求的
等同物的全部范围的限制。
在本文中,仅为了方便起见,本发明的主题的这些实施例可单独和/或统一称为术
语“发明”,并不是为了将本申请的范围自主地限制为任何一个发明构思(如果实际上公开
了一个以上的发明概念)。因此,虽然本文已对特定实施例进行了图示和说明,但应理解的
是,可用为了达到相同目的而计算的任何布置代替所示的特定实施例。本公开意在涵盖各
个实施例的任何和所有调整或变化。本领域的技术人员在查看上述说明时将领会,可将上
述实施例以及本文未特别说明的其它实施例进行组合。