「分散データからのディープ ネットワークの通信効率の高い学習」論文の読み方

4.29 天気: 曇り。
私は論文を読むことができないので、この古典的な FedAvg を見て見つけました。

AISTATS 2017.

《分散型データからのディープネットワークの通信効率的な学習》

1. はじめに

データの集中ストレージは非現実的で安全ではありません。したがって、データには分散ストレージが必要です。
主な貢献:
1) この論文では、分散データのトレーニングが重要な方向性であると定義しています。
2) 1)の設定で解決策を提案する。
3) 適切な実験手段を提案します。

フェデレーテッド ラーニング登場!著者は、この分散トレーニング方法を Federated learning と呼んでいます。

Federated learning の必要性:
1) 個人のモバイル デバイス上のデータを有効に利用できる。
2) モバイル デバイス上の大量のプライベート データを中央サーバーに転送しないでください (モデルの最適化のみ)。
3) ラベル データは、モバイル デバイス上のユーザー データから簡単かつ自然に派生できます。

フェデレーテッド ラーニングに伴う最適化問題 フェデレーテッド オプティマイゼーション:
クライアントがサーバーに送信するデータは更新情報のみであり、その他の情報 (匿名化後も) は依然として情報漏えいのリスクがあります。
1) 非 IID: 各クライアントのデータは大きく異なり、独立しておらず、同じように分散されています。
2) 不均衡: 一部のユーザーはより多くのデータを持っている可能性があります
。3) 大規模に分散: クライアントの数は、クライアントが持っているデータよりも多い場合があります。
4) 限られた通信: 通信にはコストがかかり、クライアントはオフラインになることさえあります。

Federated learning の最適化プロセスの説明:
固定データを持つクライアントがあり、各クライアントが固定ローカル データセットを持っていると仮定します。各サイクルの開始時に、一定数のクライアントが選択されて最適化に参加します (効率化のため)。選択された各クライアントは、グローバル状態のローカル データに対してローカル計算を実行し、更新をサーバーにアップロードします。これらのサーバーは、これらの更新をグローバル状態にアップロードします。上記の手順を繰り返します。

連合学習の通信問題:
一般的なデータセンターの最適化の計算では、通信コストが非常に少なく、計算コストが高くなります。

しかし、フェデレーテッド最適化では、通信コストがコストの大部分を占め、通常は帯域幅によって制限されます。したがって、私たちの目標は、通信コストを削減するために追加の計算を追加できるようにすることです。計算を増やすには 2 つの方法があります。1
) 並列処理を増やします。各通信ラウンドに参加するクライアントの数を増やします。
2) 各クライアントの計算量を増やします。各クライアントは、勾配の更新に加えて、より複雑な計算を行います。

実験により、高速化の増加はクライアントの計算の増加によるものであることが証明されています。

二、FederatedAveraging アルゴリズム

アルゴリズムは次のように記述されますここに画像の説明を挿入

この設定での実験データは、フェデレーテッド ラーニングのデータ設定に違反していることが多く、
データは IID であり、大量に分散されていません。

非凸設定では?
パラメータ空間でパラメータの平均を取ると、悪い結果が得られる可能性があります。
ここに画像の説明を挿入
共有初期化の効果はより優れています。したがって、FedAvg のトレーニングでは、「共有開始モデルwt w_twtFedAvg の各ラウンドに使用されます。

3.実験

実験の基本設定:
実験タスク: 画像分類、言語モデリング タスク。
FedAvg の最適なハイパーパラメータを取得するために、最初にプロキシ データセットが使用されます。

画像分類:
データ タスク: MNIST 数字認識タスク。
テスト モデル: MLP、CNN。
データ分割方式:IID、Non-IID。
IID: データのシャッフル -> データを複数のクライアントに均等に分割します。
非 IID: デジタル タグでデータを並べ替える -> 同じサイズの複数のデータ ブロックに分割する -> 複数のクライアントに少数のデータ ブロックを与える (たとえば、200 クライアントの場合、各クライアントには 2 つのデータ ブロックがあります)。これは病的な(理不尽な)非IID分割法です。この除算を使用して、モデルのパフォーマンスがどの程度低下するかを確認します。

言語モデリング タスク:
データセット: ウィリアム シェイクスピアの全作品。
テスト モデル: LSTM。
カット方法:
非 IID: 各文字には少なくとも 2 つの文があります。これらの各キャラクターが話す文章を分割します (最初の 80% - 最後の 20%)。
IID: シャッフルを均等に分割。

並列処理の増加:
クライアント フラクションCCの変更C : トレーニングに参加するクライアントの数をラウンドごとに増やします。
ここに画像の説明を挿入
E と B を変更して走行速度を上げます。ここに画像の説明を挿入クライアントあたりの計算量の増加:
図 2 と表 2 を参照してください。表 2 の u は、各ラウンドでクライアントを更新する必要がある回数を表します。
BE を改善することで、通信コストを削減できるだけでなく、ドロップアウトと同様の正則化効果を生み出すことができます。

クライアントのデータセットを過度に最適化できますか?
CIFAR 実験:
大規模な LSTM 実験:

まとめ: データのプライバシーを確​​保する場合、モデルのパフォーマンスは維持され、通信コストは大幅に削減されます。

おすすめ

転載: blog.csdn.net/ptxx_p/article/details/124499696