联邦学习技术特点
- 数据隔离
数据不泄漏到外部
- 对等
参与者地位平等
- 无损
联邦学习效率等同或接近全量数据模型
- 共同获益
参与者共同获益
联邦学习分类
- 横向联邦
数据方特征维度相同
- 纵向联邦
数据方样本ID相同 传统的以表格的方式查看数据看 纵向的按列对数据分组 每列数据包含的数据indices/ID相同
纵向联邦学习-联合建模需求场景
举例说明
微众与合作企业联合建模,微众有y(业务表现),期望优化本方的Y预测模型
各方数据
- 合作企业
设定
- 只有微众拥有Y=逾期表现
- 合作企业无法暴露含有隐私的X
传统建模方法问题
- 合作企业缺乏Y无法独立建模
- X数据全量传输到微众不可行
期望结果
- 保护隐私条件下,建立联合模型
- 联合模型效果超过单边数据建模
纵向联邦学习
各个参与者拥有的数据ID相同,数据特征不同(有的参与者可能没有标签)
- 参与者之间需要交换中间结果
- 支持XGBoost/SecureBoost之类的模型
- 可通过split learning支持神经网络模型
- 大规模纵向联邦系统复杂性较高
纵向联邦学习示意图
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
- Addition:[[u]]+[[v]]=[[u+v]]
- Scalar multiplication:n*[[u]]=[[n*u]]
纯量乘法是指一个标量r与一个向量V(或矩阵M)相乘,其结果为一个向量(矩阵),该向量(矩阵)的每一个元素为标量r与V(M)中对应