一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

隐私增强机器学习的制作方法

2022-05-06 11:25:29 来源:中国专利 TAG:

隐私增强机器学习


背景技术:

1.在机器学习中,特别是深度学习中,训练表现良好的机器学习模型的主要障碍通常是足够多样标记的训练数据的可用性有限。然而,训练良好模型所需的数据通常存在,但由于它由多个参与方分布和拥有,因此不易利用。比如,在医疗领域中,可以用于学习癌症诊断支持系统的关于患者的重要数据可以由不同医院拥有,其中这些医院中的每家医院都拥有保持来自具有不同人口统计特征的特定地理区域的不同数据。
2.下文所描述的实施例不限于解决已知机器学习系统的任何或所有缺点的实现。


技术实现要素:

3.以下呈现本公开的简化概要以便为读者提供基本理解。该发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。其唯一目的是以简化形式呈现本文中所公开的概念的选择,作为稍后所呈现的更详细描述的序言。
4.在各种示例中,存在一种针对隐私保护机器学习而选择数据的方法,包括:存储来自第一参与方的训练数据,存储机器学习模型,以及存储来自第一参与方或来自另一参与方的标准。该方法包括:过滤训练数据以选择要被用以训练机器学习模型的训练数据的第一部分并且选择训练数据的第二部分。选择通过使用标准计算数据对机器学习模型的性能的贡献的度量而被完成。
5.许多伴随特征将更容易领会,因为它们通过参考结合附图考虑的以下具体实施方式而变得更好理解。
附图说明
6.本描述将通过以下结合附图阅读的具体实施方式得到更好理解,其中
7.图1是由两个医院所使用的多参与方机器学习系统的示意图;
8.图2是图1的多参与方机器学习系统的更详细的示意图;
9.图3是另一多参与方机器学习系统的示意图;
10.图4是针对隐私保护训练、由多参与方机器学习系统执行的的方法的流程图,其中单个机器学习模型正在被训练;
11.图5是针对隐私保护训练、由多参与方机器学习系统执行的方法的流程图,其中多个机器学习模型正在被训练;
12.图6是控制对单个经训练的机器学习模型的访问的方法的流程图;
13.图7是控制对多个经训练的机器学习模型的访问的方法的流程图;
14.图8图示了其中实现了多参与方机器学习系统的实施例的示例性基于计算的设备。
15.在附图中,相同的附图标记用于表示相同的部件。
具体实施方式
16.下文结合附图所提供的具体实施方式旨在作为对本示例的描述,而不旨在表示构造或利用本示例的唯一形式。该描述阐述了示例的功能以及用于构建和操作示例的操作顺序。然而,相同或等同的功能和顺序可以通过不同的示例来实现。
17.如上文所提及的,在医学领域中,可以用于学习癌症诊断支持系统的关于患者的重要数据可以由不同的医院拥有,其中每个医院都保持来自具有不同人口统计特征的特定地理区域的不同数据。通过池化可用数据,医院可以针对他们的应用训练更好的机器学习模型,而非他们只使用他们自己的数据。由于所有医院都会受益于通过数据共享获取的更好的机器学习模型,因此需要协作机器学习。
18.当然,这种类型的协作提出了与以下各项中的一项或多项有关的技术挑战:单独参与方的数据的安全性、单独参与方的数据的隐私、机器学习结果的质量。难以部署尊重单独参与方的数据的完整性的协作机器学习系统。在这个背景下,完整性牵涉到确保参与方的训练数据在协作训练期间不被修改,并且该参与方提交的数据确实被用以协作训练。
19.尽管图1在本文中被描述和示出为被实现以用于由医院使用,但是所描述的系统被提供为示例而非限制。本领域技术人员应当领会,本示例适用于多种不同类型的多参与方机器学习场景中的应用。
20.图1是正在被两个医院108、112使用的多参与方机器学习系统100的示意图。多参与方机器学习系统100部署在云中的可信执行环境104中或在经由诸如互联网、内联网或任何其他通信网络106的通信网络106与医院通信的任何位置处。可信执行环境104使用安全硬件和/或软件实现,并且包括至少一个安全存储器区域。在该示例中,为了清楚起见,示出了一个可信执行环境104,尽管实际上可以部署许多可信执行环境104,并且这些可信执行环境位于数据中心中的诸如具有磁盘存储装置的服务器或通过数据中心内的网络连接的虚拟机的计算单元处。在存在许多可信执行环境104的地方,多参与方机器学习系统100分布在它们之中。
21.在一个示例中,可信执行环境104包括安全存储器区域,该安全存储器区域是常规过程的地址空间内的处理器保护的存储器区域。处理器监测对可信执行环境的存储器访问,以使只有在可信执行环境104中运行的代码才能访问可信执行环境104中的数据。当在物理处理器封装内部(在处理器的高速缓存中)时,可信执行环境104的存储器以明文形式提供,但当写入系统存储器(随机存取存储器ram)时,已加密并且完整性受到保护。外部代码只能在静态定义的入口点处(使用调用-门机制)调用可信执行环境内部的代码。
22.在一些示例中,可信执行环境104使用硬件来实现,使得安全存储器区域与包括操作系统和管理程序在内的任何其他代码隔离。在一些示例中,可信执行环境104使用可信虚拟机来实现。
23.可信执行环境104内是一个或多个经训练的机器学习模型102,该一个或多个经训练的机器学习模型102已经由多参与方机器学习系统100使用来自多个参与方的训练数据计算,诸如图1的示例中的第一医院108和第二医院112。第一医院108具有训练数据110,诸如患者的医学图像,其中医学图像被标记为描绘或不描绘癌症。训练数据110机密,并且安全存储在第一医院处。当医院想要参与多参与方机器学习时,训练数据110被加密并上传到可信执行环境104。
24.第二医院112具有训练数据114,该训练数据114包括不同患者的医学图像,其中医学图像被标记为描绘或不描绘癌症。训练数据114为机密数据,并且安全存储在第二医院。当第二医院想要参与多参与方机器学习时,训练数据114被加密并上传到可信执行环境104。
25.诸如恶意参与方116的一个或多个恶意参与方可能存在,并且具有假训练数据118。假训练数据为质量差的任何训练数据,诸如具有不准确标签;或是训练数据的重复,该重复已经被该参与方上传到可信执行环境。
26.一个或多个参与方将训练数据上传到可信执行环境104。多参与方机器学习系统100使用训练数据中的至少一些训练数据来训练一个或多个机器学习模型102。然后,这些参与方中的一个或多个参与方能够访问经训练的机器学习模型,并且使用它来计算预测以标记医学图像以用于肿瘤检测或其他任务,具体取决于应用领域。这样,诸如医院一的第一参与方能够受益于已经使用来自多个参与方的数据而被训练的高性能机器学习模型。如果第一参与方仅使用其自己的训练数据,则所得到的机器学习模型的性能较低,其中数据的数量和/或种类通常低于多个参与方可用的数据的数量和/或种类。
27.图1的多参与方机器学习系统允许多个参与方基于所有参与方所提供的训练数据联合训练机器学习模型,并且在各自的任务上达到改进的性能。多参与方机器学习系统支持单个验证任务场景,例如,医院将他们的数据汇集在一起以训练单个模型以用于检测癌症。此外,多参与方机器学习系统还支持一个参与方的数据对多个任务贡献的场景。
28.假设来自第一医院110和第二医院112的训练数据被上传到可信执行环境104并且被多参与方机器学习系统使用以训练机器学习模型102中的一个或多个机器学习模型。然后,假设第一医院和第二医院可以经由通信网络106访问所得到的经训练的机器学习模型102。然后,第一医院可能发现关于被用以训练机器学习模型102的训练数据的信息。因此,第一医院能够发现第二医院的机密训练数据。其中从预测应用编程接口获取机密训练数据的攻击已知,诸如tramer等人在usenix security 2016中的“stealing machine learning models via prediction apis(经由预测api盗窃机器学习模型)”中所描述的。
29.本文中所描述的各种示例使用多参与方机器学习系统内的选择器组件,以便增强隐私。选择器组件从多个参与方上传的训练数据中选择训练数据的第一部分,并且仅使用训练数据的第一部分来训练一个或多个机器学习模型。训练数据的第二部分在可信执行环境中保持私有。选择根据由单独参与方所提交的一个或多个标准而被完成。这样,已经上传到可信执行环境104的训练数据中的至少一些训练数据不被用以训练特定机器学习模型实例。因此,隐私得到增强,因为访问经训练的机器学习模型的恶意参与方无法发现未被使用的训练数据。尽管使用了一些但并非所有训练数据,但是通过仔细设计选择过程,机器学习模型的性能并未受到影响。在一些情况下,标准包括验证数据,并且使用选择器带来的益处如下:只有与验证数据的验证任务相关的信息通过模型发布,从而限制了复制训练数据并且将其重新用于其他任务的可能性。
30.本文中所描述的各种示例使用多参与方机器学习系统内的参与控制器,以便提高所得到的训练机器学习模型102的质量并且阻止其中诸如图1的恶意参与方116的恶意参与方使用假训练数据(诸如已经使用过的训练数据)来获得对经训练的机器学习模型102的访问的欺骗攻击。参与控制器计算单独参与方对特定经训练的机器学习模型的贡献的度量,
并且使用该度量以控制对该模型或其他机器学习模型的访问。
31.图2是诸如图1的多参与方机器学习系统的多参与方机器学习系统的更详细的示意图。可信执行环境104包括多参与方机器学习系统100。
32.多参与方机器学习系统100包括存储器,该存储器存储训练数据200和存储包括至少一个机器学习模型的模型库202。多参与方机器学习系统100可选地包括选择器204,并且它包括标准存储装置206、训练引擎208、参与控制器210、以及用于保持由训练引擎208计算的一个或多个经训练的机器学习模型102的存储装置。
33.由于存储在可信执行环境内,所以所存储的训练数据200以纯文本形式被存储。训练数据200包括多个示例,诸如图像、视频、文档、传感器数据值或其他训练示例。训练数据200包括在训练引擎208使用受监督训练的情况下标记的训练数据和/或在使用无监督训练的情况下未被标记的训练数据。所存储的训练数据200已经从两个或更多个参与方在可信执行环境104处被接收。在图2中,两个参与方被示为108、112,但实际上可能存在更多个参与方。当参与方上传训练数据时,训练数据被加密。对在可信执行环境处存储的训练数据200被打标签或标志,以指示它源自哪个参与方。
34.模型库202是一个或多个机器学习模型的存储装置,诸如神经网络、随机决策森林、支持向量机、分类器、回归器或其他机器学习模型。
35.选择器204是可选地,并且在多参与方机器学习系统通过选择一些要被用以训练机器学习模型的特定实例的训练数据200但并非所有训练数据200来增强隐私的情况下,被包括在内。选择器使用由各参与方中的各单独参与方所提供的一个或多个标准。图2示出了参与方1将标准220和训练数据222上传到可信执行环境。它还示出了参与方2将标准224和训练数据226上传到可信执行环境。
36.标准存储装置206保持由各参与方中的各单独参与方上传的标准。标准是用于选择训练数据和/或指示机器学习模型的性能水平的质量、阈值、值、度量、统计或其他标准。
37.训练引擎208是用于训练来自模型库202的机器学习模型的一个或多个训练过程。在一些示例中,训练过程为众所周知的常规训练过程。
38.参与控制器210包括用于计算单独参与方的训练数据对特定训练机器学习模型的性能的贡献的度量的功能。在一些示例中,参与控制器使用标准。关于参与控制器的更多细节稍后在本文档中给出。
39.经训练的机器学习模型102是所存储的架构、参数值、以及指定单独经训练的机器学习模型的其他数据。
40.访问控制器212是防火墙、网卡、或使得能够控制单独参与方108、112对经训练的机器学习模型102的访问的其他功能。
41.多参与方机器学习系统的选择器以非常规方式操作以在不损害机器学习模型的性能的情况下增强经训练的机器学习模型的隐私。
42.多参与方机器学习系统的选择器通过选择要被用以训练机器学习模型的训练数据的第一部分并且选择要保持私有的训练数据的第二部分来改进底层计算设备的功能,从而维持经训练的机器学习模型的性能。
43.多参与方机器学习系统的参与控制器以非常规方式操作以保护对经训练的机器学习模型的访问。
44.多参与方机器学习系统的参与控制器通过提高对经训练的机器学习模型的访问的安全性并阻止恶意参与方欺骗训练数据以试图获得对经训练的机器学习模型的访问的欺骗攻击来改进底层计算设备的功能。
45.备选地或另外,参考图2本文中所描述的功能至少部分由一个或多个硬件逻辑部件执行。例如,但不限于,可选地使用的硬件逻辑部件的说明性类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)、图形处理单元(gpu)。
46.图3是与图2非常相似并且其中相同的部件具有相同的附图标记的多参与方机器学习系统的示意图。在该示例中,由每个参与方上传的标准是任务,其中任务是用于验证机器学习任务的验证数据。如图3所示,参与方1 108将经加密的训练数据上传到可信执行环境中的训练数据200服务器,并且将任务(在该示例中,任务是验证数据)上传到标准存储装置206(在图3中被称为任务服务器)。存在多个参与方,其中每个参与方只有在向多参与方机器学习系统上传诸如任务(即,本例中的验证数据)的标准时才能参与多参与方机器学习。参与方m 112将经加密的训练数据上传到可信执行环境中的训练数据服务器200,并且将任务(在该示例中,任务是验证数据)上传到标准存储装置206(在图3中被称为任务服务器)。图3中的挂锁300、302表示访问控制机制,诸如防火墙、网卡、软件或其他访问控制,其他访问控制阻止每个参与方访问多参与方机器学习系统,除非它已经上传标准,诸如本示例中的验证数据。
47.使用所上传的训练数据,多参与方机器学习系统执行机器学习。在一些示例中,它训练单个机器学习模型,然后这些参与方中的每个参与方都可能访问该单个机器学习模型。在一些示例中,它训练多个机器学习模型,这些参与方中的每个参与方一个机器学习模型。
48.在一些示例中,使用是图2的选择器204的任务和数据匹配组件。选择器使用所上传的标准来选择哪些训练数据项被用以训练模型中的特定模型并且选择哪些训练数据项保持私有而不被用以训练模型中的特定模型。如上文所提及的,标准是用于选择训练数据和/或指示机器学习模型的性能水平的质量、阈值、值、度量、统计或其他标准。在一个示例中,标准包括验证数据,并且在这种情况下,验证数据用于以常规方式评估经训练的机器学习模型的性能。在一个示例中,标准包括诸如圆度的质量,其中已知针对特定结果,描绘圆形对象的图像对于训练机器学习系统而言会更好。在一个示例中,标准包括若干个损坏位,其中已知针对特定结果,具有高级别损坏位的音频信号对于训练机器学习系统而言会更差。
49.所定制的机器学习模型训练组件与图2的训练引擎208相同。它使用所选择的训练数据训练来自机器学习模型库202的机器学习模型。训练引擎208的输出被存储于经训练的机器学习模型102。
50.所存储的经训练的机器学习模型102经由是图2的访问控制器212的图3中的挂锁可访问。参与控制器210计算得分,这些得分指示各单独参与方是否(以及可选地持续多长时间)能够访问经训练的机器学习模型102中的各单独经训练的机器学习模型102。
51.由于各参与方的数目随着不同参与方离开或加入多参与方机器学习系统而随时间变化,所以图3的装置针对特定时间实例而示出。因此,存储装置200处的训练数据、存储
装置206处的标准和存储装置102处的经训练的机器学习模型随着装置的操作而随时间变化。有可能取决于参与控制器210的计算结果,参与方可以开始访问机器学习模型中的各单独机器学习模型,但随着时间而失去该访问(并且可能再次重新获得访问)。参与方能够参与多参与方机器学习系统,只要它提交标准即可。
52.图4是针对隐私保护训练由多参与方机器学习系统执行的方法的流程图,其中单个机器学习模型正在被训练。机器学习模型被存储400,诸如通过根据一个或多个规则或根据这些参与方中的一个参与方给定的选择参数值从模型库202中选择机器学习模型。从诸如图2的参与方1的第一参与方接收402训练数据。从诸如图2的参与方2的一个或多个参与方接收404训练数据。
53.多参与方机器学习系统100检查406是否已经从第一参与方接收到标准。如果不是,则多参与方机器学习系统等待并继续检查标准的到达。如果已经从参与方一接收到标准,则该过程通过使用选择器204继续进行。选择器选择要被用以训练所存储的机器学习模型的训练数据的第一部分。选择器选择要保持私有而并非被用以训练所存储的机器学习模型的训练数据的第二部分。选择在来自参与方一的标准的基础上被完成。
54.多参与方机器学习系统使用训练数据的第一部分来训练410所存储的机器学习模型。与使用所有可用训练数据训练模型的性能相比较,选择使用标准以不损害所得到的经训练的模型的性能的方式被完成。
55.在一些示例中,通过将所得到的经训练的机器学习模型保留在可信执行环境中并允许经由访问控制器212访问经训练的机器学习模型来部署412该所得到的经训练的机器学习模型。在可信执行环境中向经训练的机器学习模型发送查询并从经训练的机器学习模型获取结果的各参与方无法对保持私有并非被用以训练机器学习模型的训练数据进行逆向工程。在一些情况下,使用访问控制器212和来自参与控制器208的得分来控制414各参与方向经训练的机器学习模型发送查询并从经训练的机器学习模型获取结果的能力,如稍后在本文档中所更详细描述的。
56.在一些示例中,通过将所得到的经训练的机器学习模型安装在终端用户设备上或可信执行环境外部的服务器上来部署412该所得到的经训练的机器学习模型。在这种情况下,与于在所有可用训练数据上对经训练的机器学习模型进行训练之后再部署该经训练的机器学习模型相比较,安全性得到了增强。攻击已部署的机器学习模型以获取被使用的训练数据的恶意参与方无法获取在可信执行环境中保持私有的训练数据。
57.图5是针对隐私保护训练由多参与方机器学习系统执行的方法的流程图,其中多个机器学习模型正在被训练。图3给出了其中每个参与方具有一个机器学习模型的示例。
58.多参与方机器学习系统从第一参与方接收500训练数据并且从一个或多个其他参与方接收502训练数据。多参与方机器学习系统检查504它是否已从各参与方接收到标准。已经提交标准的每个参与方都可以参与。使用图3的访问控制300、302,阻止尚未提交标准的实体访问多参与方机器学习系统,因此该实体并非为参与方。
59.针对每个参与方,多参与方机器学习系统在相应参与方的标准的基础上选择506一些训练数据但并非所有训练数据。针对每个参与方,多参与方机器学习系统使用适当的所选择的训练数据训练508机器学习模型。
60.在单独机器学习模型已经被训练后,他们就被部署510。部署单独模型通过使得访
问控制器212能够让与单独模型相关联的参与方发送查询并接收来自单独模型的响应来实现。在一些情况下,访问在由参与控制器210计算的得分的基础上来控制512,如下文所描述的。但是,使用参与控制器210并非必须。
61.图6是控制对已经由多参与方机器学习系统训练的单个经训练的机器学习模型的访问的方法的流程图。多参与方机器学习系统存储600机器学习模型。机器学习模型根据一个或多个规则或根据这些参与方中的一个参与方给定的选择参数值从模型库202中选择。从诸如图2的参与方一的第一参与方接收602训练数据并且从诸如图2的参与方二的一个或多个参与方接收604训练数据。
62.多参与方机器学习系统100检查606是否已经从第一参与方接收到标准。如果不是,则多参与方机器学习系统等待并继续检查标准的到达。
63.多参与方机器学习系统使用一些或所有训练数据来训练608所存储的机器学习模型。
64.针对每个参与方,参与控制器计算610由参与方提交的训练数据对经训练的机器学习模型的性能的贡献的度量。使用参与方1所提交的标准计算该贡献的度量。
65.通过将所得到的经训练的机器学习模型保留在可信执行环境中并允许经由访问控制器212访问经训练的机器学习模型来部署412所得到的经训练的机器学习模型。授予参与方的访问与针对该参与方计算的贡献的度量有关。针对每个参与方,进行检查612以查看贡献的度量是否高于阈值。如果是,则给予616对经训练模型的访问。如果不是,则在614处,阻止访问。
66.在一些情况下,图4和图6的方法被组合。也就是说,机器学习模型使用根据上文参考图4的描述而选择的所选择的训练数据来训练。然后,根据参考图6的描述控制对训练模型的访问。
67.图7是由多参与方机器学习系统执行的方法的流程图,其中多个机器学习模型正在被训练并且其中使用参与控制器210和访问控制器212控制对单独训练模型的访问。
68.多参与方机器学习系统从第一参与方接收700训练数据并且从一个或多个其他参与方接收702训练数据。多参与方机器学习系统检查704它是否已从各参与方接收到标准。提交标准的每个参与方都可以参与。使用图3的访问控制300、302,阻止尚未提交标准的实体访问多参与方机器学习系统,因此该实体并非参与方。
69.针对每个参与方,多参与方机器学习系统使用所有或一些训练数据训练706机器学习模型(因此,可能使用由所有参与方提交的所有训练数据对其进行训练)。
70.针对每个参与方,多参与方机器学习系统计算708参与方的训练数据对机器学习模型中的每个机器学习模型的性能的贡献的度量。
71.针对每个参与方和每个模型,多参与方机器学习系统检查712以查看贡献的度量是否高于阈值。如果是,则特定参与方给予716对经训练模型的访问。如果不是,则在714处,阻止访问。
72.在各种示例中,选择器204和参与控制器210计算沙普利(shapley)值。shapley值是以下函数的输出,该函数将特征函数和参与方i视为参量。选择器204所使用的特征函数与参与控制器210所使用的特征函数不同。
73.特征函数v和参与方i∈m的shapley值如下:
[0074][0075]
以文字表达如下:特征函数v和作为多参与方机器学习系统的m个参与方的集合的成员的参与方i的shapley值由以下各项给出:集合s的基数的阶乘在不包括i的m个参与方的每个可能集合s上的总和,乘以参与方数目m的阶乘减去集合s的基数减去1,除以参与方数目m的阶乘,再乘以具有i的s和没有i的s的特征函数的输出的差。
[0076]
shapley值量化了参与方i对所有可能参与方子集的平均边际贡献。本发明人已经认识到,shapley值对复制不具有鲁棒性,也就是说,它们没有考虑多次提交相同训练数据的各参与方。
[0077]
选择器204在计算单个机器学习模型情况和每个参与方一个机器学习模型的情况下的shapley值时使用以下特征函数:
[0078][0079]
以文字表达如下:选择器204计算shapley值时使用的特征函数视为参与方的可能集合s的数目的参量,并且等于增益函数的输出,在特定机器学习模型已经使用可从可能集合s中的集合j中的一个集合中的参与方组合中的所有参与方获得的训练数据进行了训练之后,当使用标准(诸如参与方i所给出的验证数据)对该特定机器学习模型进行评估时,该增益函数表达该特定机器学习模型的性能。本文中使用符号来表示特征函数,以便表示对增益函数作为特征函数的使用。
[0080]
在具有单个机器学习模型的情况下,参与控制器210在计算shapley值时使用以下特征函数:
[0081][0082]
以文字表达如下:以由其中多参与方机器学习系统中存在参与方的s个可能集合的参与控制器210使用的特征函数等于模型的性能加上每个单独参与方的模型的性能的总和。符号v被使用以指针对单个机器学习模型由参与控制器使用的特征函数。
[0083]
该特征函数是在s中的所有数据集上训练的模型的值加上每个参与方的边际收益。注意,对于单个参与方而言,数据的值被表达为在其自己的训练数据集上训练的模型的值。
[0084]
在每个参与方一个机器学习模型的情况下,参与控制器210在计算shapley值时使用以下特征函数:
[0085][0086]
以文字表达如下:参与控制器210在每个参与方一个机器学习模型的情况下计算shapley值时使用的特征函数仅基于单独参与方的数据在每个单独参与方的每个模型上等于所有模型的性能的总和加上每个单独参与方的每个模型的性能增益的总和。符号ω被使
用以指在多个机器学习模型的情况下由参与控制器使用的特征函数。
[0087]
图8图示了示例性基于计算的设备800的各种组件,该示例性基于计算的设备800被实现为任何形式的计算设备和/或电子设备,并且其中在一些示例中,实现了多参与方机器学习系统的实施例。
[0088]
基于计算的设备800包括一个或多个处理器802,该一个或多个处理器802是微处理器、控制器或任何其他合适类型的处理器,用于处理计算机可执行指令以控制设备的操作,以便使用来自一个或多个参与方的训练数据训练一个或多个机器学习模型。在一些示例中,例如,在使用片上系统架构的情况下,处理器802包括一个或多个固定功能块(也称为加速器),该一个或多个固定功能块以硬件(而非软件或固件)实现图4至图7中任一附图的方法的一部分。在基于计算的设备处提供包括操作系统804的平台软件或任何其他合适的平台软件,以使得应用软件806能够在设备上执行。提供可信执行环境104来保持训练数据和机器学习模型,如本文前面所描述的。
[0089]
计算机可执行指令使用基于计算的设备800可访问的任何计算机可读介质来提供。计算机可读介质包括例如诸如存储器808的计算机存储介质和通信介质。诸如存储器808的计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块等的信息的任何方法或技术实现的易失性介质和非易失性介质、可移除介质和不可移除介质。计算机存储介质包括但不限于随机存取存储器(ram)、只读存储器(rom)、可擦可编程只读存储器(eprom)、电子可擦可编程只读存储器(eeprom)、闪存或其他存储技术、光盘只读存储器(cd-rom)、数字多功能磁盘(dvd)或其他光学存储、盒式磁带、磁带、磁盘存储或其他磁性存储设备、或任何用于存储信息以用于由计算设备访问的其他非传输介质。相比之下,通信介质在诸如载波或其他传输机制的经调制数据信号中体现计算机可读指令、数据结构、程序模块等。如本文中所定义的,计算机存储介质不包括通信介质。因此,计算机存储介质本身不应被解释为传播信号。尽管计算机存储介质(存储器808)在基于计算的设备800内示出,但是应当领会,在一些示例中,存储是分布式存储或远程定位存储并且经由网络或其他通信链路(例如,使用通信接口810)访问。
[0090]
基于计算的设备800还包括输入/输出控制器812,该输入/输出控制器812被布置为将显示信息输出到显示设备814,该显示设备814可以与基于计算的设备800分离或集成到该基于计算的设备800中。显示信息可以提供图形用户接口。输入/输出控制器812还被布置为接收并处理来自诸如用户输入设备816(例如,鼠标、键盘、相机、麦克风或其他传感器)的一个或多个设备的输入。
[0091]
备选地或除了本文中所描述的其他示例之外,示例包括以下各项的任何组合:
[0092]
一种针对隐私保护机器学习而选择数据的方法,包括:
[0093]
存储来自第一参与方的训练数据;
[0094]
存储机器学习模型;
[0095]
存储来自第一参与方或另一参与方的标准;
[0096]
选择训练数据以选择被用以训练机器学习模型的训练数据的第一部分并且选择训练数据的第二部分;
[0097]
其中选择通过使用标准计算数据对机器学习模型的性能的贡献的度量而被完成。
[0098]
这样,因为训练数据的第一部分可以被用以训练机器学习模型,而无需使用第二
部分,所以隐私得到了增强。因此,第二部分不能通过对经训练的模型的访问来显露。通过使用标准进行选择,模型的性能得到了促进,即使该模型没有在所有可用的训练数据上进行训练。
[0099]
上文所描述的方法,该方法在可信执行环境中执行并且包括使用训练数据的第一部分训练机器学习模型,使得训练数据的第二部分在可信执行环境中保持私有。安全性通过使用可信执行环境来增强。
[0100]
上文所描述的方法,其中标准包括以下各项中的一项或多项:质量、阈值、值、度量、统计。由于可信计算环境是资源受限实体,所以这些计算并存储在多参与方机器学习系统中是有效的。
[0101]
上文所描述的方法,其中标准适合于:根据在使用选择的训练数据训练时机器学习模型的性能的可能性来选择训练数据。这样,即使没有使用所有可用的训练数据,也有助于机器学习模型的性能。获得了效率。
[0102]
上文所描述的方法,其中标准适用于指示机器学习模型的性能水平。
[0103]
上文所描述的方法,其中标准是用于验证机器学习任务的验证数据,机器学习模型要针对该机器学习任务而被训练。
[0104]
上文所描述的方法,其中度量是使用特征函数计算的沙普利shapley值,其中在模型已经使用从多个可能参与方集合s中的一个可能参与方集合中的参与方的组合中的所有参与方可获得的训练数据而被训练之后,当使用由参与方i给出的标准评估时,特征函数等于机器学习模型的性能。这提供了一种有效且实用的方式来选择发现在经验测试中表现良好的训练数据。
[0105]
上文所描述的方法,其中存在多个机器学习模型。使用多个机器学习模型提供了灵活性,并且使得不同参与方能够训练不同的模型。
[0106]
上文所描述的方法,包括:计算第一参与方的训练数据对机器学习模型的性能的贡献的度量,并且在所计算的度量的基础上,控制对机器学习模型的访问。这样,阻止提交复制的训练数据和/或质量差的训练数据的恶意参与方访问结果。
[0107]
上文所描述的方法,其中贡献度量是使用特征函数计算的shapley值,其中特征函数等于机器学习模型的性能加上针对每个单独参与方的机器学习模型的性能的总和。发现本文中所使用的特征函数在经验测试中表现很好。
[0108]
上文所描述的方法,包括存储多个机器学习模型,每个参与方一个机器学习模型,并且其中度量是使用特征函数计算的shapley值,其中特征函数等于所有机器学习模型的性能的总和加上针对每个单独参与方的每个机器学习模型的性能的总和。发现本文中所使用的特征函数在实践中表现良好。
[0109]
一种用于为隐私保护机器学习选择数据的装置,包括:
[0110]
存储器,存储来自第一参与方的训练数据;
[0111]
存储器,存储机器学习模型;
[0112]
存储器存储来自第一参与方或另一参与方的标准;
[0113]
选择器,被配置为选择训练数据以选择被用以训练机器学习模型的训练数据的第一部分并选择训练数据的第二部分;其中选择通过使用标准计算数据对机器学习模型性能的贡献的度量而被完成。
[0114]
一种用于控制对机器学习模型的访问的装置,该装置包括:
[0115]
可信计算环境,存储机器学习模型和训练数据;
[0116]
访问控制器,被配置为允许或拒绝对机器学习模型的访问;
[0117]
存储器,存储由请求对机器学习模型的访问的参与方提交的标准;
[0118]
参与控制器,使用标准计算得分;
[0119]
并且其中访问控制器使用计算的得分来允许或拒绝对机器学习模型的访问。
[0120]
上文所描述的装置,其中所述标准适用于指示机器学习模型的性能。
[0121]
上文所描述的装置,其中访问控制器被配置为阻止将训练数据提交给可信计算环境而非将标准提交给可信计算环境的参与方访问机器学习模型。
[0122]
上文所描述的装置,其中访问控制器使用计算的得分来授予对机器学习模型的定时访问,定时与得分有关。
[0123]
上文所描述的装置,其中训练数据已经由一个或多个参与方提交,并且其中访问控制器阻止提交已经被提交的训练数据的恶意参与方对机器学习模型的访问。
[0124]
上文所描述的装置,其中参与控制器使用特征函数计算得分以作为shapley值,其中特征函数等于机器学习模型的性能加上针对每个单独参与方的机器学习模型的性能的总和。
[0125]
上文所描述的装置,其中可信计算环境存储多个机器学习模型,每个参与方一个机器学习模型,并且参与控制器使用特征函数计算得分计算以作为shapley值,其中特征函数等于所有机器学习模型的性能的总和加上针对每个单独参与方的每个机器学习模型的性能的总和。
[0126]
一种用于控制对机器学习模型的访问的方法,该方法包括:
[0127]
在可信计算环境处存储机器学习模型和训练数据;
[0128]
使用访问控制器允许或拒绝对机器学习模型的访问;
[0129]
在存储器处存储由请求对机器学习模型的访问的参与方提交的标准;
[0130]
使用标准计算得分;
[0131]
并且使用计算的得分允许或拒绝对机器学习模型的访问。
[0132]
术语

