1. 程式人生 > 其它 >【論文考古】量化SGD Federated Learning with Quantization Constraints

【論文考古】量化SGD Federated Learning with Quantization Constraints

簡介

這篇文章是通訊領域對FL進行量化的代表作,其中掛名的IEEE Fellow都是通訊領域的大佬。與機器學習領域的研究思路不同,這篇文章沒有強調神經網路的訓練或者SGD的收斂性分析,而是站在通訊的角度,研究如何針對FL的特性來設計量化演算法,從而使得傳輸錯誤儘量小。最終本文選擇的FL特性是FedAvg時多使用者平均對量化帶來的增益,並主要運用了1996年左右的格編碼相關理論。文章首先給出了使用者數量越多,量化誤差越小的理論分析,並進行了實驗驗證。同時實驗驗證了較小量化誤差帶來的FL效能增益。

理論

  • subtractive dithered lattice quantization的步驟

    • quantization:選最靠近的格的對應的整數組合

    • partitioning是將矩陣分成向量來量化;dithering其實還是滿足了量化後向量的均值不變;entropy coding只是為了進一步降低rate,並不是核心的東西

  • 在FedAvg聚合時,量化誤差會隨著使用者數量的增加指數級消失

實驗

  • 先做了量化誤差的比較,然後做了FL效能的比較
  • FL部分非常拉跨,學習的是一個對映\(f(\alpha)=\sin 6\pi \alpha\),同時神經網路是個兩層的sigmoid啟用函式,完全不能體現出深度神經網路的特性,錯誤概率甚至超過\(0.1\)

觀點

  • 沒有使用分散式有損信源編碼的原因
    • 計算上覆雜
    • 要求編譯碼器知道所有使用者更新引數的聯合分佈
      ,這是不現實的

評價

  • 在通訊的角度,研究的還是如何衡量傳輸中速率與誤差的關係。從這個地方進行切入,能蹭到許多熱點,而且憑藉solid information theoretic arguments蹭得理直氣壯。主要的工作就在於根據新場景的特性、資訊理論中的條件,選擇合適的技術
  • 文章並沒有根據通道條件來改變傳輸條件,而是由通道條件計算出可以無損傳輸的位元數量,用來進行量化。
  • 為了水字數,可以放一些無效的想法(比如分散式信源編碼、聯合entropy code),告訴大家這樣做我已經想過啦,行不通
  • Question old school assumptions:為什麼每個使用者的編碼器要一樣?