使用生成式对抗网络进行私有化的机器学习的制作方法

文档序号:18466402发布日期:2019-08-17 02:30阅读:178来源:国知局
使用生成式对抗网络进行私有化的机器学习的制作方法

本公开整体涉及经由私有化数据的机器学习领域。更具体地,本公开涉及一种系统,该系统实现一个或多个隐私机制,以能够使用生成式对抗网络进行私有化的机器学习。



背景技术:

机器学习是人工智能的一种应用,它使复杂的系统能够在无需显式编程的情况下自动学习并改善体验。机器学习模型的准确性和有效性可部分取决于用于训练这些模型的数据。例如,可以使用有标签数据集来训练机器学习分类器,其中分类器将学习识别的数据样本以及辨识样本分类的一个或多个标签被一起提供给分类器。通常,较大的训练数据集导致更准确的分类器。然而,用于准备训练数据集的当前技术可能是费力、耗时且昂贵的,尤其是涉及手动标记数据以生成训练数据集的技术。



技术实现要素:

本文描述的实施方案提供了一种技术,用于众包机器学习模型的训练数据的标记,同时维护由众包参与者提供的数据的隐私。客户端设备可用于为将在训练数据集中使用的数据单元生成拟议标签。一个或多个隐私机制用于在将数据传输到服务器时保护用户数据。

一个实施方案提供了一种移动电子设备,该移动电子设备包括用于存储指令的非暂态机器可读介质,该指令致使移动电子设备从服务器处接收有标签数据集;从服务器接收数据单元,该数据单元的数据类型与有标签数据集相同;经由移动电子设备上的机器学习模型确定用于数据单元的拟议标签,该机器学习模型用于基于来自服务器的有标签数据集以及与移动电子设备相关联的无标签数据集确定数据单元的拟议标签;经由隐私算法对拟议标签进行编码,以生成拟议标签的私有化编码;并且将拟议标签的私有化编码传输到服务器。

一个实施方案提供了数据处理系统,该数据处理系统包括存储指令的存储器设备以及执行存储在该存储器设备上的指令的一个或多个处理器。这些指令致使数据处理系统执行包括将有标签数据集发送到多个移动电子设备集的操作,每个移动电子设备包括第一机器学习模型;将数据单元发送到多个移动电子设备集,该多个电子设备集生成用于数据单元的拟议标签集;接收来自移动电子设备集的数据单元的拟议标签集,对拟议标签集进行编码,以掩蔽拟议标签集中每个拟议标签的单个贡献者;处理拟议标签集,以确定分配给数据单元的标签;并且将数据单元和标签添加到训练集,以用于训练第二机器学习模型。

通过附图以及通过以下具体实施方式,本实施方案的其他特征将显而易见。

附图说明

本公开的实施方案以举例的方式而不是以限制的方式在各个附图的图示中进行说明,在附图中类似的附图标号是指类似的元件。

图1a至图1b示出了根据本文描述的实施方案的能够为机器学习模型的训练数据启用众包标记的系统。

图2示出了根据一个实施方案的用于从多个客户端设备处接收私有化的众包标签的系统。

图3是根据一个实施方案的用于为服务器提供的无标签数据生成私有化拟议标签的系统的框图。

图4a至图4b示出了根据实施方案的训练机器学习模型以生成用于无标签数据的拟议标签的系统。

图5a至图5c示出了可以在本文描述的实施方案中使用的示例性私有化数据编码,其经由差分隐私实现私有化。

图6a至图6b是根据本文描述的实施方案的用于对将传输到服务器的拟议标签进行编码和差分私有化的示例处理流程。

图7a至7d是根据实施方案的客户端和服务器算法的多位直方图和计数-均值-草图模型的框图。

图8a至图8b示出了根据一个实施方案的在客户端设备上生成拟议标签的逻辑。

图9示出了根据一个实施方案的使服务器能够对无标签数据进行众包标记的逻辑。

图10示出了根据本文描述的实施方案的客户端设备上的计算架构,其可以用于使用机器学习算法来启用设备上、半监督的训练和推断。

图11是根据实施方案的移动设备架构的框图。

图12是示出可以结合本公开的实施方案中的一个或多个使用的示例计算系统的框图。

具体实施方式

本文将参考下面讨论的细节描述各种实施方案和方面。附图将示出各种实施方案。以下说明书和附图为例示性的,并且不应被理解为限制性的。描述了许多具体细节,以提供对各个实施方案的全面理解。然而,在某些实例中,并未描述熟知的或常规的细节,以提供对实施方案的简明论述。

在本说明书中提到的“一个实施方案”或“实施方案”或“一些实施方案”是指结合该实施方案所述的特定特征、结构或特性可被包括在至少一个实施方案中。在本说明书中的各个位置出现短语“实施方案”不一定都是指同一个实施方案。应当注意,在不脱离本文描述的实施方案的情况下,流程图或其中描述的操作可能存在变化。例如,操作可以并行、同时或以与所示顺序不同的顺序执行。

本公开认识到在本发明技术中使用个人信息数据可用于使用户受益。例如,该个人信息数据可用于递送用户较感兴趣的目标内容。因此,使用此类个人信息数据使得能够对所递送的内容进行有计划的控制。此外,本公开还预期个人信息数据有益于用户的其他用途。

本公开还设想负责此类个人信息数据的收集、分析、公开、发送、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。

不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就广告递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。又如,用户可选择不为目标内容递送服务提供位置信息。再如,用户可选择不提供精确的位置信息,但准许传输位置区域信息。

实施许多监督学习技术的关键障碍是要求在训练服务器上具有有标签数据。有标签数据问题的现有解决方案包括集中训练数据以及利用一个或多个标签手动注释数据。在训练数据是用户数据的情况下,在服务器上维护此类数据可能会丢失用户隐私。另外,手动标记训练数据可能受成本过高限制。

本文描述的实施方案使得用于训练数据的标记任务能够被众包到大量客户端设备,使得可以以半监督的方式确定用于训练数据的标签。可以利用存储在客户端设备上的用户数据集来标记训练数据,而无需将用户数据暴露给训练服务器。使用由服务器提供的生成式对抗网络(gan)和少量有标签数据样本,客户端设备可以基于存储在客户端设备中的用户数据执行半监督学习。然后可以将无标签训练数据单元提供给客户端设备。客户端设备上的已训练模型可以生成由服务器提供的无标签训练数据单元的拟议标签。由客户端设备提供的拟议标签被私有化,以掩蔽拟议标签与提出该标签的用户和/或客户端设备之间的关系。可以在服务器上分析拟议标签集,以确定无标签数据单元最受欢迎的拟议标签。一旦标记了训练数据集中的每个数据单元,则服务器可以使用该训练数据集来训练未训练的机器学习模型或改善预训练模型的准确性。

由客户端设备提供的标签可以经由一个或多个私有化机制进行私有化。在一些实施方案中,在将拟议标签数据提供给服务器之前,将差分隐私技术应用于每个客户端设备上的拟议标签数据。可以使用可以生成直方图的任何差分隐私技术。在一个实施方案中,使用了多位直方图算法,尽管在其他实施方案中可以使用其他基于直方图的差分隐私算法。在一个实施方案中,服务器和客户端也可以使用计数-均值-草图算法。在此类实施方案中,当可能标签的范围超过阈值时,服务器和客户端可以从多位直方图算法切换到计数-均值-草图算法。

