CN115169574A - 一种模型训练方法和多方安全计算系统 - Google Patents

一种模型训练方法和多方安全计算系统 Download PDF

Info

Publication number
CN115169574A
CN115169574A CN202210645371.XA CN202210645371A CN115169574A CN 115169574 A CN115169574 A CN 115169574A CN 202210645371 A CN202210645371 A CN 202210645371A CN 115169574 A CN115169574 A CN 115169574A
Authority
CN
China
Prior art keywords
matrix
data
ciphertext
party
computing platform
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.)
Pending
Application number
CN202210645371.XA
Other languages
English (en)
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.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing 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 Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN202210645371.XA priority Critical patent/CN115169574A/zh
Publication of CN115169574A publication Critical patent/CN115169574A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Complex Calculations (AREA)

Abstract

本发明实施例提供了一种模型训练方法和多方安全计算系统。其中的方法包括:主动方根据样本数据子集X1计算第一矩阵Z,并经由密文计算平台发送至每个被动方;主动方计算第二矩阵
Figure DDA0003685691960000011
并发送至密文计算平台;第i‑1个被动方根据样本数据子集Xi和第一矩阵Z,计算第三矩阵
Figure DDA0003685691960000012
并发送至密文计算平台;密文计算平台计算第i‑1个被动方的模型参数wi并发送至第i‑1个被动方;第i‑1个被动方计算第四矩阵
Figure DDA0003685691960000013
并发送至密文计算平台;密文计算平台对第四矩阵
Figure DDA0003685691960000014
进行合并,得到合并矩阵
Figure DDA0003685691960000015
发送至主动方;主动方根据样本数据子集X1和合并矩阵
Figure DDA0003685691960000016
计算其模型参数w1。本发明实施例可以提高多方联合训练线性回归模型的效率。

Description

