首页> 中国专利> 从全局模型进行本地化学习

从全局模型进行本地化学习

摘要

包括在计算机存储介质上编码的计算机程序的方法、系统和装置,用于:获得特定活动的全局模型,所述全局模型基于输入数据来导出,所述输入数据表示与由用户集合执行的特定活动相关联的多个观察;使用所述全局模型来确定预期数据,所述预期数据表示与由特定用户执行的所述特定活动相关联的预期观察;由所述特定用户操作的计算设备接收特定数据,所述特定数据表示与由所述特定用户执行的所述特定活动相关联的实际观察;由所述计算设备使用(i)所述预期数据和(ii)所述特定数据来确定所述特定用户的残余数据;以及,基于所述残余数据导出所述特定用户的本地模型。

著录项

  • 公开/公告号CN106471527A

    专利类型发明专利

  • 公开/公告日2017-03-01

    原文格式PDF

  • 申请/专利权人 谷歌公司;

    申请/专利号CN201580033188.2

  • 申请日2015-08-14

  • 分类号G06N99/00;

  • 代理机构中原信达知识产权代理有限责任公司;

  • 代理人李佳

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 01:44:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-03

    授权

    授权

  • 2018-02-09

    著录事项变更 IPC(主分类):G06N99/00 变更前: 变更后: 申请日:20150814

    著录事项变更

  • 2017-03-29

    实质审查的生效 IPC(主分类):G06N99/00 申请日:20150814

    实质审查的生效

  • 2017-03-01

    公开

    公开

说明书

背景技术

本说明书涉及评估全局模型以确定特定于用户的特性。

通常生成全局模型以预测与活动相关联的特性。通过使用从用户集合收集的数据训练模型来生成典型的全局模型。

发明内容

根据本说明书中描述的主题的一个创新方面,可以由服务器系统使用从用户集合收集的人口水平数据来训练用于活动或行为的全局模型。全局模型可以被分发到用户设备。可以在用户设备上本地评估全局模型以预测与用户设备的用户的活动或行为相关联的特性。可以将预测的特性与观察到的特定于用户的特性进行比较,以生成本地观察和这些观察的预测之间的差异。该差异可以表示用户的个人签名,并且可以用于训练特定于用户的模型。

一般来说,本说明书中描述的主题的一个创新方面可以体现在包括下述动作的方法中,所述动作为:获得用于特定活动的全局模型,所述全局模型基于输入数据来导出,所述输入数据表示与由用户集合执行的所述特定活动相关联的多个观察;使用所述全局模型来确定预期数据,所述预期数据表示与由特定用户执行的所述特定活动相关联的预期观察;由所述特定用户操作的计算设备接收特定数据,所述特定数据表示与由所述特定用户执行的所述特定活动相关联的实际观察;由所述计算设备使用(i)所述预期数据和(ii)所述特定数据来确定所述特定用户的残余数据;以及基于所述残余数据导出所述特定用户的本地模型。

这些和其他实现方式可以各自可选地包括以下特征中的一个或多个。使用(i)预期数据和(ii)特定数据来确定残余数据可以包括基于预期数据和特定数据之间的差异来确定残余数据。动作可以包括使用本地模型来确定特定预期数据,所述特定预期数据表示与特定用户执行的特定活动相关联的预期观察,其中由本地模型确定的特定预期数据基本上与特定数据匹配。

本地模型可以由计算设备导出。动作可以包括从计算设备向一个或多个远程计算机传送特定用户的本地模型作为特定用户的表示。

导出特定用户的本地模型可以包括从计算设备向一个或多个远程计算机传送残余数据,以及由一个或多个远程计算机导出本地模型。全局模型可以包括由第一多个主轴构成的第一向量空间,并且本地模型可以包括由第二多个主轴构成的第二向量空间,所述第二多个主轴不同于所述第一多个主轴。

动作可以包括:获得用于不同于所述特定活动的第二活动的第二全局模型,所述第二全局模型基于第二输入数据来导出,所述第二输入数据表示与由用户集合执行的所述第二活动相关联的多个观察;使用所述第二全局模型来确定第二预期数据,所述第二预期数据表示与由所述特定用户执行的所述第二活动相关联的预期观察;由所述特定用户操作的所述计算设备接收第二特定数据,所述第二特定数据表示与由所述特定用户执行的所述第二活动相关联的实际观察;以及,由所述计算设备使用(i)所述第二预期数据和(ii)所述第二特定数据来确定所述特定用户的第二残余数据。

