CN111931216B - 一种基于隐私保护的方式获取联合训练模型的方法及系统 - Google Patents

一种基于隐私保护的方式获取联合训练模型的方法及系统 Download PDF

Info

Publication number
CN111931216B
CN111931216B CN202010974956.7A CN202010974956A CN111931216B CN 111931216 B CN111931216 B CN 111931216B CN 202010974956 A CN202010974956 A CN 202010974956A CN 111931216 B CN111931216 B CN 111931216B
Authority
CN
China
Prior art keywords
terminal
training data
model
parameter matrix
training
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
CN202010974956.7A
Other languages
English (en)
Other versions
CN111931216A (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010974956.7A priority Critical patent/CN111931216B/zh
Publication of CN111931216A publication Critical patent/CN111931216A/zh
Application granted granted Critical
Publication of CN111931216B publication Critical patent/CN111931216B/zh
Priority to US17/354,982 priority patent/US11270028B1/en
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/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
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • 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/606Protecting data by securing the transmission between two devices or processes
    • 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/602Providing cryptographic facilities or services
    • 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
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Abstract

本说明书一个或多个实施例涉及一种基于隐私保护的方式获取联合训练模型的方法及系统,所述方法由参与方中的第一终端实现;其中,所述参与方包括第一终端与第二终端,分别持有水平或者垂直切分的训练数据,所述训练数据包括含样本标签的第一训练数据以及不含样本标签的第二训练数据;所述方法包括:基于含样本标签的所述第一训练数据通过隐私保护的方式与所述参与方中的第二终端联合训练第一模型;将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签;基于含样本标签的第一训练数据以及含预测标签的第二训练数据通过隐私保护的方式与所述第二终端联合训练模型,获取第二模型。

Description

一种基于隐私保护的方式获取联合训练模型的方法及系统
技术领域
本说明书一个或多个实施例涉及多方数据合作,特别涉及一种基于隐私保护的方式获取联合训练模型的方法及系统。
背景技术
在数据分析、数据挖掘、经济预测等领域,机器学习模型可被用来分析、发现潜在的数据价值。由于单个数据拥有方持有的数据可能是不完整的,由此难以准确地刻画目标,为了得到更好的模型预测结果,通过多个数据拥有方的数据合作,来进行模型的联合训练的方式得到了广泛的使用。但是,在多方数据合作的过程中,标签信息并不是对所有样本都存在的。在医疗、金融等领域,标签信息需要大量的人工专家来标注,因此成本昂贵。
因此,有必要提出一种基于隐私保护的方式获取联合训练模型的方法,来使用少量的有标签样本和大量的未标签样本来训练一个有效的联合训练模型。
发明内容
本说明书实施例的一个方面提供一种基于隐私保护的方式获取联合训练模型的方法,所述方法由参与方中的第一终端实现;其中,所述参与方包括第一终端与第二终端,分别持有水平或者垂直切分的训练数据,所述训练数据包括含样本标签的第一训练数据以及不含样本标签的第二训练数据;所述方法包括:基于含样本标签的所述第一训练数据通过隐私保护的方式与所述参与方中的第二终端联合训练第一模型;将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签;基于含样本标签的第一训练数据以及含预测标签的第二训练数据通过隐私保护的方式与所述第二终端联合训练模型,获取第二模型。
本说明书实施例的另一方面提供一种基于隐私保护的方式获取联合训练模型的系统,所述系统由参与方中的第一终端实现;其中,所述参与方包括第一终端与第二终端,分别持有水平或者垂直切分的训练数据,所述训练数据包括含样本标签的第一训练数据以及不含样本标签的第二训练数据;所述系统包括:第一模型获取模块:用于基于含样本标签的所述第一训练数据通过隐私保护的方式与所述第二终端联合训练第一模型;预测标签获取模块:用于将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签;第二模型获取模块:用于基于含样本标签的第一训练数据以及含预测标签的第二训练数据通过隐私保护的方式与第二终端联合训练模型,获取第二模型。
本说明书实施例的另一方面提供一种基于隐私保护的方式获取联合训练模型的装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现所述基于隐私保护的方式获取联合训练模型的操作。
附图说明
本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书的一些实施例所示的基于隐私保护的方式获取联合训练模型系统的示例性应用场景图;
图2是根据本说明书的一些实施例所示的基于隐私保护的方式获取联合训练模型方法的示例性流程图;
图3是根据本说明书的一些实施例所示的基于同态加密的方法获取第一模型的示例性流程图;
图4是根据本说明书的一些实施例所示基于同态加密的方式迭代更新第二模型示例性流程图;
图5是根据本说明书的另一些实施例所示的基于秘密分享的方式迭代更新第二模型的示例性流程图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
在经济、文化、教育、医疗、公共管理等各行各业充斥的大量信息数据,对其进行例如数据分析、数据挖掘、以及趋势预测等的数据处理在越来越多场景中广泛应用。其中,通过数据合作的方式可以使多个数据拥有方获得更好的数据处理结果。例如,可以通过多方数据的联合训练来获得更为准确的模型参数。
在一些实施例中,基于隐私保护的方式获取联合训练模型系统可以应用于在保证各方数据安全的情况下,各方协同训练机器学习模型供多方使用的场景。在这个场景中,多个数据方拥有自己的数据,他们想共同使用彼此的数据来统一建模(例如,线性回归模型、逻辑回归模型等),但并不想各自的数据(尤其是训练数据)被泄露。例如,互联网储蓄机构A拥有一批用户数据,政府银行B拥有另一批用户数据,基于A和B的用户数据确定的训练样本集可以训练得到比较好的机器学习模型。A和B都愿意通过彼此的用户数据共同参与模型训练,但因为一些原因A和B不愿意自己的用户数据信息遭到泄露,或者至少不愿意让对方知道自己的用户数据信息。
基于隐私保护的方式获取联合训练模型的系统可以使多方的训练数据在不受到泄露的情况下,通过多方数据的联合训练来得到共同使用的机器学习模型,达到一种共赢的合作状态。
在一些实施例中,基于多方数据进行的联合训练中,为了防止训练数据的泄露,可以采用混淆电路(garbled circuit)或秘密分享的方式来进行。其中,在特征维度较大时,混淆电路(garbled circuit)或秘密分享方案的运算效率不高。而且,秘密分享的方式需要多个数据方在在同一时间利用自身的数据参与运算。在一些实施例中,也可以对各方的训练数据进行同态加密,然后让各方的训练数据在加密的状态参与模型训练的运算。其中,同态加密仅支持积运算和/或和运算,在使用的过程中,需要把对应的运算公式根据需要进行相应的转换。在一些特征维度较大的场景中,同态加密方案的运算效率高。
在多方联合建模的场景下,并非所有的训练数据都包含对应的样本标签。在某些情况下(如医疗诊断等应用场景),样本标签需要大量的人工专家来标注,因此成本昂贵。如何使用少量的有标签样本和大量的未标签样本来训练一个有效的模型很有意义。在一些实施例中,可以采用多方隐私保护的自学习的方式解决这一问题。
图1是根据本说明书的一些实施例所示的基于隐私保护的方式获取联合训练模型系统的示例性应用场景图。
在一些实施例中,基于隐私保护的方式获取联合训练模型的系统100包括第一终端110、第二终端120以及网络130。其中,第一终端110可以包括处理设备110-1,存储设备110-2;第二终端120包括处理设备120-1,存储设备120-2。在一些实施例中,第一终端和第二终端所持有的数据涉及到不同领域中的用户相关信息。例如,双方持有的数据可以包括用户每年存入的银行账户的金额;也可以某一投资理财项目或某一保险品牌所涉及用户群体的性别、年龄、收入、住址等信息。需要注意的是,仅作为示例性的,图1中终端的数量为两方,在其他实施例中,还可以包括第三方终端以及第四方终端等。
第一终端110和第二终端120可以是带有数据获取、存储和/或发送功能的设备,其可以是物理上隔离的不同设备,也可以是同一服务器上数据需要进行隐私保护的两个进程。在一些实施例中,第一终端110和第二终端120可以包括但不限于移动设备、平板电脑、笔记本电脑、台式电脑等或其任意组合。在一些实施例中,第一终端110和第二终端120可以将相关数据发送给对方或从对方接收相关数据。例如,第一终端110可以将自身的加密后的第一训练数据发送给第二终端120。第一终端110也可以接收来自第二终端120的加密后的第二训练数据。
第一终端和第二终端的处理设备110-1和120-1可以进行数据和/或指令处理。处理设备110-1和120-1可以对数据进行加密,也可以执行相关算法和/或指令。例如,第一终端110的处理设备110-1可以对第一训练数据进行加密,也可以利用第一加密累计值参与模型的联合训练。又例如,第二终端120的处理设备120-1可以对第二训练数据进行加密,也可以基于相关算法指令计算第二加密累计值。
第一终端和第二终端的存储设备110-2和120-2可以存储对应处理设备110-1和120-1执行使用的数据和/或指令,处理设备110-1和120-1可以通过执行或使用所述数据和/或指令以实现本说明书中的示例性方法。存储设备110-2和120-2可以分别用于存储第一训练数据和第二训练数据;也可以存储指示第一终端和第二终端执行操作的相关指令。存储设备110-2和120-2还可以分别存储经处理设备110-1和120-1处理后数据。例如,存储设备110-2和120-2还可以分别存储第一训练数据对应的特征的模型参数(如第一参数矩阵)以及第二训练数据对应的特征的模型参数第(如第二参数矩阵)。在一些实施例中,存储设备110-2和存储设备120-2也可以是一个存储设备,其中,第一终端和第二终端只能从该存储设备中获取自己存储的数据。在一些实施例中,存储设备可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。
网络130可以促进信息和/或数据的交换。在一些实施例中,基于训练数据进行模型训练的系统100(例如,第一终端110(处理设备110-1和存储设备110-2)和第二终端120(处理设备120-1和存储设备120-2))的一个或以上部件可以经由网络130向所述系统100中的其他部件发送信息和/或数据。例如,第二终端120的处理设备110-2可以经由网络130从第一终端110中获得第一训练数据。又例如,第一终端110的处理设备110-1可以通过网络130从第一终端110的存储设备110-2中获取第一训练数据。在一些实施例中,网络130可以为任意形式的有线或无线网络,或其任意组合。
本说明书一个或多个实施例中的系统,可以由数据接收模块、及若干个数据处理模块组成。
在一些实施例中,第一终端和第二终端可以互换,以第一终端的执行为例,在以第一终端作为执行主体的系统中,所述系统可以包括第一模型获取模块、预测标签获取模块以及第二模型获取模块。上述模块均在应用场景所介绍的计算系统中执行,各模块包括各自的指令,指令可存储在存储介质上,指令可在处理器中执行。不同的模块可以位于相同的设备上,也可以位于不同的设备上。它们之间可以通过程序接口、网络等进行数据的传输,可以从存储设备中读取数据或者将数据写入到存储设备中。
第一模型获取模块:用于基于含样本标签的所述第一训练数据通过隐私保护的方式与所述第二终端联合训练第一模型;
预测标签获取模块:用于将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签;
第二模型获取模块:用于基于含样本标签的第一训练数据以及含预测标签的第二训练数据通过隐私保护的方式与第二终端联合训练模型,获取第二模型。采用第二模型获取模块可以实现有样本标签的样本和含有预测标签的样本的联合训练,共同获得一个联合训练的第二模型。
在一些实施例中,所述系统还包括第二模型迭代更新模块。所述第二模型迭代更新模块用于:基于上一轮迭代计算的第二模型更新预测标签;基于含样本标签的第一训练数据与含更新后预测标签的第二训练数据通过隐私保护的方式与第二终端联合训练模型,更新第二模型;基于更新后的第二模型确定进行下一轮迭代,或者确定第二模型。采用第二模型迭代更新模块多轮迭代更新所述第二模型,可以得到性能更好的第二模型。
在一些实施例中,所述第二模型包括第一参数矩阵和第二参数矩阵,所述第一参数矩阵与所述第二参数矩阵分别存储在所述第一终端与所述第二终端;所述第二模型迭代更新模块还用于:基于所述第一参数矩阵与所述第二终端的第二参数矩阵采用隐私保护的方式进行联合训练,得到第一加密累计值与第二加密累计值;所述第一加密累计值与所述第二加密累计值分别存储在所述第一终端与所述第二终端上;基于所述第一加密累计值计算第一加密梯度矩阵;基于第一加密梯度矩阵更新所述第一参数矩阵。第一终端与第二终端分别持有第一参数矩阵与第二参数矩阵可以使得参数矩阵可以基于第一终端和第二终端的训练数据进行多轮计算,避免了参数矩阵反复传输带来的数据通信压力。
在一些实施例中,所述第二模型迭代更新模块还用于:接收来自所述第二终端的第二加密累计值;基于所述第一加密累计值、所述第二加密累计值以及第一终端持有的训练数据计算第一加密梯度矩阵。
在一些实施例中,所述第二模型迭代更新模块还用于:所述第一加密梯度矩阵发送给第二终端进行解密,获取解密后的第一梯度矩阵;基于所述解密后的第一梯度矩阵更新所述第一参数矩阵。
在一些实施例中,所述第二模型迭代更新模块还用于:基于秘密分享的系统将预测标签以及样本标签拆分为第一标签和第二标签;所述第一标签和所述第二标签分别存储在所述第一终端与所述第二终端上;基于所述第一标签与所述第一加密累计值进行计算,得到第一误差;基于所述第一误差和第一终端持有的训练数据计算第一加密梯度矩阵第一部分;将所述第一终端持有的训练数据与所述第二终端中的第二误差进行安全矩阵乘法,得到第一加密梯度第二部分的第一分片;并从第二终端获取第一加密梯度第二部分的第二分片;根据所述第一加密梯度第一部分和所述第一加密梯度第二部分的第一分片以及第二终端持有的第二加密梯度第二部分的第二分片,计算第一加密梯度矩阵。
应当理解,本说明书一个或多个实施中的所述系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CE或EVE-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于处理设备及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。
图2是根据本说明书的一些实施例所示的基于隐私保护的方式获取联合训练模型方法的示例性流程图。
对于联合训练模型的训练数据,包括m个数据样本,每个数据样本包括n维特征。其中,m个样本的n维特征数据可以被水平切分或者垂直切分,并被第一终端和第二终端分别持有。水平切分指样本特征相同,垂直切分指样本数量相同。以下一个或多个实施例中以样本垂直切分为例进行详细说明,并且分别用A和B来表示第一方和第二方。其中,第一方也可以称之为第一终端,第二方也可以称之为第二终端。
在一些实施例中,第一终端A拥有m个样本中的p维特征对应的第一终端训练数据(Xa),第二终端B拥有m个样本中的q维特征对应的第二终端训练数据(Xb)。在本说明书的约定中,Xa是m个样本组成的矩阵,每个样本是1行p列的行向量,即Xa是个m行p列的矩阵,Xb是m个样本组成的矩阵,每个样本是1行q列的行向量,即Xb是个m行q列的矩阵,并且两方样本的并集即为联合训练的总样本,即p+q=n。
第一终端训练数据(Xa)和第二终端训练数据(Xb)中分别包含有第一训练数据和第二训练数据。其中,第一训练数据是指包含样本标签
Figure 519409DEST_PATH_IMAGE001
的训练数据;第二训练数据是初始时无标签的训练数据。具体地,第一终端和第二终端持有的训练数据Xa、Xb可以是保险、银行、医疗等任意领域中的信息。以用户健康信息为例,事实上客户是否健康需要人工专家的检查才能进行判断,因此已进行健康检查的客户具有样本标签;对于其他未检查的客户,则不具备样本标签。对应于本说明书的约定,具有样本标签的客户的特征属于第一训练数据,不具备样本标签的客户的特征属于第二训练数据。
在本说明书的一个或多个实施例中,以Xa1、Xa2分别表示第一终端训练数据(Xa)中包括的第一训练数据和第二训练数据。其中,Xa1、Xa2分别包括m1个数据和m2个数据(且m1+m2=m)。换言之,第一终端训练数据(Xa)包含的m1条有样本标签的第一训练数据(Xa1)和m2条初始无样本标签的第二训练数据(Xa2)。在本说明书的约定中,Xa1、Xa2分别是一个m1行p列的矩阵、m2行p列的矩阵。
相类似地,第二终端训练数据Xb也包括第一训练数据(Xb1)以及第二训练数据(Xb2),且第一训练数据(Xb1)以及第二训练数据(Xb2)分别包括m1个数据和m2个数据。即Xb1以及Xb2分别是一个m1行q列的矩阵和m2行q列的矩阵。
下面对A、B联合训练的模型进行说明。在本说明书中,A、B两方联合训练的模型包括第一模型和第二模型。其中,第一模型可以看做初始模型;第二模型是基于第一模型进行训练得到。
第一模型包括模型参数矩阵
Figure 113201DEST_PATH_IMAGE002
以及
Figure 253196DEST_PATH_IMAGE003
,分别由第一终端和第二终端持有。
Figure 957847DEST_PATH_IMAGE002
以及
Figure 499686DEST_PATH_IMAGE003
分别对应于第一终端的p维特征以及第二终端的q维特征。因此,第一模型参数矩阵
Figure 264380DEST_PATH_IMAGE002
Figure 360512DEST_PATH_IMAGE003
分别是一个p行1列的矩阵、q行1列的矩阵。
第二模型包括模型参数矩阵Wa以及Wb,也分别由第一终端和第二终端持有。Wa以及Wb分别对应于第一终端的p维特征以及第二终端的q维特征。因此,第二模型参数矩阵Wa、Wb分别是一个p行1列的矩阵、q行1列的矩阵。
在本说明书中,模型参数亦可简称为模型。需要说明的是,模型参数
Figure 868854DEST_PATH_IMAGE002
Figure 265200DEST_PATH_IMAGE003
、Wa和Wb实际上是一个向量,为方便计算和说明,模型参数在本说明中以矩阵形式进行表示。
在一些实施例中,样本标签
Figure 200795DEST_PATH_IMAGE004
由A和B的其中一方持有,但另一方持有不会产生实质的影响。在本说明书的表示中,样本标签
Figure 315382DEST_PATH_IMAGE004
是一个对应于第一训练数据的向量,由B持有。在本说明的实施例中,样本标签
Figure 830677DEST_PATH_IMAGE004
是一个m1行1列的列向量。
在一些实施例中,第一终端训练数据Xa与第二终端训练数据Xb中还可以包括预测标签
Figure 347109DEST_PATH_IMAGE005
。所述预测标签
Figure 453605DEST_PATH_IMAGE005
是基于模型参数进行预测后生成的标签,对应于初始无标签的第二训练数据。在一些实施例中,预测标签
Figure 55487DEST_PATH_IMAGE005
可以被A和B的其中一方持有,如被B持有。在一些实施例中,预测标签
Figure 108894DEST_PATH_IMAGE005
也可以基于秘密共享的方式拆分为第一预测标签
Figure 745412DEST_PATH_IMAGE006
和第二预测标签
Figure 22809DEST_PATH_IMAGE007
,并被第一终端和第二终端分别持有并更新。由于预测标签
Figure 580830DEST_PATH_IMAGE005
是一个m2行1列的列向量,因此拆分得到的第一预测标签
Figure 703506DEST_PATH_IMAGE006
和第二预测标签
Figure 194531DEST_PATH_IMAGE007
均为m2行1列的列向量。
下面结合图2中的方法200对基于隐私保护的方式获取联合训练模型方法进行示例性说明。
步骤210,基于含样本标签的所述第一训练数据通过隐私保护的方式与所述参与方中的第二终端联合训练第一模型。在一些实施例中,步骤210由第一模型获取模块执行。
在一些实施例中,可以由第一终端训练数据Xa和第二终端训练数据Xb中的第一训练数据(即Xa1和Xb1)通过隐私保护的方法联合训练得到的第一模型。第一模型包括
Figure 642830DEST_PATH_IMAGE002
Figure 422567DEST_PATH_IMAGE003
两个参数矩阵,分别存储在第一终端和第二终端上。在本说明的约定中,
Figure 614514DEST_PATH_IMAGE002
Figure 225624DEST_PATH_IMAGE003
分别为p行1列的矩阵、q行1列的矩阵。
在一些实施例中,采用隐私保护的方式进行联合训练是指各终端采用隐私保护的方式共享自身持有的训练数据,进而获得统一的数据模型(如第一模型),其中训练数据可以包括特征和标签,也可以只包括特征。在此过程中,各终端的训练数据参与模型的训练过程,并得到各自拥有的模型参数,但各自拥有的训练数据和得到的模型参数均不会被窃取或泄露给对方。例如,第一模型获取模块通过隐私保护的方式获取第二终端中带有样本标签
Figure 48086DEST_PATH_IMAGE004
的训练数据Xb1,并联合训练数据Xa1进行联合训练模型,获得第一模型第一参数矩阵
Figure 846278DEST_PATH_IMAGE002
。在一些实施例中,所述隐私保护的方式包括但不限于秘密分享、安全矩阵乘法、同态加密等方法及其任意组合。有关基于隐私保护的方法进行联合训练以得到第一模型
Figure 841916DEST_PATH_IMAGE002
Figure 307532DEST_PATH_IMAGE003
可参见图3的相应描述,在此不再赘述。
步骤220,将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签。在一些实施例中,终端各自持有的第二训练数据对对方保密,隐私保护的可以是双方各自持有的训练数据以及根据训练数据以及各自的模型参数得到的预测标签。
在一些实施例中,步骤220可以由预测标签获取模块执行。
预测标签获取模块可以基于步骤210获得的第一模型对第一终端训练数据中的第二训练数据Xa2进行预测,获取第一预测标签
Figure 300896DEST_PATH_IMAGE006
,进而得到包含第一预测标签
Figure 586384DEST_PATH_IMAGE006
的第一终端训练数据。
在本说明书的约定中,第一预测标签可以基于以下公式计算:
Figure 120133DEST_PATH_IMAGE008
可以验证,由于初始模型
Figure 174677DEST_PATH_IMAGE002
是一个p行1列的矩阵,Xa2是m2行p列的矩阵,所得第一预测标签
Figure 604521DEST_PATH_IMAGE006
也是一个m2行1列的向量。
同样的,第二终端基于初始模型对Xb2进行预测,获取第二预测标签。例如,基于
Figure 642884DEST_PATH_IMAGE009
获得第二预测标签。可以验证,由于
Figure 714746DEST_PATH_IMAGE003
是一个q行1列的矩阵,Xb2是m2行q列的矩阵,所得的第二预测标签
Figure 889375DEST_PATH_IMAGE007
是一个m2行1列的向量。第一终端和第二终端预测得到的样本标签由各终端持有,可以提高训练数据的安全性。
需要说明的是,本说明书实施例是以两方终端为例进行说明。事实上,本说明书的实施例可以推至多方(如k方)。在该场景的实施例中,k方终端可以基于隐私保护的方式将预测标签
Figure 224541DEST_PATH_IMAGE010
采用隐私保护的方式进行加和,得到预测标签
Figure 750201DEST_PATH_IMAGE005
。预测标签
Figure 360173DEST_PATH_IMAGE005
可以由任意一个终端持有(如第i方)。例如,用公私钥加密的方法对预测标签
Figure 858151DEST_PATH_IMAGE010
进行加密。又例如,采用秘密分享的方法对预测标签
Figure 426535DEST_PATH_IMAGE010
进行加密。
以秘密分享为例,第i个终端可以将自身的预测标签(可以表示为矩阵形式)进行拆分,得到多个(如k个)矩阵分片。仅作为示例,第i终端将预测标签
Figure 377174DEST_PATH_IMAGE011
拆分得到的k个同维的矩阵分片,各矩阵分片对应元素的求和结果等于预测标签
Figure 56417DEST_PATH_IMAGE011
中的对应元素。第i终端保留一个矩阵分片,并将其他k-1个矩阵分片发送给其他终端;同时获得来自其他终端的k-1个预测标签的矩阵分片,再基于自身的保留矩阵分片与来自其他终端的矩阵分片按照事先约定好的顺序进行拼接得到密文形式的拼接矩阵分片,如按照训练成员序号将不同训练成员的矩阵分片从上到下拼接,或从左到右拼接。最后,对所有各方持有的各拼接矩阵分片按位求和后,便可得到预测标签
Figure 940059DEST_PATH_IMAGE005
需要说明的是,步骤220实际上可以理解为一个预测标签初始化过程,相当于第一终端和第二终端基于初始模型(即第一模型)
Figure 679345DEST_PATH_IMAGE002
Figure 914017DEST_PATH_IMAGE003
生成训练数据中第二训练数据的预测标签
Figure 865793DEST_PATH_IMAGE006
Figure 338363DEST_PATH_IMAGE007
初始值的过程。在步骤220之前,A、B两个终端所持有的第二训练数据是不具有预测标签的训练数据。
步骤230,基于含样本标签的第一训练数据以及含预测标签的第二训练数据通过隐私保护的方式与所述第二终端联合训练模型,获取第二模型。在一些实施例中,步骤230由第二模型获取模块执行。
第二模型获取模块基于步骤220获取到第一预测标签
Figure 248550DEST_PATH_IMAGE006
,更新包含第一预测标签
Figure 704939DEST_PATH_IMAGE006
的训练数据Xa。进一步地,第二模型获取模块通过隐私保护的方式获取第二终端中带有第二预测标签
Figure 737703DEST_PATH_IMAGE007
的训练数据Xb,并联合训练数据Xa进行联合训练模型,获得第二模型第一参数矩阵Wa。例如,第一终端可以基于隐私保护的方式获取训练数据Xb并进行前向传播,计算得到损失函数,进而利用反向传播算法得到梯度信息。其中,反向传播是指误差通过输出层,向隐层、输入层逐层反传,依次确定各层的模型参数的修正值(或梯度)。最后,基于梯度信息获得第二模型第一参数矩阵Wa。相类似地,第二终端可以基于联合训练模型,获得第二模型第二参数矩阵Wb。有关梯度计算、前向传播的更多说明可参见图4、5的相应描述,在此不再赘述。
在一些实施例中,第二模型迭代更新模块还可以对第二模型进行迭代训练,即执行步骤240的过程。在一些实施例中,步骤240可以由第二模型迭代更新模块执行。
在一些实施例中,第二模型迭代更新模块可以基于上一轮迭代所得的第二模型Wa更新第一预测标签
Figure 595938DEST_PATH_IMAGE006
。具体地,第二模型迭代更新模块可以基于第一参数矩阵Wa获取整个第一终端训练数据Xa对应的计算结果
Figure 411447DEST_PATH_IMAGE012
,并基于计算结果更新第一预测标签对应的部分。
在本说明书的表示中,计算结果
Figure 823974DEST_PATH_IMAGE012
可以表示为:
Figure 648710DEST_PATH_IMAGE012
=Xa*Wa,
由于第二参数矩阵Wa是一个p行1列的矩阵,Xa是一个m行p列的矩阵。显然,所得的计算结果
Figure 627031DEST_PATH_IMAGE012
是一个m行1列的向量。
在一些实施例中,第二模型迭代更新模块采用所得的计算结果
Figure 816704DEST_PATH_IMAGE012
更新第一终端训练数据中的预测标签
Figure 247685DEST_PATH_IMAGE006
。换言之,计算结果ya只更新第一预测标签
Figure 813796DEST_PATH_IMAGE006
对应的m2个标签值,对于具有标签
Figure 912202DEST_PATH_IMAGE004
的标签值不进行更新。类似的,对于第二终端,所得的计算结果也仅更新第二预测标签
Figure 803934DEST_PATH_IMAGE007
对应的标签值。
基于获得的预测标签
Figure 191053DEST_PATH_IMAGE006
Figure 357592DEST_PATH_IMAGE007
重新更新第一终端训练数据以及第二终端训练数据;进而基于更新后的第一终端训练数据和第二终端训练数据采用隐私保护的方式重新训练第二模型,如此反复直至模型迭代完成。有关基于隐私保护的方式迭代更新第二模型的更多说明可参见图4、5的相应描述,在此不再赘述。
需要说明的是,每轮模型参数更新后,需要判断是否进行下一轮迭代。模型迭代判断的标准可以是迭代次数是否已经达到预设迭代次数、更新后的第二模型是否满足预设的性能指标阈值等,又或者是否收到终止训练的指示。若确定需要进行下一次迭代,第一终端和第二终端可基于当前次迭代过程中获取的更新后的模型分片进行下一次迭代,若确定不需要进行下一次迭代,第一终端和第二终端确定完成迭代,并获得最终确定的第二模型。
图3是根据本说明书的一些实施例所示的基于同态加密的方法获取第一模型的示例性流程图。
在一些实施例中,方法300中的一个或以上步骤可以在图1所示的系统100中实现。例如,方法300中的一个或以上步骤可以作为指令的形式存储在存储设备中,并被处理设备调用和/或执行。
为方便说明,图3以两方终端(如第一终端和第二终端)为例详细说明第一模型的获取过程。两方终端持有的训练数据、样本标签的持有状况与图2相同,此处不再赘述。
在一些实施例中,第一终端A拥有自己方的公钥PKa和私钥SKa。在本说明书的一个或多个实施例中,A的公钥PKa和私钥SKa也可以称之为第一终端公钥以及第一终端私钥。对任一变量X,[X]a表示对X用A的公匙Pka加密。
以上约定的表示方法、变量名称,以及本说明书中出现的公式及其他表达方式,仅为更好地理解本说明书所述的方法。在应用本说明书时,基于常见的运算原理、技术原理、技术方法,可以对表示方法、变量名称、公式、计算方法等做各种非实质性的变换,而不影响其实质和相应的技术效果。例如但不限于调换行或列的次序、在矩阵乘法时变换为等价形式、以其他计算形式来表示同一计算等。
步骤310,双方分别计算累计值Ua、Ub,并用A的公钥加密。
第一终端和第二终端将各自的公钥给到对方,即第一方将自方的公钥给第二方,以备后续进行数据加密时使用。例如,A可以通过网络130把自己的公钥传输给B。在本说明书约定的表示中,A将自方的公钥PKa给B。
双方分别进行所持有的模型参数与特征数据的积运算,并用第一方的公钥PKa对各自的积运算结果加密。第一方将密文数据发送给第二方。
在本说明书约定的表示中,A方计算Ua(其中,
Figure 44926DEST_PATH_IMAGE013
),并用Pka加密,得到[Ua]a,并将计算结果发送给B。同理,B方计算Ub,(其中,
Figure 841980DEST_PATH_IMAGE014
),得到[Ub]a。由此得到的Ua、[Ua]a、Ub、[Ub]a、都是一个m1行1列的矩阵。
在本说明书的一个或多个实施例中,所用加密算法为同态加密算法。同态加密算法是指对于加密函数f,对任意的A、B,
Figure 981975DEST_PATH_IMAGE015
Figure 952205DEST_PATH_IMAGE016
。对应到本实施例,即:
Figure 962886DEST_PATH_IMAGE017
步骤320,B计算加密损失值。
拥有两方加密累计值的第二方将两方加密数据利用加法加和。由于加密算法是同态加密算法,因此加和后的值等于双方未加密数据求和后的加密值。加密损失值的计算公式可参见图4的相应描述,此处不再赘述。
在本说明书约定的表示中,
加密损失值[E]a=
Figure 727580DEST_PATH_IMAGE018
=[z]a/4+[0.5-
Figure 354870DEST_PATH_IMAGE019
]a,
其中,
Figure 863212DEST_PATH_IMAGE020
Figure 259558DEST_PATH_IMAGE021
表示模型预测值;
Figure 398415DEST_PATH_IMAGE019
表示与第二方训练数据Xb对应的标签。在一些实施例中,
Figure 778581DEST_PATH_IMAGE019
可以看为第二预测标签
Figure 825035DEST_PATH_IMAGE007
与样本标签
Figure 810308DEST_PATH_IMAGE004
的串集。
由此计算得到的加密损失值[E]a是一个m行1列的矩阵。
步骤330,B计算第二加密梯度矩阵。
第二方将加密损失值代入梯度下降公式,即将加密损失值与自方的特征对应的数据做积运算,计算得到第二加密梯度矩阵。
在本说明书约定的表示中,B方利用中的梯度计算公式计算:
Figure 651225DEST_PATH_IMAGE022
其中,
Figure 721949DEST_PATH_IMAGE023
。B根据同态乘法得到了用Pka加密的第二加密梯度矩阵[Gb]a。由此得到的第二梯度矩阵Gb是一个q行1列的矩阵。在一些实施例中,也可以使用同态加法得到第二加密梯度矩阵[Gb]a。例如,
Figure 572094DEST_PATH_IMAGE024
步骤340,B将第二加密梯度矩阵发给A解密。
第二方在第二加密梯度矩阵加上用第一方公钥加密的第一掩码,并发给第一方,第一方对所接收的加密数据用己方私钥解密。其中,第一掩码是第二方设定的数值,主要目的是防止A获知解密后的第二梯度矩阵。对于第一掩码具体数值的设定范围,本说明书不做限定,只要能满足上述目的即可。
在本说明书约定的表示中,B方计算[Gb]a+[mask1]a,并发给A方。
在本实施例中,mask1为第一掩码,与第二梯度矩阵Gb维度相同,因此Gb+mask1也是一个q行1列的矩阵。
A方获得[Gb]a+[mask1]a。由于加密算法为同态加密,因此
Figure 208611DEST_PATH_IMAGE025
。A方用Ska解密获得Gb+mask1。由于A方不知道mask1的值,所以A方无法获知Gb的值。
步骤350,B基于第二梯度矩阵更新第一模型。
第二方计算得到自方的第二梯度矩阵,并将第二梯度矩阵与learning_rate做积运算,更新第一模型
Figure 689271DEST_PATH_IMAGE003
在本说明书约定的表示中,B方计算更新
Figure 309609DEST_PATH_IMAGE026
。在本说明书中,learning_rate表示在梯度下降法中的影响下降幅度的超参数。
以上实施例是以第二终端B为例进行的示例性说明。同理,对于第一终端A,A将加密后的第一加密梯度发送给B解密,得到第一梯度矩阵。将所述第一梯度矩阵与learning_rate做积运算,更新第一模型。即A方计算
Figure 697865DEST_PATH_IMAGE027
上述过程说明了一次梯度下降过程,可迭代这一过程直至收敛,完成第一模型的训练。在这一过程中,双方均无法获知另一方所持有的数据。
需要说明的是,方法300以同态加密的一个实施例为例说明了第一模型训练的详细过程。在一些其他实施例中,也可以采用其他方式实现保护隐私的联合训练。例如,步骤350中可以不添加第二掩码,采用B方公匙对加密误差值进行加密可产生相类似的效果。
图4是根据本说明书的一些实施例所示基于同态加密迭代更新第二模型的示例性流程图。
在一些实施例中,方法400中的一个或以上步骤可以在图1所示的系统100中实现。例如,方法400中的一个或以上步骤可以作为指令的形式存储在存储设备中,并被处理设备调用和/或执行。
图4场景中的联合训练模型的数据持有情况与图2类似,在此不再赘述。
在一些实施例中,可以用[X]表示对矩阵X处于密文状态。如无进一步说明,[X]可以表示任意的加密方法对矩阵X进行加密。在一些实施例中,对任一变量X,[X]a表示对X用A的公匙Pka加密。
步骤410,第二终端与所述第一终端基于所述第一参数矩阵与所述第二参数矩阵采用隐私保护的方式进行联合训练,得到第一加密累计值与第二加密累计值。
在一些实施例中,可以通过同态加密的方法获得加密累计值U1和U2。例如,双方分别进行所持有的模型参数与特征数据的积运算,分别存储有U1和U2,并用第一终端的公钥PKa对各自的积运算结果加密。第一终端将密文数据[U1]a发送给第二方。加密累计值[U1]a和[U2]a可以如以下公式进行计算:
[U1]a=[Wa*Xa]a;[U2]a=[Wb*Xb]a。
需要说明的是,在多轮迭代计算的第一轮计算中,Wa和Wb可以是图3所述得到的已完成训练的第一模型
Figure 188889DEST_PATH_IMAGE002
Figure 840450DEST_PATH_IMAGE003
。采用第一模型
Figure 682504DEST_PATH_IMAGE002
Figure 608872DEST_PATH_IMAGE003
计算累计值[U1]a和[U2]a相当于迭代第二模型过程中的初始化过程,已生成第二模型初始值。在多轮迭代计算中的其他轮计算中,Wa和Wb则为上一轮计算时的模型参数。
在一些实施例中,第一终端可以采用添加第一掩码的方式基于将累计值U1发送给第二终端。在该场景的实施例中,所述第一加密累计值可以理解为第一累计值与第一掩码的运算结果。在一些实施中,所述运算可以包括积运算或和运算;所述第一掩码也可以包括一个值,也可以包括多个值。例如,所述第一掩码mask1为一个值,所述运算为和运算,那么对应的第一加密累计值可以为U1+mask1。又例如,所述第一掩码mask1为一个矩阵,所述运算为积运算,那么对应的第一加密累计值可以为U1*mask1。
步骤420,第二终端基于第二加密累计值U2更新第二加密损失值E2。
在计算损失值时,可以使用Taylor展开式来近似计算Sigmoid函数。由于Taylor展开式是多项式的加法和乘法运算,可以支持同态加密,因此可以通过Taylor展开式,在加密状态下计算得到近似的损失值。
在一些实施例中,所述Taylor展开式可以是n阶的Taylor展开。
Figure 954402DEST_PATH_IMAGE028
为简化计算,在一些实施例中,常常使用一定阶数的Taylor展开式进行近似计算。需要说明的是,使用的Taylor展开式的阶数越多,其近似计算的精度越高,但计算过程越复杂,计算速度越慢。为进行说明,在图4所示的一个或多个实施例中,以一阶泰勒展开式为例进行示例性说明,以下详细披露仅仅作为示例,并不构成对本说明书的限定。
在其他实施例中,也可以采用其他可近似的函数来替代Sigmoid函数,或者也可以采用其他展开公式来对Sigmoid进行展开来替代Sigmoid函数,只要所述的替代函数支持积运算和/或和运算,本说明书不做其他任何限制。
在一些实施例中,当第二终端获得基于同态加密后的第一加密累计值[U1]a时,第二加密损失值[E2]可以基于以下公式进行计算。
[E2]a=
Figure 573603DEST_PATH_IMAGE029
Figure 637374DEST_PATH_IMAGE021
表示模型预测值,基于Sigmoid函数得到。公式中
Figure 836274DEST_PATH_IMAGE019
为第二预测标签
Figure 36311DEST_PATH_IMAGE007
与样本标签
Figure 826412DEST_PATH_IMAGE001
的串接,表示与所有第二终端训练数据对应的标签。由此计算得到的第二加密损失值[E2]a是一个m行1列的矩阵。
在一些实施例中,第一终端可以采用添加第一掩码的方式基于将累计值U1发送给第二终端时。第二加密损失值[E2]也可以基于上述公式进行计算。仅需将第一掩码mask1带入计算即可。
步骤430,第二终端基于第二加密损失值[E2]更新第二加密梯度矩阵。
第二终端基于误差值以及第二终端训练数据Xb计算对应的的第二加密梯度矩阵。
具体地,当第二加密损失值[E2]采用同态加密的方法进行加密时,第二加密梯度可以按照如下公式进行计算:
Figure 377479DEST_PATH_IMAGE030
当第二加密损失值E2采用第一掩码进行加密时,第二加密梯度可以按照如下公式进行计算:
Figure 911229DEST_PATH_IMAGE031
步骤440,第一终端和第二终端基于第一加密梯度矩阵与第二加密梯度矩阵更新模型参数Wa和Wb。
在一些实施例中,当第二加密梯度采用第一掩码进行加密时,第二终端可以采用添加第二掩码mask2的方式基于第二加密梯度[Gb+mask1]得到对应的第二解密梯度。具体的,1)第二终端得到基于所述第二加密梯度[Gb+mask1]和第二掩码mask2确定对应的第一掩码梯度,并将所述第一掩码梯度传输给持有第二加密梯度的加密秘钥的第一终端[Gb+mask1+mask2];2)所述第一终端将接收到的第一掩码梯度[Gb+mask1+mask2]进行解码,并将对应的第一解码结果[Gb+mask2]传输给所述第二终端;3)所述第二终端基于接收到的所述第一解码结果[Gb+mask2]以及所述第二掩码,去除第二掩码,得到第二解密梯度Gb。
在一些实施例中,当第二加密梯度采用同态加密的方法进行加密时,第二终端也可以采用添加第二掩码mask2的方式基于第二加密梯度[Gb]a得到对应的第二解密梯度。具体的,1)第二终端得到基于所述第二加密梯度[Gb]a和第二掩码mask2确定对应的第一掩码梯度,并将所述第一掩码梯度传输给持有第二加密梯度的加密秘钥的第一终端[Gb+mask2]a;2)所述第一终端将接收到的第一掩码梯度[Gb+mask2]a进行同态解码,并将对应的解码结果Gb+mask2传输给所述第二终端;3)所述第二终端基于接收到的所述解码结果Gb+mask2以及所述第二掩码,去除第二掩码mask2,得到第二解密梯度Gb。
在一些实施中,以上运算可以包括积运算或和运算;所述第一掩码也可以包括一个值,也可以包括多个值。例如,在一些实施例中,所述第一掩码mask1为一个值,所述运算为和运算,那么对应的第二加密梯度可以为[Gb]a+[mask1]a。在一些实施例中,当所述第一掩码通过积运算方式添加第一掩码时,所述第二加密梯度还可以为[Gb]*[mask1]。
第二终端基于获得的第二梯度矩阵,并将第二梯度矩阵与learning_rate做积运算,更新模型。Wb=Wb-learning_rate×Gb。其中,learning_rate表示在梯度下降法中的影响下降幅度的超参数。
上述过程410~440说明了一次梯度下降过程,可迭代这一过程直至收敛,完成模型Wa和Wb的训练。在这一过程中,双方均无法获知另一方所持有的数据。
需要说明的是,步骤410~440是以第二终端为例对第二模型的迭代过程进行示例性说明。对于第一终端,可以依照步骤410~440相类似的方法进行模型的训练。例如,第一终端可以将第一终端训练数据加上第二终端的公钥,第二终端可以将第二终端训练数据加上第二终端的公钥,并发送给第一终端,并按照步骤410~440的方式进行训练。第一终端得到解密的第一梯度矩阵Ga后,可基于Wa=Wa-learning_rate×Ga更新模型参数Wa。
应当注意的是,上述有关流程400的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程400进行各种修正和改变。例如,也可以采用其他参数寻优方法来替代梯度下降法,如牛顿下降法等进行模型更新计算。然而,这些修正和改变仍在本说明书的范围之内。
图5是根据本说明书的一些实施例所示的基于秘密分享的方式进行第二模型迭代训练方法500的示例性流程图。
图5场景中的第一终端A和第二终端B的数据持有状况与图2相同,不再赘述。
在一些实施例中,以<X>表示对矩阵X进行秘密分片,并用下标表示对应分片的序号,例如<X>1表示矩阵X的第一分片;<X>2表示矩阵X的第二分片。
在一些实施例中,可以基于秘密分享的方法将预测标签
Figure 434614DEST_PATH_IMAGE005
以及样本标签
Figure 395617DEST_PATH_IMAGE004
拆分为第一标签
Figure 699559DEST_PATH_IMAGE032
和第二标签
Figure 37000DEST_PATH_IMAGE033
;第一标签
Figure 680471DEST_PATH_IMAGE032
和所述第二标签
Figure 812375DEST_PATH_IMAGE033
分别存储在所述第一终端与所述第二终端上。在一些实施例中,第一标签
Figure 72455DEST_PATH_IMAGE032
可以理解为是第一预测标签
Figure 948007DEST_PATH_IMAGE006
与样本标签
Figure 445984DEST_PATH_IMAGE004
的一部分的向量拼接;第二标签
Figure 483210DEST_PATH_IMAGE033
可以理解为第二预测标签
Figure 292903DEST_PATH_IMAGE007
与样本标签
Figure 503305DEST_PATH_IMAGE004
另一部分的向量拼接。在一些实施例中,可以将样本标签
Figure 652527DEST_PATH_IMAGE004
整体与第一预测标签
Figure 126233DEST_PATH_IMAGE006
以及第二预测标签
Figure 372624DEST_PATH_IMAGE007
分别组合,得到第一预测标签
Figure 324400DEST_PATH_IMAGE032
以及第二预测标签
Figure 593707DEST_PATH_IMAGE033
步骤510,对参数矩阵Wa和Wb进行秘密分享。
第一终端A和第二终端B对模型参数Wa、Wb初始化,并进行秘密分享,各自维持参数分片。初始模型
Figure 238315DEST_PATH_IMAGE002
Figure 163546DEST_PATH_IMAGE003
的获取可参见图3的相应说明,在此不再赘述。
第一终端将第一终端训练数据中第一训练数据对应的待训练模型Wa拆分为第一参数第一分片<Wa>1和第一参数第二分片<Wa>2,自己持有第一参数第一分片<Wa>1,将第一参数第二分片<Wa>2发送给第二终端B。可以理解,两个参数分片之和为第一参数部分,即:Wa=<Wa>1+<Wa>2
相对应的,第二终端将第二终端训练数据中第一训练数据对应的待训练模型Wb拆分为第二参数第一分片<Wb>1和第二参数第二分片<Wb>2,自己持有第二参数第二分片<Wb>2,将第二参数第一分片<Wb>1发送给第二终端B。可以理解,两个参数分片之和为第二参数部分,即:Wb=<Wb>1+<Wb>2
在进行上述秘密分享之后,第一终端A维持有第一参数第一分片<Wa>1和第二参数第一分片<Wb>1,第二终端B维持有第一参数第二分片<Wa>2和第二参数第二分片<Wb>2
步骤520,获得第一加密累计值U1与第二加密累计值U2。
第一终端A计算第一终端训练数据Xa与第一参数第一分片<Wa>1的乘积,得到第一累计值第一处理结果<U1>1,即:<U1>1=Xa*<Wa>1
第一终端A基于安全矩阵乘法用其持有的第一终端训练数据Xa,与第二终端B持有的第一参数第二分片<Wa>2进行隐私保护的算法。隐私保护的算法可以采用同态加密、秘密分享或采用其他安全计算方式实现,对此不作限定。第一终端训练数据Xa与第一参数第二分片<Wa>2的乘积记为第一累计值第二处理结果<U1>2,即:<U1>2=Xa*<Wa>2
同理,第二终端基于第二终端训练数据Xb与第二参数第一分片<Wb>1的乘积,得到第二累计值第一处理结果<U2>1,即:<U2>1=Xb*<Wb>1;以及第二累计值第二处理结果<U2>2,即:<U2>2=Xb*<Wb>2
步骤530,基于第一加密累计值U1与第二加密累计值U2更新第一损失值与第二损失值。
在计算损失值时,可以使用Taylor展开式来近似计算Sigmoid函数。在一些实施例中,所述Taylor展开式可以是n阶的Taylor展开。损失值基于近似计算的相关说明可参见图4的相关说明。
在图5所示的场景中,第一终端A和第二终端B分别持有的第一加密累计值U1和第二加密累计值U2以及预测标签
Figure 919012DEST_PATH_IMAGE032
Figure 42826DEST_PATH_IMAGE033
在该场景的实施例中,第二终端B可以将第二累计值U2减去第二标签分片
Figure 327177DEST_PATH_IMAGE033
,并将所得到的计算差值作为第二误差L2;类似地,第一终端A可以将第一累计值U1减去第一标签分片
Figure 536441DEST_PATH_IMAGE032
,并将得到的计算差值作为第一误差L1。
步骤540,基于第一误差与第二误差更新第一加密梯度矩阵与第二加密梯度矩阵。
所述梯度矩阵的计算公式可参照图4所述。具体的,第二加密梯度可通过隐私保护的方法进行计算。其中,加密梯度中的“加密”是指梯度的一部分运算数据不被计算方获取。在一些实施例中,“加密”过程可以通过可信第三方完成。例如,第二终端B计算第二加密梯度第一部分时需要用到第一误差L1,此时,第一终端A将第一误差L1发送给第三方,第三方将计算后的结果发给第二终端B。
第二加密梯度Gb可以由以下公式得到:
第二加密梯度第一部分:<Gb>1=L1*Xb;
第二加密梯度第二部分:<Gb>2=L2*Xb;
其中,Gb=<Gb>1+<Gb>2,并且L1和L2分别存储在第一终端和第二终端上且不被对方获取。
类似地,第一加密梯度Ga可以由以下公式得到:
第一加密梯度第一部分:<Ga>1=L1*Xa;
第一加密梯度第二部分:<Ga>2=L2*Xa;
Ga=<Ga>1+<Ga>2。
步骤550,基于第一加密梯度矩阵与第二加密梯度矩阵更新模型参数Wa和Wb。
第一终端和第二终端基于所获得的第一加密梯度矩阵与第二加密梯度矩阵进行模型更新。例如,可以按照以下公式更新Wa和Wb:
第一终端计算:
<Wb>1=<Wb>1-learning_rate×<Gb>1;
<Wa>1=<Wb>1-learning_rate×<Ga>1;
第二终端计算:
<Wa>2=<Wa>2-learning_rate×<Ga>2;
<Wb>2=<Wb>2-learning_rate×<Gb>2;
其中,learning_rate表示在梯度下降法中的影响下降幅度的超参数。
每轮模型参数更新后,需要判断是否进行下一轮迭代。模型迭代判断的标准可以是迭代次数是否已经达到预设迭代次数、更新后的模型是否满足预设的性能指标阈值等,又或者是否收到终止训练的指示。若确定需要进行下一次迭代,第一终端和第二终端可基于当前次迭代过程中获取的更新后的模型分片进行下一次迭代,换句话说,第一终端和第二终端将在下一次迭代中将当前次迭代中获取的更新后的模型分片作为待训练模型。若确定不需要进行下一次迭代,第一终端和第二终端确定完成迭代,并进行步骤560模型重构以获得最终确定的第二模型。
步骤560,模型迭代完成后,重构Wa和Wb并输出
Figure 830019DEST_PATH_IMAGE032
Figure 808340DEST_PATH_IMAGE033
迭代训练完成后,第一终端A将其迭代维护的第二参数第一分片<Wa>1发送给第二终端;第二终端B将其迭代维护的第一参数第二分片<Wa>2发送给第二终端;重构后得到训练好的第二模型Wa和Wb,并输出最后确定的预测标签
Figure 794750DEST_PATH_IMAGE032
Figure 694573DEST_PATH_IMAGE033
本说明书实施例可能带来的有益效果包括但不限于:(1)使用少量的有标签样本和大量的无标签样本来训练一个有效的联合训练模型;(2)基于隐私保护的方法采用联合训练模型预测无标签样本的样本标签;(3)预测得到的样本标签由终端持有,提高数据的安全性。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JAEE、EmeralE、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (8)

