文章目录

  • 拜占庭鲁棒随机聚合的分布式学习方法
    • 介绍
    • 分布式SGD
    • 鲁棒分布式学习的RSA算法
      • l1l_1l1​-范数 RSA
      • p范数 RSA
    • 结论

原文链接:https://arxiv.org/abs/1905.02941

拜占庭鲁棒随机聚合的分布式学习方法

介绍

本文提出了一种鲁棒的随机梯度方法,用于在存在位置数量的拜占庭工人的异构数据集中进行分布式学习,该方法的关键是将正则化项与目标函数结合起来,以增强学习任务的鲁棒性,以减轻拜占庭攻击的负面影响,我们就称之为拜占庭鲁棒随机聚合方法(Robust Stochastic Aggregation),缩写为RSA。

与现有大多数算法相比,RSA不依赖于数据在worker上是i.i.d的假设,因此适合于更广泛的应用,我们可以证明RSA

  • 收敛于一个近似最优解,学习误差依赖于拜占庭工人的数量
  • 在拜占庭攻击下的收敛速度和SGD算法相同
  • 复杂度比较先进的替代方案要低

所做出的贡献如下:

  • 开发了健壮的随机算法RSA,用于异构数据集和拜占庭攻击下的分布式学习,RSA有几种很好的变体,每一种变体都是包含“p-范数”正则项的目标函数。

  • 性能好坏建立在收敛速度和由拜占庭攻击引起的错误。

  • 使用了MNIST数据集(手写体,大小为64x64x3),以确保RSA在拜占庭攻击下的分类精度和运行的有效性。

分布式SGD

我们考虑这样一个分布式系统,它由一个master和m个workers组成,其中q个workers是拜占庭的,我们训练目标是找到下面表达式的最小值:
minx~∈Rd∑i=1mE[F(x~,ξi)]+f0(x~)\mathop {min}_{\tilde x\in \R^d}\sum_{i=1}^m\mathbb E[F(\tilde x,\xi_i)]+f_0(\tilde x) minx~∈Rd​i=1∑m​E[F(x~,ξi​)]+f0​(x~)
这里的x~∈Rd\tilde x\in \R^dx~∈Rd是函数的变量,f0(x~)f_0(\tilde x)f0​(x~)是正则化项,求和项F(x~,ξi)F(\tilde x,\xi_i)F(x~,ξi​)是工人i的对于一个随机变量ξi\xi_iξi​的损失函数值,这个工作假设不同于普遍的i.i.d分布,我们考虑一个更加实际的情况:ξi∼Di\xi_i\sim \mathcal D_iξi​∼Di​,其中Di\mathcal D_iDi​是数据在工人i的分布,且可能和其他工人分布不一致。

在master-worker架构中,在分布式SGD算法迭代的第k+1步,每一个工人i接受从master获取当前模型更新值x~k\tilde x^kx~k,依据随机变量ξik\xi_i^kξik​,从分布Di\mathcal D_iDi​种采样一个数据点,并且计算在本地训练的经验损失值$\nabla F(\tilde xk,\xi_ik) $。这个抽样过程也可以推广到小批量随机梯度下降,其中每个工人对多个i.i.d的数据点进行抽样,并计算局部经验损失的平均梯度。master收集和聚合worker发送的梯度,并且更新,在t+1时刻的更新为:
x~k+1=x~k−αk+1(∇f0(x~k)+∑i=1m∇F(x~k,ξik))\tilde x^{k+1}=\tilde x^k-\alpha^{k+1}\bigg(\nabla f_0(\tilde x^k)+\sum_{i=1}^m\nabla F(\tilde x^k,\xi_i^k)\bigg) x~k+1=x~k−αk+1(∇f0​(x~k)+i=1∑m​∇F(x~k,ξik​))
分布式SGD算法如下图所示:

SGD很容易受到拜占庭的攻击,虽然SGD在传统的大规模机器学习模型当中有良好的性能,但在拜占庭工人的存在下,其性能将显著下降。加入有一些工人是拜占庭工人,那马它们可以提交任意更新,或者通过搜集其他工人来发送精心设计过的信息,从而使学习产生偏差,具体而言,它们可以选择以下两种攻击:

  • 发送∇F(x~k,ξmk)=∞\nabla F(\tilde x^k,\xi_m^k)=\infty∇F(x~k,ξmk​)=∞;
  • 发送∇F(x~k,ξmk)=−∑i=1m−1∇F(x~k,ξik)\nabla F(\tilde x^k,\xi_m^k)=-\sum\limits_{i=1}^{m-1}\nabla F(\tilde x^k,\xi_i^k)∇F(x~k,ξmk​)=−i=1∑m−1​∇F(x~k,ξik​)

在任何情况下,聚合的梯度在SGD更新中使用的是inf,因此学习到的模型将要么不收敛,要么收敛到一个错误的值。