导出特定用户的本地模型可以包括至少基于(i)残余数据和(ii)第二残余数据导出特定用户的本地模型。

有利的实施方式可以包括以下特征中的一个或多个。本地观察和预期观察之间的差异可以在用户设备上本地确定,并且因此可以保护用户隐私。特定于用户的特性或本地观察和预期观察之间的差异可以随后用于认证用户的身份。可以使用特定于用户的特性或差异来训练更准确的用户本地模型。本地模型可以被传送到远程服务器以表示用户,而不向远程服务器公开用户的实际观察,并且因此可以进一步保护用户隐私。通过收集在多个客户端设备上训练的本地模型,中央服务器系统可以学习所部署的全局模型所造成的系统错误。可以考虑所收集的本地模型来训练改进的全局模型。

该方面和其他方面的其他实施方式包括被配置为执行编码在计算机存储设备上的方法的动作的对应系统,装置和计算机程序。一个或多个计算机的系统可以借助于安装在系统上的、在操作中使得系统执行动作的软件、固件、硬件或它们的组合来如此配置。一个或多个计算机程序借助于具有当由数据处理装置执行时使得装置执行动作的指令来如此配置。

在附图和下面的描述中阐述了一个或多个实施方式的细节。其他潜在的特征和优点将从描述、附图、和权利要求变得显而易见。

附图说明

图1A是示例系统的框图。

图1B是可以使用残余数据来训练用户的本地模型的示例系统的框图。

图1C是可以使用残余数据来认证用户的身份的示例系统的框图。

图2是可以使用多个活动的残余数据来训练用户的本地模型的示例系统的框图。

图3是图示出用于导出本地模型的示例过程的流程图。

图4是图示出用于基于主成分分析导出本地模型的示例过程的流程图。

在各个附图中相同的附图标记和名称指示相同的元件。

具体实施方式

图1A是示例系统100的框图。系统100可以用于评估全局模型以确定用户活动的预期观察。系统100还可以用于基于预期观察和实际观察之间的比较来确定残余数据。全局模型是指使用来自操作一个或多个相应计算设备的用户集合的人口水平数据训练的模型。全局模型可以被传送到特定用户的特定计算设备并在其上本地评估。通过全局模型预测的预期观察与用户的实际观察之间的比较提供了可以表示用户的唯一特性的残余数据。

系统100包括客户端设备110、计算系统120、和网络130。一般来说,计算系统120可以是远程服务器系统,其基于经训练的全局模型142提供代表性全局模型144到客户端设备110。计算系统120包括模型训练模块140,用于导出经训练的全局模型142,以提供与训练用户组相关联的一个或多个活动或行为的人口水平基线。由计算系统120执行的功能可以由个体的计算机系统执行或者可以分布在多个计算机系统上。

在系统100中,客户端设备110可以是例如桌面型计算机、膝上型计算机、平板计算机、可穿戴计算机、蜂窝电话、智能电话、音乐播放器、电子书阅读器、导航系统或任何其它适当的计算设备。在一些实施方式中,客户端设备110可以包括用于测量客户端设备110的用户的一个或多个特性的一个或多个传感器。例如,客户端设备110可以包括加速度计、GPS接收器、陀螺仪、磁力计、麦克风、触摸面板、相机、用户操作(例如,键盘、应用使用等)或任何其它适当的传感器。在一些实施方式中,对用户的活动的观察包括在活动期间来自用户的一个或多个测量特性的组合。在一些实施方式中,观察可以包括由一个或多个软件模块或引擎处理的一个或多个测量特性的组合。活动的示例包括步行、跑步、驾驶、发短信、在电话上说话、记录照片、记录视频、或客户端设备110可以测量的任何其他活动。

