JP2024505553A - ピアツーピアネットワークを使用する連合学習のためのシステムおよび方法 - Google Patents

ピアツーピアネットワークを使用する連合学習のためのシステムおよび方法 Download PDF

Info

Publication number
JP2024505553A
JP2024505553A JP2023546417A JP2023546417A JP2024505553A JP 2024505553 A JP2024505553 A JP 2024505553A JP 2023546417 A JP2023546417 A JP 2023546417A JP 2023546417 A JP2023546417 A JP 2023546417A JP 2024505553 A JP2024505553 A JP 2024505553A
Authority
JP
Japan
Prior art keywords
node
participant
cooperator
machine learning
learning model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023546417A
Other languages
English (en)
Inventor
ベヘラ,モニク・ラジ
ウパディヤイ,スディール
オッター,ロブ
シェティ,スレシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JPMorgan Chase Bank NA
Original Assignee
JPMorgan Chase Bank NA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/649,471 external-priority patent/US20220245528A1/en
Application filed by JPMorgan Chase Bank NA filed Critical JPMorgan Chase Bank NA
Publication of JP2024505553A publication Critical patent/JP2024505553A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

ピアツーピアネットワークを使用する連合学習のためのシステムおよび方法が開示される。方法は、コンセンサスアルゴリズムを使用して、参加者ノードを、協力者ノードとして選出することと、協力者ノードが、公開/秘密鍵のペアを生成してブロードキャストすることと、参加者ノードが、協力者ノードとの各通信のために、公開/秘密鍵のペアを生成することと、参加者ノードのためのローカル機械学習モデルのパラメータおよびその公開鍵を含むメッセージを、協力者ノードの公開鍵を用いて暗号化してブロードキャストすることであって、協力者ノードが、暗号化されたメッセージを復号し、復号されたパラメータを用いて、集約された機械学習モデルを更新し、各々更新を含む更新メッセージを、各参加者ノードの公開鍵を用いて暗号化してブロードキャストすることと、参加者ノードが、自身の秘密鍵を用いて、複数のメッセージのうちの1つのメッセージを復号し、参加者ノードが、更新を用いて、ローカル機械学習モデルを更新することとを含み得る。【選択図】図2

Description