除了使用差分隐私技术之外,还可以应用其他维护用户隐私的技术。例如,一些实施方案可以实施包括安全多方计算和/或同态加密操作的私有化技术。安全多方计算使多方能够在维护输入隐私时共同计算输入功能。同态加密是一种加密形式,允许在密文(加密数据)上执行计算,从而生成加密结果,当解密时,该加密结果与明文上执行的操作的结果匹配。在所有实施方案中,在传输到服务器之前,清理由用户设备提供的任何众包数据。另外,待传输的用户数据可以以私有化的方式本地存储。

图1a至图1b示出了根据本文描述的实施方案能够为机器学习模型的训练数据启用众包标记的系统100。如图1a所示,在一个实施方案中,服务器130可以通过网络120与客户端设备集110a-110n、111a-111n、112a-112n连接。服务器130可以是任何类型的服务器,包括单个服务器或服务器集群。服务器130还可以是或包括基于云的服务器、应用服务器、后端服务器、虚拟服务器或其组合。网络120可以是任何合适类型的有线或无线网络,诸如局域网(lan)、广域网(lan)或其组合。每个客户端设备可以包括任何类型的计算设备,诸如台式计算机、平板计算机、智能电话、电视机顶盒或其他计算设备。例如,客户端设备可以是watch、tv等,并且可以与大量用户集内的用户相关联,其中任务可以在用户的许可下进行众包。

在一个实施方案中,服务器130存储机器学习模型135,其可以是基于深度神经网络的机器学习模型。机器学习模型135可以是基本模型,其是未训练模型或低准确性预训练模型。服务器130还可以存储无标签数据集131和有标签数据集132。在一个实施方案中,无标签数据131是大数据集,其将被标记并用于提高机器学习模型135的准确性。有标签数据132是将被提供给客户端设备的相对较小的数据集,以促进生成针对无标签数据的拟议标签。

在一个实施方案中,无标签数据131和有标签数据132具有相同类型的数据,特别是机器学习模型135将对其进行分类的数据类型。然而,系统100不限于任何特定类型的数据。例如,系统100可以用于图像数据,包括对象,但不限于任何特定类型的数据。例如,图像数据可以用于图像机器学习模型,诸如图像分类器,其可以被配置为用于对象识别或面部识别。系统100还可以被配置为训练预测系统。字符和字词序列可用于训练预测键盘的预测模型。例如,可以训练机器学习模型135,使得对于给定的输入字符集,可以预测下一个字符或字词。应用程序序列可用于训练应用预测器。例如,对于用户访问或使用的给定应用程序序列,可以训练机器学习模型135以预测可能被用户访问的下一个应用程序或一些应用程序,并且在用户界面的区域中呈现用户易于且便于访问的那些应用程序的图标。在一个实施方案中,地图绘制应用程序可以使用机器学习模型135的变体以基于用户的最近位置或目的地的重置来预测用户的导航目的地。

客户端设备可以被组织成设备组(例如,设备组110、设备组111、设备组112),每个设备组可以包含多个客户端设备。每个设备组可以包含n个设备,其中n可以是任意数量的设备。例如,设备组110可以包含客户端设备110a-110n。设备组111可以包含客户端设备111a-111n。设备组112可以包含客户端设备112a-112n。在一个实施方案中,每个设备组可以包含多达128个设备,由设备组生成的拟议标签的准确性随着每个组中的客户端设备的数量增加而增加。每个设备组中的客户端设备的数量不限于任何特定数量的设备。另外,设备组的数量不限于任何特定数量的组。对于实施方案的每个具体实施,每个设备组中的设备的数量对于每个组可以是相同的,或者可以跨组而变化。另外,组内的所有设备都不需要提供拟议标签,尽管服务器130可能要求每组内的阈值数量的设备在选择特定的一个拟议标签之前提出标签。

在一个实施方案中,每个客户端设备(客户端设备110a-110n、客户端设备111a-111n、客户端设备112a-112n)可以包括本地机器学习模型。例如,设备组110的客户端设备110a-110n各自均可以包含对应的本地机器学习模型136a-136n。设备组111的客户端设备111a-111n各自均可以包含对应的本地机器学习模型137a-137n。设备组112的客户端设备112a-112n各自均可以包含对应的本地机器学习模型138a-138n。在各种实施方案中,本地机器学习模型可以在工厂供应期间加载到每个客户端设备上,或者可以在更新客户端设备的系统图像时加载或更新。在一个实施方案中,每个本地机器学习模型最初可以是服务器的机器学习模型135的变体。然后,可以通过对存储在客户端设备上的本地数据进行训练,将机器学习模型个性化到每个客户端设备上。

在一个实施方案中,每个客户端设备上的本地机器学习模型136a-136n、137a-137n、138a-138n可以是或包括生成式对抗网络(gan)的变体。gan是机器学习网络,其包括发生器和鉴别器,其中发生器将潜在编码映射到数据空间,并且鉴别器区分由发生器生成的样本与实际数据。训练发生器以欺骗鉴别器(例如,生成难以与实际数据区分的人工数据)。对鉴别器进行训练以避免被发生器欺骗。gan的操作在图3、图4a和图4b中进一步描述。

每个设备上的gan可用于基于由服务器提供的有标签数据集132在每个客户端设备上对本地存储的数据进行群集或标记。服务器可以向每个设备组内的每个客户端设备提供标记封装(例如,标记封装121、标记封装122、标记封装123)。标记封装可以包含有标签数据集132,gan将在每个设备上使用该有标签数据集来集群和/或标记每个设备上的本地数据。群集或有标签数据可用于个性化相应的机器学习模型。标记封装还包括一个无标签数据单元131[i],一旦机器学习模型被个性化,则客户端设备将为其生成拟议标签。在一个实施方案中,每个设备组的标记封装包括相同的无标签数据单元,每个设备组接收不同的无标签数据单元。例如,提供给设备组110中的每个客户端设备110a-110n的标记封装121可以包括第一无标签数据单元。提供给设备组111中的每个客户端设备111a-111n的标记封装122可以包括第二无标签数据单元。提供给设备组112中的每个客户端设备112a-112n的标记封装123可以包括第三无标签数据单元。

图1b示出了根据本文描述的实施方案的设备组110内的操作。设备组110包括客户端设备110a-110n(例如,客户端设备110a、客户端设备110b、客户端设备110c、客户端设备110n)。每个客户端设备包括对应的机器学习模型136a-136n,其中每个机器学习模型可以是gan的一部分或与gan相关联。

在一个实施方案中,基于由图1a中的服务器130提供的标记封装(例如,标记封装121),在设备组110内的每个客户端设备110a-110n上执行本地数据群集和/或标记操作139。本地数据群集和标记操作139可以使客户端设备上的本地数据(可能是无标签的)能够通常以可用于增强、训练或个性化每个客户端设备110a-110n上的本地机器学习模型136a-136n的方式被标记或分组。在各种实施方案中,可以应用各种群集和/或标记技术。在一个实施方案中,每个客户端设备110a-110n上的机器学习模型136a-136n可以分析每个设备上的本地存储数据集,并根据数据中存在的共同特征对数据进行分组。在本地图像数据存储在设备中的情况下,可以基于图像中检测到的共同特征将图像群集成相似图像的组。例如,包含面部的本地存储图像可以群集成第一组,而包含车辆的图像可以群集成第二组,并且包含风景的图像可以群集成第三组。可以在不区分每个组内的单个面部、车辆、风景等的情况下执行群集。在一个实施方案中,执行群集而不考虑正在创建的组的类型。例如,可以基于图像之间共享的共同特征对包含面部的图像进行分组,而无需显式配置或训练机器学习模型来识别面部。相反,可以基于在图像内检测到的共同数学特征对包含面部或其他对象的图像进行分组。可以基于数据文件内的数学特征对文本数据或其他类型的数据执行类似的群集。

