フェデレーテッドラーニング - プライバシーの障壁を突破し、データの価値を引き出す

フェデレーテッドラーニング - プライバシーの障壁を突破し、データの価値を引き出す

1. フェデレーテッドラーニングの背景

従来の機械学習手法では、トレーニングのためにデータを単一のマシンまたはデータセンターに集中させる必要がありました。しかし、モバイルインターネットやビッグデータなどの技術の台頭により、個人データは政府機関、医療機関、保険機関、さまざまなインターネット大手のプラットフォームなど、さまざまな機関に分散しています。異なる管理機関間でのデータの流通は、漏洩のリスクを伴うことがよくあります。また、近年、データプライバシーへの注目が高まっています。個人のプライバシーに関わるデータは効果的に共有することが難しく、トレーニングに必要なデータを集めるのは非常に難しく、多くの分野でデータサイロ化が生じています。

実際、海外のビッグデータアプリケーションもこの課題に直面しています。 Googleは2016年に早くもフェデレーテッドラーニングの概念を提案しました。これは、マルチソースのデータが独自のデバイスを離れる必要がなく、代わりに独自のデバイスで個別にモデルをトレーニングし、特定の暗号化メカニズムを通じてクラウド上に共有モデルメカニズムを確立してモデルを更新することを意味します。フェデレーテッドラーニングを通じて、すべてのトレーニングデータは各デバイスに残り、最終的にトレーニングされたモデルは目的の効果を達成できます。

2. フェデレーテッドラーニングとは何ですか?

ある病気の補助診断モデルをトレーニングするとします。診断をより正確にするためには、より大きなサンプルが必要なので、3 つの病院 A、B、C のデータを使用する必要があります。これらの病院には、異なる患者がいますが、患者データの種類は同じです (例: CT、症状の説明、病歴など)。患者のプライバシーとそれぞれの症例データのセキュリティを保護するために、病院はすべてのデータを共有することはできません。実際には、十分なデータ準備なしに優れたモデルを構築することは困難です。

フェデレーテッドラーニングの目的は、各病院が独自のデータでモデルをトレーニングし、暗号化メカニズムを通じて共有モデルを確立し、モデルを更新できるようにすることです。これにより、病院のデータセキュリティと患者のプライバシーが保護されるだけでなく、大規模な集中データ転送のコストも削減されます。

フェデレーテッド ラーニングは、プライバシー保護と安全な暗号化技術を備えた分散型機械学習フレームワークです。分散化された参加者が他の参加者に個人データを開示することなく、モデルのトレーニングで協力できるようにすることを目的としています。

3. フェデレーテッドラーニングトレーニングプロセス

従来のフェデレーテッド ラーニング フレームワークのトレーニング プロセスは、次の手順に簡単にまとめることができます。

  • コーディネーターは基本モデルを確立します。
  • モデルの基本構造とパラメータをすべての参加者に送信します。
  • 各参加者はローカルデータを使用してモデルをトレーニングします
  • 各当事者はモデルパラメータの結果をコーディネータに送信します。
  • コーディネーターはすべての参加者のモデルを集約して、より正確なグローバル モデルを構築します。
  • モデルのパフォーマンスと結果を改善するために、すべての参加者にグローバル パラメーターを送信します。

4. 連合学習のコア技術

フェデレーテッド ラーニング フレームワークには、次のような多くのテクノロジが含まれています。

  • 機械学習とモデルトレーニング。
  • パラメータ積分のためのアルゴリズム。
  • 当事者間のデータ伝送のための通信技術。
  • プライバシー保護技術;

さらに、一部のフェデレーテッド ラーニング フレームワークもブロックチェーンのアイデアを活用し、インセンティブ メカニズムを使用しています。すべてのデータ保有者が参加でき、そのメリットは普遍的です。

プライバシー保護技術についても言及する価値があります。データ転送中にデータのプライバシーとセキュリティをどのように保護するかは、常に暗号化の分野における主要な研究のホットスポットでした。

5. フェデレーテッドラーニングにおけるプライバシー保護

