安全联邦学习-工作流FL

更新时间:

一、什么是安全联邦学习-工作流模式

功能介绍:通过工作流的模式,在原始数据不出域的前提下,通过交换各个参与方的算法训练的中间结果梯度、参数信息,或完全在密文条件下进行计算,从而发挥参与多方数据样本更丰富、更全面的优势,得出更优模型。

安全联邦学习,分为横向安全联邦学习、纵向安全联邦学习。其中,纵向安全联邦学习,联合多个参与者的共同样本的不同数据特征进行安全联邦学习,即各个参与者的训练数据是纵向划分的。横向安全联邦学习,联合多个参与者的具有相同特征的多行样本进行安全联邦学习,即各个参与者的训练数据是横向划分的。

image.png

二、哪些场景适合用安全联邦学习?

适用场景:纵向安全联邦学习,适用于参与者训练样本ID重叠较多,而数据特征重叠较少的情况,例如某银行和某电商平台,分别拥有一部分客户数据,拥有的客户特征不一样,银行拥有客户的金融信用数据,电商拥有客户的电商消费数据,期望联合两方数据训练精准营销模型,则适合使用纵向安全联邦学习。横向安全联邦学习,适用于参与者的数据特征重叠较多,而样本ID重叠较少的情况,例如两家银行,分别拥有一部分客户数据,拥有的客户特征相似,但各自数据偏少,期望联合两方数据训练共同训练评分卡模型,则适合使用横向安全联邦学习。

三、安全联邦学习已支持的能力

用途

算法分类

已支持算法

分类

决策树

XGBoostWithDp

GBDTWithDp

逻辑回归

LogisticRegressionWithHe

神经网络

神经网络MLP

回归

线性回归

LinearRegressionWithHe

神经网络

神经网络MLP

四、如何进行安全联邦学习

image.pngimage.png

以内置模板为例:

1、联邦数据输入:

收集和准备原始数据,包括数据输入和虚拟关联,使得用户能够在形式上以单机的方式使用联邦学习双方的数据。

note:所有的数据均保存在持有方本地,本身绝对保密。虚拟关联仅是在形式上模拟为同一份数据,以方便用户搭建顺利。

image.png

2、数据拆分

将数据拆分为训练集和测试集,用于验证模型的各项指标数据。

note:在模板中,选择了拆分比例80%,即80%数据用于训练(输出表1),20%数据用于测试(输出表2)。用户可自行调整需求。

3、训练侧特征工程

选择和提取有用的特征,包括特征选择、特征变换、特征抽取和特征组合等。其中,对于Category特征和Numeric特征,均有对应的处理方案,详见组件说明。特征工程的配置可输出,供预测和评估流程使用。

4、测试侧特征工程

选择和提取有用的特征,包括特征选择、特征变换、特征抽取和特征组合等。其中,对于Category特征和Numeric特征,均有对应的处理方案,详见组件说明。特征工程的配置由输入的配置文件确定,用户也可自行设定。

5、模型训练和预测

选择合适的算法和模型,训练模型并进行调参和优化。目前联邦学习模型可以选择XGBoost、Logistic Regression、DNN等。

6、模型评估

使用各种评估指标和技术对模型进行评估,用户可以自行使用交叉验证等方法,测试不同数据集的混淆矩阵、AUC、KS等各项指标。