一种模型训练方法和多方安全计算系统
技术领域
本发明涉及多方安全计算领域,尤其涉及一种模型训练方法和多方安全计算系统。
背景技术
机器学习是近十年来人工智能领域取得的最重要的突破之一。它在语音识别、自然语言处理、计算机视觉、图像与视频分析、多媒体等诸多领域都取得了巨大成功。
线性回归模型是一种确定变量之间的相关关系的数学回归模型。其中,可以根据训练数据求解线性回归模型的模型参数,从而训练得到线性回归模型。
当训练模型的训练数据来自于不同的数据提供方时,需要融合多方的数据来求解线性回归模型,在融合多方数据的过程中,直接收集原始数据进行中心化地求解面临数据安全和隐私泄露的风险。如果基于密文计算的方式训练线性回归模型,虽然可以保护数据的隐私安全,但是随着训练数据的规模增大,需要消耗大量的计算开销、存储开销、以及通信开销,无法适用于大规模的机器学习场景。
发明内容
本发明实施例提供一种模型训练方法和多方安全计算系统,可以提高多方联合训练线性回归模型的效率,并且扩大线性回归模型的规模。
为了解决上述问题,本发明实施例公开了一种模型训练方法,所述方法应用于多方安全计算系统,所述多方安全计算系统包括密文计算平台和k个数据提供方,k为大于1的整数,k个数据提供方包括1个主动方和k-1个被动方,所述方法适用于训练线性回归模型所依赖的样本数据集纵向分布在k个数据提供方的场景,所述样本数据集为
Figure BDA0003685691940000011
m为样本个数,n为样本的特征个数,k个数据提供方各自持有的样本数据子集分别为:
Figure BDA0003685691940000012
Figure BDA0003685691940000021
n=n1+n2+…+nk,所述样本数据集对应的数据标签由所述主动方持有,所述数据标签为
Figure BDA0003685691940000022
所述方法包括:
所述主动方根据持有的样本数据子集X1,计算第一矩阵Z=UE,并将所述第一矩阵Z经由所述密文计算平台发送至每个被动方,其中,
Figure BDA0003685691940000023
Figure BDA0003685691940000024
In为单位矩阵,U为对所述样本数据子集X1进行奇异值分解得到的由左奇异向量构成的矩阵;
所述主动方根据所述第一矩阵Z和持有的数据标签Y,计算第二矩阵
Figure BDA0003685691940000025
并将所述第二矩阵
Figure BDA0003685691940000026
发送至所述密文计算平台;
第i-1个被动方根据持有的样本数据子集Xi和接收到的第一矩阵Z,计算第三矩阵
Figure BDA0003685691940000027
并将所述第三矩阵
Figure BDA0003685691940000028
发送至所述密文计算平台,i的取值为2~k;
所述密文计算平台根据接收到的第二矩阵
Figure BDA0003685691940000029
和第三矩阵
Figure BDA00036856919400000210
计算第i-1个被动方的模型参数wi,并将所述第i-1个被动方的模型参数wi发送至第i-1个被动方;
第i-1个被动方根据持有的样本数据子集Xi和接收到的模型参数wi,计算第四矩阵
Figure BDA00036856919400000211
并将所述第四矩阵
Figure BDA00036856919400000212
发送至所述密文计算平台;
所述密文计算平台对接收到的第四矩阵
Figure BDA00036856919400000213
进行合并,得到合并矩阵
Figure BDA00036856919400000214
并将所述合并矩阵
Figure BDA00036856919400000215
发送至所述主动方;
所述主动方根据持有的样本数据子集X1和接收到的合并矩阵
Figure BDA00036856919400000216
计算所述主动方的模型参数
Figure BDA00036856919400000217
另一方面,本发明实施例公开了一种多方安全计算系统,所述多方安全计算系统包括密文计算平台和k个数据提供方,k为大于1的整数,k个数据提供方包括1个主动方和k-1个被动方,所述多方安全计算系统适用于训练线性回归模型所依赖的样本数据集纵向分布在k个数据提供方的场景,所述样本数据集为
Figure BDA00036856919400000218
m为样本个数,n为样本的特征个数,k个数据提供方各自持有的样本数据子集分别为:
Figure BDA00036856919400000219
Figure BDA00036856919400000220
n=n1+n2+…+nk,所述样本数据集对应的数据标签由所述主动方持有,所述数据标签为
Figure BDA00036856919400000221
其中,
所述主动方,用于根据持有的样本数据子集X1,计算第一矩阵Z=UE,并将所述第一矩阵Z经由所述密文计算平台发送至每个被动方,其中,
Figure BDA0003685691940000031
Figure BDA0003685691940000032
In为单位矩阵,U为对所述样本数据子集X1进行奇异值分解得到的由左奇异向量构成的矩阵;
所述主动方,还用于根据所述第一矩阵Z和持有的数据标签Y,计算第二矩阵
Figure BDA0003685691940000033
并将所述第二矩阵
Figure BDA0003685691940000034
发送至所述密文计算平台;
所述被动方中的第i-1个被动方,用于根据持有的样本数据子集Xi和接收到的第一矩阵Z,计算第三矩阵
Figure BDA0003685691940000035
并将所述第三矩阵
Figure BDA0003685691940000036
发送至所述密文计算平台,i的取值为2~k;
所述密文计算平台,用于根据接收到的第二矩阵
Figure BDA0003685691940000037
和第三矩阵
Figure BDA0003685691940000038
计算第i-1个被动方的模型参数wi,并将所述第i-1个被动方的模型参数wi发送至第i-1个被动方;
所述第i-1个被动方,还用于根据持有的样本数据子集Xi和接收到的模型参数wi,计算第四矩阵
Figure BDA0003685691940000039
并将所述第四矩阵
Figure BDA00036856919400000310
发送至所述密文计算平台;
所述密文计算平台,还用于对接收到的第四矩阵
Figure BDA00036856919400000311
进行合并,得到合并矩阵
Figure BDA00036856919400000312
并将所述合并矩阵
Figure BDA00036856919400000313
发送至所述主动方;
所述主动方,还用于根据持有的样本数据子集X1和接收到的合并矩阵
Figure BDA00036856919400000314
计算所述主动方的模型参数
Figure BDA00036856919400000315
再一方面,本发明实施例公开了一种用于模型训练的装置,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如前述一个或多个所述的模型训练方法的指令。
又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的模型训练方法。
本发明实施例包括以下优点:
本发明实施例对线性回归模型的训练过程进行改进,通过主动方对其持有的样本数据子集X1进行奇异值分解,根据奇异值分解的结果计算大小为m*n的第一矩阵,使得整个训练过程中,计算矩阵的规模由m*m降低至m*n。其中,m为样本个数,n为特征个数,在实际应用中,特征个数n通常远小于样本个数m。例如,样本数据集包括100万条银行的样本数据,特征个数最多只有几十个或几百个。本发明实施例将训练线性回归模型的空间复杂度从m*m降低至m*n,极大降低了空间复杂度,进而可以减少计算开销和通信开销,提高计算效率,从而提高多方联合训练线性回归模型的效率,并且扩大线性回归模型的规模。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种模型训练方法实施例的步骤流程图;
图2是本发明的一种多方安全计算系统200实施例的结构框图;
图3是本发明的一种用于模型训练的装置800的框图;
图4是本发明的一些实施例中服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
本发明实施例提供了一种模型训练方法,可以用于训练线性回归模型。所述线性回归模型可以是一元线性回归模型,也可以是多元线性回归模型;此外,所述线性回归模型可以是包括常数项的线性回归模型,也可以是不包括常数项的线性回归模型,本发明实施例对此不作限制。
本发明实施例的模型训练方法可以适用于训练线性回归模型所依赖的样本数据集纵向分布在多个数据提供方的场景。假设训练线性回归模型所依赖的样本数据集纵向分布在k个数据提供方,k为大于1的整数,换而言之,k个数据提供方本地各自持有训练线性回归模型所依赖的样本数据集的部分数据,可以看做是对训练线性回归模型所依赖的样本数据集进行纵向切分后得到的数据子集。进一步地,所述k个数据提供方各自持有的样本数据子集是相同的样本数据集在不同特征维度上的数据子集。例如,数据提供方1拥有的样本数据子集为:用户A的身高数据;数据提供方2拥有的样本数据子集为:用户A的体重数据;数据提供方3拥有的样本数据子集为:用户A的发型数据;等等。
本发明实施例的模型训练方法可应用于多方安全计算系统,所述多方安全计算系统包括密文计算平台和k个数据提供方,k为大于1的整数,k个数据提供方包括1个主动方和k-1个被动方。所述密文计算平台部署有密文计算引擎,所述密文计算引擎可以基于多方安全计算协议进行密文计算,所述密文计算可以包括纯密文运算,也可以包括明文和密文的混合运算。每个数据提供方部署有明文计算引擎,所述明文计算引擎可以进行明文运算,所述数据提供方可以包括2个及2个以上。进一步地,所述多方安全计算系统还可以包括结果需求方,所述结果需求方可以是多个数据提供方中的一方或多方,也可以是独立于数据提供方的其它参与方,本发明实施例对此不作限制。
其中,所述样本数据集中的每个样本数据对应有各自的标签,标签可以通过对样本数据进行标注所得到,本发明实施例将所述样本数据集中所有样本数据对应的标签所组成的集合称为所述样本数据集对应的数据标签。所述数据标签可以由k个数据提供方中的一个数据提供方持有。为了便于后续区别,本发明实施例将持有数据标签的数据提供方称为主动方,将其他数据提供方称为被动方。在本发明实施例中,所述主动方为一个,被动方可以包括至少一个。
训练线性回归模型,也就是求线性回归模型的解。若记线性回归模型的样本数据集为
Figure BDA0003685691940000061
(表示X是属于实数域的m×n的矩阵),数据标签为
Figure BDA0003685691940000062
(表示Y是属于实数域的m×1的矩阵),模型参数为
Figure BDA0003685691940000063
(表示W是属于实数域的n×1的矩阵)。线性回归模型的损失函数为样本回归线上的预测点Xw与数据标签Y的残差平方和,损失函数L(w)具体如下:
L(w)=(Y-Xw)T(Y-Xw)
求线性回归模型的解需要找到使得损失函数即残差平方和最小的模型参数。对于线性回归的损失函数,求导并令导数等于零可得正规方程组如下:
XT(Y-Xw)=0 (1)
于是模型的普通最小二乘估计为:
W=(XTX)-1(XTY)
其中,(XTX)-1指对XTX的结果进行求逆运算。
当训练线性回归模型所依赖的样本数据集纵向分布在多个数据提供方时,假设数据提供方为k个,k为大于1的整数,样本数据集为
Figure BDA0003685691940000064
Figure BDA0003685691940000065
其中,m为样本个数,n为样本的特征个数,各数据提供方持有的样本数据子集分别为
Figure BDA0003685691940000066
X=[X1,X2,…,Xk],n=n1+n2+...+nk。示例性地,主动方持有的样本数据子集为X1,第一个被动方持有的样本数据子集为X2,第2个被动方持有的样本数据子集为X3,以此类推,第k-1个被动方持有的样本数据子集为Xk。相应地,各数据提供方可以训练的模型参数分别为:
Figure BDA0003685691940000067
Figure BDA0003685691940000071
多个数据提供方基于各自持有的样本数据子集,根据线性回归模型的分块最小二乘估计方法,联合训练线性回归模型(以下简称多方联合训练线性回归模型),各数据提供方得到各自的模型参数。
为保证各数据提供方的数据隐私安全,可以由各数据提供方基于各自本地持有的样本数据子集进行本地的明文计算,得到下一步计算所需的中间结果并将这些中间结果的密文发送给密文计算平台。密文计算平台可以在密文的基础上进行中间结果的处理,得到下一步计算所需的中间结果并分发给各数据提供方,各数据提供方再进行下一步的本地明文计算。如此进行数轮计算和交互后,即可得到训练完成的线性回归模型的模型参数。
基于上述构思,可以进行如下推导,确定各数据提供方对应的模型参数的计算方法。为了便于说明,以两个数据提供方为例。这两个数据提供方包括一个主动方和一个被动方。主动方持有样本数据子集
Figure BDA0003685691940000072
和数据标签
Figure BDA0003685691940000073
主动方需要训练的模型参数为
Figure BDA0003685691940000074
被动方持有样本数据子集
Figure BDA0003685691940000075
被动方需要训练的模型参数为
Figure BDA0003685691940000076
由上式(1),可以推导得到:
XTXw=XTY (2)
将两个数据提供方各自持有的样本数据子集和各自需要训练的模型参数代入上式(2)中,可以得到:
Figure BDA0003685691940000077
由上式(3),可以推导得到:
Figure BDA0003685691940000078
Figure BDA0003685691940000079
根据上式(4)和(5),可以整理得到:
Figure BDA00036856919400000710
其中,
Figure BDA00036856919400000711
I为单位矩阵。
若记
Figure BDA00036856919400000712
则上式(6)可以变形为:
Figure BDA00036856919400000713
将上式(7)代入上式(4)中,可以得到:
Figure BDA0003685691940000081
在上述训练主动方的模型参数w1和被动方的模型参数w2的过程中,需要计算中间结果M1,M1为大小为m*m的矩阵。在训练过程中,还需要在主动方和被动方之间传递矩阵M1。对于中等规模的机器学习场景,例如10万(m=10万)个样本数据来说,矩阵M1的大小则为10万*10万,即100亿个数。这种场景下,难以实现将矩阵M1通过密文计算平台或者其他方式传给被动方,并且所需的计算开销、存储开销、以及通信开销都非常巨大,难以适用于大规模的训练场景,仅适用于数据量较小的训练场景,例如几百条最多几千条样本数据的训练场景。然而,训练数据的数据量是决定机器学习模型精准度的一个重要因素,在数据量较小时,难以保证机器学习模型的精准度。
本发明实施例的模型训练方法对上述联邦线性回归过程进行改进,使其能够适用于大数据量的训练场景。本发明的核心构思在于,在计算过程中,避免生成规模为m*m的矩阵M1,以及避免传递规模为m*m的矩阵M1,而是生成规模仅为m*n的第一矩阵Z,传递的规模最大也仅为m*n。在实际应用中,特征个数n通常远小于样本个数m。例如,样本数据集包括100万条银行的样本数据,一个样本数据的特征个数最多只有几十个或几百个,特征如职业、性别、年龄、学历等。本发明实施例将空间复杂度从m*m降低到m*n,例如,在m为10万,n为100的场景下,本发明实施例可以将空间复杂度从100亿降低至100万,极大降低了空间复杂度,进而可以减少计算开销和通信开销,提高计算效率,从而提高多方联合训练线性回归模型的效率,并且扩大线性回归模型的规模。
参照图1,示出了本发明的一种模型训练方法实施例的步骤流程图,所述方法可应用于多方安全计算系统,所述多方安全计算系统包括密文计算平台和k个数据提供方,k为大于1的整数,k个数据提供方包括1个主动方和k-1个被动方,所述方法适用于训练线性回归模型所依赖的样本数据集纵向分布在k个数据提供方的场景,所述样本数据集为
Figure BDA0003685691940000082
m为样本个数,n为样本的特征个数,k个数据提供方各自持有的样本数据子集分别为:
Figure BDA0003685691940000091
n=n1+n2+…+nk,所述样本数据集对应的数据标签由所述主动方持有,所述数据标签为
Figure BDA0003685691940000092
所述方法可以包括如下步骤:
步骤101、所述主动方根据持有的样本数据子集X1,计算第一矩阵Z=UE,并将所述第一矩阵Z经由所述密文计算平台发送至每个被动方,其中,
Figure BDA0003685691940000093
Figure BDA0003685691940000094
In为单位矩阵,U为对所述样本数据子集X1进行奇异值分解得到的由左奇异向量构成的矩阵;
步骤102、所述主动方根据所述第一矩阵Z和持有的数据标签Y,计算第二矩阵
Figure BDA0003685691940000095
并将所述第二矩阵
Figure BDA0003685691940000096
发送至所述密文计算平台;
步骤103、第i-1个被动方根据持有的样本数据子集Xi和接收到的第一矩阵Z,计算第三矩阵
Figure BDA0003685691940000097
并将所述第三矩阵
Figure BDA0003685691940000098
发送至所述密文计算平台,i的取值为2~k;
步骤104、所述密文计算平台根据接收到的第二矩阵
Figure BDA0003685691940000099
和第三矩阵
Figure BDA00036856919400000910
计算第i-1个被动方的模型参数wi,并将所述第i-1个被动方的模型参数wi发送至第i-1个被动方;
步骤105、第i-1个被动方根据持有的样本数据子集Xi和接收到的模型参数wi,计算第四矩阵
Figure BDA00036856919400000911
并将所述第四矩阵
Figure BDA00036856919400000912
发送至所述密文计算平台;
步骤106、所述密文计算平台对接收到的第四矩阵
Figure BDA00036856919400000913
进行合并,得到合并矩阵
Figure BDA00036856919400000914
并将所述合并矩阵
Figure BDA00036856919400000915
发送至所述主动方;
步骤107、所述主动方根据持有的样本数据子集X1和接收到的合并矩阵
Figure BDA00036856919400000916
计算所述主动方的模型参数
Figure BDA00036856919400000917
本发明实施例提供的模型训练方法,可应用于多方安全计算(Secure Muti-PartyComputation,MPC)系统,所述多方安全计算系统可以包括密文计算平台和k个数据提供方,k为大于1的整数。密文计算平台可以提供密文计算,k个数据提供方可以提供明文计算。本发明实施例的模型训练方法,通过数据提供方和密文计算平台进行明密文混合计算的方式训练线性回归模型。
多方安全计算系统是一种保护数据隐私安全的计算系统。多个参与方可以在不泄漏自身数据的前提下,使用多方安全计算技术进行协作计算,得到计算结果。进一步地,所述多方安全计算系统可以为明密文混合计算系统,所述密文计算平台部署有密文计算引擎,所述密文计算引擎用于基于多方安全计算协议进行密文计算,每个数据提供方部署有明文计算引擎,所述明文计算引擎用于进行明文运算,所述密文计算平台发送给所述数据提供方的数据为明文数据,所述数据提供方发送给所述密文计算平台的数据为密文数据。
在k个数据提供方基于各自持有的样本数据子集联合训练线性回归模型的过程中,可以由各数据提供方基于各自本地持有的样本数据子集进行本地的明文计算,得到下一步计算所需的中间结果并将这些中间结果进行加密后发送给密文计算平台。密文计算平台可以在密文的基础上进行中间结果的处理,得到下一步计算所需的中间结果,解密后分发给各数据提供方,各数据提供方再进行下一步的本地明文计算。如此进行数轮计算和交互后,即可得到线性回归模型的模型参数。
本发明实施例的模型训练方法可适用于训练线性回归模型所依赖的样本数据集纵向分布在k个数据提供方的场景,所述样本数据集为
Figure BDA0003685691940000101
m为样本个数,n为样本的特征个数,所述样本数据集X对应的数据标签为
Figure BDA0003685691940000102
k个数据提供方各自持有的样本数据子集分别为:
Figure BDA0003685691940000103
Figure BDA0003685691940000104
X=[X1,X2,…,Xk],n=n1+n2+…+nk。所述数据标签为
Figure BDA0003685691940000105
可以由所述k个数据提供方中的某一个数据提供方持有,本发明实施例将持有数据标签Y的数据提供方称为主动方,将其他k-1个数据提供方称为被动方。
主动方根据持有的样本数据子集X1,计算第一矩阵Z=UE,并将所述第一矩阵Z加密后发送至所述密文计算平台,再经由所述密文计算平台解密后发送至每个被动方,其中,
Figure BDA0003685691940000106
In为单位矩阵,U为对所述样本数据子集X1进行奇异值分解得到的由左奇异向量构成的矩阵。
为避免计算矩阵M1,本发明实施例首先在主动方本地对样本数据子集X1进行奇异值分解(Singular Value Decomposition,简称SVD)。
对于任意矩阵A,假设矩阵A的大小为m*n,奇异值分解会将该矩阵A分解为奇异值和奇异向量组合的形式,即A=USVT。其中,矩阵U是由左奇异向量构成的矩阵,矩阵V是由右奇异向量构成的矩阵,矩阵S为对角线矩阵,矩阵S的大小为m*n,矩阵S对角线上的元素就是奇异值。矩阵U(大小为m*m)和矩阵V(大小为n*n)均为正交矩阵,即满足UUT=I,VVT=I,其中上标T表示矩阵的转置,矩阵I为单位矩阵。
为便于描述,本发明实施例中主要以两个数据提供方为例进行说明,两个数据提供方中包括一个主动方和一个被动方。主动方持有样本数据子集
Figure BDA0003685691940000111
和数据标签
Figure BDA0003685691940000112
被动方持有样本数据子集
Figure BDA0003685691940000113
两个数据提供方基于各自持有的样本数据子集联合训练线性回归模型,以训练得到主动方的模型参数w1和被动方的模型参数w2
Figure BDA0003685691940000114
n=n1+n2。
在本发明实施例中,主动方对样本数据子集X1进行奇异值分解,可以得到X1=USVT,可以验证下式成立:X1 TX1=VSTUTUSVT
由于矩阵U和V的正交性,UUT=UTU=Im,VVT=VTV=In,I为m×n维的单位矩阵,因此可以得到:
X1 TX1=VSTSVT
根据矩阵求逆原则,可以得到:
Figure BDA0003685691940000115
由上式(9)可以推导得到:
Figure BDA0003685691940000116
根据矩阵V的正交性,由上式(10)可以推导得到:
Figure BDA0003685691940000117
由于矩阵
Figure BDA0003685691940000118
且矩阵S为对角线矩阵,则rank(S)=n(即矩阵S的秩为n),则可以验证下式成立:
Figure BDA0003685691940000121
其中,
Figure BDA0003685691940000122
为分块矩阵,分块矩阵的每个元素也是矩阵。该分块矩阵的第一个元素为In,In为n维的单位矩阵,该分块矩阵的其他元素均为0,也即,其他元素均为0矩阵。
将上式(12)代入上式(11)中,并令
Figure BDA0003685691940000123
则可以得到:
Figure BDA0003685691940000124
由此可以得到:
Figure BDA0003685691940000125
令第一矩阵Z=UE,
Figure BDA0003685691940000126
根据上式(14)可以得到:
Figure BDA0003685691940000127
因此,可以得到:
Figure BDA0003685691940000128
由此,本发明实施例将矩阵M1转换为I-ZZT。通过该转换,主动方不需要计算矩阵M1,只需要计算矩阵Z,此外,在主动方需要向被动方传递矩阵M1时,主动方只需要转递矩阵Z即可。矩阵M1的大小为m*m,而矩阵Z的大小仅为m*n。
在利用上式(6)计算w2时,需要先计算得到矩阵M1,然后将矩阵M1代入上式(6)计算w2。通过本发明实施例的转换后,不用将M1代入上式(6)计算w2。具体地,令第二矩阵
Figure BDA0003685691940000129
以及令第三矩阵
Figure BDA00036856919400001210
将第二矩阵
Figure BDA00036856919400001211
和第三矩阵
Figure BDA00036856919400001212
代入上式(6)可以得到:
Figure BDA00036856919400001213
其中:
Figure BDA0003685691940000131
Figure BDA0003685691940000132
将第二矩阵
Figure BDA0003685691940000133
和第三矩阵
Figure BDA0003685691940000134
代入上式(17)求出被动方的模型参数w2后,再将求出的w2代入上式(4)即可得到主动方的模型参数w1
可以看出,本发明实施例在训练模型参数w1和w2的过程中不用生成矩阵M1,只需要生成规模为m*n的矩阵Z。在计算第二矩阵
Figure BDA0003685691940000135
时,先计算ZTY,得到大小为n*1的矩阵,再将该矩阵与第一矩阵Z进行乘法计算,得到大小为m*n的矩阵。在计算第三矩阵
Figure BDA0003685691940000136
时,先计算ZTX2,得到大小为n*n的矩阵,再将该大小为n*n的矩阵与第一矩阵Z进行乘法计算,得到大小为m*n的矩阵。
通过上述转换,本发明实施例所需计算的中间结果最大仅为m*n的矩阵,传递的最大规模也仅为m*n的矩阵,极大降低了空间复杂度,进而可以减少计算开销和通信开销,提高计算效率,从而提高多方联合训练线性回归模型的效率,并且扩大线性回归模型的规模。
上述推导过程以两个数据提供方为例,多于两个数据提供方的场景相类似,相互参照即可。
示例一
以k(k>2)个数据提供方为例,k个数据提供方中包括一个主动方和k-1一个被动方。主动方持有样本数据子集
Figure BDA0003685691940000137
和数据标签
Figure BDA0003685691940000138
被动方分别持有样本数据子集
Figure BDA0003685691940000139
k个数据提供方基于各自持有的样本数据子集联合训练线性回归模型,以训练得到主动方的模型参数w1和被动方的模型参数w2、…、wk
Figure BDA00036856919400001310
Figure BDA00036856919400001311
n=n1+n2+…+nk。
参见表1,示出了示例一中k(k>2)个数据提供方联合训练线性回归模型的一种交互过程。
表1
Figure BDA00036856919400001312
Figure BDA0003685691940000141
需要说明的是,密文计算平台对接收到的第四矩阵
Figure BDA0003685691940000142
进行合并,指的是对接收到的每个被动方发送的第四矩阵基于密文按位进行加法计算,得到合并矩阵
Figure BDA0003685691940000151
Figure BDA0003685691940000152
其中,
Figure BDA0003685691940000153
中的各矩阵均为密文,基于密文对
Figure BDA0003685691940000154
中的各矩阵按位进行相加。
在本发明的一种可选实施例中,所述密文计算平台根据接收到的第二矩阵
Figure BDA0003685691940000155
和第三矩阵
Figure BDA0003685691940000156
计算第i-1个被动方的模型参数wi,可以包括:
步骤S11、所述密文计算平台对接收到的第三矩阵
Figure BDA0003685691940000157
进行拼接,得到第一拼接矩阵
Figure BDA0003685691940000158
步骤S12、所述密文计算平台根据所述第一拼接矩阵
Figure BDA0003685691940000159
计算中间逆矩阵
Figure BDA00036856919400001510
步骤S13、所述密文计算平台根据所述第一拼接矩阵
Figure BDA00036856919400001511
所述中间逆矩阵Z-1和接收到的第二矩阵
Figure BDA00036856919400001512
计算第二拼接矩阵
Figure BDA00036856919400001513
步骤S14、所述密文计算平台将所述第二拼接矩阵w-1进行拆分,得到第i-1个被动方的模型参数wi
密文计算平台接收每个被动方发送的第三矩阵,并对接收到的所有第三矩阵进行拼接,得到第一拼接矩阵
Figure BDA00036856919400001514
在得到第一拼接矩阵
Figure BDA00036856919400001515
之后,根据第一拼接矩阵
Figure BDA00036856919400001516
计算中间逆矩阵
Figure BDA00036856919400001517
再根据中间逆矩阵Z-1和接收到的第二矩阵
Figure BDA00036856919400001518
计算第二拼接矩阵
Figure BDA00036856919400001519
Figure BDA00036856919400001520
第二拼接矩阵w-1即为各被动方的模型参数拼接得到的矩阵,即w-1=[w2,…,wk],密文计算平台将第二拼接矩阵w-1进行拆分,可以得到第i-1个被动方的模型参数wi,将wi发送给第i-1个被动方。如将[w2,…,wk]拆分为w2、w3、…、wk。假设k=5,则有1个主动方和4个被动方,将w2发送给第一个被动方,将w3发送给第二个被动方,将w4发送给第三个被动方,将w5发送给第四个被动方。
参见表2,示出了示例一中k(k>2)个数据提供方联合训练线性回归模型的另一种交互过程。
表2
Figure BDA00036856919400001521
Figure BDA0003685691940000161
Figure BDA0003685691940000171
在本发明的一种可选实施例中,所述密文计算平台根据所述第一拼接矩阵
Figure BDA0003685691940000172
计算中间逆矩阵
Figure BDA0003685691940000173
可以包括:所述密文计算平台先基于密文计算
Figure BDA0003685691940000174
再将计算得到的
Figure BDA0003685691940000175
的密文解密为明文,然后基于明文计算
Figure BDA0003685691940000176
密文计算平台基于密文对矩阵进行求逆运算的复杂度较高,将影响模型训练的效率,因此,本发明实施例的密文计算平台在计算中间逆矩阵
Figure BDA0003685691940000177
Figure BDA0003685691940000178
时,先基于密文计算
Figure BDA0003685691940000179
再将计算得到的
Figure BDA00036856919400001710
的结果(该结果为密文)解密为明文,然后基于明文计算
Figure BDA00036856919400001711
基于明文对矩阵进行求逆运算,可以提高计算速度,进而提高模型训练的效率。
需要说明的是,在k=2时,只有一个被动方,密文计算平台接收到这一个被动方发送的第三矩阵
Figure BDA00036856919400001712
即为
Figure BDA00036856919400001713
合并后得到第一拼接矩阵
Figure BDA00036856919400001714
仍为
Figure BDA00036856919400001715
则计算得到的中间逆矩阵
Figure BDA00036856919400001716
Figure BDA00036856919400001717
则计算得到的第二拼接矩阵
Figure BDA00036856919400001718
在本发明的一种可选实施例中,在k=2时,所述数据提供方包括1个主动方和1个被动方,所述被动方在计算第三矩阵
Figure BDA00036856919400001719
之后还计算第五矩阵
Figure BDA00036856919400001720
Figure BDA00036856919400001721
并将所述第五矩阵Z2发送至所述密文计算平台;所述密文计算平台根据接收到的第二矩阵
Figure BDA00036856919400001722
和第三矩阵
Figure BDA00036856919400001723
计算第i-1个被动方的模型参数wi,可以包括:所述密文计算平台根据接收到的第二矩阵
Figure BDA00036856919400001724
第三矩阵
Figure BDA00036856919400001725
和第五矩阵Z2,计算所述被动方的模型参数
Figure BDA00036856919400001726
并将所述模型参数w2发送至所述被动方。
在k=2时,只有一个被动方,该被动方持有样本数据子集X2,假设记第五矩阵为Z2,由于中间逆矩阵
Figure BDA00036856919400001727
第五矩阵Z2的计算只需要使用到该被动方的样本数据X2,因此,本发明实施例将第五矩阵Z2的计算放在该被动方本地以明文方式进行,可以提高计算第五矩阵Z2的效率,从而进一步提高模型训练的效率。
示例二
以两个数据提供方为例,两个数据提供方中包括一个主动方和一个被动方。主动方持有样本数据子集
Figure BDA0003685691940000181
和数据标签
Figure BDA0003685691940000182
被动方持有样本数据子集
Figure BDA0003685691940000183
两个数据提供方基于各自持有的样本数据子集联合训练线性回归模型,以训练得到主动方的模型参数w1和被动方的模型参数w2
Figure BDA0003685691940000184
n=n1+n2。
参见表3,示出了示例二中两个数据提供方联合训练线性回归模型的一种交互过程。
表3
Figure BDA0003685691940000185
Figure BDA0003685691940000191
在本发明的一种可选实施例中,所述方法还可以包括:
步骤S21、所述主动方将持有的模型参数w1发送至所述密文计算平台;
步骤S22、第i-1个被动方将持有的模型参数wi发送至所述密文计算平台;
步骤S23、所述密文计算平台将接收到的模型参数w1和模型参数wi进行合并,得到线性回归模型的模型参数W,并将所述模型参数W发送至结果需求方。
需要说明的是,本发明实施例对模型参数w1和模型参数wi(i的取值为2~k)进行合并的具体方式不做限制。例如,可以对模型参数w1和模型参数wi直接相加,得到线性回归模型的模型参数W。示例性地,假设k=5,则W=w1+w2+w3+w4+w5。又如,可以对模型参数w1和模型参数wi进行加权相加,得到线性回归模型的模型参数W。示例性地,假设k=5,则W=k1w1+k2w2+k3w3+k4w4+k5w5,其中,k1、k2、k3、k4、k5为w1、w2、w3、w4、w5分别对应的权重,该权重可以根据实际需要设置。
所述结果需求方可以是多个数据提供方中的多方,也可以是独立于数据提供方的其它参与方,本发明实施例对此不作限制。
主动方将持有的模型参数w1加密后发送至密文计算平台,第i-1个被动方将持有的模型参数wi加密后发送至密文计算平台,密文计算平台在接收到w1的密文和wi的密文后,可以调用密文计算引擎将所述w1的密文和wi的密文进行合并,得到线性回归模型的模型参数W。
一个可选实施例中,密文计算平台可以将模型参数W的密文直接发送至结果需求方;由结果需求方对W的密文进行解密,得到线性回归模型的模型参数W。
一个可选实施例中,当结果需求方包括多个时,密文计算平台可以将W的密文进行拆分,然后把拆分的各个部分的密文,分发给对应的结果需求方。
后续结果需求方可以采用训练后的线性回归模型进行其它计算,如数据预测等等,本发明实施例对此不作限制。
综上,本发明实施例对线性回归模型的训练过程进行改进,通过主动方对其持有的样本数据子集X1进行奇异值分解,根据奇异值分解的结果计算大小为m*n的第一矩阵,使得整个训练过程中,计算矩阵的规模由m*m降低至m*n。其中,m为样本个数,n为特征个数,在实际应用中,特征个数n通常远小于样本个数m。例如,样本数据集包括100万条银行的样本数据,特征个数最多只有几十个或几百个。本发明实施例将训练线性回归模型的空间复杂度从m*m降低至m*n,极大降低了空间复杂度,进而可以减少计算开销和通信开销,提高计算效率,从而提高多方联合训练线性回归模型的效率,并且扩大线性回归模型的规模。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图2,示出了本发明的一种多方安全计算系统200实施例的结构框图,所述多方安全计算系统200包括密文计算平台201和k个数据提供方202,k为大于1的整数,k个数据提供方包括1个主动方2021和k-1个被动方2022,所述多方安全计算系统200适用于训练线性回归模型所依赖的样本数据集纵向分布在k个数据提供方的场景,所述样本数据集为
Figure BDA0003685691940000201
m为样本个数,n为样本的特征个数,k个数据提供方各自持有的样本数据子集分别为:
Figure BDA0003685691940000211
n=n1+n2+…+nk,所述样本数据集对应的数据标签由所述主动方持有,所述数据标签为
Figure BDA0003685691940000212
Figure BDA0003685691940000213
其中,
所述主动方2021,用于根据持有的样本数据子集X1,计算第一矩阵Z=UE,并将所述第一矩阵Z经由所述密文计算平台发送至每个被动方,其中,
Figure BDA0003685691940000214
In为单位矩阵,U为对所述样本数据子集X1进行奇异值分解得到的由左奇异向量构成的矩阵;
所述主动方2021,还用于根据所述第一矩阵Z和持有的数据标签Y,计算第二矩阵
Figure BDA0003685691940000215
并将所述第二矩阵
Figure BDA0003685691940000216
发送至所述密文计算平台;
所述被动方中的第i-1个被动方2022,用于根据持有的样本数据子集Xi和接收到的第一矩阵Z,计算第三矩阵
Figure BDA0003685691940000217
并将所述第三矩阵
Figure BDA0003685691940000218
发送至所述密文计算平台,i的取值为2~k;
所述密文计算平台201,用于根据接收到的第二矩阵
Figure BDA0003685691940000219
和第三矩阵
Figure BDA00036856919400002110
计算第i-1个被动方的模型参数wi,并将所述第i-1个被动方的模型参数wi发送至第i-1个被动方;
所述第i-1个被动方2022,还用于根据持有的样本数据子集Xi和接收到的模型参数wi,计算第四矩阵
Figure BDA00036856919400002111
并将所述第四矩阵
Figure BDA00036856919400002112
发送至所述密文计算平台;
所述密文计算平台201,还用于对接收到的第四矩阵
Figure BDA00036856919400002113
进行合并,得到合并矩阵
Figure BDA00036856919400002114
并将所述合并矩阵
Figure BDA00036856919400002115
发送至所述主动方;
所述主动方2021,还用于根据持有的样本数据子集X1和接收到的合并矩阵
Figure BDA00036856919400002116
计算所述主动方的模型参数
Figure BDA00036856919400002117
可选地,所述密文计算平台,具体用于对接收到的第三矩阵
Figure BDA00036856919400002118
进行拼接,得到第一拼接矩阵
Figure BDA00036856919400002119
根据所述第一拼接矩阵
Figure BDA00036856919400002120
计算中间逆矩阵
Figure BDA00036856919400002121
根据所述第一拼接矩阵
Figure BDA00036856919400002122
所述中间逆矩阵Z-1和接收到的第二矩阵
Figure BDA00036856919400002123
计算第二拼接矩阵
Figure BDA00036856919400002124
将所述第二拼接矩阵w-1进行拆分,得到第i-1个被动方的模型参数wi
可选地,所述密文计算平台,具体用于先基于密文计算
Figure BDA0003685691940000221
再将计算得到的
Figure BDA0003685691940000222
的密文解密为明文,然后基于明文计算
Figure BDA0003685691940000223
可选地,在k=2时,所述数据提供方包括1个主动方和1个被动方,所述被动方还用于在计算第三矩阵
Figure BDA0003685691940000224
之后,计算第五矩阵
Figure BDA0003685691940000225
并将所述第五矩阵Z2发送至所述密文计算平台;
所述密文计算平台,具体用于根据接收到的第二矩阵
Figure BDA0003685691940000226
第三矩阵
Figure BDA0003685691940000227
和第五矩阵Z2,计算所述被动方的模型参数
Figure BDA0003685691940000228
并将所述模型参数w2发送至所述被动方。
可选地,所述主动方,还用于将持有的模型参数w1发送至所述密文计算平台;
所述第i-1个被动方,还用于将持有的模型参数wi发送至所述密文计算平台;
所述密文计算平台,还用于将接收到的模型参数w1和模型参数wi进行合并,得到线性回归模型的模型参数W,并将所述模型参数W发送至结果需求方。
可选地,所述k个数据提供方各自持有的样本数据子集是相同的样本数据集在不同特征维度上的数据子集。
可选地,所述多方安全计算系统为明密文混合计算系统,所述密文计算平台部署有密文计算引擎,所述密文计算引擎用于基于多方安全计算协议进行密文计算,所述数据提供方部署有明文计算引擎,所述明文计算引擎用于进行明文运算,所述密文计算平台发送给所述数据提供方的数据为明文数据,所述数据提供方发送给所述密文计算平台的数据为密文数据。
本发明实施例对线性回归模型的训练过程进行改进,通过主动方对其持有的样本数据子集X1进行奇异值分解,根据奇异值分解的结果计算大小为m*n的第一矩阵,使得整个训练过程中,计算矩阵的规模由m*m降低至m*n。其中,m为样本个数,n为特征个数,在实际应用中,特征个数n通常远小于样本个数m。例如,样本数据集包括100万条银行的样本数据,特征个数最多只有几十个或几百个。本发明实施例将训练线性回归模型的空间复杂度从m*m降低至m*n,极大降低了空间复杂度,进而可以减少计算开销和通信开销,提高计算效率,从而提高多方联合训练线性回归模型的效率,并且扩大线性回归模型的规模。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本发明实施例提供了一种用于模型训练的装置,包括有存储器,以及一个以上的程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序包含用于进行上述任一实施例所述的模型训练方法的指令。
图3是根据一示例性实施例示出的一种用于模型训练的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以搜索装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图4是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。
服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的模型训练方法。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行前文图1所对应实施例中模型训练方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上对本发明所提供的一种模型训练方法和多方安全计算系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (16)

