深入理解联邦学习——纵向联邦学习

这篇具有很好参考价值的文章主要介绍了深入理解联邦学习——纵向联邦学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分类目录:《深入理解联邦学习》总目录


假设进行联邦学习的数据提供方为 A A A B B B,第三方为 C C C,则纵向联邦学习步骤如下:

  1. 在系统级做加密样本对齐,在企业感知层面不会暴露非交叉用户
  2. 对齐样本进行模型加密训练:
    • 由第三方 C C C A A A B B B发送公钥,用来加密需要传输的数据;
    • A A A B B B分别计算和自己相关的特征中间结果,并加密交互
    • A A A B B B分别计算各自加密后的梯度并添加掩码发送给 C C C,同时拥有类标侧计算加密后的损失发送给 C C C
    • C C C解密梯度和损失后回传给 A A A B B B
    • A A A B B B去除掩码并更新模型

深入理解联邦学习——纵向联邦学习,深入理解联邦学习,人工智能,联邦学习,隐私,机器学习,深度学习

我们以岭回归为例说明纵向联邦学习的训练过程。假设存在数据集 { x i A } ( i ∈ D A ) \{x_i^A\}(i\in D_A) {xiA}(iDA) 和数据集 { x i B , y i B } ( i ∈ D B ) \{x_i^B, y_i^B\}(i\in D_B) {xiB,yiB}(iDB) ,其中 B B B为拥有类标的数据拥有方,我们以线性回归为例说明纵向联邦学习的训练过程:

  1. A A A B B B分别初始化模型参数 Θ A \Theta_A ΘA Θ B \Theta_B ΘB,则目标函数为: min ⁡ Θ A , Θ B ∑ i ( Θ A x i A + Θ B x i B − y i ) 2 + λ 2 ( ∣ ∣ Θ A ∣ ∣ 2 + ∣ ∣ Θ B ∣ ∣ 2 ) \min_{\Theta_A, \Theta_B}\sum_i(\Theta_Ax_i^A+\Theta_Bx_i^B-y_i)^2+\frac{\lambda}{2}(||\Theta_A||^2+||\Theta_B||^2) ΘA,ΘBmini(ΘAxiA+ΘBxiByi)2+2λ(∣∣ΘA2+∣∣ΘB2)
  2. u i A = Θ A x i A u_i^A=\Theta_Ax_i^A uiA=ΘAxiA u i B = Θ B x i B u_i^B=\Theta_Bx_i^B uiB=ΘBxiB,则对原目标函数同态加密后( [ [ ⋅ ] ] [[\cdot]] [[]]表示同态加密)可表示为: [ [ L ] ] = [ [ ∑ i ( u i A + u i B − y i ) 2 + λ 2 ( ∣ ∣ Θ A ∣ ∣ 2 + ∣ ∣ Θ B ∣ ∣ 2 ) ] ] = [ [ ∑ i ( u i A ) 2 + λ 2 ∣ ∣ Θ A ∣ ∣ 2 ] ] + [ [ ∑ i ( ( u i B − y i ) 2 ) + λ 2 ∣ ∣ Θ B ∣ ∣ 2 ] ] + 2 ∑ i ( [ [ u i A ] ] ( u i B − y i ) ) \begin{aligned}[[L]] &= [[\sum_i(u_i^A+u_i^B-y_i)^2+\frac{\lambda}{2}(||\Theta_A||^2+||\Theta_B||^2)]]\\&=[[\sum_i(u_i^A)^2+\frac{\lambda}{2}||\Theta_A||^2]]+[[\sum_i((u_i^B-y_i)^2)+\frac{\lambda}{2}||\Theta_B||^2]]+2\sum_i([[u_i^A]](u_i^B-y_i))\end{aligned} [[L]]=[[i(uiA+uiByi)2+2λ(∣∣ΘA2+∣∣ΘB2)]]=[[i(uiA)2+2λ∣∣ΘA2]]+[[i((uiByi)2)+2λ∣∣ΘB2]]+2i([[uiA]](uiByi))
  3. 我们令: [ [ L A ] ] = [ [ ∑ i ( u i A ) 2 + λ 2 ∣ ∣ Θ A ∣ ∣ 2 ] ] [ [ L B ] ] = [ [ ∑ i ( ( u i B − y i ) 2 ) + λ 2 ∣ ∣ Θ B ∣ ∣ 2 ] ] [ [ L A B = 2 ∑ i ( [ [ u i A ] ] ( u i B − y i ) ) ] ] [ [ d i ] ] = [ [ u i A ] ] + [ [ u i B − y i ] ] \begin{aligned}[[L_A]]&=[[\sum_i(u_i^A)^2+\frac{\lambda}{2}||\Theta_A||^2]] \\ [[L_B]]&=[[\sum_i((u_i^B-y_i)^2)+\frac{\lambda}{2}||\Theta_B||^2]] \\ [[L_{AB}&=2\sum_i([[u_i^A]](u_i^B-y_i))]] \\ [[d_i]]&=[[u_i^A]]+[[u_i^B-y_i]]\end{aligned} [[LA]][[LB]][[LAB[[di]]=[[i(uiA)2+2λ∣∣ΘA2]]=[[i((uiByi)2)+2λ∣∣ΘB2]]=2i([[uiA]](uiByi))]]=[[uiA]]+[[uiByi]] [ [ L ] ] = [ [ L A ] ] + [ [ L B ] ] + [ [ L A B ] ] [[L]]=[[L_A]]+[[L_B]]+[[L_{AB}]] [[L]]=[[LA]]+[[LB]]+[[LAB]]
  4. 计算梯度: [ [ ∂ L ∂ Θ A ] ] = ∑ i [ [ d i ] ] x i A + [ [ λ Θ A ] ] [ [ ∂ L ∂ Θ B ] ] = ∑ i [ [ d i ] ] x i B + [ [ λ Θ B ] ] \begin{aligned}[[\frac{\partial L}{\partial\Theta_A}]]&=\sum_i[[d_i]]x_i^A+[[\lambda\Theta_A]]\\ [[\frac{\partial L}{\partial\Theta_B}]]&=\sum_i[[d_i]]x_i^B+[[\lambda\Theta_B]]\end{aligned} [[ΘAL]][[ΘBL]]=i[[di]]xiA+[[λΘA]]=i[[di]]xiB+[[λΘB]]

