联邦学习(三只决策和大数据分析)(学习笔记)

联邦学习模型按照数据重叠形式分成了三类,分别是横向联邦学习、纵向联邦学习和联邦迁移学习。

横向联邦学习模型针对特征一致但ID不一致的数据;

纵向联邦学习模型针对ID一致但特征不一致的数据;

联邦迁移学习模型针对ID和特征都不一致的数据。

纵向联邦树模型算法

纵向联邦树模型算法基于两种不同的集成方式------Bagging和Boosting,因此分成了两种算法,即纵向联邦随机森林算法纵向联邦梯度提升算法

树模型最显著的特点有两个:

  • 模型能够非常直观地展现因果关系,对于理解内在决策逻辑的难度较低,从而在可解释性方面有较大的优势;
  • 模型的基础结构和决策路径非常简练,对计算资源需求很低,因此实际应用中深受好评。

花样繁多的树模型变种基本都是从决策树模型演变而来的。使用决策树建模的核心步骤是在每个待决策的节点上对特征进行排序。

纵向联邦线性回归算法

通过从多个视角对对象进行建模,并联合优化所有函数,这种方法往往能够更准确地挖掘不同子空间中数据间的相关性,提高模型效果。

纵向联邦线性回归算法的损失函数预测函数与普通的线性回归算法并无太大差异,它们的损失函数相同且均可采用梯度下降法进行训练。不同之处在于训练数据分布在不同的参与方,为了通过梯度下降法进行训练,梯度的计算需要由多方共同完成。因此,在纵向联邦线性回归中计算梯度时,每一个参与方通过利用自己拥有的那部分数据,计算出梯度的中间结果,在一个可信第三方的参与下完成梯度汇总并得到最终的梯度值,从而进行参数的更新。为了防止梯度和原始数据泄露,对传输到其他参与方的所有数据进行了半同态加密,因此在其他参与方上进行的计算将全部在半同态加密下完成。

纵向联邦核学习算法

对于真实世界中的数据挖掘任务而言,多个参与方常常保存有一个公共数据的多个不同特征部分。这种类型数据一般称为纵向划分数据。伴随着隐私保护的巨大需求,我们很难通过传统的机器学习算法对这种纵向划分数据进行数据挖掘。

在机器学习算法中,我们使用核方法一般是为了将低维的线性不可分数据转换到高维空间的线性可分情形,从而学习到更好的分类器。又因为数据经过高维映射后,输入数据和输出结果的函数关系将是非线性的,这样的核方法分类器一般称为非线性分类器。而我们知道,常用的非线性分类器是深度神经网络 ,然而深度神经网络过大的参数量使其无法很好地应用到实际的场景中,特别是联邦学习场景。基于核方法的支持向量机是除深度神经网络外,性能最好的非线性分类器之一

如何通过核方法对纵向划分数据进行高效、可扩展的训练,同时又不泄露隐私,仍具有挑战。

异步纵向联邦学习算法

作为新兴的多方联合建模应用的解决方案,基于纵向划分数据的隐私保护协调学习已展现出颇具前景的结果。其中,数据持有方(例如,政府部门、隐私金融和电子商务公司)在整个建模过程中保持协调,而不是依赖可信的第三方来保存数据。然而,现有的针对纵向划分数据的联邦学习算法都局限于同步计算。为了提高纵向联邦学习系统在各参与方计算/通信资源不均衡情况下的效率,在保证数据隐私的前提下,设计异步纵向联邦学习算法是有必要的。

异步更新的纵向联邦学习算法比同步算法具有更高的效率,在强凸条件下就有理论收敛速度。该算法包含普通的基于SGD的算法和两个分别基于SVRG、SAGA的变体算法,可以抵御精准推理攻击和近似推理攻击。

从算法设计的角度,目前有大量的相关研究针对纵向划分数据。而且针对不同的应用有许多保护隐私的联邦学习算法,例如协同统计分析、线性回归、关联规则挖掘、逻辑回归、XGBoost、随机森林、支持向量机等。然而,这些针对纵向划分数据的联邦学习算法都局限于同步计算,而同步计算的效率比异步计算低的多,因为它浪费了大量的空闲计算资源。

数据价值是数据交易流通的基础,因此,数据价值评估成为数据要素市场化配置的重要环节。

