论文《Vertical Federated Learning: Concepts, Advances, and Challenges》阅读

论文《Vertical Federated Learning: Concepts, Advances, and Challenges》阅读

  • 论文概况
  • 纵向联邦
  • VFL框架介绍
    • 问题定义
    • VFL 训练协议
  • 对通信效率的优化
  • 对性能的优化
    • 自监督方案(Self-Supervised Approaches)
    • 半监督方案(Semi-Supervised Approaches)
    • 知识蒸馏方案(Knowledge Distillation Approaches)
    • 迁移学习方案(Transfer Learning Approaches)
  • 安全性
  • 其他
  • 总结

今天带来的是一篇综述,主题关于纵向联邦,综述组织合理,内容丰富,而且对新手非常友好,值得推荐!

论文概况

论文由清华大学 AIR 刘洋 等人完成,发表在TKDE上。
论文链接:TKDE

纵向联邦

FLs
如图所示,

  • 横向联邦 针对的是不同的sample具备相同的特征空间,主要干的事是做梯度的聚合、计算等内容。
  • 纵向联邦(狭义)是指不同的 sample,但是具备相同的特征空间,主要目的是为了将不同平台下的重叠用户的特征利用最大化。
  • 特征迁移学习 就是两者之间,重叠的 sample 有限,交叉的特征也不是全部,这种情况就是特征迁移的典型场景。

具体比较也可以如表所示:
Comparisons of FLs

此外,从应用场景出发,FL也可分类为:cross-silo 和 cross-device。

  • Cross-Silo 就是指为了解决数据孤岛问题,让不同的组织、公司数据利用最大化。既可以包含横向、也可以包含纵向。
  • Cross-Device 是指跨设备的联邦学习,这种一般是指横向,例如在不同的设备上聚合用户的梯度、模型等。

VFL框架介绍

问题定义

问题形式化如下所示:
min ⁡ Θ ℓ ( Θ ; D ) ≜ 1 N ∑ i = 1 N f ( Θ ; x i , y i ) + λ ∑ k = 1 K γ ( Θ ) (1) \min _{\boldsymbol{\Theta}} \ell(\boldsymbol{\Theta} ; \mathcal{D}) \triangleq \frac{1}{N} \sum_{i=1}^N f\left(\boldsymbol{\Theta} ; \mathbf{x}_i, y_i\right)+\lambda \sum_{k=1}^K \gamma(\mathbf{\Theta}) \tag{1} Θmin(Θ;D)N1i=1Nf(Θ;xi,yi)+λk=1Kγ(Θ)(1)

典型场景下,VFL 具有 K K K 方。

  • 其中下标为 k k k k ∈ [ 1 , K − 1 ] k \in [1, K-1] k[1,K1] 的是被动方 (passive party),只具有feature,不具有label。
  • 只有主动方(active party)具有label,运算在主动方一方完成,下标为 K K K

γ ( ⋅ ) \gamma(\cdot) γ() 是 函数正则化。 f ( ⋅ ) f(\cdot) f() 表示 任务的预测函数。

在VFL场景下,任意数据被 K K K 方分割开,共同构成数据的特征空间,i.e.,
{ x i , k ∈ R d k } k = 1 K \{\mathbf{x}_{i,k} \in \mathbb{R}^{d_{k}}\}_{k=1}^{K} {xi,kRdk}k=1K。被动方只具有feature,即
D k ≜ { x i , k } i = 1 N ∀ k ∈ [ 1 , K − 1 ] \mathcal{D}_k \triangleq\left\{\mathbf{x}_{i, k}\right\}_{i=1}^N \forall k \in [1, K-1] Dk{xi,k}i=1Nk[1,K1]。主动方具备feature 和 label,如下: D K ≜ { x i , K , y i , K } i = 1 N \mathcal{D}_K \triangleq\left\{\mathbf{x}_{i, K}, y_{i, K}\right\}_{i=1}^N DK{xi,K,yi,K}i=1N

模型可以分为 local 部分 和 global 部分,分别用于每个 Party 各自的计算 和 汇总到 Active Pary 进行预测任务,将 Θ \boldsymbol{\Theta} Θ 重写, F K ( ⋅ ) \mathcal{F}_K(\cdot) FK() 表示global model,参数集合表示为 ψ K \psi_K ψK;每个local model 表示为 G k ( ⋅ ) \mathcal{G}_k(\cdot) Gk(),参数分别为 θ k \theta_{k} θk。因此,典型的VFL形式化定义可以具体如下:

f ( Θ ; x i , y i ) = L ( F K ( ψ K ; G 1 ( x i , 1 , θ 1 ) , … , G K ( x i , K , θ K ) ) , y i , K ) (2) f\left(\boldsymbol{\Theta} ; \mathbf{x}_i, y_i\right)=\mathcal{L}\left(\mathcal{F}_K\left(\psi_K ; \mathcal{G}_1\left(\mathbf{x}_{i, 1}, \theta_1\right), \ldots, \mathcal{G}_K\left(\mathbf{x}_{i, K}, \theta_K\right)\right), y_{i, K}\right) \tag{2} f(Θ;xi,yi)=L(FK(ψK;G1(xi,1,θ1),,GK(xi,K,θK)),yi,K)(2)

典型的 VFL 如图所示:
Illustration
大体的 Pipeline 就是先进行sample的对齐,把 unaligned samples给去掉,针对相同的sample不同的feature 进行本地的训练,party之间只进行中间结果的交流,汇总到Global Model,最终由 Global Model 完成预测。

这里的 Global Model 可以分为 可训练的 (trainable)不可训练的(non-trainable),作者分别表示为 splitVFL 和 aggVFL。如图所示:
SplitVFL & AggVFL

VFL 训练协议

作者将 VFL 训练分为两大步骤:

  • 隐私保护下的实体对齐(Privacy-Preserving Entity Alignment)
  • 隐私保护下的模型训练(Privacy-Preserving Training)

实体对齐就是把不同party下的特征的不同行对应到同一个实体下。现在还有做一对多的模糊对应,用于加强表示,这个按下不表。

训练过程首先就是计算每个local model, H k = G k ( x k , θ k ) H_k = \mathcal{G}_{k}(\mathbf{x}_{k}, \theta_{k}) Hk=Gk(xk,θk)。计算完成后将 H k H_k Hk 发送到 active party,主动方聚合完成后先更新 global model, ∂ ℓ ∂ ψ K \dfrac{\partial \ell}{\partial \psi_{K}} ψK。完事把对应每个 party 的梯度 ∂ ℓ ∂ H k \dfrac{\partial \ell}{\partial H_{k}} Hk 回传,每个 local model 的参数更新如下:

∇ θ k ℓ = ∂ ℓ ∂ θ k = ∑ i ∂ ℓ ∂ H i , k ∂ H i , k ∂ θ k (3) \nabla_{\theta_k} \ell=\frac{\partial \ell}{\partial \theta_k}=\sum_i \frac{\partial \ell}{\partial H_{i, k}} \frac{\partial H_{i, k}}{\partial \theta_k} \tag{3} θk=θk=iHi,kθkHi,k(3)