在一些实施方式中,客户端设备110(例如,用户的电话)可以从计算系统120接收代表性全局模型144,其中代表性全局模型144可以是经训练的全局模型142的压缩或简化版本。客户端设备110包括用于确定残余数据158的残余模块150。客户端设备110可以存储代表性全局模型144,并且本地地评估代表性全局模型144并确定残余数据158,而不与远程服务器系统(例如,计算系统120)进行通信。结果,可以从远程服务器系统阻止用户102的具体观察。此外,如下面参考图1B更详细地描述的,残余数据158可以用于训练用户102的本地模型以提供用户102的更准确的表示。

网络130可以是有线的或无线的或两者的组合。网络130可以包括例如无线蜂窝网络、无线局域网(WLAN)或Wi-Fi网络、第三代(3G)或第四代(4G)移动电信网络、有线以太网网络、诸如内联网的专用网络、诸如互联网的公共网络或者网络的任何适当组合。

图1A还图示出了阶段(A)至(F)所示的示例性数据流。阶段(A)至(F)可以以所图示的序列发生,或者它们可以以与所图示序列不同的合适序列发生。在一些实施方式中,阶段(A)至(F)中的一个或多个可以离线发生,其中计算系统120或客户端设备110可以在客户端设备110未连接到网络130时执行计算。

在阶段(A)期间,计算系统120获得人口水平训练数据122的集合,并将人口水平训练数据122输入到模型训练模块140。一般来说,人口水平训练数据122表示由多个客户端设备收集的多个观察,其中所述观察与由用户集合中的每一个用户执行的一个或多个活动相关联。在一些实施方式中,人口水平训练数据122可以由计算系统120存储并可访问。例如,客户端设备可以包括一个或多个传感器,用于测量定向、位置、运动、速度、打字模式、电话使用或其他客户端设备可测量的参数。这些测量可以与由客户端设备的用户执行的活动相关,以生成对活动的观察。来自多个客户端设备的观察可以被聚合以形成人口水平训练数据122的集合。在一些实施方式中,人口水平训练数据122可以包括由用户执行的单个观察。在一些其他实施方式中,人口水平训练数据122可以包括由相同用户执行的多个观察。

在一些实施方式中,人口水平训练数据122可以包括与活动相关联的特定类型的测量数据。在一些其他实施方式中,人口水平训练数据122可以包括与活动相关联的多种类型的测量数据。在一些实施方式中,人口水平训练数据122可以包括表示用户集合的人口统计数据的数据。例如,计算系统120可以基于人口水平训练数据122的用户的性别来选择训练数据。在一些实施方式中,人口水平训练数据122可以是匿名的。

在一些实施方式中,人口水平训练数据122可以被标准化为指定的格式。例如,从不同制造商制造的客户端设备收集的训练数据可以在聚合成人口水平训练数据122之前被标准化为标准格式。作为另一示例,从运行不同操作系统的客户端设备收集的训练数据可以在聚合成人口水平训练数据122之前被标准化为标准格式。在一些实施方式中,多种类型的测量数据可以被标准化为特定格式。例如,与用户的特定活动相关联的多种类型的测量数据可以由单个向量表示。在一些实施方式中,可以将一个或多个权重分配给多种类型的测量数据中的一种或多种。

在阶段(B)期间,计算系统120的模型训练模块140使用人口水平训练数据122来训练全局模型,得到经训练的全局模型142。例如,模型训练模块140可以基于主成分分析(PCA)来训练全局模型。作为另一示例,可以基于随机梯度下降来训练非时间序列全局模型。非时间序列模型的示例的描述可以在Proceedings of the International Joint Conference on Artificial Intelligence,IJCAI(2011)(人工智能国际联合会议记录)的Weston等人的“Wsabie:Scaling Up To Large Vocabulary Image Annotation(扩展到大词汇图像标注)”中找到。作为另一示例,可以使用向量值的人口水平训练数据来训练诸如循环神经网络的时间序列全局模型。示例时间序列模型的描述可以在CoRR abs/1308.0850的Graves等人的“Generating sequences with recurrent neural networks(递归神经网络的生成序列)”中找到。在一些实施方式中,基于与特定活动相关联的人口水平训练数据122来训练全局模型。在一些其他实施方式中,基于与多个活动相关联的人口水平训练数据122来训练全局模型。

