CN111460478A - 一种面向协同深度学习模型训练的隐私保护方法 - Google Patents

一种面向协同深度学习模型训练的隐私保护方法 Download PDF

Info

Publication number
CN111460478A
CN111460478A CN202010239448.4A CN202010239448A CN111460478A CN 111460478 A CN111460478 A CN 111460478A CN 202010239448 A CN202010239448 A CN 202010239448A CN 111460478 A CN111460478 A CN 111460478A
Authority
CN
China
Prior art keywords
deep learning
model
learning model
parameter
participant
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
Application number
CN202010239448.4A
Other languages
English (en)
Other versions
CN111460478B (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.)
Xidian University
Third Research Institute of the Ministry of Public Security
Original Assignee
Xidian University
Third Research Institute of the Ministry of Public Security
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 Xidian University, Third Research Institute of the Ministry of Public Security filed Critical Xidian University
Priority to CN202010239448.4A priority Critical patent/CN111460478B/zh
Publication of CN111460478A publication Critical patent/CN111460478A/zh
Application granted granted Critical
Publication of CN111460478B publication Critical patent/CN111460478B/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/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
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

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

Abstract

本发明公开了一种面向协同深度学习模型训练的隐私保护方法,包括:提出协同的分布式深度学习模型训练方法,参与者在其本地利用已有训练数据进行模型参数梯度计算,并将计算得到的梯度数据发送给参数服务器,进行模型参数更新;提出基于双陷门公钥密码算法的隐私保护机制,使得参与者在保证各自训练数据隐私的前提下,实现深度学习模型的安全训练;设计细粒度的深度学习模型发布方法,确保只有参加训练的数据拥有者才可以获得模型,保证模型训练公平性。仿真测试的结果表明本发明能够在保证参与者数据隐私的前提下提供准确的模型训练服务。可为人工智能等新一代计算机技术提供隐私保护。

Description