1.一种模型训练方法,其特征在于,所述方法应用于多方安全计算系统,所述多方安全计算系统包括密文计算平台和k个数据提供方,k为大于1的整数,k个数据提供方包括1个主动方和k-1个被动方,所述方法适用于训练线性回归模型所依赖的样本数据集纵向分布在k个数据提供方的场景,所述样本数据集为
Figure FDA0003685691930000011
m为样本个数,n为样本的特征个数,k个数据提供方各自持有的样本数据子集分别为:
Figure FDA0003685691930000012
Figure FDA0003685691930000013
n=n1+n2+…+nk,所述样本数据集对应的数据标签由所述主动方持有,所述数据标签为
Figure FDA0003685691930000014
所述方法包括:
所述主动方根据持有的样本数据子集X1,计算第一矩阵Z=UE,并将所述第一矩阵Z经由所述密文计算平台发送至每个被动方,其中,
Figure FDA0003685691930000015
Figure FDA0003685691930000016
In为单位矩阵,U为对所述样本数据子集X1进行奇异值分解得到的由左奇异向量构成的矩阵;
所述主动方根据所述第一矩阵Z和持有的数据标签Y,计算第二矩阵
Figure FDA0003685691930000017
并将所述第二矩阵
Figure FDA0003685691930000018
发送至所述密文计算平台;
第i-1个被动方根据持有的样本数据子集Xi和接收到的第一矩阵Z,计算第三矩阵
Figure FDA0003685691930000019
并将所述第三矩阵
Figure FDA00036856919300000110
发送至所述密文计算平台,i的取值为2~k;
所述密文计算平台根据接收到的第二矩阵
Figure FDA00036856919300000111
和第三矩阵
Figure FDA00036856919300000112
计算第i-1个被动方的模型参数wi,并将所述第i-1个被动方的模型参数wi发送至第i-1个被动方;
第i-1个被动方根据持有的样本数据子集Xi和接收到的模型参数wi,计算第四矩阵
Figure FDA00036856919300000113
并将所述第四矩阵
Figure FDA00036856919300000114
发送至所述密文计算平台;
所述密文计算平台对接收到的第四矩阵
Figure FDA00036856919300000115
进行合并,得到合并矩阵
Figure FDA00036856919300000116
并将所述合并矩阵
Figure FDA00036856919300000117
发送至所述主动方;
所述主动方根据持有的样本数据子集X1和接收到的合并矩阵
Figure FDA00036856919300000118
计算所述主动方的模型参数
Figure FDA00036856919300000119
2.根据权利要求1所述的方法,其特征在于,所述密文计算平台根据接收到的第二矩阵
Figure FDA00036856919300000120
和第三矩阵
Figure FDA00036856919300000121
计算第i-1个被动方的模型参数wi,包括:
所述密文计算平台对接收到的第三矩阵
Figure FDA0003685691930000021
进行拼接,得到第一拼接矩阵
Figure FDA0003685691930000022
所述密文计算平台根据所述第一拼接矩阵
Figure FDA0003685691930000023
计算中间逆矩阵
Figure FDA0003685691930000024
Figure FDA0003685691930000025
所述密文计算平台根据所述第一拼接矩阵
Figure FDA0003685691930000026
所述中间逆矩阵Z-1和接收到的第二矩阵
Figure FDA0003685691930000027
计算第二拼接矩阵
Figure FDA0003685691930000028
所述密文计算平台将所述第二拼接矩阵w-1进行拆分,得到第i-1个被动方的模型参数wi
3.根据权利要求2所述的方法,其特征在于,所述密文计算平台根据所述第一拼接矩阵
Figure FDA0003685691930000029
计算中间逆矩阵
Figure FDA00036856919300000210
包括:
所述密文计算平台先基于密文计算
Figure FDA00036856919300000211
再将计算得到的
Figure FDA00036856919300000212
的密文解密为明文,然后基于明文计算
Figure FDA00036856919300000213
4.根据权利要求1所述的方法,其特征在于,在k=2时,所述数据提供方包括1个主动方和1个被动方,所述被动方在计算第三矩阵
Figure FDA00036856919300000214
之后还计算第五矩阵
Figure FDA00036856919300000215
并将所述第五矩阵Z2发送至所述密文计算平台;所述密文计算平台根据接收到的第二矩阵
Figure FDA00036856919300000216
和第三矩阵
Figure FDA00036856919300000217
计算第i-1个被动方的模型参数wi,包括:
所述密文计算平台根据接收到的第二矩阵
Figure FDA00036856919300000218
第三矩阵
Figure FDA00036856919300000219
和第五矩阵Z2,计算所述被动方的模型参数
Figure FDA00036856919300000220
并将所述模型参数w2发送至所述被动方。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述主动方将持有的模型参数w1发送至所述密文计算平台;
第i-1个被动方将持有的模型参数wi发送至所述密文计算平台;
所述密文计算平台将接收到的模型参数w1和模型参数wi进行合并,得到线性回归模型的模型参数W,并将所述模型参数W发送至结果需求方。
6.根据权利要求1至5任一所述的方法,其特征在于,所述k个数据提供方各自持有的样本数据子集是相同的样本数据集在不同特征维度上的数据子集。
7.根据权利要求1至5任一所述的方法,其特征在于,所述多方安全计算系统为明密文混合计算系统,所述密文计算平台部署有密文计算引擎,所述密文计算引擎用于基于多方安全计算协议进行密文计算,所述数据提供方部署有明文计算引擎,所述明文计算引擎用于进行明文运算,所述密文计算平台发送给所述数据提供方的数据为明文数据,所述数据提供方发送给所述密文计算平台的数据为密文数据。
8.一种多方安全计算系统,其特征在于,所述多方安全计算系统包括密文计算平台和k个数据提供方,k为大于1的整数,k个数据提供方包括1个主动方和k-1个被动方,所述多方安全计算系统适用于训练线性回归模型所依赖的样本数据集纵向分布在k个数据提供方的场景,所述样本数据集为
Figure FDA0003685691930000031
m为样本个数,n为样本的特征个数,k个数据提供方各自持有的样本数据子集分别为:
Figure FDA0003685691930000032
n=n1+n2+…+nk,所述样本数据集对应的数据标签由所述主动方持有,所述数据标签为
Figure FDA0003685691930000033
其中,
所述主动方,用于根据持有的样本数据子集X1,计算第一矩阵Z=UE,并将所述第一矩阵Z经由所述密文计算平台发送至每个被动方,其中,
Figure FDA0003685691930000034
Figure FDA0003685691930000035
In为单位矩阵,U为对所述样本数据子集X1进行奇异值分解得到的由左奇异向量构成的矩阵;
所述主动方,还用于根据所述第一矩阵Z和持有的数据标签Y,计算第二矩阵
Figure FDA0003685691930000036
并将所述第二矩阵
Figure FDA0003685691930000037
发送至所述密文计算平台;
所述被动方中的第i-1个被动方,用于根据持有的样本数据子集Xi和接收到的第一矩阵Z,计算第三矩阵
Figure FDA0003685691930000038
并将所述第三矩阵
Figure FDA0003685691930000039
发送至所述密文计算平台,i的取值为2~k;
所述密文计算平台,用于根据接收到的第二矩阵
Figure FDA00036856919300000310
和第三矩阵
Figure FDA00036856919300000311
计算第i-1个被动方的模型参数wi,并将所述第i-1个被动方的模型参数wi发送至第i-1个被动方;
所述第i-1个被动方,还用于根据持有的样本数据子集Xi和接收到的模型参数wi,计算第四矩阵
Figure FDA00036856919300000312
并将所述第四矩阵
Figure FDA00036856919300000313
发送至所述密文计算平台;
所述密文计算平台,还用于对接收到的第四矩阵
Figure FDA0003685691930000041
进行合并,得到合并矩阵
Figure FDA0003685691930000042
并将所述合并矩阵
Figure FDA0003685691930000043
发送至所述主动方;
所述主动方,还用于根据持有的样本数据子集X1和接收到的合并矩阵
Figure FDA0003685691930000044
计算所述主动方的模型参数
Figure FDA0003685691930000045
9.根据权利要求8所述的多方安全计算系统,其特征在于,所述密文计算平台,具体用于对接收到的第三矩阵
Figure FDA0003685691930000046
进行拼接,得到第一拼接矩阵
Figure FDA0003685691930000047
根据所述第一拼接矩阵
Figure FDA0003685691930000048
计算中间逆矩阵
Figure FDA0003685691930000049
Figure FDA00036856919300000410
根据所述第一拼接矩阵
Figure FDA00036856919300000411
所述中间逆矩阵Z-1和接收到的第二矩阵
Figure FDA00036856919300000412
计算第二拼接矩阵
Figure FDA00036856919300000413
将所述第二拼接矩阵w-1进行拆分,得到第i-1个被动方的模型参数wi
10.根据权利要求9所述的多方安全计算系统,其特征在于,所述密文计算平台,具体用于先基于密文计算
Figure FDA00036856919300000414
再将计算得到的
Figure FDA00036856919300000415
的密文解密为明文,然后基于明文计算
Figure FDA00036856919300000416
11.根据权利要求8所述的多方安全计算系统,其特征在于,在k=2时,所述数据提供方包括1个主动方和1个被动方,所述被动方还用于在计算第三矩阵
Figure FDA00036856919300000417
之后,计算第五矩阵
Figure FDA00036856919300000418
并将所述第五矩阵Z2发送至所述密文计算平台;
所述密文计算平台,具体用于根据接收到的第二矩阵
Figure FDA00036856919300000419
第三矩阵
Figure FDA00036856919300000420
和第五矩阵Z2,计算所述被动方的模型参数
Figure FDA00036856919300000421
并将所述模型参数w2发送至所述被动方。
12.根据权利要求8所述的多方安全计算系统,其特征在于,
所述主动方,还用于将持有的模型参数w1发送至所述密文计算平台;
所述第i-1个被动方,还用于将持有的模型参数wi发送至所述密文计算平台;
所述密文计算平台,还用于将接收到的模型参数w1和模型参数wi进行合并,得到线性回归模型的模型参数W,并将所述模型参数W发送至结果需求方。
13.根据权利要求8至12任一所述的多方安全计算系统,其特征在于,所述k个数据提供方各自持有的样本数据子集是相同的样本数据集在不同特征维度上的数据子集。
14.根据权利要求8至12任一所述的多方安全计算系统,其特征在于,所述多方安全计算系统为明密文混合计算系统,所述密文计算平台部署有密文计算引擎,所述密文计算引擎用于基于多方安全计算协议进行密文计算,所述数据提供方部署有明文计算引擎,所述明文计算引擎用于进行明文运算,所述密文计算平台发送给所述数据提供方的数据为明文数据,所述数据提供方发送给所述密文计算平台的数据为密文数据。
15.一种用于模型训练的装置,其特征在于,包括有存储器,以及一个以上程序,其中一个以上程序存储于存储器中,且经配置以由一个以上处理器执行所述一个以上程序,所述一个以上程序包含用于进行如权利要求1至7中任一所述的模型训练方法的指令。
16.一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如权利要求1至7中任一所述的模型训练方法。
CN202210645371.XA 2022-06-09 2022-06-09 一种模型训练方法和多方安全计算系统 Pending CN115169574A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210645371.XA CN115169574A (zh) 2022-06-09 2022-06-09 一种模型训练方法和多方安全计算系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210645371.XA CN115169574A (zh) 2022-06-09 2022-06-09 一种模型训练方法和多方安全计算系统