针对数据提供方为 A A A B B B以及第三方为 C C C,纵向联邦学习的训练步骤如下:

\qquad\quad 数据提供方为 A A A 数据提供方为 B B B 第三方为 C C C
步骤 1 1 1 初始化参数 Θ A \Theta_A ΘA 初始化参数 Θ B \Theta_B ΘB 创建加密秘钥对,并将公钥发送给数据提供方为 A A A B B B
步骤 2 2 2 计算 [ [ u I A ] ] [[u_I^A]] [[uIA]] [ [ L A ] ] [[L_A]] [[LA]]并发送给数据提供方 B B B 计算 [ [ u I B ] ] [[u_I^B]] [[uIB]] [ [ d i ] ] [[d_i]] [[di]] [ [ L ] ] [[L]] [[L]],并将 [ [ d i ] ] [[d_i]] [[di]]发送给数据提供方 A A A,将 [ [ L ] ] [[L]] [[L]]发送给第三方 C C C
步骤 3 3 3 初始化掩码 R A R_A RA,计算 [ [ ∂ L ∂ Θ A ] ] + [ [ R A ] ] [[\frac{\partial L}{\partial\Theta_A}]]+[[R_A]] [[ΘAL]]+[[RA]] 并发送给第三方 C C C 初始化掩码 R B R_B RB,计算 [ [ ∂ L ∂ Θ B ] ] + [ [ R B ] ] [[\frac{\partial L}{\partial\Theta_B}]]+[[R_B]] [[ΘBL]]+[[RB]] 并发送给第三方 C C C 解密 L L L并发送 ∂ L ∂ Θ A + R A \frac{\partial L}{\partial\Theta_A} + R_A ΘAL+RA给数据提供方 A A A,发送 ∂ L ∂ Θ B + R A \frac{\partial L}{\partial\Theta_B} + R_A ΘBL+RA给数据提供方 B B B
步骤 4 4 4 更新参数 Θ A \Theta_A ΘA 更新参数 Θ B \Theta_B ΘB

在整个过程中参与方都不知道另一方的数据和特征,且训练结束后参与方只得到自己侧的模型参数,即半模型。由于各参与方只能得到与自己相关的模型参数,预测时需要双方协作完成:

  1. 第三方 C C C将待预测用户ID分别发送给数据提供方 A A A B B B
  2. 数据提供方 A A A B B B分别计算 u A u^A uA u B u^B uB并进行同态加密得到 [ [ u A ] ] [[u^A]] [[uA]] [ [ u B ] ] [[u^B]] [[uB]]
  3. 数据提供方 A A A B B B将同态加密后的 [ [ u A ] ] [[u^A]] [[uA]] [ [ u B ] ] [[u^B]] [[uB]]发送给 第三方 C C C
  4. 第三方 C C C计算同态加密后的预测值 [ [ y ] ] = [ [ u A ] ] + [ [ u B ] ] [[y]]=[[u^A]]+[[u^B]] [[y]]=[[uA]]+[[uB]]再解密得到预测值 y y y