一种面向协同深度学习模型训练的隐私保护方法
技术领域
本发明属于信息安全领域,涉及一种隐私保护方法,可用于大规模数据中深度学习模型的协同安全训练。
背景技术
机器学习正成为数字经济发展的新引擎,特别是在移动互联网、大数据、超级计算、传感网、脑科学等新理论新技术以及经济社会发展强烈需求的共同驱动下,机器学习将进一步赋能各行各业,推动数字经济深入发展。作为机器学习的分支,深度学习在工业界和学术界也越来越受到关注,在医疗诊断、语音识别、图像识别等领域应用广泛。深度学习往往基于海量数据进行模型训练,通过分析数据间隐藏的关联关系,得出适用于当前训练数据集的模型参数,从而可为用户提供个性化服务。
现如今,组织机构更倾向于在聚合的大量数据中进行深度学习模型的协同训练,并将训练的模型分享给参与模型训练的参与者。与基于各参与者独自数据进行模型训练相比,协同训练具有如下两个优点:1)多样化和大规模的数据可以大大提高模型训练的准确性;2)在复杂的应用中,由于应用模型无法基于单个用户的数据进行训练,多个数据拥有者的互补数据对模型训练是必需的。然而,训练数据中通常包含有敏感信息,参与者可能会因为担心隐私信息的泄露拒绝以明文的形式共享其数据。例如,某医院要联合多家地市的医院训练一个医疗诊断模型,但是因为规章制度的限制,这些医院无法将数据直接共享该医院。因此,协同深度学习模型训练系统(collaborative deep learning training system)被提出用于实现多源隐私数据的深度学习模型训练。
目前,已有多种基于密码学和差分隐私技术的协同深度学习模型训练方案,但是在大规模多源数据中进行模型联合训练,现有方案仍存在模型准确性低、安全性无法保证等问题。如:“一种基于隐私保护技术的联合深度学习训练方法”(申请号:CN201811540698.0)结合差分隐私和密码学技术实现联合深度学习的模型安全训练,但是由于采用了差分隐私技术,导致模型训练准确性较低;而“Privacy-preserving deeplearning”与“Privacy-preserving deep learning via additively homomorphicencryption”方案则在安全性方面仍存在问题。
因此,如何能在保证参与者数据隐私的前提下,实现多源数据的模型安全协同训练已成为深度学习进一步发展与应用的关键。本发明提出了一种面向协同深度学习模型训练的隐私保护方法,可以解决面向多源数据的深度学习模型安全训练问题,并解决传统隐私保护方案计算开销大、模型训练准确性无法保证等问题,从而为深度学习的大规模安全应用提供技术支撑。
发明内容
本发明要解决的技术问题是针对多源数据深度学习模型训练过程中的隐私问题,提出一种面向协同深度学习模型训练的隐私保护方法,以保证参与者在模型训练过程中数据的隐私性及训练模型的安全性。
本发明是通过下述技术方案来实现的。
本发明针对大规模多源数据的模型训练问题,提出协同的分布式深度学习模型训练方法,参与者在其本地利用已有数据进行模型参数梯度计算,并将计算得到的梯度数据发送给参数服务器,进行模型参数更新;针对模型参数梯度计算和参数更新过程中的隐私问题,提出基于双陷门公钥密码算法的隐私保护机制,使得参与者在保证各自训练数据隐私的前提下,实现深度学习模型的安全训练。本发明中所涉及的密钥生成、安全协议可参照“An efficient privacy-preserving outsourced calculation toolkit with multiplekeys”方案中双陷门公钥密码算法。
本发明实现方案如下:
一种面向协同深度学习模型训练的隐私保护方法,包括以下步骤:
步骤1,系统初始化,给定系统安全参数,密钥生成中心为各参与者和参数服务器生成密钥,并通过SSL/TLS安全通道实现密钥分发;
步骤2,建立深度学习模型,并初始化深度学习模型参数;对深度学习模型初始化参数和训练数据归一化处理,对归一化后的初始化深度学习模型参数加密并上传给参数服务器;
步骤3,参与者从参数服务器下载最新的模型参数,并基于其拥有的本地训练数据进行前向反馈计算;参与者基于加密算法的同态特性,计算深度学习模型每层激活函数的输入;
步骤4,参与者在获得激活函数输入后,借助参数服务器实现激活函数的计算;
步骤5,根据得到的激活函数计算结果,参与者计算所有连接层的输出,并预测在本轮参数下的深度学习模型输出结果;
步骤6,参与者计算深度学习模型密文输出值与真实值之间的误差密文;
步骤7,参与者比较误差密文与模型阈值τ的大小,若误差大于模型阈值τ,则参与者继续执行深度学习模型训练,否则停止深度学习模型训练;
步骤8,当误差大于阈值τ时,参与者继续执行深度学习模型训练;
步骤9,在计算得到梯度后,参与者将梯度密文发送给参数服务器;
步骤10,参数服务器在收到参与者上传的梯度数据后,利用加密算法的同态特性对深度学习模型参数进行更新;
步骤11,在深度学习模型训练完毕后,参数服务器将最终更新完毕的深度学习模型参数发布给各参与者。
所述步骤2具体步骤如下:
2a)首先引入一个特定的参考精度δ,并将深度学习模型的浮点数参数归一化为整数;
2b)在将参数归一化后,采用所有参与者的联合公钥,将参数进行加密,得到参数密文;
2c)参与者将参数密文发送给参数服务器进行管理。
所述步骤3具体步骤如下:
在k=1层时,计算深度学习模型第一层激活函数的输入:
在k=2层时,首先利用安全乘法协议计算第一层节点的输出与参数密文[[10δW(k)]]的积,然后进行浮点数归一化处理,同时利用加密算法同态特性,计算深度学习模型第二层激活函数的输入。
所述步骤4具体步骤如下:
4a)参与者首先对函数输入进行随机化处理,并进行部分解密,然后将解密结果发送给参数服务器;
4b)参数服务器再次对函数输入数据进行部分解密,得到随机化的激活函数输入信息;参数服务器实现非线性激活函数计算,并将计算结果加密后发给参与者;
4c)参与者基于密码算法的同态特性将添加的随机数去除,从而得到激活函数的输出结果密文。
所述步骤6中,计算模型密文输出值与真实值之间的误差密文,是指参与者在当前模型参数下计算得到模型输出值后,与真实数据值之间进行密文误差计算。
所述步骤7具体步骤如下:
7a)参与者首先对模型误差阈值τ进行预处理,并采用联合公钥对其进行加密,得到联合公钥加密值cτ′;参与者选择另一随机数ν,并计算、部分解密,并将解密结果β″发送给参数服务器;
7b)参数服务器在接收到解密结果后,再次对其部分解密,得到解密结果,参数服务器将误差大小标识u发回给参与者;
7c)参与者收到误差大小标识u后,判断模型输出误差是否大于模型误差阈值。
步骤8)中,参与者在继续模型训练过程中,求解激活函数的导函数用于计算模型输出误差在每个节点激活水平处的偏导数,激活函数的一阶导函数求解;然后,依次计算模型输出误差在每层节点激活水平处的偏导数。
步骤9)中,参与者在获得模型输出误差在节点激活水平处的偏导数后,进一步计算模型训练过程中参数变化梯度。
步骤10)中,对模型参数进行更新,是指参数服务器在收到模型参数梯度后,基于密码算法的同态特性直接在密文上对参数进行更新。
本发明由于采取以上技术方案,其具有以下有益效果:
1)本发明支持多数据拥有者在未直接共享训练数据的前提下实现了多源数据的协同模型训练。
2)本发明在模型训练过程中,所有数据均以密文形式参与计算,从而保证了模型训练过程中的数据隐私性。
3)本发明在模型发布过程中,保证了只有参与模型训练的数据拥有者才可以解密获得所训练的模型,从而实现了模型训练及使用的公平性。
本发明保证了大规模多源隐私数据的协同模型安全训练,并实现了训练模型的安全发布。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的不当限定,在附图中:
图1是本发明所设计的协同深度学习系统模型图;
图2是本发明所设计的系统框架图;
图3是本发明所训练模型的准确率与其它方案的对比图。
具体实施方式
下面将结合附图以及具体实施例来详细说明本发明,在此本发明的示意性实施例以及说明用来解释本发明,但并不作为对本发明的限定。
本发明设计了一种面向协同深度学习模型训练的隐私保护系统,由密钥生成中心、参数服务器和多个参与者构成。密钥生成中心主要负责密钥生成、并为参数服务器和参与者分发密钥。在该系统中,密钥生成中心为唯一可信实体;参数服务器主要负责管理深度学习模型全局参数,并提供一定的计算能力实现模型参数的更新。在该系统中,参数服务器为半可信实体,其能够为模型训练正确地管理数据和实现计算,但也会通过参与者上传的数据推断其隐私信息;参与者拥有其各自的本地训练数据集,在训练模型时,参与者P1初始化模型参数,加密之后发送给参数服务器进行管理,而其他参与者则从参数服务器下载密文参数进行模型训练,在训练过程中,参与者也作为半可信实体,其能够提供正确地训练数据并执行计算,但也会在训练过程中通过下载的模型参数推断其他参与者的隐私信息。
本发明基于深度学习模型训练算法—随机梯度下降法和图1中的隐私保护系统,将本系统的执行步骤分为3个阶段:前向反馈阶段、梯度计算阶段和参数更新阶段。前向反馈阶段是指参与者基于其本地训练数据集和下载的模型参数计算模型输出值与真实值之间的误差,在该阶段中,参数服务器会辅助参与者实现复杂的密文计算,从而保证数据均以密文形式参与计算,保障用户数据安全;梯度计算阶段是指参与者基于前向反馈阶段计算的误差进行后向传播,并计算出该误差对模型参数的梯度变化,并将计算出的梯度密文数据上传给参数服务器;参数更新阶段是指参数服务器在接收到参与者上传的梯度数据后,利用加密算法的同态特性实现全局模型参数的更新。
参照图2,本发明的一种面向协同深度学习模型训练的隐私保护方法实现步骤如下:
其中为简化计算,且模型每层结构相似,假设所训练模型具有三层神经元结构,输入层有n1个节点,隐藏层有n2个节点,同时设每次训练时随机从训练数据中选取L个数据参与训练,h∈[1,L],i∈[1,nk],j∈[1,nk+1],k={1,2}。
步骤1,密钥生成中心进行系统初始化,并生成、分发数据加密密钥。
密钥生成中心首先根据参与者数量进行系统初始化,并为各参与者和参数服务器生成密钥。在生成密钥后,依托密钥生成中心与参与者和参数服务器之间建立的安全套通道(SSL或TLS)进行密钥分发。
步骤2,建立深度学习模型,并初始化深度学习模型参数;对深度学习模型初始化参数和训练数据归一化处理,对归一化后的初始化深度学习模型参数进行加密,并上传给参数服务器。
参与者P1首先根据所要训练的模型结构随机生成模型参数。为了保证参数能够被正确加密并保证模型训练的准确性,需要对生成的模型参数进行归一化处理后再加密。由于本发明所采用的密码算法只支持整数加密运算,而模型参数和训练数据大多为浮点数,因此,采用浮点数归一化方法,对模型初始化参数和训练数据进行归一化处理,然后参与者P1对归一化后的初始模型参数进行加密并上传给参数服务器。浮点数参数归一化方法,是指参与者对初始化的模型参数按照特定格式进行归一化取整,同时在模型训练计算过程中保证中间计算结果的归一化,从而保证模型训练的准确性。
具体步骤如下:
2a)首先引入一个特定的参考精度δ,并将深度学习模型的浮点数参数归一化为整数。例如:引入δ=4,若模型参数为0.4268,则可将参数归一化为4268。同时,该归一化方法也可用于调整计算过程中间计算结果的倍数,如将42680000归一化为4268。为简化描述,本发明将归一化函数记为SNorm。
2b)在将参数归一化后,采用所有参与者的联合公钥,将参数进行加密,得到参数密文:[[10δW(k)]]和[[10δb(k)]]。
2c)参与者P1将参数密文[[10δW(k)]]、[[10δb(k)]]发送给参数服务器进行管理。
步骤3,参与者Pt从参数服务器下载最新的模型参数,并给予其拥有的本地训练数据进行前向反馈计算;参与者首先基于加密算法的同态特性,计算模型每层激活函数的输入。
基于其训练数据和下载到的模型参数密文进行计算,是指在协同深度学习模型训练中,参与者基于其本地训练数据集进行激活函数输入的密文计算,在该过程中,只有输入层输入数据为明文,其它层输入数据、中间计算结果及输出数据均以密文形式参加计算。
在k=1层时,计算深度学习模型第一层激活函数
Figure BDA0002432070870000091
的输入:
Figure BDA0002432070870000092
式中,
Figure BDA0002432070870000093
表示模型输入信息,
Figure BDA0002432070870000094
为深度学习模型第一层节点参数,n1为深度学习模型中第一层神经元的节点数量。
在k=2层时,首先利用安全乘法协议(SMP)计算第一层节点的输出与参数密文[[10δW(k)]]的积zhij,然后进行浮点数归一化处理,即
Figure BDA0002432070870000095
同时利用加密算法同态特性,计算深度学习模型第二层激活函数
Figure BDA0002432070870000099
的输入:
Figure BDA0002432070870000097
式中,zhij表示第一层输出与参数密文[[10δW(k)]]的乘积,
Figure BDA0002432070870000098
为深度学习模型第二层参数,n2为深度学习模型第二层节点数量。
步骤4,参与者在获得激活函数输入后,将借助参数服务器实现激活函数的计算,对输入数据进行随机化处理,是指在进行激活函数计算时,为保证参与者训练数据安全,对计算得到的激活函数输入数据进行添加随机数处理。
具体步骤如下:
4a)本发明选择Sigmoid函数为深度学习模型每层的激活函数。在得到激活函数的输入
Figure BDA0002432070870000101
后,对其进行随机化处理:
Figure BDA0002432070870000102
Pt利用加密算法的双陷门特性对
Figure BDA0002432070870000103
进行部分解密,并将结果
Figure BDA0002432070870000104
发送给参数服务器。
4b)参数服务器接收到数据后,再次对
Figure BDA0002432070870000105
解密,并计算
Figure BDA0002432070870000106
防止参与者从之前计算的梯度数据中推断出用户隐私信息,参数服务器再次对函数输入数据
Figure BDA0002432070870000107
进行加密,得到随机化的激活函数输入信息
Figure BDA0002432070870000108
参数服务器实现了非线性激活函数计算,并将计算结果加密后发送给参与者Pt
4c)参与者Pt基于密码算法的同态特性对随机数
Figure BDA0002432070870000109
进行去除处理,得到激活函数中间计算结果
Figure BDA00024320708700001010
并利用安全除法协议(SDiv)计算得到激活函数的输出,即
Figure BDA00024320708700001011
[[q]]即为激活函数的输出,并设
Figure BDA00024320708700001012
步骤5,基于步骤3、步骤4,参与者将计算所有连接层的输出,并预测在本轮参数下的模型输出结果。
步骤6,参与者Pt计算模型密文输出值与真实值之间的误差密文;参与者在当前模型参数下计算得到模型输出值后,与真实数据值之间进行密文误差计算。
在输出层,令
Figure BDA00024320708700001013
基于加密算法的同态特性,模型输出值与真实值之间的误差可计算如下:
Figure BDA00024320708700001014
其中,
Figure BDA00024320708700001015
表示最后一层节点的计算输出,[[10δyhj]]表示模型真实的结果值,[[ehj]]表示真实值与计算值之间的误差,L为深度学习模型训练中的超参数,n3为输出层的节点数,SDiv和SMP分别为安全除法协议和安全乘法协议,[[q′]]即为模型输出与真实值之间误差的密文,N为安全参数,[[r′]]为安全除法协议获得的余数,j表示依次获得输出层节点的差值,h表示依次获得L个训练样本。
步骤7,参与者Pt比较误差密文与模型阈值τ的大小,若误差大于模型阈值τ,则继续执行模型训练,否则停止模型训练。
7a)参与者比较模型输出与真实值之间误差密文[[q′]]与误差阈值τ的大小,首先对模型误差阈值τ进行预处理,计算τ′=2×10τ+1,并采用联合公钥对其进行加密,得到联合公钥加密值cτ′;然后,生成随机数ξ∈{0,1},若ξ=1,则[[β]]=cτ′·([[q′]])N-2,否则[[β]]=([[q′]])2·(cτ′)N-1,[[β]]表示误差密文与误差阈值之间的差值。另选择一随机数ν,‖ν‖<‖N‖/4,并计算[[β′]]=([[β]])ν,[[β′]]表示误差密文与误差阈值之间差值的随机化结果。Pt对[[β′]]部分解密,并将解密结果β″发送给参数服务器。
7b)参数服务器在接收到解密结果β″后,再次对其部分解密,得到解密结果β′。若β′>N/2,则令u=1,否则u=0,其中,u标识模型输出误差与阈值之间的大小。参数服务器将u发回给参与者Pt
7c)Pt收到u后,若随机数ξ=1,则令u′=u,否则u′=1-u,其中,u′标识模型输出误差与阈值之间的大小。因此,若u′=1,则表示模型输出误差大于阈值τ,反之则小于阈值τ。
步骤8,当误差大于阈值τ时,参与者继续执行模型训练。
参与者在继续模型训练过程中,求解激活函数的导函数用于计算模型输出误差在每个节点激活水平处的偏导数,由于激活函数为f(x)=(1+e-x)-1,则
Figure BDA0002432070870000111
因此,给定
Figure BDA0002432070870000112
Pt可依据安全协议和加密算法同态属性计算激活函数的一阶导函数如下:
Figure BDA0002432070870000121
式中,δ为参考精度,
Figure BDA0002432070870000122
为k+1层节点的激活函数输出信息,
Figure BDA0002432070870000123
为激活函数输入信息,f(·)为激活函数,f′(·)表示激活函数的一阶导数,N为安全参数。
然后,依次计算模型输出误差在每层节点激活水平处的偏导数
Figure BDA0002432070870000124
参与者Pt计算模型输出误差在节点激活水平处的偏导数:
a)当k=2时,
Figure BDA0002432070870000125
b)当k=1时,
Figure BDA0002432070870000126
步骤9,在计算得到梯度后,参与者Pt将梯度密文发送给参数服务器。
计算模型参数梯度,是指参与者在获得模型输出误差在节点激活水平处的偏导数后,进一步计算模型训练过程中参数变化梯度,即求解
Figure BDA0002432070870000127
式中,
Figure BDA0002432070870000128
表示深度学习模型的参数梯度,k表示当前参数为深度学习模型第k层节点参数。
9a)参与者Pt继续执行如下计算,获得模型参数的梯度密文:
a)当k=2时,
Figure BDA0002432070870000129
b)当k=1时,
Figure BDA00024320708700001210
其中,η′为学习率η/L的归一化整数值,如:给定η=0.1,L=20,δ=4,则η′=50。
9b)参与者Pt在获得梯度信息后,将计算结果通过安全通道(SSL/TLS)发送给参数服务器。
步骤10,参数服务器在收到参与者上传的梯度数据后,利用加密算法的同态特性对模型参数进行更新,即:
Figure BDA0002432070870000131
式中,
Figure BDA0002432070870000132
表示深度学习模型参数梯度,
Figure BDA0002432070870000133
表示深度学习模型的参数,N表示安全参数。
步骤11,在模型训练完毕后,参数服务器将最终更新完毕的模型参数发布给各参与者。
11a)参数服务器将模型参数密文[[W(k)]]、[[b(k)]]发布给各参与者。
11b)参与者Pt在解密模型参数时,必须获得其他所有参与者以密码学的方式进行授权确认,从而可以保证模型训练的公平性,防止恶意参与者不劳而获。
11c)本发明采用双陷门公钥密码算法中的细粒度解密方法实现所有参与者的授权确认。对模型的细粒度解密,是指参与者在获得参数服务器发送的模型参数密文后,首先获得其他所有参与者的授权确认解密,然后才能对所训练模型的最终参数进行解密。
本发明的效果可通过以下实验进一步说明面向协同深度学习模型训练的隐私保护方法的模型训练质量。
本发明采用MNIST真实数据集对本发明进行测试,本数据集中包含60,000个手写数字照片用于模型训练,10,000个手写数字照片用于测试。通过仿真测试,得到本发明的模型训练准确率如图3所示。
图3中基准对比表示无隐私保护机制时的模型训练准确率,PDLM[IEEE TSC]表示“PDLM:Privacy-Preserving Deep Learning Model on Cloud with Multiple Keys”方案的模型训练准确率。结果测试表明,本发明模型训练准确率尽管比基准对比低,但是比PDLM[IEEE TSC]方案高。由于本发明中采用了安全除法协议,导致模型训练计算过程中存在精度损失,但是准确性降低有限,仍可满足用户的需求。
本发明并不局限于上述实施例,在本发明公开的技术方案的基础上,本领域的技术人员根据所公开的技术内容,不需要创造性的劳动就可以对其中的一些技术特征作出一些替换和变形,这些替换和变形均在本发明的保护范围内。