一旦对用户数据进行群集,则每个客户端设备110a-10n可以使用本地机器学习模型136a-136n和从服务器接收的有标签数据集(例如,来自图1a的服务器130的有标签数据132)来标记群集的用户数据。客户端设备110a-110n可以将来自有标签数据集的有标签数据样本单元与用户数据群集中的数据进行比较。用户数据与有标签数据之间的共性程度可以根据用户数据的数据分布而变化,因为存储在每个客户端设备中的用户数据的类型和数量可以在设备之间显著变化。在来自有标签数据集的数据单元与用户数据群集共享足够的共性的情况下,可以为群集中的每个数据单元分配标签,从而在每个客户端设备上产生有标签本地数据集140a-140n。

每个客户端设备110a-110n上的有标签本地数据140a-140n可用于执行设备上训练操作145,以在每个客户端设备上训练或增强本地机器学习模型136a-136n。设备上训练操作145可以导致在每个设备上生成改善的模型146a-146n,其在对用于改善模型的特定类型的数据执行机器学习推断操作时更准确。由于每个客户端设备110a-110n的本地数据集的差异(例如,本地图像库中的不同图像、不同的操作系统或键盘语言、不同的常用应用等),改善的模型146a-146n将针对每个客户端设备110a-110n变得个性化。在一些具体实施中,改善模型146a-146n的个性化可以导致每个改善模型的不同准确水平。然而,在设备组110内的客户端设备110a-110n上,由设备组110输出的拟议标签可以聚合以获得准确的结果。

在一个实施方案中,设备组110中的客户端设备110a-110n可以使用每个设备上的改善模型146a-146n来执行对接收数据149进行分类的操作。所接收的数据是来自服务器130的无标签数据131(例如,无标签数据131[i])的单元,其经由标记封装(例如,用于设备组110的标记封装121)从服务器处提供给设备组110。可以在每个客户端设备110a-110n上执行对接收数据149进行分类的操作,以在每个设备上生成拟议标签集150a-150n。然后,每个客户端设备110a-110n可以使用本文描述的一个或多个数据私有化技术(例如,差分隐私、同态加密、安全多方计算等)来执行将拟议标签151私有化的操作。

图2示出了根据一个实施方案的用于从多个客户端设备处接收私有化的众包标签的系统200。在一个实施方案中,系统200包括客户端设备集210a-210c(统称为210),它们可以是上述客户端设备中的任一个(例如,客户端设备110a-110n、111a-111n、112a-112n)。使用上述技术的客户端设备210均可以生成对应的私有化拟议标签212a-212c(从客户端设备210私有化拟议标签212a、从客户端设备210b私有化拟议标签212b、从客户端设备210c私有化拟议标签212c),每个标签均可以经由网络120传输到服务器130。

例示的客户端设备210可以在相同的设备组或不同的设备组中。例如,客户端设备210a可以表示图1a中的设备组110的客户端设备110a,而客户端设备210b可以表示图1a中的设备组111的客户端设备111a。在客户端设备210处于不同设备组中的情况下,每个私有化拟议标签212a-212c将对应于由服务器130提供的不同单元的无标签数据。例如,客户端设备210a可以在标签封装121中接收第一无标签数据单元,而客户端设备210b可以在标签封装122中接收第二无标签数据单元。在客户端设备210处于相同设备组中的情况下,私有化拟议标签212a-212c将对应于由服务器提供的相同无标签数据单元(例如,图1a的标签封装121中的无标签数据131[i])。尽管拟议标签是针对相同的数据单元,但是由客户端设备210提出的标签可以不同,因为这些标签是基于每个客户端设备上的个性化机器学习模型提出的,其中基于存储在每个客户端设备210a-210c中的本地数据对个性化机器学习模型进行个性化。

在通过网络120传输到服务器130之前,在客户端设备210上生成的拟议标签被私有化,以生成私有化的拟议标签212a-212c。执行私有化以掩蔽众包数据集中任何拟议标签的贡献者的身份,并且可以使用一种或多种数据私有化算法或技术来执行私有化。本文描述的一些实施方案将差分隐私编码应用于拟议标签,而其他实施方案可以实施同态加密、安全多方计算或其他私有化技术。

服务器130维护拟议标签聚合数据的数据存储,其是从客户端设备210接收的私有化的拟议标签212a-212c的聚合。拟议标签聚合数据230的格式可以基于应用于拟议标签的私有化技术而变化。在一个实施方案中,多位直方图差分隐私技术用于私有化拟议标签,并且拟议标签聚合数据230是包含拟议标签频率估计的直方图。服务器可以处理拟议标签聚合数据230,以确定每个无标签数据单元131的最频繁拟议标签,并标记每个单元,生成众包有标签数据集231。然后,众包有标签数据231可用于训练和增强机器学习模型。

图3是根据一个实施方案的用于为服务器提供的无标签数据生成私有化拟议标签的系统300的框图。在一个实施方案中,客户端设备110可以包括隐私引擎353,其包括隐私守护进程356和隐私框架或应用编程接口(api)355。隐私引擎353可以使用各种工具(诸如散列函数,包括密码散列函数),以私有化由客户端设备110生成的拟议标签333。在一个实施方案中,客户端设备110另外包括生成式对抗网络(gan361),以使用客户端设备110上的无标签数据执行半监督学习,并且执行对由服务器130提供的服务器提供数据332内的有标签数据的几次选择。gan361包括发生器模块361a和鉴别器模块361b,它们各自均可以是神经网络,包括深度卷积神经网络。gan361可以基于客户端设备110上的用户数据和服务器提供的数据332内的有标签数据的样本生成群集或有标签用户数据363。在一个实施方案中,已训练的gan361的鉴别器模块361b然后可以为服务器提供的数据332内的无标签数据单元(例如,如图1a中的无标签数据131[i])生成拟议标签333。然后,可以使用隐私框架或api355,通过隐私引擎353内的隐私守护进程356将拟议标签333私有化。然后可以经由网络120将私有化的拟议标签传输到服务器130。

服务器130可以包括接收模块351和频率估计模块341,以确定标签频率估计331,其可以存储在各种数据结构中,诸如多位直方图算法中的阵列。接收模块351可以异步地从大量多个客户端设备110处接收众包私有化标签。在一个实施方案中,接收模块351可以从接收的草图数据中移除潜在标识符。潜在标识符可以包括ip地址、元数据、会话标识符或可以辨识发送草图的特定客户端设备110的其他数据。频率估计模块341还可以使用诸如但不限于私有化的计数-均值-草图操作的操作来处理所接收的私有化拟议标签。标签频率估计331可以由标记和训练模块330分析,该模块可以通过应用针对每个无标签服务器数据单元接收的最高频率标签来确定无标签服务器数据的标签。标记和训练模块330可以使用所确定的标签来将现有服务器侧机器学习模型135训练成改善的服务器侧机器学习模型346。在一个实施方案中,客户端设备110和服务器130可以参与迭代过程以增强机器学习模型的准确性。例如,改善的机器学习模型346可以经由部署模块352部署到客户端设备110,其中改善的机器学习模型346的部分可以合并到客户端设备110上的gan361中,以生成精炼的标签数据以进一步改善服务器侧模型。

