论文《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的方向也很全面,非常方便作为调研方向的参考。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用gpt来分析链接里面的内容(比如分析论文链接)和分析包含多个文件中的一块代码

如何用gpt来分析链接里面的内容,方法如下 这里使用gpt4里面有一个网路的功能 点击搜索框下面这个地球的形状即可启动搜索网页模式 然后即可提出问题在搜索框里:发现正确识别和分析了链接里面的内容 链接如下:https://arxiv.org/pdf/2009.1…

本地部署webrtc应用怎么把http协议改成https协议?

环境: WSL2 Ubuntu22.04 webrtc视频聊天应用 问题描述: 本地部署webrtc应用怎么把http协议改成https协议? http协议在安卓手机浏览器上用不了麦克风本,来地应用webrtc 本来是http协议,在安卓手机上浏览器不支持使…

面向未来的教育技术:智能成绩管理系统的开发

3.1 可行性研究 成绩管理系统开发实现分析需要从不同的角度来进行分析可行性,比如从时间角度,经济角度,甚至操作角度。从不同的角度分析可行性会让成绩管理系统开发具体化,进而达到辩证开发的正确性。 3.1.1 经济可行性 从经济方面…

zabbix监控山石系列Hillstone监控模版(适用于zabbix7及以上)

监控项: 触发器: 监控数据如下:

UE5 渲染管线 学习笔记

兰伯特 SSS为散射的意思 带Bias的可以根据距离自动切换mip的卷积值 而带Level的值mipmaps的定值 #define A8_SAMPLE_MASK .a 这样应该就很好理解了 这个只采样a通道 带Level的参考上面的 朝左上和右下进行模糊 带Bias参考上面 随机数 4D 3D 2D 1D

ArcGIS Pro 3.4新功能3:空间统计新特性,基于森林和增强分类与回归,过滤空间自相关

目录 应用 1:它是相关性还是托布勒第一定律? 应用 2:将空间带入非空间模型 结论 在 ArcGIS Pro 3.4 中,我们在新的空间组件实用程序(Moran 特征向量)工具集中发布了一个新工具 - 从字段过滤空间自相关。…

【微信小程序】2|轮播图 | 我的咖啡店-综合实训

轮播图 引言 在微信小程序中,轮播图是一种常见的用户界面元素,用于展示广告、产品图片等。本文将通过“我的咖啡店”小程序的轮播图实现,详细介绍如何在微信小程序中创建和管理轮播图。 轮播图数据准备 首先,在home.js文件中&a…

vue3封装而成的APP ,在版本更新后,页面显示空白

一、问题展示 更新之后页面空白,打不开 ,主要是由于缓存造成的 二、解决办法 1、随机数代码实现 使用随机数来动态的生成静态资源目录名可以避免浏览器缓存,但同时每次也会导致浏览器每次都下载最新的资源。如果静态资源过大,可…

JAVA HTTP压缩数据

/*** 压缩数据包** param code* param data* param resp* throws IOException*/protected void writeZipResult(int code, Object data, HttpServletResponse resp) throws IOException {resp.setHeader("Content-Encoding", "gzip");// write到客户端resp…

京东零售数据可视化平台产品实践与思考

导读 本次分享题目为京东零售数据可视化平台产品实践与思考。 主要包括以下四个部分: 1. 平台产品能力介绍 2. 业务赋能案例分享 3. 平台建设挑战与展望 作者:梁臣 京东 数据产品架构师 01平台产品能力介绍 1. 产品矩阵 数据可视化产品是一种利用…

springBoot Maven 剔除无用的jar引用

目录 Used undeclared dependencies found Unused declared dependencies found 当项目经过一段时间的开发和维护后,经常会遇到项目打包速度变慢的问题。这通常与项目中包含大量的jar依赖有关,这些依赖之间的关系错综复杂。这种情况在项目维护过程中是…

Apache RocketMQ 5.1.3安装部署文档

官方文档不好使,可以说是一坨… 关键词:Apache RocketMQ 5.0 JDK 17 废话少说,开整。 1.版本 官网地址,版本如下。 https://rocketmq.apache.org/download2.配置文件 2.1namesrv端口 在ROCKETMQ_HOME/conf下 新增namesrv.pro…

uniapp Native.js原生arr插件服务发送广播到uniapp页面中

前言 最近搞了个设备,需求是读取m1卡,厂家给了个安卓原生demo,接入arr插件如下,接入后发现还是少了一部分代码,设备服务调起后触发刷卡无法发送到uniapp里。 中间是一些踩坑记录,最后面是解决办法&#xf…

实践KDTS-WEB从mysql迁移到kingbasev9

数据库国产化替代数据迁移是一个复杂且关键的过程。这涉及到将原有数据库中的数据准确、完整地迁移到新的国产数据库中,同时确保数据的完整性和一致性。人大金仓提供了强大的数据库迁移工具(KDTS)对同构、异构数据库数据迁移; 数…

nmap扫描优化

扫描优化用来提高扫描效率。当描一个大范围网络中的主机时,如果使用通用的方法可能需要很长的时间,此时可以使用一些特定选项进行扫描优化,以提高扫描效率。Nmap提供了几种优化方式,如分组扫描、设置发包方式和超时时间等。 分组…

mysql 查询优化之字段建立全文索引

最近在接手一些老项目时发现表设计存在问题导致查询较慢 例如一张旧表的设计: 模糊匹配某个关键字时,需要十几秒左右,而且表的数据量不多 都知道mysql8.0版本InnoDB引擎都支持全文索引了,因此可以在content建立全文索引,但全文索引对中文支持并不完善…

Selenium 和 Playwright两大框架的不同之处

自动化测试工具百花齐放,其中 Selenium 和 Playwright 是两大热门框架,谁才是你的最佳选择?面对企业项目的真实需求,它们的差异究竟在哪儿? Selenium 和 Playwright 是两种流行的自动化测试工具,它们都被用…

智能化军事【五】精确制导武器智能化实现

文章目录 前言精确制导武器智能化实现基于深度学习实现的智能化功能基于强化学习实现的智能化功能强化学习深度强化学习 网络模型轻量化网络剪枝(通道剪枝)技术层剪枝权值量化技术低秩近似技术知识蒸馏技术强化学习联合训练 解决有效训练样本不足或获取困…

Windows内核开发环境配置

SDK 软件开发工具包 r3用到的win32api 就是SDK WDK 驱动内核 r0用到的包 Previous WDK versions and other downloads - Windows drivers | Microsoft Learn sdk版本必须和wdk版本一致 驱动环境部署 #include <ntifs.h>NTSTATUS DriverUnload(PDRIVER_OBJECT pDriver) …

图像处理-Ch6-彩色图像处理

Ch6 彩色图像处理 无广告更易阅读&#xff0c;个人博客点此进入<– 文章目录 Ch6 彩色图像处理彩色基础彩色模型(Color models)RGB(red, green, blue)CMY & CMYK(cyan, magenta, yellow/and black)HSI(hue, saturation, intensity)HSV(hue, saturation, value) 颜色空…