「隐语小课」拆分学习之“水平拆分学习”

图片

一、引言

拆分学习是 2018 年由 MIT 最先提出的分布式算法。本文结合该领域的相关英文文献,介绍水平拆分学习的基本方法,同时还将对比拆分模型与中心化模型、联邦模型在不同条件下模型效率和准确性。拆分学习作为主流的隐私计算学习范式之一,也被普遍应用于构建隐私保护机器学习算法。

二、基本方法

1.1 核心思想

拆分学习将 NN 模型拆分成两部分,client 利用本地数据计算底层模型,得到隐层并传输给 server,server 继续计算上层模型,如图 1 所示【1】。

图片

图1 拆分学习示意图

针对 client 数据水平切分场景下的拆分学习方法,主要分为三种:Centralized 拆分学习、P2P 拆分学习和 U-shape 拆分学习。

1.2 Centralized 拆分学习

图片

图2 Centralized 拆分学习模型

(1)算法

如图 2 所示【2】,Alice 为 client, Bob 为 server。client 和 server 模型首先进行初始化。

  • client i 从 server 获取 client 端的密态模型参数,解密,更新 client 模型。

  • client i 进行前向传播,计算得到隐层,并将隐层 h 和真实标签 y 传给 server

  • server 得到 client i 的隐层 h 和 y,继续前向传播,得到 label 预测值 y_pred,进而得到 Loss(y, y_pred)。

  • server 进行模型的后向传播,更新 server 端的模型,进而得到 Loss 关于隐层的梯度 G,并将 G 传给 client。

  • client 利用梯度 G 继续后向传播,更新 client 端本地模型,client 将本地模型加密传给 server。

  • 剩余参与训练的 client 依次进行步上述步骤。

(2)特点

  • client 异步更新,无法同步更新;

  • client 每次训练前需要从 server 获取密态的 client 模型;

  • server 得到样本的 label 和密态 client 模型(有隐私泄漏的风险)。

1.3 P2P 拆分学习

  • 图片

图3 Peer to peer 拆分学习

(1)算法

如图3所示【2】,client i 进行前向传播,计算得到隐层,并将隐层 h 和真实标签 y 传给server。

  • server 得到 client i的隐层 h 和 y,继续前向传播,得到 label 预测值 y_pred,进而得到 Loss(y, y_pred);

  • server 进行模型的后向传播,更新 server 端的模型,进而得到 Loss 关于隐层的梯度G,并将 G 传给 client;

  • client 利用梯度 G 继续后向传播,更新 client 端本地模型,client 将本地模型传给下一个 client;

  • 下一个 client 依次进行上述步骤。

(2)特点

  • client 依次进行训练更新。

  • server 得到样本的 label。

  • lient 每次训练前需要从上一个 client 获取最新的 client 模型(client 掉线问题)。

1.4 U-shape 拆分学习

图片

图4 U-shape 拆分学习

(1)算法

如图 4 所示【1】,模型依次拆成三部分:submodel-1,submodel-2(大部分计算),submodel-3(loss computing),其中 submodel-1 和 submodel-3 在 client 端进行,submodel-2 在 server 端进行。以 U-shape centralized 拆分学习为例:

  • client i 从 server 获取 client 端的密态 submodel-1 和 submodel-3 的模型参数,解密,更新 client 本地模型。

  • client i 进行前向传播,计算得到隐层,并将隐层 h1 传给 server。

  • server 得到 client i 的隐层 h,继续 submodel-2 前向传播,得到隐层 h2,传给 client。

  • client 得到 h1,继续 submodel-3 的前向传播,得到 y_pred,结合 client 的真实 label y 计算得到 loss。

  • client 和 server 进行模型的后向传播,更新模型。

  • client 将本地模型 submodel-1 和 submodel-3 加密传给 server。

  • 剩余参与训练的 client 依次进行上述步骤。

(2)特点

  • 相比于前两个模型,server 无法得到样本的 label。

三、实验结果

3.1 拆分学习 VS 单机模型

论文【2】中对比了拆分学习和单机模型的 Accuracy,其中在拆分学习中共有 10 个 clients,得到如下表所示的实验结果。

图片

实验结论:拆分学习可以对齐单机模型的 Accuracy【2】。