图4a至图4b示出了根据实施方案的训练机器学习模型以生成用于无标签数据的拟议标签的系统400、410。图4a示出了使用无标签本地客户端数据404和由服务器提供的少量有标签数据(例如,有标签服务器数据402)来训练初始化的gan415的系统400。图4b示出了系统410,其中已训练的gan417用于为无标签服务器数据单元412生成拟议标签418。系统400、410可以在如本文所述的客户端设备上实施,诸如但不限于图2的客户端设备210。初始化的gan415和已训练的gan417各自均可以表示在客户端设备110上执行设备上的半监督学习之前和之后的图3的gan361的实例。

图4a的系统400包括初始化的gan415,其包括发生器网络403和鉴别器网络406。在一个实施方案中,发生器网络403是生成式神经网络,包括全连接层、卷积层、带步长卷积层和/或去卷积层。发生器网络403的具体实施可以基于gan实施而变化,并且不同的实施可以使用不同数量和神经网络层的组合。发生器网络403被配置为将随机输入数据(例如,噪声矢量401)变换为生成数据405。训练鉴别器网络406以区分由发生器网络403输出的生成数据405与数据集内的实际数据。对发生器网络403和鉴别器网络406进行一起训练。

在训练期间,发生器网络403基于来自鉴别器网络406的反馈学习生成更多真实的生成数据405。生成数据405的初始版本类似于随机噪声,而在训练期间生成数据的后续迭代开始类似于真实数据。在训练期间,鉴别器网络406学习区分真实数据与生成数据405。训练初始化的gan415改善了每个网络的准确性;使得鉴别器网络学习如何准确地区分生成数据405与真实数据,而发生器网络403学习如何产生鉴别器网络406可能不准确地解释为真实数据的生成数据405。

在所示系统400中,用于训练初始化gan415的真实数据集包括客户端设备上的有标签服务器数据402和无标签本地客户端数据404。gan415的训练过程包括找到最大化分类准确性的鉴别器网络406的参数,同时找到最大程度地混淆鉴别器的发生器的参数。发生器网络403和鉴别器网络406各自均可以与指导每个网络的训练路径的训练模块407交互。训练模块407可以向发生器网络403和鉴别器网络406提供关于每个网络的输出的反馈。例如,当鉴别器网络406正确地将生成数据405辨识为虚构时,训练模块407可以向发生器网络403提供信息以使网络能够生成更真实的生成数据405。当鉴别器网络406错误地将生成数据405辨识为可信时,然后训练模块407可以向鉴别器网络406提供信息,以使该网络能够更好地区分真实数据与生成数据405。

在一个实施方案中,训练模块407可以被配置为使用无标签本地客户端数据404结合有标签服务器数据402为初始化的gan415启用半监督学习。当仅训练数据集的子集具有对应的分类标签时,半监督训练使得能够执行机器学习。在一个实施方案中,在半监督训练过程期间,训练模块407可以使初始化的gan415能够输出有标签本地客户端数据408,其包括基于有标签服务器数据402内的样本应用的粗粒度标签的先前无标签本地客户端数据404的群集。在一些实施方案中,可以使用有标签本地客户端数据408来执行连续轮次的训练,以提高鉴别器网络406的准确性。在此类实施方案中,训练模块407可以优先呈现鉴别器网络406的准确性的优化,可能以生成真实出现的生成数据405时发生器网络403的准确性为代价。

图4b的系统410包括已训练的gan417,其包括已训练的发生器网络413和已训练的鉴别器网络416。如图4a所示,已训练的gan417以半监督的方式训练,使得已训练的鉴别器网络416被训练成能够为无标签服务器数据集412生成拟议标签418,其准确性至少略微优于随机一致猜测。通过在服务器处聚合每个无标签服务器数据单元412的大量多个(例如,超过100个)拟议标签,减少了任何给定拟议标签的所需准确性。拟议标签在传输到服务器之前已经私有化。然后,服务器根据与用于私有化拟议标签418的私有化技术相关联的服务器侧算法来处理聚合的拟议标签数据。

经由差分隐私提出的标签私有化

在一些实施方案中,将一种或多种差分隐私技术应用于众包拟议标签,以掩蔽拟议标签的贡献者的身份。作为一般概述,本地差分隐私在共享用户数据之前将随机性引入到客户端用户数据。不是具有集中数据源d={d1,...,dn},而是每个数据条目di均属于单独的客户端i。鉴于与客户端i交互的抄本ti,如果要将数据元素替换为null,则对手可能无法区分ti与生成的抄本。不可区分程度(例如,隐私程度)由参数化ε,其是隐私参数,其表示隐私保证的强度与公布结果的准确性之间的折衷。通常,ε被认为是一个小常数。在一些实施方案中,该ε值可以基于待私有化的数据类型而变化,其中更敏感的数据被私有化到更高程度。以下是对本地差异隐私的正式定义。

设n为客户端-服务器系统中的客户端数量,设γ为从任何单个客户端-服务器交互生成的所有可能的抄本的集合,并且设ti为在与客户端i交互时由差异隐私算法a生成的抄本。设di∈s为客户端i的数据元素。如果对于所有子集以下等式成立,则算法a为ε本地差异隐私:

这里,di=null指的是移除客户端i的数据元素的情况。换句话讲,具有数据集的n-1个数据点的对手不能可靠地测试第n个数据点是否是特定值。因此,不能以能够确定任何特定用户数据的方式查询差分私有化数据集。

在一个实施方案中,私有化的多位直方图模型可以在客户端设备和服务器上实施,当标签的范围超过阈值时,任选地转变到计数-均值-草图私有化技术。多位直方图模型可以将p位发送到服务器,其中p对应于与潜在拟议标签对应的数据值范围的大小。服务器可以执行求和操作以确定用户数据值的频率。多位直方图模型可以提供估计的频率方差其中n是用户数量和当与潜在拟议标签对应的数据值范围超过阈值时,服务器可以使用计数-均值-草图差分隐私机制来以私有化方式估计拟议标签的频率。

图5a至图5c示出了可以在本文描述的实施方案中使用的示例性私有化数据编码,其经由差分隐私实现私有化。图5a示出了客户端设备上的拟议标签编码500。图5b示出了服务器上的拟议标签直方图510。图5c示出了服务器侧的拟议标签频率草图520。

如图5a所示,在一个实施方案中,在客户端设备上创建拟议标签编码500,其中将拟议标签值502编码到拟议标签矢量503中。拟议标签矢量503是独热编码,其中设置了一个位,该位对应于与客户端设备生成的拟议标签相关联的值。在例示的拟议标签编码500中,标签501的范围是可以为服务器提供给客户端设备的无标签数据单元提出的可能标签集。标签501的范围中的值的数量与将由众包有标签数据训练的机器学习模型相关。例如,对于将被训练以推断从p分类的范围中选择的分类的分类器,可以将p的范围大小用于标签的范围。然而,并非所有实施方案均需要此类关系,并且标签范围的大小不固定为任何特定大小。应当注意,为了方便和数学目的,本文描述了矢量,但是可以实现任何合适的数据结构,诸如位串、一个对象等。

如图5b所示,在一个实施方案中,服务器可以将私有化的拟议标签聚合成拟议标签直方图510。对于每个无标签数据单元,服务器可以聚合拟议标签512并计算每个拟议标签512的提议511的数量。所选择的标签513将是具有最多提议511的数量的拟议标签。