在训练期间,可以提供一个或多个目标函数124作为对模型训练模块140的输入。在一些实施方式中,目标函数124可以是被指定作为经训练的全局模型在训练之后应产生的预期输出的目标向量。目标函数124可以指定用于优化经训练的全局模型142的阈值。例如,目标函数124可以指定用于基于PCA导出全局模型的信号和噪声方差的最小信噪比。目标函数124可以提供用于在经训练的全局模型142中对人口水平训练数据122进行分类的一个或多个条件。例如,目标函数124可以指定用于表征用户正在行走的第一条件,并且可以指定用于表征用户正在跑步的第二条件。

满足一个或多个目标函数124的模型可以被指定为经训练的全局模型142。在一些实施方式中,模型训练模块140的参数由计算系统120自动调整。在一些其他实施方式中,模型训练模块140的参数由计算系统120的操作者手动调整。

在阶段(C)期间,一旦已经训练了全局模型,则基于经训练的全局模型142的代表性全局模型144通过网络130从计算系统120传送到客户端设备110。在一些实施方式中,代表性全局模型144可以是经训练的全局模型142的压缩或简化版本,使得代表性全局模型144可包括经训练的全局模型142的一部分或子集。例如,如果经训练的全局模型142在PCA下被训练为具有m个正交轴的向量空间,则代表性全局模型144可以包括具有(m-1)个正交轴的向量空间,其中m是大于1的整数。

在阶段(D)期间,操作客户端设备110的用户102向客户端设备110提供活动数据152。活动数据152可以是在用户102执行特定活动的同时由客户端设备110上的一个或多个传感器测量的数据。在一些实施方式中,活动数据152包括与活动相关联的特定类型的测量数据。在一些其它实施方式中,活动数据152包括与活动相关联的多种类型的测量数据。客户端设备110可以与用户102验证以确认用户102已经执行了特定活动。在一些实施方式中,客户端设备110存储活动数据152。

活动数据152可以包括在单个观察上测量的数据。替选地,活动数据152可以包括在多个观察上测量的数据。例如,用户102可以带着客户端设备110在几天内的一段时间内慢跑。活动数据152可以包括在一天中的一次跑步期间测量的数据或在多天中的多次跑步期间测量的数据。

客户端设备110可以将活动数据152标准化为特定格式。另外,一个或多个权重可以被分配给活动数据152的一个或多个测量。

在阶段(E)期间,客户端设备110评估代表性全局模型144以确定预期输出数据156。通常,预期输出数据156表示与用户102执行的活动相关联的特性的预测。在在一些实施方式中,预期输出数据156可以是向量。例如,代表性全局模型144可以是具有基于PCA的(m-1)个主轴的降维向量空间的模型,其中沿着每个主轴的数据是高斯分布的。代表性全局模型144可以确定降维向量空间中的取平均值的向量,然后将取平均值的向量投影回具有m个正交轴的原始向量空间。预期输出数据156可以是原始向量空间中的投影向量。

在一些实施方式中,客户端设备110可以将用户102的简档数据输入到代表性全局模型144以确定预期输出数据156。例如,客户端设备110可以将用户102的年龄输入到代表性全局模型144以确定用户102的年龄组的预期输出数据156。该确定在客户端设备110上本地执行,并且因此用户的简档不被传送到计算系统120。

在阶段(F)期间,客户端设备110的残余模块150比较活动数据152和来自代表性全局模型144的预期输出数据156,并且确定残余数据158。通常,残余数据158表示用户102的个性签名。一些实施方式中,残余模块150通过确定活动数据152和预期输出数据156之间的差异来确定残余数据158。例如,残余模块150可以通过确定活动数据152的第一向量和表示预期输出数据156的第二向量之间的向量距离来确定残余数据158。

图1B是可以使用残余数据来训练用户102的本地模型的示例系统100的框图。一般来说,模型(例如,全局模型或本地模型)可以指代任何可逆的表示模型f(x),其中在给定由f(x)输出表示的情况下,可以找到最大似然伪观察f-1(f(x))。例如,可以训练本地模型以预测被赋值f-1(f(x))-x的向量。在一些实施方式中,模型可以指代不可逆的表示模型f(x),但是可以将推理函数g应用于f(x)输出的表示以估计伪观察g(f(x))。例如,全局模型或本地模型可以是具有多个隐藏层的神经网络,使得反转输出可能是有挑战性的,但是可以将推理函数应用于输出以估计输入观察。