[0001]実施形態は、一般に、ピアツーピアネットワークを使用する連合学習のためのシステムおよび方法に関する。
[0002]分散コンピューティングの時代では、データおよび計算リソースの規模は、複数のシステムにわたる水平方向における作業負荷の分散によって処理されることが多い。分散コンピューティング、特に分散機械学習は、多くのエキサイティングな機会をもたらす。また、データプライバシおよびデータセキュリティが重要な分野でも新たな困難が生じる。機械学習のために、復元力(resilient)があり、可用性が高く、ロバストなエコシステムを設計することも同様に困難である。連合学習は、異種の機械が協調して参加できる分散環境で機械学習を実施するための基盤を築く。
[0003]連合学習は、一般に、連合ネットワークにおける「集約ノード」および「参加者ノード」のセットを含む。現在利用可能な実施は、集約ノードと、様々な参加者ノードとの集中設計を有しており、通信のためのスタートポロジを形成する。参加者ノードは、自身のローカルモデル勾配(local model gradient)を、集約ノードに送信し、集約ノードは、受信したすべてのモデルを、単一のグローバルモデルにまとめる。この単一のグローバルモデルは、その後、すべての参加者ノードに送り返される。この設定では、参加者は、基礎となるデータをすべて知らなくても、共通の学習から恩恵を受ける。
[0004]連合学習は、プライバシ、セキュリティ、および匿名性に配慮するが、集約ノードは、連合ネットワークにおける単一の障害点となる。これによって、望ましくない障害が発生した場合に、ダウンタイムのリスクが生じ、ネットワーク上の重要なプロセスの停止につながる可能性がある。
[0005]ピアツーピアネットワークを使用する連合学習のためのシステムおよび方法が開示される。実施形態によれば、ピアツーピアネットワークを使用する連合学習のための方法は、(1)ピアツーピアネットワークにおける複数の参加者ノードによって、コンセンサスアルゴリズムを使用して、参加者ノードのうちの1つの参加者ノードを、協力者ノード(collaborator node)として選出することと、(2)協力者ノードによって、協力者ノード公開鍵および協力者ノード秘密鍵を生成することと、(3)協力者ノードによって、複数の参加者ノードに、協力者ノード公開鍵をブロードキャストすることと、(4)各参加者ノードによって、参加者ノード公開鍵および参加者ノード秘密鍵を生成することであって、各参加者ノードは、協力者ノードとの各通信のために、新たな参加者ノード公開鍵および新たな参加者ノード秘密鍵を生成する、生成することと、(5)各参加者ノードによって、参加者ノードのためのローカル機械学習モデルのパラメータおよび参加者ノード公開鍵を含むメッセージを、協力者ノード公開鍵を用いて暗号化することと、(6)各参加者ノードによって、暗号化されたメッセージをピアツーピアネットワーク上でブロードキャストすることと、(7)協力者ノードによって、暗号化されたメッセージの各々を、協力者ノード秘密鍵を用いて復号することと、(8)協力者ノードによって、ローカル機械学習モデルのために、復号されたパラメータを用いて、集約された機械学習モデルを更新することと、(9)協力者ノードによって、各参加者ノードの公開鍵を用いて、集約された機械学習モデルからの更新を各々含む、複数の更新メッセージを暗号化することと、(10)協力者ノードによって、ピアツーピアネットワーク上で複数のメッセージをブロードキャストすることと、(11)参加者ノードの各々によって、参加者ノードのための参加者ノード秘密鍵を用いて、複数のメッセージのうちの1つのメッセージを復号することと、(12)参加者ノードの各々によって、更新を用いて、参加者ノードのためのローカル機械学習モデルを更新することとを含み得る。
[0006]1つの実施形態では、コンセンサスアルゴリズムは、Raftコンセンサスアルゴリズムであり得る。
[0007]1つの実施形態では、パラメータは、モデル交換、ローカル機械学習モデルの重み、および/または、ローカル機械学習モデルに関連する情報を含み得る。
[0008]1つの実施形態では、パラメータは、クリアデータおよび/または合成データを含み得る。
[0009]1つの実施形態では、協力者ノードは、復号されたパラメータを使用して、モデル集約を実行し得る。
[0010]1つの実施形態では、協力者ノードは、復号されたパラメータを使用して、集約された機械学習モデルをトレーニングし得る。
[0011]1つの実施形態では、参加者ノードは、限られた期間、協力者ノードである。
[0012]1つの実施形態では、協力者ノードは、参加者ノードにハートビート(heartbeat)をブロードキャストし得る。
[0013]1つの実施形態では、参加者ノードは、協力者ノードが非アクティブであることに応答して、新たな協力者ノードを選出し得る。
[0014]別の実施形態によれば、システムは、各参加者ノードがローカル機械学習モデルに関連付けられる、複数の参加者ノードと、複数の参加者ノードを接続するピアツーピアネットワークとを含み得る。複数の参加者ノードは、コンセンサスアルゴリズムを使用して、複数の参加者ノードのうちの1つの参加者ノードを、協力者ノードとして選出し得、協力者ノードは、協力者ノード公開鍵および協力者ノード秘密鍵を生成し得、協力者ノード公開鍵を、複数の参加者ノードにブロードキャストし得、各参加者ノードは、参加者ノード公開鍵および参加者ノード秘密鍵を生成し得、各参加者ノードは、協力者ノードとの各通信のために、新たな参加者ノード公開鍵および新たな参加者ノード秘密鍵を生成し、参加者ノードのためのローカル機械学習モデルのパラメータおよび参加者ノード公開鍵を含むメッセージを、協力者ノード公開鍵を用いて暗号化し得、暗号化されたメッセージを、ピアツーピアネットワーク上でブロードキャストし得、協力者ノードは、暗号化されたメッセージの各々を、協力者ノード秘密鍵を用いて復号し得、ローカル機械学習モデルのために、集約された機械学習モデルを、復号されたパラメータを用いて更新し得、各々が、集約された機械学習モデルからの更新を含む複数の更新メッセージを、各参加者ノードの公開鍵を用いて暗号化し得、複数のメッセージを、ピアツーピアネットワーク上でブロードキャストし得、参加者ノードの各々は、複数のメッセージのうちの1つのメッセージを、参加者ノードのためのその参加者ノード秘密鍵を用いて復号し得、更新を用いて、そのローカル機械学習モデルを更新し得る。
[0015]1つの実施形態では、コンセンサスアルゴリズムは、Raftコンセンサスアルゴリズムである。
[0016]1つの実施形態では、パラメータは、モデル交換、ローカル機械学習モデルの重み、および/または、ローカル機械学習モデルに関連する情報を含み得る。
[0017]1つの実施形態では、パラメータは、クリアデータおよび/または合成データを含み得る。
[0018]1つの実施形態では、協力者ノードは、復号されたパラメータを使用して、モデル集約を実行し得る。
[0019]1つの実施形態では、協力者ノードは、復号されたパラメータを使用して、集約された機械学習モデルをトレーニングし得る。
[0020]1つの実施形態では、参加者ノードは、限られた期間、協力者ノードであり得る。
[0021]1つの実施形態では、協力者ノードは、参加者ノードにハートビートをブロードキャストし得る。
[0022]1つの実施形態では、参加者ノードは、協力者ノードが非アクティブであることに応答して、新たな協力者ノードを選出し得る。
[0023]本発明、その目的および利点をより完全に理解するために、添付の図面に関連して採用された以下の説明を参照する。
[0024]図1は、実施形態による、ピアツーピアネットワークを使用する連合学習のためのシステムを示す図である。 [0025]図2は、実施形態による、ピアツーピアネットワークを使用する連合学習ための方法を示す図である。 [0026]図3は、実施形態による、ピアツーピアネットワークにおける参加者ノードの状態図である。
[0027]実施形態は、モデル重みの分散オーケストレーションのために、ピアツーピアネットワークを使用する連合学習のためのシステムおよび方法を対象とする。
[0028]2020年11月20日に出願されたインド特許出願第202011050561号の開示は、その全体が参照により本明細書に組み込まれる。
[0029]実施形態は、一般に、連合ネットワークにおける参加者ノード間のピアツーピア通信を使用する連合学習を用いた分散化によって、復元力があり、可用性の高い集約サービスを対象とする。すべての参加者ノードは、ネットワーク上で同等の機能を有し得、すべてが、相互に通信可能であり得る。任意の時点で、ネットワークは、参加者ノードのうち1つだけ「リーダ」(または協力者ノード)として機能する参加者ノードを有し得る一方、残りの参加者ノードは、「フォロワノード」として機能する。リーダノードが、使用できなくなったり、または応答しなくなったりした(例えば、クラッシュした)場合、ネットワークは、新たなリーダ選出を実行し、残りの参加者ノードの中から、リーダノードを選択する。これは、Raftコンセンサスアルゴリズムにしたがって選出を実行し、リーダを割り当て得る。
[0030]リーダノードは、ネットワークのための一時的な集約部として機能する役割を担い得る。実施形態では、参加者ノード間で作業負荷を分散し、ネットワーク内のすべての参加者ノードに「リーダノード」の役割を引き受ける公平な機会を与えるために、所定の時間間隔が経過した後に、新たなリーダノードが選出され得る。
[0031]図1を参照すると、実施形態による、ピアツーピアネットワークを使用する連合学習のためのシステムが開示されている。システム100は、ピアツーピアネットワークに、複数の参加者ノード110(例えば、110,110,110,・・・110)を含むことができ、各参加者ノード110は、他の参加者ノード110の各々と直接通信し得る。各参加者ノード110は、ローカルモデル112(例えば、112,112,112,・・・112)を維持し得、参加者ノードのうちの1つの参加者ノード(例えば、参加者110)が、リーダノード(または協力者ノード)に選出され、連合ネットワークにおける参加者ノードのための集約モデル114を生成し得る。
[0032]各ノードは、それぞれのノードの動作を制御し得るコンピュータプログラム、アプリケーション、スクリプトなど(図示せず)を実行し得る。
[0033]各参加者ノード110は、リーダノード(協力者ノード)、フォロワノード、または候補ノードとして参加し得る。参加者ノード110間の通信を容易にするために、システム100は、参加者ノード110間にピアツーピア通信を提供する。通信は、ネットワークのTCP層を使用して、リモートプロシージャコール(remote procedure call)を行うことによって容易化され得る。
[0034]ネットワークは、ピアツーピアネットワークであるため、すべてのメッセージがネットワークにブロードキャストされる。暗号化されている場合は、メッセージのタイプに基づいて、有効な受信者のみがメッセージを読み取ることができる。メッセージが暗号化されていない場合、すべての受信者が、メッセージを読んで、必要なアクションを講じ得る。
[0035]任意のピアツーピアネットワークにおいて、すべての参加者ノード110は、シームレスなTCPベースの通信のために開いているファイアウォールとともに、ネットワーク内に存在するすべての参加者ノード110を認識する必要がある。暗号化に関与するRSA公開鍵および秘密鍵は、リーダの一時的な性質により動的である。例えば、RSA鍵のペアは、参加者ノードのうちの1つの参加者ノードによって開始されるメッセージごとにローテーションされ得る。
[0036]選出が完了した場合、リーダノードは、そのRSA公開鍵をネットワークにアナウンスし、参加者ノードがそれを使用して、ローカル機械学習モデルパラメータなどのメッセージをリーダノードに送信できるようにする。
[0037]図2を参照すると、1つの実施形態による、ピアツーピアネットワークを使用する連合学習の方法が開示されている。
[0038]ステップ205において、参加者ノードは、ピアツーピアネットワークにおいて、例えば、Raftコンセンサスアルゴリズムを使用して、参加者ノードのうちの1つの参加者ノードを、リーダノード、すなわち協力者ノードとして選出し得る。Raftコンセンサスアルゴリズムに基づく各参加者ノードの例示的な状態図が図3に提供される。
[0039]図3は、実施形態による参加者ノードの状態図を示す。図3は、ピアツーピアネットワークにおける各ノードの3つの状態を示す。状態1、ノードは、フォロワ、つまり参加者ノードである。状態2、ノードは、候補ノードである。状態3、ノードは、リーダ、つまり協力者ノードである。
[0040]各ノードは、フォロワノードまたは参加者ノードになるように初期化され得る(状態1)。状態1から、フォロワノードは、リーダノードになるための選出を開始し、それによって、候補ノードになる(状態2)。状態2では、ノードが、リーダノードになり得る(状態3)か、リーダが選出されずに、別の選出のための候補ノードのままになり得る(状態2)か、または別のノードがリーダに選出され得、ノードが、フォロワ、すなわち参加者ノードになるように戻り得る(状態1)。状態3では、ノードが、より高い優先度を有するノードを識別するか、または辞退した場合、ノードは、フォロワ、すなわち参加者ノードになるように戻り得る(状態1)。
[0041]ノードは、Raftコンセンサスアルゴリズムを使用し、リーダノードを選出し得る(状態3)。状態3は、一時的になるように設計される。障害がない場合、選出されたノードは、例えばネットワーク管理者によって定義され得る期間Tの間、リーダノードとして留まる。期間Tが経過した後、リーダノードは辞退して、フォロワノードになり(状態1)、間接的に選出を開始する。
[0042]Raftコンセンサスアルゴリズムの例は、Ongaroらによる「In search of an understandable consensus algorithm」(わかりやすいコンセンサスアルゴリズムを求めて)、USENIX年次技術会議(USENIX ATC ’14)に関する2014USENIX会議の議事録、Gibson,GおよびZeldovich(編):305~329、に提供されており、その開示内容全体が、参照により組み込まれる。
[0043]実施形態では、すべての参加者ノードは、リーダノードが適切に機能していることを保証するために、リーダノードからのハートビートを(例えば、5秒ごとに)期待し得る。ハートビートが失敗した場合、これは、リーダノードが何らかの理由で非アクティブであることを意味し、1つ以上のフォロワノードが、自身を候補ノードに昇格させる可能性がある(状態2)。公正な選出の後、候補ノードのうちの1つの候補ノードが、リーダノードとして選出され、他の候補ノードは、状態1に戻る。
[0044]再び図2を参照すると、ステップ210において、協力者ノードは、公開鍵と秘密鍵とのペアを生成し得、ステップ215において、その公開鍵を、ピアツーピアネットワークにおける他の参加者ノードと共有し得る。
[0045]ステップ220において、参加者ノードは、ピアツーピアネットワークにおいて、自身の公開鍵および秘密鍵を生成し得、ステップ225において、各参加者ノードは、協力者ノードの公開鍵を用いてメッセージを暗号化し、協力者ノードに送信し得る。1つの実施形態では、参加者ノードは、各通信のために新たな公開鍵/秘密鍵のペアを生成することができ、これによって、協力者ノードが、特定のノードからの着信メッセージを識別することを阻止する。したがって、この動的なメッセージの暗号化-復号によって、メッセージフローの観点から、ピアツーピアネットワークにおける参加者ノードに匿名性を提供する。
[0046]1つの実施形態では、メッセージは、ピアツーピアネットワークにおけるノード(すなわち、すべての参加者ノードおよびリーダノード)にブロードキャストされ得る。リーダノードは、自身の秘密鍵を用いてメッセージを復号できる唯一のノードである。
[0047]1つの実施形態では、メッセージは、モデル交換、ローカル重み、ローカル機械学習モデル自体、クリアデータ、合成データなどに関連する情報など、ローカル機械学習モデルのためのパラメータを含み得る。
[0048]1つの実施形態では、メッセージはさらに、参加者ノードの公開鍵を含み得る。したがって、各参加者ノードは、パラメータおよびその公開鍵を、協力者ノードの公開鍵を用いて暗号化し得る。
[0049]ステップ230において、協力者ノードは、メッセージを受信し、自身の秘密鍵を使用してメッセージを復号し得る。
[0050]ステップ235において、協力者ノードは、モデル集約などの受信パラメータに対して演算を実行し、集約された機械学習モデルなどを作成または更新し得る。特に、協力者ノードは、演算におけるそのローカルモデルのパラメータおよび/または情報を含み得る。
[0051]別の実施形態では、協力者ノードは、参加者ノードから受信したデータおよび自身のデータを用いて、集約された機械学習モデルをトレーニングし得る。
[0052]ステップ240において、協力者ノードは、各参加者ノードの公開鍵を用いてメッセージを暗号化し、ピアツーピアネットワーク上でメッセージをブロードキャストし得る。1つの実施形態では、メッセージは、集約された機械学習モデルに対する更新を含み得る。
[0053]ステップ245において、各参加者ノードは、協力者ノードからのメッセージを復号し得、そのローカル機械学習モデルを更新するなど、メッセージの内容に対して必要なあらゆるアクションを実行し得る。参加者ノードは、協力者ノードからすべてのメッセージを受信するが、公開鍵を用いて、暗号化されたメッセージを復号のみできる。
[0054]プロセスは、ローカル機械学習モデルが収束するなどの条件に達するまで継続し得る。
[0055]Behera,Monikらの開示(2021)「Federated Learning using Peer-to-peer Network for Decentralized Orchestration of Model Weights」(モデル重みの分散オーケストレーションのためのピアツーピアネットワークを使用した連合学習)、TechRxiv. Preprint(doi.org/10.36227/techrxiv.14267468.v1で入手可能)。
[0056]以下、実施形態のシステムおよび方法の実施の一般的な態様が説明される。
[0057]システムまたはシステムの一部の実施形態は、例えば汎用コンピュータなどの「処理機械」の形態であり得る。本明細書で使用される「処理機械」という用語は、少なくとも1つのメモリを使用する少なくとも1つのプロセッサを含むと理解されるべきである。少なくとも1つのメモリは、命令のセットを格納する。命令は、処理機械の1つまたは複数のメモリに永久的にまたは一時的に格納することができる。プロセッサは、データを処理するために1つまたは複数のメモリに格納されている命令を実行する。命令のセットは、上述のタスクなどの特定の1つまたは複数のタスクを実行する様々な命令を含むことができる。特定のタスクを実行するためのそのような命令のセットは、プログラム、ソフトウェアプログラム、または単にソフトウェアとして特徴づけることができる。
[0058]1つの実施形態では、処理機械は、専用プロセッサとすることができる。
[0059]1つの実施形態では、処理機械は、クラウドベースの処理機械、物理的処理機械、またはそれらの組合せであり得る。
[0060]上記のように、処理機械は、データを処理するために1つまたは複数のメモリに格納されている命令を実行する。データのこの処理は、例えば、処理機械の1人または複数のユーザによるコマンドに応じる、前の処理に応じる、別の処理機械による要求および/または他の入力に応じることができる。
[0061]上記のように、実施形態を実施するために使用される処理機械は、汎用コンピュータとすることができる。しかしながら、上述の処理機械は、多種多様な他の技術のうちの任意の技術を利用することもできる。多種多様な他の技術には、専用コンピュータ、例えば、マイクロコンピュータ、ミニコンピュータ、またはメインフレームを含むコンピュータシステム、プログラム式マイクロプロセッサ、マイクロコントローラ、周辺集積回路要素、CSIC(特定顧客向け集積回路)またはASIC(特定用途向け集積回路)もしくは他の集積回路、ロジック回路、デジタル信号プロセッサ、FPGA、PLD、PLA、またはPALなどのプログラマブルロジックデバイス、または本明細書に開示されるプロセスのステップを実施することができる他のデバイスもしくはデバイスの構成が含まれる。
[0062]実施形態を実施するために使用される処理機械は、適切なオペレーティングシステムを利用し得る。
[0063]上述した実施形態の方法を実践するために、処理機械のプロセッサおよび/またはメモリが、物理的に同じ地理的場所に配置される必要がないことが理解される。すなわち、処理機械によって使用されるプロセッサおよびメモリの各々は、地理的に別個のロケーションに配置され、任意の適切な方法で通信するように接続されてもよい。加えて、プロセッサおよび/またはメモリの各々は、異なる物理的な機器で構成されてもよいことが理解される。したがって、プロセッサが1つのロケーションにおける単一の機器であること、およびメモリが別のロケーションにおける別の単一の機器であることは必要ではない。すなわち、プロセッサが2つの異なる物理的ロケーションにおける2つの機器であってもよいことが企図される。2つの別個の機器は、適切な方法で接続することができる。加えて、メモリは、2つ以上の物理的ロケーションにおけるメモリの2つ以上の部分を含むことができる。
[0064]さらに説明すると、上述のような処理は、様々な構成要素および様々なメモリによって実行される。しかしながら、上述のように2つの別個の構成要素によって実行される処理は、さらなる実施形態によれば、単一の構成要素によって実行されうることが理解される。さらに、上述のように1つの別個の構成要素によって実行される処理は、2つの別個の構成要素によって実行されてもよい。
[0065]同様に、上述のように2つの別個のメモリ部分によって実行されるメモリ記憶は、さらなる実施形態によれば、単一のメモリ部分によって実行されてもよい。さらに、上述のように1つの別個のメモリ部分によって実行されるメモリ記憶は、2つのメモリ部分によって実行されてもよい。
[0066]さらに、様々なプロセッサおよび/またはメモリの間の通信を提供するために、ならびにプロセッサおよび/またはメモリが任意の他のエンティティと通信することを可能にするために、すなわち、例えば、さらなる命令を得るためにもしくはリモートメモリストアにアクセスし使用するために、様々な技術が使用されてもよい。そのような通信を提供するために使用されるそのような技術は、例えば、ネットワーク、インターネット、イントラネット、エクストラネット、LAN、イーサネット、セルタワーもしくは衛星を介した無線通信、または通信を提供する任意のクライアントサーバシステムを含むことができる。そのような通信技術は、例えば、TCP/IP、UDP、またはOSIなどの任意の適切なプロトコルを使用することができる。
[0067]上述のように、命令のセットが、実施形態の処理で使用されてもよい。命令のセットは、プログラムまたはソフトウェアの形態のものであってもよい。ソフトウェアは、例えば、システムソフトウェアまたはアプリケーションソフトウェアの形態のものであってもよい。ソフトウェアはまた、例えば、別個のプログラムの集合、より大きいプログラム内のプログラムモジュール、またはプログラムモジュールの一部分の形態のものであってもよい。使用されるソフトウェアはまた、オブジェクト指向プログラミングの形態のモジュール式プログラミングを含むことができる。ソフトウェアは、処理されるデータをどう扱うかを処理機械に伝える。
[0068]さらに、実施形態の実施態様および運用において使用される命令または命令のセットは、処理機械が命令を読み取ることができるような適切な形態のものでありうることが理解される。例えば、プログラムを形成する命令は、1つまたは複数のプロセッサが命令を読み取ることを可能にするために機械語またはオブジェクトコードに変換される適切なプログラミング言語の形態のものとすることができる。すなわち、特定のプログラミング言語におけるプログラミングコードまたはソースコードの書かれたラインは、コンパイラー、アセンブラー、またはインタープリターを使用して機械語に変換される。機械語は、例えば、特定のタイプの処理機械、すなわち、特定のタイプのコンピュータに特有である2値符号化機械命令である。コンピュータは機械語を理解する。
[0069]任意の適切なプログラミング言語が、様々な実施形態に従って使用されてもよい。さらに、単一のタイプの命令または単一のプログラミング言語がシステムおよび方法の運用に関連して利用されることは必要ではない。むしろ、任意の数の異なるプログラミング言語が、必要および/または所望に応じて利用されてもよい。
[0070]同様に、実施形態の実施において使用される命令および/またはデータは、所望されうるように、任意の圧縮または暗号化技法またはアルゴリズムを利用することができる。暗号化モジュールが、データを暗号化するために使用されてもよい。さらに、ファイルまたは他のデータが、例えば、適切な解読モジュールを使用して解読されてもよい。
[0071]上述のように、本実施形態は、例証として、例えば、少なくとも1つのメモリを含むコンピュータまたはコンピュータシステムを含む処理機械の形態で具現化することができる。コンピュータオペレーティングシステムが上述の運用を実行することを可能にする命令のセット、すなわち、例えば、ソフトウェアが、所望に応じて、多種多様な1つまたは複数の媒体のうちの任意の媒体に含まれてもよいことを理解されたい。さらに、命令のセットによって処理されるデータはまた、多種多様な1つまたは複数の媒体のうちの任意の媒体に含まれてもよい。すなわち、実施形態で使用される命令のセットおよび/またはデータを保持するために利用される処理機械内の特定の媒体、すなわち、メモリは、例えば、様々な物理的形態または伝送媒体のうちの任意のものをとることができる。例証として、媒体は、紙、透明紙、コンパクトディスク、DVD、集積回路、ハードディスク、フロッピーディスク、光ディスク、磁気テープ、RAM、ROM、PROM、EPROM、ワイヤ、ケーブル、ファイバ、通信チャネル、衛星伝送、メモリカード、SIMカード、または他の遠隔伝送、ならびにプロセッサが読み取ることができる任意の他のデータの媒体またはソースの形態のものとすることができる。
[0072]さらに、実施形態を実施する処理機械で使用される1つまたは複数のメモリは、所望に応じて、メモリが命令、データ、または他の情報を保持することを可能にする多種多様な形態のうちの任意の形態とすることができる。したがって、メモリは、データを保持するためのデータベースの形態のものであってもよい。データベースは、例えば、フラットファイル構成またはリレーショナルデータベース構成などの任意の所望のファイルの構成を使用することができる。
[0073]システムおよび方法では、様々な「ユーザインターフェース」を利用し、ユーザが実施形態を実施するために使用される1つまたは複数の処理機械とインターフェースでき得る。本明細書で使用するとき、ユーザインターフェースは、ユーザが処理機械と対話することを可能にする、処理機械によって使用される任意のハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組合せを含む。ユーザインターフェースは、例えば、ダイアログスクリーンの形態のものであってもよい。ユーザインターフェースは、マウス、タッチスクリーン、キーボード、キーパッド、音声リーダ、音声認識器、ダイアログスクリーン、メニューボックス、リスト、チェックボックス、トグルスイッチ、プッシュボタン、または、任意の他のデバイスであって、任意の他のデバイスが命令のセットを処理するおよび/または処理機械に情報を提供するときに、処理機械の運用に関する情報をユーザが受け取ることを可能にする、任意の他のデバイスのうちの任意のものをさらに含むことができる。したがって、ユーザインターフェースは、ユーザと処理機械との間の通信を提供する任意のデバイスである。ユーザインターフェースを通してユーザによって処理機械に提供される情報は、例えば、コマンド、データの選択、または何らかの他の入力の形態のものであってもよい。
[0074]上述で論じたように、ユーザインターフェースは、命令のセットを実行する処理機械によって利用され、その結果、処理機械は、ユーザのためにデータを処理する。ユーザインターフェースは、一般に、情報を伝達するかまたはユーザからの情報を受け取るためにユーザと対話するための処理機械によって使用される。しかしながら、システムおよび方法のいくつかの実施形態によれば、人間のユーザが処理機械によって使用されるユーザインターフェースと実際に対話することは必要でないことが理解されるべきである。むしろ、ユーザインターフェースは、人間のユーザではなく別の処理機械と対話する、すなわち、情報を伝達し情報を受け取ることができることも企図される。したがって、他の処理機械は、ユーザと見なされてもよい。さらに、システムおよび方法で利用されるユーザインターフェースは、別の1つまたは複数の処理機械と部分的に対話するとともに、人間のユーザとも部分的に対話することができることが企図される。
[0075]実施形態が広範囲の実用性および用途を受け入れることができることが当業者によって容易に理解されるであろう。本明細書に記載されたもの以外の本発明の多くの実施形態および適応形態、ならびに多くの変形形態、修正形態、および等価形態が、趣旨または範囲から逸脱することなく、前述の説明から明らかになるか、またはそれによって合理的に示唆されるであろう。
[0076]したがって、実施形態が、例示的な実施形態に関連してここで詳細に記載されたが、本開示は、単なる本発明の例証および例示であり、本発明の実施可能な程度の開示を提供するために行われていることを理解されたい。したがって、前述の開示は、本発明を限定する、または別の方法で任意の他のそのような実施形態、適応形態、変形形態、修正形態、もしくは等価形態を排除すると解釈されるように意図されていない。