如图5c所示,在一个实施方案中,服务器可以生成拟议标签频率草图520,以与计数-均值-草图差分隐私算法一起使用。服务器可以从多个不同的客户端设备累积私有化的拟议标签。每个客户端设备可以传输拟议标签的私有化编码以及在对拟议标签进行私有化时使用的随机变体的索引值(或对索引值的引用)。随机变体是将被私有化的拟议标签上的随机选择的变体。变体可以对应于服务器已熟知的k值集(或k个索引值)。可以由服务器处理累积的拟议标签以生成拟议标签频率草图520。频率表可以由可能的变体索引值k集索引。然后利用私有化矢量更新对应于随机选择的变体的索引值的频率表的行。下面进一步描述多位直方图和计数-平均-草图方法的更详细操作。

图6a至图6b是根据本文描述的实施方案的用于对将传输到服务器的拟议标签进行编码和差分私有化的示例处理过程600、610、620。在本文描述的实施方案中,参与众包服务器提供的数据单元的标签的每个客户端设备可以生成用于数据单元的拟议标签,并在将标签传输到服务器之前将标签私有化。拟议标签可以是潜在拟议标签的范围内的标签,其中特定标签值与由客户端设备选择的拟议标签相关联。

在一个实施方案中,如图6a的示例处理流程600所示,特定标签值601与由客户端设备选择的拟议标签相关联。系统可以以矢量602的形式对标签值601进行编码,其中矢量的每个位置对应于拟议标签。标签值601可以对应于矢量或位位置603。例如,例示的拟议标签值g对应于位置603,而潜在的拟议标签值a和b对应于矢量602内的不同位置。可以通过在位置603处更新值(例如,将位设置为1)来对矢量602进行编码。为了考虑0或null值的任何潜在偏差,系统可以使用初始化矢量605。在一个实施方案中,初始化矢量605可以是矢量v←{-cε}m。应当注意,这些值用作数学术语,但可以使用位来编码(例如,0=+cε,1=-cε,)。因此,矢量602可以使用初始化矢量605来创建编码606,其中位置603处的值(或位)被改变(或更新)。例如,可以翻转位置603处的值的符号,使得该值是cε(或+cε),并且所有其他值保持如图所示的-cε(或反之亦然)。

然后,客户端设备可以通过以预先确定概率609改变至少一些值来创建私有化编码608。在一个实施方案中,系统可以以预先确定概率609翻转值的符号(例如,(-)到(+),或反之亦然)。如本文进一步描述的,预先确定概率可以是1/(1+eε)。

因此,标签值601现在表示为私有化编码608,其单独地维护生成拟议标签的用户的隐私。该私有化编码609可以存储在客户端设备上,并随后传输到服务器130。服务器130可以累积来自各种客户端设备的私有化编码(例如,矢量)。然后,服务器可以处理累积的编码以进行频率估计。在一个实施方案中,服务器可以执行求和操作以确定用户数据的值的总和。在一个实施方案中,求和操作包括从客户端设备接收的所有矢量处执行求和操作。

在一个实施方案中,如图6b的示例过程610所示,是根据本公开的实施方案的差分私有化待传输到服务器的用户数据的编码的示例处理流程。客户端设备可以选择拟议标签611以传输到服务器。拟议标签611可以以任何合适的格式表示为术语612,其中该术语是拟议标签的表示。在一个实施方案中,可以使用散列函数将术语612转换为数值。如图所示,在一个实施方案中使用了sha256散列函数。然而,也可使用任何其他散列函数。例如,可以使用sha或其他算法的变体,诸如具有各种位大小的sha1、sha2、sha3、md5、blake2等。因此,任何散列函数可以在具体实施中使用,只要它们对于客户端和服务器是熟知的。在一个实施方案中,还可以使用为客户端和服务器所熟知的分组密码或另一密码功能。

在一个实施方案中,客户端设备上的计算逻辑可以使用所创建的散列值的一部分以及术语612的变体614来解决当由服务器执行频率计数时的潜在散列冲突,这可以在维护可证明的隐私水平时提高计算效率。变体614可以对应于服务器已熟知的k值集(或k个索引值)。在一个实施方案中,为了创建变体614,系统可以将索引值616的表示附加到术语612。如该示例中所示,对应于索引值的整数(例如,“1,”)可以被附加到术语612以创建变体(例如,“1,面部”或“面部1”等)。然后,系统可以随机选择变体619(例如,随机索引值r的变体)。因此,系统可以通过使用术语612的变体614(例如,随机变体309)来生成随机散列函数617。变体的使用使得能够创建一系列k个散列函数。该系列散列函数对于服务器是熟知的,并且系统可以使用随机选择的散列函数617来创建散列值613。在一个实施方案中,为了减少计算,系统可以仅创建随机选择的变体619的散列值613。另选地,系统可以创建完整的散列值集(例如,k个散列值),或者高达随机选择的变体r的散列值。应当注意,整数序列被示为索引值的示例,但是其他形式的表示(例如,各种数量的字符值)或函数(例如,另一个散列函数)也可以用作索引值,只要它们对于客户端和服务器都是熟知的。

一旦生成了散列值613,系统就可以选择散列值613的部分618。在该示例中,可以选择16位部分,但是也可以基于差分隐私算法的期望精度水平或计算成本来预期其他大小(例如,8、16、32、64等位数)。例如,增加位数(或m)会增加计算(和传输)成本,但可以获得准确性的改善。例如,使用16位提供216-1(例如,约65k)个潜在唯一值(或m个值范围)。类似地,增加变体k的值会增加计算成本(例如,计算草图的成本),但继而又增加了估计的准确性。在一个实施方案中,系统可以将值编码为矢量,如图6a中所示,其中矢量的每个位置可以对应于所创建的散列613的潜在数值。

例如,图6b的处理流程620示出了所创建的散列值613(作为十进制数)可以对应于矢量/数位位置625。因此,可以通过在位置625处更新值(例如,将位设置为1)来对矢量626进行编码。为了考虑0或null值的任何潜在偏差,系统可以使用初始化矢量627。在一个实施方案中,初始化矢量627可以是矢量v←{-cε}m。应当注意,这些值用作数学术语,但可以使用位来编码(例如,0=+cε,1=-cε,)。因此,矢量626可以使用初始化矢量627来创建编码628,其中位置625处的值(或位)被改变(或更新)。例如,可翻转位置625处的值的符号,使得该值是cε(或+cε),并且所有其他值保持-cε如图所示(或反之亦然)。

然后,系统可以通过以预先确定概率633改变至少一些值来创建私有化编码632。在一个实施方案中,系统可以预先确定概率633翻转值的符号(例如,(-)到(+),或反之亦然)。如本文进一步描述的,在一个实施方案中,预定概率是1/(1+eε)。因此,拟议标签611现在被表示为私有化编码632,其在由服务器聚合拟议标签611的私有化编码632时单独维护用户的隐私。

图7a至7d是根据实施方案的客户端和服务器算法的多位直方图和计数-均值-草图模型的框图。图7a示出了如本文所述的多位直方图模型的客户端侧过程700的算法表示。图7b示出了如本文所述的多位直方图模型的服务器侧过程710的算法表示。图7c示出了如本文所述的计数-均值-草图模型的客户端侧过程720的算法表示。图7d示出了如本文所述的计数-均值-草图模型的服务器侧过程730的算法表示。客户端侧过程700和服务器侧进程710可以在维护数据的效用时,使用多位直方图模型启用众包数据的隐私。客户端侧过程700可以初始化矢量v←{-cε}m。在用户将传输d∈[p]的情况下,可以应用客户端侧过程700来翻转v[h(d)]的符号,其中h是随机散列函数。为了确保差分隐私,客户端侧过程700可以以1/(1+eε)的概率翻转每个条目v符号。客户端侧过程720还可以使用散列函数,以便在拟议标签的范围超过阈值时压缩频率数据。