フェデレーテッド ラーニングでプライバシー保護を強化し、脅威を軽減するには、主に 4 つの方法があります。

  • セキュアなマルチパーティ計算(MPC マルチパーティセキュア計算)
  • 差分プライバシー
  • 検証ネット;
  • 敵対的トレーニング

1. マルチパーティセキュアコンピューティング

セキュア マルチパーティ コンピューティング (SMPC) は、それぞれが秘密データを保持している、相互に信頼していないパーティのグループが、特定の関数を共同で計算するという問題を解決するために使用されます。セキュアなマルチパーティ コンピューティングにより、すべての参加者が正しい計算結果を取得することが保証され、計算結果以外の情報を取得できなくなります。コンピューティング プロセス全体を通じて、参加者は常に自分が所有するデータに対して絶対的な制御権を持ちます。

たとえば、分散ネットワークでは、相互に信頼していない n 人の参加者 P1、P2、…、Pn が存在し、各参加者 Pi は秘密データ Xi (i=1、2、3、…、n) を保持しています。これらn人の参加者は協力して、与えられた関数f(x1,x2,…,xn) -> (y1,y2,…,yn)を実行します。ここで、yiは参加者Piによって取得された出力結果です。参加者Piは、yiを除く他の参加者Pj (i != j)に関する入力情報を取得できません。 y1= y2 = … =yn の場合、単純に f:(x1,x2,…,xn) -> y と表すことができます。次の図に示すように:

2. 差分プライバシー

差分プライバシーは、差分攻撃に対抗するために導入されたプライバシー保護スキームです。明確な特徴を持つデータにノイズを追加して乱すことで、単一のデータの一意性が失われ、大量のデータに隠されて機密データの漏洩を防ぐことができます。DP は、データに元の分散特性を持たせることができます。フェデレーテッドラーニングでは、データの逆検索を回避するために、クライアントがアップロードしたパラメータに対して差分プライバシーが実行されます。これにより、アップロードされたパラメータに不確実性がもたらされ、モデルのトレーニング効果に影響を与える可能性があります。

たとえば、SARS 感染症に関する情報を含むデータベースがあります。この病気を研究し分析したいのですが、個人のプライバシーが漏れてしまうのが怖いです。1つの方法は、データベースから名前とID番号を無感作にすることです。しかし、市内にこの病気の患者が数人しかいなければ、誰かがデータベースにその人が含まれていることを知ったら、その人がSARSに感染していることや治療状況が明らかになる可能性があります。個人情報が特定されないように、病気に類似した情報を記載したノイズサンプルブックを追加することがあります。

3. ベリファイネット

VerifyNet は、プライバシーを保護し、信頼性が検証された連合学習フレームワークです。 VerifyNet の二重隠しプロトコルは、フェデレーション学習中にユーザーのローカル勾配の機密性を保証します。さらに、中央サーバーは各ユーザーに集約された結果の正確さの証明を提供する必要があります。 VerifyNet では、攻撃者が証拠を偽造して他のユーザーを欺くことは困難です。さらに、VerifyNet は、ユーザーがトレーニング プロセス中に終了し、脅威が見つかった場合にすぐにロールバックできるようにサポートしているため、さまざまな方法でユーザーのプライバシーとセキュリティを保護します。

4. 敵対的トレーニング

敵対的トレーニングは、ニューラル ネットワークの堅牢性を高める重要な方法であり、アクティブな防御技術です。フェデレーテッド ラーニングの敵対的トレーニング中に、いくつかの小さな変動 (誤分類の原因となる可能性があります) がサンプルに混合され、その後、ニューラル ネットワークがこの変換に適応します。そのため、フェデレーテッド ラーニングの最終的なグローバル モデルは、既知の敵対的サンプルに対して堅牢です。

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

連合学習は、データの種類に応じて、水平連合学習、垂直連合学習、連合転移学習に分けられます。

1. 水平連合学習

水平連合学習は、診断と治療の内容は似ているが患者が異なる異なる地域の病院など、データ機能の重複が多く、サンプルの重複が少ないシナリオに適しています。

