1. 程式人生 > 實用技巧 >對拜占庭攻擊魯棒的異分佈資料分佈學習的梯度更新方法RSA

對拜占庭攻擊魯棒的異分佈資料分佈學習的梯度更新方法RSA

主體內容

這篇文章主要是在說,當在distributed leanring存在Byzantine attack,即可以向中央伺服器傳送任何內容導致最終結果出現bias,以及各個client之間不滿足同分布的假設下該如何進行學習。

文章的formula如下:

作者把中央伺服器的引數和每個客戶的引數分隔開,最後通過\(x_0=x_i\)的約束來同一兩者。但是上面這個式子是無法優化的,作者近似出下面的式子,

作者證明了當\(\lambda\)足夠大的時候,上面兩個式子的最優解是一樣的。在優化的時候,對\(x_i\)\(x_0\)分別進行優化,它們各自的更新公式如下:

作者這樣設計的演算法有下面這樣的優勢:

  1. 同樣面對Byzantine attack,相比於計算geometric mean之類的aggregation method這樣的更新方式更為簡便
  2. 演算法設計時考慮了異分佈的情況,更貼合實際
  3. clientserver的引數不一定相同,client可以保留personal的引數

定理證明

Proposition 1


這個命題是在說,一個p-normsubgradient集合等於另一個集合。

集合相等的證明需要證明兩個集合中的元素都相同,或者證明兩個集合相互包含。

作者首先根據subgradient的定義證明了凡是屬於\(\{z\in R^d:<z,x>=\Vert x\Vert_p, \Vert z\Vert_b\leq 1\}\)

的元素都屬於\(\partial_x\Vert x\Vert_p\)集合。

在證明\(\partial_x\Vert x\Vert_p\)的元素都屬於\(\{z\in R^d:<z,x>=\Vert x\Vert_p, \Vert z\Vert_b\leq 1\}\)上,作者首先找到一個特殊的\(y=\Vert x\Vert_p x_z\)來得到\(\Vert x\Vert_p\Vert z\Vert_b=<z,x>\)。再通過對\(y\)進行特殊的賦值來得到\(\Vert z\Vert_b=1\)。需要注意的是p-norm\(0\)處需要分開討論。

Theroem 1


定理一是在說,當\(\lambda\)足夠大的時候,兩個formula得到的結果是一樣的。

自己的想法:客戶的目標函式都是convex的,加總得到的中央伺服器的目標函式也是convex的,那麼一定存在使得中央伺服器最優的引數\(w^*\),然後中央伺服器\(w^*\)廣播出去,每個client得到\(w^*\)。在我之前的理解下,如果client的資料是異分佈的,那麼他們有不同的行為習慣,那麼應該得到不同的最後引數\(w^*_k\)。例如,一個客戶喜歡自行車上班,另一個客戶喜歡公交車上班,那麼在給兩人推薦的路線就應該是不同的。但是按照上面的分析,每個client得到的最終引數是相同的。我在想異分佈和個性化到底存在什麼聯絡?

這個證明特別有意思,

首先作者證明了\(\nabla E\Vert F(\tilde{x}^*, \xi_i) \Vert\in \lambda \Vert 0\Vert_p\),然後因為\(\lambda \Vert 0\Vert_p\)這個集合是對稱的,就得到了(20),將所有的\(i\)彙總得到(21)。這個(21)的式子會利用第一個formula中的式子進行代換,

然後就得到了\(0\in \nabla f_0(\tilde{x}^*)+\sum\limits_{i\in\mathcal{R}} \lambda\partial \Vert \tilde{x}^*- \tilde{x}^*\Vert\)集合,那就證明\([\tilde{x}^*]\)是第二個formula的解。

其實這個定理不很直接易得的,第二個formula是第一個formula的slack版本,那麼第一個都得到了那麼第二個也是最優的。

Theorem 2

定理二涉及的就是最終收斂性的證明。終於到達最後的收斂性證明了,其實收斂性證明也是有規範可循的。

因為作者這裡的\(x=[x_i; x_0]\),所以clientserver都需要證明一下啊但是基本上大同小異。

先來看regular work的update rule,其中\(A\)項是我們想要保留的,剩下的\(B\)\(C\)\(D\)都要進行放縮,要用到假設的convexstrongly-convexbounded variance of gradient等假設來進行。

首先來看\(B\)項,因為涉及了\(E\Vert \nabla F(x_i^k, \xi_i^k)\Vert^2\),首先不希望其中跟樣本有關係然後我們假設的Bounded variance可以用到,

得到這樣之後,雖然跟\(\nabla E[F(x_i^k, \xi_i^k)]\)與樣本沒有關係了但是形式上基本沒有改變。仍然要分離\(\nabla E[F(x_i^k, \xi_i^k)]\)\(\lambda \partial_{x_i} \Vert x_i^k-x_0^k\Vert_p\),引入\(E[\nabla F(x_i^*, \xi_i^k)]+\lambda \partial_{x_i} \Vert x_i^*-x_0^*\Vert_p=0\)得到

其中最後一個不等式用到了Proposition 1,即次梯度\(z\)滿足\(\Vert z \Vert_b\leq 1\)

再對\(C\)項進行放縮,在對這一項進行放縮時看形勢可以用到\(L\) smooth或者\(\mu\) strongly convex的假設,在進行縮放時,先進行拆分,變為

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

其中第二個不等式通過了對學習率\(\alpha\)的限制得到。化簡結果中第一項是我們要保留的,第二項是一個誤差,第三項還需要進行再次處理。

現在轉向server端的引數更新,證明方式大同小異,

同樣將更新規則帶入整理得到四項,對於第二項和第三項,與regular worker不同,要將Byzantineclient去除掉,再利用同樣的縮放技巧。對於第四項,則直接利用AM-GM inequality可以得到

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

無論是client還是server最後的式子中都有一個\(\E<\lambda\sum\limits_{i\in\mathcal{R}}\partial_{x}\Vert x^k_0 - x^k_i\Vert_p-\lambda\sum\limits_{i\in\mathcal{R}}\partial_x\Vert x_0^*-x_i*\Vert, x^k-x^*>\)的東西,作者證明了這個東西是大於\(0\)的,減去一個大於\(0\)的項直接進行捨棄就放大了。作者設計瞭如下函式,通過\(g(x)\)是凸函式證明了這件事情

最終得到的結果就是下面這個樣子

作者在這裡討論了學習率\(\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-b\Vert^2 \leq 2 \Vert a\Vert^2 + 2\Vert b\Vert^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