如图7a所示,客户端侧过程700可以接收包括隐私参数ε、范围大小p、和数据元素d∈s的输入,如框701所示。在框702处,客户端侧过程700可以设置常数和初始化矢量v←{-cε}p,如框702所示。常数cε允许添加噪声以维护隐私并保持无偏隐私。添加的噪声应足够大,以掩蔽用户数据的各个项目,但要小到足以允许数据集中的任何模式出现。如框703所示,然后客户端侧过程700可以设置v[d]←cε,并且在框704处,设置样本矢量b∈{-1,+1}p,其中每个bj是独立且相同分布的并且以概率输出+1。如框705所示,客户端侧算法700然后可以生成私有化矢量在框706处,客户端侧算法700可以返回矢量v私有化,其是实现v的私有化版本。

如图7b所示,服务器侧过程710聚合客户端侧矢量和包括隐私参数ε、范围大小p和数据元素s∈s的给定输入,它们的频率将被估计,该服务器侧过程可以基于从众包客户端设备处接收的聚合数据返回估计的频率。如框711所示,服务器侧过程710(例如,a服务器)、给定隐私参数ε和范围大小p可以获得对应于数据集d={d1,···,dn}的n个矢量v1,···,vn,使得vi←aclient(ε,p,di)。在框712处,服务器侧过程710可以初始化计数器fs(例如,fs←0)。对于每个元组vi,i∈[n],服务器侧过程710可以设置fs=fs+vi[s]如框713所示。在框714处,服务器侧过程710可以返回fs,其是聚合数据集中用户数据值的频率。

客户端侧过程700和服务器侧进程710提供隐私和效用。客户端侧过程700和服务器侧过程710均是本地差分私有的。客户端侧过程700是ε-本地差分私有的,并且服务器侧过程710不访问原始数据。对于任意输出v∈{-cε,cε}p,无论用户是否存在,观察输出的概率都是类似的。例如,在缺席用户的情况下,可以考虑的输出,其中是null元素。

通过每个位翻转的独立性,

类似地,

服务器侧过程710还具有用于频率估计的效用保证。隐私和效用通常是差分隐私算法的折衷。对于实现最大隐私的差分隐私算法,算法的输出可能不是实际数据的有用近似。为了使算法实现最大效用,输出可能不够隐私。本文描述的多位直方图模型实现了ε-局部差分隐私,同时渐近地实现了最佳效用。

服务器侧过程710的效用保证如下:令ε>0,并且s∈s是该范围中的任意元素。令fs为服务器侧过程710的输出(例如,a服务器(ε,p,s)),并且xs为s的真实频率。然后对于任何b>0,

其中并且

计数-均值-草图算法的总体概念与多位直方图类似,不同之处在于当范围大小p变得非常大时要压缩待传输的数据。服务器可以使用维度为k×m的草图矩阵m来聚合私有化数据。

如图7c所示,客户端侧720可以接收输入,包括数据元素d∈s、隐私参数ε、范围大小p和每个映射[p]到[m]的k散列函数集h={h1,h2,…hk},它们可以从[k]中选择随机索引j以确定散列函数hj,如框721所示。然后客户端侧过程720可以设置常数和初始化矢量v←{-cε}m,如框722所示。常数cε允许添加噪声以维护隐私并保持无偏隐私。添加的噪声应足够大,以掩蔽用户数据的各个项目,但要小到足以允许数据集中的任何模式出现。

如框723所示,客户端侧过程720可以使用随机选择的散列函数hj来设置v[hj(d)]←cε。在框724处,客户端侧过程720可以对矢量b∈{-1,+1}m进行采样,其中每个bj是独立且相同分布的并且以概率输出+1。如框725所示,客户端侧算法720然后可以生成私有化矢量在框726处,客户端侧算法720可以返回矢量v私有化,其是矢量vv的私有化版本,并且是随机选择的索引j。

如图7d所示,服务器侧过程730可以聚合客户端侧矢量和客户端侧过程720。服务器侧过程730可以接收输入,包括n个矢量和索引集{(v1,j1),…,(vn,jn)}、隐私参数ε和每个映射[p]到[m]的k散列函数集h={h1,h2,…hk}如框731所示。然后服务器侧过程730可以初始化矩阵m←0,其中m具有k行和m列,使得m∈{0}k×m,如框732所示。如框733所示,对于每个元组(vi,ji),i∈[n],服务器侧过程730可以添加vi至m的ji行,使得m[ji][:]←m[ji][:]+vi。在框734处,服务器侧730可以返回草图矩阵m。考虑到草图矩阵m,可以通过对计数进行去偏差并对m中的对应散列条目求平均来估计条目d∈s的计数。

虽然以上描述了经由多位直方图和/或计数-平均-草图差分隐私技术拟议标签私有化的具体示例,但是实施方案不限于用于实施众包标签的隐私的差分隐私算法。如本文所述,可以应用同态加密技术,使得从客户端设备处接收的加密值可以在服务器上求和,而无需向服务器显示私有化数据。例如,客户端设备可以采用同态加密算法来加密拟议标签并将拟议标签发送到服务器。然后,服务器可以执行同态加法运算以对加密的拟议标签求和,而无需知道未加密的拟议标签。在一个实施方案中,还可以应用安全多方计算技术,使得客户端设备和服务器可以共同计算拟议标签的聚合值,而无需将用户数据直接暴露给服务器。

用于众包拟议标签的处理逻辑

本文描述的实施方案提供了可以在如本文所述的客户端设备和服务器设备上实施的逻辑,以使服务器能够众包用于训练数据的标签的生成。众包标签可以在一系列客户端设备上生成,这些客户端设备可以使用半监督训练技术来训练本地生成式对抗网络,以为服务器提供的数据单元提出标签。使用存储在客户端设备上或可由客户端设备访问的本地用户数据以及由服务器提供的有标签数据的样本来执行半监督学习。本文描述的系统可以为各种类型的数据启用众包标记,包括但不限于图像数据、文本数据、应用访问序列、位置序列、以及可用于训练分类器和/或预测器的其他类型的数据,诸如图像分类器、文本数据分类器和文本预测器。已训练的分类器和预测器可用于在操作计算设备时增强用户体验。

图8a至图8b示出了根据一个实施方案的在客户端设备上生成拟议标签的逻辑800、810。图8a示出了使客户端设备能够生成众包拟议标签的普通逻辑800。图8b示出了更具体的逻辑810,用于在客户端设备上确定由服务器提供的无标签数据单元的标签。

如图8a所示,在一个实施方案中,逻辑800可以使客户端设备(诸如但不限于图2的客户端设备210中的一个)能够从服务器处接收有标签数据集,如框801所示。如框802所示,客户端设备还可以从服务器处接收数据单元,该数据单元与有标签数据集的类型相同。例如,有标签数据集和来自服务器的数据单元均可以是图像数据类型、文本数据类型或可用于训练机器学习网络的其他类型的数据,诸如但不限于机器学习分类器网络或机器学习预测器网络。逻辑800可以使客户端设备能够经由移动电子设备上的分类模型确定用于数据单元的拟议标签,如框803所示。机器学习模型可以以用于基于来自服务器的有标签数据集以及与移动电子设备相关联的无标签数据集确定数据单元的拟议标签。与移动电子设备相关联的无标签数据可以是本地存储在移动电子设备上的数据,或者是从与移动电子设备的用户相关联的远程存储服务处检索的数据。然后,逻辑800可以使客户端设备能够经由隐私算法对拟议标签进行编码,以生成拟议标签的私有化编码,如框804所示。然后,逻辑800可以使客户端设备能够将拟议标签的私有化编码传输到服务器,如框805所示。

