一、纵向联邦学习的定义

纵向联邦学习(VFL)一般是适用于数据集上具有相同的样本空间、不同的特征空间的参与方所组成的联邦学习场景,纵向联邦学习也可以理解为按特征划分的联邦学习。

举个例子,我们假设有两家公司A和B想要协同地训练一个机器学习模型,每一家公司都拥有各自的数据。例如保险公司与银行合作,根据同一用户的购买历史与消费习惯,为该用户提供定制化的服务;医院与制药公司合作,通过利用同类患者的医疗记录,从而治疗患者的慢性疾病,并降低患者未来住院治疗的风险。

由于用户隐私和数据安全的原因,A方和B方不能直接交换数据,为了保证训练过程中的数据保密性,此时需要加入了一个第三方的协调者C。C是一个半诚实的第三方,它主要用来帮助参与方进行安全的联邦学习,C独立于各参与方,它将会收集中间结果用来计算梯度和损失值,并将结果转发给每一参与方。C收到的来自参与方的信息是被加密过或者被混淆处理过的,因此各方的原始数据并不会暴露给彼此,并且各参与方只会收到与其拥有的特征相关的模型参数。

二、纵向联邦学习的架构

还是刚才的例子,我们假设C方是诚实的且不与A方或B方共谋,但A方和B方都是诚实但好奇的。被信任的第三方C是一个合理的假设,因为C方的角色可以由权威机关(如政府)扮演或由安全计算节点代替。

纵向联邦学习的训练过程一般由两部分组成:首先对齐具有相同ID但分布于不同参与方的实体,然后基于这些已对齐的实体执行加密的或隐私保护的模型训练。

纵向联邦学习系统的架构:

第一部分:加密实体对齐

由于A方和B方公司的用户群体不同,系统使用一种基于加密的用户ID对齐技术来确保A方和B方不需要暴露各自的原始数据便可以对齐共同用户。在实体对齐期间,系统不会将属于某一家公司的用户暴露出来。

第二部分:加密模型训练

在确定共有实体后,各方可以使用这些共有实体的数据来协同地训练一个机器学习模型。训练过程可以被分为以下四个步骤:

1、协调者C创建密钥对,并将公共密钥发送给A方和B方;

2、A方和B方对中间结果进行加密和交换,中间结果用来帮助计算梯度和损失值;

3、A方和B方计算加密梯度并分别加入附加掩码,B方还会计算加密损失,A方和B方将加密的结果发送给C方;

4、C方对梯度和损失信息进行解密,并将结果发送回A方和B方。A方和B方解除梯度信息上的掩码,并根据这些梯度信息来更新模型参数。

三、纵向联邦学习算法之安全联邦线性回归

安全联邦线性回归算法主要是利用同态加密方法,在联邦线性回归模型的训练过程中保护属于每一个参与方的本地数据。

根据前文所述,一般会在A方和B方之间会加入一个第三方C方,但在实际中,将一个第三方加入此过程中并不总是可行的,因为第三方的合法性和可问责性难以得到保障,此时可以使用安全多方计算技术来移除第三方以及让联邦学习去中心化。不过在这里,我们依然以存在第三方的情况来探讨这个算法。

3.1、安全联邦线性回归模型的训练过程

在表述训练过程前,我们先明确一下所使用的符号及含义:

符号 含义
学习率
正则化参数
B方的标签空间
分别表示A方和B方的特征空间
分别表示A方和B方的本地模型参数
定义为 
定义为 
定义为
A方的本地数据集
B方的本地数据集和标记
加法同态加密

分别表示A方和B方的随机掩码

线性回归模型训练的过程:

● 步骤一:

A方:初始化 

B方:初始化 

C方:创建加密密钥对,并将公共密钥发送给A方和B方

● 步骤二:

A方:计算  和  ,并将其发送给B方

B方:计算  、 、 ,将  发送给C方

C方:无

● 步骤三:

A方:初始化,计算,并将其发送给C方

B方:初始化,计算,并将其发送给C方

C方:解密  、,将 发送给A方,将 发送给B方

● 步骤四:

A方:更新 

B方:更新 

C方:无

● 最终获得的数据:

A方: 

B方: 

C方:无

在实体对齐和模型训练期间,A方和B方所拥有的数据存储在本地,并且模型训练中的交互不会导致数据隐私泄露。需要注意的是,由于C方是受信任的,所以C方的潜在信息泄露可能会或可能不会被认为是隐私侵犯。为了进一步防止C方从A方或B方学习到相关信息,A方和B方可以将它们的梯度信息加上加随机掩码。

