CN113434878B - 基于联邦学习的建模及应用方法、装置、设备及存储介质 - Google Patents
基于联邦学习的建模及应用方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113434878B CN113434878B CN202110712823.7A CN202110712823A CN113434878B CN 113434878 B CN113434878 B CN 113434878B CN 202110712823 A CN202110712823 A CN 202110712823A CN 113434878 B CN113434878 B CN 113434878B
- Authority
- CN
- China
- Prior art keywords
- application
- vector
- model
- encryption
- initialization
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及信息安全领域,公开了基于联邦学习的建模及应用方法、装置、设备及存储介质,用于解决基于联邦学习建模过程中存在的中心化问题,还用于提高数据的安全性。基于联邦学习的建模及应用方法包括:基于第一初始化应用模型,生成第一应用公钥和第一应用私钥;基于第一应用公钥进行向量加密,生成第一应用加密向量;基于第一应用私钥生成第一同态加密向量,并基于第一同态加密向量生成第一密文向量;基于第一应用私钥生成第一模型参数;基于第一模型参数生成第一更新后的应用模型,继续基于第一更新后的应用模型进行加密、解密以及更新,生成第一数据加密模型。此外,本发明还涉及区块链技术,第一应用公钥和第一应用私钥可存储于区块链中。
Description
技术领域
本发明涉及信息安全的数据加密技术领域,尤其涉及一种基于联邦学习的建模及应用方法、装置、设备及存储介质。
背景技术
很多数据公司采用大量的数据样本,进行机器学习模型的训练。这些公司为了保障用户数据的隐私,公司与公司之间并不希望在训练机器学习模型的过程中公开自己拥有的具体数据样本。
在现有技术中,通常利用联邦学习的同态加密方法对数据进行加密,但是利用同态加密方法来实现的中心化的联邦学习往往需要第三方来生成和保管公、私钥,建模双方都需要与第三方进行连接,并受限于第三方,既存在建模中心化的问题也存在数据安全的问题。
发明内容
本发明提供了一种基于联邦学习的建模及应用方法、装置、设备及存储介质,用于解决基于联邦学习建模过程中存在的中心化问题,还用于提高数据的安全性。
本发明第一方面提供了一种基于联邦学习的建模及应用方法,应用于第一初始化应用模型,包括:基于第一初始化应用模型,生成第一应用公钥和第一应用私钥,并将所述第一应用公钥和所述第一应用私钥传输至第二初始化应用模型对应的第二终端;基于所述第一应用公钥和预置的泰勒公式进行向量计算和加密,生成第一应用加密向量;基于所述第一应用私钥和预置的同态加密算法进行向量计算和加密,生成第一同态加密向量,并基于所述第一同态加密向量生成第一密文向量,将所述第一密文向量传输至第二初始化应用模型对应的第二终端;从第二终端获取第二密文向量,并基于所述第一应用私钥对所述第二密文向量进行解密,生成第一模型参数,并将所述第一模型参数传输至第二初始化应用模型对应的第二终端;基于所述第一初始化应用模型和所述第一模型参数进行模型更新,生成第一更新后的应用模型,继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型;获取待加密数据,将所述待加密数据输入所述第一数据加密模型中进行加密,生成第一目标加密数据,并将所述第一目标加密数据传输至第二终端。
可选的,在本发明第一方面的第一种实现方式中,所述基于所述第一应用公钥和预置的泰勒公式进行向量计算和加密,生成第一应用加密向量包括:从预置的加密训练数据和所述第一初始化应用模型中提取参数,得到第一特征值矩阵、第一特征值转置矩阵和第一初始化应用模型权重向量;结合预置的泰勒公式对所述第一特征值矩阵、所述第一特征值转置矩阵和所述第一初始化应用模型权重向量进行计算,生成第一中间系数向量,并将所述第一中间系数向量传输至第二初始化应用模型对应的第二终端;调用所述第一应用公钥对所述第一中间系数向量进行加密,生成第一应用加密向量。
可选的,在本发明第一方面的第二种实现方式中,所述基于所述第一应用私钥和预置的同态加密算法进行向量计算和加密,生成第一同态加密向量,并基于所述第一同态加密向量生成第一密文向量,将所述第一密文向量传输至第二初始化应用模型对应的第二终端包括:获取第二中间系数向量,并调用预置的同态加密算法对所述第一中间系数向量和所述第二中间系数向量进行多项式盲计算,生成第一同态加密向量;从第二初始化应用模型对应的第二终端获取第二同态加密向量,并对所述第一同态加密向量和所述第二同态加密向量进行计算,生成第一密文向量,并将所述第一密文向量传输至第二初始化应用模型对应的第二终端。
可选的,在本发明第一方面的第三种实现方式中,所述基于所述第一初始化应用模型和所述第一模型参数进行模型更新,生成第一更新后的应用模型,继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型包括:基于所述第一模型参数进行计算,生成第一明文梯度向量;基于所述第一初始化应用模型权重向量、第一明文梯度向量和预置的学习率进行计算,生成第一更新后的模型参数,得到第一更新后的应用模型;继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型。
本发明第二方面提供了一种基于联邦学习的建模及应用方法,应用于第二初始化应用模型,包括:基于第二初始化应用模型,生成第二应用公钥和第二应用私钥,并将所述第二应用公钥和所述第二应用私钥传输至第一初始化应用模型对应的第一终端;基于所述第二应用公钥和预置的泰勒公式计算进行向量计算和加密,生成第二应用加密向量;基于所述第二应用私钥和预置的同态加密算法进行向量计算和加密,生成第二同态加密向量,并基于所述第二同态加密向量生成第二密文向量,将所述第二密文向量传输至第一初始化应用模型对应的第一终端;获取第一应用私钥,基于所述第一应用私钥对所述第二密文向量进行解密,生成第二模型参数,并将所述第二模型参数传输至第一初始化应用模型对应的第一终端;基于所述第二初始化应用模型和所述第二模型参数进行模型更新,生成第二更新后的应用模型,继续基于所述第二更新后的应用模型进行加密、解密以及模型更新,直至所述第二更新后的应用模型收敛,得到第二数据加密模型;获取待加密数据,将所述待加密数据输入所述第二数据加密模型中进行加密,生成第二目标加密数据,并将所述第二目标加密数据传输至第一终端。
可选的,在本发明第二方面的第一种实现方式中,所述基于所述第二应用公钥和预置的泰勒公式计算进行向量计算和加密,生成第二应用加密向量包括:从所述第二初始化应用模型中提取参数,得到第二特征值矩阵、第二特征值转置矩阵和第二初始化应用模型权重向量;结合预置的泰勒公式对所述第二特征值矩阵、所述第二特征值转置矩阵和所述第二初始化应用模型权重向量进行计算,生成第二中间系数向量,并将所述第二中间系数向量传输至第一初始化应用模型对应的第一终端;调用所述第二应用公钥对所述第二中间系数向量进行加密,生成第二应用加密向量。
可选的,在本发明第二方面的第二种实现方式中,所述基于所述第二应用私钥和预置的同态加密算法进行向量计算和加密,生成第二同态加密向量,并基于所述第二同态加密向量生成第二密文向量,将所述第二密文向量传输至第一初始化应用模型对应的第一终端包括:获取第一中间系数向量,并调用预置的同态加密算法对所述第二中间系数向量和所述第一中间系数向量进行多项式盲计算,生成第二同态加密向量,并将所述第二同态加密向量传输至第一初始化应用模型对应的第一终端;从第一初始化应用模型对应的第一终端获取第一同态加密向量,并对所述第二同态加密向量和所述第一同态加密向量进行计算,生成第二密文向量,并将所述第二密文向量传输至第一初始化应用模型对应的第一终端。
本发明第三方面提供了一种基于联邦学习的建模及应用装置,包括:第一密钥生成模块,用于基于第一初始化应用模型,生成第一应用公钥和第一应用私钥,并将所述第一应用公钥和所述第一应用私钥传输至第二初始化应用模型对应的第二终端;第一计算模块,用于基于所述第一应用公钥和预置的泰勒公式进行向量计算和加密,生成第一应用加密向量;第一加密模块,用于基于所述第一应用私钥和预置的同态加密算法进行向量计算和加密,生成第一同态加密向量,并基于所述第一同态加密向量生成第一密文向量,将所述第一密文向量传输至第二初始化应用模型对应的第二终端;第一解密模块,用于从第二终端获取第二密文向量,并基于所述第一应用私钥对所述第二密文向量进行解密,生成第一模型参数,并将所述第一模型参数传输至第二初始化应用模型对应的第二终端;第一加密模型生成模块,用于基于所述第一初始化应用模型和所述第一模型参数进行模型更新,生成第一更新后的应用模型,继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型;第一数据加密模块,用于获取待加密数据,将所述待加密数据输入所述第一数据加密模型中进行加密,生成第一目标加密数据,并将所述第一目标加密数据传输至第二终端。
可选的,在本发明第三方面的第一种实现方式中,所述第一计算模块还可以具体用于:
从预置的加密训练数据和所述第一初始化应用模型中提取参数,得到第一特征值矩阵、第一特征值转置矩阵和第一初始化应用模型权重向量;
结合预置的泰勒公式对所述第一特征值矩阵、所述第一特征值转置矩阵和所述第一初始化应用模型权重向量进行计算,生成第一中间系数向量,并将所述第一中间系数向量传输至第二初始化应用模型对应的第二终端;
调用所述第一应用公钥对所述第一中间系数向量进行加密,生成第一应用加密向量。
可选的,在本发明第三方面的第二种实现方式中,所述第一加密模块还可以具体用于:
从第二初始化应用模型对应的第二终端获取第二公钥,基于第二公钥对所述第一中间系数向量进行加密,生成第一加密系数向量;
获取第二中间系数向量,并调用预置的同态加密算法对所述第一中间系数向量和所述第二中间系数向量进行多项式盲计算,生成第一同态加密向量;
对所述第一同态加密向量进行计算,生成第一密文向量,并将所述第一密文向量传输至第二初始化应用模型对应的第二终端。
可选的,在本发明第三方面的第三种实现方式中,所述第一加密模型生成模块还可以具体用于:
基于所述第一模型参数进行计算,生成第一明文梯度向量;
基于所述第一初始化应用模型权重向量、第一明文梯度向量和预置的学习率进行计算,生成第一更新后的模型参数,得到第一更新后的应用模型;
继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型。
本发明第三方面提供了一种基于联邦学习的建模及应用装置,包括:第二密钥生成模块,用于基于第二初始化应用模型,生成第二应用公钥和第二应用私钥,并将所述第二应用公钥和所述第二应用私钥传输至第一初始化应用模型对应的第一终端;
第二计算模块,用于基于所述第二应用公钥和预置的泰勒公式计算进行向量计算和加密,生成第二应用加密向量;
第二加密模块,用于基于所述第二应用私钥和预置的同态加密算法进行向量计算和加密,生成第二同态加密向量,并基于所述第二同态加密向量生成第二密文向量,将所述第二密文向量传输至第一初始化应用模型对应的第一终端;
第二解密模块,用于获取第一应用私钥,基于所述第一应用私钥对所述第二密文向量进行解密,生成第二模型参数,并将所述第二模型参数传输至第一初始化应用模型对应的第一终端;
第二加密模型生成模块,基于所述第二初始化应用模型和所述第二模型参数进行模型更新,生成第二更新后的应用模型,继续基于所述第二更新后的应用模型进行加密、解密以及模型更新,直至所述第二更新后的应用模型收敛,得到第二数据加密模型;
第二数据加密模块,用于获取待加密数据,将所述待加密数据输入所述第二数据加密模型中进行加密,生成第二目标加密数据,并将所述第二目标加密数据传输至第一终端。
可选的,在本发明第四方面的第一种实现方式中,所述第二计算模块还可以具体用于:
从所述第二初始化应用模型中提取参数,得到第二特征值矩阵、第二特征值转置矩阵和第二初始化应用模型权重向量;
结合预置的泰勒公式对所述第二特征值矩阵、所述第二特征值转置矩阵和所述第二初始化应用模型权重向量进行计算,生成第二中间系数向量,并将所述第二中间系数向量传输至第一初始化应用模型对应的第一终端;
调用所述第二应用公钥对所述第二中间系数向量进行加密,生成第二应用加密向量。
可选的,在本发明第四方面的第二种实现方式中,所述第二加密模块403还可以具体用于:
从第一初始化应用模型对应的第一终端获取第一公钥,基于第一公钥对所述第二中间系数向量进行加密,生成第二加密系数向量;
获取第一中间系数向量,并调用预置的同态加密算法对所述第二中间系数向量和所述第一中间系数向量进行多项式盲计算,生成第二同态加密向量;
对所述第二同态加密向量进行计算,生成第二密文向量,并将所述第二密文向量传输至第一初始化应用模型对应的第一终端。
本发明第五方面提供了一种基于联邦学习的建模及应用设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于联邦学习的建模及应用设备执行上述的基于联邦学习的建模及应用方法。
本发明的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于联邦学习的建模及应用方法。
本发明提供的技术方案中,基于第一初始化应用模型,生成第一应用公钥和第一应用私钥,并将所述第一应用公钥和所述第一应用私钥传输至第二初始化应用模型对应的第二终端;基于所述第一应用公钥和预置的泰勒公式进行向量计算和加密,生成第一应用加密向量;基于所述第一应用私钥和预置的同态加密算法进行向量计算和加密,生成第一同态加密向量,并基于所述第一同态加密向量生成第一密文向量,将所述第一密文向量传输至第二初始化应用模型对应的第二终端;从第二终端获取第二密文向量,并基于所述第一应用私钥对所述第二密文向量进行解密,生成第一模型参数,并将所述第一模型参数传输至第二初始化应用模型对应的第二终端;基于所述第一初始化应用模型和所述第一模型参数进行模型更新,生成第一更新后的应用模型,继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型;获取待加密数据,将所述待加密数据输入所述第一数据加密模型中进行加密,生成第一目标加密数据,并将所述第一目标加密数据传输至第二终端。本发明实施例中,结合同态加密和多项式盲计算的方法对数据进行加密,根据加密后的密文向量进行模型训练和更新,得到模型参数,从而得到目标模型,解决了基于联邦学习建模过程中存在的中心化问题,还提高了数据的安全性。
附图说明
图1为本发明实施例中基于联邦学习的建模及应用方法的一个实施例示意图;
图2为本发明实施例中基于联邦学习的建模及应用方法的另一个实施例示意图;
图3为本发明实施例中基于联邦学习的建模及应用装置的一个实施例示意图;
图4为本发明实施例中基于联邦学习的建模及应用装置的另一个实施例示意图;
图5为本发明实施例中基于联邦学习的建模及应用设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于联邦学习的建模及应用方法、装置、设备及存储介质,用于解决基于联邦学习建模过程中存在的中心化问题,还用于提高数据的安全性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于联邦学习的建模及应用方法的一个实施例包括:
101、基于第一初始化应用模型,生成第一应用公钥和第一应用私钥,并将第一应用公钥和第一应用私钥传输至第二初始化应用模型对应的第二终端;
第一终端基于第一初始化应用模型,生成第一应用公钥和第一应用私钥,然后将生成的第一应用公钥和第一应用私钥传输至第二初始化应用模型对应的第二终端。需要强调的是,为进一步保证上述第一应用公钥和第一应用私钥的私密和安全性,上述第一应用公钥和第一应用私钥还可以存储于一区块链的节点中。
在本实施例中,第一应用公钥用于同态加密,第一应用私钥用于解密。第一终端基于第一初始化应用模型生成一对公钥和私钥,分别是第一应用公钥和第一应用私钥,第一应用公钥用于给训练模型的数据进行加密,第一应用私钥用于给训练模型的数据进行解密。其中,假设第一应用公钥为PA以及第一应用私钥为SA,需要说明的是,PA≠SA,在生成PA和SA之后,第一终端将PA传输至第二终端,第二终端为第二初始化应用模型对应的终端。需要说明的是,本方案以两方逻辑算法进行说明,主要采用两对密钥加密的形式进行说明,在本实施例中,阐述了应用在第一初始化应用模型的基于联邦学习的建模及应用方法。
可以理解的是,本发明的执行主体可以为基于联邦学习的建模及应用装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以终端(第一终端)为执行主体为例进行说明。
102、基于第一应用公钥和预置的泰勒公式进行向量计算和加密,生成第一应用加密向量;
第一终端基于第一应用公钥和预置的泰勒公式进行向量计算和加密,从而生成第一应用加密向量。
在生成第一应用公钥后,需要基于第一应用公钥对数据进行加密计算,假设有一组数据A,第一终端要数据A进行加密,首先要基于第一应用公钥PA和预置的泰勒公式进行计算并进行初次加密,其中泰勒公式为二阶泰勒公式,从而生成第一应用加密向量,第一应用加密向量为EncA(FA)。
具体的,第一终端从预置的加密训练数据和第一初始化应用模型中提取参数,得到第一特征值矩阵、第一特征值转置矩阵和第一初始化应用模型权重向量;第一终端结合预置的泰勒公式对第一特征值矩阵、第一特征值转置矩阵和第一初始化应用模型权重向量进行计算,生成第一中间系数向量,并将第一中间系数向量传输至第二初始化应用模型对应的第二终端;第一终端调用第一应用公钥对第一中间系数向量进行加密,生成第一应用加密向量。
第一终端从预置的加密训练数据中进行参数提取,主要是提取第一特征值矩阵,然后从第一初始化应用模型中读取第一初始化应用模型权重向量,第一终端再将第一特征值矩阵进行转置,得到第一特征值转置矩阵。第一终端在得到这些参数后,基于预置的泰勒公式进行计算,具体的计算过程为:
其中,XA为待加密数据的n×m1的特征值矩阵,即第一特征值矩阵,(XA)T为转置矩阵,即第一特征值转置矩阵,WA为1×m1的初始化模型权重向量,即第一初始化应用模型权重向量,Y为待加密数据的标签值向量。在第一终端生成FA,即第一中间系数向量之后,将FA传输至第二初始化应用模型对应的第二终端,以供第二终端对待加密数据进行加密时使用。最后再调用第一应用公钥PA为第一中间系数向量FA进行加密,生成第一应用加密向量EncA(FA),并将其传输至第二终端。
103、基于第一应用私钥和预置的同态加密算法进行向量计算和加密,生成第一同态加密向量,并基于第一同态加密向量生成第一密文向量,将第一密文向量传输至第二初始化应用模型对应的第二终端;
第一终端在对待加密数据进行初次加密计算之后,再对初次加密后的数据进行同态加密的计算,生成第一同态加密向量,然后基于该第一同态加密向量进行加密,生成第一密文向量。
在生成第一应用加密向量之后,还基于第一应用私钥和预置的同态加密向量生成第一密文向量,假设第一应用加密向量为EncA(FA),经过计算和加密得到的第一密文向量为EncB(GA)+EncB(RA)。
具体的,第一终端从第二初始化应用模型对应的第二终端获取第二公钥,基于第二公钥对第一中间系数向量进行加密,生成第一加密系数向量;第一终端获取第二中间系数向量,并调用预置的同态加密算法对第一中间系数向量和第二中间系数向量进行多项式盲计算,生成第一同态加密向量;第一终端对第一同态加密向量进行计算,生成第一密文向量,并将第一密文向量传输至第二初始化应用模型对应的第二终端。
第一终端从第二终端获取第二公钥,假设第二公钥为PB,第一终端基于第二公钥PB对第一中间系数向量FA进行加密,生成第一加密系数向量EncB(GA),第一终端再获取第二中间系数向量,假设该第二中间系数向量为FB,然后调用预置的同态加密算法对第二中间系数向量和第二中间系数向量进行多项式盲计算,生成第一同态加密向量,多项式盲计算的过程为:
其中EncB(GA)为第一同态加密向量,该第一同态加密向量的大小为1×m1,从待加密数据中随机提取第一随机值向量,第一随机值向量为RA,第一终端调用第一应用公钥PA加密第一随机值向量RA,其中第一随机向量RA的大小为1×m1,生成第一随机值加密向量EncB(RA),第一终端将第一随机值加密向量EncB(RA)和第一同态加密向量EncB(GA)进行相加,生成第一密文向量EncB(GA)+EncB(RA),最后将该第一密文向量传输至第二初始化应用模型对应的第二终端。
104、从第二终端获取第二密文向量,并基于第一应用私钥对第二密文向量进行解密,生成第一模型参数,并将第一模型参数传输至第二初始化应用模型对应的第二终端;
第一终端从第二终端获取第二密文向量,然后基于第一应用私钥对第二密文向量进行解密,生成第一模型参数,最后将该第一模型参数传输至第二终端,在本实施例中,第二终端为第二初始化应用模型对应的终端。
假设第二密文向量为EncA(GB)+EncA(RB),第一终端采用第一应用私钥SA对其进行解密,生成第一模型参数GA+RA,最后将该第一模型参数传输至第二终端。
105、基于第一初始化应用模型和第一模型参数进行模型更新,生成第一更新后的应用模型,继续基于第一更新后的应用模型进行加密、解密以及模型更新,直至第一更新后的应用模型收敛,得到第一数据加密模型;
第一终端基于第一模型参数对第一初始化应用模型进行更新,生成第一更新后的应用模型。
具体的,第一终端基于第一模型参数进行计算,生成第一明文梯度向量;第一终端基于第一初始化应用模型权重向量、第一明文梯度向量和预置的学习率进行计算,生成第一更新后的模型参数,得到第一更新后的应用模型;第一终端继续基于第一更新后的应用模型进行加密、解密以及模型更新,直至第一更新后的应用模型收敛,得到第一数据加密模型。
第一终端基于第一模型参数进行计算,具体的计算过程为:(GA+RA)-RA,计算得到的结果为第一明文梯度向量GA,然后服务器再基于第一初始化应用模型权重向量WA、第一明文梯度向量GA和预置的学习率η进行模型权重向量的计算,具体的计算过程为:WA1=WA-ηGA,生成第一更新后的模型参数WA1,从而得到第一更新后的应用模型;第一终端继续基于第一更新后的应用模型进行数据加密、数据解密以及模型更新,直至第一更新后的应用模型收敛为止,从而得到第一数据加密模型。
106、获取待加密数据,将待加密数据输入第一数据加密模型中进行加密,生成第一目标加密数据,并将第一目标加密数据传输至第二终端。
服务器获取待加密数据,然后将该待加密数据输入第一数据加密模型中进行加密,经过第一数据加密模型加密后,生成第一目标加密数据,并将第一目标加密数据传输至第二终端,此时即使第二终端获取了第一终端传输过来的第一目标加密数据,也无法对其进行解密或者反推,从而提高了数据的安全性。
本发明实施例中,结合同态加密和多项式盲计算的方法对数据进行加密,根据加密后的密文向量进行模型训练和更新,得到模型参数,从而得到目标模型,解决了基于联邦学习建模过程中存在的中心化问题,还提高了数据的安全性。
请参阅图2,本发明实施例中基于联邦学习的建模及应用方法的另一个实施例包括:
201、基于第二初始化应用模型,生成第二应用公钥和第二应用私钥,并将第二应用公钥和第二应用私钥传输至第一初始化应用模型对应的第一终端;
第二终端基于第二初始化应用模型,生成第二应用公钥和第二应用私钥,然后将生成的第二应用公钥和第二应用私钥传输至第一初始化应用模型对应的第一终端。需要强调的是,为进一步保证上述第二应用公钥和第二应用私钥的私密和安全性,上述第二应用公钥和第二应用私钥还可以存储于一区块链的节点中。
在本实施例中,第二应用公钥用于同态加密,第二应用私钥用于解密。第二终端基于第二初始化应用模型生成一对公钥和私钥,分别是第二应用公钥和第二应用私钥,第二应用公钥用于给训练模型的数据进行加密,第二应用私钥用于给训练模型的数据进行解密。其中,假设第二应用公钥为PB以及第二应用私钥为SB,需要说明的是,PB≠SB,在生成PB和SB之后,第二终端将PB传输至第一终端,第一终端为第一初始化应用模型对应的终端。需要说明的是,本方案以两方逻辑算法进行说明,主要采用两对密钥加密的形式进行说明,在本实施例中,阐述了应用在第二初始化应用模型的基于联邦学习的建模及应用方法。
可以理解的是,本发明的执行主体可以为基于联邦学习的建模及应用装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以终端(第二终端)为执行主体为例进行说明。
202、基于第二应用公钥和预置的泰勒公式进行向量计算和加密,生成第二应用加密向量;
第二终端基于第二应用公钥和预置的泰勒公式进行向量计算和加密,从而生成第二应用加密向量。
在生成第二应用公钥后,需要基于第二应用公钥对数据进行加密计算,假设有一组数据B,第一终端要数据B进行加密,首先要基于第二应用公钥PB和预置的泰勒公式进行计算并进行初次加密,其中泰勒公式为二阶泰勒公式,从而生成第二应用加密向量,第二应用加密向量为EncB(FB)。
具体的,第二终端从第二初始化应用模型中提取参数,得到第二特征值矩阵、第二特征值转置矩阵和第二初始化应用模型权重向量;第二终端结合预置的泰勒公式对第二特征值矩阵、第二特征值转置矩阵和第二初始化应用模型权重向量进行计算,生成第二中间系数向量,并将第二中间系数向量传输至第一初始化应用模型对应的第一终端;第二终端调用第二应用公钥对第二中间系数向量进行加密,生成第二应用加密向量。
第二终端从预置的加密训练数据中进行参数提取,主要是提取第二特征值矩阵,然后从第二初始化应用模型中读取第二初始化应用模型权重向量,第二终端再将第二特征值矩阵进行转置,得到第二特征值转置矩阵。第二终端在得到这些参数后,基于预置的泰勒公式进行计算,具体的计算过程为:
其中,XB为待加密数据的n×m2的特征值矩阵,即第一特征值矩阵,(XB)T为转置矩阵,即第二特征值转置矩阵,WB为1×m2的初始化模型权重向量,即第二初始化应用模型权重向量。在第二终端生成FA,即第二中间系数向量之后,将FB传输至第一初始化应用模型对应的第一终端,以供第一终端对待加密数据进行加密时使用。最后再调用第二应用公钥PB为第二中间系数向量FB进行加密,生成第二应用加密向量EncB(FB),并将其传输至第一终端。
203、基于第二应用私钥和预置的同态加密算法进行向量计算和加密,生成第二同态加密向量,并基于第二同态加密向量生成第二密文向量,将第二密文向量传输至第一初始化应用模型对应的第一终端;
第二终端在对待加密数据进行初次加密计算之后,再对初次加密后的数据进行同态加密的计算,生成第二同态加密向量,然后基于该第二同态加密向量进行加密,生成第二密文向量。
在生成第二应用加密向量之后,还基于第二应用私钥和预置的同态加密向量生成第二密文向量,假设第二应用加密向量为EncA(FB),经过计算和加密得到的第二密文向量为EncA(GB)+EncA(RB)。
具体的,第二终端从第一初始化应用模型对应的第一终端获取第一公钥,基于第一公钥对第二中间系数向量进行加密,生成第二加密系数向量;第二终端获取第一中间系数向量,并调用预置的同态加密算法对第二中间系数向量和第一中间系数向量进行多项式盲计算,生成第二同态加密向量;第二终端对第二同态加密向量进行计算,生成第二密文向量。
第二终端从第一终端获取第一公钥,假设第一公钥为PA,第二终端基于第一公钥PA对第二中间系数向量FB进行加密,生成第二加密系数向量EncA(GB),第二终端再获取第一中间系数向量,假设该第一中间系数向量为FA,然后调用预置的同态加密算法对第一中间系数向量和第一中间系数向量进行多项式盲计算,生成第二同态加密向量,多项式盲计算的过程为:
其中EncA(GB)为第二同态加密向量,该第二同态加密向量的大小为1×m2,从待加密数据中随机提取第二随机值向量,第二随机值向量为RB,第二终端调用第二应用公钥PB加密第二随机值向量RB,其中第二随机向量RB的大小为1×m2,生成第二随机值加密向量EncA(RB),第二终端将第二随机值加密向量EncA(RB)和第二同态加密向量EncA(GB)进行相加,生成第二密文向量EncA(GB)+EncA(RB),最后将该第二密文向量传输至第一初始化应用模型对应的第一终端。
204、从第一终端获取第一密文向量,并基于第二应用私钥对第一密文向量进行解密,生成第二模型参数,并将第二模型参数传输至第一初始化应用模型对应的第一终端;
第二终端从第一终端获取第一密文向量,然后基于第二应用私钥对第一密文向量进行解密,生成第二模型参数,最后将该第二模型参数传输至第一终端,在本实施例中,第一终端为第一初始化应用模型对应的终端。
假设第一密文向量为EncA(GB)+EncA(RB),第二终端采用第二应用私钥SB对其进行解密,生成第二模型参数GB+RB,最后将该第二模型参数传输至第一终端。
205、基于第二初始化应用模型和第二模型参数进行模型更新,生成第二更新后的应用模型,继续基于第二更新后的应用模型进行加密、解密以及模型更新,直至第二更新后的应用模型收敛,得到第二数据加密模型;
第二终端基于第二模型参数对第二初始化应用模型进行更新,生成第二更新后的应用模型,继续基于第二更新后的应用模型进行加密、解密以及模型更新,直至第二更新后的应用模型收敛,得到第二数据加密模型。
具体的,第二终端基于第二模型参数进行计算,生成第二明文梯度向量;第二终端基于第二初始化应用模型权重向量、第二明文梯度向量和预置的学习率进行计算,生成第二更新后的模型参数,得到第二更新后的应用模型。
第二终端基于第二模型参数进行计算,具体的计算过程为:(GB+RB)-RB,计算得到的结果为第二明文梯度向量GB,然后服务器再基于第二初始化应用模型权重向量WB、第二明文梯度向量GB和预置的学习率η进行模型权重向量的计算,具体的计算过程为:WB1=WB-ηGB,生成第二更新后的模型参数WB1,从而得到第二更新后的应用模型;第二终端继续基于第二更新后的应用模型进行数据加密、数据解密以及模型更新,直至第二更新后的应用模型收敛为止,从而得到第二数据加密模型。
206、获取待加密数据,将待加密数据输入第二数据加密模型中进行加密,生成第二目标加密数据,并将第二目标加密数据传输至第一终端。
服务器获取待加密数据,然后将该待加密数据输入第二数据加密模型中进行加密,经过第二数据加密模型加密后,生成第二目标加密数据,并将第二目标加密数据传输至第一终端,此时即使第一终端获取了第二终端传输过来的第二目标加密数据,也无法对其进行解密或者反推,从而提高了数据的安全性。
本发明实施例中,结合同态加密和多项式盲计算的方法对数据进行加密,根据加密后的密文向量进行模型训练和更新,得到模型参数,从而得到目标模型,解决了基于联邦学习建模过程中存在的中心化问题,还提高了数据的安全性。
上面对本发明实施例中基于联邦学习的建模及应用方法进行了描述,下面对本发明实施例中基于联邦学习的建模及应用装置进行描述,请参阅图3,本发明实施例中基于联邦学习的建模及应用装置一个实施例包括:
第一密钥生成模块301,用于基于第一初始化应用模型,生成第一应用公钥和第一应用私钥,并将所述第一应用公钥和所述第一应用私钥传输至第二初始化应用模型对应的第二终端;
第一计算模块302,用于基于所述第一应用公钥和预置的泰勒公式进行向量计算和加密,生成第一应用加密向量;
第一加密模块303,用于基于所述第一应用私钥和预置的同态加密算法进行向量计算和加密,生成第一同态加密向量,并基于所述第一同态加密向量生成第一密文向量,将所述第一密文向量传输至第二初始化应用模型对应的第二终端;
第一解密模块304,用于从第二终端获取第二密文向量,并基于所述第一应用私钥对所述第二密文向量进行解密,生成第一模型参数,并将所述第一模型参数传输至第二初始化应用模型对应的第二终端;
第一加密模型生成模块305,用于基于所述第一初始化应用模型和所述第一模型参数进行模型更新,生成第一更新后的应用模型,继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型;
第一数据加密模块306,用于获取待加密数据,将所述待加密数据输入所述第一数据加密模型中进行加密,生成第一目标加密数据,并将所述第一目标加密数据传输至第二终端。
可选的,所述第一计算模块302还可以具体用于:
从预置的加密训练数据和所述第一初始化应用模型中提取参数,得到第一特征值矩阵、第一特征值转置矩阵和第一初始化应用模型权重向量;
结合预置的泰勒公式对所述第一特征值矩阵、所述第一特征值转置矩阵和所述第一初始化应用模型权重向量进行计算,生成第一中间系数向量,并将所述第一中间系数向量传输至第二初始化应用模型对应的第二终端;
调用所述第一应用公钥对所述第一中间系数向量进行加密,生成第一应用加密向量。
可选的,所述第一加密模块303还可以具体用于:
从第二初始化应用模型对应的第二终端获取第二公钥,基于第二公钥对所述第一中间系数向量进行加密,生成第一加密系数向量;
获取第二中间系数向量,并调用预置的同态加密算法对所述第一中间系数向量和所述第二中间系数向量进行多项式盲计算,生成第一同态加密向量;
对所述第一同态加密向量进行计算,生成第一密文向量,并将所述第一密文向量传输至第二初始化应用模型对应的第二终端。
可选的,所述第一加密模型生成模块305还可以具体用于:
基于所述第一模型参数进行计算,生成第一明文梯度向量;
基于所述第一初始化应用模型权重向量、第一明文梯度向量和预置的学习率进行计算,生成第一更新后的模型参数,得到第一更新后的应用模型;
继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型。
本发明实施例中,结合同态加密和多项式盲计算的方法对数据进行加密,根据加密后的密文向量进行模型训练和更新,得到模型参数,从而得到目标模型,解决了基于联邦学习建模过程中存在的中心化问题,还提高了数据的安全性。
请参阅图4,本发明实施例中基于联邦学习的建模及应用装置一个实施例包括:
第二密钥生成模块401,用于基于第二初始化应用模型,生成第二应用公钥和第二应用私钥,并将所述第二应用公钥和所述第二应用私钥传输至第一初始化应用模型对应的第一终端;
第二计算模块402,用于基于所述第二应用公钥和预置的泰勒公式计算进行向量计算和加密,生成第二应用加密向量;
第二加密模块403,用于基于所述第二应用私钥和预置的同态加密算法进行向量计算和加密,生成第二同态加密向量,并基于所述第二同态加密向量生成第二密文向量,将所述第二密文向量传输至第一初始化应用模型对应的第一终端;
第二解密模块404,用于获取第一应用私钥,基于所述第一应用私钥对所述第二密文向量进行解密,生成第二模型参数,并将所述第二模型参数传输至第一初始化应用模型对应的第一终端;
第二加密模型生成模块405,用于基于所述第二初始化应用模型和所述第二模型参数进行模型更新,生成第二更新后的应用模型,继续基于所述第二更新后的应用模型进行加密、解密以及模型更新,直至所述第二更新后的应用模型收敛,得到第二数据加密模型;
第二数据加密模块406,用于获取待加密数据,将所述待加密数据输入所述第二数据加密模型中进行加密,生成第二目标加密数据,并将所述第二目标加密数据传输至第一终端。
可选的,所述第二计算模块402还可以具体用于:
从所述第二初始化应用模型中提取参数,得到第二特征值矩阵、第二特征值转置矩阵和第二初始化应用模型权重向量;
结合预置的泰勒公式对所述第二特征值矩阵、所述第二特征值转置矩阵和所述第二初始化应用模型权重向量进行计算,生成第二中间系数向量,并将所述第二中间系数向量传输至第一初始化应用模型对应的第一终端;
调用所述第二应用公钥对所述第二中间系数向量进行加密,生成第二应用加密向量。
可选的,所述第二加密模块403还可以具体用于:
从第一初始化应用模型对应的第一终端获取第一公钥,基于第一公钥对所述第二中间系数向量进行加密,生成第二加密系数向量;
获取第一中间系数向量,并调用预置的同态加密算法对所述第二中间系数向量和所述第一中间系数向量进行多项式盲计算,生成第二同态加密向量;
对所述第二同态加密向量进行计算,生成第二密文向量,并将所述第二密文向量传输至第一初始化应用模型对应的第一终端。
本发明实施例中,结合同态加密和多项式盲计算的方法对数据进行加密,根据加密后的密文向量进行模型训练和更新,得到模型参数,从而得到目标模型,解决了基于联邦学习建模过程中存在的中心化问题,还提高了数据的安全性。
上面图3和图4从模块化功能实体的角度对本发明实施例中的基于联邦学习的建模及应用装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于联邦学习的建模及应用设备进行详细描述。
图5是本发明实施例提供的一种基于联邦学习的建模及应用设备的结构示意图,该基于联邦学习的建模及应用设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于联邦学习的建模及应用设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在基于联邦学习的建模及应用设备500上执行存储介质530中的一系列指令操作。
基于联邦学习的建模及应用设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的基于联邦学习的建模及应用设备结构并不构成对基于联邦学习的建模及应用设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种基于联邦学习的建模及应用设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述基于联邦学习的建模及应用方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于联邦学习的建模及应用方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于联邦学习的建模及应用方法,应用于第一初始化应用模型,其特征在于,所述基于联邦学习的建模及应用方法包括:
基于第一初始化应用模型,生成第一应用公钥和第一应用私钥,并将所述第一应用公钥和所述第一应用私钥传输至第二初始化应用模型对应的第二终端;其中,所述第一应用公钥和所述第一应用私钥存储于一区块链的节点中;
基于所述第一应用公钥和预置的泰勒公式进行向量计算和加密,生成第一应用加密向量;
基于所述第一应用私钥和预置的同态加密算法进行向量计算和加密,生成第一同态加密向量,并基于所述第一同态加密向量生成第一密文向量,将所述第一密文向量传输至第二初始化应用模型对应的第二终端;
从第二终端获取第二密文向量,并基于所述第一应用私钥对所述第二密文向量进行解密,生成第一模型参数,并将所述第一模型参数传输至第二初始化应用模型对应的第二终端;
基于所述第一初始化应用模型和所述第一模型参数进行模型更新,生成第一更新后的应用模型,继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型;
获取待加密数据,将所述待加密数据输入所述第一数据加密模型中进行加密,生成第一目标加密数据,并将所述第一目标加密数据传输至第二终端;
所述基于所述第一应用公钥和预置的泰勒公式进行向量计算和加密,生成第一应用加密向量包括:
从预置的加密训练数据和所述第一初始化应用模型中提取参数,得到第一特征值矩阵、第一特征值转置矩阵和第一初始化应用模型权重向量;
结合预置的泰勒公式对所述第一特征值矩阵、所述第一特征值转置矩阵和所述第一初始化应用模型权重向量进行计算,生成第一中间系数向量,并将所述第一中间系数向量传输至第二初始化应用模型对应的第二终端;
调用所述第一应用公钥对所述第一中间系数向量进行加密,生成第一应用加密向量;
所述基于所述第一应用私钥和预置的同态加密算法进行向量计算和加密,生成第一同态加密向量,并基于所述第一同态加密向量生成第一密文向量,将所述第一密文向量传输至第二初始化应用模型对应的第二终端包括:
从第二初始化应用模型对应的第二终端获取第二公钥,基于第二公钥对所述第一中间系数向量进行加密,生成第一加密系数向量;
获取第二中间系数向量,并调用预置的同态加密算法对所述第一中间系数向量和所述第二中间系数向量进行多项式盲计算,生成第一同态加密向量;
对所述第一同态加密向量进行计算,生成第一密文向量,并将所述第一密文向量传输至第二初始化应用模型对应的第二终端。
2.根据权利要求1所述的基于联邦学习的建模及应用方法,其特征在于,所述基于所述第一初始化应用模型和所述第一模型参数进行模型更新,生成第一更新后的应用模型,继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型包括:
基于所述第一模型参数进行计算,生成第一明文梯度向量;
基于所述第一初始化应用模型权重向量、第一明文梯度向量和预置的学习率进行计算,生成第一更新后的模型参数,得到第一更新后的应用模型;
继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型。
3.一种基于联邦学习的建模及应用方法,应用于第二初始化应用模型,其特征在于,所述基于联邦学习的建模及应用方法包括:
基于第二初始化应用模型,生成第二应用公钥和第二应用私钥,并将所述第二应用公钥和所述第二应用私钥传输至第一初始化应用模型对应的第一终端;
基于所述第二应用公钥和预置的泰勒公式计算进行向量计算和加密,生成第二应用加密向量;
基于所述第二应用私钥和预置的同态加密算法进行向量计算和加密,生成第二同态加密向量,并基于所述第二同态加密向量生成第二密文向量,将所述第二密文向量传输至第一初始化应用模型对应的第一终端;
获取第一应用私钥,基于所述第一应用私钥对所述第二密文向量进行解密,生成第二模型参数,并将所述第二模型参数传输至第一初始化应用模型对应的第一终端;
基于所述第二初始化应用模型和所述第二模型参数进行模型更新,生成第二更新后的应用模型,继续基于所述第二更新后的应用模型进行加密、解密以及模型更新,直至所述第二更新后的应用模型收敛,得到第二数据加密模型;
获取待加密数据,将所述待加密数据输入所述第二数据加密模型中进行加密,生成第二目标加密数据,并将所述第二目标加密数据传输至第一终端。
4.根据权利要求3所述的基于联邦学习的建模及应用方法,其特征在于,所述基于所述第二应用公钥和预置的泰勒公式计算进行向量计算和加密,生成第二应用加密向量包括:
从所述第二初始化应用模型中提取参数,得到第二特征值矩阵、第二特征值转置矩阵和第二初始化应用模型权重向量;
结合预置的泰勒公式对所述第二特征值矩阵、所述第二特征值转置矩阵和所述第二初始化应用模型权重向量进行计算,生成第二中间系数向量,并将所述第二中间系数向量传输至第一初始化应用模型对应的第一终端;
调用所述第二应用公钥对所述第二中间系数向量进行加密,生成第二应用加密向量。
5.根据权利要求4所述的基于联邦学习的建模及应用方法,其特征在于,所述基于所述第二应用私钥和预置的同态加密算法进行向量计算和加密,生成第二同态加密向量,并基于所述第二同态加密向量生成第二密文向量,将所述第二密文向量传输至第一初始化应用模型对应的第一终端包括:
从第一初始化应用模型对应的第一终端获取第一公钥,基于第一公钥对所述第二中间系数向量进行加密,生成第二加密系数向量;
获取第一中间系数向量,并调用预置的同态加密算法对所述第二中间系数向量和所述第一中间系数向量进行多项式盲计算,生成第二同态加密向量;
对所述第二同态加密向量进行计算,生成第二密文向量,并将所述第二密文向量传输至第一初始化应用模型对应的第一终端。
6.一种基于联邦学习的建模及应用装置,其特征在于,所述基于联邦学习的建模及应用装置包括:
第一密钥生成模块,用于基于第一初始化应用模型,生成第一应用公钥和第一应用私钥,并将所述第一应用公钥和所述第一应用私钥传输至第二初始化应用模型对应的第二终端;其中,所述第一应用公钥和所述第一应用私钥存储于一区块链的节点中;
第一计算模块,用于基于所述第一应用公钥和预置的泰勒公式进行向量计算和加密,生成第一应用加密向量;
第一加密模块,用于基于所述第一应用私钥和预置的同态加密算法进行向量计算和加密,生成第一同态加密向量,并基于所述第一同态加密向量生成第一密文向量,将所述第一密文向量传输至第二初始化应用模型对应的第二终端;
第一解密模块,用于从第二终端获取第二密文向量,并基于所述第一应用私钥对所述第二密文向量进行解密,生成第一模型参数,并将所述第一模型参数传输至第二初始化应用模型对应的第二终端;
第一加密模型生成模块,用于基于所述第一初始化应用模型和所述第一模型参数进行模型更新,生成第一更新后的应用模型,继续基于所述第一更新后的应用模型进行加密、解密以及模型更新,直至所述第一更新后的应用模型收敛,得到第一数据加密模型;
第一数据加密模块,用于获取待加密数据,将所述待加密数据输入所述第一数据加密模型中进行加密,生成第一目标加密数据,并将所述第一目标加密数据传输至第二终端;
所述第一计算模块还用于,从预置的加密训练数据和所述第一初始化应用模型中提取参数,得到第一特征值矩阵、第一特征值转置矩阵和第一初始化应用模型权重向量;
结合预置的泰勒公式对所述第一特征值矩阵、所述第一特征值转置矩阵和所述第一初始化应用模型权重向量进行计算,生成第一中间系数向量,并将所述第一中间系数向量传输至第二初始化应用模型对应的第二终端;
调用所述第一应用公钥对所述第一中间系数向量进行加密,生成第一应用加密向量;
所述第一加密模块还用于,从第二初始化应用模型对应的第二终端获取第二公钥,基于第二公钥对所述第一中间系数向量进行加密,生成第一加密系数向量;
获取第二中间系数向量,并调用预置的同态加密算法对所述第一中间系数向量和所述第二中间系数向量进行多项式盲计算,生成第一同态加密向量;
对所述第一同态加密向量进行计算,生成第一密文向量,并将所述第一密文向量传输至第二初始化应用模型对应的第二终端。
7.一种基于联邦学习的建模及应用设备,其特征在于,所述基于联邦学习的建模及应用设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于联邦学习的建模及应用设备执行如权利要求1-5中任意一项所述的基于联邦学习的建模及应用方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-5中任一项所述基于联邦学习的建模及应用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110712823.7A CN113434878B (zh) | 2021-06-25 | 2021-06-25 | 基于联邦学习的建模及应用方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110712823.7A CN113434878B (zh) | 2021-06-25 | 2021-06-25 | 基于联邦学习的建模及应用方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113434878A CN113434878A (zh) | 2021-09-24 |
CN113434878B true CN113434878B (zh) | 2023-07-07 |
Family
ID=77754596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110712823.7A Active CN113434878B (zh) | 2021-06-25 | 2021-06-25 | 基于联邦学习的建模及应用方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434878B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992393B (zh) * | 2021-10-26 | 2023-10-03 | 中国电信股份有限公司 | 用于纵向联邦学习的模型更新的方法、设备、系统和介质 |
CN114338144B (zh) * | 2021-12-27 | 2024-07-19 | 杭州趣链科技有限公司 | 数据防泄露的方法、电子设备和计算机可读存储介质 |
CN114817943A (zh) * | 2022-02-28 | 2022-07-29 | 中国银联股份有限公司 | 一种数据匹配方法、装置、设备及介质 |
CN115865307B (zh) * | 2023-02-27 | 2023-05-09 | 蓝象智联(杭州)科技有限公司 | 一种用于联邦学习的数据点乘运算方法 |
CN115994588B (zh) * | 2023-03-16 | 2023-07-25 | 杭州海康威视数字技术股份有限公司 | 基于区块链与合同理论的数据处理方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016698A (zh) * | 2020-08-28 | 2020-12-01 | 深圳前海微众银行股份有限公司 | 因子分解机模型构建方法、设备及可读存储介质 |
CN112241537A (zh) * | 2020-09-23 | 2021-01-19 | 易联众信息技术股份有限公司 | 纵向联邦学习建模方法、系统、介质及设备 |
CN112926073A (zh) * | 2021-03-17 | 2021-06-08 | 深圳前海微众银行股份有限公司 | 联邦学习建模优化方法、设备、介质及计算机程序产品 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182595B (zh) * | 2019-07-03 | 2024-03-26 | 北京百度网讯科技有限公司 | 基于联邦学习的模型训练方法及装置 |
CN111143878B (zh) * | 2019-12-20 | 2021-08-03 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私数据进行模型训练的方法及系统 |
CN111160573B (zh) * | 2020-04-01 | 2020-06-30 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111177768A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN112131581A (zh) * | 2020-08-19 | 2020-12-25 | 成都飞机工业(集团)有限责任公司 | 一种单密钥加密解密的3d打印多数据库共享优化算法 |
CN111931216B (zh) * | 2020-09-16 | 2021-03-30 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的方式获取联合训练模型的方法及系统 |
-
2021
- 2021-06-25 CN CN202110712823.7A patent/CN113434878B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016698A (zh) * | 2020-08-28 | 2020-12-01 | 深圳前海微众银行股份有限公司 | 因子分解机模型构建方法、设备及可读存储介质 |
CN112241537A (zh) * | 2020-09-23 | 2021-01-19 | 易联众信息技术股份有限公司 | 纵向联邦学习建模方法、系统、介质及设备 |
CN112926073A (zh) * | 2021-03-17 | 2021-06-08 | 深圳前海微众银行股份有限公司 | 联邦学习建模优化方法、设备、介质及计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN113434878A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113434878B (zh) | 基于联邦学习的建模及应用方法、装置、设备及存储介质 | |
JP7064682B2 (ja) | 準同型暗号に基づくプライバシー保護多機関データ分類方法 | |
Gai et al. | Blend arithmetic operations on tensor-based fully homomorphic encryption over real numbers | |
US11882218B2 (en) | Matching system, method, apparatus, and program | |
US9571268B2 (en) | Method and system for homomorphicly randomizing an input | |
CN111241570B (zh) | 保护数据隐私的双方联合训练业务预测模型的方法和装置 | |
WO2015155896A1 (ja) | サポートベクトルマシン学習システムおよびサポートベクトルマシン学習方法 | |
US10360406B2 (en) | Method of obfuscating data | |
US20230254122A1 (en) | Secret material exchange and authentication cryptography operations | |
JP6988918B2 (ja) | 秘密計算システム及び方法 | |
CN111641641B (zh) | 基于可搜索代理重加密的区块链数据共享方法 | |
WO2014132552A1 (ja) | 順序保存暗号化システム、装置、方法およびプログラム | |
US20110060901A1 (en) | Cryptographic System for Performing Secure Iterative Matrix Inversions and Solving Systems of Linear Equations | |
CN111917721A (zh) | 基于区块链的属性加密方法 | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
CN113992325A (zh) | 一种隐私数据共享方法及装置 | |
CN108599941A (zh) | 随机非对称扩充字节通信数据加密方法 | |
Veeraragavan et al. | Enhanced encryption algorithm (EEA) for protecting users' credentials in public cloud | |
CN113761570B (zh) | 一种面向隐私求交的数据交互方法 | |
CN115642999A (zh) | 一种用于私有信息高效检索的方法及系统 | |
CN112149166B (zh) | 非常规密码保护方法及银行智能机器 | |
Sumaryanti et al. | Improvement security in e-business systems using hybrid algorithm | |
CN114205144A (zh) | 数据传输方法、装置、设备、存储介质及程序产品 | |
Pathak et al. | Efficient Protocols for Principal Eigenvector Computation over Private Data. | |
TW202109378A (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 |