1.一种基于隐私保护的方式获取联合训练模型的方法,所述方法由参与方实现,包括第一终端与第二终端;所述第一终端与第二终端分别持有水平或者垂直切分的训练数据,所述训练数据包括含样本标签的第一训练数据以及不含样本标签的第二训练数据,包括以下步骤:
第一终端基于含样本标签的所述第一训练数据通过隐私保护的方式与所述第二终端联合训练第一模型;
第一终端将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签;所述隐私保护的方式包括同态加密、秘密分享中的至少一种;
第一终端基于含样本标签的第一训练数据以及含预测标签的第二训练数据与所述第二终端迭代训练第二模型;其中,所述第二模型包括第一参数矩阵和第二参数矩阵,所述第一参数矩阵和第二参数矩阵在迭代训练开始时进行拆分,由所述第一终端持有并更新所述第一参数矩阵的第一部分以及所述第二参数矩阵的第一部分,由所述第二终端持有并更新所述第一参数矩阵的第二部分以及所述第二参数矩阵的第二部分;迭代训练完成后,将所述第二参数矩阵的第一部分发送给所述第二终端,并从所述第二终端接收所述第一参数矩阵的第二部分;基于所述第一参数矩阵的第一部分以及所述第一参数矩阵的第二部分之和得到所述第一参数矩阵。
2.根据权利要求1所述的方法,在迭代训练之前,基于秘密分享的方法将预测标签以及样本标签拆分为第一标签和第二标签,所述第一标签和所述第二标签分别存储在所述第一终端与所述第二终端上;所述第一终端基于含样本标签的第一训练数据以及含预测标签的第二训练数据与所述第二终端迭代训练第二模型,每轮迭代包括:
第一终端将所述第一参数矩阵第一部分与第一终端训练数据相乘以确定第一加密累计值第一处理结果;
第一终端采用安全矩阵乘法将所述第一终端训练数据与第二终端持有的第一参数矩阵第二部分相乘以确定第一加密累计值第二处理结果;
第一终端基于所述第一加密累计值第一处理结果与所述第一加密累计值第二处理结果获得第一加密累计值;
第一终端基于所述第一标签与所述第一加密累计值进行计算,得到第一误差;
第一终端基于所述第一误差和所述第一终端训练数据计算第一加密梯度矩阵第一部分;
第一终端采用安全矩阵乘法将第二终端训练数据与所述第一误差进行安全矩阵乘法,得到第二加密梯度第一部分。
3.根据权利要求1所述的方法,所述联合训练模型包括线性回归模型。
4.一种基于隐私保护的方式获取联合训练模型的系统,所述系统由参与方中实现,包括第一终端与第二终端;所述第一终端与第二终端分别持有水平或者垂直切分的训练数据,所述训练数据包括含样本标签的第一训练数据以及不含样本标签的第二训练数据;所述系统包括:
第一模型获取模块:用于基于含样本标签的所述第一训练数据通过隐私保护的方式与所述第二终端联合训练第一模型;
预测标签获取模块:用于将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签,所述隐私保护的方式包括同态加密、秘密分享中的至少一种;
第二模型获取模块:用于基于含样本标签的第一训练数据以及含预测标签的第二训练数据与所述第二终端迭代训练第二模型;其中,所述第二模型包括第一参数矩阵和第二参数矩阵,所述第一参数矩阵和第二参数矩阵在迭代训练开始时进行拆分,由所述第一终端持有并更新所述第一参数矩阵的第一部分以及所述第二参数矩阵的第一部分,由所述第二终端持有并更新所述第一参数矩阵的第二部分以及所述第二参数矩阵的第二部分;迭代训练完成后,将所述第二参数矩阵的第一部分发送给所述第二终端,并从所述第二终端接收所述第一参数矩阵的第二部分;基于所述第一参数矩阵的第一部分以及所述第一参数矩阵的第二部分之和得到所述第一参数矩阵。
5.根据权利要求4所述的系统,在迭代训练之前,基于秘密分享的方法将预测标签以及样本标签拆分为第一标签和第二标签,所述第一标签和所述第二标签分别存储在所述第一终端与所述第二终端上;所述系统还包括第二模型迭代更新模块,所述第二模型迭代更新模块用于:
第一终端将所述第一参数矩阵第一部分与第一终端训练数据相乘以确定第一加密累计值第一处理结果;
第一终端采用安全矩阵乘法将所述第一终端训练数据与第二终端持有的第一参数矩阵第二部分相乘以确定第一加密累计值第二处理结果;
第一终端基于所述第一加密累计值第一处理结果与所述第一加密累计值第二处理结果获得第一加密累计值;
第一终端基于所述第一标签与所述第一加密累计值进行计算,得到第一误差;
第一终端基于所述第一误差和所述第一终端训练数据计算第一加密梯度矩阵第一部分;
第一终端采用安全矩阵乘法将第二终端训练数据与所述第一误差进行安全矩阵乘法,得到第二加密梯度第一部分。
6.根据权利要求4所述的系统,所述联合训练模型包括线性回归模型。
7.一种基于隐私保护的方式获取联合训练模型的装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现如权利要求1至3中任一项所述基于隐私保护的方式获取联合训练模型的操作;其中,所述隐私保护的方式包括同态加密、秘密分享中的至少一种。
8.一种基于隐私保护的方式获取联合训练模型的方法,所述方法由参与方实现,包括第一终端与第二终端;所述第一终端与第二终端分别持有水平或者垂直切分的训练数据,所述训练数据包括含样本标签的第一训练数据以及不含样本标签的第二训练数据;所述方法包括以下步骤:
第二终端基于含样本标签的所述第一训练数据通过隐私保护的方式与所述第一终端联合训练第一模型;
第二终端将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签,所述隐私保护的方式包括同态加密、秘密分享中的至少一种;
第二终端基于含样本标签的第一训练数据以及含预测标签的第二训练数据与所述第一终端迭代训练第二模型;其中,所述第二模型包括第一参数矩阵和第二参数矩阵,所述第一参数矩阵和第二参数矩阵在迭代训练开始时进行拆分,由所述第一终端持有并更新所述第一参数矩阵的第一部分以及所述第二参数矩阵的第一部分,由所述第二终端持有并更新所述第一参数矩阵的第二部分以及所述第二参数矩阵的第二部分;迭代训练完成后,将所述第一参数矩阵的第二部分发送给所述第一终端,并从所述第一终端接收所述第二参数矩阵的第一部分;基于所述第二参数矩阵的第一部分以及所述第二参数矩阵的第二部分之和得到所述第二参数矩阵。
CN202010974956.7A 2020-09-16 2020-09-16 一种基于隐私保护的方式获取联合训练模型的方法及系统 Active CN111931216B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010974956.7A CN111931216B (zh) 2020-09-16 2020-09-16 一种基于隐私保护的方式获取联合训练模型的方法及系统
US17/354,982 US11270028B1 (en) 2020-09-16 2021-06-22 Obtaining jointly trained model based on privacy protection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010974956.7A CN111931216B (zh) 2020-09-16 2020-09-16 一种基于隐私保护的方式获取联合训练模型的方法及系统