まず、各参加者は同じモデル定義を取得し、モデルの初期化パラメータを統一します。モデルは次の手順を繰り返してトレーニングされます。

  • 各参加者は独自のデータを使用してモデルをトレーニングし、勾配を個別に計算し、暗号化された勾配とパラメータをコーディネーターのサーバーにアップロードします。
  • 調整サーバーは、各参加者の勾配パラメータを統合し、モデルを更新します。
  • コーディネーターはモデルを更新し、更新された勾配を各参加者に送り返します。
  • 当事者はそれぞれのモデルを更新します。

現在、連合学習の技術アーキテクチャは比較的単純であり、実装の実現可能性は高いです。

2. 垂直連合学習

垂直連合学習は、サンプルの重複は大きいが特徴の重複は小さいシナリオに適しています。たとえば、同じ地域にある病院、薬局、保険代理店は、その地域に住む患者を主に対象としているため、サンプルは同じですが、薬局と病院は事業内容が異なり、データ特性も異なります。

プライバシー保護規制により、トレーニングのためにデータを直接公開交換することはできません。そのため、上図に示すように、A と B は暗号化アライメント技術を使用してサンプルを暗号化し、両者が共有する顧客に重複があることを確認し、このデータを暗号化に使用する必要があります。

A: 参加者; B: 参加者; C: コーディネーター

① Cは公開鍵をAとBに送信する(暗号化のため)。

②AとBはそれぞれ自分に関わる特徴量の中間結果を計算し、その結果を交換してそれぞれの最小値と損失値を求める。

③ AとBはそれぞれ計算して暗号化した最小パラメータをCに送信する。同時にBはラベルに基づいて損失値を計算し、その結果をCにまとめる。

④ Cは復号化されたパラメータをそれぞれAとBに送り返し、両者のモデルを更新します。

プロセス全体を通じて、参加者は互いのデータと特性を知らず、トレーニングが完了した後、参加者は自分の推定モデルパラメータのみを取得できます。

垂直連合学習は、機能の重複が少ないという問題を解決しますが、参加する当事者が増えるほど、コンピューティング アーキテクチャが複雑になり、実行が困難になり、実装が難しくなります。

3. 連合転移学習

参加者が所有するデータ間で特徴とサンプルの重複がほとんどない場合、連合転移学習を使用してデータとラベルの不足を克服できます。

7. 連合学習、分散学習、マルチエージェント

1. 分散機械学習

分散機械学習とは、複数のコンピューティング/タスク ノード (ワーカー) を使用して、グローバル機械学習/ディープラーニング モデル (マスター ノード (マスター) によってスケジュールされる) を共同でトレーニングすることを指します。分散機械学習は従来の HPC 分野とは異なることに注意することが重要です。従来の HPC 分野では主に計算集約型であり、加速率の向上が主な目標となっています。分散機械学習もデータ集約型であり、トレーニング データが大量 (単一のマシンに保存できない) であることと、モデル サイズが大きいことという問題に直面しています。さらに、分散機械学習における通信の問題にもさらに注意を払う必要があります。

複数のコンピューティング ノードを使用してモデルのトレーニングを並列化すると、ワークロードが複数のプロセッサまたはワーカーに分割され、トレーニング プロセスが高速化されます。並列化には主に 2 つのタイプがあります。データ並列処理とは、トレーニング データを利用可能なワーカーに配布し、各ワーカーでモデルのコピーを実行することを意味します。次に、各ワーカーは同じモデル上で異なるデータ部分を実行します。対照的に、モデル (またはネットワーク) の並列処理では、モデルを異なるワーカーに分割し、各ワーカーがモデルの異なる部分で同じデータに対して操作を行います。

2. マルチエージェント

マルチエージェント システムとは、共通の環境を共有し、センサーを使用して認識し、アクチュエータを使用して動作する、自律的に相互作用するエンティティのグループです。マルチエージェント システムは、さまざまなエージェント間で制御権限を分散し、問題に対する分散アプローチを提供します。

3. 連合学習、分散学習、マルチエージェントの違い


分散機械学習

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

マルチエージェント