在上面的过程中,A方在每一步都会学习它的梯度,这对于A方来说并不足以学习到关于B方的任何信息,因为标量积协议的安全性建立在仅用 n 个方程无法解出 n 个以上的未知数的基础上。类似地,B方也不能学习到关于A方的任何信息。由此可以证明该协议的安全性。

3.2、安全联邦线性回归模型的预测过程

在预测期间,两方需要协作地计算预测结果,在预测过程中,属于每一方的数据不会暴露给其他方。预测步骤如下:

● 步骤一:

A方:无

B方:无

C方:将 i (i代指用户ID)发送给A方和B方

● 步骤二:

A方:计算  并将其发送给C方

B方:计算  并将其发送给C方

C方:计算  的结果

四、安全联邦提升树

4.1、安全联邦提升树的训练过程

每一个被动方首先要对其所有的特征进行分桶,然后将每个特征的特征值映射至每个桶中,基于分桶后的特征值,被动方将聚合相应的加密梯度统计信息。通过这种方法,主动方只需要从所有被动方处收集聚合的加密梯度统计信息,从而主动方可以更高效地确定全局最优分割。

寻找最优分割算法的过程:

全局最优分割可以表示为:[参与方id(i),特征id(),阈值id()]。具体步骤如下:

● 步骤一:

从主动方开始,首先计算,i∈{1,···,N},并使用加法同态加密对其进行加密。其中N为样本个数。主动方将加密的发送给所有的被动方。

● 步骤二:

对于每一个被动方,将当前节点样本空间中样本的特征映射至桶中,并以此为基础将加密梯度统计信息聚合起来,将结果发送给主动方。

● 步骤三:

主动方对各被动方聚合的梯度信息进行解密,并根据以上算法确定全局最优分割,并将返回给相应的被动方。

● 步骤四:

被动方根据从主动方发送的确定特征的阈值,并对当前的样本空间进行划分。然后,该被动方在查找表中记录选中特征的阈值,形成记录:[记录id,特征,阈值],并将记录id和返回给主动方。

● 步骤五:

主动方将会根据收到的[记录id,]对当前节点进行划分,并将当前节点与[参与方id,记录id]关联。主动方将当前节点的划分信息与所有被动方同步,并进入对下一节点的分割。

● 步骤六:

迭代步骤2--5,直至达到训练停止条件。

4.2、安全联邦提升树的预测过程

那如何对新的样本或未标注的样本进行分类呢?新样本的特征也分散于各个参与方中,并且不能对外公开,每个参与方知道自己的特征,但是对其他参与方的特征一无所知。因此,分类过程需要在隐私保护的协议下,由各参与方协调进行,分类过程从主动方的root节点开始,步骤如下:

● 步骤一:

主动方查询与当前节点相关联的[参与方id,记录id]记录。基于该记录,主动方向相应参与方发送待标注样本的id和记录id,并且询问下一步的树搜索方向(即向左子节点或右子节点)。

● 步骤二:

被动方接收到待标注样本的id和记录id后,将待标注样本中相应特征的值与本地查找表中的记录[记录id,特征,阈值]中的阈值进行比较,得出下一步的树搜索方向。然后,该被动方将搜索决定发往主动方。

● 步骤三:

主动方接收到被动方传来的搜索决定,前往相应的子节点。

● 步骤四:

迭代步骤1--3,直至到达一个叶节点得到分类标签以及该标签的权值。

