隐语Secretflow 第5讲:基于隐私保护的机器学习算法介绍


一、预处理和隐私求交

1.预处理

  • DataFrame:联邦表格数据的封装,由多个参与方的数据块构成,支持数据水平切分、垂直切分和混合切分,分别对应3 组 API:HDataFrame、VDataFrame、MixDataFrame。
  • FedNdarray:联邦 ndarray 的封装,由多个参与方的数据块构成,支持水平和垂直切分,对应统一的 API: FedNdarray

在这里插入图片描述

注:处理过程中有些会计算并公开统计值(使用前评估是否包含隐私信息)

2.隐私求交PSI(Private Set Intersection)

隐私求交:使用密码学方法,获取两份数据内容的交集的算法。不泄露任务交集以外的信息。
在垂直拆分场景中,隐私求交常用于第一步的数据对齐,然后进一步做数据分析或机器学习建模。
在隐语中 PSI 有两种使用方式():

  • 使用spu.psi_csv等接口
-, alice_psi_path = tempfile.mkstemp()
-, bob_psi_path = tempfile.mkstemp()
 
spu.psi_csv{
    key="uid",
    input_path = {alice: alice_path, bob: bob_path}, 
    output_path = {alice: alice_psi_path, bob: bob_psi_path}, 
    receiver="alice", 
    protocol="ECDH_PSI_2PC", 
    sort=True,
)
  • 使用 data.vertical.read_csv 接口
from secretflow.data.vertical import read_csv as v_read_csv
vdf = v_read_csv(
    {alice: alice_path, bob: bob_path}, 
    # 以下参数在读取数据的时候自动完成psi,实现样本对齐
    # 如果不传这些参数,需要先保证数据对齐
    spu=spu, 
    keys="uid", 
    drop_keys="uid",
    psi_protocl="ECDH_PSI_2PC",
)
vdf.columns

二、决策树模型和线性回归模型

1.决策树模型

在这里插入图片描述SS-XGB:基于MPC协议 (安全性更高、通信成本更高)
SecureBoost:垂直联邦
水平XGBoost:水平联邦

2.线性回归模型

在这里插入图片描述

三、神经网络算法

隐语提供了两种神经网络算法:水平联邦学习、垂直拆分学习。
在这里插入图片描述

水平联邦学习和垂直拆分学习都属于非可证安全算法,其安全性需要根据场景具体分析。可以通过一些安全加固组件(安全聚合、差分隐私、稀疏化等)加强安全性

1.水平联邦学习

  • 水平联邦学习 FLModel是一个通用的范式,而不是一个具体的模型或算法,是封装好的水平联邦模型训练器
  • 支持 TensorFlow 和 PyTorch 两种后端,可以使用 tf 或 torch 原生的方式编写模型代码,然后使用FLModel 训练。同时,也可以直接使用各种封装好的模型库,比如:torchvision 和 tf.keras.applications
  • 可自定义数据加载器,支持DataFrame、文件、图片等数据加载器
  • 可选择内置或自定义的安全聚合算法以及联邦学习策略。
    在这里插入图片描述

2.垂直拆分学习

  • 垂直拆分学习SLModel是一个通用的范式,封装好的垂直联邦模型训练器

  • 支持 TensorFlow 和 PyTorch 两种后端

  • 与水平联邦相比,垂直拆分学习的架构略有不同,其模型被拆分成 2 份、3 份或者更多,分别分布在不同的参与方。建模时需要针对拆分学习架构重新设计模型结构。为此,隐语提供了一个拆分好的模型库:sf.ml.nn.applications

    垂直拆分学习:各参与方保留模型的一部分网络结构。所有的子网络结构组合在一起,则构成一个完整的网络模型
    水平联邦学习:各参与方保留完整的模型

  • 可自定义数据加载器

  • 可选择内置或自定义的通信优化算法,隐语内置了多种稀疏化、量化压缩算法

  • 可选择内置或自定义的垂直拆分策略,隐语内置了多种加速训练的策略算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值