没有合适的资源?快使用搜索试试~ 我知道了~
支持数据隐私保护的联邦深度神经网络模型研究.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 175 浏览量
2023-02-23
16:52:25
上传
评论
收藏 3.08MB DOCX 举报
温馨提示
试读
19页
支持数据隐私保护的联邦深度神经网络模型研究.docx
资源推荐
资源详情
资源评论
近年来, 人工智能技术已经在图像分类、目标检测、语义分割、智能控制以及故障诊
断等领域取得了优秀的成果
[1-7]
. 在解决某些特殊问题方面, 深度学习算法已经逼近甚至超
过人类水平. 深度学习技术的快速发展主要依赖于丰富的数据集、算法的创新和运算设备
性能的大幅提升
[8]
. 其中, 数据集的丰富程度对深度学习模型的性能水平产生直接影响
[9-11]
.
但是, 某些行业考虑到数据隐私泄露的问题, 难以共享数据进行集中式学习. 例如医疗行业
在数据共享的过程中, 某些病人的信息可能会泄露到不法分子手中, 不法分子则利用患者信
息推销非法药品、谋财害命
[12-14]
. 因此, 为进一步提升模型性能水平, 能够组织多个研究机
构通过共享本地模型参数的方式, 实现协同训练全局模型的联邦学习算法被提出.
针对机器学习中数据隐私泄露的问题, 一些隐私保护的方法被提出, 主要可以分为以
安全多方计算(Secure multiparty computation, SMPC)、同态加密(Homomorphic encryption,
HE)为代表的基于加密的隐私保护方法和以差分隐私(Differential privacy, DP)为代表的基于
扰动的隐私保护方法.
安全多方计算是指两个或者多个持有私有数据的参与者通过联合计算得到输出, 并且
满足正确性、隐私性、公平性等特性. Bonawitz 等
[15]
提出一种基于秘密共享的安全多方计算
协议, 旨在保证设备与服务端之间通信, 并可以用于联邦学习的参数聚合过程. 与传统密码
学方法相比, 该协议的优点在于其计算代价并不高, 但由于通信过程涉及大量安全密钥及其
他参数, 可能导致通信代价会高于计算代价.
同态加密方案能够保证对密文执行的特定数学运算会对其明文有着相同的影响. 贾春
福等
[16]
提出一种在同态加密数据集上训练机器学习算法的方案. 这类方法能够很好地解决
隐私安全问题, 既可以将加密的数据聚合在一起进行模型训练, 也可以采用联邦学习进行模
型训练. 然而, 该类方法
[16-19]
需要根据所构建的机器学习模型, 选用或设计恰当的同态加密
方案对训练数据进行加密, 对密码学知识有着较高的要求. 同时, 由于对数据加密需要大量
的算力资源, 该类方法不适用于大数据环境下的深度学习模型训练. Phong 等
[20]
提出通过对
联邦学习过程中各训练者产生的梯度数据进行加密, 从而保证多个参与训练者的本地数据
隐私安全. 这类方法通过对梯度参数进行加密保护, 能够很好地保护数据隐私安全. 然而,
该方法的加密运算量与训练数据量的大小直接相关, 会大大增加模型训练时间和计算成本,
并且没有对偏置项进行考虑.
差分隐私技术指在模型训练过程中引入随机性, 即添加一定程度的随机噪声, 使输出
结果与真实结果存在着一定程度的偏差, 从而防止攻击者推理. Agrawal 等
[21]
提出通过对训
练数据集进行扰动, 实现联邦深度神经网络的隐私保护. Shokri 等
[22]
通过在神经网络模型的
梯度参数上添加噪声, 从而实现数据隐私的保护. Truex 等
[23]
针对联邦学习模型, 提出一种
结合差分隐私和安全多方计算的隐私保护方案, 能够在保护数据隐私的同时, 还有着较高的
准确率. 然而在梯度参数上添加噪声, 可能会造成机器学习模型训练时收敛难度增大、预测
精度下降, 降低模型的使用性能.
针对上述问题, 本文提出一种支持数据隐私保护的联邦深度神经网络模型. 本文主要
贡献有两个: 1) 对多层神经网络的训练过程进行分析, 详细地论述模型权重参数与梯度参
数是如何泄露数据集信息的. 2) 基于此, 将固定的偏置项参数改为随机数生成, 从而避免由
于梯度参数信息泄露而导致数据信息的直接泄露; 并且将模型梯度参数加密替换为神经网
络模型的权重参数加密, 从而减少了加解密运算量; 同时训练者可选择多种优化算法, 不再
局限于随机梯度下降法, 使得提出的方法更加适用于真实场景.
1. 问题陈述与预备知识
1.1 问题陈述
深度神经网络属于有监督学习算法, 设有数据集{x i,yi}Ni=1{x→i,yi}i=1N, 其中数据
x i=(xi1,⋯,xid)x→i=(xi1,⋯,xid), d 为输入数据的维度, y
i
为第 i 个数据的标签值. 深度神经网
络模型经过训练, 使得样本数据 x ix→i 映射到标签 y
i
上.
本文研究的联邦学习系统由两部分组成: 多个训练者和参数服务器. 所有训练者都预
先同意训练一个确定框架的深度神经网络模型, 并使用相同的优化算法(如随机梯度下降法)
和其他训练参数(如学习率、mini-batch、迭代次数). 各训练者和参数服务器采用联邦学习
的方式, 互相联合、协作训练一个深度神经网络, 在训练过程中各训练者的训练数据均在本
地. 另外, 训练者和参数服务器之间需要认证与授权, 授权后的训练者才可以获得从参数服
务器下载参数和上传参数的权限. 关于云环境下的用户认证和授权非本文研究重点, 具体可
见文献[24].
本研究使用“诚实且好奇”的半可信威胁模型
[25]
. 假设所有训练者和参数服务器都是“诚
实且好奇”的半可信实体, 所有训练者和参数服务器都会遵守训练协议, 但是在训练模型过
程中都想要通过推理得到其他训练者的数据信息. 本文研究旨在在联邦学习训练阶段保护
各训练者的数据隐私, 使各训练者不能推理得到对方的数据信息, 同时也不能泄露信息给第
三方服务器.
1.2 神经网络模型
一个典型的神经网络模型通常包含三层, 分别为输入层、隐藏层与输出层
[26]
. 深度神
经网络模型可以包含多个隐藏层, 每个隐藏层具有一定数量的神经元, 并且不同隐藏层的神
经元可以自动从训练数据中提取不同层次的特征. 两个神经元之间的连接, 即是神经网络模
型的权重参数. 每层神经网络除了神经元权重参数以外, 还有偏置参数. 权重参数和偏置参
数统称为神经网络的模型参数. 神经网络工作过程主要有两个: 正向传播与反向传播. 正向
传播过程是指, 输入数据正向通过各层神经元的计算, 然后输出预测结果. 反向传播过程是
指, 先计算预测结果与目标值的偏差值 Loss, 然后根据偏差值采用链式求导与学习算法(例
如梯度下降法)对各层网络的权重进行更新.
1.3 联邦学习
当数据分散在不同组织中时, 联邦学习提供了一种多方协作训练深度学习模型的解决
方案, 现在已成为深度学习领域的研究热点
[27-29]
.
图 1 为联邦学习结构图. 首先, 远程参数服务器将初始化的深度学习模型发送至各个
训练者. 然后, 各训练者使用自己本地的数据集对模型进行训练, 并将训练的梯度参数
Gi(i=1,2,⋯,n)Gi(i=1,2,⋯,n)发送至参数服务器, 而不是将本地数据发送到云端训练. 接着, 参
数服务器使用各训练者所上传的梯度参数, 将全局模型的权重参数 W
old
更新为 W
new
, 并将更
新后的权重参数发送至各个训练者. 整个学习过程重复进行, 直至达到设定的学习次数或满
足用户设定的停止训练的条件.
图 1 联邦学习结构
Fig. 1 Federated learning structure
下载: 全尺寸图片 幻灯片
可以看出, 多个训练者可以通过使用联邦学习框架协同训练深度学习模型, 从而提高
模型性能. 但是, 该训练过程中主要存在两个缺点: 1)通信过程不安全; 2)模型权重参数与梯
度参数可能存在隐私安全问题. 经典的信息加密方法能够有效解决第一类问题
[30-32]
, 而第二
类问题则需要根据深度学习具体问题建立一种隐私保护的机制. 并且, 由于隐私政策或法规
的限制, 大多数客户都不愿共享其数据. 因此, 需要对考虑数据隐私保护的联邦深度学习模
型进行深入研究.
1.4 同态加密
根据支持的数学运算种类与运算次数, 同态加密算法可以分为: 支持一种数学运算且
不限制运算次数的部分同态加密算法、支持特定数学运算且有限运算次数的有限同态加密
算法、支持不限制数学运算种类且不限制运算次数的全同态加密算法. 本研究采用的是
Paillier 同态加密算法, 该算法包括 4 个步骤(密钥生成 KeyGen、加密算法 Encryption、解密
算法 Decryption 和验证算法)
[33-35]
.
1)密钥生成 KeyGen(λ)(λ)→(pk, sk):
随机选取两个长度相同的大素数 p 和 q, 且满足
gcd(pq,(p−1)(q−1))=1gcd(pq,(p−1)(q−1))=1, 计算
N=pqN=pq, λ=lcmλ=lcm(p−1,q−1)(p−1,q−1), 随机选取 g∈Z∗N2g∈ZN2∗, 则公钥
pk=(N,g)pk=(N,g), 私钥 sk=(λ)sk=(λ).
2)加密算法 Encryption(pk, m)→c:
输入公钥 pk 和明文信息 m, 随机选取 r∈Z∗Nr∈ZN∗, 计算密文
c=gmrN(modN2)c=gmrN(modN2).
3)解密算法 Decryption(sk, c)→ m:
输入私钥 sksk 和密文信息 cc, 其中 L(x)=(x−1)/L(x)=(x−1)/NN, 计算明文
m=(L(cλ(modN2))/L(gλ(modN2)t))m=(L(cλ(modN2))/L(gλ(modN2)t))modNmodN.
4)验证算法:
E(m1)×E(m2)=(gm1r1N(modN2))×(gm2r2N(modN2))=gm1+m2(r1×r2)N(modN2)=E(m1+m2)E(m1)×E(m2)=(gm1r1N(modN2))×(gm2r2N(modN2))=gm1+m2(r1×r2)N(modN2)=E(m1+m2)
2. 深度学习模型的隐私泄露
经典的神经网络在训练过程中, 可能存在数据集隐私泄露的风险. 图 2 为一个典型的三
层神经网络, 其中 x
1
与 x
2
为输入数据, wi(i=1,⋯,8)wi(i=1,⋯,8)分别为各神经元的权
重, bi(i=1,⋯,4)bi(i=1,⋯,4)为各偏置项的权重, target 为输出目标值. 下面以三种情况为例, 详
细地对深度学习模型的隐私泄露问题进行说明.
剩余18页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3587
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功