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

预处理和隐私求交

预处理

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

隐语提供多种预处理工具来处理这些数据,可以直接使用 DataFrame API 处理数据,或者使用sf.preprocessing 包内的各类预处理组件处理

联邦表是一个跨多方的虚拟概念,定义 VDataFrame 用于垂直场景设置。

  • 联邦表中各方的数据存储在本地,不允许出域。
  • 除了拥有数据的一方之外,没有人可以访问数据存储。
  • 联邦表的任何操作都会由driver调度给每个worker,执行指令会逐层传递,直到特定worker的Python Runtime。
  • 框架确保只有当worker的 worker.device 和 Object.device 相同时,才能够操作数据。
  • 联邦表旨在从中心角度管理和操作多方数据。 Federated Table 的接口与 pandas.DataFrame对齐,以降低多方数据操作的成本。
  • SecretFlow 框架提供 Plain&Ciphertext(明密文)混合编程能力。垂直联邦表是使用 SPU 构建的, MPC-PSI 用于安全地获取来自各方的交集和对齐数据。

隐私求交

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

  • 垂直拆分指的是将数据按不同的特性分成多个部分,每个部分包含不同种类的信息。例如,医院和保险公司分别拥有同一批患者的不同数据,医院有患者的健康记录,保险公司有患者的保险信息。这种情况下,数据被垂直拆分在不同的机构之间
  • 隐私求交允许不同机构在不暴露彼此原始数据的情况下,找出他们共同拥有的数据部分。比如,在医院和保险公司的例子中,隐私求交可以帮助他们找出共同的患者,但不会泄露其他患者的信息。
  • 数据对齐是在隐私求交的基础上,将不同机构的数据匹配起来。假设医院和保险公司找出了共同的患者,然后他们需要对齐这些患者的数据(患者A的健康记录(如病历、检查结果等)、患者A的保险记录(如保单信息、理赔记录等)),使得医院的健康记录和保险公司的保险信息能够关联起来,形成完整的患者档案
  • 数据分析是对收集到的数据进行处理和解释,以提取有用的信息和洞见。例如,医院和保险公司对齐数据后,可以分析这些患者的健康趋势、保险赔付情况等,帮助决策和优化服务。
  • 机器学习建模是指使用机器学习算法从数据中学习模式,建立预测模型。例如,医院和保险公司可以利用对齐后的数据训练机器学习模型,预测某些患者未来的健康状况或保险理赔的概率。

在隐语中 PSI 有两种使用方式,分别如下。
在这里插入图片描述

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

隐语支持多种决策树算法(XGB),同时支持回归和二分类训练,可根据使用场景和安全性需求选用。

决策树模型

XGB是“eXtreme Gradient Boosting”的简称,它是一种优化过的决策树算法,主要用于提升决策树的性能和准确率。XGBoost通过构建多个决策树并组合它们的预测结果,从而形成更强大的预测模型。它通过“梯度提升”的方法,即每次添加新的树时,都会专注于之前模型预测错误的地方,这样不断迭代改进,最终形成一个强大的集成模型。在这里插入图片描述

线性回归模型

在这里插入图片描述

神经网络算法

在这里插入图片描述

水平联邦学习

隐语提供的水平联邦学习 FLModel是一个通用的范式,而不是一个具体的模型或算法,您可以自由的定义模型和训练参数。
目前 FLModel 支持 TensorFlow 和 PyTorch 两种后端,您可以使用 tf 或 torch 原生的方式编写模型代码,然后使用FLModel 训练。在这里插入图片描述


在这里插入图片描述

垂直拆分模型

拆分后的模型,只是模型的一部分。各方合在一起才是完整的模型
在这里插入图片描述


在这里插入图片描述

稀疏化和量化压缩算法

稀疏化(Sparsification)
稀疏化是一种优化算法,它的主要目的是减少模型中的参数数量,特别是那些对模型性能影响不大的参数。通过这种方式,可以减少模型的大小和计算量,从而加快模型的训练和推理速度。想象一下,如果你有一本书,里面有很多重复或者不重要的句子,你可以把这些句子去掉,只保留重要的内容,这样书就会变得更轻,阅读起来也会更快。

量化压缩(Quantization)
量化压缩则是另一种优化技术,它通过减少模型参数的精度来减小模型的大小。比如,原本模型中的参数可能是32位浮点数,通过量化可以将它们转换为8位整数,这样每个参数占用的空间就大大减少了。这就像是你有一台相机,原本可以拍摄非常精细的照片,但你选择了一个较低的分辨率,这样照片的大小就会变小,存储和传输起来都会更快。

自定义的垂直拆分策略

垂直拆分策略
垂直拆分策略是指在分布式训练中,将模型的不同部分分配到不同的计算节点上进行训练。这种策略可以有效地利用多个计算节点的资源,加速模型的训练过程。想象一下,你有一个大项目需要完成,你可以把项目分成几个部分,然后分配给不同的团队成员去完成,这样整个项目的进度就会加快。

自定义的垂直拆分策略
自定义的垂直拆分策略意味着你可以根据自己的需求和数据特点,设计最适合自己模型的拆分方式。这就像是你可以根据项目的具体情况,灵活地调整每个团队成员的任务分配,以达到最优的工作效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

frostmelody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值