隐语课程 基于隐私保护的机器学习算法介绍

 一、预处理和隐私求交

预处理:DataFrame和FedNdarraydd

DataFrame:联邦表格数据的封装,DataFrame由多个参与方的数据块构成,支持数据水平(每一方的各自的特征一致,但是都有各自的样本)、垂直切分(每一方有各自的特征,但是样本是一致的)和混合切分(数据既有水平切分又有垂直切分),分别对应三种API:HDataFrame、VDataFrame、MixDataFrame。

FedNdarray:联邦ndarray的封装,同样由多个参与方的数据块构成,支持水平和垂直切分,对应统一的API:FedNdarray

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

隐私求交PSI

隐私求交是一种使用密码学方法,获取两份数据内容的交集的算法。PSI过程中不泄露任务交集以外的信息。

在垂直拆分场景中,隐私求交常用于第一步的数据堆积,然后可以进一步做数据分析或机器学习建模。

在隐语中PSI有两种使用方式,分别如下。

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

决策树模型

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

线性回归模型

隐语支持多种线性回归模型,满足不同的使用场景,并有一些针对性的优化

三、神经网络算法

根据使用场景的不同,隐语提供了两种神经网络算法:水平联邦学习、垂直拆分学习。并分别提供两套API:

水平联邦学习:secretflow.ml.nn.FLModel

垂直拆分学习:secretflow.ml.nn.SLModel

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

水平联邦学习

隐语提供的水平联邦学习FLModel是一个通用的范式,而不是一个具体的模型或算法,可以自由的定义模型和训练参数。

目前FLModel支持TensorFlow和PyTorch两种后端,可以使用tf或torch原生的方式编写模型代码,然后使用FLModel训练。或者可以直接使用封装好的模型库,比如torchvision和tf.keras.applications

垂直拆分学习

隐语提供的垂直拆分学习SLModel同样是一个通用的范式,可以自由定义模型和训练参数。

SLModel同样支持TensorFlow和PyTorch两种后端,可以使用tf或torch原生的方式编写模型代码,然后使用SLModel训练。

与水平联邦相比,垂直拆分学习的框架略有不同,他的模型被拆分成2份、3份或者更多,分别分布在不同的参与方。建模时需要针对拆分学习架构重新设计模型结构。下面是两方场景下常见的两种结构。隐语提供了一个拆分好的模型库:sf.mlnn.applications

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值