• 对拜占庭攻击鲁棒的异分布数据分布学习的梯度更新方法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
  • 相关阅读:
    android 布局 使用 viewPager 时,如何解决 和 子页面 长按滑动 冲突问题
    C++ 与 php 的交互 之----- C++ 异步获取 网页文字内容,异步获取 php 的 echo 值。
    站在巨人的肩膀上---重新自定义 android- ExpandableListView 收缩类,实现列表的可收缩扩展
    C/C++ char a[ ] 和 char *a 的差别,改变 char *a爆内存错误的原因
    android 真机调试出现错误 INSTALL_FAILED_INSUFFICIENT_STORAGE 的解决方法。
    android 如何获取手机的图片、视频、音乐
    《C程序设计语言》练习1-5
    《C 程序设计语言》练习1-4
    《C 程序设计语言》练习1-3
    关于 Cantor 集不可数的新观点
  • 原文地址:https://www.cnblogs.com/DemonHunter/p/13667924.html
Copyright © 2020-2023  润新知