一般来说,客户端设备110包括模型训练模块160,其被配置为训练比代表性全局模型144更精确地表示用户102的本地模型。本地模型可以作为用户102的表示被传送到计算系统120而不公开在观察期间测量的实际数据。有利地,用户102的隐私受到保护,因为实际观察被本地存储在客户端设备110中,并且不被传送到计算系统120。在一些实施方式中,用户102可以控制向计算系统公开实际观察120。

图1B还图示出了阶段(G)至(I)中所示的示例性数据流。阶段(G)至(I)可以以所图示的序列发生,或者它们可以以与所示序列不同的合适序列发生。在一些实施方式中,阶段(G)到(I)中的一个或多个可以离线发生,其中计算系统120或客户端设备110可以在客户端设备110未连接到网络130时执行计算。

在阶段(G)期间,客户端设备110将残余数据158、代表性全局模型144、和一个或多个目标函数162输入到模型训练模块160。在阶段(H)期间,模型训练模块160为用户102确定经训练的本地模型164。在一些实施方式中,本地模型的训练过程类似于全局模型的训练过程。例如,使用PCA,模型训练模块160可以使用残余数据158来确定代表性全局模型144的经更新的主轴,其最小化来自实际观察的信号和噪声方差的信噪比。在一些实施方式中,用于本地模型的训练过程可以使用不同的模型类。例如,模型训练模块160可以使用残余数据158来确定与不同活动相关联的本地模型。

训练过程可以在用户102没有操作客户端设备110时发生。替选地或补充地,训练过程可以在客户端设备110连接到电源插座时发生。在一些实施方式中,客户端设备110批量地执行训练过程,其中可以针对不同的活动训练多个本地模型。在一些实施方式中,客户端设备110在接收到残余数据158时立即执行训练过程。在一些实施方式中,客户端设备110定期地执行训练过程。

在一些实施方式中,模型训练模块160随时间更新经训练的本地模型164。例如,如果用户102每天进行一次跑步,则残余模块150可以将表示这些跑步的实际观察的数据与由当前经训练的本地模型164确定的预期输出数据进行比较。残余模块150可以确定更新的残余数据,其中模型训练模块160可以相应地确定更新的本地模型。该过程允许客户端设备110捕获用户102可能随着时间经历的姿势或其他改变。

在阶段(I)期间,客户端设备110将代表性本地模型166传送到计算系统120。在一些实施方式中,代表性本地模型166不同于经训练的本地模型164。例如,代表性本地模型166可以是经训练的本地模型164的压缩版本。作为另一示例,客户端设备110可以从经训练的本地模型164中移除关于用户102的私人信息,以生成代表性本地模型166。

虽然在图1B中未示出,但是在一些实施方式中,本地模型由计算系统120训练。例如,客户端设备110可以向计算系统120传送残余数据158,其中计算系统120可以使用残余数据158在训练经更新的模型中作为训练数据或目标函数以用于表示用户102。

图1C是可以使用残余数据来认证用户的身份的示例系统101的框图。一般来说,在客户端设备110已经确定了残余数据158之后,客户端设备110可以将在稍后时间生成的新的残余数据与残余数据158进行比较以验证用户102的身份。客户端设备110包括验证模块170,其被配置为基于用户102的特殊习惯来验证用户102的身份。

图1C还图示出了阶段(J)至(O)所示的示例性数据流。阶段(J)至(O)可以以所图示的序列发生,或者它们可以以与所图示序列不同的合适序列发生。在一些实施方式中,阶段(J)到(O)中的一个或多个可以离线发生,其中客户端设备110可以在客户端设备110未连接到网络130时执行计算。

在阶段(J)期间,用户102执行活动,并且客户端设备110测量和收集第二活动数据172。例如,当行走时,用户102可以将客户端设备110保持在特定定向。客户端设备110可以连续地或定期地测量客户端设备110的定向。作为另一示例,当跑步时,用户102可以以特定范围的速度移动。客户端设备110可以连续地或定期地测量客户端设备110的移动。作为另一示例,当在客户端设备110上说话时,用户102可以以一个或多个语音特征谈话。客户端设备110可以测量用户的话语并且连续地或定期地分析语音特征。在阶段(K)期间,第二活动172和预期输出数据156用作残余模块150的输入。在阶段(L)期间,残余模块150确定第二残余数据178。

