联邦学习之一(4)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 联邦学习之一(4)

部分技术点原理介绍


数据对齐两种实现方式


密码学基础知识


不经意间传输加密OT


概念


不经意传输(oblivious transfer)是一个密码学协议
在这个协议中,消息发送者从一些待发送的消息中发送一条给接收者
但事后对发送了哪一条消息仍然oblivious(不知道)
这个协议也叫茫然传输协议


举例说明



image.png


image.png


1.发送者Alice生成两对rsa公私钥,并将两个公钥puk0、puk1发送给接受者Bob
2. Bob生成一个随机数,并用收到的两个公钥之一加密随机数(用哪个秘钥取决于想获取哪条数据,例如如果想要得到消息M0 就用puk0加密随机数,如果想要得到M1就用puk1加密随机数),并将密文结果发送给Alice
3. Alice用自己的两个私钥分别解密收到随机数密文,并得到两个解密结果k0,k1,并将两个结果分别与要发送的两条信息进行异或(k0异或M0,k1异或M1),并将两个结果e0,e1发给Bob
4. Bob用自己的真实随机数与收到的e0、e1分别做异或操作,得到的两个结果中只有一条为真实数据,另外一条为随机数


RSA算法和哈希机制配合


为了解决加密样本对齐


image.png


首先,宏观上来说要想保证自己的数据不会被对方获取
A和B都需要针对数据采取只有自己了解的操作 以保证对方无法反推出数据
对于A而言,保密操作由哈希机制和随机产生的Ri来实现
对于B而言,保密操作由哈希机制和自己产生的d来实现
第一步:B由RSA算法产生n、e、d,并发送包含n、e的公钥给A
第二部:A对自己拥有的用户数据进行加密操作,哈希+Ri来实现,再将加密后的数据YA发送给B
第三步:B得到YA后,由于哈希机制的原理和Ri未知,很难反推出A的用户数据。B对YA取d次幂得到ZA,再对自己的用户数据进行加密操作,取哈希再d次幂再哈希,得到ZB,接着将ZA、ZB发送给A
第四步:A得到ZB后,同理也反推不出B的用户数据,再对自己的用户加密数据ZA除Ri再哈希,得到DA
第五步:DA和ZB本质上是对数据进行相同操作后得到的数据,所以如果源数据相同,操作后的数据也相同,所以根据DA,ZB求交集的结果,A可以判断出A和B的共同数据有哪些,最后再将结果I发送给B,样本对齐结束


  • 思考为什么这么做


首先要明白求交集,必须将数据放到一起
放到一起的话那就必须要对自己的数据进行加密
我们还要明白共同用户数据经过加密操作之后必须仍然相同,暂且称之为要求1
那我们先假设对双方用户数据只进行一次哈希操作
这样虽然可以保证要求1,但是安全性不高,用户有可能反推用户数据
因此引入随机变量
我们再考虑能否只有一方发送数据另一方接收数据
假设B对自己的用户数据加密,用到了随机变量d和哈希,发送给A
接收方A接收后,A需要对自己的数据进行操作
使得自己的公共数据和B传来数据中的公共数据相等来满足要求1
但是由于A不知道d,所以A做不到公共数据相等,也就做不到样本对齐
接下来考虑双方互相发送数据
A先用随机变量Ri和哈希对自己的数据加密后发送给B
B在A发来的密文上操作,此时该密文就有了因素d
B再对自己的数据进行加密,接着将两部分数据发送给A
A接收到两份密文后,对自己的密文进行转换
此时自己的密文已经包含了因素d
所以理论上A把自己加在自己数据上的“锁”解开后
能够转化为与B数据相同的形式,此时就可以完成样本对齐了
在这过程中双方都不可能反推对方的数据


模型训练加密过程



同态加密


纵向的模型训练有用到同态加密中的加法同态加密



image.png