Claims (18)

  1. ピアツーピアネットワークを使用する連合学習のための方法であって、
    ピアツーピアネットワークにおける複数の参加者ノードによって、コンセンサスアルゴリズムを使用して、前記参加者ノードのうちの1つの参加者ノードを、協力者ノードとして選出するステップと、
    前記協力者ノードによって、協力者ノード公開鍵および協力者ノード秘密鍵を生成するステップと、
    前記協力者ノードによって、前記複数の参加者ノードに、前記協力者ノード公開鍵をブロードキャストするステップと、
    各参加者ノードによって、参加者ノード公開鍵および参加者ノード秘密鍵を生成するステップであって、各参加者ノードは、前記協力者ノードとの各通信のために、新たな参加者ノード公開鍵および新たな参加者ノード秘密鍵を生成する、ステップと、
    各参加者ノードによって、前記参加者ノードのためのローカル機械学習モデルのパラメータおよび前記参加者ノード公開鍵を含むメッセージを、前記協力者ノード公開鍵を用いて暗号化するステップと、
    各参加者ノードによって、前記暗号化されたメッセージを前記ピアツーピアネットワーク上でブロードキャストするステップと、
    前記協力者ノードによって、前記暗号化されたメッセージの各々を、前記協力者ノード秘密鍵を用いて復号するステップと、
    前記協力者ノードによって、前記ローカル機械学習モデルのために、前記復号されたパラメータを用いて、集約された機械学習モデルを更新するステップと、
    前記協力者ノードによって、各参加者ノードの公開鍵を用いて、前記集約された機械学習モデルからの更新を各々含む、複数の更新メッセージを暗号化するステップと、
    前記協力者ノードによって、前記ピアツーピアネットワーク上で前記複数のメッセージをブロードキャストするステップと、
    前記参加者ノードの各々によって、前記参加者ノードのための前記参加者ノード秘密鍵を用いて、前記複数のメッセージのうちの1つのメッセージを復号するステップと、
    前記参加者ノードの各々によって、前記更新を用いて、前記参加者ノードのための前記ローカル機械学習モデルを更新するステップとを含む、方法。
  2. 前記コンセンサスアルゴリズムは、Raftコンセンサスアルゴリズムである、請求項1に記載の方法。
  3. 前記パラメータは、モデル交換、ローカル機械学習モデルの重み、および/または、前記ローカル機械学習モデルに関連する情報を含む、請求項1に記載の方法。
  4. 前記パラメータは、クリアデータおよび/または合成データを含む、請求項1に記載の方法。
  5. 前記協力者ノードは、前記復号されたパラメータを使用して、モデル集約を実行する、請求項1に記載の方法。
  6. 前記協力者ノードは、前記復号されたパラメータを使用して、前記集約された機械学習モデルをトレーニングする、請求項1に記載の方法。
  7. 前記参加者ノードは、限られた期間、前記協力者ノードである、請求項1に記載の方法。
  8. 前記協力者ノードは、前記参加者ノードにハートビートをブロードキャストする、請求項1に記載の方法。
  9. 前記参加者ノードは、前記協力者ノードが非アクティブであることに応答して、新たな協力者ノードを選出する、請求項1に記載の方法。
  10. 各参加者ノードがローカル機械学習モデルに関連付けられる、複数の参加者ノードと、
    前記複数の参加者ノードを接続するピアツーピアネットワークとを備え、
    前記複数の参加者ノードは、コンセンサスアルゴリズムを使用して、前記複数の参加者ノードのうちの1つの参加者ノードを、協力者ノードとして選出し、
    前記協力者ノードは、協力者ノード公開鍵および協力者ノード秘密鍵を生成し、
    前記協力者ノードは、前記協力者ノード公開鍵を、前記複数の参加者ノードにブロードキャストし、
    各参加者ノードは、参加者ノード公開鍵および参加者ノード秘密鍵を生成し、各参加者ノードは、前記協力者ノードとの各通信のために、新たな参加者ノード公開鍵および新たな参加者ノード秘密鍵を生成し、
    各参加者ノードは、前記参加者ノードのためのローカル機械学習モデルのパラメータおよび前記参加者ノード公開鍵を含むメッセージを、前記協力者ノード公開鍵を用いて暗号化し、
    各参加者ノードは、前記暗号化されたメッセージを、前記ピアツーピアネットワーク上でブロードキャストし、
    前記協力者ノードは、前記暗号化されたメッセージの各々を、前記協力者ノード秘密鍵を用いて復号し、
    前記協力者ノードは、前記ローカル機械学習モデルのために、集約された機械学習モデルを、前記復号されたパラメータを用いて更新し、
    前記協力者ノードは、各々が、前記集約された機械学習モデルからの更新を含む複数の更新メッセージを、各参加者ノードの公開鍵を用いて暗号化し、
    前記協力者ノードは、前記複数のメッセージを、前記ピアツーピアネットワーク上でブロードキャストし、
    前記参加者ノードの各々は、前記複数のメッセージのうちの1つのメッセージを、前記参加者ノードのためのその参加者ノード秘密鍵を用いて復号し、
    前記参加者ノードの各々は、前記更新を用いて、そのローカル機械学習モデルを更新する、システム。
  11. 前記コンセンサスアルゴリズムは、Raftコンセンサスアルゴリズムである、請求項10に記載のシステム。
  12. 前記パラメータは、モデル交換、ローカル機械学習モデルの重み、および/または、前記ローカル機械学習モデルに関連する情報を含む、請求項10に記載のシステム。
  13. 前記パラメータは、クリアデータおよび/または合成データを含む、請求項10に記載のシステム。
  14. 前記協力者ノードは、前記復号されたパラメータを使用して、モデル集約を実行する、請求項10に記載のシステム。
  15. 前記協力者ノードは、前記復号されたパラメータを使用して、前記集約された機械学習モデルをトレーニングする、請求項10に記載のシステム。
  16. 前記参加者ノードは、限られた期間、前記協力者ノードである、請求項10に記載のシステム。
  17. 前記協力者ノードは、前記参加者ノードにハートビートをブロードキャストする、請求項10に記載のシステム。
  18. 前記参加者ノードは、前記協力者ノードが非アクティブであることに応答して、新たな協力者ノードを選出する、請求項10に記載のシステム。
