連合学習とは
Federated Learning / フェデレーテッドラーニング
データを1か所に集めず、端末や組織ごとの学習結果だけを集約して共有モデルを作る分散学習方式
ひとことで言うと
個人データをサーバーへ送らず、各スマホや各病院の中で学習した「学習の差分」だけを持ち寄ってAIを賢くする方法。
概要
連合学習とは、データを1か所に集めず、端末や組織ごとにローカルで学習した結果(重みの更新分)だけを集約して共有モデルを作る分散学習の方式を指す。 生データが端末や組織の外へ出ないため、プライバシーや規制の制約でデータを集約できない場合でも、複数拠点のデータを活かした学習ができる。 スマートフォンの入力予測の改善や、医療機関をまたぐモデル学習などで使われている。 通信コスト、拠点間のデータ分布の偏り、更新情報からの情報漏えいへの対策が技術的な課題になる。
歴史
2016年にGoogleの研究者ら(McMahanら)が提唱し、代表的なアルゴリズムFedAvgを発表した。
アーキテクチャ
中央のサーバーが初期モデルを各クライアント(端末や組織)へ配布し、各クライアントは手元のデータのみを使ってローカルにモデルを更新する。サーバーは各クライアントから届いた更新分(勾配や重みの差分)を集約して共有モデルへ反映し、これを複数ラウンド繰り返す。代表的な集約アルゴリズムのFedAvgは、各クライアントの更新をデータ数で重み付けして平均する。
ワークフロー
サーバーが現在のモデルを各クライアントに配布する → 各クライアントが自分のデータでローカル学習し重みの更新分を計算する → 更新分のみをサーバーへ送信する(生データは送信しない) → サーバーが更新分を集約し共有モデルを更新する → 次ラウンドへ繰り返す。
利点
- 生データを端末や組織の外へ出さずに学習できるため、プライバシー規制やデータガバナンスの制約がある領域でも複数拠点のデータを活用できる
- 各クライアントは通信量を抑えるため、生データでなく学習結果(勾配や重みの差分)のみを送信すればよい
- スマートフォンの入力予測など、エッジ側のデータを直接収集しにくい用途に適している
欠点
- クライアントごとにデータの分布が偏っている(Non-IID)場合、学習が不安定になったり収束が遅くなったりする
- 通信が不安定な端末や参加率のばらつきが、学習全体の進行を妨げることがある
- 更新分(勾配)からでも元データの情報が推定されうるため、差分プライバシー等の追加対策が必要になる場合がある
比較
- 機械学習 — 連合学習は、データを1か所に集約する通常の機械学習と異なり、データを分散させたまま学習する方式
関連用語
よくある質問
連合学習はプライバシーをどの程度守れる?
生データ自体は外部へ送信されないものの、送信される勾配や重みの差分から元データの情報を推定できる可能性が研究で示されており、差分プライバシー等の追加的な保護技術と組み合わせて使われることが多い。
どんな場面で使われる?
スマートフォンの予測変換の改善や、患者データを外部に出せない医療機関をまたぐモデル学習などで使われている。