連合学習ってなんですか？

## はじめに

- Apple Intelligenceは「[個人情報を収集せずに個人情報を認識できる](https://www.apple.com/jp/legal/privacy/data/ja/intelligence-engine/#:~:text=Apple%20Intelligence%E3%81%AF%E3%80%81Apple%E3%81%8C,%E3%81%AB%E8%A8%AD%E8%A8%88%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82)」と主張している
- この技術の背景には連合学習（Federated Learning）の概念がある

## 参考

https://chatpaper.com/chatpaper/ja/paper/40376

https://chatpaper.com/chatpaper/ja/paper/70620


## 従来の機械学習アプローチ
- 従来のアプローチでは、データは様々なソースから収集され中央サーバーに保存される
- 中央サーバー上でモデルがトレーニングされる
- このアプローチには複数の欠点がある：
  - データ（画像、メッセージ、動画など）は適切に暗号化されなければならない
  - 適切な暗号化を怠ると、セキュリティ侵害や不正アクセスの原因となる
  - 大量のデータ送信はコストがかかり時間を要する
  - データがサーバーにアップロードされると、ユーザーはデータに対する制御を失う可能性がある
- これらの課題を克服するため、Googleは2017年に連合学習を導入した

## 連合学習アプローチ
- 従来の学習アプローチとは対照的に、連合学習ではデータは分散化されている
- グローバル機械学習モデルは中央サーバーで初期化され、トレーニングプロセスに参加するクライアントに配布される
- クライアントは、ローカルデータと計算能力を持つコンピューティングデバイス（IoTデバイス、スマートフォン、医療機器など）
- トレーニング中、各クライアントはデータを共有せずに自身のローカルデータを使用して独自のローカルモデルをトレーニングする
- ローカルトレーニング完了後、クライアントはモデルパラメータを中央サーバーと共有する
- 中央サーバーは全クライアントからのパラメータを組み合わせてグローバルモデルを更新する
- 更新されたグローバルモデルはさらなるトレーニングや予測のためにクライアントに送り返される
- このプロセスはグローバルモデルが目標のパフォーマンスに達するまで繰り返される

### 従来のアプローチとの違い
- データは分散化されており、クライアントはデータを中央サーバーと共有する必要がなく、完全に制御できる
- データではなくモデル更新のみが共有される

| 比較項目 | 従来の機械学習アプローチ | 連合学習アプローチ |
|---------|--------------------------|-------------------|
| **データの保存場所** | 中央サーバーに集中保存 | クライアントデバイスに分散保存 |
| **トレーニング場所** | 中央サーバー上 | 各クライアントデバイス上（ローカルトレーニング） |
| **データ転送** | 生データを中央サーバーに送信 | モデルパラメータのみを中央サーバーに送信 |
| **データの所有権** | ユーザーはデータに対する制御を失う可能性 | ユーザーは自分のデータを完全に制御 |
| **プライバシー** | プライバシーリスクが高い | プライバシー保護が強化される |
| **通信コスト** | 大量データ転送により高コスト | パラメータのみの転送で低コスト |
| **セキュリティリスク** | データ漏洩のリスクが高い | 生データは共有されないためリスク低減 |
| **スケーラビリティ** | 中央サーバーの処理能力に依存 | 分散処理により高いスケーラビリティ |
| **モデル更新プロセス** | 全データで一度に更新 | クライアントからの更新を集約して段階的に更新 |
| **新知識の追加** | 比較的容易だが、全データの再学習が必要な場合も | 破滅的忘却の問題があり、FCILなどの対策が必要 |
| **適用分野の例** | 一般的な機械学習タスク | ヘルスケア、金融、モバイルデバイスなど個人データを扱う分野 |

### 連合学習システムの主要コンポーネント
- クライアント：ローカルデータと計算能力を持つコンピューティングデバイス
- 中央サーバー：全クライアントからのデータを活用して将来の結果を予測する
- アグリゲーター：中央サーバーとして機能し、個別の更新を秘密に保ちながら全クライアントからの更新を平均化する
- モデル更新：グローバルモデルが全クライアントの情報で更新された後、さらなるトレーニングや予測のためにクライアントに戻される

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348593/ae88b884-63fc-4eb3-82e2-7077121981b2.png)


## 連合クラス増分学習へのシフト
- 連合学習では、データが一連のクラスを持ち、全クライアント間で同じ分布に従うと仮定されることが多い
- しかし、この仮定は実世界のアプリケーションでは成り立たない
- 例えば自動運転モデルの場合：
  - モデルは定期的な更新が必要
  - 各クライアントが遭遇する障害物は時間とともに変化する可能性がある
  - 道路状況は季節ごとに変化する可能性がある
  - 新しい交通標識が導入される可能性がある
- 現在の連合学習アプローチでは、新しいクラスでグローバルモデルを更新すると「破滅的忘却」が発生する
  - 破滅的忘却：新しい知識が導入されたとき、モデルが古い知識を忘れる現象
- この問題に対処するため、連合クラス増分学習（FCIL）という新たなトレンドが出現
- FCILは連合学習とクラス増分学習の方法を組み合わせて破滅的忘却を克服し、統一モデルを作成する

https://claude.site/artifacts/77c40366-d664-4700-95e8-6b96441aa247

## 連合学習の未来の方向性と研究
### 人気のある連合学習アプローチ
- 連合平均化（FedAvg）：連合学習システムで開発された最初のアルゴリズム
  - クライアントがローカルトレーニングを完了すると、モデル更新が中央サーバーに送信される
  - FedAvgはこれらの更新を平均化して更新されたグローバルモデルを形成し、クライアントに再配布する
- 差分プライバシー付き連合学習（DP-FedAvg）：通信される更新にノイズを追加することでプライバシーの追加層を提供する
- 転移学習と同様に、連合転移学習（FTL）はローカルモデルが1つのドメインでトレーニングされ、別のドメインに適応することを可能にする

### 破滅的忘却の緩和方法
- 現在の研究は、過去の知識を維持しながら新しい知識でモデルを更新するための連合クラス増分学習にシフトしている
- 破滅的忘却を緩和するために、増分学習と同様に例示セットが作成される：
  - 例示セットは各クラスの最も代表的なサンプル（クラス平均に近いサンプル）で構成される
  - これらのサンプルは新しいクラスが導入されるたびにトレーニングデータに注入される
  - GLFCとFedEtは、クライアントが代表的なサンプルを保存できるようにする最近の例示ベースの方法
- 破滅的忘却を緩和するもう一つの方法は、データを保存せずにジェネレーターを使用して擬似サンプルを生成すること
  - AF-FCLとTARGETは古いタスクからサンプルを生成するためにジェネレーターを使用する

## まとめ
- 連合学習は従来のトレーニングアプローチとは異なり、データストレージとトレーニングを分散化することで、プライバシー保護AIの有望な解決策を提供する
- 従来の機械学習アプローチに対する利点により、ヘルスケア、金融、モバイルデバイスなどのさまざまな産業に適している