在阶段(M)期间,残余数据158和第二残余数据178被用作验证模块180的输入。在阶段(N)期间,验证模块180确定第二残余数据178是否基本上与用户102的残余数据158匹配。在一些实施方式中,如果第二残余数据178和残余数据158之间的差异满足阈值条件,则第二残余数据178基本上与残余数据158匹配。验证模块180可以输出验证结果182。

在阶段(O)期间,客户端设备110可以向用户102提供表示验证结果182的指示。在一些实施方式中,如果客户端设备110已经接受了用户102的身份,则客户端设备110可以向用户102发送验证成功的视觉或音频指示。在一些其他实施方式中,如果客户端设备110已经接受用户102的身份,则客户端设备110可以继续其操作,而不向用户102呈现验证结果182。

如果客户端设备110已经拒绝了用户102的身份,则客户端设备110可以向用户102发送验证被拒绝的视觉或音频指示。在一些实施方式中,如果客户端设备110已经拒绝了用户102的身份,则客户端设备110提示用户102验证用户102的身份的另一种方式。如果尝试次数超过阈值,则客户端设备110可以不允许用户102进一步尝试验证用户的身份。

图2是使用多个活动的残余数据来训练用户的本地模型的示例系统200的框图。一般来说,计算系统120可以为每个活动训练相应的全局模型。一旦客户端系统110确定与每个活动相关联的特殊习惯或残余数据,可以训练综合用户模型以表示用户的综合简档。例如,客户端设备110可以使用综合用户模型来对正由用户执行的各种活动进行分类。作为另一示例,如果多个综合用户模型已经存储在客户端设备110中,则客户端设备110可以通过特定用户的特殊习惯来识别多个潜在用户中的特定用户。

系统200包括综合模型训练模块207,其被配置为接收多个残余数据201a-201n作为输入,并确定用户模型209作为输出。在一些实施方式中,可以在客户端设备(例如,图1B的客户端设备110)上训练用户模型209。在一些其他实施方式中,可以在计算系统(例如,图1A的计算系统120)上训练用户模型209。

在一些实施方式中,综合模型训练模块207接收一个或多个附加输入信号203作为输入。输入信号203可以包括综合模型训练模块207可以用来生成用户模型209的数据、模型、目标函数或其他信号中的一个或多个。例如,输入信号203可以包括一个或更多的活动的预期输出。作为另一示例,输入信号203可以包括一个或多个活动的实际观察。作为另一示例,输入信号203可以包括用于一个或多个活动的一个或多个全局模型和/或一个或多个本地模型。

在一些实施方式中,综合模型训练模块207随时间更新用户模型209。例如,综合模型训练模块207可以定期地更新用户模型209。替选地,在另一示例中,综合模型训练模块207可以响应于正被更新的一个或多个活动的残余数据来更新用户模型209。

图3是图示出用于导出本地模型的示例过程300的流程图。过程300可以由数据处理装置执行,诸如上述客户端设备110。替选地或补充地,过程300可以由计算系统120或另一数据处理装置执行。

系统获得特定活动的全局模型(302)。在一些实施方式中,可以基于表示与由用户集合执行的特定活动相关联的多个观察的输入数据来导出全局模型。例如,客户端设备110可以从计算系统120接收代表性全局模型144。

系统使用全局模型来确定表示与特定用户所执行的特定活动相关联的预期观察的预期数据(304)。例如,客户端设备110可以使用代表性全局模型144来确定预期输出数据156。

系统接收表示与特定用户所执行的特定活动相关联的实际观察的特定数据(306)。例如,客户端设备110可以从用户102接收活动数据152。

系统使用(i)预期数据和(ii)特定数据来确定残余数据(308)。例如,残余模块150可以基于活动数据152和预期输出数据156来确定残余数据158。

在一些实施方式中,系统基于预期数据和特定数据之间的差异确定残余数据。例如,如果预期输出数据156和活动数据152是相等维度的向量,则残余模块150可以基于两个向量之间的差异来确定残余数据158。