Claims (9)

1.一种面向协同深度学习模型训练的隐私保护方法,其特征在于,包括以下步骤:
步骤1,系统初始化,给定系统安全参数,密钥生成中心为各参与者和参数服务器生成密钥,并通过SSL/TLS安全通道实现密钥分发;
步骤2,建立深度学习模型,并初始化深度学习模型参数;对深度学习模型初始化参数和训练数据归一化处理,对归一化后的初始化深度学习模型参数加密并上传给参数服务器;
步骤3,参与者从参数服务器下载最新的模型参数,并基于其拥有的本地训练数据进行前向反馈计算;参与者基于加密算法的同态特性,计算深度学习模型每层激活函数的输入;
步骤4,参与者在获得激活函数输入后,借助参数服务器实现激活函数的计算;
步骤5,根据得到的激活函数计算结果,参与者计算所有连接层的输出,并预测在本轮参数下的深度学习模型输出结果;
步骤6,参与者计算深度学习模型密文输出值与真实值之间的误差密文;
步骤7,参与者比较误差密文与模型阈值τ的大小,若误差大于模型阈值τ,则参与者继续执行深度学习模型训练,否则停止深度学习模型训练;
步骤8,当误差大于阈值τ时,参与者继续执行深度学习模型训练;
步骤9,在计算得到梯度后,参与者将梯度密文发送给参数服务器;
步骤10,参数服务器在收到参与者上传的梯度数据后,利用加密算法的同态特性对深度学习模型参数进行更新;
步骤11,在深度学习模型训练完毕后,参数服务器将最终更新完毕的深度学习模型参数发布给各参与者。
2.根据权利要求1所述的一种面向协同深度学习模型训练的隐私保护方法,其特征在于,所述步骤2具体步骤如下:
2a)首先引入一个特定的参考精度δ,并将深度学习模型的浮点数参数归一化为整数;
2b)在将参数归一化后,采用所有参与者的联合公钥,将参数进行加密,得到参数密文;
2c)参与者将参数密文发送给参数服务器进行管理。
3.根据权利要求1所述的一种面向协同深度学习模型训练的隐私保护方法,其特征在于,所述步骤3具体步骤如下:
在k=1层时,计算深度学习模型第一层激活函数的输入
Figure FDA0002432070860000021
Figure FDA0002432070860000022
式中,
Figure FDA0002432070860000023
表示模型输入信息,
Figure FDA0002432070860000024
为深度学习模型第一层节点参数,n1为深度学习模型第一层神经元节点数量;
在k=2层时,首先利用安全乘法协议计算第一层节点的输出与参数密文[[10δW(k)]]的积zhij,然后进行浮点数归一化处理,同时利用加密算法同态特性,计算深度学习模型第二层激活函数
Figure FDA0002432070860000025
的输入:
Figure FDA0002432070860000026
式中,zhij表示第一层输出与参数密文[[10δW(k)]]的乘积,
Figure FDA0002432070860000027
为深度学习模型第二层参数,n2为深度学习模型第二层节点数量。
4.根据权利要求1所述的一种面向协同深度学习模型训练的隐私保护方法,其特征在于,所述步骤4具体步骤如下:
4a)参与者首先对函数输入进行随机化处理,并进行部分解密,然后将解密结果发送给参数服务器;
4b)参数服务器再次对函数输入数据进行部分解密,得到随机化的激活函数输入信息;参数服务器实现非线性激活函数计算,并将计算结果加密后发给参与者;
4c)参与者基于密码算法的同态特性将添加的随机数去除,从而得到激活函数的输出结果密文。
5.根据权利要求1所述的一种面向协同深度学习模型训练的隐私保护方法,其特征在于,所述步骤6中,计算模型密文输出值与真实值之间的误差密文,是指参与者在当前模型参数下计算得到模型输出值后,与真实数据值之间进行密文误差计算,即:
Figure FDA0002432070860000031
其中,
Figure FDA0002432070860000032
表示最后一层节点的计算输出,[[10δyhj]]表示模型真实的结果值,[[ehj]]表示真实值与计算值之间的误差,L为深度学习模型训练中的超参数,n3为输出层的节点数,SDiv和SMP分别为安全除法协议和安全乘法协议,[[q′]]即为模型输出与真实值之间误差的密文,N为安全参数,[[r′]]为安全除法协议获得的余数,j表示依次获得输出层节点的差值,h表示依次获得L个训练样本。
6.根据权利要求1所述的一种面向协同深度学习模型训练的隐私保护方法,其特征在于,所述步骤7具体步骤如下:
7a)参与者首先对模型误差阈值τ进行预处理,并采用联合公钥对其进行加密,得到联合公钥加密值cτ′;生成随机数ξ∈{0,1},若ξ=1,则[[β]]=cτ′·([[q′]])N-2,否则[[β]]=([[q′]])2·(cτ′)N-1,其中[[q′]]表示模型输出与真实值之间误差的密文,N为安全参数,[[β]]表示误差密文与误差阈值之间的差值;参与者选择另一随机数ν,并计算[[β′]]=([[β]])ν,[[β′]]表示误差密文与误差阈值之间差值的随机化结果;参与者对[[β′]]部分解密,并将解密结果β″发送给参数服务器;
7b)参数服务器在接收到解密结果β″后,再次对其部分解密,得到解密结果β′;若β′>N/2,则令u=1,否则u=0,其中,u标识模型输出误差与阈值之间的大小;参数服务器将u发回给参与者;
7c)参与者收到u后,若随机数ξ=1,则令u′=u,否则u′=1-u,其中,u′标识模型输出误差与阈值之间的大小;若u′=1,则表示模型输出误差大于模型误差阈值τ,反之则小于模型误差阈值τ。
7.根据权利要求1所述的一种面向协同深度学习模型训练的隐私保护方法,其特征在于,其中步骤8)中,参与者在继续模型训练过程中,求解激活函数的导函数用于计算模型输出误差在每个节点激活水平处的偏导数,激活函数的一阶导函数可求解如下:
Figure FDA0002432070860000041
式中,δ为参考精度,
Figure FDA0002432070860000042
为k+1层节点的激活函数输出信息,
Figure FDA0002432070860000043
为激活函数输入信息,f(·)为激活函数,f′(·)表示激活函数的一阶导数,N为安全参数;
然后,依次计算模型输出误差在每层节点激活水平处的偏导数,即求解
Figure FDA0002432070860000044
k表示当前参数为深度学习模型第k层节点参数。
8.根据权利要求1所述的一种面向协同深度学习模型训练的隐私保护方法,其特征在于,其中步骤9)中,参与者在获得模型输出误差在节点激活水平处的偏导数后,进一步计算模型训练过程中参数变化梯度,即求解
Figure FDA0002432070860000051
式中
Figure FDA0002432070860000052
表示深度学习模型的参数梯度,k表示当前参数为深度学习模型第k层节点参数。
9.根据权利要求1所述的一种面向协同深度学习模型训练的隐私保护方法,其特征在于,其中步骤10)中,对模型参数进行更新,是指参数服务器在收到模型参数梯度后,基于密码算法的同态特性直接在密文上对参数进行更新,即:
Figure FDA0002432070860000053
式中,
Figure FDA0002432070860000054
表示深度学习模型参数梯度,
Figure FDA0002432070860000055
表示深度学习模型的参数,N表示安全参数。
CN202010239448.4A 2020-03-30 2020-03-30 一种面向协同深度学习模型训练的隐私保护方法 Active CN111460478B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010239448.4A CN111460478B (zh) 2020-03-30 2020-03-30 一种面向协同深度学习模型训练的隐私保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010239448.4A CN111460478B (zh) 2020-03-30 2020-03-30 一种面向协同深度学习模型训练的隐私保护方法