Publications (2)

Publication Number Publication Date
CN111931216A CN111931216A (zh) 2020-11-13
CN111931216B true CN111931216B (zh) 2021-03-30

Family

ID=73333820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010974956.7A Active CN111931216B (zh) 2020-09-16 2020-09-16 一种基于隐私保护的方式获取联合训练模型的方法及系统

Country Status (2)

Country Link
US (1) US11270028B1 (zh)
CN (1) CN111931216B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4220464A1 (en) * 2017-03-22 2023-08-02 Visa International Service Association Privacy-preserving machine learning
CN112561085B (zh) * 2021-02-20 2021-05-18 支付宝(杭州)信息技术有限公司 一种基于多方安全计算的多分类模型训练方法和系统
WO2022239201A1 (ja) * 2021-05-13 2022-11-17 日本電気株式会社 推論装置、学習装置、機械学習システム、推論方法、学習方法、及びコンピュータ可読媒体
WO2022239200A1 (ja) * 2021-05-13 2022-11-17 日本電気株式会社 学習装置、推論装置、学習方法、及びコンピュータ可読媒体
CN113434878B (zh) * 2021-06-25 2023-07-07 平安科技(深圳)有限公司 基于联邦学习的建模及应用方法、装置、设备及存储介质
CN113239391B (zh) * 2021-07-13 2023-01-10 深圳市洞见智慧科技有限公司 一种无第三方的逻辑回归联邦学习模型训练系统及方法
CN113722744A (zh) * 2021-09-15 2021-11-30 京东科技信息技术有限公司 用于联邦特征工程的数据处理方法、装置、设备以及介质
CN114386336B (zh) * 2022-03-22 2022-07-15 成都飞机工业(集团)有限责任公司 一种基于多方3d打印数据库联合训练的方法
CN114638376A (zh) * 2022-03-25 2022-06-17 支付宝(杭州)信息技术有限公司 一种复合样本场景中的多方联合模型训练方法及装置
CN114742233A (zh) * 2022-04-02 2022-07-12 支付宝(杭州)信息技术有限公司 联合训练逻辑回归模型的方法及装置
CN115238826B (zh) * 2022-09-15 2022-12-27 支付宝(杭州)信息技术有限公司 一种模型训练的方法、装置、存储介质及电子设备
CN115544580B (zh) * 2022-11-29 2023-04-07 支付宝(杭州)信息技术有限公司 保护数据隐私的两方联合训练预测模型的方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170132528A1 (en) * 2015-11-06 2017-05-11 Microsoft Technology Licensing, Llc Joint model training
EP4220464A1 (en) * 2017-03-22 2023-08-02 Visa International Service Association Privacy-preserving machine learning
CN109002861B (zh) * 2018-08-10 2021-11-09 深圳前海微众银行股份有限公司 联邦建模方法、设备及存储介质
US11302424B2 (en) * 2019-01-24 2022-04-12 International Business Machines Corporation Predicting clinical trial eligibility based on cohort trends
CN110633805B (zh) * 2019-09-26 2024-04-26 深圳前海微众银行股份有限公司 纵向联邦学习系统优化方法、装置、设备及可读存储介质
CN111125735B (zh) * 2019-12-20 2021-11-02 支付宝(杭州)信息技术有限公司 一种基于隐私数据进行模型训练的方法及系统
CN111368196A (zh) * 2020-03-03 2020-07-03 深圳前海微众银行股份有限公司 模型参数的更新方法、装置、设备及可读存储介质
US20210303725A1 (en) * 2020-03-30 2021-09-30 Google Llc Partially customized machine learning models for data de-identification
CN111160573B (zh) * 2020-04-01 2020-06-30 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111461309B (zh) * 2020-04-17 2022-05-17 支付宝(杭州)信息技术有限公司 实现隐私保护的更新强化学习系统的方法及装置
CN111241570B (zh) * 2020-04-24 2020-07-17 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111582505A (zh) * 2020-05-14 2020-08-25 深圳前海微众银行股份有限公司 联邦建模方法、装置、设备及计算机可读存储介质
CN111340242B (zh) * 2020-05-15 2020-08-04 支付宝(杭州)信息技术有限公司 保护隐私的模型联合训练方法及装置