在一些实施方式中,系统接收与特定活动相关联的第二特定数据。例如,客户端设备110可以从用户102接收第二活动数据172。系统可以使用(i)预期数据和(ii)第二特定数据来确定第二残余数据。例如,残余模块150可以基于第二活动数据172和预期输出数据156来确定第二残余数据178。系统可以确定第二残余数据基本上不与残余数据匹配。例如,验证模块180可以确定第二残余数据178基本上不与残余数据158匹配。在一些实施方式中,如果第二残余数据178和残余数据158之间的差异不满足阈值,则第二残余数据178基本上不与残余数据158匹配。响应于确定第二残余数据基本上不与残余数据匹配,系统可以确定特定用户的身份未被验证。例如,验证模块180可输出验证结果182,并向用户通知用户102的身份未被验证。

系统基于残余数据导出特定用户的本地模型(310)。在一些实施方式中,本地模型可以由计算设备导出。例如,客户端设备110的模型训练模块160可以导出本地模型164。计算设备可以将特定用户的本地模型作为特定用户的表示传送到一个或多个远程计算机。例如,客户端设备110可以将代表性本地模型166传送到计算系统120。

在一些实施方式中,计算设备可以将残余数据传送到一个或多个远程计算机,其中本地模型可以由一个或多个远程计算机导出。例如,客户端设备110可以将残余数据158传送到计算系统120,其中计算系统120的模型训练模块140可以为用户102导出本地模型。

在一些实施方式中,系统使用本地模型确定特定预期数据,所述特定预期数据表示与特定用户执行的特定活动相关联的预期观察,其中由本地模型确定的特定预期数据基本上与特定数据匹配。例如,客户端设备110可以使用经训练的本地模型164来生成与活动相关联的预期输出数据,其中预期输出数据基本上与活动数据152匹配。如果特定预期数据和特定数据之间的差异满足阈值,则特定预期数据可以被确定为基本上与特定数据匹配。

在一些实施方式中,系统获得用于不同于特定活动的第二活动的第二全局模型。可基于第二输入数据来导出第二全局模型,所述第二输入数据表示与由多个用户所执行的第二活动相关联的多个观察。系统可以使用第二全局模型来确定第二预期数据,所述第二预期数据表示与用户执行的第二活动相关联的预期观察。系统可以通过由特定用户操作的计算设备来接收第二特定数据,所述第二特定数据表示与特定用户执行的第二活动相关联的实际观察。系统可以通过计算设备使用(i)第二预期数据和(ii)第二特定数据来确定特定用户的第二残余数据。

在一些实施方式中,系统可以至少基于(i)残余数据和(ii)第二残余数据来导出特定用户的本地模型。例如,综合模型训练模块207可以基于残余数据201a-n来导出用户模型209。

图4是图示出用于基于主成分分析导出本地模型的示例过程400的流程图。过程400可以由数据处理装置(诸如上述系统100或另一数据处理装置)执行。

计算系统120接收人口水平训练数据(402)。例如,对于已经执行了特定活动的所有训练用户,相应的客户端设备可以向计算系统120提供总共n个观察,其中n是等于或大于1的整数。每个观察可以包括m种类型的测量结果,其中m是等于或大于1的整数。人口水平训练数据可以被构造为m×n矩阵。

计算系统120将人口水平训练数据映射到m维向量空间,其中m可以是大于或等于1的整数(404)。例如,通过将m种测量结果中的每一种分配为一个维度,可以为n个观察中的每一个分配大小为m的向量。计算系统120可以将n个向量映射到具有m个正交轴的向量空间。

计算系统120基于映射的人口水平训练数据确定一个或多个主轴(406)。例如,使用主分量分析,计算系统120可以找到协方差的特征向量以确定向量空间的主轴。

计算系统120导出具有降低的向量空间维度的全局模型(408)。例如,计算系统120可以确定沿每个主轴的方差。如果特定主轴的方差满足阈值,则计算系统120可以确定沿着特定主轴的数据表示实质数据。如果特定主轴的方差不满足阈值,则计算系统120可以确定沿着特定主轴的数据表示噪声,并且计算系统120可以从该向量空间移除特定主轴以降低向量空间的维度。例如,如果计算系统120确定一个主轴不携带实质数据,则计算系统120可以生成具有主轴为(m-1)个的向量空间的全局模型。因此,n个观察被映射到降低的向量空间,其中每个向量具有(m-1)个元素。

客户端设备110接收全局模型(410)。例如,客户端设备110可以接收具有(m-1)个主轴且具有n个向量的降低的向量空间作为全局模型。

客户端设备110确定预期数据(412)。例如,客户端设备可以使用降低的向量空间中的n个向量来确定均值向量。均值向量具有(m-1)个元素。

客户端设备110将预期数据重映射到m维向量空间(414)。例如,客户端设备110可以将均值向量重新映射回具有m个正交轴的原始向量空间。重映射的均值向量表示执行活动的用户的预期伪观察。

客户端设备110接收用户数据(416)。例如,客户端设备110可以在用户102正在执行活动时从用户102接收包括m种类型的测量数据的观察。在一些实施方式中,客户端设备110可以从用户102接收k个观察,其中k是等于或大于1的整数。

客户端设备110将用户数据映射到m维向量空间(418)。例如,客户端设备110可以将实际观察映射到原始向量空间。

客户端设备110确定残余数据(420)。例如,客户端设备110可以确定映射的实际观察和重新映射的均值向量之间的向量距离作为残余数据。

客户端设备110导出本地模型(422)。例如,客户端设备110可以在导出用户102的本地模型时使用向量距离作为训练目标。

已经描述了多种实施方式。然而,应当理解,在不脱离本公开的精神和范围的情况下可以进行各种修改。例如,可以使用上面所示的各种形式的流程,其中重新排序、添加或移除步骤。

本说明书中描述的实施例和所有功能操作可以实现在数字电子电路中或在计算机软件、固件或硬件中,包括本说明书中公开的结构及其结构等同物或者它们的一个或多个更多的组合。实施例可以实现为一个或多个计算机程序产品,即,编码在计算机可读介质上的用于由数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备、影响机器可读传播信号的物质组成、或它们中的一个或多个的组合。计算机可读介质可以是非暂时性计算机可读介质。术语“数据处理装置”包括用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。除硬件之外,该装置可以包括创建用于讨论中的计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光、或电磁信号,其被生成以编码用于传输到合适的接收机设备的信息。

计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释语言、声明性或过程语言,并且它可以以任何形式部署,包括作为独立程序或作为适于在计算环境中使用的模块、组件、子例程、或其他单元。计算机程序可以但不需要对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、在专用于所述程序的单个文件中或者在多个协同文件中(例如,存储一个或多个模块、子程序、或代码部分的文件)。计算机程序可以被部署为在一个计算机上或在位于一个地点或分布在多个地点并通过通信网络互连的多个计算机上执行。

本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))来执行,并且装置也可以实现为专用逻辑电路。

适合于执行计算机程序的处理器包括例如通用和专用微处理器以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如,磁盘、磁光盘或光盘,或者计算机可操作地耦合以从其接收数据或向其传送数据或两者。然而,计算机不需要具有这样的设备。此外,计算机可以嵌入在另一设备中,该另一个设备例如是平板计算机、移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器,这里仅举了几个例子。用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储设备,例如包括:半导体存储器设备,例如EPROM,EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及,CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。

为了提供与用户的交互,实施例可以实现在计算机上,该计算机具有:用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器);以及,键盘和例如鼠标或轨迹球的指示设备,用户可以通过该指示设备向计算机提供输入。其他类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。

实施例可以实现在计算系统中,该计算系统包括例如作为数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括例如具有图形用户界面或Web浏览器(用户可以通过该Web浏览器与所公开的技术的实施方式交互)的客户端计算机的前端组件,或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如,互联网。

计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。

虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制,而是作为对特定于特定实施例的特征的描述。在本说明书中在分离的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分离地或以任何合适的子组合来实现。此外,虽然特征可以在上面描述为在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从组合中去除,并且所要求保护的组合可以针对子组合或子组合的变化形式。

类似地,虽然在附图中以特定顺序描绘操作,但是这不应被理解为要求这些操作以所示的特定顺序或以依序顺序执行,或者所有所图示的操作被执行以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品内。

因此,已经描述了特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号