Publications (1)

Publication Number Publication Date
CN115169574A true CN115169574A (zh) 2022-10-11

Family

ID=83484734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210645371.XA Pending CN115169574A (zh) 2022-06-09 2022-06-09 一种模型训练方法和多方安全计算系统

Country Status (1)

Country Link
CN (1) CN115169574A (zh)

Similar Documents

Publication Publication Date Title
CN110955907B (zh) 一种基于联邦学习的模型训练方法
CN115396101B (zh) 一种基于秘密分享的不经意打乱方法和系统
CN114401154B (zh) 一种数据处理方法、装置、密文计算引擎和用于数据处理的装置
CN112688779B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN115396100B (zh) 一种基于秘密分享的不经意随机打乱方法和系统
CN114884645B (zh) 一种隐私计算方法、装置和可读存储介质
CN114969830B (zh) 一种隐私求交方法、系统和可读存储介质
CN114840568B (zh) 一种密文排序方法、装置和用于密文排序的装置
CN113392422B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN112861175A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113094744A (zh) 信息处理方法、服务平台、用于信息处理的装置和多方安全计算系统
CN115085912A (zh) 一种密文计算方法、装置和用于密文计算的装置
CN113032839B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114662686A (zh) 一种神经网络模型训练方法、装置和安全计算平台
CN112861145A (zh) 一种数据处理方法、装置和用于数据处理的装置
CN115617897B (zh) 一种数据类型转换方法和多方安全计算系统
CN112464257A (zh) 一种数据检测方法、装置和用于数据检测的装置
CN113779500B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN113779501B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN115169574A (zh) 一种模型训练方法和多方安全计算系统
CN114915455A (zh) 一种密文数据传输方法、装置和用于密文数据传输的装置
CN114996752A (zh) 一种多方隐私求交方法、装置和用于多方隐私求交的装置
CN114885038A (zh) 一种加密协议转换方法、结果获取节点和隐私计算节点
CN112685747B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN112906904A (zh) 一种数据处理方法、装置和用于数据处理的装置

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