这一过程伴随着隐私保护的应用,用于防止数据被窃取。
基于加密的隐私保护手段包括:

  • 同态加密 HE(Homomorphic Encryption,表示为 [ [ ⋅ ] ] [[ \cdot ]] [[]]
  • 安全多方计算MPC(Secure Multi-Party Computation)
  • 可信执行环境TEE(Trusted Execution Environment)

此外,还包括其他隐私保护方法,例如:

  • 差分隐私DP (Differential Privacy)
  • 梯度离散化 (Gradient Discretization)

典型的 VFL 运算流程展示如下:
Training Procedure
介绍完了 VFL 的大体情况,下面介绍针对各个方面(包括 通信效率,性能,安全等)对 VFL 的优化。

对通信效率的优化

  • Multiple Client Updates(Local Model 多次更新才和 Active Party 通信一次)
  • Asynchronous Coordination (Local Model 不用跟 Active Party 同步,限制好相关条件,自由通信。当然可能存在模型还没训练好就请求数据的情况,这种就是各自约束通信条件了)
  • One-Shot Communication(就通信一次)
  • Compression (数据压缩)
  • Sample and Feature Selection(下采样,具体包含 sample 和 feaure 的采样,这种肯定会涉及到性能下降,合理安排)

总结如下表:
Communication Efficiency

对性能的优化

作者这里绘制了一份数据的表示图还挺方便的,展示如下:
Data Distribution in VFL
align 的 sample 就是说在 横向上 sample 是否有重叠 (overlap);labeled 还是 unlabeled是说是否有标签。作者将多方场景简化为 A 和 B 两方的场景,分别考虑了不同场景下的优化方案。

这里主要优化的目标就是:

  1. 优化 Global Model 的性能(build a joint VFL model.)
  2. local model 也能完成预测任务(help participating parties build ** local predictiors**.)

自监督方案(Self-Supervised Approaches)

利用 local party 未标注数据,先完成自监督下的pretrain(看例子好像对比学习居多,大概意思应该是 Refine 本地的 重叠 sample 的表示以提高 Global Model 的性能)。

将公式(1)重写为 两方场景下的 VFL,如下:

min ⁡ ψ A , θ A , θ B ℓ V F L ( ψ A , θ A , θ B ; D ) (4) \min _{\psi_A, \theta_A, \theta_B} \ell_{\mathrm{VFL}}\left(\psi_A, \theta_A, \theta_B ; \mathcal{D}\right) \tag{4} ψA,θA,θBminVFL(ψA,θA,θB;D)(4)

则Self-SL 方案形式化为:

ψ ~ A , θ ~ A , θ ~ B = arg min ⁡ ψ A , θ A , θ B ℓ S e l f − S L ( ψ A , θ A , θ B ; D a u , D A u u , D B u u ) (5) \tilde{\psi}_A, \tilde{\theta}_A, \tilde{\theta}_B= \argmin_{\psi_A, \theta_A, \theta_B} \ell_{\mathrm{Self-SL}}\left(\psi_A, \theta_A, \theta_B ; \mathcal{D}^{a u}, \mathcal{D}_A^{u u}, \mathcal{D}_B^{u u}\right) \tag{5} ψ~A,θ~A,θ~B=ψA,θA,θBargminSelfSL(ψA,θA,θB;Dau,DAuu,DBuu)(5)

这里的 D a u , D A u u , D B u u \mathcal{D}^{a u}, \mathcal{D}_A^{u u}, \mathcal{D}_B^{u u} Dau,DAuu,DBuu 第一个 a / u a/u a/u 表示 aligned/unaligned,第二个全是 u u u,表示 unlabeled,实际上就是用 non-overlapped samples 去提高 overlapped samples 的表示。

半监督方案(Semi-Supervised Approaches)

同样考虑 无标签数据, 使用 伪标签 (pesudo-label)来提高性能。
如下所示:
min ⁡ ψ A , θ A , θ B , D ~ ℓ V F L ( ψ A , θ A , θ B ; D ~ ) + λ ℓ S e m i − S L ( ψ A , θ A , θ B ; D , D A u l , D B u u ) , (6) \min _{\psi_A, \theta_A, \theta_B, \tilde{\mathcal{D}}} \ell_{\mathrm{VFL}}\left(\psi_A, \theta_A, \theta_B ; \tilde{\mathcal{D}}\right)+\lambda \ell_{\mathrm{Semi}-\mathrm{SL}}\left(\psi_A, \theta_A, \theta_B ; \mathcal{D}, \mathcal{D}_A^{u l}, \mathcal{D}_B^{u u}\right), \tag{6} ψA,θA,θB,D~minVFL(ψA,θA,θB;D~)+λSemiSL(ψA,θA,θB;D,DAul,DBuu),(6)
这里 D ~ \tilde{\mathcal{D}} D~即为构造的 enriched 的数据。

知识蒸馏方案(Knowledge Distillation Approaches)

将教师模型的知识通过 VFL transfer 到 Active Party。

min ⁡ ψ A s , θ A s ℓ A ( ψ A s , θ A s ; D A u l ) + λ ℓ K D ( ψ A s , θ A s , ψ A t , θ A t , θ B t ; D a u ) (7) \min _{\psi_A^s, \theta_A^s} \ell_A\left(\psi_A^s, \theta_A^s ; \mathcal{D}_A^{u l}\right)+\lambda \ell_{\mathrm{KD}}\left(\psi_A^s, \theta_A^s, \psi_A^t, \theta_A^t, \theta_B^t ; \mathcal{D}^{a u}\right) \tag{7} ψAs,θAsminA(ψAs,θAs;DAul)+λKD(ψAs,θAs,ψAt,θAt,θBt;Dau)(7)

迁移学习方案(Transfer Learning Approaches)

将 Active Party A 视为源域,Passive Party B 视为目标域。源域包含 labeled data,迁移到 目标域 不包含 或者 少量包含 label。目标应该是为了提高 B’s local predictor的性能。 形式化表示如下:

min ⁡ ϕ B , θ B ℓ B ( ϕ B ; θ B ; D B ) + λ 1 ℓ A ( ψ A , θ A , θ B ; D , D A u l ) + λ 2 ℓ T L ( θ A , θ B ; D a u , D A u u , D B u u ) (8) \min _{\phi_B, \theta_B} \ell_B\left(\phi_B ; \theta_B ; \mathcal{D}_B\right)+\lambda_1 \ell_A\left(\psi_A, \theta_A, \theta_B ; \mathcal{D}, \mathcal{D}_A^{u l}\right)+\lambda_2 \ell_{\mathrm{TL}}\left(\theta_A, \theta_B ; \mathcal{D}^{a u}, \mathcal{D}_A^{u u}, \mathcal{D}_B^{u u}\right) \tag{8} ϕB,θBminB(ϕB;θB;DB)+λ1A(ψA,θA,θB;D,DAul)+λ2TL(θA,θB;Dau,DAuu,DBuu)(8)

安全性

作者定义了好几个层级的VFL安全性指标如下:
Security
分别如下:

  • 最低级 (P0): P1的适当宽松版,适用于非私人的label或model。
  • 基础级(P1):本地数据和模型存在本地
  • 标准级(P2):中间结果传输保护
  • 加强级(P3):整个训练过程保护 (如安全多方计算)
  • 严格级(P4):保护训练过程及训练好的模型

攻击场景如下所示:
VFL Attack
相关文献总结如下:
Attack
Defense

其他

还包括 数据评估、数据集总结、作者总结的VFL整体评估框架 VFLow,未来发展方向,就不再赘述了。

总结

论文整体上相当工整,survey的方向也很全面,非常方便作为调研方向的参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/942141.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Rust自学】4.5. 切片(Slice)

4.5.0. 写在正文之前 这是第四章的最后一篇文章了,在这里也顺便对这章做一个总结: 所有权、借用和切片的概念确保 Rust 程序在编译时的内存安全。 Rust语言让程序员能够以与其他系统编程语言相同的方式控制内存使用情况,但是当数据所有者超…

WEB入门——文件上传漏洞

文件上传漏洞 一、文件上传漏洞 1.1常见的WebShell有哪些?1.2 一句话木马演示1.2 文件上传漏洞可以利用需满足三个条件1.3 文件上传导致的危害 二、常用工具 2.1 搭建upload-labs环境2.2 工具准备 三、文件上传绕过 3.1 客户端绕过 3.1.1 实战练习 :upl…

【NLP高频面题 - Transformer篇】Transformer的位置编码是如何计算的?

【NLP高频面题 - Transformer篇】Transformer的位置编码是如何计算的? 重要性:★★★ NLP Github 项目: NLP 项目实践:fasterai/nlp-project-practice 介绍:该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用…

[react 3种方法] 获取ant组件ref用ts如何定义?

获取ant的轮播图组件, 我用ts如何定义? Strongly Type useRef with ElementRef | Total TypeScript import React, { ElementRef } from react; const lunboRef useRef<ElementRef<typeof Carousel>>(null); <Carousel autoplay ref{lunboRef}> 这样就…

模型优化之知识蒸馏

文章目录 知识蒸馏优点工作原理示例代码 知识蒸馏优点 把老师模型中的规律迁移到学生模型中&#xff0c;相比从头训练&#xff0c;加快了训练速度。另一方面&#xff0c;如果学生模型的训练精度和老师模型差不多&#xff0c;相当于得到了规模更小的学生模型&#xff0c;起到模…

职业技能赛赛后心得

这是一位粉丝所要求的&#xff0c;也感谢这位粉丝对我的支持。 那么本篇文章我也是分成四个部分&#xff0c;来总结一下这次赛后心得。 赛中问题 那么这里的赛中问题不会只包含我所遇到的问题&#xff0c;也会包含赛中其他选手出现的问题。 那么首先我先说一下我在赛中遇到的…

基于springboot+vue实现的博物馆游客预约系统 (源码+L文+ppt)4-127

摘 要 旅游行业的快速发展使得博物馆游客预约系统成为了一个必不可少的工具。基于Java的博物馆游客预约系统旨在提供高效、准确和便捷的适用博物馆游客预约服务。本文讲述了基于java语言开发&#xff0c;后台数据库选择MySQL进行数据的存储。该软件的主要功能是进行博物馆游客…

前沿重器[57] | sigir24:大模型推荐系统的文本ID对齐学习

前沿重器 栏目主要给大家分享各种大厂、顶会的论文和分享&#xff0c;从中抽取关键精华的部分和大家分享&#xff0c;和大家一起把握前沿技术。具体介绍&#xff1a;仓颉专项&#xff1a;飞机大炮我都会&#xff0c;利器心法我还有。&#xff08;算起来&#xff0c;专项启动已经…

Dubbo 3.x源码(28)—Dubbo服务发布导出源码(7)应用级服务接口元数据发布

基于Dubbo 3.1&#xff0c;详细介绍了Dubbo服务的发布与引用的源码。 此前我们在Dubbo启动过程的DefaultModuleDeployer#startSync方法中&#xff0c;学习了Dubbo服务的导出exportServices方法和服务的引入referServices方法。 在这两个操作执行完毕之后&#xff0c;将会继续调…

电脑使用CDR时弹出错误“计算机丢失mfc140u.dll”是什么原因?“计算机丢失mfc140u.dll”要怎么解决?

电脑使用CDR时弹出“计算机丢失mfc140u.dll”错误&#xff1a;原因与解决方案 在日常电脑使用中&#xff0c;我们时常会遇到各种系统报错和文件丢失问题。特别是当我们使用某些特定软件&#xff0c;如CorelDRAW&#xff08;简称CDR&#xff09;时&#xff0c;可能会遇到“计算…

深入解读数据资产化实践指南(2024年)

本指南主要介绍了数据资产化的概念、目标和意义&#xff0c;以及实施数据资产化的过程。指南详细阐述了数据资产化的内涵&#xff0c;包括数据资产的定义、数据资产化的目标与意义&#xff0c;并介绍了数据资产化的过程包括业务数据化、数据资源化、数据产品化和数据资本化。 …

【算法篇】——数据结构中常见八大排序算法的过程原理详解

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、插入排序1.直接插入法2.希尔排序法 二、交换排序1. 冒泡排序2. 快速排序 三、选择排序1. 简单选择排序2. 堆排序 四、归并排序五、基数排序 前言 C数据结构…

仿闲鱼的二手交易小程序软件开发闲置物品回收平台系统源码

市场前景 闲置物品交易软件的市场前景广阔&#xff0c;主要基于以下几个方面的因素&#xff1a; 环保意识提升&#xff1a;随着人们环保意识的增强&#xff0c;越来越多的人开始关注资源的循环利用&#xff0c;闲置物品交易因此受到了广泛的关注。消费升级与时尚节奏加快&…

情报信息收集能力

红队专题-Web渗透之资产思路框架知识整理 钓鱼社工 钓鱼自动化zip域名ARP欺骗快捷方式ToolsburpsuiteApp 抓包ffuf模糊测试QingScanWiresharkCloudCFEn-Decodeffffffff0xInfodirbdirmapdirsearchdnsenum使用测试常规使用使用字典文件进行dns查询子域名暴力查询部分C类IP地址IP块…

ensp 关于acl的运用和讲解

ACL&#xff08;Access Control List&#xff0c;访问控制列表&#xff09;是一种常用于网络设备&#xff08;如路由器、交换机&#xff09;上的安全机制&#xff0c;用于控制数据包的流动与访问权限。ACL 可以指定哪些数据包允许进入或离开某个网络接口&#xff0c;基于不同的…

5、mysql的读写分离

主从复制 主从复制的含义 主从复制&#xff1a;在一个mysql的集群当中&#xff0c;至少3台&#xff0c;即主1台&#xff0c;从2台。 当有数据写入时&#xff0c;主负责写入本库&#xff0c;然后把数据同步到从服务器。 一定是在主服务器写入数据&#xff0c;从服务器的写入…

高质量配音如何影响游戏的受欢迎度

在游戏行业中&#xff0c;创造沉浸式、引人入胜且令人难忘的体验往往决定了游戏的成功或失败。在影响游戏流行度的众多因素中&#xff0c;配音脱颖而出&#xff0c;成为将叙事与玩家互动连接起来的重要元素。高质量的配音将游戏中的对白转化为游戏的活跃部分&#xff0c;让玩家…

鸿蒙-expandSafeArea使用

应用未使用setWindowLayoutFullScreen()接口设置窗口全屏布局时&#xff0c;默认使能组件安全区布局。可以使用expandSafeArea属性扩展安全区域属性进行调整 扩展安全区域属性原理 布局阶段按照安全区范围大小进行UI元素布局。布局完成后查看设置了expandSafeArea的组件边界&…

Java测试开发平台搭建(四)拦截器

1. 拦截器的作用及使用场景 能够在请求的生命周期的不同阶段进行拦截和处理。常见的使用场景包括&#xff1a;1. 日志记录&#xff1a;记录请求和响应的日志。 2. 权限验证&#xff1a;检查用户的登录状态、权限。 3. 性能监控&#xff1a;记录请求的处理时间&#xff0c;监控…

window安装TradingView

目录 下载安装包 修改文件后缀&#xff0c;解压 将K线换成国内涨红跌绿样式 下载安装包 https://www.tradingview.com/desktop/ 下载完成后是.msix格式文件 &#xff08;我在win10和win11的系统中尝试运行msix都没有成功&#xff0c;所以放弃直接双击运行msix&#xff…