CN111931216A - 一种基于隐私保护的方式获取联合训练模型的方法及*** - Google Patents
一种基于隐私保护的方式获取联合训练模型的方法及*** Download PDFInfo
- Publication number
- CN111931216A CN111931216A CN202010974956.7A CN202010974956A CN111931216A CN 111931216 A CN111931216 A CN 111931216A CN 202010974956 A CN202010974956 A CN 202010974956A CN 111931216 A CN111931216 A CN 111931216A
- Authority
- CN
- China
- Prior art keywords
- terminal
- model
- encryption
- training data
- matrix
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 245
- 238000000034 method Methods 0.000 title claims abstract description 83
- 239000011159 matrix material Substances 0.000 claims description 143
- 239000012634 fragment Substances 0.000 claims description 31
- 230000001186 cumulative effect Effects 0.000 claims description 30
- 238000012417 linear regression Methods 0.000 claims description 3
- 210000001503 joint Anatomy 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 29
- 238000012545 processing Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 25
- 238000003860 storage Methods 0.000 description 23
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 13
- 239000013598 vector Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000011478 gradient descent method Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6263—Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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)中分别包含有第一训练数据和第二训练数据。其中,第一训练数据是指包含样本标签的训练数据;第二训练数据是初始时无标签的训练数据。具体地,第一终端和第二终端持有的训练数据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两方联合训练的模型包括第一模型和第二模型。其中,第一模型可以看做初始模型;第二模型是基于第一模型进行训练得到。
第二模型包括模型参数矩阵Wa以及Wb,也分别由第一终端和第二终端持有。Wa以及Wb分别对应于第一终端的p维特征以及第二终端的q维特征。因此,第二模型参数矩阵Wa、Wb分别是一个p行1列的矩阵、q行1列的矩阵。
在一些实施例中,样本标签由A和B的其中一方持有,但另一方持有不会产生实质的影响。在本说明书的表示中,样本标签是一个对应于第一训练数据的向量,由B持有。在本说明的实施例中,样本标签是一个m1行1列的列向量。
在一些实施例中,第一终端训练数据Xa与第二终端训练数据Xb中还可以包括预测标签。所述预测标签是基于模型参数进行预测后生成的标签,对应于初始无标签的第二训练数据。在一些实施例中,预测标签可以被A和B的其中一方持有,如被B持有。在一些实施例中,预测标签也可以基于秘密共享的方式拆分为第一预测标签和第二预测标签,并被第一终端和第二终端分别持有并更新。由于预测标签是一个m2行1列的列向量,因此拆分得到的第一预测标签和第二预测标签均为m2行1列的列向量。
下面结合图2中的方法200对基于隐私保护的方式获取联合训练模型方法进行示例性说明。
步骤210,基于含样本标签的所述第一训练数据通过隐私保护的方式与所述参与方中的第二终端联合训练第一模型。在一些实施例中,步骤210由第一模型获取模块执行。
在一些实施例中,可以由第一终端训练数据Xa和第二终端训练数据Xb中的第一训练数据(即Xa1和Xb1)通过隐私保护的方法联合训练得到的第一模型。第一模型包括和两个参数矩阵,分别存储在第一终端和第二终端上。在本说明的约定中,和分别为p行1列的矩阵、q行1列的矩阵。
在一些实施例中,采用隐私保护的方式进行联合训练是指各终端采用隐私保护的方式共享自身持有的训练数据,进而获得统一的数据模型(如第一模型),其中训练数据可以包括特征和标签,也可以只包括特征。在此过程中,各终端的训练数据参与模型的训练过程,并得到各自拥有的模型参数,但各自拥有的训练数据和得到的模型参数均不会被窃取或泄露给对方。例如,第一模型获取模块通过隐私保护的方式获取第二终端中带有样本标签的训练数据Xb1,并联合训练数据Xa1进行联合训练模型,获得第一模型第一参数矩阵。在一些实施例中,所述隐私保护的方式包括但不限于秘密分享、安全矩阵乘法、同态加密等方法及其任意组合。有关基于隐私保护的方法进行联合训练以得到第一模型和可参见图3的相应描述,在此不再赘述。
步骤220,将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签。在一些实施例中,终端各自持有的第二训练数据对对方保密,隐私保护的可以是双方各自持有的训练数据以及根据训练数据以及各自的模型参数得到的预测标签。
在一些实施例中,步骤220可以由预测标签获取模块执行。
在本说明书的约定中,第一预测标签可以基于以下公式计算:
同样的,第二终端基于初始模型对Xb2进行预测,获取第二预测标签。例如,基于获得第二预测标签。可以验证,由于是一个q行1列的矩阵,Xb2是m2行q列的矩阵,所得的第二预测标签是一个m2行1列的向量。第一终端和第二终端预测得到的样本标签由各终端持有,可以提高训练数据的安全性。
需要说明的是,本说明书实施例是以两方终端为例进行说明。事实上,本说明书的实施例可以推至多方(如k方)。在该场景的实施例中,k方终端可以基于隐私保护的方式将预测标签采用隐私保护的方式进行加和,得到预测标签。预测标签可以由任意一个终端持有(如第i方)。例如,用公私钥加密的方法对预测标签进行加密。又例如,采用秘密分享的方法对预测标签进行加密。
以秘密分享为例,第i个终端可以将自身的预测标签(可以表示为矩阵形式)进行拆分,得到多个(如k个)矩阵分片。仅作为示例,第i终端将预测标签拆分得到的k个同维的矩阵分片,各矩阵分片对应元素的求和结果等于预测标签中的对应元素。第i终端保留一个矩阵分片,并将其他k-1个矩阵分片发送给其他终端;同时获得来自其他终端的k-1个预测标签的矩阵分片,再基于自身的保留矩阵分片与来自其他终端的矩阵分片按照事先约定好的顺序进行拼接得到密文形式的拼接矩阵分片,如按照训练成员序号将不同训练成员的矩阵分片从上到下拼接,或从左到右拼接。最后,对所有各方持有的各拼接矩阵分片按位求和后,便可得到预测标签。
需要说明的是,步骤220实际上可以理解为一个预测标签初始化过程,相当于第一终端和第二终端基于初始模型(即第一模型)和生成训练数据中第二训练数据的预测标签和初始值的过程。在步骤220之前,A、B两个终端所持有的第二训练数据是不具有预测标签的训练数据。
步骤230,基于含样本标签的第一训练数据以及含预测标签的第二训练数据通过隐私保护的方式与所述第二终端联合训练模型,获取第二模型。在一些实施例中,步骤230由第二模型获取模块执行。
第二模型获取模块基于步骤220获取到第一预测标签,更新包含第一预测标签的训练数据Xa。进一步地,第二模型获取模块通过隐私保护的方式获取第二终端中带有第二预测标签的训练数据Xb,并联合训练数据Xa进行联合训练模型,获得第二模型第一参数矩阵Wa。例如,第一终端可以基于隐私保护的方式获取训练数据Xb并进行前向传播,计算得到损失函数,进而利用反向传播算法得到梯度信息。其中,反向传播是指误差通过输出层,向隐层、输入层逐层反传,依次确定各层的模型参数的修正值(或梯度)。最后,基于梯度信息获得第二模型第一参数矩阵Wa。相类似地,第二终端可以基于联合训练模型,获得第二模型第二参数矩阵Wb。有关梯度计算、前向传播的更多说明可参见图4、5的相应描述,在此不再赘述。
在一些实施例中,第二模型迭代更新模块还可以对第二模型进行迭代训练,即执行步骤240的过程。在一些实施例中,步骤240可以由第二模型迭代更新模块执行。
在一些实施例中,第二模型迭代更新模块可以基于上一轮迭代所得的第二模型Wa更新第一预测标签。具体地,第二模型迭代更新模块可以基于第一参数矩阵Wa获取整个第一终端训练数据Xa对应的计算结果,并基于计算结果更新第一预测标签对应的部分。
在一些实施例中,第二模型迭代更新模块采用所得的计算结果更新第一终端训练数据中的预测标签。换言之,计算结果ya只更新第一预测标签对应的m2个标签值,对于具有标签的标签值不进行更新。类似的,对于第二终端,所得的计算结果也仅更新第二预测标签对应的标签值。
基于获得的预测标签、重新更新第一终端训练数据以及第二终端训练数据;进而基于更新后的第一终端训练数据和第二终端训练数据采用隐私保护的方式重新训练第二模型,如此反复直至模型迭代完成。有关基于隐私保护的方式迭代更新第二模型的更多说明可参见图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(其中,),并用Pka加密,得到[Ua]a,并将计算结果发送给B。同理,B方计算Ub,(其中,),得到[Ub]a。由此得到的Ua、[Ua]a、Ub、[Ub]a、都是一个m1行1列的矩阵。
步骤320,B计算加密损失值。
拥有两方加密累计值的第二方将两方加密数据利用加法加和。由于加密算法是同态加密算法,因此加和后的值等于双方未加密数据求和后的加密值。加密损失值的计算公式可参见图4的相应描述,此处不再赘述。
在本说明书约定的表示中,
由此计算得到的加密损失值[E]a是一个m行1列的矩阵。
步骤330,B计算第二加密梯度矩阵。
第二方将加密损失值代入梯度下降公式,即将加密损失值与自方的特征对应的数据做积运算,计算得到第二加密梯度矩阵。
步骤340,B将第二加密梯度矩阵发给A解密。
第二方在第二加密梯度矩阵加上用第一方公钥加密的第一掩码,并发给第一方,第一方对所接收的加密数据用己方私钥解密。其中,第一掩码是第二方设定的数值,主要目的是防止A获知解密后的第二梯度矩阵。对于第一掩码具体数值的设定范围,本说明书不做限定,只要能满足上述目的即可。
在本说明书约定的表示中,B方计算[Gb]a+[mask1]a,并发给A方。
在本实施例中,mask1为第一掩码,与第二梯度矩阵Gb维度相同,因此Gb+mask1也是一个q行1列的矩阵。
步骤350,B基于第二梯度矩阵更新第一模型。
以上实施例是以第二终端B为例进行的示例性说明。同理,对于第一终端A,A将加密后的第一加密梯度发送给B解密,得到第一梯度矩阵。将所述第一梯度矩阵与learning_rate做积运算,更新第一模型。即A方计算。
上述过程说明了一次梯度下降过程,可迭代这一过程直至收敛,完成第一模型的训练。在这一过程中,双方均无法获知另一方所持有的数据。
需要说明的是,方法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所述得到的已完成训练的第一模型和。采用第一模型和计算累计值[U1]a和[U2]a相当于迭代第二模型过程中的初始化过程,已生成第二模型初始值。在多轮迭代计算中的其他轮计算中,Wa和Wb则为上一轮计算时的模型参数。
在一些实施例中,第一终端可以采用添加第一掩码的方式基于将累计值U1发送给第二终端。在该场景的实施例中,所述第一加密累计值可以理解为第一累计值与第一掩码的运算结果。在一些实施中,所述运算可以包括积运算或和运算;所述第一掩码也可以包括一个值,也可以包括多个值。例如,所述第一掩码mask1为一个值,所述运算为和运算,那么对应的第一加密累计值可以为U1+mask1。又例如,所述第一掩码mask1为一个矩阵,所述运算为积运算,那么对应的第一加密累计值可以为U1*mask1。
步骤420,第二终端基于第二加密累计值U2更新第二加密损失值E2。
在计算损失值时,可以使用Taylor展开式来近似计算Sigmoid函数。由于Taylor展开式是多项式的加法和乘法运算,可以支持同态加密,因此可以通过Taylor展开式,在加密状态下计算得到近似的损失值。
为简化计算,在一些实施例中,常常使用一定阶数的Taylor展开式进行近似计算。需要说明的是,使用的Taylor展开式的阶数越多,其近似计算的精度越高,但计算过程越复杂,计算速度越慢。为进行说明,在图4所示的一个或多个实施例中,以一阶泰勒展开式为例进行示例性说明,以下详细披露仅仅作为示例,并不构成对本说明书的限定。
在其他实施例中,也可以采用其他可近似的函数来替代Sigmoid函数,或者也可以采用其他展开公式来对Sigmoid进行展开来替代Sigmoid函数,只要所述的替代函数支持积运算和/或和运算,本说明书不做其他任何限制。
在一些实施例中,当第二终端获得基于同态加密后的第一加密累计值[U1]a时,第二加密损失值[E2]可以基于以下公式进行计算。
在一些实施例中,第一终端可以采用添加第一掩码的方式基于将累计值U1发送给第二终端时。第二加密损失值[E2]也可以基于上述公式进行计算。仅需将第一掩码mask1带入计算即可。
步骤430,第二终端基于第二加密损失值[E2]更新第二加密梯度矩阵。
第二终端基于误差值以及第二终端训练数据Xb计算对应的的第二加密梯度矩阵。
具体地,当第二加密损失值[E2]采用同态加密的方法进行加密时,第二加密梯度可以按照如下公式进行计算:
当第二加密损失值E2采用第一掩码进行加密时,第二加密梯度可以按照如下公式进行计算:
步骤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的第二分片。
在一些实施例中,可以基于秘密分享的方法将预测标签以及样本标签拆分为第一标签和第二标签;第一标签和所述第二标签分别存储在所述第一终端与所述第二终端上。在一些实施例中,第一标签可以理解为是第一预测标签与样本标签的一部分的向量拼接;第二标签可以理解为第二预测标签与样本标签另一部分的向量拼接。在一些实施例中,可以将样本标签整体与第一预测标签以及第二预测标签分别组合,得到第一预测标签以及第二预测标签。
步骤510,对参数矩阵Wa和Wb进行秘密分享。
第一终端将第一终端训练数据中第一训练数据对应的待训练模型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的相关说明。
步骤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模型重构以获得最终确定的第二模型。
迭代训练完成后,第一终端A将其迭代维护的第二参数第一分片<Wa>1发送给第二终端;第二终端B将其迭代维护的第一参数第二分片<Wa>2发送给第二终端;重构后得到训练好的第二模型Wa和Wb,并输出最后确定的预测标签和。
本说明书实施例可能带来的有益效果包括但不限于:(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 (15)
1.一种基于隐私保护的方式获取联合训练模型的方法,所述方法由参与方中的第一终端实现;其中,所述参与方包括第一终端与第二终端,分别持有水平或者垂直切分的训练数据,所述训练数据包括含样本标签的第一训练数据以及不含样本标签的第二训练数据;
所述方法包括:
基于含样本标签的所述第一训练数据通过隐私保护的方式与所述参与方中的第二终端联合训练第一模型;
将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签;
基于含样本标签的第一训练数据以及含预测标签的第二训练数据通过隐私保护的方式与所述第二终端联合训练模型,获得第二模型。
2.根据权利要求1所述的方法,所述方法还包括迭代训练第二模型,其中每轮迭代包括:
基于上一轮迭代计算的第二模型更新预测标签;
基于含样本标签的第一训练数据与含更新后预测标签的第二训练数据通过隐私保护的方式与所述第二终端联合训练模型,更新第二模型;
基于更新后的第二模型确定进行下一轮迭代,或者确定第二模型。
3.根据权利要求2所述的方法,所述第二模型包括第一参数矩阵和第二参数矩阵,所述第一参数矩阵与所述第二参数矩阵分别存储在所述第一终端与所述第二终端;所述迭代更新第二模型,还包括:
基于所述第一参数矩阵与所述第二参数矩阵采用隐私保护的方式进行联合训练,得到第一加密累计值与第二加密累计值;所述第一加密累计值与所述第二加密累计值分别存储在所述参与方的两个终端上;
基于所述第一加密累计值计算第一加密梯度矩阵;
基于第一加密梯度矩阵更新所述第一参数矩阵。
4.根据权利要求3所述的方法,所述基于所述第一加密累计值计算第一加密梯度矩阵,还包括:
接收来自所述第二终端的第二加密累计值;
基于所述第一加密累计值、所述第二加密累计值以及第一终端持有的训练数据计算第一加密梯度矩阵。
5.根据权利要求3所述的方法,所述基于第一加密梯度矩阵更新所述第一参数矩阵,还包括:
所述第一加密梯度矩阵发送给第二终端进行解密,获取解密后的第一梯度矩阵;
基于所述解密后的第一梯度矩阵更新所述第一参数矩阵。
6.根据权利要求3所述的方法,所述基于所述第一加密累计值计算第一加密梯度矩阵,还包括:
基于秘密分享的方法将预测标签以及样本标签拆分为第一标签和第二标签;所述第一标签和所述第二标签分别存储在所述第一终端与所述第二终端上;
基于所述第一标签与所述第一加密累计值进行计算,得到第一误差;
基于所述第一误差和第一终端持有的训练数据计算第一加密梯度矩阵第一部分;
将所述第一终端持有的训练数据与所述第二终端中的第二误差进行安全矩阵乘法,得到第一加密梯度第二部分的第一分片;并从第二终端获取第一加密梯度第二部分的第二分片;
根据所述第一加密梯度第一部分和所述第一加密梯度第二部分的第一分片以及第二终端持有的第二加密梯度第二部分的第二分片,计算第一加密梯度矩阵。
7.根据权利要求1所述的方法,所述联合训练模型包括线性回归模型。
8.一种基于隐私保护的方式获取联合训练模型的***,所述***由参与方中的第一终端实现;其中,所述参与方包括第一终端与第二终端,分别持有水平或者垂直切分的训练数据,所述训练数据包括含样本标签的第一训练数据以及不含样本标签的第二训练数据;所述***包括:
第一模型获取模块:用于基于含样本标签的所述第一训练数据通过隐私保护的方式与所述第二终端联合训练第一模型;
预测标签获取模块:用于将不含标签的第二训练数据通过隐私保护的方式输入训练好的所述第一模型得到第二训练数据的预测标签;
第二模型获取模块:用于基于含样本标签的第一训练数据以及含预测标签的第二训练数据通过隐私保护的方式与第二终端联合训练模型,获取第二模型。
9.根据权利要求8所述的***,所述***还包括第二模型迭代更新模块,所述第二模型迭代更新模块用于:
基于上一轮迭代计算的第二模型更新预测标签;
基于含样本标签的第一训练数据与含更新后预测标签的第二训练数据通过隐私保护的方式与第二终端联合训练模型,更新第二模型;
基于更新后的第二模型确定进行下一轮迭代,或者确定第二模型。
10.根据权利要求9所述的***,所述第二模型包括第一参数矩阵和第二参数矩阵,所述第一参数矩阵与所述第二参数矩阵分别存储在所述第一终端与所述第二终端;所述第二模型迭代更新模块还用于:
基于所述第一参数矩阵与所述第二终端的第二参数矩阵采用隐私保护的方式进行联合训练,得到第一加密累计值与第二加密累计值;所述第一加密累计值与所述第二加密累计值分别存储在所述第一终端与所述第二终端上;
基于所述第一加密累计值计算第一加密梯度矩阵;
基于第一加密梯度矩阵更新所述第一参数矩阵。
11.根据权利要求10所述的***,所述第二模型迭代更新模块还用于:
接收来自所述第二终端的第二加密累计值;
基于所述第一加密累计值、所述第二加密累计值以及第一终端持有的训练数据计算第一加密梯度矩阵。
12.根据权利要求10所述的***,所述第二模型迭代更新模块还用于:
所述第一加密梯度矩阵发送给第二终端进行解密,获取解密后的第一梯度矩阵;
基于所述解密后的第一梯度矩阵更新所述第一参数矩阵。
13.根据权利要求10所述的***,所述第二模型迭代更新模块还用于:
基于秘密分享的***将预测标签以及样本标签拆分为第一标签和第二标签;所述第一标签和所述第二标签分别存储在所述第一终端与所述第二终端上;
基于所述第一标签与所述第一加密累计值进行计算,得到第一误差;
基于所述第一误差和第一终端持有的训练数据计算第一加密梯度矩阵第一部分;
将所述第一终端持有的训练数据与所述第二终端中的第二误差进行安全矩阵乘法,得到第一加密梯度第二部分的第一分片;并从第二终端获取第一加密梯度第二部分的第二分片;
根据所述第一加密梯度第一部分和所述第一加密梯度第二部分的第一分片以及第二终端持有的第二加密梯度第二部分的第二分片,计算第一加密梯度矩阵。
14.根据权利要求8所述的***,所述联合训练模型包括线性回归模型。
15.一种基于隐私保护的方式获取联合训练模型的装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现如权利要求1至7中任一项所述基于隐私保护的方式获取联合训练模型的操作。
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 true CN111931216A (zh) | 2020-11-13 |
CN111931216B 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) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529101A (zh) * | 2020-12-24 | 2021-03-19 | 深圳前海微众银行股份有限公司 | 分类模型的训练方法、装置、电子设备及存储介质 |
CN112561085A (zh) * | 2021-02-20 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 一种基于多方安全计算的多分类模型训练方法和*** |
CN113239391A (zh) * | 2021-07-13 | 2021-08-10 | 深圳市洞见智慧科技有限公司 | 一种无第三方的逻辑回归联邦学习模型训练***及方法 |
CN113434878A (zh) * | 2021-06-25 | 2021-09-24 | 平安科技(深圳)有限公司 | 基于联邦学习的建模及应用方法、装置、设备及存储介质 |
CN113722744A (zh) * | 2021-09-15 | 2021-11-30 | 京东科技信息技术有限公司 | 用于联邦特征工程的数据处理方法、装置、设备以及介质 |
CN114386336A (zh) * | 2022-03-22 | 2022-04-22 | 成都飞机工业(集团)有限责任公司 | 一种基于多方3d打印数据库联合训练的方法 |
CN114638376A (zh) * | 2022-03-25 | 2022-06-17 | 支付宝(杭州)信息技术有限公司 | 一种复合样本场景中的多方联合模型训练方法及装置 |
CN115238826A (zh) * | 2022-09-15 | 2022-10-25 | 支付宝(杭州)信息技术有限公司 | 一种模型训练的方法、装置、存储介质及电子设备 |
WO2022239201A1 (ja) * | 2021-05-13 | 2022-11-17 | 日本電気株式会社 | 推論装置、学習装置、機械学習システム、推論方法、学習方法、及びコンピュータ可読媒体 |
WO2022239200A1 (ja) * | 2021-05-13 | 2022-11-17 | 日本電気株式会社 | 学習装置、推論装置、学習方法、及びコンピュータ可読媒体 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018174873A1 (en) * | 2017-03-22 | 2018-09-27 | Visa International Service Association | Privacy-preserving machine learning |
US20230325718A1 (en) * | 2022-04-02 | 2023-10-12 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method and apparatus for joint training logistic regression model |
CN114723069A (zh) * | 2022-04-15 | 2022-07-08 | 支付宝(杭州)信息技术有限公司 | 参数更新方法、装置和电子设备 |
CN115544580B (zh) * | 2022-11-29 | 2023-04-07 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的两方联合训练预测模型的方法及装置 |
CN118233329A (zh) * | 2022-12-21 | 2024-06-21 | 维沃软件技术有限公司 | Ai网络模型确定方法、信息传输方法、装置和通信设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002861A (zh) * | 2018-08-10 | 2018-12-14 | 深圳前海微众银行股份有限公司 | 联邦建模方法、设备及存储介质 |
CN110633805A (zh) * | 2019-09-26 | 2019-12-31 | 深圳前海微众银行股份有限公司 | 纵向联邦学习***优化方法、装置、设备及可读存储介质 |
CN111125735A (zh) * | 2019-12-20 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私数据进行模型训练的方法及*** |
CN111160573A (zh) * | 2020-04-01 | 2020-05-15 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111241570A (zh) * | 2020-04-24 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111340242A (zh) * | 2020-05-15 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 保护隐私的模型联合训练方法及装置 |
CN111368196A (zh) * | 2020-03-03 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 模型参数的更新方法、装置、设备及可读存储介质 |
CN111461309A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 实现隐私保护的更新强化学习***的方法及装置 |
CN111582505A (zh) * | 2020-05-14 | 2020-08-25 | 深圳前海微众银行股份有限公司 | 联邦建模方法、装置、设备及计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170132528A1 (en) * | 2015-11-06 | 2017-05-11 | Microsoft Technology Licensing, Llc | Joint model training |
WO2018174873A1 (en) * | 2017-03-22 | 2018-09-27 | Visa International Service Association | Privacy-preserving machine learning |
US11302424B2 (en) * | 2019-01-24 | 2022-04-12 | International Business Machines Corporation | Predicting clinical trial eligibility based on cohort trends |
US20210303725A1 (en) * | 2020-03-30 | 2021-09-30 | Google Llc | Partially customized machine learning models for data de-identification |
-
2020
- 2020-09-16 CN CN202010974956.7A patent/CN111931216B/zh active Active
-
2021
- 2021-06-22 US US17/354,982 patent/US11270028B1/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109002861A (zh) * | 2018-08-10 | 2018-12-14 | 深圳前海微众银行股份有限公司 | 联邦建模方法、设备及存储介质 |
CN110633805A (zh) * | 2019-09-26 | 2019-12-31 | 深圳前海微众银行股份有限公司 | 纵向联邦学习***优化方法、装置、设备及可读存储介质 |
CN111125735A (zh) * | 2019-12-20 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私数据进行模型训练的方法及*** |
CN111368196A (zh) * | 2020-03-03 | 2020-07-03 | 深圳前海微众银行股份有限公司 | 模型参数的更新方法、装置、设备及可读存储介质 |
CN111160573A (zh) * | 2020-04-01 | 2020-05-15 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111461309A (zh) * | 2020-04-17 | 2020-07-28 | 支付宝(杭州)信息技术有限公司 | 实现隐私保护的更新强化学习***的方法及装置 |
CN111241570A (zh) * | 2020-04-24 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111582505A (zh) * | 2020-05-14 | 2020-08-25 | 深圳前海微众银行股份有限公司 | 联邦建模方法、装置、设备及计算机可读存储介质 |
CN111340242A (zh) * | 2020-05-15 | 2020-06-26 | 支付宝(杭州)信息技术有限公司 | 保护隐私的模型联合训练方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529101A (zh) * | 2020-12-24 | 2021-03-19 | 深圳前海微众银行股份有限公司 | 分类模型的训练方法、装置、电子设备及存储介质 |
CN112529101B (zh) * | 2020-12-24 | 2024-05-14 | 深圳前海微众银行股份有限公司 | 分类模型的训练方法、装置、电子设备及存储介质 |
CN112561085A (zh) * | 2021-02-20 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 一种基于多方安全计算的多分类模型训练方法和*** |
CN112561085B (zh) * | 2021-02-20 | 2021-05-18 | 支付宝(杭州)信息技术有限公司 | 一种基于多方安全计算的多分类模型训练方法和*** |
WO2022239201A1 (ja) * | 2021-05-13 | 2022-11-17 | 日本電気株式会社 | 推論装置、学習装置、機械学習システム、推論方法、学習方法、及びコンピュータ可読媒体 |
WO2022239200A1 (ja) * | 2021-05-13 | 2022-11-17 | 日本電気株式会社 | 学習装置、推論装置、学習方法、及びコンピュータ可読媒体 |
CN113434878A (zh) * | 2021-06-25 | 2021-09-24 | 平安科技(深圳)有限公司 | 基于联邦学习的建模及应用方法、装置、设备及存储介质 |
CN113239391A (zh) * | 2021-07-13 | 2021-08-10 | 深圳市洞见智慧科技有限公司 | 一种无第三方的逻辑回归联邦学习模型训练***及方法 |
CN113239391B (zh) * | 2021-07-13 | 2023-01-10 | 深圳市洞见智慧科技有限公司 | 一种无第三方的逻辑回归联邦学习模型训练***及方法 |
CN113722744A (zh) * | 2021-09-15 | 2021-11-30 | 京东科技信息技术有限公司 | 用于联邦特征工程的数据处理方法、装置、设备以及介质 |
CN114386336A (zh) * | 2022-03-22 | 2022-04-22 | 成都飞机工业(集团)有限责任公司 | 一种基于多方3d打印数据库联合训练的方法 |
CN114638376A (zh) * | 2022-03-25 | 2022-06-17 | 支付宝(杭州)信息技术有限公司 | 一种复合样本场景中的多方联合模型训练方法及装置 |
CN114638376B (zh) * | 2022-03-25 | 2024-06-04 | 支付宝(杭州)信息技术有限公司 | 一种复合样本场景中的多方联合模型训练方法及装置 |
CN115238826A (zh) * | 2022-09-15 | 2022-10-25 | 支付宝(杭州)信息技术有限公司 | 一种模型训练的方法、装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111931216B (zh) | 2021-03-30 |
US20220083690A1 (en) | 2022-03-17 |
US11270028B1 (en) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111931216B (zh) | 一种基于隐私保护的方式获取联合训练模型的方法及*** | |
CN111125735B (zh) | 一种基于隐私数据进行模型训练的方法及*** | |
CN111178547B (zh) | 一种基于隐私数据进行模型训练的方法及*** | |
Bonte et al. | Privacy-preserving logistic regression training | |
CN111931950B (zh) | 一种基于联邦学习进行模型参数更新的方法及*** | |
Al Badawi et al. | Privft: Private and fast text classification with homomorphic encryption | |
CN109002861B (zh) | 联邦建模方法、设备及存储介质 | |
JP6921233B2 (ja) | 秘密分散を使用したロジスティック回帰モデリング方式 | |
CN111143878B (zh) | 一种基于隐私数据进行模型训练的方法及*** | |
CN111143894B (zh) | 一种提升安全多方计算效率的方法及*** | |
CN113011587B (zh) | 一种隐私保护的模型训练方法和*** | |
EP3203679A1 (en) | Machine learning based on homomorphic encryption | |
WO2018102861A1 (en) | Secure text analytics | |
CN112766514B (zh) | 一种联合训练机器学习模型的方法、***及装置 | |
CN113221153B (zh) | 图神经网络训练方法、装置、计算设备及存储介质 | |
Paul et al. | Privacy-preserving collective learning with homomorphic encryption | |
CN111079947B (zh) | 一种基于可选隐私数据进行模型训练的方法及*** | |
JP6977882B2 (ja) | 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム | |
CN117034307A (zh) | 数据加密方法、装置、计算机设备和存储介质 | |
WO2023100720A1 (ja) | 機械学習装置、機械学習システム、機械学習方法、および機械学習プログラム | |
CN111062492B (zh) | 一种基于可选隐私数据进行模型训练的方法及*** | |
CN111931947B (zh) | 一种用于分布式模型训练的训练样本重组方法及*** | |
Schmid et al. | Towards Private Deep Learning-Based Side-Channel Analysis Using Homomorphic Encryption: Opportunities and Limitations | |
EP4304129A1 (en) | Computer-implemented method for providing an encrypted global model trained by federated learning, computer program and providing system | |
Zhang et al. | EPoLORE: Efficient and Privacy Preserved Logistic Regression Scheme |
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 |