计算机’或

基于计算的设备’在本文中用于是指具有处理能力的任何设备,使得该设备执行指令。本领域的技术人员将意识到这种处理能力结合到许多不同的设备中,因此术语

计算机’或

基于计算的设备’每个都包括个人计算机(pc)、服务器、移动电话(包括智能电话)、平板计算机、机顶盒、媒体播放器、游戏机、个人数字助理、可穿戴式计算机、以及许多其他设备。
[0133]
在一些示例中,本文中所描述的方法由有形存储介质上的机器可读形式(例如,以计算机程序的形式,包括计算机程序代码器件,当程序在计算机上运行时并且在计算机程序可以体现在计算机可读介质上的情况下,该计算机程序代码器件适于执行本文中所描述的方法中的一种或多种方法的所有操作)的软件执行。该软件适用于在并行处理器或串行处理器上执行,使得可以以任何合适次序或同时执行方法操作。
[0134]
这承认软件是有价值的可单独交易的商品。它旨在涵盖在“虚拟”或标准硬件上运行或控制该“虚拟”或标准硬件以执行所需功能的软件。它还旨在涵盖“描述”或定义硬件配置的软件,诸如用于设计硅芯片或用于配置通用可编程芯片以执行所需功能的hdl(硬件描
述语言)软件。
[0135]
本领域技术人员将认识到,用于存储程序指令的存储设备可选地分布在网络上。例如,远程计算机能够存储被描述为软件的过程的示例。本地或终端计算机能够访问远程计算机并下载部分或所有软件以运行程序。备选地,本地计算机可以根据需要下载软件片段,或在本地终端处执行一些软件指令且在远程计算机(或计算机网络)处执行一些软件指令。本领域技术人员还将认识到,通过利用本领域技术人员已知的常规技术,所有或部分软件指令可以由诸如数字信号处理器(dsp)、可编程逻辑阵列等的专用电路执行。
[0136]
对于本领域技术人员而言,明显的是,本文中所给出的任何范围或设备值都可以在不会失去所寻求的效果的情况下被扩展或更改。
[0137]
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求中定义的主题不一定限于上文所描述的特定特征或动作。相反,上文所描述的具体特征和动作被公开为实现权利要求的示例形式。
[0138]
应当理解,上文所描述的益处和优点可以涉及一个实施例或可以涉及几个实施例。实施例不限于解决任何或所有所述问题的实施例或具有任何或所有所述益处和优点的实施例。应当进一步理解,对

一’项的引用项目是指那些项中的一个或多个项。
[0139]
本文中所描述的方法的操作可以按任何合适次序进行或在适当的情况下同时进行。附加地,可以在没有背离本文中所描述的主题的范围的情况下从方法中的任一方法中删除单独的框。上文所描述的示例中的任何示例的各方面可以在不会失去所寻求的效果的情况下与所描述的任何其他示例的各方面组合以形成其他示例。
[0140]
术语

包括’在本文中用于意指包括所标识的方法框或元素,但是这样的块或元素不包括排他性列表,并且方法或装置可以包含附加框或元素。
[0141]
术语

子集’在本文中被使用以指真子集,使得集合的子集不包括该集合的所有元素(即,该集合的元素中的至少一个元素从该子集中缺失)。
[0142]
应当理解,以上描述仅作为示例给出,并且本领域技术人员可以进行各种修改。上述说明书、示例和数据提供了对示例性实施例的结构和使用的完整描述。尽管上文已经以一定程度的特殊性或参考一个或多个单独实施例描述了各种实施例,但是本领域技术人员可以在没有背离本说明书的范围的情况下对所公开的实施例进行多种更改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献