問題は解決した

コンピュータ クラスターは、大量の計算やデータなどの問題に対処するために、大規模な機械学習モデルをトレーニングするために使用されます。

ユーザーのプライバシー、データセキュリティなどの問題を保護するために、効率的なアルゴリズム、暗号化アルゴリズムなどを通じて機械学習モデリングを実行し、データサイロを解消します。

主に、マルチロボット、マルチUAVの協調編隊、マルチターゲットの追跡・監視において役割を果たします。

データ処理ソリューション

データの並列処理: まずトレーニング データを複数のサブセット (スライス) に分割し、次に各サブセットを複数のコンピューティング エンティティに配置して、同じモデルを並列にトレーニングします。

フェデレーテッド モデリングのすべての関係者にとって、ローカル データはウェアハウスに保存されません。モデル パラメータ (または勾配) は最初にローカルでトレーニングされ、次に準同型暗号化テクノロジを通じてパラメータが交換され、モデルが更新されます。

事前に環境データを収集し、経験再生技術を使用してトレーニングを行うこともできますし、オンライン学習を直接採用して、複数のエージェントが環境内で対話して学習することもできます。

研修プログラム

産業用アプリケーションでは、それらのほとんどは依然としてデータ並列処理に基づいています。各ノードは異なるデータを取得し、順方向および逆方向の計算を完了して勾配を取得し、共通パラメータを更新してから、更新されたモデルを各ノードに送り返します。

各当事者は、モデルパラメータをローカルで初期化し、トレーニングを通じて勾配(またはパラメータ)を取得し、信頼できる第三者に渡してモデルを更新します。その後、モデルは各当事者に配布され、ローカルで更新され、このプロセスが繰り返されてシードモデルが得られます。

各エージェントは独立して環境と対話し、環境からの報酬を使用して独自の戦略を改善し、より高い報酬(つまり累積報酬)を獲得します。さらに、複数のエージェントが互いに影響を及ぼします。エージェントの戦略は、単に自身の観察と行動に頼るのではなく、他のエージェントの観察と行動も考慮する必要があります。よく採用されるトレーニングモデルは、集中型トレーニング+分散型実行です[7][8]。

コミュニケーション

MPI(IBネットワークなどの高速ネットワークをベースにしたスーパーコンピューティングでよく使用される)、NCCL、gRPC(TCPとイーサネットをベースにした安価なクラスターでよく使用される)

gRPC(主に)

高速インターネット

データ

IID(独立かつ同一に分布する)データ、データバランス

非IIDデータ、データが不均衡または異質である

複数のエージェントが統一された環境にあり、データはIIDに準拠している

料金

専用の通信条件があるため、通信コストは小さいことが多い

通信コストは計算コストよりもはるかに高い

インテリジェントエージェントは、通信コストが低い高速センサーネットワークで接続されることが多い。

フォールトトレランス

フォールトトレランスはほとんど考慮されていない

フォールトトレランスは非常に重要です

基本的にフォールトトレランスは考慮されていない

8. フェデレーテッドラーニングアーキテクチャ

フェデレーテッド ラーニング アーキテクチャには、集中型フェデレーション (クライアント/サーバー) アーキテクチャと分散型フェデレーション (ピアツーピア コンピューティング) アーキテクチャの 2 種類があります。

1. 集中型連合学習アーキテクチャ

集中型フェデレーテッド ラーニング アーキテクチャは、フェデレーテッド ラーニングで複数のユーザーのコラボレーションが必要なシナリオで主に使用されます。調整機関は中央サーバーとして機能し、グローバル モデルを調整する役割を果たします。

2. 分散型連合学習アーキテクチャ

複数の参加機関がデータサイロに直面しており、複数の機関の中からコーディネーターを選択することが困難なシナリオでは、一般的に、分散型連合学習アーキテクチャ(ピアツーピアアーキテクチャ)を採用できます。

IX. 結論