3.2 拆分学习VS联邦学习

论文【2】中对比了相同 client-side flops 和 communication cost 下拆分学习和联邦学习的 performance。

论文【3】中对比了多 clients 条件和 Non-IID 数据分布下的拆分学习和联邦学习的 performance。

(1)Performance with the same client-side flops

图片

结论:相同计算量的情况下,拆分学习的收敛速度及 Accuracy 优于联邦学习和 Large scale SGD。

(2)Performance with the same communication cost

图片

结论:相同通信量的情况下,拆分学习收敛速度及 Accuracy 优于联邦学习和 Large scale SGD。

(3)Performance with the different clients’ number

图片

结论:当 clients 数量变多时,模型性能有明显的震荡。

(4)Performance in the Non-IID setting

图片

结论:拆分学习在 Non-IID 下性能比联邦学习差,甚至不收敛。

四、Reference

【1】Thapa C, Chamikara M A P, Camtepe S A. Advancements of federated learning towards privacy preservation: from federated learning to split learning[M]//Federated Learning Systems. Springer, Cham, 2021: 79-109.

【2】Gupta O, Raskar R. Distributed learning of deep neural network over multiple agents[J]. Journal of Network and Computer Applications, 2018, 116: 1-8.

【3】Gao Y, Kim M, Abuadbba S, et al. End-to-end evaluation of federated learning and split learning for Internet of Things[J]. arXiv preprint arXiv:2003.13376, 2020.

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

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

相关文章

Python学习笔记_进阶篇(二)_django知识(一)

本章简介: Django 简介Django 基本配置Django urlDjango viewDjango 模板语言Django Form Django 简介 Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来…

亚马逊云科技 云技能孵化营——机器学习心得

亚马逊云科技 云技能孵化营机器学习心得 前言什么是机器学习?机器学习如何解决业务问题?什么时候适合使用机器学习模型?总结 前言 很荣幸参加了本次亚马逊云科技云技能孵化营,再本期的《亚马逊云科技云技能孵化营》中&#xff0c…

LeetCode算法心得——k-avoiding 数组的最小总和(标记数组)

大家好,我是晴天学长,这是一个细节题和一部分的思维题哈! 2) .算法思路 k-avoiding 数组的最小总和 1,填充一个1到n 的Boolean的数组 要n个数,但是数组大小不能确定。 所以建立1000的大小。 2.遍历筛选,如果数组中有这…

关于chromedriver.exe一系列问题的解决办法

最新 chromedriver.exe下载地址:https://googlechromelabs.github.io/chrome-for-testing/#stable 下载最新版本的 chromedriver.exe 将其解压在 python.exe 同目录下,以及Chrome 的路径下 例如: C:\Program Files\Google\Chrome\Applicati…

(2023)Linux安装pytorch并使用pycharm远程编译运行

(2023)Linux安装pytorch并使用pycharm远程编译运行 安装miniconda 这部分参考我这篇博客的前半部分Linux服务器上通过miniconda安装R(2022)_miniconda 安装r_Dream of Grass的博客-CSDN博客 创建环境 创建一个叫pytorch的环境…

springMVC 已解密的登录请求

问题描述: 解决方案: 1.对用户所输入的密码在页面进行MD5加密并反馈至密码输入框。 2. 手动生成SSL安全访问证书;在此不做介绍,相关方法可通过网上查找; 3. 将产品HTTP访问方式改为SSL安全访问方式;在Ap…

postman接口参数化设置

为什么需要参数化? 我们在做接口测试的过程中,会遇到需要测试同一个接口使用不同的数据的情况,如果每次去一个个填写数据就太麻烦了,这时我们就需要用到接口参数化,我们把数据单独的存放在一个文件中管理,…

根据学生学习水平量身定制指导以促进知识蒸馏的效果

文章目录 Tailoring Instructions to Student’s Learning Levels Boosts Knowledge Distillation一、PPT内容P1 BackgroundP2 L2T--online distillationP3 L2T--Meta distillationP4 Approach--LGTMP5 Distillation influenceP6 Finite difference approximationP7 Teachers a…

Python正则表达式中re.sub自定义替换方法正确使用方法