现有关于科技大数据价值的研究通常面向科技大数据全生命周期中的单一主体或聚焦于全生命周期的特定阶段,科技大数据价值评估的系统框架尚未建立。

基于科技大数据核心价值链,构建了科技大数据价值评估指标体系,并针对其中难以量化的关键指标,提出了基于社交网络分析和动态主题模型的指标测度方法。

科技大数据价值评估的研究尚处于探索阶段。

联邦学习情境下数据价值评估模型的求解算法

Algorithm 1 Truncated Monte Carlo Shapley(截断式沙普利算法)

我们可以根据V中的引导变化来定义一个"性能容差"。当我们扫描抽样排列并计算边际贡献时,当V (S)在V (D)的性能容忍范围内时,我们截断抽样排列中边际贡献的计算,并将该排列中其余数据点的边际贡献设置为零。截断会导致大量的计算节省,而不引入显著的估计偏差。

对于每一个S⊆D,计算V (S)需要A来学习一个新的模型。对于一个小的D和一个快速的a-,例如逻辑回归,套索,可以使用TMC-Shapley方法。然而,在数据点数量较大或预测模型需要高计算能力(例如深度神经网络)的情况下,应用TMC-Shapley可能相当昂贵。

Algorithm 2 Gradient Shapley()

对于一个广泛的预测模型家族,a涉及到随机梯度下降的变化,其中随机选择的D批次迭代地更新模型参数。在这些情况下,一个完全训练过的模型的一个简单近似是考虑只通过一次训练数据来训练模型;换句话说,我们为D的一个"时代"训练模型。

对于数据点的采样排列,通过每次对一个数据点进行梯度下降来更新模型;边际贡献是模型性能的变化。细节在算法2中描述,我们称之为梯度Shapley或G-Shapley。为了得到最佳的近似,我们对学习算法进行超参数搜索,以找到只经过一次数据训练的模型的最佳性能,在我们的实验中,学习率大于多时代模型训练的模型。(与算法1相比,节约成本)

Algorithm 3: Estimating the ComFedSV

提高水平联邦学习中数据评估的公平性;

FedSV在实践中在大规模联邦学习中面临挑战------这可能会造成不公平。为了降低通信成本,许多被广泛使用的联合学习算法在每一轮中只选择一个客户端子集来上传他们的本地模型。在FedSV的设计中,未被选择的客户在那一轮中被分配为零信用。这种设计造成了不公平。

公平评估数据所有者在联邦学习中的贡献的基本挑战是,我们必须在追求效率时保持公平。

有了效用矩阵,即使是FedSV也可以对所有客户端进行公平的评估。然而,效用矩阵只能部分观察,因为在每一轮中只选择客户端的子集。FedSV的缺点是它只直接使用效用矩阵中观察到的项来计算夏普利值。我们的想法是尝试完成效用矩阵的缺失条目,从而消除不公平。

当效用矩阵可以很好地恢复时,ComFedSV满足某些理想的公平性。当效用矩阵的大小太大时,我们提出了一种蒙特卡罗型抽样方法来减小相应的矩阵补全问题的大小。

Algorithm 4 Efficient computation algorithm for Beta(α, β)-Shapley

Data Shapley最近被提出作为一个有原则的框架来量化单个数据在机器学习中的贡献。它可以有效地识别学习算法中有用或有害的数据点。在本文中,我们提出了Beta Shapley,这是Data Shapley的一个实质性的推广。Beta Shapley通过放松Shapley值的效率公理而自然产生,而这对机器学习设置并不重要。Beta Shapley统一了几种流行的数据估值方法,并包括Data Shapley作为一个特例。此外,我们证明了Beta Shapley具有几个理想的统计特性,并提出了有效的算法来估计它。我们证明了Beta Shapley在几个下游ML任务上优于最先进的数据评估方法,例如: 1)检测错误标记的训练数据;2)使用子样本学习;3)识别添加或删除对模型有最大正面或负面影响最大的点。