下面的算法将解决从分布式异构数据中进行鲁棒学习问题。

鲁棒分布式学习的RSA算法

由于拜占庭工人的存在,上面的最优化式子的解是没有意义的,因为他没有区分普通工人和拜占庭工人,相反,以下的最小优化器能够使正规工人的本地期望成本函数加正则化项的总和最小化:
x~∗=argminx~∈Rd∑i∈RE[F(x~,ξi)]+f0(x~)\tilde x^*=arg\ \mathop {min}_{\tilde x\in \R^d}\sum_{i\in \mathcal R}\mathbb E[F(\tilde x,\xi_i)]+f_0(\tilde x) x~∗=arg minx~∈Rd​i∈R∑​E[F(x~,ξi​)]+f0​(x~)
这里我们用B\mathcal BB表示拜占庭工人的集合,R\mathcal RR表示普通工人的集合,∣B∣=q,∣R∣=m−q|\mathcal B|=q,|\mathcal R|=m-q∣B∣=q,∣R∣=m−q,假设每个普通工人i的迭代器为xix_ixi​,master的迭代器为x0x_0x0​,我们就会得到下面的等价形式:
minx:=[xi;x0]E[F(xi,ξi)]+f0(x0)s.tx0=xi,∀i∈R\mathop{min}_{x:=[x_i;x_0]}\mathbb E[F(x_i,\xi_i)]+f_0(x_0)\\ s.t\ \ x_0=x_i,\forall i\in\mathcal R minx:=[xi​;x0​]​E[F(xi​,ξi​)]+f0​(x0​)s.t  x0​=xi​,∀i∈R
其中x:=[xi;x0]∈R(∣R∣+1)dx:=[x_i;x_0]\in\R^{(|\mathcal R|+1)d}x:=[xi​;x0​]∈R(∣R∣+1)d是普通工人变量xix_ixi​和master的变量x0x_0x0​组合形成的向量。

l1l_1l1​-范数 RSA

我们引入下面加上正则化的形式:
x~∗=argminx:=[xi;x0]∑i∈R(E[F(xi,ξi)]+λ∣∣xi−x0∣∣1)+f0(x0)\tilde x^*=arg\ \mathop{min}_{x:=[x_i;x_0]}\sum_{i\in \mathcal R}\bigg(\mathbb E[F(x_i,\xi_i)]+\lambda||x_i-x_0||_1\bigg)+f_0(x_0) x~∗=arg minx:=[xi​;x0​]​i∈R∑​(E[F(xi​,ξi​)]+λ∣∣xi​−x0​∣∣1​)+f0​(x0​)
其中λ\lambdaλ是一个正数,为正则化系数,λ∣∣xi−x0∣∣1\lambda||x_i-x_0||_1λ∣∣xi​−x0​∣∣1​是正则化项,相当于一个惩罚项,迫使它变小也就是让每一个xix_ixi​贴近于主变量x0x_0x0​。

在理想情况下,假设所有拜占庭工人的身份都已知,我们应用随机梯度算法,上述的求最小值值涉及到正常的工人和master,在第k+1次迭代,工人i的更新向量xik+1x_i^{k+1}xik+1​和master的更新向量x0k+1x_0^{k+1}x0k+1​由下面式子表示:
xik+1=xik−αk+1(∇F(xik,ξik)+λsign(xik−x0k))x0k+1=x0k−αk+1(∇f0(x0k)+λ(∑i∈Rsign(xik−x0k)))x_i^{k+1}=x_i^k-\alpha^{k+1}\bigg(\nabla F(x_i^k,\xi_i^k)+\lambda sign(x_i^k-x_0^k)\bigg)\\ x_0^{k+1}=x_0^k-\alpha^{k+1}\bigg(\nabla f_0(x_0^k)+\lambda \bigg(\sum _{i\in\mathcal R}sign(x_i^k-x_0^k)\bigg)\bigg)\\ xik+1​=xik​−αk+1(∇F(xik​,ξik​)+λsign(xik​−x0k​))x0k+1​=x0k​−αk+1(∇f0​(x0k​)+λ(i∈R∑​sign(xik​−x0k​)))
最终的更新取决于模型的聚合,和SGD取决于梯度聚合不一样。

假设工人i是拜占庭的,它会发送一个任意向量zik∈Rdz_i^k\in\R^dzik​∈Rd,master无法区分xik,zikx_i^k,z_i^kxik​,zik​,即更新向量来自正常的工人还是拜占庭工人,因此,第k+1次迭代的master更新将是:
x0k+1=x0k−αk+1(∇f0(x0k)+λ(∑i∈Rsign(x0k−xik)+∑j∈Bsign(x0k−zjk)))x_0^{k+1}=x_0^k-\alpha^{k+1}\bigg(\nabla f_0(x_0^k)+\lambda \bigg(\sum _{i\in\mathcal R}sign(x_0^k-x_i^k)+\sum _{j\in\mathcal B}sign(x_0^k-z_j^k)\bigg)\bigg) x0k+1​=x0k​−αk+1(∇f0​(x0k​)+λ(i∈R∑​sign(x0k​−xik​)+j∈B∑​sign(x0k​−zjk​)))
我们将上述算法叫做l1−normRSAl_1-norm\ RSAl1​−norm RSA,可以证明它对拜占庭攻击具有鲁棒性。

