CN111737755B - 业务模型的联合训练方法及装置 - Google Patents

业务模型的联合训练方法及装置 Download PDF

Info

Publication number
CN111737755B
CN111737755B CN202010759819.1A CN202010759819A CN111737755B CN 111737755 B CN111737755 B CN 111737755B CN 202010759819 A CN202010759819 A CN 202010759819A CN 111737755 B CN111737755 B CN 111737755B
Authority
CN
China
Prior art keywords
party
share
result
business
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010759819.1A
Other languages
English (en)
Other versions
CN111737755A (zh
Inventor
周亚顺
李漓春
张祺智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010759819.1A priority Critical patent/CN111737755B/zh
Publication of CN111737755A publication Critical patent/CN111737755A/zh
Application granted granted Critical
Publication of CN111737755B publication Critical patent/CN111737755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供一种业务模型的联合训练方法及装置,在多方安全计算中,将非线性的复杂运算分配给第三方处理,大大降低多个业务方联合训练非线性模型的复杂度。同时,持有训练样本的特征数据或标签数据的各个业务方通过约定的随机数生成方式,生成预定数量的随机数,从而获取按顺序一一对应的训练样本的样本数据,保持数据的一致性,并且由于第三方不参与随机数的生成过程,从而各个其他业务方有效针对第三方保证了数据隐私。而各个其他业务方之间通过秘密共享方法进行交互,相互之间保证了数据隐私。总之,以上方法在隐私保护的基础上,大大降低多个业务方联合训练非线性模型的运算复杂度。

Description

业务模型的联合训练方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及利用计算机对业务模型进行训练的方法和装置。
背景技术
大数据时代,很多数据可能分散存于不同的企业中,企业与企业之间基于隐私保护等方面的考虑,并不能完全分享彼此的数据,因此可能存在数据孤岛。
在一些情况下,企业与企业之间通常需要进行合作安全建模,以便在充分保护企业数据隐私的前提下,使用各方的数据对数据处理模型进行协作训练,从而更准确、有效地处理业务数据。此时,用于对数据处理模型进行训练的数据可以是分散在合作建模的各方的。因此,如何在模型训练的过程中基于对建模各方的数据隐私的保护,提供更有效的模型训练方式,是当前亟需解决的技术问题。
发明内容
本说明书一个或多个实施例描述了一种业务模型的联合训练方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供了一种业务模型的联合训练方法,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述方法由第一方执行,包括:按照与所述第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据;通过秘密共享的方式与所述第二方进行交互,从而融合当前模型参数和所述第一特征数据,得到融合结果的第一份额;向所述第三方发送所述融合结果的第一份额,以供所述第三方根据所述融合结果的第一份额,以及从所述第二方获取的所述融合结果的第二份额,确定基于激励函数处理所述融合结果的激励结果;从所述第三方获取所述激励结果的第一份额;基于所述激励结果的第一份额,与所述第二方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第一份额。
在一个实施例中,在所述第一方持有包含部分业务特征的特征数据的情况下,所述多个业务方还包括第四方,所述第四方还持有通过所述随机数生成方式和所述当前随机数种子获取的第四特征数据;所述通过秘密共享的方式与所述第二方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第一份额包括:通过秘密共享的方式与所述第二方、所述第四方进行交互,从而融合模型参数和包括所述第一特征数据、所述第四特征数据的样本特征数据,得到融合结果的第一份额。
在一个实施例中,所述第二方还持有通过所述随机数生成方式和所述当前随机数种子获取的第二特征数据;所述通过秘密共享的方式与所述第二方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第一份额包括:通过秘密共享的方式与所述第二方进行交互,从而融合当前模型参数和所述第一特征数据、所述第二特征数据,得到融合结果的第一份额。
在一个实施例中,所述随机数生成方式中,生成的第一个随机数依赖于所述当前随机数种子,后续生成的单个随机数依赖于前一个随机数的值。
在一个实施例中,所述基于所述激励结果的第一份额,与所述第二方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第一份额包括:根据所述激励结果的第一份额,与所述第二方以秘密共享的方式确定当前模型参数的梯度,得到所述梯度的第一份额;按照预定的学习率,基于所述梯度的第一份额调整当前模型参数的第一份额。
在一个实施例中,所述根据所述激励结果的第一份额,确定所述梯度的第一份额包括:利用所述激励结果的第一份额,确定激励结果与第一标签数据的差的第一份额,所述第一标签数据由所述第二方根据所述随机数生成方式和所述当前随机数种子得到;根据所述激励结果与第一标签数据的差的第一份额以及所述第一特征数据的第一份额,与所述第二方持有的所述激励结果与第一标签数据的差的第二份额以及所述第一特征数据的第二份额,以秘密共享的方式确定所述梯度的第一份额。
在一个实施例中,所述梯度的第一份额通过以下方式得到:通过所述第一特征数据第一份额的转置矩阵与所述激励结果与第一标签数据的差的第一份额确定第一乘积项;根据所述第一特征数据第一份额的转置矩阵与所述第二方持有的所述激励结果与第一标签数据的差的第二份额,以秘密共享方式得到第二乘积项的第一份额;根据所述激励结果与第一标签数据的差的第一份额与所述第二方持有的所述第一特征数据第二份额的转置矩阵,以秘密共享方式得到第三乘积项的第一份额;基于所述第一乘积项、所述第二乘积项的第一份额、所述第三乘积项的第一份额,确定所述梯度的第一份额。
在一个实施例中,在所述第二方以秘密共享方式向所述第一方分享所述第一标签数据的第一份额的情况下,所述激励结果与所述第一标签数据的差的第一份额基于所述第一标签数据的第一份额与所述激励结果的第一份额的差确定。
在一个实施例中,在所述第二方单独持有所述第一标签数据的情况下,所述激励结果与所述第一标签数据的差的第一份额为所述激励结果的第一份额,由所述第二方持有的所述激励结果与所述第一标签数据的差的第二份额,根据所述激励结果的第二份额与所述第一标签数据的差确定。
根据第二方面,提供一种业务模型的联合训练方法,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述方法由所述第二方执行,包括:通过秘密共享的方式与所述第一方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第二份额,其中,所述第一特征数据由所述第一方按照与所述第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,基于与各个随机数分别对应的各个训练样本确定;向所述第三方发送所述融合结果的第二份额,以供所述第三方根据所述融合结果的第二份额,以及从所述第一方获取的所述融合结果的第一份额,确定基于激励函数处理所述融合结果的激励结果;从所述第三方获取所述激励结果的第二份额;基于所述激励结果的第二份额,以及第一标签数据,与所述第一方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第二份额,其中,所述第一标签数据由所述第二方按照所述随机数生成方式和所述当前随机数种子得到。
在一个实施例中,所述随机数生成方式中,生成的第一个随机数依赖于所述当前随机数种子,后续生成的单个随机数依赖于前一个随机数的值。
在一个实施例中,在所述第一方持有包含部分业务特征的特征数据的情况下,所述多个业务方还包括第四方,所述第四方还持有通过所述随机数生成方式和所述当前随机数种子获取的第四特征数据;所述通过秘密共享的方式与所述第一方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第二份额包括:通过秘密共享的方式与所述第一方、所述第四方进行交互,从而融合模型参数和包括所述第一特征数据、所述第四特征数据的样本特征数据,得到融合结果的第二份额。
在一个实施例中,所述第二方还持有通过所述随机数生成方式和所述当前随机数种子获取的第二特征数据;所述通过秘密共享的方式与所述第一方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第二份额包括:通过秘密共享的方式与所述第一方进行交互,从而融合当前模型参数和所述第一特征数据、所述第二特征数据,得到融合结果的第二份额。
在一个实施例中,所述基于所述激励结果的第二份额,以及第一标签数据,与所述第一方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第二份额包括:根据所述激励结果的第二份额,确定当前模型参数的梯度的第二份额;按照预定的学习率,基于所述梯度的第二份额调整当前模型参数的第二份额。
在一个实施例中,所述根据所述激励结果的第二份额,确定所述梯度的第二份额包括:利用所述激励结果的第二份额,确定激励结果与所述第一标签数据的差的第二份额,所述激励结果与所述第一标签数据的差由所述激励结果与第一标签数据的差确定;根据所述激励结果与所述第一标签数据的差的第二份额以及所述第一特征数据的第二份额,与所述第一方持有的所述激励结果与所述第一标签数据的差的第一份额以及所述第一特征数据的第一份额,以秘密共享的方式确定所述梯度的第二份额,所述第一特征数据的第二份额由所述第一方以秘密共享的方式提供给所述第二方。
在一个实施例中,所述梯度的第二份额通过以下方式得到:根据所述第一特征数据第二份额的转置矩阵与所述第一方持有的所述激励结果与所述第一标签数据的差的第一份额,以秘密共享方式得到第二乘积项的第二份额;根据所述激励结果与所述第一标签数据的差的第二份额与所述第一方持有的所述第一特征数据第一份额的转置矩阵,以秘密共享方式得到第三乘积项的第二份额;通过所述第一特征数据第二份额的转置矩阵与所述激励结果与所述第一标签数据的差的第二份额确定第四乘积项;基于所述第二乘积项的第二份额、所述第三乘积项的第二份额、所述第四乘积项,确定所述梯度的第一份额。
在一个实施例中,在所述第二方以秘密共享方式向所述第一方分享所述第一标签数据的第一份额的情况下,所述激励结果与所述第一标签数据的差的第一份额基于所述第一标签数据的第一份额与所述激励结果的第一份额的差确定。
在一个实施例中,在所述第二方单独持有所述第一标签数据的第一份额的情况下,所述激励结果与所述第一标签数据的差的第二份额,根据所述激励结果的第二份额与所述第一标签数据的差确定,由所述第一方持有的所述激励结果与所述第一标签数据的差的第一份额为所述激励结果的第一份额。
根据第三方面,提供一种业务模型的联合训练方法,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述方法由所述第三方执行,包括:从第一方、第二方分别接收融合结果的第一份额、第二份额,其中,所述融合结果的第一份额、第二份额由所述第一方和所述第二方按照协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据,并以秘密共享的方式进行交互,从而融合当前模型参数和所述第一特征数据得到;根据所述融合结果的第一份额、第二份额确定所述融合结果;利用预定的激励函数处理所述融合结果,得到激励结果;将所述激励结果随机拆分为第一份额、第二份额,并分别发送给第一方、第二方,以供第一方、第二方基于秘密共享方式,利用所述激励结果的第一份额、第二份额,分别更新当前模型参数的第一份额、第二份额。
根据第四方面,提供一种业务模型的联合训练装置,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述装置设于所述第一方,包括:
获取单元,配置为按照与所述第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据;
安全计算单元,配置为通过秘密共享的方式与所述第二方进行交互,从而融合当前模型参数和所述第一特征数据,得到融合结果的第一份额;
通信单元,配置为向所述第三方发送所述融合结果的第一份额,以供所述第三方根据所述融合结果的第一份额,以及从所述第二方获取的所述融合结果的第二份额,确定基于激励函数处理所述融合结果的激励结果;
所述通信单元还配置为,从所述第三方获取所述激励结果的第一份额;
所述安全计算单元还配置为,基于所述激励结果的第一份额,与所述第二方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第一份额。
根据第五方面,提供一种业务模型的联合训练装置,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述装置设于所述第二方,包括:
安全计算单元,配置为通过秘密共享的方式与所述第一方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第二份额,其中,所述第一特征数据由所述第一方按照与所述第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,基于与各个随机数分别对应的各个训练样本确定;
通信单元,配置为向所述第三方发送所述融合结果的第二份额,以供所述第三方根据所述融合结果的第二份额,以及从所述第一方获取的所述融合结果的第一份额,确定基于激励函数处理所述融合结果的激励结果;
所述通信单元还配置为,从所述第三方获取所述激励结果的第二份额;
获取单元,配置为由所述第二方按照所述随机数生成方式和所述当前随机数种子得到所述第一标签数据;
所述安全计算单元还配置为,基于所述激励结果的第二份额,以及第一标签数据,与所述第一方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第二份额。
根据第六方面,一种业务模型的联合训练装置,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述装置设于所述第三方,包括:
通信单元,配置为从第一方、第二方分别接收融合结果的第一份额、第二份额,其中,所述融合结果的第一份额、第二份额由所述第一方和所述第二方按照协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据,并以秘密共享的方式进行交互,从而融合当前模型参数和所述第一特征数据得到;
计算单元,配置为根据所述融合结果的第一份额、第二份额确定所述融合结果;以及,
利用预定的激励函数处理所述融合结果,得到激励结果;
所述通信单元还配置为,将所述激励结果随机拆分为第一份额、第二份额,并分别发送给第一方、第二方,以供第一方、第二方基于秘密共享方式,利用所述激励结果的第一份额、第二份额,分别更新当前模型参数的第一份额、第二份额。
根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面、第二方面或第三方面的方法。
根据第八方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面、第二方面或第三方面的方法。
通过本说明书实施例提供的方法和装置,在多方安全计算中,将非线性的复杂运算分配给第三方处理,大大降低多个业务方联合训练非线性模型的复杂度。同时,持有训练样本的特征数据或标签数据的各个业务方通过约定的随机数生成方式,生成预定数量的随机数,从而获取按顺序一一对应的训练样本的样本数据,保持数据的一致性,并且由于第三方不参与随机数的生成过程,从而各个其他业务方有效针对第三方保证了数据隐私。而各个其他业务方之间通过秘密共享方法进行交互,相互之间保证了数据隐私。总之,以上方法在隐私保护的基础上,大大降低多个业务方联合训练非线性模型的运算复杂度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书的业务模型的实施架构示意图;
图2示出本说明书的技术构思下的一个具体例子的实现过程示意图;
图3示出根据一个实施例的多方安全计算的业务模型的联合训练流程中各个业务方操作的时序示意图;
图4示出根据一个实施例的由第一方执行的业务模型的联合训练流程示意图;
图5示出根据一个实施例的由第二方执行的业务模型的联合训练流程示意图;
图6示出根据一个实施例的由第三方执行的业务模型的联合训练流程示意图;
图7示出根据一个实施例的设于第一方或第二方的业务模型的联合训练装置的示意性框图;
图8示出根据一个实施例的设于第三方的业务模型的联合训练装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。以下介绍本说明书实施例涉及的技术术语。
多方安全计算(Secure Muti-Party Computation,MPC)是一种保护数据隐私安全的算法。多方安全计算能让参与计算的多个数据方在不泄漏自身数据的前提下进行协作计算。
秘密共享(Secret Sharing,SS)是一种保护数据隐私安全的算法。多个数据方可以在不泄漏自身数据的前提下,使用秘密共享方法进行协作计算,得到秘密信息。每个数据方可以获得该秘密信息的一份份额。单个数据方无法恢复该秘密信息。只有将多个数据方拥有的份额融合才能恢复该秘密信息。例如,数据方P1持有数据x1,数据方P2持有数据x2。采用秘密共享方法,数据方P1和数据方P2可以进行协作计算,得到秘密信息。数据方P1在计算后可以获得秘密信息y=
Figure DEST_PATH_IMAGE001
的份额y1,数据方P2在计算后可以获得秘密信息y的份额y2
激励函数(Activation Function),又称为激活函数,可以用于构建数据处理模型。激励函数为非线性函数。通过激励函数可以在数据处理模型中加入非线性因素,提高数据处理模型的表达能力。激励函数可以包括但不限于Sigmoid函数、Tanh函数和ReLU函数等中的一项。数据处理模型例如是逻辑回归模型、神经网络模型等。输出层的激励函数可以将处理结果映射为输出结果,例如预定维度的向量。
损失函数(Loss Function)可以用于衡量数据处理模型的预测值与真实值之间不一致的程度。损失函数的值越小,表示数据处理模型的鲁棒性越好。损失函数可以包括但不限于对数损失函数(Logarithmic Loss Function)、平方损失函数(Square Loss)等。
多方安全计算可以用秘密共享的方式来实现保护隐私的机器学习模型训练,例如逻辑回归等算法。逻辑回归算法里面包含常见的几种优化算法,比如梯度下降法、牛顿法、拟牛顿法等等。本说明书通过特定的交互方式,结合特定的数据获取方式,基于保护隐私针对梯度下降方法进行改进。
参考图1所示,给出了本说明书的一个实施架构,在该实施架构下,可以由三个或以上的业务方共同训练业务模型。其中,这些业务方中,有一个业务方担任可信第三方(如图1中的业务方3)。这里说的可信第三方是指,在训练过程中不提供训练样本的样本数据(如特征数据及标签数据),而作为辅助业务方进行复杂运算,从而降低多方安全计算共同训练业务模型的复杂度。
实践中,参与业务模型训练的业务方至少为2个。如图1示出了3个业务方,分别是业务方1、业务方2、业务方4。在业务模型训练过程中,每个业务方可以提供一部分业务数据,例如一部分特征数据,或标签数据。本说明书提供的方案更适用于特征数据和标签数据对纵向切分的场景。所谓纵向切分,例如特征数据包括x1-xn,标签数据为y,则可以有诸如下表1和表2所示的情形:
表1 纵向切分情形1
训练样本 业务方1 业务方2 业务方3
样本1 x<sub>11</sub>,x<sub>12</sub>,x<sub>13</sub>,x<sub>14</sub> x<sub>15</sub>,x<sub>16</sub>,~x<sub>1n</sub> y<sub>1</sub>
样本2 x<sub>21</sub>,x<sub>22</sub>,x<sub>23</sub>,x<sub>24</sub> x<sub>25</sub>,x<sub>26</sub>,~x<sub>2n</sub> y<sub>2</sub>
…… …… …… ……
表2 纵向切分情形2
训练样本 业务方1 业务方2 业务方3
样本1 x<sub>11</sub>,x<sub>12</sub>,x<sub>13</sub>,x<sub>14</sub> x<sub>15</sub>,x<sub>16</sub>,~x<sub>1(n-2)</sub> x<sub>1(n-1)</sub> ,x<sub>1n</sub>,y<sub>1</sub>
样本2 x<sub>21</sub>,x<sub>22</sub>,x<sub>23</sub>,x<sub>24</sub> x<sub>25</sub>,x<sub>26</sub>,~x<sub>2(n-2)</sub> x<sub>2(n-1)</sub> ,x<sub>2n</sub>,y<sub>2</sub>
…… …… …… ……
表1和表2仅列出了两种情形,实践中可能有更复杂的切分情形。表1示出了一些业务方持有训练样本的特征数据,一些业务方持有训练样本的标签数据的情形,表2示出了一些业务方持有训练样本的特征数据,一些业务方既持有训练样本的标签数据,又持有特征数据的情形。实践中,业务模型例如还可以是多任务模型,单个训练样本可以对应多个标签,则多个标签还可以分布于多个业务方,即由多个业务方持有。
其中,各个业务方可以通过计算机、终端、单个服务器、由多个服务器构成的服务器集群、或者部署在云端的服务器等等,实现与其他业务方的交互。第一方、第二方、第三方也可以理解为相应业务方参与交互的设备。
下面结合图2的一个具体例子描述本说明书的技术构思。
梯度下降法是寻找函数最小值的一种方法。例如函数f(x),x处的梯度为
Figure 393606DEST_PATH_IMAGE002
= f'(x),向梯度相反的方向移动x,以更接近函数f(x)的极值点,即x=x-I·
Figure 382290DEST_PATH_IMAGE002
。其中,I为预设的步长。当
Figure 26023DEST_PATH_IMAGE002
足够小,则x趋于收敛,f (x)趋于平缓,表明到达极值点。此时的x为函数f(x)的极值点的目标自变量值。
在使用梯度下降法的模型训练过程中,模型输出结果通常涉及模型参数和业务特征的融合结果,例如,一个较简单的融合结果是两者的乘积,通过激励函数对融合结果的处理,可以将该融合结果映射为预定维度的、各个维度的数值都在预定区间范围的向量。以神经网络的某一层为例,其输出结果为y,输入的特征矩阵为X,模型参数矩阵为w,则一个简单的例子为y=sigmoid(Xw)。其中的激励函数sigmoid也可以换做其他函数,例如ReLU等,在此不作限定。另外,神经网络可以有很多层,这里的表达式可以表示其中的一层,每一层的输出作为下一层的输入即可。对于y来说,既是X的函数,又是w的函数。神经网络训练的目标是,更新w,得到收敛的w。
假设标签为Y,当X为特征矩阵,Y为标签向量时,dw=XT(y-Y)。则向梯度相反的方向调整w,为:w=w-I·dw。其中,XT为特征矩阵X的转置矩阵,I为预先设定的超参,可以称为步长,或学习率。通常w收敛,则模型在当前阶段训练完毕。值得说明的是,这里仅以模型参数和特征数据的简单融合作为示例,在复杂业务模型中,特征数据和模型参数可以由更复杂的融合结果,例如在多层神经网络中,可以逐层对应一个融合结果,梯度也可以反向逐层传递,但必然可以通过损失函数得到模型参数的梯度。
总之,业务模型的一轮训练过程中,包括以下过程:将特征数据与当前的模型参数进行融合,得到融合结果,例如Xw,接着,根据激励函数对融合结果的处理得到输出结果y;根据输出结果y确定模型参数的梯度dw=XT(y-Y);接着根据w=w-I·dw更新模型参数。
在多方安全计算中,由于各个业务方分别存储有部分数据,且相互之间不能泄露隐私,使得梯度下降法变得复杂。例如:计算非线性的激励函数结果时,可能存在以下问题:通过多项式模拟激励函数,由于多项式的存在,可能存在越界的问题;通过混淆电路(garbled circuit)计算激励函数,由于需要各方相互发送混淆电路,计算量可能增加。
作为示例,在图2示出的具体例子中,多方安全计算的业务方包括第一方、第二方和第三方。第一方和第二方可以是拥有不同数据的数据方,也即为合作安全构建业务模型的双方。业务模型的联合训练样本可以分散在第一方和第二方。例如,第一方可以持有训练样本的特征数据X,第二方可以持有训练样本的标签数据Y。例如,第一方可以为大数据公司,持有用户借贷金额、用户缴纳社保的基数、用户是否已婚、以及用户是否有房等特征数据,第二方可以为征信机构,持有用户的信用标签,用于表示用户是否为失信者。在合作安全建模的过程中,出于保护数据隐私的考虑,第一方大数据公司不能够向第二方征信机构泄漏自身持有的特征数据,第二方征信机构也不能够向第一方大数据公司泄漏自身持有的数据。第三方为可信第三方(TTP,Trusted Third Party)。
第一方和第二方之间可以利用梯度下降法联合训练业务模型,由第三方辅助进行复杂的非线性运算,例如激励函数的运算。图2的具体示例中,业务模型为y=sigmoid(Xw)。其中,Xw是特征数据和模型参数的乘积形式的融合结果。这样,第一方和第二方需要将激励函数的处理对象,即融合结果发送给第三方。这样,第三方就会得到完整的Xw。如此一来,训练样本的特征数据就有可能泄露给第三方,比如在最开始的流程中初始的w由第三方生成。则第三方可以根据Xw和w反推出X。在多方安全计算中,如果隐私保护要求较高,即使可信第三方也不允许获取第一方、第二方中任一方的隐私数据。
为此,本说明书构思下,采用从第一方和第二方随机抽取训练样本的方式,获取当前训练轮次的训练样本。例如第一方抽取特征数据X,第二方抽取相应的标签数据Y。其中,当抽取的训练样本有多条时,X可以是特征矩阵,Y可以是标签向量。
然后,在图2的具体示例中,第一方和第二方利用秘密共享的方法计算特征数据X和模型参数w的融合结果Xw,为了保护隐私。每一方存储Xw的一部分份额,例如第一方存储(Xw)1,第二方存储(Xw)2。第一方和第二方可以将各自持有的份额发送给第三方。第三方获取(Xw)1和(Xw)2,并得到完整的Xw,然后利用激励函数sigmoid对Xw进行处理。此时,由于样本数据是第一方和第二方随机抽取的,因此,第三方无法获知X数据是由哪些样本得到的,从而有利于保护第一业务方和第二业务方的数据隐私。
接着,第三方可以将激励结果y拆分为y1、y2,并分别发送给第一方和第二方。接下来第一方和第二方可以以秘密共享方式计算dw=XT(Y-y)、以秘密共享方式更新后的w,并分别保存秘密分享dw的第一份额(dw)1、第二份额(dw)2,更新后的w的第一份额(w)1、第二份额(w)2
下面结合图3示出的时序图详细描述各个业务方的数据处理过程。
可以理解,业务模型可以用于处理业务数据得到相应业务结果,例如处理用户画像业务数据,得到信息推送的目标的业务处理结果、金融行为业务处理结果等等。业务模型的联合训练数据可以包括业务特征和标签。业务特征可以从业务数据中提取,一条业务特征数据可以对应一个标签。其中,本说明书实施例可以适用于业务方的多种数据持有组合,例如,一方持有部分业务特征和标签,另一方持有另一部分业务特征,或者多方分别持有业务特征,另一方持有业务标签,等等。为了描述方便,可以将业务方持有的业务特征称为特征数据(包含业务特征的数据),将业务方持有的业务标签称为标签数据(包含业务标签的数据)。
在本说明书的技术构思下,至少包括第一方、第二方和第三方。第一方持有与各条训练样本的特征数据,第二方持有与各条训练样本的标签数据,第三方作为可信第三方辅助第一方和第二方的复杂数据处理,但不获取其他方的数据隐私。通常,第三方不持有训练样本数据。但不排除实践中第三方持有部分训练样本数据的可能。
由于互相不能获知对方的隐私数据,在业务模型开始训练之前,第一方和第二方可以做一些数据预处理。例如,在一个实施例中,第一方和第二方可以约定样本数据排列方式,例如业务模型的联合训练样本为按照用户区分的业务数据,可以约定按照身份证号码由小到大的顺序排列、按照年龄由小到大排列等等,以使得各个训练样本对应的特征数据和标签数据在第一方和第二方中的位置一致。在另一个实施例中,第一方和第二方可以为同一个训练样本约定相同的标识,例如训练样本对应用户时,使用身份证号、社会保障号、驾驶证号等作为标识,并将该相同的标识作为随机获取训练样本的依据。
另外,在业务模型训练开始之前,还可以先初始化模型参数,如前文的w。通常,w可以为预定值或者随机值。第一方和第二方可以分别存储w的一部分,例如,第一方存储w01,第二方存储w02,w=w01+w02。这里的w可以由第一方或第二方随机生成,并按照秘密共享的方式拆分后,保留自身份额,把另一份额分享给对方,也可以由第三方生成后随机拆分成两个份额,分发给第一方和第二方,还可以由第一方和第二方分别设定或随机生成自身持有的份额,在此不作限定。在可选的实现方式中,初始的模型参数还可以完全存储在第二方。在本说明书中,假设第一方持有的数据记为第一份额,第二方持有的数据记为第二份额。在模型训练过程中,当前轮次的模型参数记为当前模型参数。如果当前轮次是第一轮次,则当前模型参数可以是初始的模型参数,如果当前轮次不是第一轮次,则当前模型参数可以是之前轮次更新后的模型参数,并且,模型参数的第一份额由第一方持有,第二份额由第二方持有。
图3示出了根据一个实施例的多方安全计算的业务模型的联合训练流程中各个业务方操作的时序示意图。根据前文分析,在多方安全计算中,不管有多少个业务方,都至少存在一个业务方,持有特征数据,另一个业务方持有标签数据,还有一个业务方作为辅助非线性运算的业务方。可选地,持有标签数据的一方也可以持有部分特征数据。为了描述方便,仅给出未持有标签数据的业务方持有特征数据情况下的具体描述。在图3中,第一方持有特征数据,第二方持有标签数据,第三方作为辅助运算的业务方。
如图3所示,在步骤301,第一方与第二方协商随机数生成方法和当前的随机数种子,从而生成预定数量的随机数,以根据生成的随机数获取特征数据和标签数据。可以理解的是,训练过程中由于标签数据被其中一个业务方持有,因此需要对齐取出相应的训练样本。例如,都依次取出分别与用户“张三”、“李四”、“王五”对应的训练样本。为了在各个业务方获取按顺序对应一致的训练样本,第一方和第二方可以按照约定一致的标识来标记训练样本。这里的标识例如可以是训练样本在样本数据集中的排列序号、用户的身份证号等,一个标识可以唯一对应到一条训练样本。从而,在生成的随机数指向该标识的情况下,第一方和第二方可以获取按顺序对应一致的训练样本的相关数据。
在一个实施例中,各个持有样本数据的业务方可以先按照约定的顺序排列各个训练样本,例如,与用户“张三”对应的训练样本都是第一个样本,与用户“李四”对应的都是第二个训练样本,等等。此时,约定的排列序号就可以作为前述的标识。例如生成的随机数为5时,第一方和第二方都可以查找到第5个训练样本对应的相关数据。
在另一个实施例中,还可以通过约定的共同样本标识标记训练样本,例如在训练样本与用户对应的情况下,以可以唯一对应到训练样本的身份证号、医保号、驾驶证号等作为前述的标识。此时,生成的随机数可以一一对应到这些标识,从而第一方和第二方可以获取按顺序一致的训练样本相关数据。
以上标识设置方式仅为示例,具体的各个业务方对训练样本的排列方式可以按照实际情况确定,只要可以在不泄露隐私的情况下保证多个业务方获取的样本数据按顺序对应一致即可。
本领域技术人员可以理解,对于一个确定的随机数生成方式,从相同的随机数种子(初始数值)出发,基于随机数种子的扩展规则一样,则不同业务方可以得到相同的随机数序列。因此,第一方和第二方可以先对随机数生成方式和当前随机数种子进行协商,在协商一致的情况下各自按照随机数生成方式生成的随机数数值也一致。这样,生成的随机数按照顺序对应到预定规则设置的标识的顺序也是一致的。按照随机数取出相应的训练样本的操作,即可取得按顺序对应一致的一组训练样本。通常,按照随机数种子生成的第一个随机数由随机数种子确定,后续生成的各个随机数中,单个随机数可以由其前一个随机数确定。
作为示例,在一个具体实现中,第一方和第二方约定的随机数生成方式可以为
Figure DEST_PATH_IMAGE003
。其中,m>0,其例如可以是当前待生成的随机数序列的最大周期,系数a大于0,小于m,增量c大于等于0且小于m,下标n表示随机数序列的顺序关系。其中的m、a、c等都可以是第一方和第二方约定一致的数据。
为了便于说明,随机数种子可以记为S0,假设m取11,a取3,c=0,第一方和第二方分别按照约定的训练样本排列顺序排列训练样本中的特征数据或标签数据,且生成的随机数指向训练样本的排列序号(即前述的标识),例如约定当前的随机数种子S0为3,则有S1=(3×S0)%17=9,S2=(3×S1)%17=10,S3=(3×S2)%17=13……那么,第一方和第二方可以分别依次取出自身持有的第3、9、10、13……条训练样本的相关数据。周期m和增量c可以合理取值,以避免生成的随机数出现重复。
作为另一个示例,随机数的生成方式例如还可以是:接收四位数二进制输入S0,令S=S0 2,若S不足8位,左侧补0,取S的中间4位作为随机数S1,将S1作为输入,回到步骤1, 生成下一个随机数。例如,约定随机数种子S0为5,用四位二进制表达为0011,则令S=(5)2,补足为8位二进制表达为00011001,取中间4位0110,表示6,则S1为6,令S=(6)2,补足为8位二进制表达为00100100,取中间4位1001,则S2为9……
其中,以上随机数生成方式仅为示例,实践中可以采用各种可行的随机数生成方法生成多个随机数,例如单个随机数不仅和前一个随机数相关,还和当前的参数状态相关,各个参数可以动态变化的随机数生成方法(如每生成一个随机数,某个参数的值加1,以避免生成重复的随机数)等。
第一方和第二方还可以预先约定生成的随机数数量为预定数量,如20、50等。随机数生成方式也可以根据总的训练样本数量和所依赖的选取标识来确定,以保证取到的随机数指向所依赖的选取标识。可以理解的是,以上仅为随机数生成示例,在其他实施例中,第一方和第二方还可以按照其他协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,在此不作限定。
如果出现了重复的随机数,则第一方和第二方可以停止操作,并根据已经确定的随机数序列取出相应训练样本的相关数据,还可以修改约定的随机数生成方式或当前随机数种子重新获取训练样本的相关数据。
其中,第一方持有训练样本的特征数据,假设取出的一组训练样本的特征数据为第一特征数据,第二方至少持有训练样本的标签数据,假设第二方取到的相关数据包括第一标签数据。在第二方还持有训练样本的部分特征数据的情况下,第二方取到的数据还可以包括第二特征数据。也就是说第二方可以取出第一标签数据和第二特征数据。
然后,在步骤302中,第一方和第二方通过秘密共享的方式进行交互,将模型参数和第一特征数据进行融合,从而各自得到融合结果的一定份额。可以理解的是,通过秘密共享的方式得到的融合结果可以是分布在各个参与方,使得各个参与方无法获知完整的融合结果,以保证数据隐私。具体地,第一方可以得到融合结果的第一份额,第二方可以得到融合结果的第二份额。
为了描述方便,下面以模型参数w和特征数据X的融合结果为Xw为例进行说明。
根据一个可能的设计,第一方持有特征数据,第二方仅持有标签数据,第一方持有模型参数w的第一份额w01,第二方持有模型参数w的第一份额w02。其中,w的第一份额和第二份额可以由前文描述的任一种方法确定。第一方可以将特征数据X拆分成第一份额X1和第二份额X2,并将第二份额X2分享给第二方,则有:
Xw=(X1+X2)(w01+w02)= X1 w01+ X1 w02+ X2 w01+ X2 w02
其中,第一项X1 w01和第四项X2 w02分别可以通过第一方和第二方单独确定并保持自身持有,第二项和第三项需要第一方和第二方通过秘密共享的乘法进行确定,并且每一方仅能获取乘积的一部分份额,在此不再赘述。
根据另一个可能的设计,第二方还可以同时持有部分特征数据,例如称为第二特征数据。此时,第一方和第二方基于秘密共享的乘法,可以融合第一特征数据、第二特征数据和模型参数,得到融合结果。例如,第一方持有第一特征数据X1,第二方持有第二特征数据X2和第一标签数据Y。第一方持有模型参数w的第一份额w01,第二方持有模型参数w的第一份额w02。第一方可以将第一特征数据X1拆分成第一份额X11和第二份额X12,并向第二方分享X12,第二方可以将第二特征数据X2拆分成第一份额X21和第二份额X22,并向第一方分享X22
这样,第一方可以根据X11和X21构成的特征数据X'的第一份额X1',例如,特征数据X'的第一份额X1'= X11+X21。第二方可以根据X12和X22构成的特征数据X'的第二份额X2'= X12+X22。在前文描述的纵向切分场景下,特征数据X'还可以是第一特征数据X1和第二特征数据X2的组合,即X'= {X1,X2},于是特征数据X'的第一份额X1'= {X11,X21}。第二方可以根据X12和X22构成的特征数据X'的第二份额X2'= {X12,X22}。
通过与前文的实施例中,第一方持有第一特征数据的第一份额为X1,第一方持有第一特征数据的第二份额为X2类似的原理,可以由第一方和第二方将特征数据和模型参数进行融合,得到融合结果。
可以理解,第一方和第二方共同得到的融合结果可以分别被第一方存储有第一份额,并被第二方持有第二份额。例如,第一方持有的融合结果的第一份额为:
(Xw)1= X1 w01+ (X1 w02)1+ (X2 w01)1;或
(Xw)1= X1'w01+ (X1'w02)1+ (X2'w01)1
第二方持有的融合结果的第二份额为:
(Xw)2= (X1 w02)2+ (X2 w01)2+ X2 w02;或
(Xw)2= (X1'w02)2+ (X2'w01)2+X2'w02
在其他实施例中,模型参数和第一特征数据还可以通过其他融合方式进行融合,其都可以拆分成秘密共享的加法或乘法,在此不再赘述。在X和w为矩阵时,以上秘密共享的加法或乘法为秘密共享的矩阵加法或乘法。
在更多可能的设计中,还可能涉及更多业务方共同提供特征数据的实施方式,模型参数和特征数据还可以进行更复杂的融合。例如,参与安全计算的多个业务方还包括第四方,第四方还持有通过与第一方、第二方一致的随机数生成方式和当前随机数种子获取的第四特征数据(与第四方对应),第一方、第二方和第四方可以相互通过秘密共享的方式进行交互,从而融合模型参数和包括第一特征数据、第四特征数据的样本特征数据,得到融合结果。此时,该融合结果由第一方持有第一份额,第二方持有第二份额,第四方持有第四份额。
总之,不管特征数据分布在多少个业务方,都可以通过秘密共享的方式确定特征数据和模型参数的融合结果,并且每个业务方持有融合结果的部分份额。
接着,在步骤303中,第一方和第二方分别向第三方发送融合结果的第一份额和第二份额。例如,第一方将融合结果的第一份额(Xw)1发送给第三方,第二方将融合结果的第二份额(Xw)2发送给第三方。
可以理解的是,由于步骤301中,第一方和第二方采用两方协商一致的随机方式选择的训练样本,因此,第三方即使得到融合结果的第一份额和第二份额,也不能确定具体是由哪些训练样本的得到的,因此,可以避免第一方和第二方的训练数据泄露给第三方。
接着,在步骤304,第三方基于融合结果的第一份额和融合结果的第二份额确定融合结果,并基于激励函数处理融合结果,得到激励结果。通常,激励函数可以对融合结果做非线性运算,例如可以通过sigmoid、ReLU等激励函数实现。通过激励函数,可以将融合结果映射到预定维度的向量空间上。例如对于用于分类的业务模型,得到与候选类别维度一致的向量,每个维度表示分类到相应类别的概率。
由第三方确定激励函数的取值,可以大大减少第一方和第二方之间交互的次数,从而,一方面,减少第一方和所述第二方之间的数据传输量,另一方面,还有利于快速地确定激励函数的取值。总之,可以提高业务模型的联合训练效率。
作为示例,假设激励函数为Sigmoid函数。第三方可以以融合结果Xw=(Xw)1+(Xw)2为Sigmoid函数中自变量x的取值,从而得到Sigmoid函数的激励结果
Figure 645223DEST_PATH_IMAGE004
可以理解的是,如果参与多方安全计算的业务方有更多,第三方还可以根据其他业务方发送来的融合结果的其他份额,与第一份额、第二份额一起确定融合结果。
接着,在步骤305中,第三方将激励结果随机拆分得到第一份额和第二份额,并分别发送给第一方和第二方。例如,第一份额为y1,第二份额为y2。在仅有第一方、第二方、第三方参与业务模型训练的情况下,y1+y2=y。例如可以将第一份额y1发送个第一方,将第二份额y2发送给第二方。在参与业务模型训练的业务方还包括其他业务方的情况下,y还可以被拆分成更多份额,在此不再赘述。当y是向量时,y1和y2可以是与y维度相同的2个向量。
在业务模型由多层非线性运算结构的情况下,第一方和第二方还可以将y1和y2作为下一层运算的特征数据,重复步骤302-步骤305,直至得到最终的输出层结果。
然后,通过步骤306,第一方和第二方基于激励结果通过秘密共享方式更新当前模型参数,具体地,第一方基于激励结果的第一份额更新模型参数的第一份额,第二方基于激励结果的第二份额更新模型参数的第二份额。
通常,在梯度下降法中,更新模型参数可以依赖损失函数针对模型参数的梯度,例如在业务模型为y=sigmiod(Xw)时,模型参数的梯度为dw=XT(y-Y)。由于w、X、y分别由第一方和第二方分别持有部分份额,在安全计算中,也需要第一方和第二方联合安全计算dw的相应份额。具体地,如果业务模型为y=sigmiod(Xw),联合梯度运算结果例如可以是:
dw=(X1 T +X2 T)(y1+y2-Y1-Y2)= X1 T(y1 -Y1)+ X1 T(y2-Y2)+ X2 T(y1 -Y1)+ X2 T (y2-Y2)。
其中,Y1可以是第二方提供给第一方的第一标签数据的第一份额,Y2可以是第二方提供给第一方的第一标签数据的第一份额。Y1和Y2可以由第二方对第一标签数据Y拆分确定。可以理解,第一乘积项X1 T(y1 -Y1)可以由第一方单独确定,第四乘积项X2 T (y2-Y2)可以由第二方单独确定,而第二乘积项X1 T(y2-Y2)和第三乘积项X2 T(y1 -Y1)均为一方的矩阵和另一方的向量相乘得到,可以分别通过秘密共享的矩阵乘法计算得到。且乘法计算结果在第一方和第二方分别具有一定份额,而双方都无法获知对方所持有的份额。最终,第一方可以持有模型参数梯度的第一份额(dw)1,第二方可以持有模型参数梯度的第二份额(dw)2,如:
(dw)1=X1 T(y1 -Y1)+[ X1 T(y2-Y2)]1+[ X2 T(y1 -Y1)]1
(dw)2= [ X1 T(y2-Y2)]2+[ X2 T(y1 -Y1)]2+ X2 T (y2-Y2)
其中,(dw)1+(dw)2= dw,[ X1 T(y2-Y2)]1+ [ X1 T(y2-Y2)]2= X1 T(y2-Y2),[ X2 T(y1-Y1)]1+[ X2 T(y1 -Y1)]2= X2 T(y1 -Y1)。
当多个业务方还包括其他方(如前述的第四方)时,第四方还可以参与秘密共享的更新模型参数过程,得到模型参数梯度的第四份额,和第一份额、第二份额组合在一起才是完整的模型参数梯度。当然,安全计算过程中,这些份额并不能真的组合在一起的,在此不再赘述。
其中,在一些可能的设计中,为了计算的简便,可以令Y1=0,即,第二方不拆分标签数据Y。则第一方确定的模型参数梯度的第一份额为:
(dw)1=X1 Ty1+[ X1 T(y2-Y)]1+[ X2 Ty1]1
第二方确定的模型参数梯度的第二份额为:
(dw)2= [ X1 T(y2-Y)]2+[ X2 Ty1]2+ X2 T (y2-Y)。
梯度下降法中,模型参数的更新原理可以为:w= w-I·dw。其中,I可以为第一方和第二方约定的学习率或步长,如为0.01,其可以被参与模型训练的各个业务方提前约定,并分别持有。为了描述方便,将更新前的当前模型参数记为w0,更新后的模型参数记为w1,则有:w1= w0-I·dw。
可以理解,由于当前模型参数也可以分布于第一方和第二方,例如第一方持有当前模型参数w0的第一份额(w0) 1,第二方持有当前模型参数w0的第二份额(w0) 2,则更新后的模型参数为:
w1=w0-I·dw=[(w0)1+(w0)2]-I·[(dw)1+(dw)2] = [(w0)1 -I·(dw)1]+[(w0)2 -I·(dw)1]
其中,[(w0)1 -I·(dw)1]可以由第一方单独计算,例如记为(w1)1,[(w0)2 -I·(dw)1] 可以由第二方单独计算,例如记为(w1)2
这样,可以完成针对一轮训练样本的模型参数调整,例如第一方将当前模型参数的第一份额(w0)1更新为(w1)1,第二方将当前模型参数的第二份额(w0)2更新为(w1)2。在业务模型由多层非线性运算结构的情况下,第一方和第二方还可以根据步骤301中获取的第一标签数据,反向逐层确定各层的模型参数梯度,从而逐层更新模型参数梯度,在此不再赘述。
本领域技术人员可以理解,在当前训练轮次为第一轮次的情况下,步骤302中的当前模型参数可以是初始的模型参数,该模型参数可以被第一方或第二方设置并分享给另一方,或者由第三方设置并拆分后分发给第一方、第二方等。但在当前训练伦次不是第一轮次的情况下,当前模型参数可以就是前一轮次更新后的模型参数,更新后的模型参数的各个份额不合并在一起的情况下,任一个业务方都无法确定更新后的模型参数。
进一步地,可以根据更新后的当前模型参数,进行新一轮的业务模型的联合训练流程的迭代。直至满足预定条件。可以理解,单方业务模型训练的结束条件通常是模型参数收敛,这里,由于参与联合训练业务模型的单个业务方无法确定模型参数是否收敛,预定条件例如可以是训练数据被遍历、迭代轮次达到预定数量,等等。
值得说明的是,在实际应用中,多个业务方还可以包括其他方,多个业务方共同提供特征数据的情况下,可以按照前述的第一方和第二方的秘密共享组合方法,由各个业务方分别获取各份特征数据的一个随机份额,从而组合成训练数据的全部特征数据的相应份额,在此不再赘述。总之,这持有特征数据的多个业务方中至少包括持有特征数据的第一方,以及持有标签数据的第二方。
在以上过程中,本说明书实施例提供的业务模型的联合训练方法,由于将非线性的复杂运算分配给第三方处理,大大降低多个业务方联合训练非线性模型的复杂度。同时,持有训练样本的特征数据或标签数据的各个业务方通过约定的随机数生成方式,生成预定数量的随机数,从而获取按顺序一一对应的训练样本的样本数据,保持数据的一致性,并且由于第三方不参与随机数的生成过程,从而各个其他业务方有效针对第三方保证了数据隐私。而各个其他业务方之间通过秘密共享方法进行交互,相互之间保证了数据隐私。总之,以上方法在隐私保护的基础上,大大降低多个业务方联合训练非线性模型的运算复杂度。
如图4所述,在图3示出的操作时序图中,以第一方的角度,业务模型的联合训练流程可以包括以下步骤:
步骤401,按照与第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据;
步骤402,通过秘密共享的方式与第二方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第一份额;
步骤403,向第三方发送融合结果的第一份额,以供第三方根据融合结果的第一份额,以及从第二方获取的融合结果的第二份额,确定基于激励函数处理融合结果的激励结果;
步骤404,从第三方获取激励结果的第一份额;
步骤405,基于激励结果的第一份额,与第二方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第一份额。
如图5所示,以第二方的角度,业务模型的联合训练流程可以包括以下步骤:
步骤501,通过秘密共享的方式与第一方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第二份额,其中,第一特征数据由第一方按照与第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,基于与各个随机数分别对应的各个训练样本确定;
步骤502,向第三方发送融合结果的第二份额,以供第三方根据融合结果的第二份额,以及从第一方获取的融合结果的第一份额,确定基于激励函数处理融合结果的激励结果;
步骤503,从第三方获取激励结果的第二份额;
步骤504,基于激励结果的第二份额,以及第一标签数据,与第一方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第二份额,其中,第一标签数据由第二方按照随机数生成方式和当前随机数种子得到。
如图6所示,从第三方的角度,业务模型的联合训练方法可以包括以下步骤:
步骤601,从第一方、第二方分别接收融合结果的第一份额、第二份额,其中,融合结果的第一份额、第二份额由第一方和第二方按照协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据,并以秘密共享的方式进行交互,从而融合当前模型参数和第一特征数据得到;
步骤602,根据融合结果的第一份额、第二份额确定融合结果;
步骤603,利用预定的激励函数处理融合结果,得到激励结果;
步骤604,将激励结果随机拆分为第一份额、第二份额,并分别发送给第一方、第二方,以供第一方、第二方基于秘密共享方式,利用激励结果的第一份额、第二份额,分别更新当前模型参数的第一份额、第二份额。
值得说明的是,图3示出的流程中涉及各个业务方执行的操作的描述,同样适用于图4、图5、图6示出的相应业务方,在此不做赘述。
根据另一方面的实施例,还提供了业务模型的联合训练装置。这里的业务模型的联合训练装置可以设于联合训练业务模型的多个业务方中。业务模型可以是用于对业务数据进行处理,得到相应的业务处理结果的机器学习模型。多个业务方至少包括第一方、第二方和第三方,针对用于训练业务模型的多个训练样本,第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,第二方至少持有各个业务标签,以及当前模型参数的第二份额。图7示出了一种业务模型的联合训练装置700。该装置700可以设于具有一定计算能力的计算机、设备、服务器。如图7所示,装置700可以包括获取单元71,安全计算单元72,通信单元73。
装置700设于第一方时:
获取单元71,可以配置为按照与第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据;
安全计算单元72,配置为通过秘密共享的方式与第二方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第一份额;
通信单元73,配置为向第三方发送融合结果的第一份额,以供第三方根据融合结果的第一份额,以及从第二方获取的融合结果的第二份额,确定基于激励函数处理融合结果的激励结果;
通信单元73还配置为,从第三方获取激励结果的第一份额;
安全计算单元72还配置为,基于激励结果的第一份额,与第二方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第一份额。
装置700设于第二方时:
安全计算单元72,配置为通过秘密共享的方式与第一方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第二份额,其中,第一特征数据由第一方按照与第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,基于与各个随机数分别对应的各个训练样本确定;
通信单元73,配置为向第三方发送融合结果的第二份额,以供第三方根据融合结果的第二份额,以及从第一方获取的融合结果的第一份额,确定基于激励函数处理融合结果的激励结果;
通信单元73还配置为,从第三方获取激励结果的第二份额;
获取单元71,配置为由第二方按照随机数生成方式和当前随机数种子得到第一标签数据;
安全计算单元72还配置为,基于激励结果的第二份额,以及第一标签数据,与第一方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第二份额。
设于第三方的业务模型的联合训练装置如图8所示,装置800包括通信单元81和计算单元82。其中:
通信单元81,配置为从第一方、第二方分别接收融合结果的第一份额、第二份额,其中,融合结果的第一份额、第二份额由第一方和第二方按照协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据,并以秘密共享的方式进行交互,从而融合当前模型参数和第一特征数据得到;
计算单元82,配置为根据融合结果的第一份额、第二份额确定融合结果;以及,利用预定的激励函数处理融合结果,得到激励结果;
通信单元81还配置为,将激励结果随机拆分为第一份额、第二份额,并分别发送给第一方、第二方,以供第一方、第二方基于秘密共享方式,利用激励结果的第一份额、第二份额,分别更新当前模型参数的第一份额、第二份额。
值得说明的是,图7所示的装置700分别设于第一方、第二方时,分别对应图4、图5示出的流程,图4、图5的相关描述同样适用于装置700,在此不再赘述。图8所示的装置800是与图6示出的方法实施例相对应的装置实施例,图6示出的方法实施例中的相应描述同样适用于装置800,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当计算机程序在计算机中执行时,令计算机执行结合图3、图4或图5所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,存储器中存储有可执行代码,处理器执行可执行代码时,实现结合图3、图4或图5的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。

Claims (24)

1.一种业务模型的联合训练方法,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述方法由第一方执行,包括:
按照与所述第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据;
通过秘密共享的方式与所述第二方进行交互,从而融合当前模型参数和所述第一特征数据,得到融合结果的第一份额;
向所述第三方发送所述融合结果的第一份额,以供所述第三方根据所述融合结果的第一份额,以及从所述第二方获取的所述融合结果的第二份额,确定基于激励函数处理所述融合结果的激励结果;
从所述第三方获取所述激励结果的第一份额;
基于所述激励结果的第一份额,与所述第二方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第一份额。
2.根据权利要求1所述的方法,在所述第一方持有包含部分业务特征的特征数据的情况下,所述多个业务方还包括第四方,所述第四方还持有通过所述随机数生成方式和所述当前随机数种子获取的第四特征数据;
所述通过秘密共享的方式与所述第二方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第一份额包括:
通过秘密共享的方式与所述第二方、所述第四方进行交互,从而融合模型参数和包括所述第一特征数据、所述第四特征数据的样本特征数据,得到融合结果的第一份额。
3.根据权利要求1所述的方法,其中,所述第二方还持有通过所述随机数生成方式和所述当前随机数种子获取的第二特征数据;
所述通过秘密共享的方式与所述第二方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第一份额包括:
通过秘密共享的方式与所述第二方进行交互,从而融合当前模型参数和所述第一特征数据、所述第二特征数据,得到融合结果的第一份额。
4.根据权利要求1所述的方法,其中,所述随机数生成方式中,生成的第一个随机数依赖于所述当前随机数种子,后续生成的单个随机数依赖于其前一个随机数的值。
5.根据权利要求1所述的方法,其中,所述基于所述激励结果的第一份额,与所述第二方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第一份额包括:
根据所述激励结果的第一份额,与所述第二方以秘密共享的方式确定当前模型参数的梯度,得到所述梯度的第一份额;
按照预定的学习率,基于所述梯度的第一份额调整当前模型参数的第一份额。
6.根据权利要求5所述的方法,其中,所述根据所述激励结果的第一份额,确定所述梯度的第一份额包括:
利用所述激励结果的第一份额,确定所述激励结果与第一标签数据的差的第一份额,所述第一标签数据由所述第二方根据所述随机数生成方式和所述当前随机数种子得到;
根据所述激励结果与所述第一标签数据的差的第一份额以及所述第一特征数据的第一份额,与所述第二方持有的所述激励结果与第一标签数据的差的第二份额以及所述第一特征数据的第二份额,以秘密共享的方式确定所述梯度的第一份额。
7.根据权利要求6所述的方法,所述梯度的第一份额通过以下方式得到:
通过所述第一特征数据第一份额的转置矩阵与所述激励结果与所述第一标签数据的差的第一份额确定第一乘积项;
根据所述第一特征数据第一份额的转置矩阵与所述第二方持有的所述激励结果与所述第一标签数据的差的第二份额,以秘密共享方式得到第二乘积项的第一份额;
根据所述激励结果与第一标签数据的差的第一份额与所述第二方持有的所述第一特征数据第二份额的转置矩阵,以秘密共享方式得到第三乘积项的第一份额;
基于所述第一乘积项、所述第二乘积项的第一份额、所述第三乘积项的第一份额,确定所述梯度的第一份额。
8.根据权利要求7所述的方法,在所述第二方以秘密共享方式向所述第一方分享所述第一标签数据的第一份额的情况下,所述激励结果与所述第一标签数据的差的第一份额基于所述第一标签数据的第一份额与所述激励结果的第一份额的差确定。
9.根据权利要求7所述的方法,在所述第二方单独持有所述第一标签数据的情况下,所述激励结果与所述第一标签数据的差的第一份额为所述激励结果的第一份额,由所述第二方持有的所述激励结果与所述第一标签数据的差的第二份额,根据所述激励结果的第二份额与所述第一标签数据的差确定。
10.一种业务模型的联合训练方法,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述方法由所述第二方执行,包括:
通过秘密共享的方式与所述第一方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第二份额,其中,所述第一特征数据由所述第一方按照与所述第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,基于与各个随机数分别对应的各个训练样本确定;
向所述第三方发送所述融合结果的第二份额,以供所述第三方根据所述融合结果的第二份额,以及从所述第一方获取的所述融合结果的第一份额,确定基于激励函数处理所述融合结果的激励结果;
从所述第三方获取所述激励结果的第二份额;
基于所述激励结果的第二份额,以及第一标签数据,与所述第一方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第二份额,其中,所述第一标签数据由所述第二方按照所述随机数生成方式和所述当前随机数种子得到。
11.根据权利要求10所述的方法,其中,所述随机数生成方式中,生成的第一个随机数依赖于所述当前随机数种子,后续生成的单个随机数依赖于前一个随机数的值。
12.根据权利要求10所述的方法,其中,在所述第一方持有包含部分业务特征的特征数据的情况下,所述多个业务方还包括第四方,所述第四方还持有通过所述随机数生成方式和所述当前随机数种子获取的第四特征数据;
所述通过秘密共享的方式与所述第一方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第二份额包括:
通过秘密共享的方式与所述第一方、所述第四方进行交互,从而融合模型参数和包括所述第一特征数据、所述第四特征数据的样本特征数据,得到融合结果的第二份额。
13.根据权利要求10所述的方法,其中,所述第二方还持有通过所述随机数生成方式和所述当前随机数种子获取的第二特征数据;
所述通过秘密共享的方式与所述第一方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第二份额包括:
通过秘密共享的方式与所述第一方进行交互,从而融合当前模型参数和所述第一特征数据、所述第二特征数据,得到融合结果的第二份额。
14.根据权利要求10所述的方法,其中,所述基于所述激励结果的第二份额,以及第一标签数据,与所述第一方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第二份额包括:
根据所述激励结果的第二份额,确定当前模型参数的梯度的第二份额;
按照预定的学习率,基于所述梯度的第二份额调整当前模型参数的第二份额。
15.根据权利要求14所述的方法,其中,所述根据所述激励结果的第二份额,确定当前模型参数的梯度的第二份额包括:
利用所述激励结果的第二份额,确定激励结果与所述第一标签数据的差的第二份额;
根据所述激励结果与所述第一标签数据的差的第二份额以及所述第一特征数据的第二份额,与所述第一方持有的所述激励结果与所述第一标签数据的差的第一份额以及所述第一特征数据的第一份额,以秘密共享的方式确定所述梯度的第二份额,所述第一特征数据的第二份额由所述第一方以秘密共享的方式提供给所述第二方。
16.根据权利要求15所述的方法,所述梯度的第二份额通过以下方式得到:
根据所述第一特征数据第二份额的转置矩阵与所述第一方持有的所述激励结果与所述第一标签数据的差的第一份额,以秘密共享方式得到第二乘积项的第二份额;
根据所述激励结果与所述第一标签数据的差的第二份额与所述第一方持有的所述第一特征数据第一份额的转置矩阵,以秘密共享方式得到第三乘积项的第二份额;
通过所述第一特征数据第二份额的转置矩阵与所述激励结果与所述第一标签数据的差的第二份额确定第四乘积项;
基于所述第二乘积项的第二份额、所述第三乘积项的第二份额、所述第四乘积项,确定所述梯度的第二份额。
17.根据权利要求16所述的方法,在所述第二方以秘密共享方式向所述第一方分享所述第一标签数据的第一份额的情况下,所述激励结果与所述第一标签数据的差的第一份额基于所述第一标签数据的第一份额与所述激励结果的第一份额的差确定。
18.根据权利要求16所述的方法,在所述第二方单独持有所述第一标签数据的第一份额的情况下,所述激励结果与所述第一标签数据的差的第二份额,根据所述激励结果的第二份额与所述第一标签数据的差确定,由所述第一方持有的所述激励结果与所述第一标签数据的差的第一份额为所述激励结果的第一份额。
19.一种业务模型的联合训练方法,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述方法由所述第三方执行,包括:
从第一方、第二方分别接收融合结果的第一份额、第二份额,其中,所述融合结果的第一份额、第二份额由所述第一方和所述第二方按照协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据,并以秘密共享的方式进行交互,从而融合当前模型参数和所述第一特征数据得到;
根据所述融合结果的第一份额、第二份额确定所述融合结果;
利用预定的激励函数处理所述融合结果,得到激励结果;
将所述激励结果随机拆分为第一份额、第二份额,并分别发送给第一方、第二方,以供第一方、第二方基于秘密共享方式,利用所述激励结果的第一份额、第二份额,分别更新当前模型参数的第一份额、第二份额。
20.一种业务模型的联合训练装置,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述装置设于所述第一方,包括:
获取单元,配置为按照与所述第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据;
安全计算单元,配置为通过秘密共享的方式与所述第二方进行交互,从而融合当前模型参数和所述第一特征数据,得到融合结果的第一份额;
通信单元,配置为向所述第三方发送所述融合结果的第一份额,以供所述第三方根据所述融合结果的第一份额,以及从所述第二方获取的所述融合结果的第二份额,确定基于激励函数处理所述融合结果的激励结果;
所述通信单元还配置为,从所述第三方获取所述激励结果的第一份额;
所述安全计算单元还配置为,基于所述激励结果的第一份额,与所述第二方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第一份额。
21.一种业务模型的联合训练装置,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述装置设于所述第二方,包括:
安全计算单元,配置为通过秘密共享的方式与所述第一方进行交互,从而融合当前模型参数和第一特征数据,得到融合结果的第二份额,其中,所述第一特征数据由所述第一方按照与所述第二方协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,基于与各个随机数分别对应的各个训练样本确定;
通信单元,配置为向所述第三方发送所述融合结果的第二份额,以供所述第三方根据所述融合结果的第二份额,以及从所述第一方获取的所述融合结果的第一份额,确定基于激励函数处理所述融合结果的激励结果;
所述通信单元还配置为,从所述第三方获取所述激励结果的第二份额;
获取单元,配置为按照所述随机数生成方式和所述当前随机数种子得到第一标签数据;
所述安全计算单元还配置为,基于所述激励结果的第二份额,以及所述第一标签数据,与所述第一方以秘密共享方式更新当前模型参数,从而得到更新后的当前模型参数的第二份额。
22.一种业务模型的联合训练装置,用于多个业务方联合训练业务模型,所述业务模型用于对业务数据进行处理,得到相应的业务处理结果,所述多个业务方包括第一方、第二方和第三方,针对用于训练所述业务模型的多个训练样本,所述第一方持有包含部分或全部业务特征的特征数据,以及当前模型参数的第一份额,所述第二方至少持有各个业务标签,以及当前模型参数的第二份额;所述装置设于所述第三方,包括:
通信单元,配置为从第一方、第二方分别接收融合结果的第一份额、第二份额,其中,所述融合结果的第一份额、第二份额由所述第一方和所述第二方按照协商一致的随机数生成方式和当前随机数种子,生成预定数量的随机数,从而获取与各个随机数分别对应的各个训练样本的第一特征数据,并以秘密共享的方式进行交互,从而融合当前模型参数和所述第一特征数据得到;
计算单元,配置为根据所述融合结果的第一份额、第二份额确定所述融合结果;以及,
利用预定的激励函数处理所述融合结果,得到激励结果;
所述通信单元还配置为,将所述激励结果随机拆分为第一份额、第二份额,并分别发送给第一方、第二方,以供第一方、第二方基于秘密共享方式,利用所述激励结果的第一份额、第二份额,分别更新当前模型参数的第一份额、第二份额。
23.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-19中任一项的所述的方法。
24.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-19中任一项所述的方法。
CN202010759819.1A 2020-07-31 2020-07-31 业务模型的联合训练方法及装置 Active CN111737755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010759819.1A CN111737755B (zh) 2020-07-31 2020-07-31 业务模型的联合训练方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010759819.1A CN111737755B (zh) 2020-07-31 2020-07-31 业务模型的联合训练方法及装置

Publications (2)

Publication Number Publication Date
CN111737755A CN111737755A (zh) 2020-10-02
CN111737755B true CN111737755B (zh) 2020-11-13

Family

ID=72656800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010759819.1A Active CN111737755B (zh) 2020-07-31 2020-07-31 业务模型的联合训练方法及装置

Country Status (1)

Country Link
CN (1) CN111737755B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112101555A (zh) * 2020-11-13 2020-12-18 支付宝(杭州)信息技术有限公司 多方联合训练模型的方法和装置
CN112101946B (zh) * 2020-11-20 2021-02-19 支付宝(杭州)信息技术有限公司 联合训练业务模型的方法及装置
CN112511361B (zh) * 2021-02-05 2021-06-04 支付宝(杭州)信息技术有限公司 模型训练方法、装置和计算设备
CN113011459B (zh) * 2021-02-19 2024-04-26 支付宝(杭州)信息技术有限公司 模型训练方法、装置和计算设备
CN113128700A (zh) * 2021-03-23 2021-07-16 同盾控股有限公司 安全多方计算的联邦模型训练加速的方法和系统
CN113094745B (zh) * 2021-03-31 2022-09-23 支付宝(杭州)信息技术有限公司 基于隐私保护的数据变换方法、装置和服务器
CN113807536B (zh) * 2021-04-01 2024-04-16 京东科技控股股份有限公司 一种数据处理方法、装置及电子设备
CN114650134A (zh) * 2022-03-31 2022-06-21 深圳前海环融联易信息科技服务有限公司 一种基于秘密共享的纵向隐私保护逻辑回归方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3602422B1 (en) * 2017-03-22 2022-03-16 Visa International Service Association Privacy-preserving machine learning
CN110750801B (zh) * 2019-10-11 2022-06-10 矩阵元技术(深圳)有限公司 数据处理方法、装置、计算机设备和存储介质
CN110751291B (zh) * 2019-10-29 2021-02-12 支付宝(杭州)信息技术有限公司 实现安全防御的多方联合训练神经网络的方法及装置
CN110782044A (zh) * 2019-10-29 2020-02-11 支付宝(杭州)信息技术有限公司 多方联合训练图神经网络的方法及装置
CN110929886B (zh) * 2019-12-06 2022-03-22 支付宝(杭州)信息技术有限公司 模型训练、预测方法及其系统
CN111177791B (zh) * 2020-04-10 2020-07-17 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111461309B (zh) * 2020-04-17 2022-05-17 支付宝(杭州)信息技术有限公司 实现隐私保护的更新强化学习系统的方法及装置
CN111241570B (zh) * 2020-04-24 2020-07-17 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置

Also Published As

Publication number Publication date
CN111737755A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN111737755B (zh) 业务模型的联合训练方法及装置
CN111738361B (zh) 业务模型的联合训练方法及装置
Chaudhari et al. Trident: Efficient 4pc framework for privacy preserving machine learning
CN112183730B (zh) 一种基于共享学习的神经网络模型的训练方法
WO2021204271A1 (zh) 保护数据隐私的双方联合训练业务预测模型
US11138312B2 (en) Cyber range integrating technical and non-technical participants, participant substitution with AI bots, and AI bot training
CN110782044A (zh) 多方联合训练图神经网络的方法及装置
CN110414567B (zh) 数据处理方法、装置和电子设备
CN113505882B (zh) 基于联邦神经网络模型的数据处理方法、相关设备及介质
Wink et al. An approach for peer-to-peer federated learning
CN112347500B (zh) 分布式系统的机器学习方法、装置、系统、设备及存储介质
Li et al. Socially-conforming cooperative computation in cloud networks
CN111784001A (zh) 一种模型训练方法、设备及计算机可读存储介质
CN114936650A (zh) 基于隐私保护的联合训练业务模型的方法及装置
US11558403B2 (en) Quantum computing machine learning for security threats
Zheng et al. Securely and efficiently outsourcing decision tree inference
CN115392480A (zh) 安全求交、联邦学习模型的训练方法及系统、设备及介质
Miao et al. Federated deep reinforcement learning based secure data sharing for Internet of Things
CN113591097A (zh) 业务数据处理方法、装置、电子设备及存储介质
Chen et al. MP-CLF: An effective Model-Preserving Collaborative deep Learning Framework for mitigating data leakage under the GAN
CN112101555A (zh) 多方联合训练模型的方法和装置
Deng et al. Non-interactive and privacy-preserving neural network learning using functional encryption
CN115130568A (zh) 支持多参与方的纵向联邦Softmax回归方法及系统
CN114547684A (zh) 一种保护隐私数据的多方联合训练树模型的方法及装置
Zhou et al. VDFChain: Secure and verifiable decentralized federated learning via committee-based blockchain

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