AI 101

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

mm

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

伝統的なAIモデルのトレーニング方法では、モデルのトレーニング用のサーバーを設定し、クラウドベースのコンピューティングプラットフォームを使用してデータをトレーニングします。しかし、過去 few 年間で、代替のモデルの作成方法が登場しました。それがフェデレーテッドラーニングです。 フェデレーテッドラーニング は、データをモデルに持ってくるのではなく、モデルをデータソースに持ってきます。フェデレーテッドラーニングは、複数の計算機器を分散システムに接続し、データを収集する各デバイスがモデルをトレーニングするのを支援するようにします。

フェデレーテッドラーニングシステムでは、学習ネットワークの一部である各デバイスには、デバイス上にモデルの一部があります。各デバイス/クライアントは、クライアントのローカルデータを使用してモデルの一部をトレーニングし、次に各モデルのパラメータ/重みをマスター デバイスまたはサーバーに送信し、グローバル モデルを更新します。このトレーニング プロセスは、所望の精度が達成されるまで繰り返されます。簡単に言えば、フェデレーテッドラーニングの背後にある考え方は、トレーニング データがデバイス間またはパーティ間で送信されることはなく、モデルに関連する更新のみが送信されるということです。

フェデレーテッドラーニングは、3 つの異なるステップまたはフェーズに分解できます。フェデレーテッドラーニングは通常、中央サーバーでトレーニングされたジェネリック モデルから始まります。このジェネリック モデルは、クライアントのアプリケーションに送信されます。これらのローカル コピーは、クライアント システムによって生成されたデータを使用してトレーニングされ、パフォーマンスを学習し、改善します。

2 番目のステップでは、クライアントはすべて、学習したモデルのパラメータを中央サーバーに送信します。これは、定期的に、設定されたスケジュールで行われます。

3 番目のステップでは、サーバーは受信したパラメータを集計します。パラメータが集計された後、中央モデルの更新と共有が行われます。プロセスは繰り返されます。

モデルのコピー を各デバイスに保持する利点は、ネットワークの待ち時間が削減または排除されることです。サーバーとデータを共有するコストも排除されます。フェデレーテッド ラーニング方法の他の利点には、フェデレーテッド ラーニング モデルがプライバシーを保護し、モデルの応答がデバイスのユーザーにパーソナライズされるという事実があります。

フェデレーテッドラーニング モデルの例には、レコメンデーション エンジン、不正検出モデルの医療モデルがあります。Netflix または Amazon で使用されるメディアのレコメンデーション エンジンは、数千人のユーザーから収集されたデータでトレーニングできます。クライアント デバイスは独自のモデルをトレーニングし、中央モデルはより良い予測を学習しますが、個々のデータ ポイントは異なるユーザーに固有です。同様に、銀行で使用される不正検出モデルは、多くのデバイスからのアクティビティ パターンでトレーニングでき、複数の銀行が共同で共通モデルをトレーニングできます。医療のフェデレーテッド ラーニング モデルでは、複数の病院が共同で医療スキャンを介して潜在的な腫瘍を認識できる共通モデルをトレーニングできます。

フェデレーテッドラーニングの種類

フェデレーテッドラーニング スキーマは、通常、2 つの異なるクラス に分類されます: マルチパーティ システムとシングルパーティ システム。シングルパーティ フェデレーテッドラーニング システムは、「シングルパーティ」と呼ばれます。なぜなら、すべてのクライアント デバイスのデータのキャプチャとフローを管理するのは、単一のエンティティだからです。クライアント デバイス上のモデルは、同じ構造のデータでトレーニングされますが、データ ポイントは通常、さまざまなユーザーとデバイスに固有です。

シングルパーティ システムとは対照的に、マルチパーティ システムは、2 つ以上のエンティティによって管理されます。これらのエンティティは、モデルを共有してトレーニングするために、利用可能なデバイスとデータセットを共同で使用します。パラメータとデータ構造は、異なるエンティティに属するデバイス間で通常似ていますが、必ずしも同じである必要はありません。代わりに、入力の標準化のために事前処理が行われます。デバイスによって確立された重みを集計するために、中立的なエンティティが使用される場合があります。

フェデレーテッドラーニングのフレームワーク

フェデレーテッドラーニングで使用される人気のフレームワークには、Tensorflow FederatedFederated AI Technology Enabler (FATE)PySyft などがあります。PySyft は、PyTorch を基盤とするオープンソースのフェデレーテッドラーニング ライブラリです。PySyft は、サーバーとエージェント間で暗号化された計算を使用して、プライベートでセキュアな深層学習を保証することを目的としています。Tensorflow Federated は、Google の Tensorflow プラットフォームを基盤とする別のオープンソース フレームワークです。Tensorflow Federated では、ユーザーが独自のアルゴリズムを作成できるだけでなく、組み込まれたフェデレーテッドラーニング アルゴリズムをモデルとデータでシミュレートできます。最後に、FATE は、Webank AI によって設計されたオープンソース フレームワークであり、フェデレーテッド AI エコシステムにセキュアなコンピューティング フレームワークを提供することを目的としています。

フェデレーテッドラーニングの課題

フェデレーテッドラーニングはまだ比較的新しい分野であるため、いくつかの課題 が依然として残っています。エッジ デバイスのトレーニング能力、データ ラベル付けと標準化、モデルの収束は、フェデレーテッドラーニング アプローチの潜在的な障害です。

ローカル トレーニングの場合、エッジ デバイスの計算能力を考慮する必要があります。ほとんどのスマートフォン、タブレット、IoT 対応デバイスは、機械学習モデルをトレーニングできますが、デバイスのパフォーマンスが低下する可能性があります。モデル精度とデバイス パフォーマンスのバランスを取る必要があります。

データのラベル付けと標準化は、フェデレーテッドラーニング システムが克服しなければならない別の課題です。教師あり学習モデルは、明確かつ一貫してラベル付けされたトレーニング データが必要です。これは、システムの一部である多くのクライアント デバイスにわたって行うことが難しい場合があります。したがって、イベントやユーザーのアクションに基づいて自動的にラベルを適用するモデル データ パイプラインを開発することが重要です。

モデルの収束時間は、フェデレーテッドラーニングの別の課題です。フェデレーテッドラーニング モデルは、ローカルでトレーニングされたモデルよりも収束に時間がかかります。トレーニングに参加するデバイスの数が、モデルのトレーニングに予測不可能な要素を追加し、接続の問題、不規則な更新、または異なるアプリケーションの使用時間が収束時間の増加と信頼性の低下につながる可能性があります。したがって、フェデレーテッドラーニング ソリューションは、中央でモデルをトレーニングするよりも有意な利点を提供する場合に最も役立ちます。たとえば、データセットが非常に大規模で分散している場合などです。

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

ブログ作家およびプログラマーで、 Machine Learning Deep Learning のトピックを専門としています。Danielは、AIの力を社会のために利用する手助けを他者に与えることを希望しています。