对拜占庭攻击鲁棒的异分布数据分布学习的梯度更新方法RSA

主体内容

这篇文章主要是在说,当在distributed leanring存在Byzantine attack,即可以向中央服务器发送任何内容导致最终结果出现bias,以及各个client之间不满足同分布的假设下该如何进行学习。

文章的formula如下:

wBy9y9.png

作者把中央服务器的参数和每个客户的参数分隔开,最后通过(x_0=x_i)的约束来同一两者。但是上面这个式子是无法优化的,作者近似出下面的式子,

wBymSe.png

作者证明了当(lambda)足够大的时候,上面两个式子的最优解是一样的。在优化的时候,对(x_i)(x_0)分别进行优化,它们各自的更新公式如下:

wBgjB9.png

wBgv7R.png

作者这样设计的算法有下面这样的优势:

  1. 同样面对Byzantine attack,相比于计算geometric mean之类的aggregation method这样的更新方式更为简便
  2. 算法设计时考虑了异分布的情况,更贴合实际
  3. clientserver的参数不一定相同,client可以保留personal的参数

定理证明

Proposition 1

wBWEFI.png
这个命题是在说,一个p-normsubgradient集合等于另一个集合。

集合相等的证明需要证明两个集合中的元素都相同,或者证明两个集合相互包含。

wB5wgx.png

作者首先根据subgradient的定义证明了凡是属于({zin R^d:<z,x>=Vert xVert_p, Vert zVert_bleq 1})的元素都属于(partial_xVert xVert_p)集合。

wBToqK.png

在证明(partial_xVert xVert_p)的元素都属于({zin R^d:<z,x>=Vert xVert_p, Vert zVert_bleq 1})上,作者首先找到一个特殊的(y=Vert xVert_p x_z)来得到(Vert xVert_pVert zVert_b=<z,x>)。再通过对(y)进行特殊的赋值来得到(Vert zVert_b=1)。需要注意的是p-norm(0)处需要分开讨论。

Theroem 1

wBWfne.png
定理一是在说,当(lambda)足够大的时候,两个formula得到的结果是一样的。

自己的想法:客户的目标函数都是convex的,加总得到的中央服务器的目标函数也是convex的,那么一定存在使得中央服务器最优的参数(w^*),然后中央服务器(w^*)广播出去,每个client得到(w^*)。在我之前的理解下,如果client的数据是异分布的,那么他们有不同的行为习惯,那么应该得到不同的最后参数(w^*_k)。例如,一个客户喜欢自行车上班,另一个客户喜欢公交车上班,那么在给两人推荐的路线就应该是不同的。但是按照上面的分析,每个client得到的最终参数是相同的。我在想异分布和个性化到底存在什么联系?

这个证明特别有意思,

wBLjD1.png

首先作者证明了( abla EVert F( ilde{x}^*, xi_i) Vertin lambda Vert 0Vert_p),然后因为(lambda Vert 0Vert_p)这个集合是对称的,就得到了(20),将所有的(i)汇总得到(21)。这个(21)的式子会利用第一个formula中的式子进行代换,

wBXPoV.png

然后就得到了(0in abla f_0( ilde{x}^*)+sumlimits_{iinmathcal{R}} lambdapartial Vert ilde{x}^*- ilde{x}^*Vert)集合,那就证明([ ilde{x}^*])是第二个formula的解。

其实这个定理不很直接易得的,第二个formula是第一个formula的slack版本,那么第一个都得到了那么第二个也是最优的。

Theorem 2

wBj96H.png

定理二涉及的就是最终收敛性的证明。终于到达最后的收敛性证明了,其实收敛性证明也是有规范可循的。

因为作者这里的(x=[x_i; x_0]),所以clientserver都需要证明一下啊但是基本上大同小异。

wBjvbn.png

先来看regular work的update rule,其中(A)项是我们想要保留的,剩下的(B)(C)(D)都要进行放缩,要用到假设的convexstrongly-convexbounded variance of gradient等假设来进行。

首先来看(B)项,因为涉及了(EVert abla F(x_i^k, xi_i^k)Vert^2),首先不希望其中跟样本有关系然后我们假设的Bounded variance可以用到,

wBzp1U.png

得到这样之后,虽然跟( abla E[F(x_i^k, xi_i^k)])与样本没有关系了但是形式上基本没有改变。仍然要分离( abla E[F(x_i^k, xi_i^k)])(lambda partial_{x_i} Vert x_i^k-x_0^kVert_p),引入(E[ abla F(x_i^*, xi_i^k)]+lambda partial_{x_i} Vert x_i^*-x_0^*Vert_p=0)得到

wBzIER.png

其中最后一个不等式用到了Proposition 1,即次梯度(z)满足(Vert z Vert_bleq 1)

再对(C)项进行放缩,在对这一项进行放缩时看形势可以用到(L) smooth或者(mu) strongly convex的假设,在进行缩放时,先进行拆分,变为

wDo2Mq.png

然后可以再利用[2]中p66中的定理,可以得到

wD7nHK.png

其中第二个不等式通过了对学习率(alpha)的限制得到。化简结果中第一项是我们要保留的,第二项是一个误差,第三项还需要进行再次处理。

现在转向server端的参数更新,证明方式大同小异,

wDLWLR.png

同样将更新规则带入整理得到四项,对于第二项和第三项,与regular worker不同,要将Byzantineclient去除掉,再利用同样的缩放技巧。对于第四项,则直接利用AM-GM inequality可以得到

wrV3GQ.png

server的式子缩放整理可以得到

wrVdaT.png

无论是client还是server最后的式子中都有一个(E<lambdasumlimits_{iinmathcal{R}}partial_{x}Vert x^k_0 - x^k_iVert_p-lambdasumlimits_{iinmathcal{R}}partial_xVert x_0^*-x_i*Vert, x^k-x^*>)的东西,作者证明了这个东西是大于(0)的,减去一个大于(0)的项直接进行舍弃就放大了。作者设计了如下函数,通过(g(x))是凸函数证明了这件事情

wrmnq1.png

最终得到的结果就是下面这个样子

wrmDJS.png

作者在这里讨论了学习率(aplha)是固定值还是跟随步数逐渐缩小的值,至于为什么学习率要减小呢,可以看看SVRG(Stochasitc Variance Reduce Gradient)[3]。如果是采用固定学习率的话,那么直接可以telescopic cancellation就可以得到,如果是随着步数变化的学习率的话(一般是(frac{alpha}{t+1})这种形式),就需要通过数学归纳法来进行了。

文章最后说的(frac{1}{sqrt{k}})函数值收敛好吧,根据convex和(mu) strongly convex一转化应该就OK了。

总结和心得

  1. 作者这样formula给个性化的参数提供了另一种思路,但是个性化和全局最优的(w^*)到底存在什么联系还需要进一步探究。
  2. 收敛性证明的格式基本如上所示,常用到AM-GMholder-inequality(Vert a-bVert^2 leq 2 Vert aVert^2 + 2Vert bVert^2),在证明中会用到学习率(eta)的条件来消除某些不好处理的项。如果学习率是变动的那么则要使用归纳法。

参考文献

  1. RSA: Byzantine-Robust Stochastic Aggregation Methods for Distributed Learning from Heterogeneous Datasets
  1. Introductory Lectures on Convex Optimization A Basic Course
  1. Accelerating Stochastic Gradient Descent using Predictive Variance Reduction
原文地址:https://www.cnblogs.com/DemonHunter/p/13667924.html