联邦学习原理-上篇(上)

简介: 联邦学习原理-上篇(上)

联邦学习技术特点


  • 数据隔离
数据不泄漏到外部
  • 对等
参与者地位平等
  • 无损
联邦学习效率等同或接近全量数据模型
  • 共同获益
参与者共同获益


联邦学习分类


  • 横向联邦
数据方特征维度相同
  • 纵向联邦
数据方样本ID相同
传统的以表格的方式查看数据看 
纵向的按列对数据分组
每列数据包含的数据indices/ID相同


纵向联邦学习-联合建模需求场景


举例说明

微众与合作企业联合建模,微众有y(业务表现),期望优化本方的Y预测模型

各方数据

  • 合作企业

image.png

image.png

设定

  • 只有微众拥有Y=逾期表现
  • 合作企业无法暴露含有隐私的X

传统建模方法问题

  • 合作企业缺乏Y无法独立建模
  • X数据全量传输到微众不可行

期望结果

  • 保护隐私条件下,建立联合模型
  • 联合模型效果超过单边数据建模


纵向联邦学习


各个参与者拥有的数据ID相同,数据特征不同(有的参与者可能没有标签)
  • 参与者之间需要交换中间结果
  • 支持XGBoost/SecureBoost之类的模型
  • 可通过split learning支持神经网络模型
  • 大规模纵向联邦系统复杂性较高

纵向联邦学习示意图

image.png


1、A和B之间没有数据交换
2、Encrypted entity alignment 指加密数据(使用同态加密技术)对齐即样本融合求取交集的过程
3、模型训练的过程存在一个第三方
a、第三方分别给A和B发送数据加密所用到的公钥
b、A和B之间交换模型训练过程的中间结果
c、A和B分别计算出梯度和损失值(针对树模型)发送给第三方
d、第三方进行汇总并下发给A和B用于更新模型参数


联邦学习的关键技术


保护隐私和安全的方法

  • 同态加密 Hmomorphic Encryption(HE)
  • 多方安全计算 Secure Multi-party Computation(MPC) 例如Secret Sharing
  • 姚式混淆电路 Yao's Garbled Circuit
  • 差分隐私 differential Privacy (DP)


同态加密


包括全同态和半同态
同态加密是指这样一种加密函数,对明文进行加法和乘法运算再加密,与加密后对密文进行相应的运算,结果是等价的
同态加密每次加密的结果是不一样的

基于同态加密的的Model Averaging

image.png

  • Addition:[[u]]+[[v]]=[[u+v]]
  • Scalar multiplication:n*[[u]]=[[n*u]]
纯量乘法是指一个标量r与一个向量V(或矩阵M)相乘,其结果为一个向量(矩阵),该向量(矩阵)的每一个元素为标量r与V(M)中对应


相关文章
|
6月前
|
人工智能 程序员 测试技术
AI 时代,为什么编程能力≠ 开发门槛
在 2.0 阶段,我们目标是实现面向任务的协同编码模式,人的主要职责转变为任务的下发、干预以及最后结果的审查。在这个过程中,人的实际工作量开始减轻,AI 工作的占比显著提升。目前的 2.0 版本是我们最近上线的。
518 93
|
5月前
|
人工智能 自然语言处理 前端开发
从0到上线,CodeBuddy 如何帮我快速构建旅游 App?
本文详细介绍了AI代码助手CodeBuddy的功能与使用方法,并通过实战演示其在前端开发中的应用。文章首先讲解了CodeBuddy的安装步骤,以VS Code为例,引导用户快速上手。随后,通过构建一个旅游APP页面的实例,展示了CodeBuddy在生成代码、调整样式、修复问题等方面的能力。实战中涉及Craft模式交互、提示词优化、元素布局调整等内容,验证了插件的高效性与灵活性。尽管过程中遇到一些小问题,但整体效果令人满意。最后,文章鼓励开发者进一步探索CodeBuddy的潜力,为开发工作带来更多便利。
422 0
|
Python
Python教程:@符号的用法
@ 符号在 Python 中最常见的使用情况是在装饰器中。一个装饰器可以让你改变一个函数或类的行为。 @ 符号也可以作为一个数学运算符使用,因为它可以在Python中乘以矩阵。本教程将教你如何使用 Python 的@ 符号。
1315 0
|
JavaScript Java 测试技术
基于SpringBoot+Vue的大学生志愿者管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的大学生志愿者管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
204 0
|
Ubuntu
不常用但是必会的Ubuntu 关机命令
对于常年保持在线服务的服务器系统,通常关机指令不会用到,即便有需要用到,也是重启命令用的会很多。关机常常会在限电、突然长时间停电影响机房供电,业务下线停止运营等情况下。虽然极不常用,但是仍然需要掌握关机命令,以备不时之需。
748 0
|
安全 Linux Shell
Linux服务器配置SSH免密码登录后,登录仍提示输入密码(一次真实的问题排查解决记录)
Linux服务器配置SSH免密码登录后,登录仍提示输入密码(一次真实的问题排查解决记录)
930 0
|
前端开发 安全
| ERROR: [2] bootstrap checks failed. You must address the points described in the following [2] lin
| ERROR: [2] bootstrap checks failed. You must address the points described in the following [2] lin
1441 0
|
Java Linux
【已解决】Elasticsearch 闪退问题
【已解决】Elasticsearch 闪退问题
853 0
|
SQL 安全 数据挖掘
wirehark数据分析与取证hack.pcapng
wiresharek Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是检索取网络封包,并同时显示出最详细的网络封包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。 wireshark的介绍: 假设您是一名网络安全工程师,需要对某公司的公司进行数据分析,分析黑客获取电脑权限进行的操作,我们本章主要以分析案例数据包进行分析关键数据。
542 0