CN112241550B - 安全地执行参数数据更新 - Google Patents

安全地执行参数数据更新 Download PDF

Info

Publication number
CN112241550B
CN112241550B CN202010680535.3A CN202010680535A CN112241550B CN 112241550 B CN112241550 B CN 112241550B CN 202010680535 A CN202010680535 A CN 202010680535A CN 112241550 B CN112241550 B CN 112241550B
Authority
CN
China
Prior art keywords
entity
function
data
instance
coordinator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010680535.3A
Other languages
English (en)
Other versions
CN112241550A (zh
Inventor
马丁·克劳斯
安德烈·艾歇特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Healthineers AG
Original Assignee
Siemens Healthineers AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Healthineers AG filed Critical Siemens Healthineers AG
Publication of CN112241550A publication Critical patent/CN112241550A/zh
Application granted granted Critical
Publication of CN112241550B publication Critical patent/CN112241550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了安全地执行参数数据更新。本发明提供了用于参数更新的系统和方法,该方法包括:由第一实体(10)从第二实体(20)获得函数(1)和参数数据(2);选择(S20)由第一实体(10)提供的数据样本(3);提供(S30)多个相互独立的计算实例(12);将选定的数据样本(3)分配(S40)并提供(S50)给计算实例(12);在每个计算实例(12)内计算(S60)函数(1)的结果;计算(S70)关于结果的平均值;确定(S100;S02)函数(1)是否满足安全标准,如果函数(1)满足安全标准,则将所计算的损失函数的梯度的平均值和/或所计算的输出值的平均值和/或更新的参数数据提供(S120)给第二实体(20)。

Description

安全地执行参数数据更新
技术领域
本发明涉及用于安全地执行参数数据更新特别是机器学习参数更新步骤的计算机实现的方法,并且本发明涉及用于安全地执行参数数据更新特别是机器学习参数更新步骤的系统。
背景技术
在许多应用中,具有产生人工智能实体例如经训练的人工神经网络的专门知识的实体不同于拥有训练数据的实体,训练数据是能够用于训练人工智能实体的数据样本。特别是在医疗技术领域中以及在许多其他应用中,数据安全和数据隐私是重要的问题。
例如,为了训练用于执行医疗任务的人工智能实体,通常需要诸如医学图像、DNA数据、病史等的高度敏感的患者数据。另一方面,这些正是许多条例(诸如欧洲通用数据保护条例,GDPR)、法律和伦理考量力求保持私有和安全的数据。
这些数据的来源——诸如对保持数据安全熟练的医院或研究机构——通常不具有提供用于机器学习的隐私保护编程环境或者自己执行机器学习的机器学习方面的专门知识。另一方面,诸如计算机研究机构的具有机器学习方面的专门知识的实体不应访问原始的私有数据。
发明内容
因此,本发明的目的是提供用于隐私保护参数数据更新特别是用于机器学习的方法和系统,其能够在不违反有关各方的任何约束的情况下被执行。
该目的至少通过本发明的技术方案被解决。
因此,提供了用于利用本发明的技术方案中陈述的特征来安全地执行参数数据更新的计算机实现的方法。
参数数据可以例如被提供为诸如参数矩阵或参数向量或任何其他类型的参数阵列的参数张量。以这种方式,可以通过计算系统和编程语言来有效地读入、处理和输出参数数据。
数据样本可以是例如单独的医学图像或批量的医学图像、电子健康记录EHR、银行对账单、医学报告和/或任何其他类型的数据样本,特别是受数据隐私条例保护的以及/或者包括私有数据的某种类型的数据样本。
多个相互独立的计算实例可以被理解为指定多个计算实例,所述多个计算实例至少在计算期间不能相互通信,并且所述多个计算实例具有使用参数数据使用分配的数据样本作为输入来计算获得的函数的结果的能力。在某些情况下,至少在任何计算期间,独立的计算实例也可能无法与第三方进行通信。独立的计算实例也可以被称为“黑盒”。
优选地,计算实例能够容易地被生成、安装或实例化并且能够类似地容易地被擦除,即,从没有产生或生成计算实例的任何数据中销毁、解构和/或清除。例如,提供计算实例可以包括:提供个人计算机,在该个人计算机上安装操作系统,以及可选地在操作系统内提供计算环境,例如专用的计算工具或框架或代码库。提供计算实例也可以包括:使虚拟化的计算环境例如虚拟机实例化。
相反,擦除计算实例可以包括:使虚拟机去实例化,清除所有数据的硬盘驱动器,利用随机数据一次或重复地覆盖数据存储装置等。因此,“擦除”应该被理解为涵盖适合于清除在创建计算实例之后已经被添加的所有数据的计算实例的任何方法或过程,所述任何方法或过程可以包括完全地销毁计算实例。优选地,各个独立的计算实例没有办法保持或者维持从一个计算到下一个计算的状态。在优选实施方式中,擦除计算实例可以包括重新启动计算机程序或者擦除计算实例可以由重新启动计算机程序组成,使得保存在随机存取存储器RAM中的所有临时状态信息丢失。例如,当只读装置被安装到虚拟机中时,这可以容易地被实现。
优选地,计算实例被创建为无差别的,即,使得不能将一个计算实例与另一个计算实例区分开。
要选择的数据样本的数量可以是固定的(例如,根据来自第二实体的请求),并且要选择的数据样本的数量特别地可以是可以由至少一个第一实体提供的计算实例的数量的整数倍。以这种方式,计算实例中的每一个可以被提供有批量的数据样本。在每个样本被分配并且每个样本仅被分配一次的意义上,可以以真实分区的方式执行选定的数据样本的分配。换言之,分配给不同计算实例的样本的所有实例批量包括不同的数据样本,其中不同的计算实例之间没有交叠。然而,其他分配类型也是可能的。特别地,选定的数据样本的分配能够随机被执行,并且使得一个数据样本以及相同的数据样本被分配给多于一个的计算实例(即,被包括在多于一个的实例批量中)是可接受的。
平均值的计算可以由至少一个第一实体中的至少一个、与第一实体和第二实体不同的协调器实体或者它们的组合来执行。在根据分配(或:分配)为每个独立的计算实例提供多于一个的数据样本的情况下,也可以由相应的计算实例本身来计算关于这些数据样本的初步平均值。
在一些有益的实施方式、实施方式的变型或改进中,至少一个第一实体中的至少一个确定所获得的函数是否满足至少一个预定义的安全标准。在确定函数不满足至少一个预定义的安全标准的情况下,即,在确定至少一个预定义的安全标准没有被满足的情况下,至少一个第一实体可以拒绝或回绝对函数进行计算。
以这种方式,可访问数据样本的至少一个第一实体能够特别地拒绝似乎是以获得对基础数据样本的访问的方式构造的函数,即,可能的恶意的函数。至少一个第一实体可以使用随机的方法来检查(或:验证)获得的函数,例如对获得的函数提供的结果进行采样。因此,可能的是,如果存在多个第一实体并且每个第一实体执行对获得的函数的检查,则确定获得的函数不满足至少一个预定义的安全标准之一的第一实体通知其他第一实体,使得例如它们也可以拒绝所获得的函数。
在优选的实施方式、实施方式的变型或改进中,至少一个安全标准可以包括以下中的至少一个:
-获得的函数是确定性的标准;
-获得的函数计算输出值以及损失函数的梯度的标准;以及/或者-获得的函数的输出具有给定的维数的标准。
这些标准背后的基本原理如下:已知用于构造函数的很多方法,使得尽管将仅提供一些函数的结果的平均值,但是结果使得不可靠的接受者可以重构基础数据样本。在简单的示例中,函数可以被构造成使得:该函数具有1%的机会准确地返回它的输入(即,接收的数据样本)并且具有99%的机会返回零值。这意味着在大多数情况下,返回的平均值将是基础数据样本除以分配的数据样本的数量。通过若干迭代,不可靠的接受者然后能够重构基础数据样本。然而,这样的函数是非确定性的并且将因此违反上面概述的标准之一。
概述的标准中的其他标准执行如下检查,所述检查验证获得的函数的输出是否本应如此,即用于执行例如机器学习更新步骤的输出值和损失函数的梯度;以及/或者所述检查验证输出具有例如与要训练的人工神经网络的权重和偏差相对应的给定的维数。使用这些标准,即使不可靠的或恶意的第二实体试图获得对数据样本的访问,也能够提高方法的安全性。
应当理解,对于机器学习来说,通常需要计算损失函数的梯度以及更新参数的多于一次的迭代。因此,应当理解,对于同一获得的函数,多次执行以下步骤:选择数据样本,提供计算实例,分配选定的数据样本,计算结果以及计算平均值(其可以一起被指定为“一次迭代”)。
所计算的损失函数的梯度的平均值和/或所计算的输出值的平均值和/或更新的参数数据可以在每次迭代之后、在预定义数量的迭代之后和/或在所有迭代结束时被提供。例如,可以执行10000次迭代,并且可以仅在最后才将更新的参数数据提供给第二实体。以这种方式,第二实体具有关于原始数据样本的甚至更少的线索,但是仍然被提供有起作用的经训练的参数数据集。
至少一个第一实体还可以从第二实体(可能经由协调器实体)接收指定要根据哪些参数执行计算的计算参数。例如,针对每次迭代选定的数据样本的数量(选定的数据样本的数量、数据样本的总数量、数据样本的类型,例如CT图像、PET图像、MRI图像等)。
输出值特别地可以是针对其也计算梯度的同一损失函数的输出值。
在一些有益的实施方式、实施方式的变型或改进中,存在不同于第一实体和第二实体的协调器实体。协调器实体能够实现各种角色并且可以执行根据本发明的第一方面的方法的各个步骤。
例如,协调器实体可以在将函数和参数数据传输至至少一个第一实体之前从第二实体获得函数和参数数据。然后,协调器实体可以确定获得的函数是否满足至少一个预定义的安全标准(即,检查函数)。这可以另外地被执行或者作为对至少一个第一实体检查获得的函数的选项的替选而被执行。如果协调器实体发现获得的函数不满足至少一个预定义的安全标准中的至少一个,则协调器可以拒绝获得的函数参数数据,可选地甚至不通知至少一个第一实体以及/或者不将函数转发至至少一个第一实体。以这种方式,协调器实体可以充当用于恶意或可能有害的函数的过滤器。
协调器实体也可以例如通过将所有数据样本的标识符标签传输至至少一个第一实体来执行对由至少一个第一实体提供的多个数据样本的选择,然后指示至少一个第一实体选择这些标识符标签中的特定的一个标识符标签。如在前文中已经讨论的,在一个这样的步骤中,优选地,选择在当前迭代中要由多个相互独立的计算实例计算的许多数据样本。
协调器实体还可以例如通过简单地将标识符标签传输至至少一个第一实体来执行将选定的数据样本分配给独立的计算实例,所述标识符标签将由相应的第一实体提供给相应的独立的计算实例。
优选地,多个相互独立的计算实例由至少一个第一实体提供。至少一个第一实体中的每一个可以提供单个或多于一个的独立的计算实例。第一实体可以是安装在例如医院的本地计算系统上的软件代理,所述软件代理能够并且被允许访问由医院提供的数据样本以及提供独立的计算实例。
协调器实体还可以计算由独立的计算实例针对获得的函数而计算的结果的平均值,所述平均值可以由协调器实体接收和收集。如果协调器实体被配置成确定获得的函数是否满足至少一个预定义的安全标准,则这可以在平均值的计算之前或平均值的计算之后被执行。在任何情况下,有益地,在向第二实体提供任何值或结果之前执行该确定。特别地,协调器实体可以被配置成:如果不满足至少一个预定义的安全标准,则决定不向第二实体提供例如计算的平均值。
协调器实体可以部分地或完全地由与其上安装有第一实体的计算系统分开的云计算系统或远程服务器系统实现。协调器实体还可以部分地或完全地在计算机硬件上运行,第一实体或第一实体中的至少一些也运行在该计算机硬件上。
在一些有益的实施方式、实施方式的变型或改进中,所述方法还可以包括以下步骤:将(例如由第一实体)计算的平均值提供给协调器实体;由协调器实体基于计算的平均值来计算更新的参数数据;以及由协调器实体将更新的参数数据提供给第二实体。特别地,更新的参数数据可以是关于人工神经网络的更新的权重和/或偏差、关于支持向量机的参数数据等。因此,协调器实体可以充当被第二实体和第一实体二者信任的可信第三方,因此可以协调参数更新的安全性能。
在一些有益的实施方式、实施方式的变型或改进中,相互独立的计算实例是虚拟化环境中的容器,所述容器被阻止至少在计算所获得的函数的结果期间进行通信,特别是相互进行通信。这阻止可能的恶意或有害的获得的函数在计算期间相互进行通信。这将关闭对原始数据样本的访问的一些可能的尝试。
例如,当独立的计算实例是单独的工作站或PC时,可以在分配的数据样本已经被提供给计算实例之后并且在计算开始之前关闭每个PC的联网功能,并且可以在计算完成之后重新激活每个PC的联网功能。在其他变型中,计算实例可能根本不具有任何网络功能:它们可能仅具有对提供有分配的数据样本的第一目录的读取权限(没有写入权限),并且可能仅具有计算的结果被写入其中的第二目录的写入权限(没有读取权限)。以这种方式,获得的函数的任何实例都不能与获得的函数的任何其他实例进行通信。因此,阻止了获得的函数协调其若干实例以获得对原始数据样本的访问。
在一些有益的实施方式、实施方式的变型或改进中,至少一个独立的计算实例被控制成针对多于一个选定的数据样本计算获得的函数的结果,并且至少一个独立的计算实例还被控制成计算设定结果的平均值。这减少了创建破坏独立的计算实例所涉及的任何工作。
在一些有益的实施方式、实施方式的变型或改进中,每当独立的计算实例已经完成针对分配给它的至少一个数据样本计算结果时,就检查(即,执行检查)是否满足擦除标准,并且其中,当发现满足所述擦除标准时,擦除所述独立的计算实例。
如在前文中已经描述的,擦除独立的计算实例可以包括卸载软件、清除数据存储介质上的所有存储器、解构虚拟机或虚拟化的环境等。
擦除标准可以例如涉及计数器,该计数器对当前独立的计算实例已经执行了多少次计算进行计数。标准可以被设置成使得在固定次数的计算之后满足擦除标准,使得计算实例总是在固定次数的计算之后被擦除。
擦除标准还可以包括确定两个给定的阈值(例如,1和10)之间的随机整数,并且每当计数器达到了所述随机数时,擦除独立的计算实例,接下来针对任何随后的计算确定新的随机数。
擦除标准还可以包括:确定随机数,并且每当所述随机数超过预定义的阈值(或者,在变型中,低于预定义的阈值)时,擦除独立的计算实例。这破坏了从每个独立的计算实例的结果中找出基础数据样本的企图,原因是它所涉及的随机性甚至不清楚已经执行了多少次计算。
在一些有益的实施方式、实施方式的变型或改进中,在多个第一实体互相不信任并且第一实体中的每一个生成独立的计算实例中的至少一个的情况下,使用安全多方计算SMPC来计算由不同的第一实体生成的独立的计算实例所计算的结果的平均值。以这种方式,也可以确保没有一个第一实体能够获得对由其他第一实体提供的原始数据样本的访问。
在一些有益的实施方式、实施方式的变型或改进中,方法还包括以下步骤:由第二实体对至少函数进行同态加密,使得独立的计算实例使用同态加密的函数来计算结果;以及由第二实体对被提供给第二实体的计算的平均值进行同态解密。以这种方式,也可以从至少一个第一实体隐藏由第二实体提供的函数的特定性质,使得第一实体和/或协调器实体也不会获得对第二实体的专门知识的任何了解。
在一些有益的实施方式、实施方式的变型或改进中,在结果或平均值分别被提供给第二实体之前将噪声信号(或被简称为“噪声”)添加到以及/或者将梯度裁剪用于关于获得的函数的各个结果和/或所计算的平均值或结果。这进一步增加了第二实体重构原始数据样本的难度。
在一些有益的实施方式、实施方式的变型或改进中,参数数据包括关于至少一个人工神经网络的权重和/或偏差。为了训练人工网络,大量的数据是必需的,而这些数据通常处于数据保护法律或倡议之下。以所描述的方式,可以在不泄漏任何敏感或私有数据的情况下训练人工神经网络。
在一些有益的实施方式、实施方式的变型或改进中,多个数据样本的选择例如由协调器实体随机地执行。
根据本发明的第二方面,提供了用于利用本发明的技术方案中陈述的特征来安全地执行参数数据更新的系统。
根据本发明的第四方面,提供了非暂态计算机可读数据存储介质,该非暂态计算机可读数据存储介质包括如下程序代码,所述程序代码被配置成:当被(例如,由计算机系统)执行时,执行根据本发明的第一方面的实施方式的方法。数据存储介质可以是DVD、CD-ROM、固态驱动器、存储棒等。
根据本发明的第五方面,提供了数据流,该数据流包括程序代码或被配置成生成程序代码,该程序代码被配置成:当被(例如,由计算机系统)执行时,执行根据本发明的第一方面的实施方式的方法。
附图说明
还将参考所附的附图中描绘的示例性实施方式更详细地说明本发明。
附图被包括以提供对本发明的进一步理解,并且附图被并入说明书中并且构成说明书的一部分。附图示出了本发明的实施方式,并且附图与说明书一起用来示出本发明的原理。因为通过参考以下详细描述,本发明的其他实施方式以及本发明的许多预期的优点变得更好理解,所以本发明的其他实施方式以及本发明的许多预期的优点将容易被理解。相同的附图标记标明相应的相似部分。
在图中的方法步骤的编号及其布置旨在帮助理解,除非另有明确说明或者隐含地清楚说明,否则在图中的方法步骤的编号及其布置不应被解释为意指必须根据它们的附图标记的编号来执行指定的步骤。特别地,方法步骤中的一些或甚至所有方法步骤可以同时地、以重叠的方式或顺序地被执行。
图1显示了示出根据本发明的第一方面的实施方式的方法的示意图;
图2示意性地示出了根据本发明的第一方面的方法的另一实施方式以及根据本发明的第二方面的实施方式的系统的实施方式;
图3显示了示出根据本发明的第三方面的实施方式的计算机程序产品的示意性框图;以及
图4显示了示出根据本发明的第四方面的实施方式的数据存储介质的示意性框图。
尽管在本文中已经示出和描述了特定实施方式,但是本领域普通技术人员将理解,在不背离本发明的范围的情况下,各种可替选的和/或等同的实现可以代替所示出和所描述的特定实施方式。通常,本申请旨在覆盖本文中所讨论的特定实施方式的任何改编或变型。
具体实施方式
图1显示了示出根据本发明的第一方面的实施方式的方法——即,用于安全地执行参数更新的方法,特别是机器学习更新步骤——的示意图。
在第一步骤S10中,至少一个第一实体10从第二实体20获得函数1和参数数据2。在图1中,为了简单起见,仅示出了单个第一实体10。应当理解,在下文和上文中描述的概念和机制也适用于多个第一实体。例如,函数1可以是被设计成返回函数输出值以及损失函数的梯度的函数。
期望函数1输出输出值以及损失函数的梯度。在本文中使用术语“期望”原因在于:在此步骤中,这是否确实是这种情况或者函数1是否是模仿这样的输出但实际上不提供这样的输出的恶意或有害的函数,这些都还未经证实。
至少一个第一实体10可以是诸如个人计算机或在计算机或服务器上运行的软件代理的计算装置。类似地,至少一个第二实体20可以是诸如个人计算机或在计算机或服务器上运行的软件代理的计算装置。
第二实体20可以属于想要开发人工智能实体特别是可以被封装在函数内的机器学习实体的研究机构。例如,函数1可以实现人工神经网络,参数数据2可以包括关于所述人工神经网络的权重和偏差,或者参数数据2可以由关于所述人工神经网络的权重和偏差组成。在第一步骤中,参数数据2可以包含随机初始化值。可替选地,参数数据2可以包括预先训练的权重和偏差,或者参数数据2可以由预先训练的权重和偏差组成。
在步骤S20中,由至少一个第一实体10提供的多个数据样本被选择。多个选定的数据样本可以被指定为“小批量”或者被简称为“批量”。应当仔细地选择所选定的数据样本的数量,即,批量的大小。一方面,批量的大小从绝对意义上讲应该足够大,从而使得不能容易地从平均值重构相应的计算。
退化情况如下:批量号为N1=1(i=1表示此处是第一次迭代),从而使得关于整个批量的平均值将恰好对应于函数1的各个值中的值。另一方面,批量大小Ni应该显著小于至少一个第一实体10可用的数据样本的总数N,使得子集批量Ni(多个选定的数据样本)每次都充分不同。例如,对于总数为N=10000的数据样本,Ni的批量大小为32可以认为是合理的选择。这导致(10000选择32)=约3.6*1092个可能的子集。此数字越高,过程越安全。
另一方面是,泄露数据的风险随着比率(计算实例的输出的维数)/(计算实例的输入的维数)而降低,原因是较小维数的输出向量通常将不能包括较高维数的输入向量的所有信息。因此,较大的输出维数还应该伴随着较大的批量大小Ni
在本示例中,多个数据样本的选择S20可以由至少一个第一实体10执行。在其他变型中,协调器实体可以执行该任务。在步骤S30中,多个相互独立的计算实例12被提供,在本示例中,所述多个相互独立的计算实例12由至少一个第一实体10提供。
相互独立的计算实例12可以以任何方式被提供并且具有如在前文中已经描述的任何特征。特别地,相互独立的计算实例12可以是虚拟化环境中的容器,所述容器被阻止至少在计算所获得的函数的结果期间进行通信。至少一个第一实体10可以被配置成:使用至少一个第一实例10也在其上运行的硬件来生成这样的虚拟化环境和/或容器。
在步骤S40中,将选定的数据样本3分配给独立的计算实例12,使得所有选定的数据样本3被分配给独立的计算实例12,并且使得至少一个选定的数据样本3被分配给每个独立的计算实例12。如前文中已经描述的,这可以以多种方式来完成,例如,使得选定的数据样本被分配在真实分区中,使得没有数据样本被分配给多于一个的独立的计算实例12。
可替选地,在每个选定的数据样本3具有相同的机会被分配给独立的计算实例12中的每一个的意义上,这可以被允许。可替选地,特定的选定的数据样本3被分配多于一次的机会可以被设置成随着所述特定数据样本的每次分配而减少。以这种方式,仍然有可能多次分配相同的数据样本3,但这变得越来越不可能。
在步骤S50中,数据样本3被提供至它们被分配给的相应的独立的计算实例12。
当多个相互独立的计算实例12被提供S30时,或者当数据样本3被提供S50给独立的计算实例12时,或者甚至与这些步骤分开地,函数1和参数数据2也被提供给独立的计算实例12。在图1中,这被示例性地显示为向独立的计算实例12提供S50数据样本3的一部分。
在步骤S60中,在每个独立的计算实例12内并且通过每个独立的计算实例12,基于被分配给相应的独立的计算实例12的至少一个数据样本3,优选地还基于参数数据2,来计算获得的函数1的结果。此外,例如在人工神经网络的情况下,每个独立的计算实例12可以使用所提供的参数数据2来计算由函数1实现的人工神经网络关于其权重和偏差的输出。
如前文中已经描述的,假如独立的计算实例12被提供有多于一个的数据样本3,则该独立的计算实例12可以被配置成:计算分配给该独立的计算实例12的所有数据样本3的结果,并且还计算关于该独立的计算实例12计算的结果的输出值的平均值以及关于该独立的计算实例12计算的结果的损失函数的梯度的平均值。
在步骤S70中,例如由至少一个第一实体10计算如下平均值,所述平均值包括由所有独立的计算实例12计算的结果之上的输出值的平均值和损失函数的梯度的平均值。
可选地,在计算S60完成之后,每个独立的计算实例12可以在步骤S80中检查是否满足擦除标准,并且当发现满足所述擦除标准时,在步骤S90中擦除独立的计算实例。如果没有擦除独立的计算实例12,则可以在进一步的迭代中再次提供该独立的计算实例12。如果独立的计算实例12被擦除S90,则对于任何可能的进一步的迭代,新的独立的计算实例12被生成以代替S30被提供。
在步骤S100中,确定获得的函数1是否满足至少一个预定义的安全标准。步骤S100可以在任何时间例如在获得函数1之后立即被执行,以便在发现不满足预定义的安全标准中的至少一个时可能停止方法的任何进一步的动作。以这种方式,在没有被认为是足够安全的函数1上没有资源损失。在图1中所示的示例中,在平均值被计算S70之后并且在基于任何计算的任何数据被提供至第二实体20之前执行确定S100。
在可选的步骤S110中,噪声(或:噪声信号)被添加到计算S70的平均值以及/或者梯度裁剪被采用。另外地或可替选地,在可选地甚至由独立的计算实例12本身计算S70平均值之前,在独立的计算实例12的各个结果上可能已经采用了噪声和/或梯度裁剪。
在步骤S120中,在已经确定S100获得的函数1满足至少一个预定义的安全标准的条件下,计算的损失函数的梯度的平均值和/或计算的输出值的平均值和/或更新的参数数据被提供至第二实体20。
在前文中,已经描述了单次迭代i,即,关于选定的数据样本的单个批量Ni的结果的单次计算。然而,优选地,执行多于一次的迭代。因此,计算S70的损失函数的梯度的平均值可以由例如至少一个第一实体用来计算更新的参数集,特别地,计算S70的损失函数的梯度的平均值可以由例如至少一个第一实体用来通过以下操作计算更新的参数集:通过沿着由计算的损失函数的梯度的平均值表示的梯度向量移动参数来改变先前使用的参数数据。
然后,可以简单地使用更新的参数而不是原始获得的参数数据2以与之前描述的方式相同的方式执行下一次迭代。因此,可以在步骤S20中再次选择多个数据样本,并且该方法可以如已经描述的那样继续,例如直到执行了期望次数的迭代为止。第二实体20可以将期望的迭代次数传送至至少一个第一实体10。优选地,在进行第一次迭代i=1之前,在这样的情况下执行确定获得的函数1是否满足至少一个预定义的安全标准的步骤,使得不浪费计算资源。此外,在可选的步骤S110中应用噪声和/或梯度裁剪的情况下,这优选地在最后一次迭代已经被计算之后进行,以免干扰实际计算。
因此,根据图1的所提供的方法还可以被指定为:用于执行至少一个参数数据更新的函数、用于提供多个参数数据更新的函数或者用于提供机器学习参数更新的函数。从另一种意义上说,由于提供更新的机器学习参数更新是一种训练,因此该方法也可以被指定为用于训练人工智能实体特别是人工神经网络的方法。该方法可以包括以下步骤:使用更新的参数数据,优选地来自最后一次迭代的更新的参数数据,来部署由所获得的函数表示的人工神经网络。例如,至少一个第一实体10中的任何第一实体10或所有第一实体10可以部署这样训练的人工智能实体。
图2示意性地示出了根据本发明的第一方面的方法的另一实施方式以及根据本发明的第二方面的实施方式的实体系统100的实施方式。
根据图2的方法大体上与参照图1所描述的方法相似,这两种方法的不同之处在于:在根据图2的方法中存在协调器实体30。特别地,协调器实体30可以是在远离如下机器的云计算系统或服务器上运行的应用或程序,在所述机器上运行或实现第一实体10和第二实体20。该系统包括至少一个第一实体10中的至少一个和协调器实体30。
在步骤S01中,协调器实体30可以从第二实体20获得函数1和参数数据2。例如如在图1的上下文中关于步骤S100已经描述的,在步骤S02中,协调器实体30可以确定所获得的函数1是否满足至少一个预定义的安全标准。此处的优点在于,该检查是在涉及第一实体10中的任何实体10之前被执行的,这是从仅第一实体10可访问的敏感/私人数据样本的储存库中移除的又一个步骤。
如果确定所获得的函数1满足所述至少一个安全标准,则在步骤S03中,协调器实体30将函数1和参数数据2传输至至少一个第一实体10,这与由至少一个第一实体10获得函数1和参数数据2的步骤S10一致。如果确定所述获得的函数1不满足至少一个安全标准,则协调器实体30拒绝函数1。因此,如果至少一个第一实体10信任协调器实体30,则协调器实体30可以保护至少一个第一实体10。
由至少一个第一实体10提供的多个数据样本的选择S30也可以由协调器实体30执行。为了做到这一点,协调器实体30可以在可选步骤S22中从至少一个第一实体10预先接收关于可用数据集3的数量和/或类型的信息。在一些实施方式中,协调器实体30在步骤S24中向至少一个第一实体10提供标识符标签,利用所述标识符标签来标识数据样本3。对于选择S30,协调器实体然后仅必须例如随机地确定适当数量的标识符标签。
如在前文中已经描述的,独立的计算实例12可以由至少一个第一实体10提供或者由至少一个第一实体10生成。
选定的数据样本3至独立的计算实例12的分配S40可以由协调器实体30例如通过向至少一个第一实体10传输标识符标签来执行,所述标识符标签指示应该向哪个独立的计算实例12提供哪些数据样本。
例如,协调器实体30可以向一个特定的第一实体10通知:该第一实体10应当生成两个独立的计算实例12,并且协调器实体30可以将具有标识符标签1、2和7的数据样本提供给这些独立的计算实例12中的第一个,并且协调器实体30可以将具有标识符标签9、10和11的数据样本提供给那些独立的计算实例12中的第二个。基于分配S40,至少一个第一实体10然后可以将数据样本3提供S50给相应的独立的计算实例12,数据样本3被分配给所述相应的独立的计算实例12。如果在步骤S30中还没有执行将函数1和参数数据2传输至独立的计算实例12,则还可以再次在该步骤中将函数1和参数数据2传输至独立的计算实例12。在一些变型中,协调器实体30还可以从至少一个第一实体10接收选定的数据样本,并且将它们提供给独立的计算实例12。
可以如在前文中已经描述的那样执行步骤S60、S80和S90。在根据图2的实施方式中,平均值的计算S70能够由协调器实体30执行。因为那,可以直接地或者优选地经由至少一个第一实体10将独立的计算实例12的各个结果提供给协调器实体30。在这种意义上,独立的计算实例12的各个结果可以是针对单个数据样本计算的结果或者针对一个或更多个数据样本计算的结果,独立的计算实例已经对所述结果执行了求平均值。因此,各个结果可以由至少一个第一实体10(或者可替选地由计算实例12直接地)传输至协调器实体30。
然后,步骤S100和S110也可以由协调器实体30执行。以这种方式,即使在多个第一实体10之间不信任的情况下,也会实现最大的安全性,原因是只有协调器实体30可访问所有结果中比平均值更详细的内容。还可以以如下方式完成计算:协调器不能例如通过采用安全多方计算SMPC访问正在交换的数据。
此外,优选地,执行多于一次的迭代i=1、2、……。由于在图2的方法中是协调器实体30向至少一个第一实体10提供S03参数集2,因此当也是协调器实体30基于计算损失函数的梯度的平均值来计算更新的参数数据时,这是有利的。然后,优选地,也是协调器实体30将更新的参数数据提供给至少一个第一实体10以执行下一次迭代。
协调器实体30可以对迭代次数i进行计数,并且为了最大的安全性,协调器实体30可以仅在最后一次迭代之后才向第二实体20提供S120任何数据。为了最大的安全性,可以仅将最终更新的参数数据提供S120给第二实体20。根据第一实体10、第二实体20和协调器实体30之间的布置,还可以将诸如损失函数的梯度的总体平均值和/或输出值的总体计算的平均值的附加数据提供S120给第二实体20。
在确定S100所获得的函数1是否满足至少一个预定义的安全标准期间,协调器实体30能够例如检查被传输S65至协调器实体30的各个结果之上的统计,并且如果需要,则防止可疑的计算或者一起停止该方法的执行。协调器实体30还可以根据经验测试关于所获得的函数1的属性,优选地在获得S01函数1之后立即根据经验测试关于所获得的函数1的属性。协调器实体30能够例如选择性地重放(replay)函数1的一些调用来以高概率测试确定性。由于获得的函数1的调用可以以独立的方式被执行并且可能无法保持它们的状态,因此它们不能检测它们是否已经被用相同的参数多次调用。优选地,这由如下协调器实体30来执行,所述协调器实体30为了重放而指示至少一个第一实体10提供相应的相互独立的计算实例12。
类似地,协调器实体30可以检查被传输S65至它的各个结果是否确实包含输出值(特别是损失值)以及关于输入之一的相应梯度。通过使用小步长beta,在负的假定梯度方向上将参数数据移动大约beta应当导致各个结果的损失值减小。根据这个标准,可以执行采样以得到所获得的函数1的假定梯度部分实际上是否为梯度状的高概率估计。
对于关于图1和图2描述的两种方法,每当第一实体中的两个或更多个彼此进行通信,特别是当第一实体10彼此不信任时,就可以采用安全多方计算SMPC。类似地,在两个实施方式中,可以采用同态加密。
在图2中,存在可以由第二实体20执行的可选步骤S131,该步骤包括:对参数数据2进行同态加密,然后将参数数据2传输至协调器实体30并且由协调器实体30获得S01。
因此,在数据已经被提供S120给第二实体20之后,能够执行对所述结果进行同态解密的可选步骤S132,使得最终向第二实体20提供清楚的未加密的结果。此方法可以同样地应用于图1的实施方式。
图3显示了示出根据本发明的第三方面的实施方式的计算机程序产品200的示意性框图。计算机程序产品200包括可执行程序指令250,所述可执行程序指令250被配置成:当被执行时,执行根据第一方面的实施方式的方法,特别是图1或图2的方法或者根据本文中描述的修改及其变型的任何方法。
图4显示了示出根据本发明的第四方面的实施方式的数据存储介质300的示意性框图。数据存储介质300包括可执行程序指令350,所述可执行程序指令350被配置成:当被执行时,执行根据第一方面的实施方式的方法,特别是图1或图2的方法或者根据本文中描述的修改及其变型的任何方法。
在前述详细描述中,出于简化本公开内容的目的,在示例中将各种特征组合在一起。应当理解,以上描述旨在是说明性的而非限制性的。以上描述旨在覆盖所有替选方案、修改和等同物。考虑到前文中描述或建议的各种变型、修改和选择,在阅读以上说明书之后,对本领域技术人员而言,许多其他示例将是明显的。

Claims (15)

1.一种用于安全地执行参数更新的计算机实现的方法,包括以下步骤:
-由至少一个第一实体(10)或者由与所述至少一个第一实体(10)以及与第二实体(20)不同的协调器实体(30)从所述第二实体(20)获得(S10;S01)函数(1)和参数数据(2),其中,期望所述函数(1)输出输出值和损失函数的梯度;
-由所述至少一个第一实体(10)或者由所述协调器实体(30)选择(S20)由所述至少一个第一实体(10)提供的多个数据样本(3);
-由所述至少一个第一实体(10)提供(S30)多个相互独立的计算实例(12);
-由所述至少一个第一实体(10)或者由所述协调器实体(30)将选定的数据样本(3)分配(S40)给所述独立的计算实例(12),使得所有所述选定的数据样本(3)被分配给独立的计算实例(12)并且使得至少一个数据样本(3)被分配给每个独立的计算实例(12);
-由所述至少一个第一实体(10)将所述数据样本(3)连同所获得的函数(1)和参数数据(2)一起提供(S50)给相应的独立的计算实例(12),所述数据样本(3)被分配给所述相应的独立的计算实例(12);
-在每个独立的计算实例(12)内,基于被分配给所述每个独立的计算实例(12)的所述至少一个数据样本(3)来计算(S60)所获得的函数(1)的结果;
-由所述至少一个第一实体(10)或者由所述协调器实体(30)计算(S70)平均值,所述平均值包括由所有所述独立的计算实例(12)计算的结果之上的所述输出值的平均值和所述损失函数的梯度的平均值;
-由所述至少一个第一实体(10)或者由所述协调器实体(30)确定(S100;S02)所获得的函数(1)是否满足至少一个预定义的安全标准,如果所获得的函数(1)满足至少一个预定义的安全标准,则:
-由所述至少一个第一实体(10)或所述协调器实体(30)将所计算的所述损失函数的梯度的平均值和/或所计算的所述输出值的平均值和/或更新的参数数据提供(S120)给所述第二实体(20)。
2.根据权利要求1所述的方法,
其中,所述至少一个预定义的安全标准包括以下中的至少一个:
-所获得的函数(1)是确定性的标准;
-所获得的函数(1)计算函数值和损失函数的梯度的标准;以及/或者
-所获得的函数(1)的输出具有给定的维数的标准。
3.根据权利要求1或2所述的方法,
其中,所述至少一个第一实体(10)中的至少一个确定(S100)所获得的函数(1)是否满足所述至少一个预定义的安全标准。
4.根据权利要求1所述的方法,
其中,至少与所述第一实体和所述第二实体(20)不同的所述协调器实体(30)确定(S02)所获得的函数是否满足所述至少一个预定义的安全标准。
5.根据权利要求4所述的方法,
还包括:
将所计算的平均值提供给所述协调器实体(30);
由所述协调器实体(30)基于所计算的平均值来计算更新的参数数据;以及
由所述协调器实体(30)将所更新的参数数据提供(S120)给所述第二实体(20)。
6.根据权利要求1所述的方法,
其中,所述相互独立的计算实例(12)是虚拟化环境中的容器,所述容器被阻止至少在计算所获得的函数(1)的结果期间进行通信。
7.根据权利要求1所述的方法,
其中,至少一个独立的计算实例(12)被控制成针对多于一个选定的数据样本(3)计算所获得的函数(1)的结果,并且至少一个独立的计算实例(12)还被控制成计算关于所述结果的平均值。
8.根据权利要求1所述的方法,
其中,每当独立的计算实例(12)已经完成了针对分配给所述独立的计算实例(12)的所述至少一个数据样本计算结果时,就检查所述独立的计算实例(12)是否满足擦除标准,并且其中,当发现满足所述擦除标准时,擦除所述独立的计算实例(12)。
9.根据权利要求1所述的方法,
其中,在多个第一实体(10)彼此不信任并且所述多个第一实体(10)中的每一个生成所述独立的计算实例(12)中的至少一个的情况下,使用安全多方计算SMPC来计算至少关于通过由不同的第一实体生成的所述独立的计算实例(12)所计算的结果的平均值。
10.根据权利要求1所述的方法,
还包括以下步骤:
由所述第二实体(20)至少对所述函数(1)进行同态加密(S131),使得所述独立的计算实例(12)使用所述同态加密的函数(1)来计算所述结果;
以及由所述第二实体(20)对被提供给所述第二实体(20)的所计算的平均值进行同态解密(S132)。
11.根据权利要求1所述的方法,
其中,在将结果或平均值分别提供给所述第二实体(20)之前,噪声被添加至以及/或者梯度裁剪被用于所获得的函数(1)的各个结果和/或所计算的关于所述结果的平均值。
12.根据权利要求1所述的方法,
其中,所述参数数据包括关于至少一个人工神经网络的权重和/或偏差。
13.根据权利要求1所述的方法,
其中,对所述多个数据样本(3)的选择(S20)随机地被执行。
14.一种用于安全地执行参数更新的系统(100),包括:
至少一个第一实体(10),其能够访问数据样本(3)并且被配置成:每个所述至少一个第一实体(10)提供(S30)至少一个相互独立的计算实例(12);以及
协调器实体(30);
其中,所述协调器实体(30)被配置成:
-从第二实体(20)获得(S01)函数(1)和参数数据(2),其中,
期望所述函数(1)输出输出值和损失函数的梯度;
-将所获得的函数(1)和参数数据(2)传输(S03)至所述至少一个第一实体(10);
-选择(S20)多个所述数据样本(3);
-将选定的数据样本(3)分配(S40)给所述独立的计算实例(12),使得所有所述选定的数据样本(3)被分配给独立的计算实例(12)并且使得至少一个数据样本(3)被提供给每个独立的计算实例(12);
其中,所述至少一个第一实体(10)还被配置成:将所述数据样本(3)连同所获得的函数(1)和参数数据(2)一起提供(S50)给相应的独立的计算实例(12),所述数据样本(3)被分配给所述相应的独立的计算实例(12);
其中,所提供的独立的计算实例(12)中的每一个被配置成:
-在每个所提供的独立的计算实例(12)内,基于分配给所述每个所提供的独立的计算实例(12)的所述至少一个数据样本(3)来计算(S60)所获得的函数的结果;以及
其中,所述协调器实体(30)还被配置成:
-计算(S70)平均值,所述平均值包括由所述独立的计算实例(12)所计算的结果之上的所述输出值的平均值和所述损失函数的梯度的平均值;确定(S100;S02)所获得的函数(1)是否满足至少一个预定义的安全标准,并且如果所获得的函数(1)满足至少一个预定义的安全标准,
-则将所计算的所述损失函数的梯度的平均值和/或所计算的所述输出值的平均值和/或更新的参数数据提供(S120)给所述第二实体(20)。
15.一种计算机可读介质(200),包括可执行程序指令,所述可执行程序指令被配置成:当所述可执行程序指令被执行时,执行根据权利要求1至13中任一项所述的方法。
CN202010680535.3A 2019-07-19 2020-07-15 安全地执行参数数据更新 Active CN112241550B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19187209.2A EP3767511B1 (en) 2019-07-19 2019-07-19 Securely performing parameter data updates
EP19187209.2 2019-07-19

Publications (2)

Publication Number Publication Date
CN112241550A CN112241550A (zh) 2021-01-19
CN112241550B true CN112241550B (zh) 2021-12-03

Family

ID=67438116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010680535.3A Active CN112241550B (zh) 2019-07-19 2020-07-15 安全地执行参数数据更新

Country Status (3)

Country Link
US (1) US11048796B2 (zh)
EP (1) EP3767511B1 (zh)
CN (1) CN112241550B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535865B (zh) * 2019-08-30 2022-08-19 北京小米移动软件有限公司 信息处理方法、装置、测试终端、测试平台及存储介质
CN114091651B (zh) * 2021-11-03 2024-05-24 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法、装置及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69534192T2 (de) * 1994-07-29 2006-02-16 Canon K.K. Verfahren zur gemeinsamen Nutzung einer geheimen Information, zur Erzeugung einer digitalen Unterschrift und zur Ausführung einer Beglaubigung in einem Kommunikationssystem mit mehreren Informationsverarbeitungseinrichtungen und Kommunikationssystem zur Anwendung dieses Verfahrens
US6772339B1 (en) * 2000-03-13 2004-08-03 Lucent Technologies Inc. Mix and match: a new approach to secure multiparty computation
WO2010135316A1 (en) * 2009-05-18 2010-11-25 Telcordia Technologies, Inc. A privacy architecture for distributed data mining based on zero-knowledge collections of databases
US8837715B2 (en) * 2011-02-17 2014-09-16 Gradiant, Centro Tecnolóxico de Telecomunicacións de Galica Method and apparatus for secure iterative processing and adaptive filtering
US20140121990A1 (en) * 2012-09-12 2014-05-01 The Regents Of The University Of California Secure Informatics Infrastructure for Genomic-Enabled Medicine, Social, and Other Applications
US20170242961A1 (en) * 2014-01-24 2017-08-24 Indiscine, Llc Systems and methods for personal omic transactions
US11429442B2 (en) * 2015-06-29 2022-08-30 Vmware, Inc. Parallel and distributed computing using multiple virtual machines
WO2017216796A1 (en) * 2016-06-15 2017-12-21 Dyadic Security Ltd System and methods for securing security processes with biometric data
US10755172B2 (en) * 2016-06-22 2020-08-25 Massachusetts Institute Of Technology Secure training of multi-party deep neural network
US20180089587A1 (en) 2016-09-26 2018-03-29 Google Inc. Systems and Methods for Communication Efficient Distributed Mean Estimation
US10432400B2 (en) * 2016-10-25 2019-10-01 Southern Methodist University Method and system for privacy preserving disclosure of a shared, identity linked secret
US11496286B2 (en) * 2017-01-08 2022-11-08 Apple Inc. Differential privacy with cloud data
US10536437B2 (en) * 2017-01-31 2020-01-14 Hewlett Packard Enterprise Development Lp Performing privacy-preserving multi-party analytics on vertically partitioned local data
US10565524B2 (en) * 2017-01-31 2020-02-18 Hewlett Packard Enterprise Development Lp Performing privacy-preserving multi-party analytics on horizontally partitioned local data
CN110537191A (zh) * 2017-03-22 2019-12-03 维萨国际服务协会 隐私保护机器学习
US11132453B2 (en) * 2017-12-18 2021-09-28 Mitsubishi Electric Research Laboratories, Inc. Data-driven privacy-preserving communication
US11055492B2 (en) * 2018-06-02 2021-07-06 Apple Inc. Privatized apriori algorithm for sequential data discovery
CN109189825B (zh) * 2018-08-10 2022-03-15 深圳前海微众银行股份有限公司 横向数据切分联邦学习建模方法、服务器及介质
EP3807821A1 (en) * 2018-09-28 2021-04-21 Apple Inc. Distributed labeling for supervised learning
CN109635462A (zh) * 2018-12-17 2019-04-16 深圳前海微众银行股份有限公司 基于联邦学习的模型参数训练方法、装置、设备及介质
US20200177364A1 (en) * 2019-08-09 2020-06-04 Alibaba Group Holding Limited Determining data processing model parameters through multiparty cooperation

Also Published As

Publication number Publication date
EP3767511A1 (en) 2021-01-20
US11048796B2 (en) 2021-06-29
EP3767511B1 (en) 2021-08-25
CN112241550A (zh) 2021-01-19
US20210019395A1 (en) 2021-01-21

Similar Documents

Publication Publication Date Title
US10419216B2 (en) Keying infrastructure
EP3906490B1 (en) Trusted execution broker
CN112106076A (zh) 使用可信执行环境的隐私性增强深度学习云服务
WO2019021180A1 (en) DETECTION AND MITIGATION OF INTRUSION IN DATA PROCESSING
CN112840321A (zh) 用于自动化操作管理的应用程序编程接口
CN112241550B (zh) 安全地执行参数数据更新
US20190332494A1 (en) Compliance as a service for multi-cloud backup systems
CN102299915A (zh) 基于网络层声明的访问控制
CN106462716B (zh) 候选敏感数据项的可分解保护
CN111651792B (zh) 多方协同学习中的风险检测、模型增强方法及装置
EP3591563A1 (en) Verifying the integrity of a plurality of data blocks
CN113807531B (zh) 利用地址随机化的ai模型转移方法
CN111259427A (zh) 一种基于神经网络的图像处理方法、装置及存储介质
Mishra et al. Privacy protection framework for android
CN110100423A (zh) 用于机器的应用许可列表的生成
US20190266067A1 (en) Application monitoring using workload metadata
US8972745B2 (en) Secure data handling in a computer system
CN112966229A (zh) 安全运行sdk的方法及装置
US10656855B2 (en) Memory management in a programmable device
US10805079B2 (en) Method for securing an automated system
US20220358237A1 (en) Secure data analytics
CN109583907A (zh) 一种电子发票的查验方法、装置、介质及电子设备
WO2023087247A1 (en) System, apparatus and methods of privacy protection
US20230195883A1 (en) Customizable and dynamically mutable operating systems
US20240095339A1 (en) Method, device, and computer program product for executing computer programs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant