CN114841363A - 一种基于零知识证明的隐私保护与可验证的联邦学习方法 - Google Patents

一种基于零知识证明的隐私保护与可验证的联邦学习方法 Download PDF

Info

Publication number
CN114841363A
CN114841363A CN202210374786.8A CN202210374786A CN114841363A CN 114841363 A CN114841363 A CN 114841363A CN 202210374786 A CN202210374786 A CN 202210374786A CN 114841363 A CN114841363 A CN 114841363A
Authority
CN
China
Prior art keywords
training
machine learning
expression
trainer
publisher
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
CN202210374786.8A
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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202210374786.8A priority Critical patent/CN114841363A/zh
Publication of CN114841363A publication Critical patent/CN114841363A/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于零知识证明的隐私保护与可验证隐私的联邦学习方法,属于人工智能机器学习技术领域,包括训练任务发布、本地训练、证明生成、训练结果提交、训练过程验证和训练参数聚合。本发明在联邦学习过程中利用零知识证明技术,在不泄露训练者的隐私数据的情况下向发布者证明训练过程的正确性。本发明对于联邦学习中所使用的训练算法没有限定和要求,支持对任意训练过程的证明,使得联邦学习具有可验证和隐私保护的性质,提高了联邦学习的安全性。同时,本发明采用了一种将小数机器学习过程转化为整数机器学习过程的方法,将复杂的机器学习过程通过一系列涉及加减乘除的简单运算的组合表示,将机器学习过程和密码学进行有机的联系与结合。

Description

一种基于零知识证明的隐私保护与可验证的联邦学习方法
技术领域
本发明属于人工智能机器学习技术领域,涉及一种隐私保护与可验证隐私的联邦学习方法,具体涉及一种基于零知识证明的隐私保护与可验证隐私的联邦学习方法。
背景技术
机器学习作为一种极具前景的技术,已经成为计算机领域研究的热点,其理论和方法在工程应用和科学领域都得到了广泛应用。
联邦学习是一种利用多个去中心化的边缘设备或服务器,通过本地数据训练局部模型,并对局部模型参数进行迭代融合,最终计算出全局模型参数的机器学习技术。不同于传统的中心化机器学习技术,联邦学习无需训练者共享数据。因此,该技术有助于在互不信任的机构间和企业间,解决协作学习过程中普遍遇到的用户隐私性、数据安全性、政策合规性等问题,打破信息系统中的数据孤岛,提升数据质量并升华数据价值。
作为一种具有隐私保护特性的机器学习框架,联邦学习为分布式合作机器学习提供了新的途径。联邦学习将训练任务进行拆分,并分配给训练数据所有者进行模型更新,最后聚合所有的模型更新来完成训练任务并获得准确的联合模型。
然而,由于失去了对训练者训练过程的直接控制,现有技术无法验证训练者是否按要求执行训练任务。而懒惰或恶意的训练者可能会使用错误数据进行更新,最终导致聚合模型的准确率大幅度降低。因此,如何在一个不受信任的分布式系统环境中进行可验证的安全多方训练,是联邦学习中一个亟待解决的问题。
零知识证明是一种能够在不向验证者泄露任何有效信息的情况下,向验证者证明某个命题正确性的技术。通过零知识证明技术,参与者可以在不向任务发布者泄露本地训练数据的情况下向发布者证明训练过程的正确性,使发布者可以相信训练者上传的数据确实是通过正确训练得来的。
发明内容
本发明的目的是为了解决联邦学习中如何在一个不受信任的分布式系统环境中进行可验证的安全多方训练的技术问题,创造性地提出了一种基于零知识证明的隐私保护与可验证的联邦学习方法。
本发明涉及两类参与者,分别是训练任务的发布者(一个)以及执行具体训练任务的训练者(多个)。发布者拥有训练任务,能够发布联邦学习任务,并给予激励(如奖金报酬);训练者拥有用于训练的本地隐私数据,能够通过隐私数据来完成训练任务,并获取激励。
设上述两类参与者都是好奇的,即,参与者会能够通过得到的信息来推测其他参与者的隐私数据。同时,设训练者是懒惰的,即,训练者会尝试在不被发现的情况下以更低的计算量生成能够通过发布者验证的训练结果。
本发明方法,能够在上述参与者中实现可验证安全训练和隐私保护训练,即,能够让发布者验证训练者给出的结果是通过正确的训练过程得来的,同时保护训练者的隐私数据不向任何其他参与者泄露。
本发明采用以下技术方案实现。
一种基于零知识证明的隐私保护与可验证的联邦学习方法,包括训练任务发布、本地训练、证明生成、训练结果提交、训练过程验证和训练参数聚合。如图1所示。
步骤1:训练任务发布。
发布者确定训练任务,通过零知识证明的初始化算法,对训练任务进行初始化,得到用于生成和验证零知识证明的证明生成密钥和证明验证密钥,并将证明生成密钥和具体的训练任务发送给所有的训练者。
一些机器学习算法无法直接使用零知识证明,此时,要先使用转化方法将其转化为整数机器学习过程,之后就可以对其使用零知识证明。
为此,本发明提出了一种将小数机器学习过程转化为整数机器学习过程的方法。训练者可以基于该方法,将小数的机器学习过程转化为相应的整数的机器学习过程,之后即可使用零知识证明的初始化算法,对整数的机器学习过程进行初始化。具体如下:
第一步:将机器学习过程中涉及到的复杂运算(如激活函数sigmoid,softmax,tanh等),通过泰勒展开式转换为简单的通过加减乘除运算表达式。
该步骤用于将机器学习过程中的复杂运算转换为简单的加减乘除运算形式,并在这一过程中定量地控制数值近似所导致的误差,使得该操作对于机器学习结果的误差尽可能小。
具体地,考虑一个复杂的表达式complex(x),其对应的数值近似的展开式
Figure BDA0003589880690000031
ai表示展开式中第i项对应的函数表达式。
给定自变量的值为x0,容许的误差为E,则该复杂表达式complex(x)在点x0处的简单表达式为:
Figure BDA0003589880690000032
n表示简单表达式中所包含的展开式的项数。其中,simple(x)满足|complex(x0)-simple(x0)|≤E。
优选地,确定简单表达式的方法如下:
步骤A:给定复杂表达式complex(x),对应的数值近似的展开式
Figure BDA0003589880690000033
自变量的值x0,容许的误差为E,简单表达式初始值置为空simple(x)=null,i=1。
其中,误差E的选取,由用户根据近似操作对精度的影响的容忍程度自行选取。
步骤B:计算简单表达式simple(x)+=ai(x)。
步骤C:计算简单表达式在x0处的误差,若|complex(x0)-simple(x0)|≤E,则记录当前i的值作为简单表达式simple(x)的表示,否则计算i=i+1,并转回步骤B。
对于在机器学习过程中多次调用同一复杂表达式的情况,通过将每次调用复杂表达式时的输入xj作为自变量取值并输入上述方法,多次执行上述过程并记录每次运行结果,取其中的最大值imax,则该复杂表达式对应的简单表达式表示为
Figure BDA0003589880690000034
该简单表达式满足对于机器学习过程中对该复杂表达式的任意调用的输入值xj,均有|complex(xj)-simple(xj)|≤E,即,该简单表达式simple(x)在机器学习过程中能够以误差E近似复杂表达式complex(x)。
第二步:将机器学习运算过程中产生的小数通过等比例的放缩操作转化成整数。
该步骤用于将机器学习中产生的所有小数通过放缩转化为整数,使整个机器学习过程变成只包含整数元素的机器学习过程。在这一过程中,控制由于位数截断所导致的误差,使得这一操作对于机器学习结果的误差尽可能小。
具体地,考虑一个只涉及到加、减、乘、除四种简单运算的机器学习算法。对于这个机器学习算法,将其看作只包含加、减、乘、除四种简单运算的计算过程,对于其中形如aop1 b op2 c=d的长计算式,其中op为加法/减法/乘法/除法运算符,将其拆分为两个短计算式a op1 b=e,e op2 c=d,该操作称为展平。
对于整个计算过程进行上述拆分,将计算过程转化为n个形如ai op bi=ci的等式,其中ai,bi,ci均为有理小数。设截断位数为l,对上述等式中的ai,bi进行l位的小数截断,即仅保留小数点后l位,得到截断后的等式a′i op b′i=c′i。设放大倍数为rat,对截断后的等式中的a′i,b′i,c′i进行rat倍的放大,使其成为整数,同时通过添加倍数rat维持等式成立,得到元素为整数的等式Ai op Bi=Ci,即,通过整数近似表示的机器学习计算过程,其中Ai=a′i·rat,Bi=b′i·rat,Ci=c′i·rat。
特别地,考虑乘法与除法的情况,将a*b=c放大为(a·rat)*(b·rat)/rat=(c·rat),a/b=c放大为(a*rat*rat)/(b*rat)=(c*rat)。
步骤2:本地训练。
训练者使用本地隐私数据完成训练任务,得到更新后的参数并作为训练结果。同时,保存过程中生成的中间数据,用于生成关于训练过程正确性的零知识证明,用以证明所得到的结果确实是经由给出的训练任务计算得到的。
步骤3:证明生成。
训练者使用训练结果、训练的中间数据,以及发布者给出的证明生成密钥,利用零知识证明的证明生成算法,生成关于训练过程正确性的零知识证明,并将得到的训练结果和相应零知识证明发回给发布者。
步骤4:训练过程验证。
发布者使用证明验证密钥、训练者给出的训练结果,以及零知识证明,利用零知识证明的证明验证算法验证训练结果的正确性。在这一过程中,发布者无法得到任何关于训练者本地隐私数据的额外信息。
步骤5:训练参数聚合。
发布者和给出正确训练结果的训练者根据训练者的训练结果运行一个多方安全计算协议,通过本地训练结果更新得到全局参数。在这一过程中,发布者和训练者均无法得到任何关于其他训练者本地隐私数据的额外信息。同时,发布者根据参与者给出的证明对聚合结果进行验证,检验其与给出的训练结果对应的结果是否一致。
至此,完成一轮训练过程。发布者可以选择使用新的全局参数开始下一轮训练,或者结束训练。
有益效果
本发明,对比现有技术,具有以下优点:
1.本发明在联邦学习过程中利用零知识证明技术,可以在不泄露训练者的隐私数据的情况下向发布者证明训练过程的正确性。
2.本发明对于联邦学习中所使用的训练算法没有限定和要求,可以支持对任意训练过程的证明,使得联邦学习具有可验证和隐私保护的性质,提高了联邦学习的安全性。
3.本发明中,采用了一种将小数机器学习过程转化为整数机器学习过程的方法。通过将机器学习过程中的复杂运算通过泰勒展开等方式,进一步简化为可通过加、减、乘、除运算表示的运算式,并将产生的小数元素按比例放大为整数元素,使得整个复杂的涉及小数的机器学习运算过程转化为简单的只包含加、减、乘、除的简单运算的且只包含整数的机器学习过程。通过这种转换,将复杂的机器学习过程通过一系列涉及加减乘除的简单运算的组合表示,而这种表示方法与密码学有着良好的相容性,因为密码学中涉及到的绝大多数元素都是整数,且绝大部分运算也都是简单的加减乘除的二元运算。这种转换可以将机器学习过程和密码学进行有机的联系与结合(如对机器学习过程进行加密或证明等操作)。
附图说明
图1为基于零知识证明的隐私保护与可验证联邦学习过程示意图。
图2为基于零知识证明的隐私保护与可验证联邦学习流程图。
具体实施方式
下面结合附图及实施例对本发明方法做进一步说明。
本发明所使用的零知识证明系统可以采用Groth16,是一种零知识简洁的非交互知识证明(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,zk-SNARK)。但不限于该类型,本方法也可以采用其它类型的零知识证明系统。
实施例
如图2所示,一种基于零知识证明的隐私保护与可验证隐私联邦学习方法,包括以下步骤:
步骤1:训练任务发布。
发布者希望通过一定程度的训练获得更为准确的模型,但发布者并不拥有可以训练模型的数据,而这类隐私数据由训练者拥有。因此,发布者希望通过联邦学习的方式来与若干个训练者合作完成训练任务。
在任务开始前,发布者可以先基于本方法提出的将小数机器学习过程转化为整数机器学习过程的方法,将小数的机器学习过程转化为相应的整数的机器学习过程,得到待优化的模型F。根据待优化的模型F运行零知识证明的初始化算法Setup(R),得到零知识证明相关的密钥对(pk,vk),其中R为对优化算法对应的算术电路约束的描述,通过待优化模型F得到;pk表示证明生成密钥,vk表示证明验证密钥。之后,发布者将待优化的模型F和密钥对(pk,vk)广播发送给训练者。
步骤2:本地训练。
对n个训练者中的第i个训练者,训练者i在得到待优化的模型F和证明生成密钥pk后,使用本地隐私数据di来训练模型F,得到训练结果pi(即优化后的本地模型参数pi)。
步骤3:证明生成。
对训练者中的第i个训练者,训练者i根据输入的本地隐私数据di、输出的训练结果pi以及发布者给出的证明生成密钥pk,通过运行零知识证明的证明生成算法Prove(pk,di,pi),得到关于结果正确性的零知识证明,即,关于“训练结果pi是通过输入di在模型F中计算得到的”的证明πi
由于验证证明的过程需要计算过程的输入、输出数据,即训练者的本地隐私数据di和训练结果pi,因此,训练者通过运行编辑函数Modify(di,pi,ri,vk)向上述隐私数据中添加随机噪声ri进行保护,得到噪声化的数据d′i、p′i。同时,为了使证明πi能够通过原有零知识证明验证算法的验证,编辑函数将修改验证密钥vk,得到修改后的验证密钥vk′i
此外,训练者要运行修改证明生成函数ProveM(vk,vk′i,ri)得到关于验证密钥vk修改正确性的零知识证明σi,即,关于“vk′i确实是由原有证明验证密钥vk和某些随机噪声按照编辑函数Modify(di,pi,ri,vk)计算得到的,且训练者拥有关于随机噪声的知识”的证明。
最终,训练者将噪声化的训练结果p′i、噪声化的训练输入数据d′i、修改后的证明验证密钥vk′i、关于结果正确性的零知识证明πi,以及关于修改正确性的的零知识证明σi,均发送给发布者。
步骤4:训练过程验证。
发布者在收到来自训练者i的数据包(pi,d′i,vk′iii)后,分别运行零知识证明的验证算法Verify(p′i,d′i,vk′ii)和修改正确性证明的验证算法VerifyM(vk,vk′ii),验证训练结果的正确性和对于验证密钥vk修改的正确性。在这一过程中,不会向发布者泄露任何关于本地隐私数据。在两个验证均通过后,发布者将选择训练者i进入训练参数聚合阶段。
步骤5:训练参数聚合。
发布者和m个被选择的训练者通过运行安全多方计算协议。
训练者输入协议的数据为未噪声化的本地训练结果pi,通过安全多方计算方法,发布者能够得到全局参数pglobal。并且在这一过程中,训练者不会向任何其他的参与者或发布者泄露任何关于某个参与者的本地训练结果pi的额外信息。发布者向所有训练者发布一个生成元gpub,用于后续证明。
训练者通过运行聚合结果证明函数ProveS(pi,ri,gpub)生成关于用于安全多方计算的数据的正确性的证明φi,并将该证明发送给发布者。
发布者通过将所有训练者提交的上述证明进行聚合,并使用聚合结果验证函数VerifyS(φ1,…,φi,…,φn,gpub),对聚合结果的正确性进行验证,即“最终得到的聚合结果
Figure BDA0003589880690000071
与之前所提交的训练结果中的p′i的聚合结果是相同的”。
最后,发布者向被选择的m个训练者支付激励。
至此,一轮联邦学习流程结束。发布者可以选择使用新的全局参数作为待优化模型开始下一轮训练,或者结束训练。
特别地,为了对本发明中所涉及的一种将小数机器学习过程转化为整数机器学习过程的方法进行说明,对其进行实施例的补充。
考虑如下的机器学习算法:
1.a=sigmoid(x)
2.d=a*b+c
设该算法的输入为x,b,c,输出为d。设x=1.2,b=1.3,c=4,通过计算可知d=4.999。首先使用步骤1第一步所述方法,对算法1中的复杂函数sigmoid进行数值近似操作,sigmoid函数表达式为
Figure BDA0003589880690000081
考虑e-x的泰勒展开式
Figure BDA0003589880690000089
Figure BDA00035898806900000810
设容许误差E=0.15。首先计算sigmoid(1.2)≈0.7685,当i=1时,
Figure BDA0003589880690000084
simple(1.2)=0.5,|simple(1.2)-sigmoid(1.2)|>0.1,当i=2时,
Figure BDA0003589880690000085
simple(1.2)=1.25,|simple(1.2)-sigmoid(1.2)|>0.1,当i=3时,
Figure BDA0003589880690000086
simple(1.2)≈0.6579,|simple(1.2)-sigmoid(1.2)|≤0.1,即选取的近似表达式为
Figure BDA0003589880690000087
此时机器学习算法变为:
1.
Figure BDA0003589880690000088
2.d=a*b+c
此时使用步骤1第二步所述方法,取l=2,rat=100。首先对算法进行展平,得到:
1.m1=x*x
2.m2=m1/2
3.m3=m2-x
4.m4=m3+2
5.a=1/m4
6.m5=a*b
7.d=m5+c
其中,mi表示中间变量,带入x=1.2,考虑使用l=2进行截断,得到如下等式:
1.1.2*1.2=1.44
2.1.44/2=0.72
3.0.72-1.2=0.48
4.0.48+2=2.48
5.1/2.48≈0.40
6.0.40*1.3≈0.52
7.0.52+4=4.52
对上述等式进行倍数放大,得到如下等式:
1.1.2*100*1.2*100/100=1.44*100
2.1.44*100*100/200=0.72*100
3.0.72*100-1.2*100=0.48*100
4.0.48*100+2*100=2.48*100
5.1*100*100/2.48*100=0.40*100
6.0.40*100*1.3*100/100≈0.52*100
7.0.52*100+4*100=4.52*100
通过上述操作,最终得到了输入为X=120,C=130,C=400,输出为D=452的整数机器学习计算过程,与原结果d=4.999按比例放大后有约10%的误差,该误差是由E=0.15的容许误差与l=2的截断导致的,通过减小容许误差E和截断l可进一步减小该误差,直至最终的误差进入可接受的范围内。
通过上述过程,获得了一个关于机器学习训练过程的若干个整数形式的算术电路的约束。
以上所述的具体实例是对本发明的进一步解释说明,并不用于限定本发明的保护范围,凡在本发明原则和精神之内,所做的更改和等同替换都应是本发明的保护范围之内。
应用实例
为了使得本发明的目的、技术方案、应用性、创新性和优点能够表述得更加清楚,通过提出一种应用本发明方法的应用实例,对本发明作进一步地详细描述。
目前,人工智能技术在辅助医疗诊断领域有一定程度的应用,通过机器学习,可以使人工智能模型通过病例的文字、图片等病例信息以及对应的病例诊断对不同疾病的特征进行学习,最终得到一个较为可靠的,可以通过病例的文字、图片等信息给出相应病例诊断的辅助医疗诊断人工智能模型。这一过程需要很多的病例样本作为训练数据,往往一家医院所拥有的病例信息是不够的,然而,病例信息属于患者的个人隐私信息,很难在没有隐私保护的情况下进行中心化的大规模训练学习。
因此,通过本发明提出的一种基于零知识证明的隐私保护与可验证隐私联邦的学习方法,将开发辅助医疗诊断系统的公司或医学研究中心看作发布者,将拥有患者隐私病例信息的若干个医院看作若干个参与者,便可以在保护数据隐私的情况下进行大规模的学习训练,即在整个过程中不会向任何其他参与方泄露患者的隐私数据,并且能够保证训练结果的可信性,即每个参与方的本地结果都是正确计算得来的。
具体过程如下:
步骤1:发布者(如公司,医学研究中心等)根据待优化的辅助医疗诊断模型,使用将小数机器学习过程转化为整数机器学习过程的方法进行零知识证明的初始化,并将相应模型和生成的密钥对发送给各个训练者(如医院)。
步骤2:拥有相关病例数据的医院使用病例数据进行模型训练,得到本地模型更新。
步骤3:医院使用零知识证明算法与本方法中给出的算法生成对于训练得到的本地模型的正确性的零知识证明,并将证明发回给发布者。
步骤4:发布者对医院发回的训练结果和证明使用零知识证明算法和本方法中给出的算法进行验证。
步骤5:对于验证通过的训练结果,发布者与这些医院进行安全多方计算,最终得到全局模型的更新,在对全局模型进行验证后,发布者向医院支付相应的激励。
步骤6:在进行有限次的联邦学习任务后,辅助医疗诊断模型实现收敛。
至此,过程完整结束。

Claims (4)

1.一种基于零知识证明的隐私保护与可验证的联邦学习方法,其特征在于,包括两类参与者,分别是训练任务的发布者和执行具体训练任务的训练者;其中,发布者拥有训练任务,能够发布联邦学习任务,并给予激励;训练者拥有用于训练的本地隐私数据,能够通过隐私数据来完成训练任务,并获取激励;
设上述两类参与者都是好奇的,即,参与者会能够通过得到的信息来推测其他参与者的隐私数据;同时,设训练者是懒惰的,即,训练者会尝试在不被发现的情况下以更低的计算量生成能够通过发布者验证的训练结果;
包括以下步骤:
步骤1:训练任务发布;
发布者确定训练任务,通过零知识证明的初始化算法,对训练任务进行初始化,得到用于生成和验证零知识证明的证明生成密钥和证明验证密钥,并将证明生成密钥和具体的训练任务发送给所有的训练者;
步骤2:本地训练;
训练者使用本地隐私数据完成训练任务,得到更新后的参数并作为训练结果;同时,保存过程中生成的中间数据,用于生成关于训练过程正确性的零知识证明,用以证明所得到的结果确实是经由给出的训练任务计算得到的;
步骤3:证明生成;
训练者使用训练结果、训练的中间数据,以及发布者给出的证明生成密钥,利用零知识证明的证明生成算法,生成关于训练过程正确性的零知识证明,并将得到的训练结果和相应零知识证明发回给发布者;
步骤4:训练过程验证;
发布者使用证明验证密钥、训练者给出的训练结果,以及零知识证明,利用零知识证明的证明验证算法验证训练结果的正确性;在这一过程中,发布者无法得到任何关于训练者本地隐私数据的额外信息;
步骤5:训练参数聚合;
发布者和给出正确训练结果的训练者根据训练者的训练结果运行一个多方安全计算协议,通过本地训练结果更新得到全局参数;在这一过程中,发布者和训练者均无法得到任何关于其他训练者本地隐私数据的额外信息;同时,发布者根据参与者给出的证明对聚合结果进行验证,检验其与给出的训练结果对应的结果是否一致;
至此,完成一轮训练过程;发布者选择使用新的全局参数开始下一轮训练,或者结束训练。
2.如权利要求1所述的一种基于零知识证明的隐私保护与可验证的联邦学习方法,其特征在于,步骤1中,训练者采用一种将小数机器学习过程转化为整数机器学习过程的方法,先将小数的机器学习过程转化为相应的整数的机器学习过程,之后使用零知识证明的初始化算法,对整数的机器学习过程进行初始化,包括以下步骤:
第一步:将机器学习过程中涉及到的复杂运算转换为简单的通过加减乘除运算表达式;
考虑一个复杂的表达式complex(x),其对应的数值近似的展开式
Figure FDA0003589880680000021
ai表示展开式中第i项对应的函数表达式;
给定自变量的值为x0,容许的误差为E,则该复杂表达式complex(x)在点x0处的简单表达式为:
Figure FDA0003589880680000022
n表示简单表达式中所包含的展开式的项数;其中,simple(x)满足|complex(x0)-simple(x0)|≤E;
第二步:将机器学习运算过程中产生的小数通过等比例的放缩操作转化成整数,使整个机器学习过程变成只包含整数元素的机器学习过程;
考虑一个只涉及到加、减、乘、除四种简单运算的机器学习算法,将其看作只包含加、减、乘、除四种简单运算的计算过程,其中,对于形如a op1 b op2 c=d的长计算式,op为加法/减法/乘法/除法运算符,将其拆分为两个短计算式a op1 b=e,e op2 c=d,该操作称为展平;
对于整个计算过程进行上述拆分,将计算过程转化为n个形如ai op bi=ci的等式,其中ai,bi,ci均为有理小数;设截断位数为l,对上述等式中的ai,bi进行l位的小数截断,即仅保留小数点后l位,得到截断后的等式a′iop b′i=c′i;设放大倍数为rat,对截断后的等式中的a′i,b′i,c′i进行rat倍的放大,使其成为整数,同时通过添加倍数rat维持等式成立,得到元素为整数的等式Ai op Bi=Ci,即,通过整数近似表示的机器学习计算过程,其中Ai=a′i·rat,Bi=b′i·rat,Ci=c′i·rat;
考虑乘法与除法的情况,将a*b=c放大为(a·rat)*(b·rat)/rat=(c·rat),a/b=c放大为(a*rat*rat)/(b*rat)=(c*rat)。
3.如权利要求2所述的一种基于零知识证明的隐私保护与可验证的联邦学习方法,其特征在于,第一步中确定简单表达式的方法如下:
步骤A:给定复杂表达式complex(x),对应的数值近似的展开式
Figure FDA0003589880680000031
自变量的值x0,容许的误差为E,简单表达式初始值置为空simple(x)=null,i=1;其中,误差E的选取,由用户根据近似操作对精度的影响的容忍程度自行选取;
步骤B:计算简单表达式simple(x)+=ai(x);
步骤C:计算简单表达式在x0处的误差,若|complex(x0)-simple(x0)|≤E,则记录当前i的值作为简单表达式simple(x)的表示,否则计算i=i+1,并转回步骤B。
4.如权利要求2所述的一种基于零知识证明的隐私保护与可验证的联邦学习方法,其特征在于,第一步中,对于在机器学习过程中多次调用同一复杂表达式的情况,通过将每次调用复杂表达式时的输入xj作为自变量取值并输入上述方法,多次执行上述过程并记录每次运行结果,取其中的最大值imax,则该复杂表达式对应的简单表达式表示为
Figure FDA0003589880680000032
该简单表达式满足对于机器学习过程中对该复杂表达式的任意调用的输入值xj,均有|complex(xj)-simple(xj)|≤E,即,该简单表达式simple(x)在机器学习过程中能够以误差E近似复杂表达式complex(x)。
CN202210374786.8A 2022-04-11 2022-04-11 一种基于零知识证明的隐私保护与可验证的联邦学习方法 Pending CN114841363A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210374786.8A CN114841363A (zh) 2022-04-11 2022-04-11 一种基于零知识证明的隐私保护与可验证的联邦学习方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210374786.8A CN114841363A (zh) 2022-04-11 2022-04-11 一种基于零知识证明的隐私保护与可验证的联邦学习方法

Publications (1)

Publication Number Publication Date
CN114841363A true CN114841363A (zh) 2022-08-02

Family

ID=82563383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210374786.8A Pending CN114841363A (zh) 2022-04-11 2022-04-11 一种基于零知识证明的隐私保护与可验证的联邦学习方法

Country Status (1)

Country Link
CN (1) CN114841363A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115811402A (zh) * 2022-11-14 2023-03-17 吉林大学 基于隐私保护联邦学习的医疗数据分析方法及存储介质
CN117077038A (zh) * 2023-08-31 2023-11-17 南开大学 决策树模型的模型隐私、数据隐私及模型一致性保护方法
CN117240438A (zh) * 2023-11-10 2023-12-15 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于零知识证明的神经网络输出结果产权证明方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115811402A (zh) * 2022-11-14 2023-03-17 吉林大学 基于隐私保护联邦学习的医疗数据分析方法及存储介质
CN115811402B (zh) * 2022-11-14 2023-05-30 吉林大学 基于隐私保护联邦学习的医疗数据分析方法及存储介质
CN117077038A (zh) * 2023-08-31 2023-11-17 南开大学 决策树模型的模型隐私、数据隐私及模型一致性保护方法
CN117240438A (zh) * 2023-11-10 2023-12-15 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于零知识证明的神经网络输出结果产权证明方法及装置
CN117240438B (zh) * 2023-11-10 2024-04-26 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于零知识证明的神经网络输出结果产权证明方法及装置

Similar Documents

Publication Publication Date Title
CN114841363A (zh) 一种基于零知识证明的隐私保护与可验证的联邦学习方法
EP3616356B1 (en) Preventing misrepresentation of input data by participants in a secure multi-party computation
Du et al. Enabling secure and efficient decentralized storage auditing with blockchain
CN111143894B (zh) 一种提升安全多方计算效率的方法及系统
CN112949865B (zh) 一种基于sigma协议的联邦学习贡献度评估方法
Stephanie et al. Trustworthy privacy-preserving hierarchical ensemble and federated learning in healthcare 4.0 with blockchain
JP7500801B2 (ja) コンピュータにより実施される意思決定システム及び方法
Sun et al. A searchable personal health records framework with fine-grained access control in cloud-fog computing
Banerjee et al. Demystifying the Role of zk-SNARKs in Zcash
CN113836556A (zh) 面向联邦学习的去中心化函数加密隐私保护方法及系统
CN115455476A (zh) 基于多密钥同态加密的纵向联邦学习隐私保护方法及系统
CN112149156B (zh) 用于公开记录的属性和数据条目的系统和选择器及其方法
CN112905187A (zh) 编译方法、装置、电子设备及存储介质
CN113409154A (zh) 一种基于可信存储的安责险处理方法和系统
Bellés-Muñoz et al. Twisted edwards elliptic curves for zero-knowledge circuits
CN115361145A (zh) 一种基于零知识证明的支持监管的联盟链隐私保护方法
CN109687969B (zh) 一种基于密钥共识的格基数字签名方法
Singh et al. A digital asset inheritance model to convey online persona posthumously
CN108259180B (zh) 一种量子指定验证者签名的方法
CN108667624B (zh) 一种标准模型下的紧凑环签名方法及系统
JPWO2021059090A5 (zh)
CN113792282B (zh) 身份数据验证方法、装置、计算机设备和存储介质
CN115952483A (zh) 匿名可追踪身份认证方法及装置
Li et al. PRI: PCH-based privacy-preserving with reusability and interoperability for enhancing blockchain scalability
Tan et al. Multi-party co-signature scheme based on SM2

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