JP2023546417A 2021-02-01 2022-02-01 ピアツーピアネットワークを使用する連合学習のためのシステムおよび方法 Pending JP2024505553A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IN202111004346 2021-02-01
IN202111004346 2021-02-01
US17/649,471 2022-01-31
US17/649,471 US20220245528A1 (en) 2021-02-01 2022-01-31 Systems and methods for federated learning using peer-to-peer networks
PCT/US2022/070455 WO2022165535A1 (en) 2021-02-01 2022-02-01 Systems and methods for federated learning using peer-to-peer networks

Publications (1)

Publication Number Publication Date
JP2024505553A true JP2024505553A (ja) 2024-02-06

Family

ID=80446177

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023546417A Pending JP2024505553A (ja) 2021-02-01 2022-02-01 ピアツーピアネットワークを使用する連合学習のためのシステムおよび方法

Country Status (4)

Country Link
EP (1) EP4285296A1 (ja)
JP (1) JP2024505553A (ja)
CA (1) CA3206729A1 (ja)
WO (1) WO2022165535A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116527102B (zh) * 2023-03-23 2023-12-08 北京和德宇航技术有限公司 卫星测运控系统、方法及电子设备
CN117675411B (zh) * 2024-01-31 2024-04-26 智慧眼科技股份有限公司 一种基于纵向XGBoost算法的全局模型获取方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610854B (zh) * 2016-01-18 2019-08-06 上海交通大学 一种网络协同防御系统
EP3564873B1 (en) * 2018-04-30 2022-11-30 Hewlett Packard Enterprise Development LP System and method of decentralized machine learning using blockchain
US20200272945A1 (en) * 2019-02-21 2020-08-27 Hewlett Packard Enterprise Development Lp System and method of decentralized model building for machine learning and data privacy preserving using blockchain

