联邦学习框架FATE学习笔记

联邦学习分为横向学习和纵向学习两类

1 横向联邦学习

解决数据不够多的问题。双方各自有样本(特征值和标签),拥有共同的数据特征和数据标签,FedAverage算法,支持深度学习。各自训练自己小模型,加上随机数(保密)后放到第三方去优化,第三方汇总后,随机数彼此抵消,优化模型。再把优化后参数返回给他们。不存在把数据给对方或者一个第三方。

2 纵向联邦学习

解决特征(或结果)不够多的问题。一方有样本的特征值,另一方有其他特征值,或者有样本的数据标签(结果表现)。前者没有数据标签无法训练参数,所以要和后者先进行样本匹配,然后交换数据(中间值)。

2.1-纵向联邦学习的第一步

基于隐私保护的样本匹配(样本对齐)

 A有u1,u2,u3,u4数据,B有u1,u2,u3,u5数据,彼此交换后,A和B共同有u1,u2,u3数据,分别保留自己的u4和u5数据。

Step1 B把n和e作为公钥发给A

Step2 A把e作为随机数的指数,乘上自己数据的哈希值。得到Ya返回给B。因为有随机数,所以B无法知晓A的原始数据。

Step3 B用私钥d作为Ya的指数,根据费马小定理,用d加幂后就等于随机数乘上(A数据哈希值)的d次方。得到Za

Step4 B先对自己数据取哈希值,再用私钥d作为指数,再取一次哈希值,得到(B数据哈希值d次方)的哈希值,Zb,连同Za一起返回给A。由于A不知道B的私钥d,所以他无法解开Zb,无法知晓B的原始数据。

Step5 A拿到Za后,先除以自己的随机数,得到(A数据哈希值)的d次方,再做一次哈希。得到(A数据哈希值d次方)的哈希值,Da

Step6 A将Da和Zb取交集。因为两者都是(数据哈希值d次方)的哈希值。

Step7 A将交集返回给B,双方各自获得交集数据

2.2 数据工程

A有x,B有x,y

Step1 B对y和(1-y)做同态加密,连同对应id一起发给A

Step2 A根据收到的一组id,找出其对应的一组x,然后加总并加密后返回B

Step3 B获得对x后解密,得到加总的x,然后做本地运算。

2.3 模型训练

A把特征数据加密运算后给B,B和标签比对后计算得到中间值梯度,给第三方,第三方再优化梯度,调整A和B的参数,再计算梯度,再给第三方,最终结果。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 关于诊断X线机准直器的作用,错误的是()。 (6.0 分) A. 显示照射野 B. 显示中心线 C. 屏蔽多...
    我们村我最帅阅读 10,905评论 0 5
  • --- layout: post title: "如果有人问你关系型数据库的原理,叫他看这篇文章(转)" date...
    蓝坠星阅读 866评论 0 3
  • 1. 机器学习 评估假设一旦我们通过以下方式在我们的预测中做了一些故障排除:获得更多培训示例尝试更小的功能集尝试其...
    molscar阅读 758评论 0 0
  • 声明:版权归原作者所有,如有侵权请联系删除。 无论通讯安全还是设备安全,都离不开加解密技术。密码的背后一定是加解密...
    二当家的666阅读 1,779评论 0 1
  • 高级钳工应知鉴定题库(858题) ***单选题*** 1. 000003难易程度:较难知识范围:相关4 01答案:...
    开源时代阅读 6,081评论 1 9