嗨喽,大家好呀~这里是爱看美女的茜茜呐 在使用正则替换时,有时候需要将匹配的结果做对应处理,便可以使用自定义替换方法。 re.sub的用法为: re.sub(匹配表达式,替换字符或替换函数,替换次数,其…

[oneAPI] 基于BERT预训练模型的英文文本蕴含任务

[oneAPI] 基于BERT预训练模型的英文文本蕴含任务 Intel DevCloud for oneAPI 和 Intel Optimization for PyTorch基于BERT预训练模型的英文文本蕴含任务语料介绍数据集构建 模型训练 结果参考资料 比赛:https://marketing.csdn.net/p/f3e44fbfe46c465f4d9d6c23e38e0…

STM32——RTC实时时钟

文章目录 Unix时间戳UTC/GMT 时间戳转换BKP简介BKP基本结构读写BKP备份寄存器电路设计关键代码 RTC简介RTC框图RTC基本结构硬件电路RTC操作注意事项读写实时时钟电路设计关键代码 Unix时间戳 Unix 时间戳(Unix Timestamp)定义为从UTC/GMT的1970年1月1日…

redis 6个节点(3主3从),始终一个节点不能启动

redis节点,始终有一个节点不能启动起来 1.修改了配置文件 protected-mode no,重启 修改了配置文件 protected-mode no,重启redis问题依然存在 2、查看/var/log/message的redis日志 Aug 21 07:40:33 redisMaster kernel: Out of memory: K…

数据结构(3)

线性表是多个具有相同特征的数据的有限序列。 前驱元素:A在B前面,称A为B的前驱元素。 后继元素:B在A后面,称B为A的后继元素。 线性表特征: 1.一个元素没有前驱元素,就是头结点; 2.最后一个…

湖北黄石三维扫描文物保护修复文物建模3d打印-CASAIM中科广电

三维激光扫描技术在博物馆领域的运用,主要在以下3个方面:文物保护、文物数字化、虚拟博物馆。随着时间的流逝和人类活动的影响,文物不可避免地会受到来自自然或者人为的侵蚀和破坏。由于CASAIM三维激光扫描技术具有不用接触被测量目标、扫描速…

胖小酱之身后事

1)小孩杰克就是艾略奥特童年的投影,从小被黑恶势力欺负,同活着却已死去的妈妈-----活死人-----生活在一起,对死亡有种天然的亲近,极端厌恶只会呼吸、大小便的活死人,他认为自己必须埋葬掉他们。小孩杰克在剧…

HTML 和 CSS 来实现毛玻璃效果(Glassmorphism)

毛玻璃效果简介 它的主要特征就是半透明的背景,以及阴影和边框。 同时还要为背景加上模糊效果,使得背景之后的元素根据自身内容产生漂亮的“变形”效果,示例: 代码实现 首先,创建一个 HTML 文件,写入如下…

<c++开发>通信工具 -之-SOME/IP移植部署 第一篇文章

<c开发>通信工具 -之-SOME/IP移植ubuntu部署 第一篇文章 一 前言 SOME/IP (Scalable service-Oriented MiddlewarE over IP) 是一种通信协议,主要用于嵌入式系统和车载网络中的服务导向通信。SOME/IP是AUTOSAR(AUTomotive Open …

TouchGFX之DMA2D

Chrom-ART (DMA2D)图形加速器能够传输来自存储器的部分图像数据,并将其放入或先混合后再放入帧缓存。 Chrom-ART可从内部或外部存储器读取数据。 同样,它可以写入内部或外部存储器。 在绘制图形时可使用此功能,以显著提高显示性能&#xff0c…

React基础入门之虚拟Dom

React官方文档:https://react.docschina.org/ 说明 重要提示:本系列文章基础篇总结自尚硅谷课程,且采用类式写法!!最新的函数式组件写法见高级篇。 本系列文档旨在帮助vue同学更快速的学习react,如果你很…

若依项目的运行详细步骤

目录 一、项目的解读与获取 二、项目的运行 后端步骤(ruoyi-admin) (一)导入若依的2个SQL文件 版本建议 (二)Redis的配置 (三)启动后端 前端步骤(ruoyi-ui) 版本建议 (一)…