隐私计算--23--纵向联邦学习相关推荐

  1. 【机器学习】横向联邦学习纵向联邦学习区别

    文章目录 背景简介 横向联邦学习 纵向联邦学习 参考 背景简介 现实生活中,除了少数巨头公司能够满足,绝大多数企业都存在数据量少,数据质量差的问题,不足以支撑人工智能技术的实现:同时国内外监管环境也在 ...

  2. 银行借助纵向联邦学习 集中化进行长尾客群的精准营销

    易观数字化:银行受限于有限的营销资源,导致缺少对长尾客群的精细化运营,而纵向联邦学习是面向长尾客群精准营销的有效手段之一,但在应用时需同步考虑系统层级的挑战. 银行的长尾客户占比80%以上.但受限于有 ...

  3. 纵向联邦学习的挑战与展望

    <联邦学习>(杨强等著)读书笔记 我们把在数据集上具有相同的样本空间.不同的特征空间的参与方所组成的联邦学习归类为纵向联邦学习,也可以理解为按特征划分的联邦学习. 出于不同的商业目的,不同 ...

  4. 谁都能看懂的纵向联邦学习(VFL)加密聚合算法的解释

    场景说明 为便于分析,先考虑最简单的情形,现在有两个clients,client A和 client B,以及一个受信任的第三方client C(或者用server代替也可以).client A和 c ...

  5. 破解数据匮乏现状:纵向联邦学习场景下的逻辑回归(LR)

    摘要:主要介绍了华为云可信智能计算服务(TICS)采用的纵向联邦逻辑回归(LR)方案. 本文分享自华为云社区<纵向联邦学习场景下的逻辑回归(LR)>,作者: 汽水要加冰. 海量训练数据是人 ...

  6. 隐私计算--24--联邦迁移学习

    一.联邦学习的定义 横向联邦学习和纵向联邦学习要求所有的参与方具有相同的特征空间或样本空间,从而建立起一个有效的共享机器学习模型.然而,在更多的实际情况下,各个参与方所拥有的数据集可能存在高度的差异, ...

  7. 3节点Fate集群实战记录 -- 纵向联邦学习

    前一篇博客记录了3节点fate集群实现横向联邦学习的实践过程link,本篇接着记录纵向联邦学习的实践过程,其中有些简单步骤未详细列出,具体执行方法可以参考上篇博客. 纵向联邦的场景简单说就是A和B两数 ...

  8. 纵向联邦学习及相关算法

    二. 纵向联邦学习 简单一句话介绍:纵向联邦学习的参与方是用户群体相同,特征空间不同(比如同一地区的银行和电商平台) 纵向联邦学习步骤 对齐共同用户(不暴露各自数据) 加密模型训练 (1) C创建密钥 ...

  9. 最新最全论文合集——纵向联邦学习

    AMiner平台(https://www.aminer.cn)由清华大学计算机系研发,拥有我国完全自主知识产权.平台包含了超过2.3亿学术论文/专利和1.36亿学者的科技图谱,提供学者评价.专家发现. ...

最新文章

  1. BZOJ 2561: 最小生成树(最小割)
  2. 每次执行java命令 都要source_解决每次执行Java等命令时都要重新source /etc/profile后才能执行,否则找不到命令...
  3. 695.岛屿的最大面积(026)BFS
  4. leetcode 147. 对链表进行插入排序
  5. python 验证码识别 阿里云_python3调用阿里云图像识别OCR-实现验证码识别
  6. linux 内核空间与用户空间
  7. JS调试的时候遇到无限debugger怎么办?
  8. oracle查看所有用户6,oracle 查看 用户 用户权限 用户表空间 用户默认表空间
  9. python浮点数转科学计数_python – 将float转换为字符串没有科学记数法和假精度...
  10. C# const, readonly, static readonly
  11. parallel循环java_使用Java8新特性parallelStream遇到的坑
  12. Could not load org.apache.hadoop.hive.conf.HiveConf. Make sure HIVE_CONF_DIR is set correctly.
  13. MarkDown 标题居中
  14. 线性代数 矩阵相似对角化的理解
  15. c 语言写数独游戏,经典数独游戏+数独求解器—纯C语言实现
  16. (转)Let’s make a DQN 系列
  17. 验证码论文概述-----中文篇
  18. HashMap引发死链问题(HashMap、ConcurrentHashMap原理解析)
  19. 2021年刷这600多道算法题,轻松进大厂
  20. Maven 中文文档

热门文章

  1. 华为ws851 虚拟服务器,荣耀路由Pro设置教程 华为WS851路由器怎么设置-192路由网...
  2. android 按下缩小效果松开恢复_android 按住和松开的事件
  3. 树莓派屏幕显示不全 Screen Configuration无可用选项
  4. 何同学采访TimCook内容片段
  5. 机器学习中的智能教育:让教育更加智能化和个性化
  6. oracle数据库的安装及卸载
  7. 贵州职称取消计算机,贵州老师们,在不久或将实行取消教师职称评定!按教龄直接晋升职称!...
  8. friends里面的感动
  9. Linux中ps配合Kill进程的N种方法
  10. 第一原理法则的黄金圈法则_与困难的人公开工作的5条黄金法则