Data Shapley被定义为边际贡献的函数,当从具有给定基数的集合中去除特定点时,测量训练模型性能的平均变化。边际贡献是许多数据估值方法的一个基本组成部分。例如,常用的分离分离(LOO)分析等价于在从整个训练集中移除时估计一个点的边际贡献。如果一个给定集合的基数发生变化,则一个点的边际贡献可能会发生变化,并且数据Shapley取了所有不同基数的边际贡献的简单平均值。通过这种方式,Data Shapley可以避免对特定基数的依赖,但尚不清楚这种均匀的权重是否对于量化单个数据的影响是最优的。正如我们将通过理论和实验来证明的那样,这实际上是次优的。均匀平均产生于Shapley值的效率公理,这在ML设置中并不是必要的。该公理要求数据值的总和等于总效用,但它在实践中可能不是明智的,也不是可验证的。

我们提出了Beta Shapley,这是一个自然产生的统一数据估值框架,通过放宽效率公理来实现。我们的理论研究显示,与数据Shapley相比,Beta Shapley具有降低的噪音,并且可以用来找到子采样的最优重要性权重。我们基于蒙特卡洛方法开发了一个有效算法来估计它。我们证明了,在包括噪声标签检测、使用子样本学习和点添加及移除实验等多个下游机器学习任务中,Beta Shapley超越了现有的最先进的数据估值方法。

Algorithm 5 : Group Testing Based SV Estimation

由于计算上的挑战,SV迄今为止在数据估值中的应用仅限于程式化的例子,其中游戏的底层效用函数很简单,所得到的SV可以表示为一个封闭形式的表达式。估计黑盒实用函数SV的最新方法是基于蒙特卡罗模拟,它仍然需要对超线性重新训练ML模型,因此显然是不可行的。

我们提出的近似算法是受之前将群测试理论应用于特征选择的启发。回想一下,组测试是一个组合搜索范式,在它中,人们希望通过执行一系列测试来确定集合中的每个项目是"好的"还是"有缺陷的"。

算法5给出了基于组测试的算法的伪代码,该算法首先估计了沙普利差异,然后通过求解一个可行性问题从沙普利差异中推导出SV。

Algorithm 6 : Compressive Permutation Sampling.(对应算法5)

我们现在提出了一个算法,灵感来自于我们的经验观察的SV的大数据集

当效用函数定义为增量训练模型时,只需要log log (N)全模型训练就可以实现误差保证。

Algorithm 7 : Federated SV Estimation

与规范的SV类似,计算联邦的SV是很昂贵的。

Algorithm 8 . One-Round (OR) (1)

OR的一个缺点是,它在每一轮训练中都混合了梯度,这可能不能捕捉到关键的梯度。这是因为随着训练的继续,全局模型和梯度越来越受到所有数据集的影响。因此,在某些回合中的梯度就变得不那么有价值了。为此,我们提出在不同的轮中区分梯度,并设计了第二种CI估计方法,即λ-多轮构造(λ-MR)。

Algorithm 9 . λ -Multi -Rounds (λ -MR) (改进2)

Algorithm 1 0 . Truncated Multi -Rounds (TMR) (改进3)

算法3解释了TMR的细节。第1-6行表示全局模型的计算结果,与算法1和算法2相同。与λ-MR的关键区别在于第7行和第17行。在第7行中,一旦圆ci到最终结果可以忽略不计,我们就不构造或评估模型。在第17行中,我们使用衰减因子λ和不同轮的精度来控制最终结果中圆ci的权重。

相关推荐
Starry_hello world1 小时前
Linux 的准备工作
linux·笔记·有问必答
viperrrrrrrrrr73 小时前
大数据学习(105)-Hbase
大数据·学习·hbase
IT _oA3 小时前
Active Directory 域服务
运维·服务器·网络·windows·笔记
袖清暮雨4 小时前
Python刷题笔记
笔记·python·算法
六bring个六4 小时前
QT上位机笔记
开发语言·笔记·qt
熬夜造bug4 小时前
LeetCode Hot100 刷题笔记(1)—— 哈希、双指针、滑动窗口
笔记·leetcode·hot100
行思理5 小时前
go语言应该如何学习
开发语言·学习·golang
oceanweave6 小时前
【k8s学习之CSI】理解 LVM 存储概念和相关操作
学习·容器·kubernetes
花之亡灵7 小时前
.net6 中实现邮件发送
笔记·c#·.net·代码规范
LuoYaFu7 小时前
文件上传做题记录
笔记