第一个式子表示损失函数loss
第二个等式表示梯度
下面两个式子表示加法同态加密的性质——和的密文等于密文的和
由于加法同态加密中只支持加减乘除,不支持指数运算,所以loss需要在零点处二次泰勒展开
右图表示实际工作过程,UA将加密后的ua和ua^2发送给UB,ua=wx,即己方数据的权重和特征值的乘积
UB计算己方数据的权重和特种值的乘积,再和ua相加,得到样本的所有特征的w*x
然后结合自己拥有的样本标签y计算d
d就是梯度表达式中除去x的部分
UB将d加密后发送给UA,此时UA、UB都可以用己方的特征值x乘d来计算出自己的梯度
UA、UB计算出梯度后,加密上传给arbiter,arbiter接收后解码、更新梯度,再将更新后的梯度分发下去,UAUB接收后完成模型的一次更新
不断迭代上述过程,直到loss低于预期值才停止
当数据提供方host较多时,为减少通信成本,不在计算loss,通过两次迭代之间梯度更新的幅度来判断是否结束,幅度很小时,训练结束


结语


后面会陆续介绍


  • 几亿级别的数据量架构如何设计且如何实现


  • 数据处理过程用一些大数据处理框架来做比如spark、flink


  • python的优势在于算法 如何支持几亿级别的数据进行模型训练


  • 核心:后端Python 每一个阶段的介绍


  • 其他联邦学习技术点介绍


相关文章
|
3月前
|
机器学习/深度学习 人工智能 大数据
基于联邦学习的数据隐私保护机制在智能模型训练中的应用
【8月更文第15天】随着大数据和人工智能的发展,数据隐私保护成为了亟待解决的问题。传统的集中式机器学习方法需要将数据收集到一个中心服务器进行处理,这不仅增加了数据泄露的风险,还可能触犯相关的法律法规。联邦学习(Federated Learning, FL)作为一种新兴的分布式机器学习框架,允许终端设备直接在本地数据上训练模型,并仅将更新后的模型参数发送给中心服务器汇总,从而在不暴露原始数据的情况下实现模型训练。
128 0
|
5月前
|
机器学习/深度学习 分布式计算 算法
联邦学习是保障数据隐私的分布式机器学习方法
【6月更文挑战第13天】联邦学习是保障数据隐私的分布式机器学习方法,它在不暴露数据的情况下,通过在各设备上本地训练并由中心服务器协调,实现全局模型构建。联邦学习的优势在于保护隐私、提高训练效率和增强模型泛化。已应用于医疗、金融和物联网等领域。未来趋势包括更高效的数据隐私保护、提升可解释性和可靠性,以及与其他技术融合,有望在更多场景发挥潜力,推动机器学习发展。
122 4
|
机器学习/深度学习 人工智能 安全
隐语小课丨「论文研究」隐私保护纵向联邦图神经网络
隐语小课丨「论文研究」隐私保护纵向联邦图神经网络
220 0
|
6月前
|
机器学习/深度学习 传感器 算法
【论文速递】ICCCS2022 - FedMMD:基于多教师和多特征蒸馏的异构联邦学习
【论文速递】ICCCS2022 - FedMMD:基于多教师和多特征蒸馏的异构联邦学习
|
前端开发
联邦学习之一(3)
联邦学习之一(3)
143 0
联邦学习之一(3)
|
存储 机器学习/深度学习 算法
一文概述联邦持续学习最新研究进展(3)
一文概述联邦持续学习最新研究进展
502 0
一文概述联邦持续学习最新研究进展(3)
|
安全 数据安全/隐私保护
隐私计算论文合集「联邦学习系列」第2期
隐私计算论文合集「联邦学习系列」第2期
217 0
|
机器学习/深度学习 数据采集 算法
「隐语小课」联邦学习之Non-IID问题
「隐语小课」联邦学习之Non-IID问题
356 0
|
机器学习/深度学习 数据采集 算法
「隐语小课」联邦学习之“隐私保护图神经网络”
「隐语小课」联邦学习之“隐私保护图神经网络”
304 0
|
机器学习/深度学习 安全 数据安全/隐私保护
「隐语小课」LDP和CDP在联邦学习中对于隐私性以及鲁棒性的作用
「隐语小课」LDP和CDP在联邦学习中对于隐私性以及鲁棒性的作用
374 0
下一篇
无影云桌面