FedProx
#以前のサーベイ一覧
https://arxiv.org/abs/1812.06127
❏ 書誌情報/著者
Tian Li, Anit Kumar Sahu, Manzil Zaheer, Maziar Sanjabi, Ameet Talwalkar, Virginia Smith
Proceedings of the 3rd MLSys Conference, Austin, TX, USA, 2020
❏ 論文の核心(1文で要約)
Federated Learningにおけるシステム異質性と統計的異質性という主要課題に対し、近接項を用いた安定化フレームワークFedProxを提案
❏ 主張と革新性(何が新しく、何を解決するのか)
既存のFedAvgを拡張し、デバイスごとの変動的なローカルワークを許容
エポックがクライアントの計算資源に応じて変更される?
ローカル更新の逸脱を防ぐ近接項を導入し、Non-IIDデータに対する収束の安定性を大幅に向上
システム異質性の高い環境でテスト精度を平均22%向上
❏ 既存研究との違い
FedAvgがシステム制約のあるデバイスを無視するのに対し、FedProxは部分的な更新を統合
近接項や非類似度分析を、Federated Learningという異質性の高い分散環境に適用
❏ 技術・手法のポイント
各クライアントのローカル目的関数に近接項($\frac{\mu}{2} |w - w_t|^2$)を追加
この近接項が、統計的異質性への対処と変動ローカルワークの安全な統合を可能にする
クライアントはシステムリソースに応じて異なる回数のローカル更新を実行し、その結果がサーバーで集約される
❏ どう検証しているか(データ・実験・評価方法)
合成データセットと4つの現実世界のFLデータセット(MNIST, FEMNIST, Shakespeare, Sent140)で評価
システム異質性は、クライアントへの変動ローカルエポック割り当てでシミュレーション
FedAvgと比較し、訓練損失とテスト精度における優位性を実証
❏ 議論・今後の課題・著者自身の限界認識
FedProxは特にシステム異質性の高い環境でFedAvgより大幅にロバストな収束を示す
近接項は不安定な手法を安定させ、発散を防ぐことができる
理論的な収束保証は、分散SGDの収束率を必ずしも上回らない
❏ 応用例/示唆
スマートフォンやIoTデバイスなど、多様な計算リソースを持つクライアントが参加する現実世界のFederated Learning環境での適用
各クライアントのデータ分布が大きく異なるNon-IIDなシナリオにおいて、安定した収束と高いモデル精度を実現
特に、介護における音響HARシステムのように、各家庭の音響環境が異なり(Non-IID)、デバイスのリソースが多様な場合に、プライバシーを保護しつつNon-IIDデータに対応し、異常検知などの精度向上に貢献
気になる点,メモ
FedAvgはローカルの学習回数を増やすと収束が早まる
SGDの回数が増えてミニバッチを増やしたのと同様になるのかと思っていたが
なぜローカルの回数を増やして平均化して良いのか
どこかに書いてあったか?
式があるなら見た方が良い
アルゴリズムを見た限り,以下のようになっている:
サーバはクライアントに重み$ w_tを送信
クライアントは学習率$ \etaのSGDをE回行い,重み$ w_tを更新
サーバで集約し,平均化
データが偏るから発散するとか言っているが
本来のSGDなら起こらないのでは
SGDはデータを分け,確率的に重み(ノード?)を選び更新する
今度見に行った方が良い
漸近収束保証とかいうらしい?
本来はローカルで極小の変化のままに統合されるはずのパラメータが,極小とみなせない変化を起こすからこうなってしまう?
FedProxは何をする?
3節を参照
リソース制約に応じた計算回数の変更を許容
FedAvgでは切り捨てられていたクライアントも参加できる
近接項を設定
最小化の対象をローカルの関数ではなく近接項に変更
異質性から生じる,グローバルなモデルからの乖離を防ぐ
個々のクライアントの特徴を蔑ろにする形になりそうだが...
最適化手法の一つ
付録Bに細かい議論がある
FedAvgに少し手を加えれば実装可能らしい
Flowerにも例があったような
解析的な議論?
4節
確率的手法はステップサイズを小さくすると定常点に収束する
勾配降下法は学習率$ \etaという一定の値を採用
収束の分析には局所目的関数間の非類似度を定量化する
SGDの各インスタンスが独立しているかを見るということ?
言葉がいろいろ間違っているような
データがIIDだと可能らしい
じゃあ無理だ
代わりに非類似度の尺度を提示
4.1節 尺度
論文内のCorollary 10を見る
何これ
定義3を見る
何これ
4.2節 FedProxの解析的な分析?
定理4
何これ
SGDで有界分散の過程がよく使われる
何それ
実験で使用するクライアント数は10
FedAvgはもっと使っていなかったか?
後で見た方が良いかも
前提からしてクライアント数はもっと増やした方がいいのでは
そうしないと比較にならないような...
一応まとめ
ローカルのリソースによる異質性に対処
更新の数をリソース状況に基づいて決定
データによる異質性にも対処
近接項を更新式?に追加
最適化数学の勉強が必要そう
統計的不均一性に対処とある
ローカルの更新をグローバルに近づける
アルゴリズムや式の理論的な話は,分解していけば理解できそう
最適化数学の勉強がそもそも必要
分解しても時間がかかる > 基礎が不足しているため
真に異質性に対処するなら,基礎固めが必須