フェデレーテッド ラーニングは、プライバシーを漏らすことなく、異なる機関に分散されたデータを適用するという問題を解決しますが、データ プライバシーの障壁を打ち破り、データの価値を高めます。しかし、フェデレーテッド ラーニングの実装には依然として多くの技術的な困難が存在します。

  • 通信オーバーヘッドの問題: フェデレーテッド ラーニングにおける通信オーバーヘッドの問題は、フェデレーテッド ラーニングの効率に影響を与える主なボトルネックの 1 つです。
  • 非独立かつ同一に分散されたデータ: 一般に、機械学習データ セットは独立かつ同一に分散されていますが、連合学習データ セットは非独立かつ同一に分散された (非 IID) 形式で存在することが多く、連合学習の実際の実装に課題をもたらします。
  • システムとデータの異質性: フェデレーテッド ラーニング ネットワークのクライアント システムは通常、さまざまなカテゴリに分類されます。システムの異質性と、デバイスからのデータの不均衡で一貫性のない分散は、フェデレーテッド ラーニング モデルのパフォーマンスに大きな影響を与える可能性があります。また、クライアントの数が多く一貫性がない場合は、モデルの信頼性が低下する可能性があります。従来の FedAvg は、システムの異質性に対して十分に堅牢ではありません。

技術的な困難に加えて、参加者の協力メカニズムについても検討する必要があります。

  • 類似機関間のデータ競争に打ち勝つにはどうすればよいでしょうか?
  • 機密データを持つ当事者を説得して参加させるにはどうすればよいでしょうか?
  • 参加者の安定性をどのように維持するか?同時に、参加者が途中で離脱した場合、モデルの安定性をどのように維持するか?

一般的に、デジタル化が進むにつれて、フェデレーテッド ラーニングは近い将来も重要な研究分野であり続けるでしょう。しかし、現時点では、フェデレーテッド ラーニングは、関連技術をさらに向上させ、実装の成功事例を増やす必要があります。

<<:  デジタルヒューマンとは何か、そしてその将来性はどのようなものでしょうか?

>>:  技術者がAIを活用してキャリアを守る方法

ブログ    

推薦する

他人があなたのコンピュータに触れることをもう恐れる必要はありません! Pythonによるリアルタイム監視

序文最近、突然素晴らしいアイデアが浮かびました。コンピューターの画面に顔を向けると、コンピューターは...

海外メディア:ロボットは人間の生活を変え、雇用や結婚のパターンに影響を与える

[[442070]]レファレンス・ニュース・ネットワークは12月26日、ドイツのフランクフルター・ア...

...

ますます大きく、さらに大きく:AI 研究は長期的には行き詰まりに陥るのでしょうか?

[[286629]]ビッグデータダイジェスト制作出典: techtalks編纂者:穆金、曹培鑫、銭...

悪いデータは良いAIを殺すことが判明

[[421984]]データ サイエンティストは、データの準備があらゆる AI システムの成功に非常に...

...

...

機械学習プロジェクトを管理および組織化する方法

この記事では主に、機械学習プロジェクトの編成と管理に関する実践的な経験をいくつか紹介します。パイソン...

自動運転の倫理的ジレンマを解決する: 道徳規範を数式に変換する

暴走列車が線路を走っています。5人が線路に縛られており、列車に轢かれそうになっています。この時点で、...

速度が2倍に向上、超強力なCPUレベルのバックボーンネットワークPP-LCNetが誕生

[[431006]]アルゴリズムの速度最適化でボトルネックが発生し、要件を満たすことができませんか?...

AIエージェント、起動!復旦 NLP チームが 86 ページのレビューを発表: インテリジェント社会はすぐそこ

9 月 19 日、Jim Fan は Fudan NLP チームからの LLM ベースのエージェント...

...

NVIDIA GPU が一戦で神となる!黄仁訓は人工知能に賭け、1兆ドル規模のグラフィックカード帝国を築く

AlexNet ニューラル ネットワークから ChatGPT、生成 AI の爆発的な増加まで、NVI...

...

AIは多くの仕事を「置き換える」のでしょうか?

コンピュータが人間の囲碁の名人と対戦していたとき、コンピュータは数年連続で世界チャンピオンに勝つこと...