如图8b所示,在一个实施方案中,逻辑810可以使得如本文所述的客户端设备能够经由设备上的半监督学习来确定拟议标签。可以使用如本文所述的生成式对抗网络来执行设备上的半监督学习。

在一个实施方案中,逻辑810可以使客户端设备能够基于从服务器处接收的有标签数据集在客户端设备上对无标签数据集进行群集。逻辑810可以使客户端设备能够基于从服务器处接收的有标签数据集对无标签数据集进行群集,如框811所示。然后,客户端设备可以从该群集的无标签数据集在客户端设备上生成第一有标签数据集,如框812所示。然后,逻辑810可以使客户端设备能够基于第一本地有标签数据集与数据单元的特征矢量的比较,推断来自服务器的数据单元的分类评分,如框813所示。在框814处,客户端设备基于逻辑810,可以基于分类评分确定用于数据单元的拟议标签。

图9示出了根据一个实施方案的使服务器能够对无标签数据进行众包标记的逻辑900。在一个实施方案中,逻辑900可以启用众包标记,该众包标记使得能够经由由大量多个客户端设备贡献的拟议标签集来标记无标签训练数据集。众包标记可以以私有化的方式执行,使得不能查询存储众包标记的数据库以确定任何单个众包数据的贡献者的身份。逻辑900可以在如本文所述的服务器上执行,诸如图1a、图2和图3的服务器130。

在一个实施方案中,逻辑900配置服务器以将有标签数据集发送多个移动电子设备集,每个移动电子设备包括第一机器学习模型,如框901所示。如框902所示,逻辑900可以配置服务器以将数据单元发送到多个移动电子设备集。然后,多个电子设备集可以为数据单元生成拟议标签集。然后,基于逻辑900的服务器可以接收来自移动电子设备集的数据单元的拟议标签集,如框903所示。可以对拟议标签集进行编码,以掩蔽拟议标签集中的每个拟议标签的单个贡献者。可以基于本文描述的私有化技术中的任一个来执行编码。如框904所示,逻辑900可以使服务器能够处理拟议标签集以确定分配给数据单元的标签。服务器可以处理拟议标签集,以确定由服务器提供给客户端设备的无标签数据单元的最频繁拟议标签。如框905所示,逻辑900可以使服务器能够将数据单元和所确定的标签添加到用于第二机器学习模型的训练集。在一个实施方案中,第二机器学习模型可以是第一机器学习模型的变体,使得客户端和服务器可以参与迭代过程,以增强机器学习模型的准确性。例如,客户端设备上的第一机器学习模型可用于训练将用于增强基于服务器的第二机器学习模型的准确性的数据。

可以使用经由本文描述的众包标记技术来标记无标签数据,以训练第二机器学习模型。然后可以将第二机器学习模型部署到客户端设备,例如,在操作系统更新期间。然后可以使用第二机器学习模型来生成可用于训练第三机器学习模型的数据的拟议标签。另外,可以标记多个分类器和预测器模型的数据,随着各种模型的成熟,各种分类器和预测器模型被迭代地部署到客户端设备,并且作为分类和预测技术获得增强的准确性。

图10示出了根据本文描述的实施方案的客户端设备上的计算架构1000,其可以用于使用机器学习算法来启用设备上、半监督的训练和推断。在一个实施方案中,计算架构1000包括客户端标记框架1002,其可以被配置为利用客户端设备上的处理系统1020。客户端标记框架1002包括视觉/图像框架1004、语言处理框架1006、以及一个或多个其他框架1008,每个框架都可以引用由核心机器学习框架1010提供的参考基元。核心机器学习框架1010可以访问经由cpu加速层1012和gpu加速层1014提供的资源。cpu加速层1012和gpu加速层1014均促进了访问本文描述的各种客户端设备上的处理系统1020。处理系统包括应用处理器1022和图形处理器1024,它们均可用于加速核心机器学习框架1010的操作,以及经由核心机器学习框架提供的经由基元操作的各种更高级框架的操作。在一个实施方案中,计算构架1000的各种框架和硬件资源可以用于经由机器学习模型的推断操作,以及用于机器学习模型的训练操作。例如,客户端设备可以使用计算架构1000经由如本文所述的生成式对抗网络(gan)执行半监督学习。然后,客户端设备可以使用已训练的gan来推断由服务器提供的无标签数据单元的拟议标签。

附加的示例性计算设备

图11是根据实施方案的用于移动或嵌入式设备的设备架构1100的框图。设备架构1100包括存储器接口1102、包括一个或多个数据处理器的处理系统1104、图像处理器和/或图形处理单元以及外围设备接口1106。各种部件可通过一条或多条通信总线或信号线耦接。各种部件可以是单独的逻辑部件或设备或可以集成在一个或多个集成电路,诸如片上系统集成电路。

存储器接口1102可以耦接至存储器1150,其可以包括高速随机存取存储器诸如静态随机存取存储器(sram)或动态随机存取存储器(dram)和/或非易失性存储器,诸如但不限于闪存存储器(例如,nand闪存、nor闪存等)。

传感器、设备和子系统可耦接到外围设备接口1106以促进多个功能。例如,运动传感器1110、光传感器1112和接近传感器1114可耦接到外围设备接口1106以促进移动设备功能。还可存在生物特征传感器1115,诸如用于指纹识别的指纹扫描器或用于面部识别的图像传感器。其他传感器1116也可连接至外围设备接口1106,诸如定位系统(例如,gps接收器)、温度传感器、或其他感测设备以促进相关的功能。相机子系统1120和光学传感器1122(例如,电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)光学传感器)可用于促进相机功能,诸如拍摄照片和视频剪辑。

可通过一个或多个无线通信子系统1124来促进通信功能,这些无线通信子系统可包括射频接收器和发射器和/或光学(例如,红外)接收器和发射器。无线通信子系统1124的具体设计与实施可取决于移动设备打算通过其操作的通信网络。例如,包括示出的设备架构1100的移动设备可包括设计来通过gsm网络、cdma网络、lte网络、wi-fi网络、bluetooth网络或任何其他无线网络操作的无线通信子系统1124。具体地,无线通信子系统1124可提供通信机构,在该通信机构中,媒体回放应用程序可从远程媒体服务器检索资源或从远程日历或事件服务器检索调度事件。

可将音频子系统1126耦接到扬声器1128和麦克风1130以促进支持语音的功能,诸如语音识别、语音复制、数字记录和电话功能。在本文描述的智能媒体设备中,音频子系统1126可以是包括支持虚拟环绕声的高质量音频系统。

i/o子系统1140可包括触摸屏控制器1142和/或其他输入控制器1145。对于包括显示设备的计算设备,触摸屏控制器1142可耦接至触敏显示器系统1146(例如,触摸屏)。触敏显示系统1146和触摸屏控制器1142可例如使用多种触摸和压力感测技术的任一种检测接触和运动和/或压力,触摸和压力感测技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与触敏显示系统1146接触的一个或多个点的其它接近传感器阵列或其它元件。触敏显示系统1146的显示输出可由显示控制器1143生成。在一个实施方案中,显示控制器1143可在可变帧速率下向触敏显示系统1146提供帧数据。

在一个实施方案中,包括传感器控制器1144以监视、控制和/或处理从运动传感器1110、光传感器1112、接近传感器1114或其他传感器1116中的一者或多者接收的数据。传感器控制器1144可包括解释传感器数据的逻辑以通过分析来自传感器的传感器数据来确定多个运动事件或活动中的一者的发生。