Publications (2)

Publication Number Publication Date
CN111460478A true CN111460478A (zh) 2020-07-28
CN111460478B CN111460478B (zh) 2022-05-13

Family

ID=71685734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010239448.4A Active CN111460478B (zh) 2020-03-30 2020-03-30 一种面向协同深度学习模型训练的隐私保护方法

Country Status (1)

Country Link
CN (1) CN111460478B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231737A (zh) * 2020-11-05 2021-01-15 深圳技术大学 数据安全比较协议实现方法、系统、电子装置及存储介质
CN112464290A (zh) * 2020-12-17 2021-03-09 浙江工业大学 一种基于自编码器的垂直联邦学习防御方法
CN113938266A (zh) * 2021-09-18 2022-01-14 桂林电子科技大学 基于整数向量同态加密的垃圾邮件过滤器训练方法及系统
CN114254274A (zh) * 2021-11-16 2022-03-29 浙江大学 一种基于神经元输出的白盒深度学习模型版权保护方法
WO2022111789A1 (en) * 2020-11-24 2022-06-02 Huawei Technologies Co., Ltd. Distributed training with random secure averaging
WO2022213957A1 (zh) * 2021-04-06 2022-10-13 京东科技控股股份有限公司 多源数据的数据处理方法、装置及电子设备、存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
CN109325584A (zh) * 2018-08-10 2019-02-12 深圳前海微众银行股份有限公司 基于神经网络的联邦建模方法、设备及可读存储介质
CN109684855A (zh) * 2018-12-17 2019-04-26 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
CN110268423A (zh) * 2016-08-19 2019-09-20 莫维迪乌斯有限公司 用于深度学习模型的分布式训练的系统和方法
US20190392305A1 (en) * 2018-06-25 2019-12-26 International Business Machines Corporation Privacy Enhancing Deep Learning Cloud Service Using a Trusted Execution Environment
CN110719158A (zh) * 2019-09-11 2020-01-21 南京航空航天大学 基于联合学习的边缘计算隐私保护系统及保护方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110268423A (zh) * 2016-08-19 2019-09-20 莫维迪乌斯有限公司 用于深度学习模型的分布式训练的系统和方法
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
US20190392305A1 (en) * 2018-06-25 2019-12-26 International Business Machines Corporation Privacy Enhancing Deep Learning Cloud Service Using a Trusted Execution Environment
CN109325584A (zh) * 2018-08-10 2019-02-12 深圳前海微众银行股份有限公司 基于神经网络的联邦建模方法、设备及可读存储介质
CN109684855A (zh) * 2018-12-17 2019-04-26 电子科技大学 一种基于隐私保护技术的联合深度学习训练方法
CN110719158A (zh) * 2019-09-11 2020-01-21 南京航空航天大学 基于联合学习的边缘计算隐私保护系统及保护方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DANNI YUAN ET AL.: "Collaborative Deep Learning for Medical Image Analysis with Differential Privacy", 《2019 IEEE GLOBAL COMMUNICATIONS CONFERENCE (GLOBECOM)》 *
DAYIN ZHANG ET AL.: "a survey on collaborative deep learning and privacy-preserving", 《2018 IEEE THIRD INTERNATIONAL CONFERENCE ON DATA SCIENCE IN CYBERSPACE》 *
R. SHOKRI ET AL.: "Privacy-preserving deep learning", 《PROCEEDINGS OF THE 22ND ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY》 *
XINDI MA ET AL.: "PDLM: Privacy-Preserving Deep Learning Model on Cloud with Multiple Keys", 《 IEEE TRANSACTIONS ON SERVICES COMPUTING》 *
何其健: "保护隐私的深度学习方案研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231737A (zh) * 2020-11-05 2021-01-15 深圳技术大学 数据安全比较协议实现方法、系统、电子装置及存储介质
CN112231737B (zh) * 2020-11-05 2023-08-22 深圳技术大学 数据安全比较协议实现方法、系统、电子装置及存储介质
WO2022111789A1 (en) * 2020-11-24 2022-06-02 Huawei Technologies Co., Ltd. Distributed training with random secure averaging
CN116438554A (zh) * 2020-11-24 2023-07-14 华为技术有限公司 利用随机安全平均的分布式训练
CN112464290A (zh) * 2020-12-17 2021-03-09 浙江工业大学 一种基于自编码器的垂直联邦学习防御方法
CN112464290B (zh) * 2020-12-17 2024-03-19 浙江工业大学 一种基于自编码器的垂直联邦学习防御方法
WO2022213957A1 (zh) * 2021-04-06 2022-10-13 京东科技控股股份有限公司 多源数据的数据处理方法、装置及电子设备、存储介质
CN113938266A (zh) * 2021-09-18 2022-01-14 桂林电子科技大学 基于整数向量同态加密的垃圾邮件过滤器训练方法及系统
CN113938266B (zh) * 2021-09-18 2024-03-26 桂林电子科技大学 基于整数向量同态加密的垃圾邮件过滤器训练方法及系统
CN114254274A (zh) * 2021-11-16 2022-03-29 浙江大学 一种基于神经元输出的白盒深度学习模型版权保护方法
CN114254274B (zh) * 2021-11-16 2024-05-31 浙江大学 一种基于神经元输出的白盒深度学习模型版权保护方法