参考文献:
[1] 杨强, 刘洋, 程勇, 康焱, 陈天健, 于涵. 联邦学习[M]. 电子工业出版社, 2020
[2] 微众银行, FedAI. 联邦学习白皮书V2.0. 腾讯研究院等, 2021文章来源地址https://www.toymoban.com/news/detail-698783.html

到了这里,关于深入理解联邦学习——纵向联邦学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解联邦学习——联邦学习的分类

    分类目录:《深入理解联邦学习》总目录 在实际中,孤岛数据具有不同分布特点,根据这些特点,我们可以提出相对应的联邦学习方案。下面,我们将以孤岛数据的分布特点为依据对联邦学习进行分类。 考虑有多个数据拥有方,每个数据拥有方各自所持有的数据集 D i D_i D

    2024年02月09日
    浏览(40)
  • (六)人工智能应用--深度学习原理与实战--理解张量与运算图

    Tensorflow名称中的Tensor即张量,不仅仅是Tensorflow,几乎所有的深度学习平台都以张量为基本的数据结构。简单来说,张量就是多维数组,本质上是一种数据容器,它可以有任意维度,比如矩阵就是二维张量(二维数组)。 深度学习中使用张量来表示数据,计算图是由张量和张量

    2024年02月15日
    浏览(48)
  • 人工智能学习与实训笔记(一):零基础理解神经网络

    人工智能专栏文章汇总:人工智能学习专栏文章汇总-CSDN博客 本篇目录 一、什么是神经网络模型 二、机器学习的类型 2.1 监督学习 2.2 无监督学习 2.3 半监督学习 2.4 强化学习 三、网络模型结构基础 3.1 单层网络 ​编辑 3.2 多层网络 3.3 非线性多层网络  四、 神经网络解决回

    2024年02月20日
    浏览(41)
  • 机器学习模型的可解释性:增加对人工智能系统的信任和理解

            为了以道德和值得信赖的方式使用人工智能,研究人员必须继续创建平衡模型复杂性和易于解释的方法。         机器学习模型在各个领域的使用都取得了重大进展,包括自然语言处理、生成式人工智能和自主系统等。另一方面,随着模型复杂性和规模的增加

    2024年02月13日
    浏览(41)
  • 人工智能_机器学习065_SVM支持向量机KKT条件_深度理解KKT条件下的损失函数求解过程_公式详细推导_---人工智能工作笔记0105

    之前我们已经说了KKT条件,其实就是用来解决 如何实现对,不等式条件下的,目标函数的求解问题,之前我们说的拉格朗日乘数法,是用来对 等式条件下的目标函数进行求解. KKT条件是这样做的,添加了一个阿尔法平方对吧,这个阿尔法平方肯定是大于0的,那么 可以结合下面的文章去

    2024年02月04日
    浏览(40)
  • 【人工智能】深入了解人工智能的核心算法与应用实践

    人工智能知识对于当今的互联网技术人来说已经是刚需。但人工智能的概念、流派、技术纷繁复杂,选择哪本书入门最适合呢? 这部被誉为人工智能“百科全书”的《人工智能(第3版)》,可以作为每个技术人进入 AI 世界的第一本书。 这本书是美国人工智能领域的权威经典

    2024年02月03日
    浏览(64)
  • 【人工智能】人工智能的技术研究与安全问题的深入讨论

    前言    人工智能(Artificial Intelligence),英文缩写为AI 。 它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是新一轮科技革命和产业变革的重要驱动力量。 📕作者简介: 热爱跑步的恒川 ,致力于C/C++、Java、

    2024年02月05日
    浏览(40)
  • 3、TensorFlow教程--- 理解人工智能

    人工智能包括通过机器和特殊计算机系统模拟人类智能的过程。人工智能的示例包括学习、推理和自我校正。人工智能的应用包括语音识别、专家系统、图像识别和机器视觉。 机器学习是人工智能的一个分支,它处理可以学习任何新数据和数据模式的系统和算法。 让我们关

    2024年02月08日
    浏览(55)
  • 人工智能与自主行为:理解与挑战

    人工智能(Artificial Intelligence,AI)是一门研究如何让计算机模拟人类智能的学科。自主行为(Autonomous Action)是一种能够在没有人类干预的情况下自主决策并执行的行为。人工智能与自主行为的结合,为我们提供了一种新的技术手段,可以让计算机自主地完成复杂的任务,甚至实现

    2024年02月19日
    浏览(46)
  • 【深入探究人工智能】历史、应用、技术与未来

    最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 🎉博客主页:小智_x0___0x_ 🎉欢迎关注:👍点赞🙌收藏✍️留言 🎉系列专栏:小智带

    2024年02月06日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包