Also Published As

Publication number Publication date
EP4285296A1 (en) 2023-12-06
WO2022165535A1 (en) 2022-08-04
CA3206729A1 (en) 2022-08-04

Similar Documents

Publication Publication Date Title
US11537195B2 (en) Policy-enabled encryption keys having complex logical operations
US10666639B2 (en) Customer-centric workflow for initial on-boarding of an OpenFlow enabled switch
US11228590B2 (en) Data processing method and apparatus based on mobile application entrance and system
US20210119983A1 (en) Structure of policies for evaluating key attributes of encryption keys
US8732462B2 (en) Methods and apparatus for secure data sharing
US20160044000A1 (en) System and method to communicate sensitive information via one or more untrusted intermediate nodes with resilience to disconnected network topology
JP2024505553A (ja) ピアツーピアネットワークを使用する連合学習のためのシステムおよび方法
CN109496414A (zh) 识别数据将被复制到的网络节点
US20210185026A1 (en) System and method for hierarchy manipulation in an encryption key management system
US20170250811A1 (en) Policy-enabled encryption keys having ephemeral policies
US20220245528A1 (en) Systems and methods for federated learning using peer-to-peer networks
WO2020048427A1 (zh) 选举代表节点设备方法、装置、计算机设备及存储介质
US10348485B2 (en) Linking encryption key management with granular policy
US11063980B2 (en) System and method for associating encryption key management policy with device activity
US20210021580A1 (en) Protection of private data using an enclave cluster
US20220123924A1 (en) Method for providing a state channel
US20220164712A1 (en) Systems and methods for federated learning using distributed messaging with entitlements for anonymous computation and secure delivery of model
CN113923251A (zh) 分布式网关系统
CN116917911A (zh) 使用对等网络进行联合学习的系统和方法
Khole et al. A compendium on distributed systems
SOARES KEY AGREEMENT FOR DECENTRALIZED SECURE INTRUSION DETECTION
CN117917059A (zh) 用于分布式账本网络中的上下文消息传递和信息路由的系统和方法
CN116980115A (zh) 消息处理方法、装置、产品、设备和介质