Also Published As

Publication number Publication date
US20220083690A1 (en) 2022-03-17
US11270028B1 (en) 2022-03-08
CN111931216A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
CN111931216B (zh) 一种基于隐私保护的方式获取联合训练模型的方法及系统
CN111125735B (zh) 一种基于隐私数据进行模型训练的方法及系统
CN111178547B (zh) 一种基于隐私数据进行模型训练的方法及系统
Bonte et al. Privacy-preserving logistic regression training
CN110245510B (zh) 用于预测信息的方法和装置
CN111931950B (zh) 一种基于联邦学习进行模型参数更新的方法及系统
CN109002861B (zh) 联邦建模方法、设备及存储介质
CN111143878B (zh) 一种基于隐私数据进行模型训练的方法及系统
JP6921233B2 (ja) 秘密分散を使用したロジスティック回帰モデリング方式
Cock et al. Fast, privacy preserving linear regression over distributed datasets based on pre-distributed data
TW202006615A (zh) 基於模型的預測方法和裝置
CN113011587B (zh) 一种隐私保护的模型训练方法和系统
CN111143894A (zh) 一种提升安全多方计算效率的方法及系统
EP3863003B1 (en) Hidden sigmoid function calculation system, hidden logistic regression calculation system, hidden sigmoid function calculation device, hidden logistic regression calculation device, hidden sigmoid function calculation method, hidden logistic regression calculation method, and program
Paul et al. Privacy-preserving collective learning with homomorphic encryption
CN112766514A (zh) 一种联合训练机器学习模型的方法、系统及装置
CN113221153B (zh) 图神经网络训练方法、装置、计算设备及存储介质
JP6977882B2 (ja) 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
WO2023100720A1 (ja) 機械学習装置、機械学習システム、機械学習方法、および機械学習プログラム
CN117034307A (zh) 数据加密方法、装置、计算机设备和存储介质
CN111062492B (zh) 一种基于可选隐私数据进行模型训练的方法及系统
CN111931947B (zh) 一种用于分布式模型训练的训练样本重组方法及系统
Khan et al. Vertical federated learning: A structured literature review
CN111079947A (zh) 一种基于可选隐私数据进行模型训练的方法及系统
Bittner et al. Private speech classification with secure multiparty computation

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