Also Published As

Publication number Publication date
CN111460478B (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN111460478B (zh) 一种面向协同深度学习模型训练的隐私保护方法
CN110572253B (zh) 一种联邦学习训练数据隐私性增强方法及系统
CN108712260B (zh) 云环境下保护隐私的多方深度学习计算代理方法
CN109684855B (zh) 一种基于隐私保护技术的联合深度学习训练方法
Sun et al. Lightweight and privacy-aware fine-grained access control for IoT-oriented smart health
Tian et al. Robust and privacy-preserving decentralized deep federated learning training: Focusing on digital healthcare applications
CN113077060A (zh) 针对边云协同的联邦学习系统及方法
CN115549888A (zh) 一种基于区块链与同态加密的联邦学习隐私保护方法
CN112118099B (zh) 抗推理攻击的分布式多任务学习隐私保护方法及系统
Fan et al. PPMCK: Privacy-preserving multi-party computing for K-means clustering
CN110266687B (zh) 一种采用区块链技术的物联网安全代理数据共享模块设计方法
CN115392487A (zh) 基于同态加密的隐私保护非线性联邦支持向量机训练方法及系统
CN115455476A (zh) 基于多密钥同态加密的纵向联邦学习隐私保护方法及系统
CN111581648B (zh) 在不规则用户中保留隐私的联邦学习的方法
CN113407963A (zh) 基于signsgd的联邦学习梯度安全聚合方法
WO2023236628A1 (zh) 一种隐私保护的神经网络预测系统
CN114679332A (zh) 一种分布式系统的apt检测方法
Bai et al. NttpFL: Privacy-preserving oriented no trusted third party federated learning system based on blockchain
CN114338229B (zh) 一种轻量级动态广播代理重新加密及云数据共享方法
CN115238288A (zh) 一种工业互联网数据的安全处理方法
Zhong et al. MPC-based privacy-preserving serverless federated learning
CN114760023A (zh) 基于联邦学习的模型训练方法、装置及存储介质
CN104144057B (zh) 一种生成安全解密密钥的cp‑abe方法
Liu et al. ESA-FedGNN: Efficient secure aggregation for federated graph neural networks
Zhang et al. Efficient federated learning framework based on multi-key homomorphic encryption

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