p范数 RSA

我们可以推广到p范数正则化问题上:
x~∗=argminx:=[xi;x0]∑i∈R(E[F(xi,ξi)]+λ∣∣xi−x0∣∣p)+f0(x0)\tilde x^*=arg\ \mathop{min}_{x:=[x_i;x_0]}\sum_{i\in \mathcal R}\bigg(\mathbb E[F(x_i,\xi_i)]+\lambda||x_i-x_0||_p\bigg)+f_0(x_0) x~∗=arg minx:=[xi​;x0​]​i∈R∑​(E[F(xi​,ξi​)]+λ∣∣xi​−x0​∣∣p​)+f0​(x0​)
其中p≥1p\ge1p≥1,类似于上面的结论,p范数也有助于减轻拜占庭工人的负面影响。

p范数 RSA也采用随机梯度下降算法,每一个正常工人i,第k+1次迭代的更新为:
xik+1=xik−αk+1(∇F(xik,ξik)+λ∂xi∣∣xik−x0k∣∣p)x_i^{k+1}=x_i^k-\alpha^{k+1}\bigg(\nabla F(x_i^k,\xi_i^k)+\lambda \partial_{x_i}||x_i^k-x_0^k||_p\bigg)\\ xik+1​=xik​−αk+1(∇F(xik​,ξik​)+λ∂xi​​∣∣xik​−x0k​∣∣p​)
其中∂xi∣∣xik−x0k∣∣p\partial_{x_i}||x_i^k-x_0^k||_p∂xi​​∣∣xik​−x0k​∣∣p​是xi=xikx_i=x_i^kxi​=xik​上的一个次梯度,类似地,master第k+1次迭代的更新为:
x0k+1=x0k−αk+1(∇f0(x0k)+λ(∑i∈R∂x0∣∣x0k−xik∣∣p+∑j∈B∂x0∣∣x0k−zjk∣∣p))x_0^{k+1}=x_0^k-\alpha^{k+1}\bigg(\nabla f_0(x_0^k)+\lambda \bigg(\sum _{i\in\mathcal R}\partial_{x_0}||x_0^k-x_i^k||_p+\sum _{j\in\mathcal B}\partial_{x_0}||x_0^k-z_j^k||_p\bigg)\bigg) x0k+1​=x0k​−αk+1(∇f0​(x0k​)+λ(i∈R∑​∂x0​​∣∣x0k​−xik​∣∣p​+j∈B∑​∂x0​​∣∣x0k​−zjk​∣∣p​))
其中∂x0∣∣x0k−xik∣∣p\partial_{x_0}||x_0^k-x_i^k||_p∂x0​​∣∣x0k​−xik​∣∣p​和∂x0∣∣x0k−zjk∣∣p\partial_{x_0}||x_0^k-z_j^k||_p∂x0​​∣∣x0k​−zjk​∣∣p​分别是∣∣x0k−xik∣∣p||x_0^k-x_i^k||_p∣∣x0k​−xik​∣∣p​和∣∣x0k−zjk∣∣p||x_0^k-z_j^k||_p∣∣x0k​−zjk​∣∣p​在x0=x0kx_0=x_0^kx0​=x0k​上的偏导数。

结论

可以证明RSA利用模型聚合来寻找模型,不依赖于i.i.d的假设,另一方面,具有更低的复杂度。在RSA中选择不同的正则化系数λ\lambdaλ和p范数通常会导致不同的性能,一般选择1、2范数性能较好。

