スタブ フェデレーション ラーニングとは何ですか? - Unite.AI
私達と接続
AI マスタークラス:

AI 101

フェデレーション ラーニングとは何ですか?

mm
更新中 on

フェデレーション ラーニングとは何ですか?

AI モデルをトレーニングする従来の方法では、多くの場合クラウドベースのコンピューティング プラットフォームを使用して、データに基づいてモデルをトレーニングするサーバーをセットアップする必要があります。しかし、ここ数年の間に、フェデレーション ラーニングと呼ばれるモデル作成の代替形式が登場しました。 連合学習 データをモデルに取り込むのではなく、機械学習モデルをデータ ソースに取り込みます。フェデレーテッド ラーニングは、複数の計算デバイスを分散システムにリンクし、データを収集する個々のデバイスがモデルのトレーニングを支援できるようにします。

連合学習システムでは、学習ネットワークの一部であるさまざまなデバイスのそれぞれが、デバイス上にモデルのコピーを持っています。 さまざまなデバイス/クライアント モデルの独自のコピーをトレーニングする クライアントのローカル データを使用して、個々のモデルのパラメータ/重みがマスター デバイスまたはサーバーに送信され、そこでパラメータが集約されてグローバル モデルが更新されます。 このトレーニング プロセスは、必要なレベルの精度が達成されるまで繰り返すことができます。 つまり、フェデレーテッド ラーニングの背後にある考え方は、トレーニング データはデバイス間または当事者間で決して送信されず、モデルに関連する更新のみが送信されるということです。

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

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

XNUMX 番目のステップでは、サーバーは学習したパラメーターを受信したときにそれらを集約します。 パラメーターが集約された後、中央モデルが更新され、クライアントと再度共有されます。 その後、プロセス全体が繰り返されます。

  コピーを持つメリット さまざまなデバイスのモデルの特徴は、ネットワーク遅延が短縮または排除されることです。 サーバーとのデータ共有に関連するコストも削減されます。 フェデレーション学習方法のその他の利点には、フェデレーション学習モデルのプライバシーが保護され、モデルの応答がデバイスのユーザーに合わせてパーソナライズされるという事実が含まれます。

フェデレーテッド ラーニング モデルの例には、推奨エンジン、不正検出モデル、医療モデルなどがあります。 Netflix や Amazon で使用されているタイプのメディア推奨エンジンは、数千のユーザーから収集したデータに基づいてトレーニングできます。 個々のデータ ポイントが異なるユーザーに固有である場合でも、クライアント デバイスは独自の個別のモデルをトレーニングし、中央モデルはより適切な予測を行うように学習します。 同様に、銀行が使用する不正検出モデルは、さまざまなデバイスからのアクティビティのパターンに基づいてトレーニングでき、少数の異なる銀行が協力して共通のモデルをトレーニングできます。 医療連合学習モデルに関しては、複数の病院が協力して、医療スキャンを通じて潜在的な腫瘍を認識できる共通モデルをトレーニングすることができます。

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

連合学習スキーマ 通常、XNUMX つの異なるクラスのいずれかに分類されます: マルチパーティ システムとシングルパーティ システム。 シングルパーティのフェデレーテッド ラーニング システムは、単一のエンティティのみが学習ネットワーク内のすべてのクライアント デバイスにわたるデータのキャプチャとフローの監視を担当するため、「シングルパーティ」と呼ばれます。 クライアント デバイス上に存在するモデルは、同じ構造のデータでトレーニングされますが、データ ポイントは通常、さまざまなユーザーやデバイスに固有です。

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

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

フェデレーテッド ラーニングに使用される一般的なフレームワークには次のものがあります。 Tensorflow 連携, Federated AI Technology Enabler (FATE), ピシート。 PySyft は、深層学習ライブラリ PyTorch をベースにしたオープンソースのフェデレーション ラーニング ライブラリです。 PySyft は、暗号化された計算を使用してサーバーとエージェント全体でプライベートで安全なディープ ラーニングを保証することを目的としています。 一方、Tensorflow Federated は、Google の Tensorflow プラットフォーム上に構築された別のオープンソース フレームワークです。 Tensorflow Federated を使用すると、ユーザーが独自のアルゴリズムを作成できることに加えて、ユーザーは含まれている多数のフェデレーテッド ラーニング アルゴリズムを独自のモデルとデータでシミュレートできます。 最後に、FATE も Webank AI によって設計されたオープンソース フレームワークであり、Federated AI エコシステムに安全なコンピューティング フレームワークを提供することを目的としています。

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

フェデレーション ラーニングはまだ初期段階にあるため、 数々の挑戦 その可能性を最大限に発揮するには、まだ交渉が必要です。 エッジ デバイスのトレーニング機能、データのラベル付けと標準化、モデルの収束は、フェデレーテッド ラーニング アプローチの潜在的な障害となります。

ローカル トレーニングに関しては、フェデレーション ラーニング アプローチを設計するときにエッジ デバイスの計算能力を考慮する必要があります。 ほとんどのスマートフォン、タブレット、その他の IoT 互換デバイスは機械学習モデルをトレーニングできますが、これにより通常、デバイスのパフォーマンスが妨げられます。 モデルの精度とデバイスのパフォーマンスの間で妥協する必要があります。

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

フェデレーテッド ラーニングのモデルの収束時間は、通常、ローカルでトレーニングされたモデルよりも時間がかかるため、フェデレーテッド ラーニングのもう XNUMX つの課題です。 トレーニングに関与するデバイスの数により、接続の問題、不規則な更新、さらにはアプリケーションの使用時間の違いが収束時間の増加と信頼性の低下につながる可能性があるため、モデルのトレーニングに予測不可能な要素が加わります。 このため、フェデレーテッド ラーニング ソリューションは、データセットが非常に大きく分散しているインスタンスなど、モデルを一元的にトレーニングする場合に比べて有意義な利点がある場合に通常最も役立ちます。

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

専門分野を持つブロガーおよびプログラマー 機械学習 & 深層学習 トピック。 ダニエルは、他の人が社会利益のために AI の力を活用できるよう支援したいと考えています。