$30 off During Our Annual Pro Sale. View Details »

Federated Learning Tutorial (IBIS 2022)

OMRON SINIC X
November 18, 2022

Federated Learning Tutorial (IBIS 2022)

米谷, "Federated Learningにおける典型的な課題と最近の展開"
第25回情報論的学習理論ワークショップ(IBIS 2022)チュートリアル資料

OMRON SINIC X

November 18, 2022
Tweet

More Decks by OMRON SINIC X

Other Decks in Research

Transcript

  1. Federated Learningにおける典型的課題と最近の展開 米谷 竜|オムロンサイニックエックス 第25回情報論的学習理論ワークショップ(IBIS 2022) チュートリアル 11/23/2022 IBIS2022 チュートリアル

    | (c) 2022 OMRON SINIC X. All Rights Reserved. 1
  2. 略歴 • 2013 京都大学情報学研究科 博士後期課程修了 • 2014 – 2018 東京大学

    生産技術研究所 助教 • 2019 – 現在 オムロンサイニックエックス PI • 2022 – 現在 慶應義塾大学 特任講師 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 2 ウェアラブルカメラを用いたコンピュータビジョン (CVPR 2015, 2016, 2018; ECCV 2016; TPAMI 2018) 連合学習、分散環境での転移学習 (ICCV 2017; ICC 2019; IJCAI 2020; ICPR 2020; ICRA 2021) 経路計画 (ICML 2021; AAMAS 2022; RA-L 2022; AAAI 2023) 専門: コンピュータビジョンと機械学習
  3. 導入|背景 最近の機械学習、特に深層学習には大量かつ多様なデータが必要 • 大規模データセットの構築が各所で進められている • 教師あり学習の場合、クラウドソーシングを介したデータのアノテーションが普及している 11/23/2022 IBIS2022 チュートリアル |

    (c) 2022 OMRON SINIC X. All Rights Reserved. 3 https://laion.ai/blog/laion-5b/ https://aws.amazon.com/jp/sagemaker/data-labeling/ https://datacentricai.org/
  4. 導入|背景 一方で、大規模データ・アノテーションの収集が必ずしも容易でないケースも • ヘルスケア、医療データ、ライフログ、企業内における機密性・秘匿性の高いデータなど • セキュリティ、プライバシー、法的な制約がある • 言い換えると、「データは現場にあるが、↑のような理由で一か所に集めることが難しい」という状況は多い 11/23/2022 IBIS2022

    チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 4
  5. 導入|連合学習 (Federated Learning) • 連合学習の定義 • Federated learning is a

    machine learning setting where multiple entities (clients) collaborate in solving a machine learning problem, under the coordination of a central server or service provider. Each client’s raw data is stored locally and not exchanged or transferred; instead, focused updates intended for immediate aggregation are used to achieve the learning objective [Kairouz+, 2021] • 連合学習の最小構成要素 • 多数のクライアントがいて、それぞれローカルにデータを持っている • 中央サーバとやりとりをしつつ、グローバルモデルと呼ばれる機械学習モデルを学習する • データそのものはサーバに共有されず、そのデータを用いて更新されたモデルのみが共有される 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 5 サーバー(サービスプロバイダ)は 学習したいモデルを持っている クライアント(現場)はそれぞれ 学習のためのデータを持っている
  6. 導入|連合学習の応用 実は既にいろんなところで使われている • Google Gboard [Hard+, 2018]|Vocal classifier for “Hey

    Siri” [resource]|Financial risk prediction [resource]|医用画像処理 [resource] 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 6 https://www.fedai.org/cases/ https://www.apple.com/jp/siri/ https://play.google.com/store/apps/details?id=com.google.android.inputmethod.latin https://blogs.nvidia.co.jp/2021/09/29/federated-learning-nature-medicine/
  7. 導入|Cross-Device連合学習 [Kairouz+, 2021] • クライアント:大量(~10^10 or 研究レベルでは3桁程度)のモバイルデバイスやIoTデバイス • 利用可能なクライアントは刻々と変化 &

    ”stateless”(前エポックの情報を活用できない) • データ:各クライアントが非集中的(decentralized)に保持 • クライアントによってデータの分布が異なる(non-iid) • サーバ:データへの直接アクセスは不可 • 学習時のボトルネック:通信>計算 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 7 … …
  8. 導入|Cross-Silo連合学習 [Kairouz+, 2021] • クライアント:大量( ~10^2 or 研究レベルでは2桁程度)の物理的に散らばったデータ拠点 • 利用可能なクライアントは固定

    & ”stateful”(前エポックの情報を引き継げる) • データ:各クライアントが非集中的(decentralized)に保持 • クライアントによってデータの分布が異なる(non-iid) • サーバ:データへの直接アクセスは不可 • 学習時のボトルネック:通信~計算(どっちもあり得る) 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 8
  9. 導入|データセンターでの分散学習 [Kairouz+, 2021] • クライアント:大量( ~10^3)の計算クラスタ • 利用可能なクライアントは固定 & ”stateful”

    • データ:サーバが各クライアントに配布 • データの分布はクライアントによらず同一 • サーバ:データへのアクセス可能 • 学習時のボトルネック:通信<計算 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 9
  10. 導入|問題設定の比較 Cross-device FL Cross-silo FL 分散学習 クライアント ~10^10 刻々と変化&stateless ~10^2

    固定&stateful ~10^3 固定&stateful データ 各クライアントがローカルに保持 クライアントによってデータの分布が異なる(non-iid) サーバが配布 データの分布は同一 サーバ データへのアクセス不可 データへのアクセス可 ボトルネック 通信>計算 通信~計算 通信<計算 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 10
  11. 導入|問題設定の比較 Cross-device FL Cross-silo FL 分散学習 クライアント ~10^10 刻々と変化&stateless ~10^2

    固定&stateful ~10^3 固定&stateful データ 各クライアントがローカルに保持 クライアントによってデータの分布が異なる(non-iid) サーバが配布 データの分布は同一 サーバ データへのアクセス不可 データへのアクセス可 ボトルネック 通信>計算 通信~計算 通信<計算 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 11 個別のクライアントに 特化したモデルは学習できる? 異なるデータ分布からどうやっ て単一のモデルを学習する? 本当に安全なの? 通信容量を削減できる?
  12. 導入|連合学習の基本パイプライン 1. サーバからクライアントへモデル(グローバルモデル)を配布 2. クライアントは自身のデータでモデルを更新し、サーバに返送 3. サーバはクライアントからもらったモデルを統合し、グローバルモデルを更新 11/23/2022 IBIS2022 チュートリアル

    | (c) 2022 OMRON SINIC X. All Rights Reserved. 12 1 2 3
  13. 導入|Federated Averaging (FedAvg) [McMahan+, 2016] 11/23/2022 IBIS2022 チュートリアル | (c)

    2022 OMRON SINIC X. All Rights Reserved. 13 ▶ ランダムに選択された クライアントにモデル配布 ▶ クライアントが更新した モデルの重みを平均統合 ▶ 各クライアント内部で 複数エポック学習を回す ローカルでのエポック数(E)を増やした方が テストパフォーマンスの向上が速い
  14. 導入|連合学習におけるテストデータ 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X.

    All Rights Reserved. 14 … … クライアントデータとは別に用意 [Lin+, 2020] etc. 新しいクライアントのデータ [Caldas+, 2018] etc. 学習に参加したクライアントの別のデータ [McMahan+, 2016] etc.
  15. 導入|その他の問題設定 • Personalized FL • クライアントごとに特化したモデルを学習 • 各クライアントが自身のデータのみを使って 独立に学習したモデルに勝ることを目指す(後述) •

    Clustered FL [Sattler+, 2019] • クライアントをクラスタリングし、クラスタごとに異なるグローバルモデルを学習 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 15
  16. 導入|その他の問題設定 • Vertical FL [Yang+, 2019] • Cross-siloの設定で、クライアントごとにあるユーザの異なる特徴量を保持 • 準同型暗号を用いつつロジスティック回帰をする事例

    [Yang+, 2019] • Fully decentralized FL [Lalitha+, 2018] • 中央サーバ不在の状況で連合学習。 • 近傍クライアントからモデルの更新をbeliefとして受け取り、 ベイズ則に基づいて自身のモデルをさらに更新 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 16
  17. 導入|連合学習における課題 • Non-iidデータからの学習 • クライアントごとにデータの分布が異なる状況でどのように連合学習するか • 効率的な通信 • サーバ・クライアント間のモデルのやりとりをどのように効率化するか •

    セキュリティ&プライバシー • 連合学習においてクライアントのプライバシーがどのように侵害・保護されるか • 蒸留ベース連合学習 • 蒸留を用いたクライアントモデルの統合 • 様々なタスクの連合学習化 • 教師有り学習以外のタスクにおける連合学習の適用 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 17
  18. Non-iidデータからの学習 • Non-iidデータからの学習 • クライアントごとにデータの分布が異なる状況でどのように連合学習するか • 効率的な通信 • サーバ・クライアント間のモデルのやりとりをどのように効率化するか •

    セキュリティ&プライバシー • 連合学習においてクライアントのプライバシーがどのように侵害・保護されるか • 蒸留ベース連合学習 • 蒸留を用いたクライアントモデルの統合 • 様々なタスクの連合学習化 • 教師有り学習以外のタスクにおける連合学習の適用 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 18
  19. Non-iidデータからの学習 • Non-IID = Non- identically and independently distributed •

    連合学習の文脈では「クライアントのローカルデータがそれぞれ異なる分布からサンプリングされている」 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 19 例: キーワード予測 “machine” -> “learning”, “neural” -> “network” “機械” -> “学習”, “ニューラル” -> “ネットワーク” 3 英・日両方でうまく動く モデルが学習できるか?
  20. Non-iidデータからの学習|Non-iidnessの分類 [Kairouz+, 2021] • ラベル分布のシフト • クライアントによって持っているデータのラベルが偏っている • 連合学習関連ではよく見る問題設定 •

    コンセプトドリフト・コンセプトシフト • 入力データの特徴量とラベルの関係性がクライアントによって違う • 特徴量分布のシフト(共変量シフト) • クライアントによって入力データの特徴量分布が偏っている • アンバランスドネス • 保有するデータサンプルの量がクライアントによって違う • 単純にクライアントモデルに対する重みで対処される 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 20 i番目のクライアントのデータサンプルが 𝑥, 𝑦 ∼ 𝑃𝑖 𝑥, 𝑦 でサンプリングされるとしたとき ラベル分布シフト 𝑃𝑖 𝑦 ≠ 𝑃𝑗 𝑦 , 𝑃𝑖 𝑥 𝑦 = 𝑃𝑗 𝑥 𝑦 コンセプトドリフト 𝑃𝑖 𝑥 ∣ 𝑦 ≠ 𝑃𝑗 𝑥 ∣ 𝑦 , 𝑃𝑖 𝑦 = 𝑃𝑗 𝑦 コンセプトシフト 𝑃𝑖 𝑦 𝑥 ≠ 𝑃𝑗 𝑦 𝑥 , 𝑃𝑖 𝑥 = 𝑃𝑗 (𝑥) 特徴量分布シフト 𝑃𝑖 𝑥 ≠ 𝑃𝑗 𝑥 , 𝑃𝑖 𝑦 𝑥 = 𝑃 𝑗 𝑦 𝑥
  21. Non-iidデータからの学習|Non-iidデータの例 • Federated Extended MNIST (FEMNIST) [Caldas+, 2018] (as a

    part of LEAF dataset) • Extended MNISTのうち”a”-”j” の10文字の分類 • ただし、各クライアントはそのうち5文字分のデータしか持っていない • ラベル分布シフトに相当 • Synthetic dataset [Li+, 2020] • 𝑦 = 𝑎𝑟𝑔𝑚𝑎𝑥 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 𝑊𝑘 𝑥 + 𝑏𝑘 𝑥 ∈ ℝ60, 𝑊𝑘 ∈ ℝ10×60, 𝑏𝑘 ∈ ℝ10 • 𝑊𝑘 ∼ 𝑁 𝑢𝑘 , 1 , 𝑏𝑘 ∼ 𝑁 𝑢𝑘 , 1 , 𝑢𝑘 ∼ 𝑁 0, 𝛼 • 𝑥 ∼ 𝑁 𝑣𝑘 , Σ , 𝑣𝑘 ∼ 𝑁 𝐵𝑘 , 1 , 𝐵𝑘 ∼ 𝑁 0, 𝛽 • 𝛼, 𝛽 が大きいほどクライアント間でデータ分布が異なる • 𝛼が大きいほどクライアントごとに違うローカルモデルが学習される • 𝛽が大きいほどクライアントごとに違うデータが保持される • (𝛼 :小 𝛽 :大) ▶特徴量分布シフト (𝛼 :大 𝛽 :小) ▶コンセプトシフト • …なはずだが、実際は 𝛼, 𝛽 = 0, 0 , 0.1, 0.1 , 1.0, 1.0 などのちゃんぽんが良く使われる 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 21
  22. Non-iidデータからの学習|FedBN [Li+, 2021] • 特徴量分布のシフト(共変量シフト) • クライアントによって入力データの特徴量分布が偏っている • 𝑃𝑖 𝑥

    ≠ 𝑃 𝑗 𝑥 , 𝑃𝑖 𝑦 𝑥 = 𝑃𝑗 𝑦 𝑥 • 通常の深層学習ではバッチ正規化で対応可能。では、連合学習ではどうすればよいか? • FedBN [Li+, 2021] • バッチ統計量は統合せずクライアントごとに異なるものを利用 • FedAvgと比較してより速く収束 • クライアントごとに状態(バッチ統計量)を保持する必要がある • Cross-silo FL(クライアント固定)が前提 • Cross-device FLでは原理的に利用不可 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 22
  23. Non-iidデータからの学習|連合学習の定式化 • 連合学習の目的関数 min 𝑤 𝐹 𝑤 = 𝔼𝑖 𝐹𝑖

    𝑤 = 𝔼𝑖 𝔼𝑥𝑖∼𝐷𝑖 𝑓𝑖 𝑤; 𝑥𝑖 • つまり、クライアントごとの損失関数の期待値(平均)を 最小にするような一つのネットワークのパラメタ𝑤 を学習したい • クライアントデータがiidの場合 • 𝐷1 = 𝐷2 = ⋯ = 𝐷 なので、min 𝑤 𝐹 𝑤 = 𝔼𝑥∼𝐷 𝑓 𝑤; 𝑥 • Parallel SGDに関する議論に帰着 c.f. [Yu+, 2019] • クライアントデータがnon-iidの場合 • Local objectiveに関して仮定をおいて収束レートの議論(次ページ) 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 23 𝐹: Global objective 𝐹𝑖 : Local objective. i番目のクライアントの データを用いた目的関数 i番目のクライアントの データに関する損失関数
  24. Non-iidデータからの学習|収束レートに関する議論 [Kairouz+, 2021] • Local objectiveに関する仮定 • Bounded inter-client gradient

    variance 𝔼𝑖 ∇𝐹𝑖 𝑤 − ∇𝐹 𝑤 2 ≤ 𝜂2 • Bounded optimal objective variance 𝐹∗ − 𝔼𝑖 𝐹𝑖 𝑤 ≤ 𝜂2 • Bounded optimal gradient variance 𝔼𝑖 ∇𝐹𝑖 𝑤∗ ≤ 𝜂2 • Bounded gradient dissimilarity 𝔼𝑖 ∇𝐹𝑖 𝑤 2 ∇𝐹 𝑤 2 ≤ 𝜂2 • その他の仮定 • Local objectiveの(強)凸性 • Stochastic gradientに関するバウンド 𝔼 ∇𝐹𝑖 𝑤𝑡 𝑖 2 ≤ 𝐺2 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 24
  25. Non-iidデータからの学習|FedAvgの収束レート [Li+, 2020] 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON

    SINIC X. All Rights Reserved. 25 ▶ ランダムに選択された クライアントにモデル配布 ▶ クライアントが更新した モデルの重みを平均統合 ▶ 各クライアント内部で 複数エポック学習を回す ローカルでのエポック数(E)を増やした方が テストパフォーマンスの向上が速い
  26. Non-iidデータからの学習|FedAvgの収束レート [Li+, 2020] • 仮定 • 𝐹1 , … ,

    𝐹𝑁 が𝐿滑凸関数かつ𝜇-強凸関数 • 𝐹𝑖 のstochastic gradientがバウンドされている 𝔼 ∇𝐹𝑖 𝑤𝑡 𝑖 2 ≤ 𝐺2 • Bounded inter-client gradient variance(𝔼𝑖 ∇𝐹𝑖 𝑤 − ∇𝐹 𝑤 2 ≤ 𝜎𝑖 2) • FedAvgの収束レート: 𝒪 1 𝑇 𝔼 𝐹 𝑤𝑇 − 𝐹∗ ≤ 𝜅 𝛾 + 𝑇 − 1 2 𝐵 + 𝐶 𝜇 + 𝜇𝛾 2 𝔼 𝑤1 − 𝑤∗ 2 𝜅 = 𝐿 𝜇 , 𝛾 = max 8𝜅, 𝐸 , 𝐵 = ෍ 𝑖 𝑝𝑖 2𝜎𝑖 2 + 6𝐿Γ + 8 𝐸 − 1 2𝐺2, 𝐶 = 4 𝐾 𝐸2𝐺2 • ある精度を達成するために必要なステップ数を𝑇𝜖 としたとき、必要なラウンド数は 𝑇𝜖 𝐸 ∝ 𝑋𝐸 + 𝑌 𝐸 + 𝑍 (X, Y, Zは論文参照) • つまり、ローカルでの更新数E は大きすぎても小さすぎてもだめ 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 26 • 𝐾: 毎ラウンドに参加するクライアント数 • 𝜎𝑖 : クライアントごとの勾配がglobal objectiveの勾配 からどれだけ離れているか • 𝐸: ローカルでのエポック数
  27. Non-iidデータからの学習|Client drift [Karimireddy+, 2020] • (再掲)連合学習の目的関数 min 𝑤 𝐹 𝑤

    = 𝔼𝑖 𝐹𝑖 𝑤 = 𝔼𝑖 𝔼𝑥𝑖∼𝐷𝑖 𝑓𝑖 𝑤; 𝑥𝑖 • Client drift • クライアントごとの目的関数 𝐹𝑖 𝑤 の最小化が、 必ずしも𝐹 𝑤 の最小化につながるとは限らない • 𝐹 𝑤 のglobal minimum 𝑤∗と𝐹𝑖 𝑤 のminimum 𝑤𝑖 ∗の ずれによって、𝑤𝑖 𝑡+1が𝑤∗ からずれてしまう • 前頁でも、 𝔼𝑖 ∇𝐹𝑖 𝑤 − ∇𝐹 𝑤 2 が大きいほど 𝔼 𝐹 𝑤𝑇 − 𝐹∗ が大きくなっていた • このずれはクライアントごとのエポックEが 多いほど顕著になりうる • 「Eが大きすぎてもだめ」に関する別の説明 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 27 𝑤𝑡 𝑤𝑡+1 = 1 2 𝑤1 𝑡+1 + 𝑤2 𝑡+1 𝑤2 ∗ : 𝐹2 𝑤 のglobal minimum 𝑤1 ∗ : 𝐹1 𝑤 のglobal minimum 𝑤1 𝑡+1 𝑤2 𝑡+1 FedAvgの更新: 𝑤2 ∗に引っ張られる 𝑤∗: 𝐹 𝑤 のglobal minimum
  28. Non-iidデータからの学習|FedProx [Li+, 2020] あるラウンド𝑡におけるFedProx の目的関数: min 𝑤 𝐹 𝑤; 𝑤𝑡

    = 𝔼𝑖 ℎ𝑖 𝑤; 𝑤𝑡 ; ℎ𝑖 𝑤; 𝑤𝑡 = 𝐹𝑖 𝑤 + 𝜇 2 𝑤 − 𝑤𝑡 2 • ただし𝑤𝑡はtラウンド目に配布されたグローバルモデルのパラメタ • 近接項(proximal term)を導入することで、local objectiveに基づく更新がグローバルモデルから離れすぎないようにする 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 28 𝑤𝑡 𝑤𝑡+1 = 1 2 𝑤1 𝑡+1 + 𝑤2 𝑡+1 𝑤2 ∗ 𝑤1 ∗ 𝑤1 𝑡+1 𝑤2 𝑡+1 FedAvgの更新: 𝑤2 ∗に引っ張られる 𝑤𝑡 𝑤𝑡+1 𝑤2 ∗ 𝑤1 ∗ 𝑤1 𝑡+1 𝑤2 𝑡+1 モデル更新幅を 損失に追加 FedProxの更新: 𝑤2 ∗に引っ張られない
  29. Non-iidデータからの学習|FedProx [Li+, 2020] • Non-iidになるとFedAvgは全然学習が進まない • FedProxはNon-iidnessの程度によらず安定して学習が進んでいる 11/23/2022 IBIS2022 チュートリアル

    | (c) 2022 OMRON SINIC X. All Rights Reserved. 29 Non-iidness: 低(iid) Non-iidness: 高 Non-iidness: 中 (再掲)
  30. Non-iidデータからの学習|Scaffold [Karimireddy+, 2020] • FedAvgの更新式: 𝑤𝑖 ← 𝑤𝑖 − 𝜂∇𝐹𝑖

    𝑤𝑖 FedProxの更新式: 𝑤𝑖 ← 𝑤𝑖 − 𝜂 ∇𝐹𝑖 𝑤𝑖 + 𝜇 𝑤𝑖 − 𝑤𝑡 • Scaffoldの更新式: 𝑤𝑖 ← 𝑤𝑖 − 𝜂 ∇𝐹𝑖 𝑤𝑖 − 𝑐𝑖 + 𝑐 ; 𝑐𝑖 ← 𝑐𝑖 − 𝑐 + 1 𝐾𝜂 𝑤𝑡 − 𝑤𝑖 ; 𝑐 ← 𝑆 𝑁 𝑐𝑖 • −𝑐𝑖 + 𝑐 (control variable)によって、各クライアントの更新を全クライアントの平均的なずれの方向へ補正 • FedProxより速く収束 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 30 SCAFFOLDの更新: 𝑤2 ∗に引っ張られない 𝑤2 ∗ 𝑤1 ∗ 𝑤𝑡 𝑤𝑡+1 𝑤1 𝑡+1 𝑤2 𝑡+1 𝑤𝑡 ∇𝑓𝑖 𝑤𝑖 −𝑐𝑖 + 𝑐 グローバルモデル𝑤𝑡 からのずれ ずれの平均
  31. Non-iidデータからの学習|Scaffnew [Mishchenko+, 2022] • 連合学習の目的関数(consensus form) • min 𝑤 𝐹

    𝑤 = 1 𝑁 σ𝑖 𝐹𝑖 𝑤 = min 𝑤1,…,𝑤𝑁 1 𝑁 σ𝑖 𝐹𝑖 𝑤𝑖 + 𝜓 𝑤1 , … 𝑤𝑁 where 𝜓 𝑤1 , … 𝑤𝑁 = ቊ 0 if 𝑤1 = ⋯ = 𝑤𝑁 +∞ otherwise • 近接勾配法で解く: prox 𝑤1 , … 𝑤𝑁 = ഥ 𝑤, … , ഥ 𝑤 where ഥ 𝑤 = 1 𝑁 σ𝑖 𝑤𝑖 ▶ ここで通信コストがかかる • ProxSkip [Mishchenko+, 2022]: 上記近接写像を確率的に(すごく低い確率で)行う • Scaffnew: ProxSkipでScaffoldを拡張 • (再掲) Scaffoldの更新式 𝑤𝑖 ← 𝑤𝑖 − 𝜂 ∇𝐹𝑖 𝑤𝑖 − 𝑐𝑖 + 𝑐 ; 𝑐𝑖 ← 𝑐𝑖 − 𝑐 + 1 𝐾𝜂 𝑤𝑡 − 𝑤𝑖 ; 𝑐 ← 𝑆 𝑁 𝑐𝑖 • Scaffnewの更新式 1. 𝑤𝑖 ← 𝑤𝑖 − 𝜂 ∇𝐹𝑖 𝑤𝑖 − ℎ𝑖 ℎ𝑖 : control variable 2. ある低い確率で 𝑤𝑖 ← 1 𝑁 σ𝑖 𝑤𝑖 ここで通信が発生 3. ℎ𝑖 ← ℎ𝑖 + 𝑝 𝛾 𝑤𝑖 − 𝑤𝑡 control variableの更新 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 31 Logistic regressionでの実験 Global optimumとの差 ▶ すべての目的関数𝐹𝑖 を最小化する一つのモデル𝑤を求める ▶ それぞれの目的関数𝐹𝑖 を最小化するモデル𝑤𝑖 を求める。 ただし、 𝑤1 = ⋯ = 𝑤𝑁 という制約付き
  32. Non-iidデータからの学習|FedNova [Wang+, 2021] • 連合学習(FedAvg)の目的関数 min 𝑤 𝐹 𝑤 =

    𝔼𝑖 𝐹i 𝑤 = σ𝑖 𝑝𝑖𝜏𝑖 σ 𝑖 𝑝𝑖𝜏𝑖 𝐹𝑖 𝑤 where 𝑝𝑖 : データサイズ、 𝜏𝑖 : 更新回数 • 更新回数が多いクライアントのモデルに結果が引っ張られる • Federated normalized Averaging Algorithm (FedNova) • 𝑤𝑡+1 ← 𝑤𝑡 − 𝜏eff σ𝑖 𝑝𝑖 𝜂𝑑𝑖 𝑡 • 𝑑𝑖 𝑡 = 𝐺𝑖 𝑡𝑎𝑖 𝑡 𝑎𝑖 𝑡 1 : 正規化勾配(normalized gradient)=各クライアントでの複数ローカル更新を合成した更新方向 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 32 𝑤𝑡 𝑤𝑡+1 = 1 2 𝑤1 𝑡 + 𝑤2 𝑡 𝑤1 𝑡 𝑤2 𝑡 FedAvgの更新: 𝑤2 𝑡に引っ張られる 𝑤𝑡 𝑤1 𝑡 𝑤2 𝑡 𝑑2 𝑡 FedNovaの更新: 𝑤2 𝑡に引っ張られない
  33. Non-iidデータからの学習|パーソナライズド連合学習 • 通常の連合学習:一つのグローバルモデルを学習 • パーソナライズド連合学習: クライアントごとに個別のモデルを学習 • サーバを介してクライアント間で協力しつつ、「自身のローカルデータのみでの学習」を上回る性能を目指す • 自然とnon-iidnessをどのように扱うべきかという話になる

    11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 33 通常の連合学習: グローバルモデルは一つ パーソナライズド連合学習: クライアントごとにモデルを学習
  34. Non-iidデータからの学習|モデル更新の工夫 • 基本的な考え方 • (再掲)FedProx の目的関数: min 𝑤 𝐹 𝑤;

    𝑤𝑡 = 𝔼𝑖 ℎ𝑖 𝑤; 𝑤𝑡 ; ℎ𝑖 𝑤; 𝑤𝑡 = 𝐹𝑖 𝑤 + 𝜇 2 𝑤 − 𝑤𝑡 2 • これは、グローバルモデル𝑤𝑡 から離れすぎないようにしつつ、クライアントデータに対してパーソナライズしていると捉えることもできる • Ditto [Li+, 2021] • FedProxの更新式: 𝑤𝑖 𝑡 ← 𝑤𝑖 𝑡 − 𝜂 ∇𝐹𝑖 𝑤 + 𝜇 𝑤 − 𝑤𝑡 で得られる𝑤𝑖 𝑡 をパーソナライズドモデルとして扱う • pFedMe [Dinh+, 2020] • 𝑤𝑡+1 ← 𝑤𝑡 + 1 𝑁 σ𝑖 𝑤𝑖,𝑟+𝑇 𝑡 , 𝑤𝑖,𝑟+1 𝑡 ← 𝑤𝑖,𝑟 𝑡 − 𝜂𝜇 𝑤𝑖,𝑟 𝑡 − 𝜃𝑖 𝑤𝑖,𝑟 𝑡 , 𝜃𝑖 𝑤𝑖,𝑟 𝑡 = arg min 𝑤 ℎ𝑖 𝑤; 𝑤𝑖,𝑟 で得られる𝜃𝑖 𝑤𝑖,𝑟 𝑡 をパーソナライズドモデルとして扱う • PerFedAvg [Fallah+, 2020] • MAML [Finn+, 2017] の定式化を利用 min 𝑤 𝐹 𝑤; 𝑤𝑡 = 𝔼𝑖 ℎ𝑖 𝑤; 𝑤𝑡 ; ℎ𝑖 𝑤; 𝑤𝑡 = 𝐹𝑖 𝑤 − 𝛼∇𝐹𝑖 𝑤 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 34 ※ グローバルモデルから離れすぎない ※ 前ステップのパーソナライズドモデル𝑤𝑖,𝑟 から離れすぎない ※1ステップ勾配降下するとうまくいくようなモデル ▶ グローバルモデルの更新=現ラウンドのグローバルモデル+ローカルモデルの差分の平均
  35. Non-iidデータからの学習|Personalization layerの導入 • 基本的な考え方 • ネットワークのうち入力~中間層のみをbase layersとして統合 • 最終数層はpersonalization layersとしてクライアントごとに独立に学習

    • FedPer [Arivazhagan+, 2019] • Base layers/personalization layersをend-to-endで学習 • FedRep [Collins+, 2021] • Base layers/personalization layersを交互学習 • FedPerよりFedRepの方が少しだけ良い • 先の近接勾配ベースの手法はパフォーマンス面ではイマイチ • 実はFedAvg + クライアントごとのfine-tuneもそれなりに動く • Personalized FL界隈は闇が深い(意味のある問題を解いているのか?) 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 35
  36. Non-iidデータからの学習|その他の手法 • 連合学習と適応的最適化 • Multi-device FLではクライアントはstatelessが前提 →Adam等の適応的な最適化が利用できない • サーバサイドで適応的最適化をすることでこの問題を解決 •

    FedOpt [Reddi+, 2021] 1. クライアントの更新: Δ𝑖 𝑡 = 𝑤𝑖 𝑡 − 𝑤𝑡 、その統合結果をΔt = 1 N σ𝑖 Δ𝑖 𝑡 としたとき、 2. 𝑚𝑡 = 𝛽1 𝑚𝑡−1 + 1 − 𝛽1 Δ𝑡 , 3. 𝑣𝑡 = 𝑣𝑡−1 + Δ𝑡 2 (FedAdaGrad) | 𝑣𝑡 = 𝑣𝑡−1 + 1 − 𝛽2 Δ𝑡 2sign 𝑣𝑡−1 − Δ𝑡 2 (FedYogi) | 𝑣𝑡 = 𝛽2 𝑣𝑡−1 + 1 − 𝛽2 Δ𝑡 2 (FedAdam) 4. 𝑤𝑡+1 = 𝑤𝑡 + 𝜂 𝑚𝑡 𝑣𝑡+𝜏 • 特にクライアント数が多数(342k)の状況でScaffoldを大きく上回る性能 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 36 https://arxiv.org/pdf/2003.00295.pdf ▶ 前ラウンドの更新 𝑚𝑡−1 を考慮 ▶ グローバルモデルの更新
  37. Non-iidデータからの学習|その他の手法 • Matched Averaging [Wang+, 2020] • クライアント間でモデルの更新がなるべく似通うように、 それぞれの更新結果のパラメタのチャネルを並び替える •

    min 𝜋 𝑙𝑖 𝑗 σ𝑖=1 𝐿 σ𝑗,𝑙 min 𝜃𝑖 𝜋 𝑙𝑖 𝑗 𝑐 𝑤𝑗𝑙 , 𝜃𝑖 s.t., σ𝑖 𝜋 𝑙𝑖 𝑗 = 1 ∀𝑗, 𝑙; σ𝑙 𝜋 𝑙𝑖 𝑗 = 1 ∀𝑖, 𝑗. • Agnostic FL (AFL) [Mohri+, 2019] • (再掲)連合学習の目的関数 min 𝑤 𝐹 𝑤 = 𝔼𝑖 𝐹𝑖 𝑤 • AFLの目的関数 min 𝑤 max 𝜆 𝐹 𝑤, 𝜆 = σ𝑖 𝜆𝑖 𝐹𝑖 𝑤 • どのクライアントのデータにも平等にフィットしてほしい=「特定のクライアントの損失だけ大きい」を避けるように学習 • 𝜆𝑖 に関する最大化により、損失の大きいクライアントの重みがより重視されるように更新が統合される ∇𝑤 𝐹 𝑤, 𝜆 = ෍ 𝑖 𝜆𝑖 ∇𝑤 𝐹𝑖 𝑤 ∇𝜆 𝐹 𝑤 𝑖 = 𝐹𝑖 𝑤 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 37 並び替え行列が満たすべき条件 𝑗番目のクライアントの パラメタの𝑙列目 サーバ配布モデルの パラメタの𝑖列目 https://arxiv.org/pdf/2002.06440.pdf ▶ ハンガリアンアルゴリズムで並び替えを求める ▶ 連合学習 x フェアネスの文脈で良く引用される
  38. Non-iidデータからの学習|まとめ • クライアントごとにデータの分布が異なる状況でどのように連合学習するか • “Client drift” [Karimireddy+, 2020] =クライアントが更新したモデルがglobal optimumから乖離する現象として表現されることが多い

    • クライアントが更新したモデルの勾配について適当な仮定を置きつつ収束レートを議論(詳細は [Kairouz+, 2021] §3.3.2) • 近接勾配法ベースのアプローチが主流(FedProx [Li+, 2020], Scaffnew [Mishchenko+, 2022]) • クライアント側でのモデル更新時に、配布されたグローバルモデルから離れすぎないようにする • モデルの圧縮と組み合わせた発展形も(後述) • パーソナライズド連合学習の問題としても取り組まれている • が、単純なファインチューニングと性能がコンパラになるケースも多く、注意が必要 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 38
  39. 効率的な通信 • Non-iidデータからの学習 • クライアントごとにデータの分布が異なる状況でどのように連合学習するか • 効率的な通信 • サーバ・クライアント間のモデルのやりとりをどのように効率化するか •

    セキュリティ&プライバシー • 連合学習においてクライアントのプライバシーがどのように侵害・保護されるか • 蒸留ベース連合学習 • 蒸留を用いたクライアントモデルの統合 • 様々なタスクの連合学習化 • 教師有り学習以外のタスクにおける連合学習の適用 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 39
  40. 効率的な通信 • Cross-Device連合学習ではサーバ・クライアント間でのモデルの通信がボトルネックになる • FedAvgをはじめこれまでに紹介した一連の手法は「通信回数を減らすためのアプローチ」 • 個別の通信を効率化するアプローチ • 勾配のスパース化|量子化|勾配の圧縮 •

    通信リソースを考慮したクライアント選択 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 40
  41. 効率的な通信|Structured Update [Konečný+, 2016] • クライアントによる更新の差分 Δ𝑊 = 𝑤𝑖 𝑡

    − 𝑤𝑡 ∈ ℝ𝑑1×𝑑2 が特定の構造を持つように学習 • 低ランク • Δ𝑊 ∈ 𝐴𝐵 𝐴 ∈ ℝ𝑑1×𝑘, 𝐵 ∈ ℝ𝑘×𝑑2 • 𝐴はランダムに生成し、学習中は固定する -> 𝐵 だけ学習すれば良くなり、転送量は 𝑘 𝑑1 • ランダムマスク • Δ𝑊と同じサイズの適当なスパースパターンを生成し、 そのnon-zero成分のみ学習・転送するようにする 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 41 Δ𝑊 𝐴 𝐵 ランダム&固定 Δ𝑊
  42. 効率的な通信|Probabilistic Quantization [Konečný+, 2016] • Δ𝑤 = Δ𝑤1 , …

    , Δ𝑤𝑑1×𝑑2 = 𝑣𝑒𝑐 Δ𝑊 として、Δ𝑤𝑚𝑎𝑥 = max 𝑗 Δ𝑤𝑗 , Δ𝑤𝑚𝑖𝑛 = min 𝑗 Δ𝑤𝑗 とする • このとき、Δ𝑤の代わりに以下のように二値化された Δ෥ 𝑤 を送る: ෪ Δ𝑤𝑗 = Δ𝑤𝑚𝑎𝑥 with prob Δ𝑤𝑗 − Δ𝑤𝑚𝑖𝑛 Δ𝑤𝑚𝑎𝑥 − Δ𝑤𝑚𝑖𝑛 Δ𝑤𝑚𝑖𝑛 with prob Δ𝑤𝑚𝑎𝑥 − Δ𝑤𝑗 Δ𝑤𝑚𝑎𝑥 − Δ𝑤𝑚𝑖𝑛 • ෪ Δ𝑤𝑗 はΔ𝑤𝑗 の不偏推定量 • E ෪ Δ𝑤𝑗 = Δ𝑤𝑚𝑎𝑥 ⋅ Δ𝑤𝑗−Δ𝑤𝑚𝑖𝑛 Δ𝑤𝑚𝑎𝑥−Δ𝑤𝑚𝑖𝑛 + Δ𝑤𝑚𝑖𝑛 ⋅ Δ𝑤𝑚𝑎𝑥−Δ𝑤𝑗 Δ𝑤𝑚𝑎𝑥−Δ𝑤𝑚𝑖𝑛 = Δ𝑤𝑗 • このように入力の不偏推定量を与える量子化処理を𝑄 ⋅ とおく(続く) 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 42 ※ モデルパラメタをベクトルに並べたもの
  43. 効率的な通信|Control variableベースの手法との融合 • (再掲)Scaffoldの更新式 𝑤𝑖 ← 𝑤𝑖 − 𝜂 ∇𝑓𝑖

    𝑤𝑖 − 𝑐𝑖 + 𝑐 ; 𝑐𝑖 ← 𝑐𝑖 − 𝑐 + 1 𝐾𝜂 𝑤𝑡 − 𝑤𝑖 ; 𝑐 ← 𝑆 𝑁 𝑐𝑖 • Federated averaging with compression and local gradient tracking (FedCOMGATE) [Haddadpour+, 2020] • クライアント 1. 𝑑𝑖 = ∇𝑓𝑖 𝑤𝑖 − 𝛿𝑖 (Control variable 𝛿𝑖 による勾配方向の補正) 2. 𝑤𝑖 ← 𝑤𝑖 − 𝜂𝑑𝑖 (クライアントモデルの更新) 3. Δ𝑖 = 𝑄 𝑤𝑡−𝑤𝑖 𝜂 (勾配の量子化) -> サーバへ共有 4. 𝛿𝑖 ← 𝛿𝑖 + 1 𝜏 Δ𝑖 − Δ ( Control variableの更新) • サーバ 1. 𝛥 = 1 𝑚 σ𝑖 𝛥𝑖 (差分の統合) -> クライアントへ共有 2. 𝑤𝑡+1 = 𝑤𝑡 − 𝜂𝛾Δ (グローバルモデルの更新)-> クライアントへ共有 • 参考:Scaffnewの圧縮バージョンもある [Condat+, 2022] 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 43 ▶ control variableを使ったnon-iid条件下での高速な学習 x モデルの確率的な量子化による個々の通信の効率化 ▶ control variable = 全クライアントの平均的なずれを考慮した補正項 ▶ 近接写像の計算を確率的にすることで、通信の回数をさらに減らせる
  44. 効率的な通信|勾配圧縮 [Lin+, 2018] • (再掲)ランダムマスク [Konečný+, 2016] • クライアントの更新差分Δ𝑊と同じサイズの適当なスパースパターンを生成し、そのnon-zero成分のみ学習・転送するようにする •

    Gradient sparsification:更新差分Δ𝑤のうち、適当な閾値を超える要素のみを転送 • ☺ 送信量が大幅に減る |  送られなかった勾配の分の情報が欠落 • Gradient accumulation: 複数ミニバッチにわたって勾配を蓄積し、閾値を超えたら転送 • グローバルモデルの更新 𝑤𝑡+1 = 𝑤𝑡 − 𝜂 1 𝑁𝑏 σ𝑘=1 𝑁 σ𝑥∈𝐵𝑘,𝑡 Δ𝑤𝑡 • 𝑤 𝑡+𝑇 (𝑖) = 𝑤 𝑡 (𝑖) − 𝜂𝑇 1 𝑁𝑏𝑇 σ𝑘=1 𝑁 σ𝜏=0 𝑇−1 σ𝑥∈𝐵𝑘,𝑡+𝜏 Δ𝑤 𝑡+𝜏 (𝑖) • ☺ 最終的にすべての勾配情報を転送できる •  実質的に大きな(サイズ: NbT)ミニバッチで学習していることと等価であり、モデルが急激に変化してしまう 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 44 𝜏 = 0 𝜏 = 1 𝜏 = 2 ▶ k番目のクライアント(が引いたミニバッチ 𝐵𝑘,𝑡 )から得られる勾配 ▶ T個のミニバッチについての勾配の蓄積 -> これが閾値を超えたらサーバに転送 i番目の要素に着目
  45. 効率的な通信|勾配圧縮 [Lin+, 2018] • Momentum correction • 直前の勾配を考慮することで、gradient accumulationによる急激なモデル変化を抑制 𝑢𝑡

    = 𝑤𝑡+1 − 𝑤𝑡 , ∇𝑘,𝑡 = 1 𝑁𝑏 σ𝑥∈𝐵𝑘,𝑡 Δ𝑤𝑡 とすると、𝑢𝑡 = 𝑚𝑢𝑡−1 + σ𝑘=1 𝑁 ∇𝑘,𝑡 • 上式をGradient accumulationと組み合わせると: 𝑤 𝑡+𝑇 (𝑖) = 𝑤 𝑡 (𝑖) − 𝜂 … + σ𝜏 𝑇−2 𝑚𝜏 ∇ 𝑘,𝑡+1 𝑖 + σ𝜏 𝑇−1 𝑚𝜏 ∇ 𝑘,𝑡 𝑖 • Momentum factor masking • 閾値を超えてサーバ側に転送された成分は、他クライアントのモデルと統合されて大きく値が変わる • -> 転送後はいったんmomentum をリセットすることで、他クライアントの情報をちゃんと考慮する 𝑤𝑡 𝑤𝑡+𝑇 w/ momentum w/o momentum 𝑤𝑡+𝑇 11/23/2022 45 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. ※ グローバルモデルの変化量
  46. 効率的な通信|クライアント選択 [Nishio & Yonetani, 2019] • 通常の連合学習: クライアントをランダムに選択 • 

    計算・通信が遅いクライアントが学習を律速 • ある決められた時間内で学習・モデル転送が可能な クライアントを優先的に選択 • 組合せ最適化の問題になる 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 46 クライアント集合Sの要素数を最大化 制限時間 クライアント 選択時間 モデル配布時間 学習&転送 時間 統合時間
  47. 効率的な通信|クライアント選択 [Nishio & Yonetani, 2019] • i番目にID: 𝑘𝑖 のクライアントを選択した場合に必要な学習・転送時間の推定 •

    各クライアントについて、個別の学習時間 𝑡 𝑘𝑗 𝑈𝑝𝑑𝑎𝑡𝑒 と転送時間 𝑡 𝑘𝑗 𝑈𝑝𝑙𝑜𝑎𝑑 が得られているとする • Θ𝑖 = 𝑇 𝑖 𝑈𝑝𝑑𝑎𝑡𝑒 + 𝑇 𝑖 𝑈𝑝𝑙𝑜𝑎𝑑 if 𝑖 > 0 otherwise 0 • 𝑇 𝑖 𝑈𝑝𝑑𝑎𝑡𝑒 = σ 𝑗=1 𝑖 max 0, 𝑡 𝑘𝑗 𝑈𝑝𝑑𝑎𝑡𝑒 − Θ𝑗−1 • 𝑇 𝑖 𝑈𝑝𝑙𝑜𝑎𝑑 = σ 𝑗=1 𝑖 𝑡 𝑘𝑗 𝑈𝑝𝑙𝑜𝑎𝑑 ▶ モデルの学習はその他クライアントの学習・通信と並列可能 学習で余分にかかる時間 𝑡 𝑘𝑗 𝑈𝑝𝑑𝑎𝑡𝑒 − Θ𝑗−1 のみ計上される ▶ モデルの転送は共有の通信資源を利用するため並列不可 Update Upload Update Upload Update Upload Θ1 Θ2 Θ3 Update/Uploadは並列可能 Upload は並列不可 Updateに余分にかかる時間を計上 制限時間に達するまでクライアントを追加 貪欲法でクライアント数を最大化可能 11/23/2022 47 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 通常のFedAvg FedCS: 提案手法
  48. 効率的な通信|最適クライアント選択 [Chen+, 2022] • ある確率[𝑝1 𝑡, … , 𝑝𝑁 𝑡

    ]に基づいてクライアント集合 𝑆𝑡 が選択されたとする • 連合学習の更新式: 𝑤𝑡+1 = 𝑤𝑡 − 𝜂𝐺𝑡 where 𝐺𝑡 = σ 𝑖∈𝑆𝑡 𝑠𝑖 𝑝𝑖 𝑡 ∇𝐹𝑖 𝑤𝑡 • ∇𝐹𝑖 𝑤𝑡 はノルムの小さい順番に並べられているとする。 • 勾配の分散: 𝔼 𝐺𝑡 − ∇𝐹 𝑤𝑡 2 = 𝔼 𝐺𝑡 − σ𝑖 𝑠𝑖 ∇𝐹𝑖 𝑤𝑡 2 + 𝔼 σ𝑖 𝑠𝑖 ∇𝐹𝑖 𝑤𝑡 − ∇𝐹 𝑤𝑡 2 • 右辺第一項のみクライアント選択に依存: 𝔼 𝐺𝑡 − σ𝑖 𝑠𝑖 ∇𝐹𝑖 𝑤𝑡 2 = 𝔼 σ𝑖 𝑠𝑖 2 1−𝑝𝑖 𝑡 𝑝𝑖 𝑡 ∇𝐹𝑖 𝑤𝑡 2 • 勾配の分散を最小化するためには: 𝑝𝑖 𝑡 = ൞ (𝑚 + 𝑙 − 𝑛) 𝑠𝑖 ∇𝐹𝑖 𝑤𝑡 σ 𝑗 𝑠𝑖 ∇𝐹 𝑗 𝑤𝑡 𝑠𝑖 ∇𝐹𝑖 𝑤𝑡 < 𝑠𝑙 ∇𝐹𝑙 𝑤𝑡 1 otherwise • 直観的には勾配のノルムが大きいクライアントほど高い確率で選択される 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 48 ▶ 𝑚 : 選択されたクライアント数 ▶ 𝑛 : 全クライアント数 ▶ 𝑙: 0 < 𝑚 + 𝑙 − 𝑛 < σ 𝑖 𝑙 𝑠𝑖∇𝐹𝑖 𝑤𝑡 𝑠𝑙∇𝐹𝑙 𝑤𝑡 を満たす最大の値
  49. 効率的な通信|Selection skew [Cho+, 2020] • Selection skew: クライアント選択における偏りの定量化 𝜌 𝑆

    𝜋, 𝑤 , 𝑤′ = 𝔼𝑆 𝜋,𝑤 1 𝑁 σ 𝑖∈𝑆 𝜋,𝑤 𝐹𝑖 𝑤′ − 𝐹𝑖 ∗ 𝐹 𝑤′ − σ 𝑖 𝑝𝑖 𝐹𝑖 ∗ ҧ 𝜌 = min 𝑤,𝑤′ 𝜌 𝑆 𝜋, 𝑤 , 𝑤′ ෤ 𝜌 = max 𝑤 𝜌 𝑆 𝜋, 𝑤 , argmin𝑤′ 𝐹 𝑤′ • このとき、 𝔼 𝐹 ഥ 𝑤 − 𝐹∗ ≤ 1 𝑇+𝛾 𝐴 ഥ 𝜌 + 𝐵 + 𝐿𝛾 𝑤0−𝑤∗ 2 2 + 𝐶 ෥ 𝜌 ഥ 𝜌 − 1 • つまり、最小のskew ҧ 𝜌 が大きいほど速く収束: 𝒪 1 𝑇 ഥ 𝜌 • Power-of-choice client selection • 𝐹𝑖 𝑤′ − 𝐹𝑖 ∗ が大きいほど ҧ 𝜌 も大きくなる→モデル更新時に損失の大きいクライアントを優先的に選択すればよい 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 49 ▶ Uniform で選ばれた場合のglobal/local objectiveの差 ▶ 選択戦略 𝜋で選ばれた場合のglobal/local objectiveの差 ▶ 選択戦略 𝜋で選ばれた場合の最小のskew ▶ 選択戦略 𝜋で選ばれた場合の最大のskew ▶ 勾配のノルムの大きいクライアントを選べばよい、という先の最適クライアント選択戦略と同じような結論に
  50. 効率的な通信|まとめ • サーバ・クライアント間のモデルのやりとりをどのように効率化するか • 勾配のスパース化|量子化|勾配の圧縮 • 特にモデルの量子化はcontrol variableベースの連合学習アルゴリズム(e.g., Scaffold, Scaffnew)に組み込める

    • 機械学習分野で良く扱われている印象 • 通信リソースを考慮したクライアント選択 • 通信分野で良く扱われている印象(今回は割愛) • クライアント選択の偏りが与える影響の理論的解析も進んでいる 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 50
  51. セキュリティ&プライバシー • Non-iidデータからの学習 • クライアントごとにデータの分布が異なる状況でどのように連合学習するか • 効率的な通信 • サーバ・クライアント間のモデルのやりとりをどのように効率化するか •

    セキュリティ&プライバシー • 連合学習においてクライアントのプライバシーがどのように侵害・保護されるか • 蒸留ベース連合学習 • 蒸留を用いたクライアントモデルの統合 • 様々なタスクの連合学習化 • 教師有り学習以外のタスクにおける連合学習の適用 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 51
  52. セキュリティ&プライバシー|連合学習はデータを保護できている? • 生データを共有しなくてよいというメリットはある • One of the primary attractions of

    the federated learning model is that it can provide a level of privacy to participating users through data minimization: the raw user data never leaves the device, and only updates to models (e.g., gradient updates) are sent to the central server. These model updates are more focused on the learning task at hand than is the raw data (i.e., they contain strictly no additional information about the user, and typically significantly less, compared to the raw data), and the individual updates only need to be held ephemerally by the server. [Kairouz+, 2021] • 一方で、厳密には連合学習=プライバシー保護された機械学習、ではない • クライアントごとのモデル更新にはプライベートな情報が含まれる • 様々なattack/defenseが研究されている 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 52
  53. セキュリティ&プライバシー|攻撃の分類 [Lyu+, 2020] • 攻撃者の分類 • 連合学習の参加者(クライアント、サーバ) |連合学習におけるサーバ・クライアント通信の傍受者|最終的なユーザ • Semi-honest

    (連合学習のプロトコルの中で受動的に攻撃)|Malicious(連合学習のプロトコルを外れて積極的に攻撃) • Privacy attack: 他クライアントの生データに含まれるプライベートな情報を暴こうとする • Class representative inference attack: クライアントデータに含まれる代表的なサンプルを再構成する [Hitaj+, 2017] • Membership inference attack: ある特定のサンプルがクライアントデータに含まれるかどうかを推測する [Nasr+, 2019] • Property inference attack: 学習タスクと関係ない情報を推論する(gender recognitionの学習時にrace recognitionしようとするなど) [Melis+, 2019] • Poisoning attack • サーバに送る勾配情報を改ざんするなどして、グローバルモデルの学習を失敗させる 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 53
  54. セキュリティ&プライバシー|データリークの例 Deep Leakage from Gradients [Zhu+, 2019] • ミニバッチに対する勾配から元の画像を再構成 •

    ※連合学習では一つの複数ミニバッチ&複数エポックの更新を行うので、そのまま適用はできない • とはいえ、勾配にも元の生データの情報が含まれていることを示唆している 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 54
  55. セキュリティ&プライバシー|連合学習とGDPR [Truong+ 2021] • EU General Data Protection Regulation (GDPR)

    • EU/UK 居住者を対象とした、個人データ保護のための法令 • 連合学習とGDPR • 連合学習はクライアントの個人データそのものを収集しないものの、 モデルの勾配から個人データを暴く攻撃の可能性は存在 • モデルパラメタは個人データとして扱われる [Truong+, 2021] • Data subject(=サーバ)はData subject(=クライアント)に対して、 「自身の提供したデータがセキュリティ&プライバシー保護の観点で どのように処理されたか」という情報を提供できる必要がある 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 55 https://arxiv.org/pdf/2011.05411.pdf
  56. セキュリティ&プライバシー|典型的なプライバシー保護処理 • Secure aggregation • クライアントからのモデル更新を加算する際、サーバがその加算結果のみを知ることができる(=個別のモデル更新を隠す)処理 • Secure shuffling •

    サーバがクライアント群からモデル更新を受け取る際、クライアントとモデル更新の対応関係を秘匿する処理 • Private information retrieval • クライアントがサーバからモデル等を受け取る際、クライアントがサーバに何を要求したかを秘匿する処理 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 56
  57. セキュリティ&プライバシー|Secure aggregationのための技術 • Additive masking e.g., [Bonawitz+, 2016] • クライアントiはクライアントjに対してランダムベクトル

    𝑠𝑖,𝑗 ∈ 0, 𝑅 𝑘を共有 • クライアントiはサーバに対してモデル更新𝑤𝑖 の代わりに𝑤𝑖 ′ = 𝑤𝑖 + σ𝑗 𝑠𝑖,𝑗 − 𝑠𝑗,𝑖 mod 𝑅 を共有 • サーバはσ𝑖 𝑤𝑖 ′ = σ𝑖 𝑤𝑖 + σ𝑖 σ𝑗 𝑠𝑖,𝑗 − 𝑠𝑗,𝑖 mod 𝑅 = σ𝑖 𝑤𝑖 + σ𝑖 σ𝑗 𝑠𝑖,𝑗 − σ𝑖 σ𝑗 𝑠𝑗,𝑖 = σ𝑖 𝑤𝑖 • 準同型暗号 • 暗号化された状態で加算・積算が可能な準同型暗号を活用する • クライアントごとのモデルを暗号化してサーバと共有 & サーバは複数モデルの加算結果を復号 [Pathak+, 2010] [Yonetani+, 2017] • 秘密鍵を誰が持つのかが自明ではない、クライアント同士が結託してはいけない、など課題は多い [Kairouz+, 2021] 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 57
  58. セキュリティ&プライバシー| 差分プライバシー • 𝜀, 𝛿 - differential privacy: あるアルゴリズム𝐴について、𝑃 𝐴

    𝐷 ≤ 𝑒𝜀𝑃 𝐴 𝐷′ + 𝛿 • ただし、 データセット𝐷′はデータセット𝐷から単一のサンプルを追加or削除したもの • アルゴリズムの中でデータの処理結果にノイズを付加することで達成(e.g., ガウシアンメカニズム) • 連合学習と差分プライバシー e.g. [Geyer+, 2017] • あるクライアントが連合学習に参加したかどうかを差分プライバシーで保護 • Δ𝑤𝑖 ′ = Δ𝑤𝑖 𝑡 max 1, Δ𝑤𝑖 𝑡 2 𝑆 ▶ クライアントごとのモデル更新をSでクリップ • 𝑤𝑡+1 = 𝑤𝑡 + 1 𝑁 σ𝑖 𝑤𝑖 ′ + 𝑁 0, 𝜎2𝑆2 ▶ 統合結果に分散𝜎2𝑆2 のガウシアンノイズを付与 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 58
  59. セキュリティ&プライバシー|まとめ • 連合学習においてクライアントのプライバシーがどのように侵害・保護されるか • 「連合学習=完璧にデータを保護できている」ではない • 勾配からの学習データ復元など、さまざまな攻撃が研究されている • Secure aggregation:

    モデルの統合結果から、クライアント個別のモデル更新を暴けないようにしたい • マルチパーティ秘匿計算、準同型暗号、差分プライバシーなどいくつかの典型的なアプローチ • 機械学習分野では差分プライバシーの利用が盛ん 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 59
  60. 蒸留ベース連合学習 • Non-iidデータからの学習 • クライアントごとにデータの分布が異なる状況でどのように連合学習するか • 効率的な通信 • サーバ・クライアント間のモデルのやりとりをどのように効率化するか •

    セキュリティ&プライバシー • 連合学習においてクライアントのプライバシーがどのように侵害・保護されるか • 蒸留ベース連合学習 • 蒸留を用いたクライアントモデルの統合 • 様々なタスクの連合学習化 • 教師有り学習以外のタスクにおける連合学習の適用 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 60
  61. 蒸留ベース連合学習|連合学習と蒸留 • 蒸留 [Hinton+, 2015]: 学習済みのteacher networkから別のstudent networkへ知識転移する手法 • 蒸留用のデータ(ラベル有/無両方あり得る)に対して、teacher

    networkの出力を真似るようにstudent networkを学習する • 連合学習と蒸留: クライアントが学習したモデル(= teacher network)をグローバルモデル(= student network)へ知識転移 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 61 近づける 🐱 🐶 🐴 🐱 🐶 🐴 Teacher network(学習済) Student network(未学習) 🐱 🐶 🐴 Client updates(学習済) Global model(未学習) 🐱🐶🐴 🐱🐶🐴 🐱🐶🐴 🐱 🐶 🐴
  62. 蒸留ベース連合学習| Ensemble distillation [Lin+, 2020] • (再掲)連合学習の目的関数 min 𝑤 𝐹

    𝑤 = 𝔼𝑖 𝐹𝑖 𝑤 = 𝔼𝑖 𝔼𝑥𝑖∼𝐷𝑖 𝑓 𝑤i ; 𝑥𝑖 • FedDF [Lin+, 2020]の更新式 𝑤𝑡+1 ← 𝑤𝑡 − 𝜂 𝜕KL softmax 1 𝑁 σ𝑖 𝑓 𝑤𝑖 𝑡; 𝑥 , softmax 𝑓 𝑤𝑡; 𝑥 𝜕𝑤𝑡 • 蒸留のためのデータ(上式の𝑥)としてはラベルなしデータを別途用意 • FedAvg系列と異なり、クライアントごとに異なるアーキテクチャのモデルを学習してもよい 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 62 クライアントが更新したモデル サーバが学習するモデル
  63. 蒸留ベース連合学習|発展形 • FedKD [Wu+, 2021] • クライアント側で蒸留を行う(c.f. FedDFはサーバ側で蒸留) • クライアントからの更新を行列分解することでさらに圧縮

    • FedGEN [Zhu+, 2021] • 蒸留の際に利用するデータ(特徴量)を生成するgeneratorも学習する • サーバはクライアントの学習したgeneratorを統合し、蒸留用のデータを生成 • 参考: Non-iidデータからのgenerator 学習も色々方法がある(後述) 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 63 https://arxiv.org/pdf/2108.13323.pdf https://arxiv.org/pdf/2105.10056.pdf
  64. 蒸留ベース連合学習|ワンショットでの学習 ワンショットでの学習:クライアントからサーバへのモデル共有は一度のみ • PATE [Papernot+, 2018]: クライアントモデル(teacher)からの出力の統合に差分プライバシーを導入 • DLAD [Ma+,

    2020]: クライアントが学習するモデルアーキテクチャ・データ分布の両方が異なる状況に対応 • MULTIPOLAR [Barekatain+, 2020] / TRANS-AM [Tanaka+, 2021]: 転移強化学習・ロボット学習への応用 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 64 https://arxiv.org/pdf/1802.08908.pdf
  65. 蒸留ベース連合学習|転移強化学習への派生 [Barekatain+, 2020] • ダイナミクスが異なる環境間での転移強化学習 • 異なる部品を把持するロボットアーム、異なる地形を踏破する自律移動ロボットなど • 既存研究では、転移元のダイナミクスが既知 or

    サンプルが大量に必要 • 未知の転移元環境から「方策モデルのみ」が与えられる状況での転移強化学習を提案 学習済方策のみを 共有 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 65
  66. 蒸留ベース連合学習|転移強化学習への派生 [Barekatain+, 2020] • 転移元の方策から得られる行動を「転移先での累積報酬を最大化するように」適応的に統合 • 統合のみで対応できない部分のみneural netが学習(residual policy learningなどと呼ばれる)

    State 𝑠𝑡 Auxiliary network for predicting residuals: 𝐹aux 𝑠𝑡 ; 𝜃aux 𝜃aux Continuous action space: 𝜋target ≡ 𝒩 𝐹 𝑠𝑡 ; 𝐿, 𝜃agg , 𝜃aux , Σ Discrete action space: 𝜋target ≡ 𝑆𝑜𝑓𝑡𝑀𝑎𝑥 𝐹 𝑠𝑡 ; 𝐿, 𝜃agg , 𝜃aux 𝜇1 𝜇2 𝜇𝐾 … Source policies 𝐿 = 𝜇1 , … , 𝜇𝐾 … ⊙ 𝐴𝑡 … 𝜃agg Adaptive aggregation of source policies: 𝐹agg 𝑠𝑡 ; 𝐿, 𝜃agg 𝐹 𝑠𝑡 ; 𝐿, 𝜃agg , 𝜃aux + 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 66
  67. 蒸留ベース連合学習|転移強化学習への派生 [Barekatain+, 2020] MULTIPOLAR MLP MULTIPOLAR MLP MULTIPOLAR | RLP

    (learning with single source) | MLP trained from scratch ▶ コードを公開中 https://github.com/omron-sinicx/multipolar 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 67
  68. 蒸留ベース連合学習|まとめ • 蒸留を用いたクライアントモデルの統合 • クライアントごとに学習するモデルのアーキテクチャが違っても良いのが(個人的には)一番の利点に見える • 実用上、すべてのクライアントが必ずしも同じ計算資源を持っているとは限らないため • 原理的には、たとえばあるクライアントはNN、別のクライアントはSVM、みたいな状況も扱うことができる •

    蒸留のためのデータをどのように用意するかは自明ではない • FedGENではデータの生成モデルを別途学習していたが、これはクライアントからデータを共有しているのと大差なくなるのでは 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 68
  69. 様々なタスクの連合学習化 • Non-iidデータからの学習 • クライアントごとにデータの分布が異なる状況でどのように連合学習するか • 効率的な通信 • サーバ・クライアント間のモデルのやりとりをどのように効率化するか •

    セキュリティ&プライバシー • 連合学習においてクライアントのプライバシーがどのように侵害・保護されるか • 蒸留ベース連合学習 • 蒸留を用いたクライアントモデルの統合 • 様々なタスクの連合学習化 • 教師有り学習以外のタスクにおける連合学習の適用 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 69
  70. 様々なタスクの連合学習化|ドメイン適応 • 連合学習とドメイン適応 • クライアント=ドメインと考えると、クライアントデータのnon-iidness = ドメインシフト • クライアントが複数=マルチソースドメイン適応 [Zhao+,

    2020] • 連合学習の場合、各ソースドメインのデータそのものにアクセスできない • Federated adversarial domain adaptation (FADA) [Peng+, 2019] 1. クライアントごとにソース・ターゲットドメインで 不変な特徴生成器(𝐺𝑖 )を敵対的学習 [Tzeng+, 2017] 2. Feature disentangler [Liu+, 2018]でソース間(クライアント間)で ドメイン不変な特徴表現(𝐷𝑖 )を学習 3. クライアントごとの特徴生成器(𝐺𝑖 )を統合して ターゲットドメインの特徴生成器(𝐺𝑡 )にする 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 70 https://arxiv.org/pdf/1911.02054.pdf
  71. 様々なタスクの連合学習化|継続学習 • 連合学習と継続学習 • 各クライアントがタスクストリームからモデルを継続学習している状況を想定 • クライアント間でモデルパラメタをやりとりしつつ、それぞれのモデルの性能を向上させたい • (最終的な成果がクライアントごとのモデルなので、問題設定としてはパーソナライズド連合学習に近い) •

    Federated Weighted Inter-client Transfer (FedWeIT) [Yoon+, 2021] • 𝑤𝑐 𝑡 = 𝐵𝑐 𝑡 ⊙ 𝑚𝑐 𝑡 + 𝐴𝑐 𝑡 + σ 𝑖∈𝐶∖𝑐 σ𝑗<𝑡 𝛼𝑖,𝑗 𝑡 𝐴 𝑖 𝑗 • 𝐵𝑐 𝑡: c番目のクライアントのベースパラメタ • 連合学習で平均統合される -> 𝜃𝐺 • 𝑚𝑐 𝑡: ベースパラメタをタスク𝑡に適応するためのマスク • 𝐴𝑐 𝑡 : タスク𝑡 特有のパラメタ • クライアント間で共有される • 線形結合のためのパラメタ 𝛼𝑖,𝑗 𝑡 は クライアント側で最適化 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 71 https://arxiv.org/pdf/2003.03196.pdf
  72. 様々なタスクの連合学習化|強化学習 • 連合学習と強化学習 • データのnon-iidness = クライアントごとに環境のダイナミクス(MDPの状態遷移関数)が異なる • すべての環境で同様に良く動く単一の方策を学習できるか?(連合学習) •

    個別の環境でより良く動く方策を学習できるか?(パーソナライズド連合学習) • ただし、各環境とのインタラクションで得られるサンプルを共有することは不可 • c.f. 転移強化学習の問題としても良く出てくる [Taylor & Stone, 2009] [Chen+, 2018] [Barekatain+, 2020] [Tanaka+, 2021] • Qavg/PAvg [Jin+, 2022]: Q関数や方策関数を連合学習 • 状態遷移関数間の差: 𝜅 = max 𝑠,𝜋 σ𝑠′ σ𝑖 𝑃𝑖 𝜋 𝑠′ 𝑠 − 1 𝑛 σ𝑗 𝑃𝑗 𝜋 𝑠′ 𝑠 とすると、連合学習で学習された価値関数ത 𝑉𝜋 𝑠 は ത 𝑉𝜋 𝑠 − 𝑉𝐼 𝜋 𝑠 < 𝛾𝜅 1 − 𝛾 2 • ただし、 𝑉𝐼 𝜋 𝑠 は 𝑃 𝑠′ 𝑠 = 1 𝑛 σ𝑗 𝑃𝑗 𝑠′ 𝑠 の状態遷移を持つ環境から学習された価値関数 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 72
  73. 様々なタスクの連合学習化|GAN • 連合学習とGAN • 各クライアントは自身のデータを用いてdiscriminatorを学習 • クライアントごとのdiscriminatorを何らかの形で統合し、それに対してgeneratorを学習 • 蒸留ベースの連合学習では重要な話 •

    Multi-discriminator GAN (MD-GAN) [Hardy+, 2019] • クライアントごとのdiscriminatorの勾配を平均 • Generative multi-adversarial network (GMAN) [Durungkar+, 2017] • 損失の大きい(騙されていない)discriminatorを優先 • Non-iidのデータから、共通するモードを生成するgeneratorを学習できる • Forgiver-first update (F2U) [Yonetani+, 2019] • 損失の小さい(騙されている)discriminatorを優先 • Non-iidなデータからすべてのモードを生成するgeneratorを学習可能(global optimumについての証明あり) 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 73 https://arxiv.org/pdf/1905.09684.pdf
  74. 様々なタスクの連合学習化|半教師有り学習 • 連合学習と半教師有り学習 • Labels-at-client: 各クライアントがラベル付き・ ラベル無データの両方を保持 • Labels-at-server: サーバのみがラベル付きデータを持っている。

    クライアントのデータはすべてラベル無し • Federated Matching (FedMatch) [Jeong+, 2020] • Inter-client consistency lossの導入: 1 𝐻 σ𝑗=1 𝐻 KL 𝑓𝑗 ∗ 𝑦 𝑥 , 𝑓𝑖 𝑦 𝑥 where 𝑓𝑖 𝑦 𝑥 : 学習中のクライアント、 𝑓 𝑗 ∗ 𝑦 𝑥 : 学習中のクライアントとの類似性に基づいてサーバが選んだ別のクライアント • モデルのパラメタ𝜃 をラベル付きデータから教師有り学習されるパラメタ𝜎とラベル無データから学習されるパラメタ𝜓の和𝜃 = 𝜎 + 𝜓で表す • 𝜎は通常の教師有り学習で学習、𝜓は上記inter-client consistency lossに加えて、 𝜎 との差 𝜎 − 𝜓 2 が小さくなるように学習 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 74 https://arxiv.org/pdf/2006.12097.pdf
  75. 様々なタスクの連合学習化|自己教師有り学習 • 連合学習と自己教師有り学習 • ラベル無しのデータから表現学習したい • たとえば SimCLR [Chen+, 2020]

    やMoCo [He+, 2020] といった対照学習の仕組みを連合学習で実現できるか? • Decentralized Self-supervised learning (Dec-SSL) [Wang+, 2022] • 目的関数 min 𝑤 σ𝑘 |𝐷𝑘| 𝐷 𝐿𝑘 𝑤 where 𝐿𝑘 𝑤 = −𝔼𝑥𝑘,𝑖∼𝐷𝑘 𝑤 𝑥𝑘,𝑖 + 𝜉𝑘,𝑖 ⊤ 𝑤 𝑥𝑘,𝑖 + 𝜉𝑘,𝑖 ′ + 1 2 𝑤⊤𝑤 𝐹 2 • ここで学習された埋め込み関数𝑓 𝑤 𝑥 = 𝑤𝑥 の部分空間𝑆について、representability vector 𝑟 = 𝑟1 , … , 𝑟𝑑 を考える • ただし、 𝑟𝑖 = σ𝑗 𝑒𝑖 , 𝑣𝑗 2 は元の基底 𝑒𝑖 の埋め込みのノルムの二乗 • FedAvgで学習された埋め込み 𝑤 について、1 − 𝒪 𝑑−4 5 ≤ 𝑟𝑖 ≤ 1 が成立 • つまり、クライアントデータがnon-iidであっても、比較的 uniformな特徴空間が学習できる 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 75 セグメンテーションタスクで centralizedの場合と同等の性能 https://arxiv.org/pdf/2002.05709.pdf
  76. 様々なタスクの連合学習化|まとめ • 教師有り学習以外のタスクにおける連合学習の適用 • ドメイン適応や継続学習は問題設定の自然な拡張に見える • 特にドメイン適応はコンピュータビジョン分野等で活発に研究されており、連合学習への技術輸入を期待 • 実用上は半教師有り・自己教師有りは有望な方向性 •

    「各クライアントはラベル付きデータを保持」これは実用上それなりな仮定 • 特に半教師有り学習で「サーバのみがラベル付きデータを持っている」という問題設定は魅力的 • 強化学習も面白い応用方面 • 転移強化学習やメタ強化学習との接点が明らかになるか • オフライン強化学習との相性も良さそうに見える 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 76
  77. まとめ • Non-iidデータからの学習 • クライアントごとにデータの分布が異なる状況でどのように連合学習するか • 効率的な通信 • サーバ・クライアント間のモデルのやりとりをどのように効率化するか •

    セキュリティ&プライバシー • 連合学習においてクライアントのプライバシーがどのように侵害・保護されるか • 蒸留ベース連合学習 • 蒸留を用いたクライアントモデルの統合 • 様々なタスクの連合学習化 • 教師有り学習以外のタスクにおける連合学習の適用 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 77
  78. まとめ|関連国際会議 • 機械学習分野ではかなりポピュラーなトピックになりつつある • たとえば ICLR 2022では95/3,407件、 ICLR 2023では 176/4,966件の投稿が連合学習関連

    (タイトルに”federated”を含む) • キーワードランキングでも上位 • 通信分野でも相当流行っている • IEEE International Conference on Communications (ICC) • IEEE Conference and Exhibition on Global Telecommunications (GLOBECOM) • ACM SIGCOMM • [Nishio&Yonetani, 2019] はICCのpopular documentsで発表時~2022/11まで常に1位をキープ • コンピュータビジョン分野(CVPR, ICCV, ECCV etc.)でもよく査読で回ってくるようになった 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 78 https://github.com/EdisonLeeeee/ICLR2023-OpenReviewData
  79. まとめ|連合学習のためのデータ・コード資源 • LEAF [Caldas+, 2019] • 人工データ、画像、言語データ • データセット→クライアントデータへの分割が実装済 •

    FEMNIST: 3,550 users, 226.83 samples / user • Reddit: 1,660,820 users, 34.07 samples / user • Flower [Beutel+, 2020] • 連合学習のためのフレームワーク • 複数クライアントとのやりとりをRayベースで実装 • 様々なDLFWをサポート(PyTorch, TensorFlow, JAX, … ) 11/23/2022 IBIS2022 チュートリアル | (c) 2022 OMRON SINIC X. All Rights Reserved. 79