拜占庭鲁棒随机聚合的分布式学习方法相关推荐

  1. 鲁棒随机优化(Robust Stochastic Optimization)和RSOME

    鲁棒随机优化(Robust Stochastic Optimization)和RSOME 前言 1. RSO 2. 简单示例 2.1 单产品的报童问题(one-product newsvendor p ...

  2. 鲁棒优化入门(一)——工具箱Xprog和RSOME的安装与使用

    工具箱可以从这里下载:鲁棒优化工具箱Xprog和RSOME 一.Xprog 1.工具箱简介 Xprog是由新加坡国立大学的Peng Xiong于2016年发布的一款matlab工具箱,可以用于求解确定 ...

  3. 011 Towards Byzantine-Resilient Federated Learning via Group-Wise Robust Aggregation(群体鲁棒聚合、拜占庭)

    通过群体鲁棒聚合进行拜占庭式弹性的联邦学习 方法:提出了一个集体聚合框架:每一轮协调者对来自不同参与者的模型更新运行一个聚类算法,并将相似的模型更新分组到不同的聚类中.对每个聚类采用鲁棒聚合方法估计聚 ...

  4. 分布式鲁棒优化基础知识学习 | Ref:《鲁棒优化入门》「运筹OR帷幄」

    鲁棒:考虑最坏情况: 分布:最坏情况的主体是环境参数的分布变量. 从数学角度说,分布式鲁棒优化囊括随机规划和传统鲁棒优化两种形式. 当分布式鲁棒优化下,环境变量的分布函数获知时,分布鲁棒优化退化为随机 ...

  5. 数据随机丢失情况下多传感器多速率鲁棒融合估计

    问题描述 存在N个传感器进行观测,观测数据有一定概率丢失 简而言之,其中γ\gammaγ是一个随机数(非0即1),0代表数据丢失,1代表数据存在.其他的多传感器多速率表示与上篇文章一致. 下面同样对多 ...

  6. 分布式鲁棒优化初学1

    针对不同类型的分布式鲁棒优化问题,求解思路: 1.1不确定项在目标函数中 模型1: 运用最大化,最小化,maxmin转化为minmax即可,然后对max求对偶,即可统一为min问题. 模型2: 此类问 ...

  7. 随机优化和鲁棒优化的区别

    随机优化(SO)和鲁棒优化(RO)实际上都是针对不确定情况的优化方法,从系数本身来说,SO需要知道或者预设一个该系数的概率分布,而RO需要知道这个系数的取值范围.从求解思路上来说,SO通常是限制失败的 ...

  8. CVX示例库之比较随机(stochastic)和最坏情况(worst-case)鲁棒逼近

    参考 6.4.2 节 Boyd 和 Vandenberghe <凸优化> CVX示例库 鲁棒逼近​ 随机鲁棒逼近 最坏情况鲁棒逼近 示例(比较随机和最坏情况鲁棒逼近) 鲁棒逼近​ 鲁棒逼近 ...

  9. 不说废话的分布式鲁棒优化Part1

    分布式鲁棒优化 前言: 优化: 鲁棒优化: 随机过程: 分布式鲁棒优化: 分布式鲁棒优化类型: 总结: 前言: 此处所讲均是以最简单的情况说明,对于更加复杂完善的优化理论,如果感兴趣可以继续深入了解, ...

最新文章

  1. active mq topic消费后删除_Spring cloud stream 整合mq
  2. Spring boot统一日志记录
  3. 2.4g 无线键鼠对码软件_无线路由器的2.4G和5G同时开速度有影响吗?
  4. Microsoft Power BI Desktop概念学习系列之Microsoft Power BI Desktop的下载和安装(图文详解)...
  5. 重庆高职高专计算机排名,重庆十大大专排名(含分数线2021年参考)-重庆最好的全日制专科学校...
  6. orderd mysql_Oracle入门教程:leading vs ordered hint
  7. 一个Win32程序的进化
  8. 远程登录工具 —— filezilla(FTP vs. SFTP)、xshell、secureCRT
  9. 介绍 Android 的 Camera 框架
  10. ☆汇总☆电力电子技术simulink仿真电路分析
  11. wamp php不可用_PHPWAMP开启php
  12. 计算机技术在材料成型工业中的应用,计算机在材料成型应用摘要.ppt
  13. python有道批量单词音标整理-Python 批量翻译 使用有道api;
  14. 破解win7开机密码
  15. 网络设备设置/取消console口登陆单独密码
  16. php制作cms视频教程下载,phpcms下载频道的模板制作
  17. 没有寻线仪怎么找网线_乱七八糟的网线怎么找?寻线仪来帮你
  18. java做小游戏扫雷(附源码)
  19. 计算机实训报告心得怎么写,计算机实训报告心得体会范文_计算机实训总结怎么写...
  20. 区块链在非金融领域有哪些值得期待的应用

热门文章

  1. Python Turtle库画一棵对称勾股树,美丽惊艳的分形世界!
  2. 【Kotlin基础系列】第1章 简介
  3. FormFile,FileItem对象的创建
  4. 二相漏电断路器接线图_漏电保护器接线图原理_漏电保护器接线方法_三相漏电断路器接线方法详解...
  5. 输入一个字符串,内有数字和非数字字符,例如A123x456 17960? 302tab5876,将其中连续的数字作为一个整数,依此存放到一个数组a中。
  6. Linux环境下Apache反向代理金蝶中间件Apusic集群
  7. ABAP 前台执行和后台执行
  8. 从征途中学习社区运营
  9. 【做题策略】考研英语一初步分析
  10. 开发属于自己的,iPhone设备管理工具,iTunesMobileDevice伪帮助文档