CN112966809A - 基于隐私保护的两方模型预测方法、装置及系统 - Google Patents
基于隐私保护的两方模型预测方法、装置及系统 Download PDFInfo
- Publication number
- CN112966809A CN112966809A CN202110143226.7A CN202110143226A CN112966809A CN 112966809 A CN112966809 A CN 112966809A CN 202110143226 A CN202110143226 A CN 202110143226A CN 112966809 A CN112966809 A CN 112966809A
- Authority
- CN
- China
- Prior art keywords
- model
- data
- local
- member device
- result
- 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
- 238000000034 method Methods 0.000 title claims description 43
- 238000012545 processing Methods 0.000 claims abstract description 93
- 238000004364 calculation method Methods 0.000 claims abstract description 52
- 239000012634 fragment Substances 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 74
- 238000010801 machine learning Methods 0.000 claims description 48
- 239000011159 matrix material Substances 0.000 claims description 46
- 238000012821 model calculation Methods 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 19
- 230000004913 activation Effects 0.000 claims description 12
- 230000002146 bilateral effect Effects 0.000 claims 2
- 230000004044 response Effects 0.000 abstract description 2
- 238000003672 processing method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 201000010099 disease Diseases 0.000 description 3
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 229940050561 matrix product Drugs 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012502 risk assessment Methods 0.000 description 2
- 238000013058 risk prediction model Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书的实施例提供基于隐私保护的两方数据联合处理方法、装置及系统。两个成员设备分别具有本地隐私数据,两个成员设备的本地隐私数据组成两方联合处理数据。响应于用于确定两方联合处理数据的函数sigmoid计算结果的联合处理请求,各个成员设备使用本地隐私数据在本地执行第一函数计算得到本地处理结果,第一函数包括对函数sigmoid执行三角函数拟合时的各个拟合项进行分解得到的、在各个成员设备处执行的三角函数。各个成员设备使用各自的本地处理结果执行和共享形式下的安全计算得到两方数据联合处理结果,每个成员设备具有所述两方数据联合处理结果的两方数据联合处理结果分片。
Description
技术领域
本说明书实施例通常涉及人工智能领域,尤其涉及基于隐私保护的两方模型预测方法、两方模型预测装置以及两方模型预测系统。
背景技术
随着技术的发展,越来越多的业务应用场景需要使用两个数据拥有方的本地数据来进行两方模型联合预测,例如,使用机器学习模型的业务应用场景,比如,使用机器学习模型进行风险评估、人群识别、业务分类等。在机器学习模型的应用中,在比如模型预测或模型训练的应用场景下,需要使用两个数据拥有方的本地数据来联合进行模型预测处理得到模型预测结果。
由于各个数据拥有方的本地数据是隐私数据,需要进行数据隐私保护,从而使得如何在对各个数据拥有方的本地数据进行数据隐私保护的情况下实现两方模型联合预测,成为亟待解决的问题。
发明内容
鉴于上述,本说明书实施例提供一种基于隐私保护的两方模型预测方法、两方模型预测装置以及两方模型预测系统。利用该两方模型预测方法、两方模型预测装置及两方模型预测系统,可以在确保各个数据拥有方的本地数据的数据隐私安全的情况下,提升两方模型预测精度和两方模型预测效率。
根据本说明书实施例的一个方面,提供一种基于隐私保护的两方模型预测方法,所述两方包括两个成员设备,每个成员设备具有本地模型数据和业务对象的本地特征数据,两个成员设备的本地模型数据组成机器学习模型,两个成员设备的本地特征数据组成所述机器学习模型的模型预测数据,所述方法应用于一个成员设备,所述方法包括:使用本地模型数据和本地特征数据来进行本地模型计算;使用本地模型计算结果在本地执行第一函数计算得到中间处理结果,所述第一函数包括对所述机器学习模型的激活函数sigmoid执行三角函数拟合时的各个拟合项进行分解得到的、在各个成员设备处执行的三角函数;以及与另一成员设备一起,使用各自的中间处理结果执行和共享形式下的安全计算得到所述机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片,其中,所述另一成员设备的中间处理结果通过使用该另一成员设备的本地模型计算结果在本地执行所述第一函数计算得到,该另一成员设备的本地模型计算结果根据该另一成员设备的本地模型数据和本地特征数据进行本地模型计算确定出。
可选地,在上述方面的一个示例中,两个成员设备的本地模型计算结果为Y1和Y2,所述激活函数sigmoid(Y1+Y2)被拟合为以及所述第一函数包括和其中,m为拟合项数,M为变量区间取值上限,ak为拟合系数,i为1或2。
可选地,在上述方面的一个示例中,所述本地特征数据是垂直切分数据或者水平切分数据。
可选地,在上述方面的一个示例中,所述业务对象包括以下之一:用户,商品,事件和关系。
可选地,在上述方面的一个示例中,与另一成员设备一起,使用各自的中间处理结果执行和共享形式下的安全计算得到所述机器学习模型的模型预测结果包括:使用中间处理结果生成中间处理结果矩阵;以及与另一成员设备一起,使用各自的中间处理结果矩阵执行和共享形式下的秘密共享矩阵乘法计算得到所述机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片,所述另一成员设备处的中间处理结果矩阵基于该成员设备的中间处理结果生成。
可选地,在上述方面的一个示例中,所述和共享形式下的秘密共享矩阵乘法计算是基于半可信第三方的和共享形式下的秘密共享矩阵乘法计算。
根据本说明书的实施例的另一方面,提供一种基于隐私保护的两方模型预测装置,所述两方包括两个成员设备,每个成员设备具有本地模型数据和业务对象的本地特征数据,两个成员设备的本地模型数据组成机器学习模型,两个成员设备的本地特征数据组成所述机器学习模型的模型预测数据,所述两方模型预测装置应用于一个成员设备,所述两方模型预测装置包括:至少一个处理器,与所述至少一个处理器耦合的存储器,以及存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现:使用本地模型数据和本地特征数据进行本地模型计算;使用本地模型计算结果在本地执行第一函数计算得到中间处理结果,所述第一函数包括对所述机器学习模型的激活函数sigmoid执行三角函数拟合时的各个拟合项进行分解得到的、在各个成员设备处执行的三角函数;以及与另一成员设备一起,使用各自的中间处理结果执行和共享形式下的安全计算得到所述机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片,其中,所述另一成员设备的中处理结果通过使用该另一成员设备的本地模型计算结果在本地执行所述第一函数计算得到,该另一成员设备的本地模型计算结果根据该另一成员设备的本地模型数据和本地特征数据进行本地模型计算确定出。
可选地,在上述方面的一个示例中,两个成员设备的本地模型计算结果为Y1和Y2,所述激活函数sigmoid(Y1+Y2)被拟合为以及所述第一函数包括和其中,m为拟合项数,M为变量区间取值上限,ak为拟合系数,i为1或2。
可选地,在上述方面的一个示例中,所述至少一个处理器执行所述计算机程序来实现:使用中间处理结果生成中间处理结果矩阵;以及与另一成员设备一起,使用各自的中间处理结果矩阵执行和共享形式下的秘密共享矩阵乘法计算得到所述机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片,所述另一成员设备处的中间处理结果矩阵基于该成员设备的中间处理结果生成。
根据本说明书的实施例的另一方面,提供一种基于隐私保护的两方模型预测系统,包括:两个成员设备,每个成员设备具有本地模型数据和业务对象的本地特征数据,并且包括如上所述的两方模型预测装置,其中,两个成员设备的本地模型数据组成机器学习模型,两个成员设备的本地特征数据组成所述机器学习模型的模型预测数据。
根据本说明书的实施例的另一方面,提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行来实现如上所述的两方模型预测方法。
根据本说明书的实施例的另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行来实现如上所述的两方模型预测方法。
附图说明
通过参照下面的附图,可以实现对于本说明书内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了多项式拟合下的sigmoid函数的计算过程的程序代码实现的示例示意图。
图2A和2B示出了多项式拟合下的sigmoid函数的拟合结果的示例示意图。
图3示出了根据本说明书的实施例的两方模型预测系统的架构示例示意图。
图4示出了根据本说明书的实施例的基于隐私保护的两方模型预测方法的流程图。
图5示出了根据本说明书的实施例的数据垂直切分的示例示意图。
图6示出了根据本说明书的实施例的数据水平切分的示例示意图。
图7示出了根据本说明书的实施例的和共享形式下的安全计算过程的示例流程图。
图8示出了根据本说明书的实施例的基于半可信第三方的和共享形式下的秘密共享矩阵乘法过程的示例流程图。
图9示出了根据本说明书的实施例的基于隐私保护的两方模型预测装置的方框图。
图10示出了根据本说明书的实施例的两方安全计算单元的一个实现示例的方框图。
图11示出了根据本说明书的实施例的在成员设备侧基于计算机实现的两方模型预测装置的示意图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本说明书内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在一些使用机器学习模型的业务应用场景中,会涉及两个成员设备,每个成员设备具有本地数据。在进行业务处理时,需要使用多个成员设备的本地数据来进行多方数据联合处理。例如,在使用机器学习模型来进行风险评估、人群识别、业务分类等的应用场景下,需要使用多个成员设备的本地数据来联合进行模型预测处理得到模型预测结果。由于各个成员设备的本地数据是隐私数据,在进行多方数据联合处理时,需要进行数据隐私保护。在本说明书中,术语“成员设备”与“数据拥有方”可以互换使用。
在使用机器学习模型进行模型预测处理时,在各个成员设备得到本地模型预测中间结果后,各个成员设备需要使用各自的本地模型预测中间结果来执行sigmoid计算处理,得到最终的模型预测结果。
多项式拟合是一种常用的sigmoid计算处理方案。例如,针对sigmoid(x),可以将其进行多项式拟合,得到表达式sigmoid(x)=w0+w1*x+w3*x3+w5*x5+w7*x7+w9*x7,其中,wi,i=1,……,9是拟合系数。然后,基于拟合后的多项式,使用各个成员设备的本地数据来进行多方安全计算得到最终的sigmoid计算结果。
图1示出了多项式拟合下的sigmoid函数的计算过程的程序代码实现的示例示意图。从图1中可以看出,上述基于多项式拟合实现的sigmoid函数计算涉及5次MPC(SecureMulti-party Computation)乘法计算,即,y1,y3,y5,y7和y9的乘法计算过程,每次MPC乘法计算都要涉及到两个成员设备之间的交互处理。
此外,sigmoid函数计算通常都是定点数的计算。由于在执行定点数的MPC乘法计算后,定点位置都会左移。例如,假设x为64bit和y为64bit,定点位置为14,则执行MPC乘法计算后,xy仍然为64bit,但是定点位置左移到28。为了避免连乘导致定点位置不断左移,每次MPC乘法计算后都需要执行定点归位操作。而且,在上述5次乘法计算过程中,在后乘法计算过程都需要使用在前乘法计算过程中得到的计算结果,从而该5次乘法计算过程不能并行执行,由此上述多项式拟合方案需要至少5轮交互处理,由此多项式拟合方案存在交互轮次过多的问题。
此外,多项式拟合方案在自变量x的取值区间扩大时,会出现拟合值与实际值之间的偏差非常大的问题。图2A示出了自变量x的取值区间为[-8,8]时多项式拟合下的sigmoid函数的拟合结果的示例示意图,图2B示出了自变量x的取值区间为[-16,16]时多项式拟合下的sigmoid函数的拟合结果的示例示意图,其中,实线图为实际值曲线图,虚线图为拟合值曲线图。从图2A和图2B中可以看出,在自变量x的取值区间为[-8,8]时,拟合值与实际值的拟合程度非常好,但是在自变量x的取值区间扩大到[-16,16]时,拟合值与实际值之间的偏差非常大。
鉴于上述,本说明书的实施例提供了一种基于隐私保护的两方模型预测方案。在该两方模型预测方案中,利用三角函数拟合激活函数sigmoid的MPC计算,即,将sigmoid函数拟合为各个成员设备本地可处理的三角函数的乘法计算。在进行两方模型预测时,使用本地模型数据和本地特征数据来进行本地模型计算;并且使用本地模型计算结果在本地执行对激活函数sigmoid执行三角函数拟合时的在各个成员设备本地执行的三角函数计算得到中间处理结果。随后,各个成员设备使用各自的中间处理结果执行和共享形式下的安全计算得到两方模型预测结果,每个成员设备具有两方模型预测结果分片。利用上述两方模型预测方案,可以在确保各个数据拥有方的本地数据的数据隐私安全的情况下,提升两方模型预测的模型预测精度和模型预测效率。
在本说明书中,术语“业务模型”是指被应用于业务场景中来进行业务预测服务的机器学习模型,比如,用于分类预测、业务风险预测等等的机器学习模型。机器学习模型的示例可以包括但不限于:逻辑回归模型、神经网络模型等。神经网络模型的示例可以包括但不限于深度神经网络(DNN,Deep Neural Network)模型、卷积神经网络(CNN,Convolutional Neural Network)模型、BP神经网络等。
业务模型的具体实现形式取决于所应用的业务场景。例如,在业务模型应用于对用户进行分类的应用场景,则业务模型被实现为用户分类模型。相应地,可以根据该业务模型来对待分类用户的用户特征数据进行用户分类预测。在业务模型应用于对业务系统上发生的业务交易进行业务风险预测的应用场景,则业务模型被实现为业务风险预测模型。相应地,可以根据该业务模型来对该业务交易的业务交易特征数据进行业务风险预测。
下面将参考附图来详细描述根据本说明书的实施例的基于隐私保护的两方模型预测方法、两方模型预测装置及两方模型预测系统。
图3示出了根据本说明书的实施例的两方模型预测系统300的架构示例示意图。
如图3所示,两方模型预测系统300包括两个成员设备310-1和310-2以及网络320。网络320的示例例如可以包括但不局限于互联网或局域网等。在图3的示例中,成员设备310-1和310-2经由网络320可通信地连接,由此彼此之间进行数据通信。在本说明书的其它实施例中,两方模型预测系统300可以不包括网络320,并且各个成员设备310-1和310-2之间直接可通信地连接。
在本说明书的实施例中,成员设备310-1和310-2可以是具有本地数据的设备或设备方,比如,智能终端设备、服务器设备等。在本说明书中,术语“成员设备”和术语“数据拥有方”或“模型预测方”可以互换使用。
在本说明书中,成员设备310-1和310-2的本地数据可以包括各个成员设备在本地收集的业务数据。业务数据可以包括业务对象的特征数据。业务对象的示例可以包括但不限于用户、商品、事件或关系。相应地,业务数据例如可以包括但不限于在本地收集的用户特征数据、商品特征数据、事件特征数据或关系特征数据,比如,用户特征数据、业务处理数据、金融交易数据、商品交易数据、医疗健康数据等等。业务数据例如可以应用于业务模型来进行模型预测、模型训练以及其它合适的两方数据联合处理。
在本说明书中,业务数据可以包括基于文本数据、图像数据和/或语音数据的业务数据。相应地,业务模型可以应用于基于文本数据、图像数据和/或语音数据的业务风险识别、业务分类或者业务决策等等。例如,本地数据可以是由医院收集的医疗数据,并且业务模型可以用于进行疾病检查或疾病诊断。或者,所收集的本地数据可以包括用户特征数据。相应地,业务模型可以应用于基于用户特征数据的业务风险识别、业务分类、业务推荐或者业务决策等等。业务模型的示例可以包括但不限于人脸识别模型、疾病诊断模型、业务风险预测模型、服务推荐模型等等。
在本说明书中,各个成员设备所具有的本地数据共同组成业务模型的预测数据,并且各个成员设备所拥有的本地数据是该成员设备的秘密,不能被其他成员设备获悉或者完整地获悉。在一个实际应用示例中,各个成员设备例如可以是业务应用方或业务应用关联方的数据存储服务器或智能终端设备,比如,不同金融机构或医疗机构的本地数据存储服务器或智能终端设备。
在本说明书中,成员设备310-1和310-2可以是任何合适的具有计算能力的电子设备。所述电子设备包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动电子设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴电子设备、消费电子设备等等。
此外,成员设备310-1、310-2分别具有两方模型预测装置311-1和311-2。成员设备310-1和310-2处具有的两方模型预测装置可以经由网络320执行网络通信来进行数据交互,由此协作处理来执行两方模型预测处理。两方模型预测装置的操作和结构将在下面参照附图进行详细说明。
在一些实施例中,网络320可以是有线网络或无线网络中的任意一种或多种。网络320的示例可以包括但不限于电缆网络、光纤网络、电信网络、企业内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigZee)、近场通讯(NFC)、设备内总线、设备内线路等或其任意组合。
图4示出了根据本说明书的实施例的基于隐私保护的两方模型预测方法400的流程图。在图4的示例中,成员设备310-1和310-2分别具有本地模型数据W1和W2以及业务对象的本地特征数据X1和X2,两个成员设备的本地模型数据W1和W2组成机器学习模型W,两个成员设备的本地特征数据X1和X2组成机器学习模型W的模型预测数据。
在本说明书的一个示例中,两个成员设备的本地特征数据可以是水平切分数据。术语“水平切分”是指各个成员设备具有业务模型的数据预测数据的部分数据,并且每个成员设备所具有的部分数据中的每条样本数据都是完整的样本数据,即,包括该样本数据的所有特征数据,但是具有不同的样本ID。
图5示出了根据本说明书的实施例的数据水平切分的示例示意图。图1中示出了2个成员设备Alice和Bob。每个成员设备Alice和Bob具有的特征数据集中的每条特征数据都是完整的,即,每条特征数据包括所有属性特征(x),比如,Alice具有完整的特征数据(x0),但是成员设备Alice和Bob具有的特征数据的数据ID不同。
在本说明书的另一示例中,成员设备具有的特征数据可以是垂直切分数据。术语“垂直切分”是指各个成员设备具有业务模型的模型预测数据的部分数据,并且每个成员设备所具有的部分数据中的每条特征数据都不是完整的特征数据,但是每个成员设备的特征数据具有相同的数据ID。即,对于每条特征数据,所有成员设备具有的数据共同组成完整的特征数据。在一个例子中,假设存在两个成员设备Alice和Bob,并且特征数据包括属性特征数据则经过垂直切分后,成员设备Alice拥有该特征数据的属性特征以及成员设备Bob拥有该特征数据的属性特征
图6示出了根据本说明书的实施例的数据垂直切分的示例示意图。图5中示出了2个成员设备Alice和Bob。每个成员设备Alice和Bob拥有业务模型的模型预测数据中的每条特征数据的部分数据,对于每条特征数据,成员设备Alice和Bob拥有的属性特征数据组合在一起,可以构成该特征数据的完整内容。比如,假设某个特征数据包括属性特征数据则经过垂直切分后,成员设备Alice拥有属性特征数据以及成员设备Bob拥有属性特征数据
回到图4,如图4所示,在410,在成员设备310-1和310-2处,分别使用本地模型数据和本地特征数据来进行本地模型计算。例如,在成员设备310-1处计算Y1=W1*X1,在成员设备310-2处计算Y2=W2*X2。
在420,在成员设备310-1和310-2处,使用本地模型计算结果在本地执行第一函数计算得到中间处理结果,所述第一函数包括对所述机器学习模型的激活函数sigmoid执行三角函数拟合时的各个拟合项进行分解得到的、在各个成员设备处执行的三角函数。
可选地,在一个示例中,假设两个成员设备的本地模型计算结果分别为Y1和Y2,激活函数sigmoid(Y1+Y2)被拟合为即, 其中,m为拟合项数,M为变量区间取值上限,ak为拟合系数,i为1或2。在这种情况下,成员设备310-1处的第一函数包括和以及成员设备310-2处的第一函数包括和例如,在变量区别取值范围为[-16,16]时,M=16。
在如上得到成员设备310-1和310-2的中间处理结果后,在430,成员设备310-1和310-2使用各自的中间处理结果执行和共享形式下的安全计算得到机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片。可选地,在一个示例中,机器学习模型的示例可以包括逻辑回归模型或神经网络模型。此外,可选地,业务对象的示例可以包括以下之一:用户,商品,事件和关系。
可选地,在另一示例中,可以将各个成员设备的中间处理结果组合为中间结果处理矩阵,然后执行和共享形式下的秘密共享矩阵乘法计算得到机器学习模型的模型预测结果。
图7示出了根据本说明书的实施例的和共享形式下的安全计算过程700的示例流程图。
如图7所示,在710,在成员设备310-1和310-2处,分别使用中间处理结果生成中间处理结果矩阵。例如,针对每个拟合项 在成员设备310-1处生成向量在成员设备310-2处生成向量由此,针对所有拟合项,在成员设备310-1处生成中间处理结果矩阵在成员设备310-2处生成中间处理结果矩阵
在720,成员设备310-1和310-2使用各自的中间处理结果矩阵执行和共享形式下的秘密共享矩阵乘法计算得到机器学习模型的模型预测结果,每个成员设备具有模型预测结果的模型预测结果分片。这里,机器学习模型的模型预测结果是秘密共享矩阵乘法得到的乘法矩阵的对角线上的元素与对应拟合系数的乘积之和。
可选地,在一个示例中,所述和共享形式下的秘密共享矩阵乘法计算可以是基于半可信第三方的和共享形式下的秘密共享矩阵乘法计算。
图8示出了根据本说明书的实施例的基于半可信第三方的和共享形式下的秘密共享矩阵乘法过程800的示例流程图。在秘密共享矩阵乘法过程800,需要计算矩阵x和y的矩阵乘积,其中,矩阵x和y以和共享形式存储在成员设备310-1和310-2处。即,成员设备310-1具有矩阵x0和y0,成员设备310-2具有矩阵x1和y1,并且x=x0+x1,y=y0+y1。
如图8所示,在810,在第三方设备310-3处,生成矩阵u0,u1,v0,v1,a0和a1,其中,矩阵u0和u1的维度与成员设备301-1处具有的矩阵x的维度相同,矩阵v0和v1的维度与成员设备301-2处具有的矩阵y的维度相同。a0+a1=(u0+u1)(v0+v1),矩阵a0和a1的维度与矩阵u0和v0的矩阵乘积的维度相同,并且矩阵a0和a1是通过对(u0+u1)(v0+v1)进行分片拆分方式得到的矩阵分片(share)。
在820,第三方设备310-3将矩阵a0,u0和v0下发给成员设备310-1,以及将矩阵a1,u1和v1下发给成员设备310-2。
在830,在成员设备310-1处,计算t0=x0-u0以及s0=y0-v0。在成员设备310-2处,计算t1=x1-u1以及s1=y1-v1。
在840,成员设备310-1将t0和s0发送给成员设备310-2,以及成员设备310-2将t1和s1发送给成员设备310-1。
在850,在成员设备310-1处,计算w0:=(t0+t1)y0+u0(s0+s1)+a0。在成员设备310-2处,计算w1:=(t0+t1)y1+u1(s0+s1)+a1。由此,得到基于半可信第三方的和共享形式下的秘密共享矩阵乘法结果。
如上参照图1到图8,对根据本说明书的实施例的基于隐私保护的两方模型预测方法进行了描述。
利用上述两方模型预测方法,通过利用三角函数拟合激活函数sigmoid的MPC计算,可以克服多项式拟合方案中的拟合值偏差过大以及交互轮次过多问题,从而在确保各个成员设备处的本地隐私数据的数据隐私安全的情况下,提升两方模型预测精度和两方模型预测效率。
此外,利用上述两方模型预测方法,通过将各个成员设备处的中间处理结果表征为中间处理结果矩阵,并且采用和共享形式下的秘密共享矩阵乘法计算来得到机器学习模型的模型预测结果,从而可以进一步减少MPC计算次数,由此进一步提升两方模型预测效率。
图9示出了根据本说明书的实施例的基于隐私保护的两方模型预测装置900的方框图。如图9所示,两方模型预测装置900包括本地模型计算单元910、中间处理单元920和两方安全计算单元930。
本地模型计算单元910被配置为使用本地模型数据和本地特征数据来进行本地模型计算。
中间处理单元920被配置为使用本地模型计算结果在本地执行第一函数计算得到中间处理结果。第一函数包括对所述机器学习模型的激活函数sigmoid执行三角函数拟合时的各个拟合项进行分解得到的、在各个成员设备处执行的三角函数。
两方安全计算单元930被配置为与另一成员设备一起,使用各自的中间处理结果执行和共享形式下的安全计算得到所述机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片,其中,另一成员设备的中间处理结果通过使用该另一成员设备的本地模型计算结果在本地执行所述第一函数计算得到,该另一成员设备的本地模型计算结果根据该另一成员设备的本地模型数据和本地特征数据进行本地模型计算确定出。
可选地,在另一示例中,两方安全计算单元930可以被配置为将各个成员设备的中间处理结果组合为中间结果处理矩阵,然后执行和共享形式下的秘密共享矩阵乘法计算得到机器学习模型的模型预测结果。
图10示出了根据本说明书的实施例的两方安全计算单元930的一个实现示例的方框图。如图10所示,两方安全计算单元930包括中间处理结果矩阵生成模块931和两方安全计算模块933。
中间处理结果矩阵生成模块931被配置为使用中间处理结果生成本地处理结果矩阵。中间处理结果矩阵生成模块931的操作可以参考上面参照图7描述的710的操作。
两方安全计算模块933被配置为与另一成员设备一起,使用各自的中间处理结果矩阵执行和共享形式下的秘密共享矩阵乘法计算得到所述机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片。另一成员设备处的中间处理结果矩阵基于该成员设备的中间处理结果生成。两方安全计算模块933的操作可以参考上面参照图7描述的720的操作。
如上参照图1到图10,对根据本说明书实施例的基于隐私保护的两方模型预测方法和两方模型预测装置进行了描述。上面的两方模型预测装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图11示出了根据本说明书的实施例的在成员设备侧基于计算机实现的两方模型预测装置1100的示意图。如图11所示,两方模型预测装置1100可以包括至少一个处理器1110、存储器(例如,非易失性存储器)1120、内存1130和通信接口1140,并且至少一个处理器1110、存储器1120、内存1130和通信接口1140经由总线1160连接在一起。至少一个处理器1110执行在存储器中存储或编码的计算机程序(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机程序,其当执行时使得至少一个处理器1110:响应于针对两方联合处理数据Y的处理请求,使用本地隐私数据Yi在本地执行第一函数计算得到本地处理结果,所述处理请求是确定两方联合处理数据Y的函数sigmoid计算结果,第一函数包括对函数sigmoid执行三角函数拟合时的各个拟合项进行分解得到的、在该成员设备处执行的三角函数;以及与另一成员设备一起,使用各自的本地处理结果执行和共享形式下的安全计算得到两方数据联合处理结果,每个成员设备具有两方数据联合处理结果的两方数据联合处理结果分片。
应该理解,在存储器中存储的计算机程序被执行时使得至少一个处理器1110执行本说明书的各个实施例中的结合图1-10描述的各种操作和功能。
根据一个实施例,提供了一种比如计算机可读介质(例如,非暂时性计算机可读介质)的程序产品。计算机可读介质可以具有计算机程序(即,上述以软件形式实现的元素),该计算机程序被处理器执行时,使得处理器执行本说明书的各个实施例中的结合图1-10描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的计算机程序。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此计算机可读代码和存储计算机可读代码的可读存储介质构成了本说明书的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
根据一个实施例,提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序当被处理器执行时,使得处理器执行本说明书的各个实施例中以上结合图1-10描述的各种操作和功能。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。
Claims (12)
1.一种基于隐私保护的两方模型预测方法,所述两方包括两个成员设备,每个成员设备具有本地模型数据和业务对象的本地特征数据,两个成员设备的本地模型数据组成机器学习模型,两个成员设备的本地特征数据组成所述机器学习模型的模型预测数据,所述方法应用于一个成员设备,所述方法包括:
使用本地模型数据和本地特征数据来进行本地模型计算;
使用本地模型计算结果在本地执行第一函数计算得到中间处理结果,所述第一函数包括对所述机器学习模型的激活函数sigmoid执行三角函数拟合时的各个拟合项进行分解得到的、在各个成员设备处执行的三角函数;以及
与另一成员设备一起,使用各自的中间处理结果执行和共享形式下的安全计算得到所述机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片,其中,所述另一成员设备的中间处理结果通过使用该另一成员设备的本地模型计算结果在本地执行所述第一函数计算得到,该另一成员设备的本地模型计算结果根据该另一成员设备的本地模型数据和本地特征数据执行本地模型计算确定出。
3.如权利要求1所述的两方模型预测方法,其中,所述本地特征数据是垂直切分数据或者水平切分数据。
4.如权利要求1所述的两方模型预测方法,其中,所述业务对象包括以下之一:用户,商品,事件和关系。
5.如权利要求2所述的两方模型预测方法,其中,与另一成员设备一起,使用各自的中间处理结果执行和共享形式下的安全计算得到所述机器学习模型的模型预测结果包括:
使用中间处理结果生成中间处理结果矩阵;以及
与另一成员设备一起,使用各自的中间处理结果矩阵执行和共享形式下的秘密共享矩阵乘法计算得到所述机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片,所述另一成员设备处的中间处理结果矩阵基于该成员设备的中间处理结果生成。
6.如权利要求5所述的两方数据联合处理方法,其中,所述和共享形式下的秘密共享矩阵乘法计算是基于半可信第三方的和共享形式下的秘密共享矩阵乘法计算。
7.一种基于隐私保护的两方模型预测装置,所述两方包括两个成员设备,每个成员设备具有本地模型数据和业务对象的本地特征数据,两个成员设备的本地模型数据组成机器学习模型,两个成员设备的本地特征数据组成所述机器学习模型的模型预测数据,所述两方模型预测装置应用于一个成员设备,所述两方模型预测装置包括:
至少一个处理器,
与所述至少一个处理器耦合的存储器,以及
存储在所述存储器中的计算机程序,所述至少一个处理器执行所述计算机程序来实现:
使用本地模型数据和本地特征数据来进行本地模型计算;
使用本地模型计算结果在本地执行第一函数计算得到中间处理结果,所述第一函数包括对所述机器学习模型的激活函数sigmoid执行三角函数拟合时的各个拟合项进行分解得到的、在各个成员设备处执行的三角函数;以及
与另一成员设备一起,使用各自的中间处理结果执行和共享形式下的安全计算得到所述机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片,其中,所述另一成员设备的中间处理结果通过使用该另一成员设备的本地模型计算结果在本地执行所述第一函数计算得到,该另一成员设备的本地模型计算结果根据该另一成员设备的本地模型数据和本地特征数据进行本地模型计算确定出。
9.如权利要求7所述的两方模型预测装置,其中,所述至少一个处理器执行所述计算机程序来实现:
使用中间处理结果生成本地处理结果矩阵;以及
与另一成员设备一起,使用各自的中间处理结果矩阵执行和共享形式下的秘密共享矩阵乘法计算得到所述机器学习模型的模型预测结果,每个成员设备具有所述模型预测结果的模型预测结果分片,所述另一成员设备处的中间处理结果矩阵基于该成员设备的中间处理结果生成。
10.一种基于隐私保护的两方模型预测系统,包括:
两个成员设备,每个成员设备具有本地模型数据和业务对象的本地特征数据,并且包括如权利要求7到9中任一所述的两方模型预测装置,
其中,两个成员设备的本地模型数据组成机器学习模型,两个成员设备的本地特征数据组成所述机器学习模型的模型预测数据。
11.一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行来实现如权利要求1到6中任一所述的两方模型预测方法。
12.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行来实现如权利要求1到6中任一所述的两方模型预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110143226.7A CN112966809B (zh) | 2021-02-02 | 2021-02-02 | 基于隐私保护的两方模型预测方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110143226.7A CN112966809B (zh) | 2021-02-02 | 2021-02-02 | 基于隐私保护的两方模型预测方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112966809A true CN112966809A (zh) | 2021-06-15 |
CN112966809B CN112966809B (zh) | 2022-05-17 |
Family
ID=76273409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110143226.7A Active CN112966809B (zh) | 2021-02-02 | 2021-02-02 | 基于隐私保护的两方模型预测方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112966809B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836596A (zh) * | 2021-09-26 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | 两方安全选择确定选择结果分片的方法、装置和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109919318A (zh) * | 2018-12-14 | 2019-06-21 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和设备 |
EP3676985A2 (en) * | 2017-08-30 | 2020-07-08 | Inpher, Inc. | High-precision privacy-preserving real-valued function evaluation |
US20200242466A1 (en) * | 2017-03-22 | 2020-07-30 | Visa International Service Association | Privacy-preserving machine learning |
CN112000990A (zh) * | 2020-10-27 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 隐私保护的数据处理方法、装置、设备及机器学习系统 |
-
2021
- 2021-02-02 CN CN202110143226.7A patent/CN112966809B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200242466A1 (en) * | 2017-03-22 | 2020-07-30 | Visa International Service Association | Privacy-preserving machine learning |
EP3676985A2 (en) * | 2017-08-30 | 2020-07-08 | Inpher, Inc. | High-precision privacy-preserving real-valued function evaluation |
CN109919318A (zh) * | 2018-12-14 | 2019-06-21 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和设备 |
CN112000990A (zh) * | 2020-10-27 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 隐私保护的数据处理方法、装置、设备及机器学习系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836596A (zh) * | 2021-09-26 | 2021-12-24 | 支付宝(杭州)信息技术有限公司 | 两方安全选择确定选择结果分片的方法、装置和系统 |
CN113836596B (zh) * | 2021-09-26 | 2024-08-06 | 支付宝(杭州)信息技术有限公司 | 两方安全选择确定选择结果分片的方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112966809B (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021103901A1 (zh) | 基于多方安全计算的神经网络模型训练及预测方法、装置 | |
WO2020156004A1 (zh) | 模型训练方法、装置及系统 | |
CN110929870B (zh) | 图神经网络模型训练方法、装置及系统 | |
US20220092414A1 (en) | Method, apparatus, and system for training neural network model | |
CN112000991B (zh) | 多方数据联合处理方法、装置及系统 | |
CN111062487B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN112132270B (zh) | 基于隐私保护的神经网络模型训练方法、装置及系统 | |
CN111079939B (zh) | 基于数据隐私保护的机器学习模型特征筛选方法及装置 | |
CN111695415A (zh) | 图像识别模型的构建方法、识别方法及相关设备 | |
CN112597540B (zh) | 基于隐私保护的多重共线性检测方法、装置及系统 | |
CN112580826B (zh) | 业务模型训练方法、装置及系统 | |
CN111523674A (zh) | 模型训练方法、装置及系统 | |
CN111523556A (zh) | 模型训练方法、装置及系统 | |
CN112966809B (zh) | 基于隐私保护的两方模型预测方法、装置及系统 | |
CN112183757A (zh) | 模型训练方法、装置及系统 | |
CN112183759A (zh) | 模型训练方法、装置及系统 | |
CN112288088B (zh) | 业务模型训练方法、装置及系统 | |
CN111737756B (zh) | 经由两个数据拥有方进行的xgb模型预测方法、装置及系统 | |
CN115865323A (zh) | 一种基于秘密分享和ot协议的皮尔逊相关系数计算方法 | |
CN111523675A (zh) | 模型训练方法、装置及系统 | |
CN115130548A (zh) | 数据处理方法和装置、存储介质及电子设备 | |
CN115034333B (zh) | 联邦学习方法、联邦学习装置及联邦学习系统 | |
CN111738453A (zh) | 基于样本加权的业务模型训练方法、装置及系统 | |
CN112183566B (zh) | 模型训练方法、装置及系统 | |
CN112183565A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240920 Address after: Room 302, 3rd Floor, Building 1, Yard 1, Danling Street, Haidian District, Beijing, 100080 Patentee after: Sasi Digital Technology (Beijing) Co.,Ltd. Country or region after: China Address before: 310000 801-11 section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province Patentee before: Alipay (Hangzhou) Information Technology Co.,Ltd. Country or region before: China |