在一个实施方案中,i/o子系统1140包括可耦接到其他输入/控制设备1148的其他输入控制器1145,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、usb端口,和/或指针设备诸如触笔,或控制设备诸如用于扬声器1128和/或麦克风1130的音量控制的上/下按钮。

在一个实施方案中,耦接至存储器接口1102的存储器1150可存储操作系统1152的指令,包括便携式操作系统接口(posix)兼容和不兼容的操作系统或嵌入式操作系统。操作系统1152可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统1152可以是内核。

存储器1150还可以存储通信指令1154,以促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信,例如从远程web服务器获取web资源。存储器1150还可包括用户界面指令1156,其包括图形用户界面指令,以促进图形用户界面处理。

另外,存储器1150可以存储传感器处理指令1158,以促进传感器相关处理和功能;电话指令1160,以促进与电话相关的过程和功能;即时消息指令1162,以促进与电子消息处理相关的过程和功能;web浏览器指令1164,以促进与web浏览相关的过程和功能;媒体处理指令1166,以促进与媒体处理相关的方法和功能;包括gps的位置服务指令和/或导航指令1168和基于wi-fi的位置指令,以促进基于位置的功能;相机指令1170,以促进与相机相关的过程和功能;和/或其他软件指令1172,以促进其他过程和功能,例如安全过程和功能以及与系统相关的过程和功能。存储器1150还可以存储其他软件指令,诸如web视频指令,以促进与web视频相关的过程和功能;和/或促进与网络购物相关的方法和功能的网络购物指令。在一些具体实施中,媒体处理指令1166分为音频处理指令和视频处理指令,分别用于促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能。移动设备标识符,诸如国际移动设备身份(imei)1174或类似的硬件标识符也可存储在存储器1150中。

上面所识别的指令和应用程序中的每一者可与用于执行上述一个或多个功能的指令集相对应。这些指令不需要作为独立的软件程序、进程或模块来实现。存储器1150可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,执行各种功能。

图12是示出可以结合本文描述的实施方案中的一个或多个使用的计算系统1200的框图。例示的计算系统1200可以表示执行本公开的过程、操作或方法中的任一个的本文描述的设备或系统中的任一个(例如,客户端设备110、服务器130)。需注意,虽然计算系统示出了各种部件,但是其并不旨在表示使这些部件互连的任何特定架构或方式,因为此类细节与本公开并无密切关系。还应当理解,具有比所示更少或更多部件的其他类型的系统也可以与本公开一起使用。

如图所示,计算系统1200可以包括总线1205,其可以耦接到处理器1210、rom(只读存储器)1220、ram(随机存取存储器)1225和存储存储器1230(例如,非易失性存储器)。ram1225示出为易失性存储器。然而,在一些实施方案中,ram1225可以是非易失性存储器。处理器1210可以从存储器1220、1225和1230中的一个或多个处检索存储的指令,并执行这些指令以执行本文描述的过程、操作或方法。这些存储器表示非暂态机器可读介质(或计算机可读介质)或包含指令的存储器的示例,这些指令在由计算系统(或处理器)执行时,致使计算系统(或处理器)执行本文描述的操作、过程或方法。ram1225可以实现为例如动态ram(dram)或其他类型的存储器,其需要连续地电力以便刷新或维护存储器中的数据。存储存储器1230可以包括例如磁性、半导体、磁带、光学、可移动、不可移动以及即使在从系统中移除电力之后也维护数据的其他类型的存储。应当理解,存储存储器1230可以远离系统(例如,可经由网络访问)。

显示控制器1250可以耦接到总线1205,以便接收将在显示设备1255上显示的显示数据,该显示设备可以显示本文描述的用户界面特征或实施方案中的任一个,并且可以是本地或远程显示设备。计算系统1200还可以包括一个或多个输入/输出(i/o)部件1265,包括鼠标、键盘、触摸屏、网络接口、打印机、扬声器和其他设备。通常,i/o部件1265通过输入/输出控制器1260耦接到系统。

模块1270(或部件、单元、功能或逻辑)可以表示上述功能或引擎中的任一个,诸如,例如,隐私引擎353。模块1270可以完全或至少部分地驻留在上述存储器内、或者在计算系统执行期间处于处理器内。另外,模块1270可以实现为计算系统内的软件、固件或功能电路,或者实现为其组合。

另外,预期硬件加速的引擎/功能包括硬件、固件或其组合中的任一个实现,包括各种配置,其可以包括作为独立处理器集成到soc中的硬件/固件、或者作为专用cpu(或核心)包括在内、或者集成在电路板上的协处理器中、或者包含在扩展电路板的芯片上等。因此,尽管不一定需要此类加速功能来实现差分隐私,但是本文的一些实施方案可以利用对此类功能(例如,密码功能)的专门支持的普遍性来潜在地改善实现的整体效率。

应当注意,术语“约”或“大体上”可以在本文中使用,并且可以解释为“几乎尽可能”、“在技术的限制下”等。另外,除非另有说明,否则术语“或”的使用指示“或”逻辑运算(例如,和/或)。

本文描述的实施方案提供了一种技术,用于众包机器学习模型的训练数据的标记,同时维护由众包参与者提供的数据的隐私。客户端设备可用于为将在训练数据集中使用的数据单元生成拟议标签。一个或多个隐私机制用于在将数据传输到服务器时保护用户数据。

一个实施方案提供了一种移动电子设备,该移动电子设备包括用于存储指令的非暂态机器可读介质,该指令致使移动电子设备从服务器处接收有标签数据集;从服务器接收数据单元,该数据单元的数据类型与有标签数据集相同;经由移动电子设备上的机器学习模型确定用于数据单元的拟议标签,该机器学习模型用于基于来自服务器的有标签数据集以及与移动电子设备相关联的无标签数据集确定数据单元的拟议标签;经由隐私算法对拟议标签进行编码,以生成拟议标签的私有化编码;并且将拟议标签的私有化编码传输到服务器。

一个实施方案提供了数据处理系统,该数据处理系统包括存储指令的存储器设备以及执行存储在该存储器设备上的指令的一个或多个处理器。这些指令致使数据处理系统执行包括将有标签数据集发送到多个移动电子设备集的操作,每个移动电子设备包括第一机器学习模型;将数据单元发送到多个移动电子设备集,该多个电子设备集生成用于数据单元的拟议标签集;接收来自移动电子设备集的数据单元的拟议标签集,对拟议标签集进行编码,以掩蔽拟议标签集中每个拟议标签的单个贡献者;处理拟议标签集,以确定分配给数据单元的标签;并且将数据单元和标签添加到训练集,以用于训练第二机器学习模型。

在前面的描述中,已经描述了本公开的示例实施方案。显而易见的是,在不脱离本公开的更广泛的实质和范围的情况下,可对其进行各种修改。相应地,说明书和附图被视为是例示性意义而不是限定性意义。所提供的描述和示例中的具体细节可用于一个或多个实施方案中的任何地方。不同实施方案或示例的各种特征可与所包括的一些特征和排除的其他特征不同地组合,以适应多种不同的应用。示例可包括主题,诸如方法,用于执行该方法的行为的装置,包括指令的至少一种机器可读介质,所述指令在由机器执行时使得机器执行该方法的行为,或者根据本文所述的实施方案和示例执行装置或系统的动作。另外,本文描述的各种部件可以是用于执行本文描述的操作或功能的装置。因此,在研究附图、说明书和所附权利要求时,这些实施方案的真正范围对于技能熟练的从业人员来说是显而易见的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1