AI 101
フェデレーテッドラーニングとは?

フェデレーテッドラーニングとは?
伝統的なAIモデルのトレーニング方法は、モデルのトレーニングに使用されるデータをクラウドベースのコンピューティングプラットフォームを使用してサーバーに設定することです。ただし、過去 few 年間で、代替のモデルの作成方法が登場しました。フェデレーテッドラーニングと呼ばれるこの方法では、フェデレーテッドラーニングは、データをモデルにではなく、モデルをデータソースに持ってきます。フェデレーテッドラーニングは、複数の計算機器を分散システムに接続し、データを収集する個々のデバイスがモデルをトレーニングするのを支援します。
フェデレーテッドラーニングシステムでは、学習ネットワークの一部である各デバイスには、モデルの一部のコピーがあります。各デバイス/クライアントは、クライアントのローカルデータを使用してモデルの一部をトレーニングし、個々のモデルのパラメータ/重みをマスター デバイスまたはサーバーに送信し、グローバル モデルを更新します。このトレーニング プロセスは、望ましい精度が達成されるまで繰り返すことができます。簡単に言えば、フェデレーテッドラーニングの背後にある考え方は、トレーニング データがデバイス間またはパーティ間で送信されることはなく、モデルに関連する更新のみが送信されるということです。
フェデレーテッドラーニングは、3 つの異なるステップまたはフェーズに分けることができます。フェデレーテッドラーニングは、通常、中央サーバーでトレーニングされたベースラインとして機能するジェネリック モデルから始まります。最初のステップでは、このジェネリック モデルはクライアントに送信されます。これらのローカル コピーは、クライアント システムによって生成されたデータを使用してトレーニングされ、パフォーマンスを学習し、改善します。
2 番目のステップでは、クライアントはすべて、学習したモデルのパラメータを中央サーバーに送信します。これは、定期的に、設定されたスケジュールに従って行われます。
3 番目のステップでは、サーバーは受信したパラメータを集計します。パラメータを集計した後、中央モデルの更新と、もう一度クライアントとの共有が行われます。プロセスはその後繰り返されます。
モデルのコピーを各デバイスに持つことの利点は、ネットワークの待ち時間が減少または除去されることです。サーバーとデータを共有するためのコストも除去されます。フェデレーテッド ラーニング方法の他の利点としては、フェデレーテッド ラーニング モデルがプライバシーを保護し、デバイスのユーザーにパーソナライズされたモデル応答が提供されることがあります。
フェデレーテッド ラーニング モデルの例としては、レコメンデーション エンジン、不正検出モデル、医療モデルがあります。Netflix または Amazon で使用されているタイプのメディア レコメンデーション エンジンは、数千のユーザーから収集されたデータでトレーニングできます。クライアント デバイスは、それぞれ独自のモデルをトレーニングし、中央モデルは、個々のデータ ポイントが異なるユーザーに固有であるにもかかわらず、より優れた予測を行うことを学習します。同様に、銀行で使用される不正検出モデルは、多くのデバイスからのアクティビティ パターンでトレーニングできます。医療のフェデレーテッド ラーニング モデルでは、複数の病院が共同で、医療スキャンを介して潜在的な腫瘍を認識できる共通モデルをトレーニングできます。
フェデレーテッドラーニングの種類
フェデレーテッドラーニング スキーマは、通常、2 つの異なるクラスに分類されます。マルチ パーティ システムとシングル パーティ システムです。シングル パーティ フェデレーテッド ラーニング システムは、「シングル パーティ」と呼ばれます。なぜなら、学習ネットワーク内のすべてのクライアント デバイスのデータのキャプチャとフローを管理する責任があるのは、単一のエンティティだけだからです。クライアント デバイスに存在するモデルは、データ構造は同じですが、データ ポイントは通常、ユーザーとデバイスに固有であるため、データでトレーニングされます。
シングル パーティ システムとは対照的に、マルチ パーティ システムは、2 つ以上のエンティティによって管理されます。これらのエンティティは、共有モデルのトレーニングに利用可能なさまざまなデバイスとデータセットを使用して共同作業します。パラメータとデータ構造は、異なるエンティティに属するデバイス間で類似している場合がありますが、必ずしも同じである必要はありません。代わりに、モデルの入力を標準化するために、事前処理が実行されます。パラメータを集計するために、デバイスに固有のエンティティを使用する中立的なエンティティが使用される場合があります。
フェデレーテッドラーニングのフレームワーク
フェデレーテッドラーニングに使用される一般的なフレームワークとしては、Tensorflow Federated、Federated AI Technology Enabler (FATE)、PySyft などがあります。PySyft は、深層学習ライブラリ PyTorch に基づくオープンソースのフェデレーテッド ラーニング ライブラリです。PySyft は、サーバーとエージェント間で暗号化された計算を使用して、プライベートでセキュアな深層学習を保証することを目的としています。Tensorflow Federated は、Google の Tensorflow プラットフォームに基づく別のオープンソース フレームワークです。ユーザーが独自のアルゴリズムを作成できるだけでなく、Tensorflow Federated では、ユーザーが独自のモデルとデータで含まれているフェデレーテッド ラーニング アルゴリズムをシミュレートできます。最後に、FATE もオープンソース フレームワークであり、Webank AI によって設計されており、フェデレーテッド AI エコシステムにセキュアなコンピューティング フレームワークを提供することを目的としています。
フェデレーテッドラーニングの課題
フェデレーテッドラーニングはまだ比較的新しい分野であるため、いくつかの課題が残っています。エッジ デバイスのトレーニング機能、データ ラベリングと標準化、モデルの収束は、フェデレーテッド ラーニング アプローチの潜在的な障害です。
ローカル トレーニングの場合、エッジ デバイスの計算能力を考慮する必要があります。ほとんどのスマートフォン、タブレット、IoT 対応デバイスは、機械学習モデルをトレーニングできますが、これによりデバイスのパフォーマンスが低下します。モデル精度とデバイスのパフォーマンスのバランスを取る必要があります。
データのラベリングと標準化も、フェデレーテッド ラーニング システムが克服しなければならない課題です。教師あり学習モデルでは、明確かつ一貫してラベル付けされたトレーニング データが必要です。これは、システムの一部である多数のクライアント デバイスで実行することが難しい場合があります。したがって、イベントやユーザーのアクションに基づいて自動的にラベルを適用するモデルのデータ パイプラインを開発することが重要です。
モデルの収束時間も、フェデレーテッド ラーニングの課題です。フェデレーテッド ラーニング モデルは、通常、ローカルでトレーニングされたモデルよりも収束に時間がかかります。トレーニングに参加するデバイスの数が、モデルのトレーニングに不確実性をもたらし、信頼性を低下させる要因となります。したがって、フェデレーテッド ラーニング ソリューションは、通常、中央でモデルをトレーニングするよりも有意な利点を提供する場合に最も役立ちます。例としては、データセットが非常に大規模で分散している場合などがあります。

Photo: Jeromemetronome via Wikimedia Commons, CC By S.A. 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)












