(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】ネットワークによって相互接続された複数のネットワーク・ノードによる協調学習のためのコンピュータ実施方法、コンピューティング・デバイス、及びコンピュータ・プログラム
(51)【国際特許分類】
G06F 16/182 20190101AFI20240925BHJP
G06N 20/00 20190101ALI20240925BHJP
【FI】
G06F16/182
G06N20/00
(21)【出願番号】P 2022521650
(86)(22)【出願日】2020-10-12
(86)【国際出願番号】 IB2020059571
(87)【国際公開番号】W WO2021074773
(87)【国際公開日】2021-04-22
【審査請求日】2023-03-24
(32)【優先日】2019-10-16
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】井手 剛
(72)【発明者】
【氏名】ハリー、プトラ、ルディ、レイモンド
(72)【発明者】
【氏名】パン、ダング、ティエン
【審査官】早川 学
(56)【参考文献】
【文献】米国特許出願公開第2019/0012595(US,A1)
【文献】特開2013-037726(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
ネットワークによって相互接続された複数のネットワーク・ノードによる協調学習のためのコンピュータ実施の方法であって、
前記複数のネットワーク・ノードは複数のクライアント・システムに属し、
第1のクライアント・システムに属する第1のネットワーク・ノードにおいて、前記複数のクライアント・システムの間のコンセンサスに基づいて構築されたパターン辞書を用いて、前記第1のクライアント・システムのための予測モデルを作成することと、
前記第1のクライアント・システムの未処理データに基づいて、前記第1のクライアント・システムに関するローカル統計量のセットを計算することと、
前記複数のクライアント・システムからローカル統計量のセットを集約することによって、ローカル統計量のコンセンサス・セットを計算することと、
前記パターン辞書の現在の値及び前記ローカル統計量の前記コンセンサス・セットに基づいて、前記パターン辞書を更新することと、
を含
み、
前記予測モデルは、前記第1のクライアント・システムの前記未処理データと、前記第1のクライアント・システムの混合重みのセットと、前記パターン辞書とに基づいて決定される確率分布である、
コンピュータ実施の方法。
【請求項2】
前記パターン辞書、前記ローカル統計量のセット、及び前記混合重みのセットの各々は、それぞれ、混合成分のセットに対応する成分を含む、請求項
1に記載のコンピュータ実施の方法。
【請求項3】
前記パターン辞書は、ハッシュ・チェーン型データ構造体にストアされる、請求項1
又は請求項2に記載のコンピュータ実施の方法。
【請求項4】
前記ローカル統計量のセットは、前記第1のクライアント・システムの前記未処理データの十分統計量のセットと、前記第1のクライアント・システムの前記未処理データのサンプル・サイズのセットとを含む、請求項1~請求項
3の何れか1項に記載のコンピュータ実施の方法。
【請求項5】
前記未処理データは、一つ又は複数の物のインターネット(IoT)デバイスによって生成された実数値を含む、請求項1~請求項
4の何れか1項に記載のコンピュータ実施の方法。
【請求項6】
前記複数のクライアント・システムから前記ローカル統計量のセットを集約することは、前記複数のネットワーク・ノードの間で、前記ローカル統計量のセットを暗号化せずに前記ネットワーク上で交換することを含む、請求項1~請求項
5の何れか1項に記載のコンピュータ実施の方法。
【請求項7】
前記第1のネットワーク・ノードは、前記第1のクライアント・システムのコンセンサス・ノードであり、前記第1のクライアント・システムの前記未処理データは、前記第1のクライアント・システムのクライアント・ノードから暗号化されて受け取られる、請求項1~請求項
6の何れか1項に記載のコンピュータ実施の方法。
【請求項8】
前記第1のクライアント・システムの前記未処理データ及び前記パターン辞書に基づいて、前記第1のクライアント・システムのサンプル重みのセットを更新することをさらに含み、前記サンプル・サイズのセットは、前記サンプル重みに基づいて決定される、請求項
4に記載のコンピュータ実施の方法。
【請求項9】
前記ローカル統計量の前記コンセンサス・セットを計算することは、前記第1のクライアント・システムの前記ローカル統計量のセットの異なるサブセットを、異なるクライアント・システムに属する異なるネットワーク・ノードに配布することを含む、請求項1~請求項
8の何れか1項に記載のコンピュータ実施の方法。
【請求項10】
前記第1のクライアント・システムの前記ローカル統計量のセットの前記異なるサブセットは、ランダムに生成されたインシデント行列に基づいて識別されたネットワーク・ノードに配布される、請求項
9に記載のコンピュータ実施の方法。
【請求項11】
ネットワークによって相互接続された複数のネットワーク・ノード中のネットワーク・ノードを実装するコンピューティング・デバイスであって、
前記複数のネットワーク・ノードは協調学習フレームワーク内の複数のクライアント・システムに属し、
プロセッサと、
命令のセットをストアするストレージ・デバイスと、
を備え、
前記プロセッサによる前記命令のセットの実行が、
第1のクライアント・システムに属する第1のネットワーク・ノードにおいて、前記複数のクライアント・システムの間のコンセンサスに基づいて構築されたパターン辞書を用いて、前記第1のクライアント・システムのための予測モデルを作成することと、
前記第1のクライアント・システムの未処理データに基づいて、前記第1のクライアント・システムに関するローカル統計量のセットを計算することと、
前記複数のクライアント・システムからローカル統計量のセットを集約することによって、ローカル統計量のコンセンサス・セットを計算することと、
前記パターン辞書の現在の値及び前記ローカル統計量の前記コンセンサス・セットに基づいて、前記パターン辞書を更新することと、
を含む行為を行うように前記コンピューティング・デバイスを構成
し、
前記予測モデルは、前記第1のクライアント・システムの前記未処理データと、前記第1のクライアント・システムの混合重みのセットと、前記パターン辞書とに基づいて決定される確率分布である、
コンピューティング・デバイス。
【請求項12】
前記パターン辞書、前記ローカル統計量のセット、及び前記混合重みのセットの各々は、それぞれ、混合成分のセットに対応する成分を含む、請求項
11に記載のコンピューティング・デバイス。
【請求項13】
前記パターン辞書は、ハッシュ・チェーン型データ構造体にストアされる、請求項
11又は請求項
12に記載のコンピューティング・デバイス。
【請求項14】
前記ローカル統計量のセットは、前記第1のクライアント・システムの前記未処理データの十分統計量のセットと、前記第1のクライアント・システムの前記未処理データのサンプル・サイズのセットとを含む、請求項
11~請求項
13の何れか1項に記載のコンピューティング・デバイス。
【請求項15】
前記未処理データは、一つ又は複数の物のインターネット(IoT)デバイスによって生成された実数値を含む、請求項
11~請求項
14の何れか1項に記載のコンピューティング・デバイス。
【請求項16】
前記複数のクライアント・システムから前記ローカル統計量のセットを集約することは、前記複数のネットワーク・ノードの間で、前記ローカル統計量のセットを暗号化せずに前記ネットワーク上で交換することを含む、請求項
11~請求項
15の何れか1項に記載のコンピューティング・デバイス。
【請求項17】
前記第1のネットワーク・ノードは、前記第1のクライアント・システムのコンセンサス・ノードであり、前記第1のクライアント・システムの前記未処理データは、前記第1のクライアント・システムのクライアント・ノードから暗号化されて受け取られる、請求項
11~請求項
16の何れか1項に記載のコンピューティング・デバイス。
【請求項18】
前記コンピューティング・デバイスは、前記第1のクライアント・システムの前記未処理データ及び前記パターン辞書に基づいて、前記第1のクライアント・システムのサンプル重みのセットを更新することを含むステップを行うように動作可能であり、前記サンプル・サイズのセットは、前記サンプル重みに基づいて決定される、請求項
14に記載のコンピューティング・デバイス。
【請求項19】
前記ローカル統計量の前記コンセンサス・セットを計算することは、前記第1のクライアント・システムの前記ローカル統計量のセットの異なるサブセットを、異なるクライアント・システムに属する異なるネットワーク・ノードに配布することを含み、前記第1のクライアント・システムの前記ローカル統計量のセットの前記異なるサブセットは、ランダムに生成されたインシデント行列に基づいて識別されたネットワーク・ノードに配布される、請求項
11~請求項
18の何れか1項に記載のコンピューティング・デバイス。
【請求項20】
コンピュータ上で実行されるとき、請求項1~請求項
10の何れか1項に記載の方法を行うように適合されたプログラム・コード手段を含むコンピュータ・プログラム。
【請求項21】
請求項
20に記載のコンピュータ・プログラムを格納したコンピュータ可読ストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、分散型ネットワークによる計算に関する。
【背景技術】
【0002】
分散型の安全かつ透明な取引管理の設計原理は、特に連合学習の分野における機械学習アルゴリズムに、新しい光を投げかけている。さらに、データの整合性を検証する際、従来のセキュリティの概念は、確率的アプローチに一部置き換えられる。
【発明の概要】
【0003】
本開示の幾つかの実施形態は、ネットワークにより相互接続された複数のネットワーク・ノードによって実施される協調学習フレームワークを提供する。ネットワーク・ノードは、フレームワークの複数のクライアント・システムに属する。第1のクライアント・システムに属するネットワーク・ノードは、複数のクライアント・システムの間のコンセンサスに基づいて構築されたパターン辞書を用いることによって、第1のクライアント・システムのための予測モデルを作成する。ネットワーク・ノードは、第1のクライアント・システムの未処理データに基づいて、ローカル統計量のセットを計算する。ネットワーク・ノードは、複数のクライアント・システムからローカル統計量のセットを集約することによってローカル統計量のコンセンサス・セットを計算する。ネットワーク・ノードは、パターン辞書の現在の値及びローカル統計量のコンセンサス・セットに基づいて、パターン辞書を更新する。
【0004】
幾つかの実施形態において、ネットワーク・ノードは、第1のクライアント・システムのローカル統計量のセットの異なるサブセットを、異なるクライアント・システムに属する異なるネットワーク・ノードに配布することによって、ローカル統計量のコンセンサス・セットを計算する。第1のクライアント・システムのローカル統計量のセットの異なるサブセットは、ランダムに生成されたインシデント行列に基づいて識別されるネットワーク・ノードに配布される。
【0005】
一つの態様により、ネットワークによって相互接続された複数のクライアント・システムに属する、複数のネットワーク・ノードによる協調学習のコンピュータ実施の方法であって、第1のクライアント・システムに属する第1のネットワーク・ノードにおいて、複数のクライアント・システムの間のコンセンサスに基づいて構築されたパターン辞書を用いて、第1のクライアント・システムのための予測モデルを作成することと、第1のクライアント・システムの未処理データに基づいて、第1のクライアント・システムのローカル統計量のセットを計算することと、複数のクライアント・システムからローカル統計量のセットを集約することによって、ローカル統計量のコンセンサス・セットを計算することと、パターン辞書の現在の値及びローカル統計量のコンセンサス・セットに基づいて、パターン辞書を更新することと、を含む方法が提供される。
【0006】
別の態様により、ネットワークによって相互接続された協調学習フレームワーク内の複数のクライアント・システムに属する、複数のネットワーク・ノード内のネットワーク・ノードを実装するコンピュータ・プログラム製品であって、一つ又は複数の非一時的コンピュータ可読ストレージ・デバイスと、一つ又は複数の非一時的ストレージ・デバイスの内の少なくとも一つにストアされたプログラム命令とを含む、コンピュータ・プログラム製品が提供され、プログラム命令はプロセッサによって実行可能であり、プログラム命令は、第1のクライアント・システムに属する第1のネットワーク・ノードにおいて、複数のクライアント・システムの間のコンセンサスに基づいて構築されたパターン辞書を用いて、第1のクライアント・システムのための予測モデルを作成することと、第1のクライアント・システムの未処理データに基づいて、第1のクライアント・システムに関するローカル統計量のセットを計算することと、複数のクライアント・システムからローカル統計量のセットを集約することによって、ローカル統計量のコンセンサス・セットを計算することと、パターン辞書の現在の値及びローカル統計量のコンセンサス・セットに基づいて、パターン辞書を更新することと、のための命令のセットを備える。
【0007】
別の態様により、ネットワークによって相互接続され、協調学習フレームワーク内の複数のクライアント・システムに属する、複数のネットワーク・ノードの内の一つのネットワーク・ノードを実装するコンピューティング・デバイスであって、プロセッサと、命令のセットをストアするストレージ・デバイスとを備え、プロセッサによる命令のセットの実行が、第1のクライアント・システムに属する第1のネットワーク・ノードにおいて、複数のクライアント・システムの間のコンセンサスに基づいて構築されたパターン辞書を用いて、第1のクライアント・システムのための予測モデルを作成することと、第1のクライアント・システムの未処理データに基づいて、第1のクライアント・システムに関するローカル統計量のセットを計算することと、複数のクライアント・システムからローカル統計量のセットを集約することにより、ローカル統計量のコンセンサス・セットを計算することと、パターン辞書の現在の値及びローカル統計量のコンセンサス・セットに基づいて、パターン辞書を更新することと、を含む行為を行うようにコンピューティング・デバイスを構成する、コンピューティング・デバイスが提供される。
【0008】
前述の概要は、本開示の幾つかの実施形態に対する簡単な導入の役割を果たすことを意図する。前述の概要は、本文書において開示される全ての発明の主題の導入又は概説であることを意図するものではない。以下の詳細な説明、及びそこで参照される図面は、概要において説明される実施形態、並びに他の実施形態をさらに説明する。従って、本文書により説明される全ての実施形態を理解するために、概要、詳細な説明、及び図面が提供される。さらに、特許請求される主題は、本主題の趣旨から逸脱することなく、他の特定の形態で実現することができるため、概要、詳細な説明及び図面における例示的な詳細によって限定されるものではなく、むしろ、添付の特許請求の範囲によって規定される。
【図面の簡単な説明】
【0009】
図面は例示的な実施形態のものである。図面は全ての実施形態を例示するものではない。さらに又は代わりに他の実施形態を用いることができる。明白又は不必要であり得る詳細は、紙面を節約するため又はより効果的な図解のために、省略されている可能性がある。幾つかの実施形態は、付加的な構成要素又はステップを用いて、若しくは図示されている構成要素又はステップの全てを用いずに、又はそれら両方により、実施することができる。異なる図面に同じ数字が現れるとき、それは、同じ又は類似の構成要素若しくはステップを指す。
【0010】
【
図1】例示的な一実施形態に合致する、協調学習フレームワークを実装する分散型システム100を示す。
【
図2】例示的な一実施形態に合致する、協調辞書学習を行う種々のクライアント・システムのコンセンサス・ノードを示す。
【
図3a】好ましい実施形態による、協調辞書学習を行うクライアント・システムのコンセンサス・ノードを示す。
【
図3b】好ましい実施形態による、協調辞書学習を行うクライアント・システムのコンセンサス・ノードを示す。
【
図3c】好ましい実施形態による、協調辞書学習を行うクライアント・システムのコンセンサス・ノードを示す。
【
図4】(a)~(h)は、コンセンサス・ノードのためのインシデント行列として用いられる巡回グラフの例を示す。
【
図5】例示的な一実施形態に合致する、協調辞書学習を行うためのプロセス500を概念的に示す。
【
図6】例証的な一実施形態による、データ処理システムの構成要素のブロック図を示す。
【発明を実施するための形態】
【0011】
以下の詳細な説明において、多くの特定の細部が、関連する教示の完全な理解を与えるための例として明らかにされる。しかし、本教示は、そのような細部無しに実施できることは明白であるはずである。他の場合には、周知の方法、手順、構成要素若しくは回路又はそれら両方は、本教示の態様を不必要に不明瞭にすることを避けるために、細部なしに比較的高レベルで記述されている。
【0012】
IoT(物のインターネット)デバイスを用いる協調学習は、分散学習のアプリケーションの一つである。IoTデータの統計的性質は、財務エンティティの間の取引データとは異なり、大部分は、ノイズの多い多変量の実数値データである。実数値データは、既存の暗号技術で保護されるには、あまりにも低レベルの場合がある。さらに、IoTデータのセキュリティ要件は、送金のための要件とは異なる。多くのIoTアプリケーションでは、個々のデータ・サンプルの正確な値よりも、生産収率などの高レベルの統計量が対象となることが多い。
【0013】
本開示の幾つかの実施形態は、分散型マルチタスク環境における協調学習のためのフレームワークを提供する。このフレームワークは、協調学習を、ローカル更新、コンセンサス構築、及び最適化の3ステップで行う。協調学習フレームワークのクライアント・システムを実装するコンピューティング・デバイスは、特にIoTデバイスからの多量の低レベルのセンサー・データを含むトランザクションについて、暗号化ベースのマルチパーティ計算法の計算オーバーヘッドなしに、コンセンサス構築及びデータ・プライバシーを達成することができる。このように、本明細書で論じられるクライアント・システムを実装するコンピューティング・デバイスは、演算サイクル、メモリを含むより少ない計算リソースを用いる。
【0014】
協調学習フレームワークは、種々の会社によって所有される産業資産の協調的異常検知のために用いることができる。協調学習フレームワークは、各々のクライアント・システムが、安全な協調努力に基づいて各々の資産にカスタマイズされたS異常検知モデルを学習することを可能にする。協調学習フレームワークを用いる他の例には、種々の医療機関によって収集されたバイオマーカーに基づく協調的な病気又は症状分析、種々の財務エンティティからの取引データに基づく協調的な資金洗浄対策モデル、及び、種々の電気自動車からのバッテリ・センサ・データに基づくバッテリ寿命予測が含まれる。
【0015】
幾つかの実施形態に関して、
図1は、本開示の一実施形態に合致する協調学習フレームワークを実装する分散型システム100を示す。図示されているように、分散型システム100は、クライアント・システム111~119(クライアント・システム113~118は示されていない)を含むS個のクライアント・システムを相互接続するネットワーク105上に実装される。各々のクライアント・システムは、会社、金融機関、政府機関、個人宅、又は、他のクライアント・システムからの有用な情報を利用することに関心のあり得る他のタイプのエンティティ、に属することができる。各々のクライアント・システム又は会社は、他のクライアント・システムが所有するデータを利用して、それ自体の予測モデルを向上させることを望み、それ自体のデータを競争者又は外部のエンティティと共有することを望まない。
【0016】
各々のクライアント・システムは、ネットワーク105に接続されたコンピューティング・デバイスを含む一つ又は複数のコンピューティング・デバイスを使用する。ネットワーク105の管理者は、通信経路の管理、クロック同期などのようなブックキーピング・ジョブを行うことが期待される。ネットワーク105の管理者は、クライアントの未処理データを見ることは許されない。各々のクライアント・システムは、ネットワーク105にネットワーク・ノードとして接続される一つ又は複数のコンピューティング・デバイスを含む。クライアント・システムのネットワーク・ノードは、パートナーであるクライアント・ノード及びコンセンサス・ノードを含むことができる。図示されているように、クライアント・システム111はクライアント・ノード121及びコンセンサス・ノード131を有し、クライアント・システム112はクライアント・ノード122及びコンセンサス・ノード132を有し、他のクライアント・システム119はクライアント・ノード129及びコンセンサス・ノード139を有する。コンセンサス・ノードは、ネットワーク105のネットワーク・ノードである。幾つかの実施形態において、幾つかの又は全てのクライアント・ノードは、ネットワーク105のネットワーク・ノードではなく、ネットワーク105に直接には接続されていない。
【0017】
クライアント・ノードは、例えば、クライアント・システムのデータベースに接続されていることにより、クライアント・システムのローカル・データの所有者である。クライアント・システムのクライアント・ノードは、クライアント・システムのネットワーク・ノード(例えば、コンセンサス・ノード)の管理者として振る舞うことができる。幾つかの実施形態において、複数のクライアント・ノードがコンセンサス・ノードに接続され得る。クライアント・ノードは、事前選択された信頼できるパートナー・コンセンサス・ノード(例えば、同じクライアント・システムのコンセンサス・ノード)だけと通信する。コンセンサス・ノードは、他のコンセンサス・ノードと通信して、コンセンサス(パターン辞書の形態の)を構築する。例えば、クライアント・ノード121はクライアント・システム111のローカル・データの所有者であり、クライアント・システム111に属するデータを送受信する。コンセンサス・ノード131は、クライアント・ノード121の信頼できるパートナー・コンセンサス・ノードであり、クライアント・ノード121から統計量を受け取る。コンセンサス・ノード131は、クライアント・システム112のコンセンサス・ノード132及びクライアント・システム119のコンセンサス・ノード139を含む、他のクライアント・システムに属するコンセンサス・ノードと通信する。
【0018】
クライアント・ノード及びそのパートナー・コンセンサス・ノードは、同じコンピューティング・デバイス上に実装することができる。例えば、クライアント・システム112のクライアント・ノード122及びコンセンサス・ノード132は、同じコンピューティング・デバイス102に実装される。クライアント・ノード及びそのパートナー・コンセンサス・ノードは、異なるコンピュータ・デバイスに実装されることもできる。クライアント・ノード及びパートナー・コンセンサス・ノードを実装する二つのコンピューティング・デバイスは、クライアント・システム内のプライベート接続によって接続することができる。この二つのコンピューティング・デバイスはまた、異なる物理的位置にあって、ネットワーク105によって相互接続することもできる。幾つかの実施形態において、クライアント・システムのクライアント・ノードとそのパートナー・コンセンサス・ノードとの間のネットワーク・トラフィックは、クライアントのプライバシー要件に従って暗号化することができ、他方、異なるクライアント・システムのコンセンサス・ノードの間のネットワーク・トラフィックは暗号化されない。幾つかの実施形態において、クライアント・ノードは、クライアント・システムからのクライアントの未処理データの漏出を防ぐために、ネットワークに接続されない。
【0019】
図2は、本開示の一実施形態に合致する、協調辞書学習を行う種々の異なるクライアント・システムのコンセンサス・ノードを示す。異なるクライアント・システムのコンセンサス・ノードは互いに通信して、各々のクライアント・システムが予測モデルを構築するために用いることができるパターン辞書を協調的に構築する。この図は、クライアント・システム119(クライアントS)のコンセンサス・ノード139の動作を示す。コンセサス・ノード139は、クライアント・システム119のパートナー・クライアント・ノード129(図示されず)から、クライアント特有のデータを受け取る。コンセサス・ノード139は、他のクライアント・システムの他のコンセンサス・ノード(例えば、クライアント1のコンセンサス・ノード131及びクライアント2のコンセンサス・ノード132)とネットワーク上で通信し、協調的にパターン辞書を作成及び更新し、その結果がブロックチェーン239にストアされる。
【0020】
幾つかの実施形態において、クライアント・システム119を実装するコンピューティング・デバイスは、コンセンサス・ノード139及びブロックチェーン239を実装する。幾つかの実施形態において、コンセンサス・ノード139及びブロックチェーン239は、コンピューティング・デバイス105の一つ又は複数の処理ユニット(例えば、プロセッサ)によって実行されるソフトウェア命令のモジュールである。幾つかの実施形態において、コンセンサス・ノード139及びブロックチェーン239は、電子装置の一つ又は複数の集積回路(IC)によって実装されるハードウェア回路のモジュールである。クライアント・システム119を実装することができる例示的なコンピューティング・デバイス600が、以下で
図6を参照しながら説明されることになる。
【0021】
コンセンサス・ノード139は、未処理データ219(xS)、混合重み229(πS)、及びパターン辞書239の現在のコンテンツに基づいて、ネットワーク105を通して他のコンセンサス・ノードと交換されるコンセンサス情報250とともに、パターン辞書Θ(ブロックチェーン239内にストアされる)に関する更新を生成する。未処理データ219及び混合重み229は、クライアント119(クライアントS)特有又は所有の情報である。パターン辞書239は、異なるクライアント・システムの異なるコンセンサス・ノードによる協調学習の結果をストアする。ブロックチェーン239(パターン辞書Θ)のコンテンツは、異なるクライアント・システムの間のコンセンサスである。パターン辞書Θは、K個のモデル・パラメータ又はワード{θ1,...θK}を含み、各々のワードは、予測モデル249を計算するのに用いられる混合成分に対応する。クライアント・システム119は、パターン辞書239の対応する成分、未処理データ219、及び混合重み229を混合して、クライアント・システム119の予測モデル249を生成する。予測モデル249は、クライアント・システムのアプリケーションにより、例えば、制御モジュール259に刺激を与えるために、用いられる。幾つかの実施形態において、予測モデル249及び制御モジュール259を含むクライアント・システム119のアプリケーションは、クライアントの未処理データの漏出を防ぐためにネットワーク105には接続されない。
【0022】
未処理データ219(xS)は、クライアント119(クライアントS)特有又は所有のデータ、統計量、又は計測値であり、他のクライアント・システムと共有されるべきではない。幾つかの実施形態において、各々のクライアントは、それ自体の未処理データを非公開でデータベース内に保持する。幾つかの実施形態に関して、未処理データ219は、ノイズの多い多変量実数値データ、例えば、クライアント・システム119が所有するIoTデバイスによって生成された計測値又はセンサー・データ、を含むことができる。幾つかの実施形態において、未処理データ219は、コンセンサス・ノード139に、そのパートナー・クライアント・ノードによりネットワーク105を通して提供される。
【0023】
混合重み229(πS)は、パターン辞書239のワード又は混合成分にどれほどの重みが与えられるかを決定するために用いられる。混合重み{πS
1,...πS
K}は、それぞれ、クライアント・システムS(クライアント・システム119)の予測モデルPsを決定するためにプライベート未処理データ219(xS)と混合するときに、パターン辞書の混合成分{θ1,...θK}に適用される。
【0024】
パターン辞書239は、パターン辞書Θのワード又は混合成分をストアするブロックチェーン構造体である。ブロックチェーンは、会計検査、価格決定、査定などのために用いることができる変更不能の記録である。安全な協調学習の結果は、各々のクライアント・システムにおいてブロックチェーンにストアされる。異なるクライアント・システムのブロックチェーン(クライアント・システム111~119のブロックチェーン231~239)は、コンセンサス構築アルゴリズムに基づく同じコンテンツを有する。幾つかの実施形態において、コンセンサス構築アルゴリズムの一回の反復又は循環が終了するとき、ブロックチェーンに新しいブロックが追加される。各々のブロックは更新された一致したパターン辞書を含む。学習された辞書は、モデル・パラメータ・ベクトルのセットをワード{θ1,...θK}として含み、各々のワードは多変量実数値である。収束基準が満たされると、パターン辞書は更新を停止し、ブロックチェーンが「ロック」される。最終的な辞書のワードが、ブロックチェーンの最終ブロック内にストアされる。
【0025】
クライアント・システムs=1,...Sは、非公開でそれら自体の、以下のような未処理データを有する:
【数1】
ここで、
N
sはs番目のクライアントのサンプルの数であり、
Mはデータの次元数であり、これは全てのクライアント・システムにわたって共通であると仮定される。
【0026】
クライアント・システムSのための予測モデルは、次式によって決定される確率分布p
sである:
【数2】
ここで、
{θ
1,...θ
K}は、パターン辞書の混合成分であり、一方、{π
S
1,...π
S
K}はクライアント・システムsの混合成分のそれぞれの混合重みであり、
大文字Kは、パターン辞書中のパターンの数であり、
小文字kは、パターン辞書中のパターンのインデックスであり、
大文字Sは、ネットワーク内のエンティティの数であり、
小文字sは、ネットワーク内のクライアントのインデックスである。
【0027】
クライアント・システムsにおけるコンピューティング・デバイスは、式(2)により協調的に決定された予測分布p
sに基づいて、決定を行う若しくは対応する行為をトリガする又はそれら両方を行うことができる。例えば、協調学習システムは、種々の会社の産業資産からのセンサー・データに基づいて異常を検出するのに用いることができる。幾つかの実施形態において、異常スコアを、次式に従って負の対数尤度として計算することができる:
【数3】
ここで、x
s
new はクライアント・システムsで取得された新しい計測値である。
【0028】
幾つかの実施形態について、協調辞書学習の問題は、指数族の混合物の協調的密度評価として定式化することができる。指数族に基づいて、協調学習フレームワークは、協調辞書学習を、ローカル更新、コンセンサス構築、及び最適化の三つのステップで行う。
【0029】
確率密度に関する指数族は、次式のように表される:
【数4】
ここで、
Tはベクトル(又は行列)の転置であり、
H(.)、G(.)はスカラー関数であり、
η(.)、T(.)は、確率分布関数として必要な数学的特性を満たす(列)ベクトル関数である。
【0030】
特にT(x
s)は、クライアントsの未処理データx
sに基づく十分統計量である。統計量が確率分布の族(例えば、指数族)に関して十分であるというのは、統計量が計算されるサンプルが、それらの確率分布のどれがサンプルが取られた母集団のものであるかについて、その統計量が与える以上の付加的な情報を与えない場合である。式(4)に基づいて、辞書ワード{θ
k}は、以下の量を最大化することによって見出すことができる:
【数5】
【0031】
式(5)において、Θに依存しない全ての項は省略されている。Ts
kは、混合成分kに関するクライアント・システムsの未処理データに基づく、ローカルな十分統計量のセットである。Ns
kは、混合成分kに関するクライアント・システムsのサンプル・サイズである。Nsは、クライアント・システムsにおける全ての混合成分の全体のサンプル・サイズである。例えば、協調学習システムは、異なる金融機関(異なるクライアント・システムとしての)による不正を検出するために用いることができる。Nsは、特定の銀行における口座の総数を表し、Ns
kは、特定の銀行における特定の特性(例えば、百万ドルを超える資金を有する口座)を有する口座の数を表す。
【0032】
次式に従って、異なるクライアント・システムのN
s
k及びT
s
kは、サンプル・サイズのコンセンサス・セットN
k及び十分統計量のコンセンサス・セットT
kに集約される:
【数6】
【0033】
従って、辞書ワード{θ
k}は、次式に従って、式(5)を最大化することによって見出すことができる:
【数7】
【0034】
式(7)のすべての項は、既にクライアント・システムが利用できるので、式(7)は、クライアント・システムの間のいかなる通信にもよらずに、評価することができる。協調学習を指数族として定式化することにより、協調学習を、(i)ローカル更新、(ii)コンセンサス、及び(iii)最適化、の三つの別個のステップで行うことが可能になる。ローカル更新ステップの際に、クライアント・システムは、Ns
k及びTs
kを決定するが、これらは、他のクライアント・システムとの通信なしに、クライアント・システムsにおいて完全に決定することができる。コンセンサス・ステップの際に、クライアント・システムsは他のクライアント・システムのコンセンサス・ノードと通信し、式(6)に基づいて集約されたコンセンサスNk及びTkを計算する。最適化ステップの際に、クライアント・システムは、式(7)に基づいてθkを計算するが、これは、他のコンセンサス・ノードと通信することなしに、集合Nk及びTkに基づいて完全にクライアント・システム内で行うことができる。
【0035】
図3a~cは、協調辞書学習を行うクライアント・システムのコンセンサス・ノードを示す。具体的には、図は、指数族(例えば、集約された十分統計量T
k及び集約されたサンプル・サイズN
k)のパラメータを決定し、ネットワーク105を通して他のコンセンサス・ノードと通信することによって、パターン辞書239のコンテンツを更新するために、ローカル更新、コンセンサス構築、及び最適化のステップを行うクライアント・システム119のコンセンサス・ノード139を示す。
【0036】
図3aは、協調辞書学習のローカル更新ステップを示す。図示されるように、コンセンサス・ノード139が、クライアント・システム119の混合重み229及び未処理データ219を受け取る(例えば、パートナー・クライアント・ノードから)。次に、コンセンサス・ノード139は、未処理データ219に基づいてクライアント・システム119(クライアントs)に関する十分統計量T
s
k及びサンプル・サイズN
s
kに対するローカル更新を計算する。コンセンサス・ノードは、このオペレーションにおいて、他のクライアント・システムからの情報は用いない。計算/更新された十分統計量T
s
k及びサンプル・サイズN
s
kは、クライアント・システム119内に協調データ319としてローカルにストアされる。
【0037】
幾つかの実施形態において、コンセンサス・ノードは、サンプル重みr
s(n)
k及びN
s
kを、π
s
k(混合重み229)に基づいて、次式に従って計算する:
【数8】
【数9】
ここで、r
s(n)
kは、クライアントsのk番目の混合成分のn番目のサンプルのサンプル重みである。
【0038】
幾つかの実施形態において、クライアント・システムsの混合成分kの十分統計量T
s
kは次式のように定義することができる:
【数10】
【0039】
図3bは、協調辞書学習のコンセンサス構築ステップを示す。図示されているように、コンセンサス・ノード139は、ネットワーク105上で他のクライアント・システムのコンセンサス・ノードと通信して、他のクライアント・システムのT
s
k及びN
s
kの値を取得し、ローカルのT
s
k及びN
s
kの値(協調データ319からの)を他のクライアント・システムのコンセンサス・ノードに送る。次に、コンセンサス・ノード139は、異なるクライアント・システムのT
s
k及びN
s
kの値を集約して、異なる混合成分についてのコンセンサス十分統計量T
k及びコンセンサス・サンプル・サイズN
kにする(例えば、式(6)を用いることにより)。コンセンサス十分統計量T
k及びコンセンサス・サンプル・サイズN
kはまた、協調データ319としてストアされる。
【0040】
図3cは、協調辞書学習の最適化ステップを示す。この動作において、コンセンサス・ノード139は、コンセンサス十分統計量T
k及びコンセンサス・サンプル・サイズN
kを用いて、異なる混合成分に関するパターン辞書θ
kの更新されるコンテンツを決定し、これがブロックチェーン239にストアされる。T
k及びN
kは、コンセンサス・ノード139において集約された(協調データ319としてストアされた)ので、それらは既に、他のクライアント・システムと通信することなく、コンセンサス・ノード139が利用することができる。
【0041】
幾つかの実施形態において、T
k及びN
kに関する式(6)の和は、要素ごとに行うことができ、次式のようにスカラーの和として一般化することができる:
【数11】
ここで、
ξ
sは、クライアント・システムsのローカル統計量のセット(例えば、十分統計量T
s
k又はサンプル・サイズN
s
k)であり、
【数12】
(これ以降、ξ
-と記載する場合がある。)は、異なるクライアント・システムから集約されたローカル統計量のコンセンサス・セットである。
【0042】
幾つかの実施形態において、異なるクライアント・システムのコンセンサス・ノードの間の通信経路は、接続グラフAに基づいて限定される。接続グラフAは、インシデント行列とも呼ばれ、「1」が辺又は経路が存在することを示し、「0」は辺又は経路が存在しないことを示す。クライアント・システムの各々のコンセンサス・ノードにおいて、ローカル統計量ξ
sのセットは、次式に従って、反復的に更新される:
【数13】
ここで、εは収束を制御するパラメータである。
【0043】
幾つかの実施形態において、εは、インシデント行列に基づいてε=1/d
maxとなるように選択され、ここでd
maxは、コンセンサス・ノードのインシデント辺の最大ノード度又は数である。幾つかの実施形態において、データ・プライバシーを保護するために、クライアント・システムsのローカル統計量ξ
sのセットをN
c個のチャンク
【数14】
に分割して、次式のようにすることができる:
【数15】
【0044】
クライアント・システムsは、ξ
sをどのようにN
c個のチャンク又はサブセットに分割するかを決めることができる。幾つかの実施形態において、
図3bのコンセンサス構築ステップの各々の反復の際に、コンセンサス・ノード119は、ランダムにインシデント行列を生成し、ランダムに生成されたインシデント行列に基づいて、ローカル統計量のセットのチャンク又はサブセットを他のクライアント・システムのコンセンサス・ノードに配布する。コンセンサス構築中にローカル統計量のサブセットを他のコンセンサス・ノードに確率的に配布することは、他のクライアント・システムがプライベートな未処理データを再作成することができないので、クライアント・システムのセキュリティを高める。
【0045】
インシデント行列Aが重複せず、ルーターが常に、コンセンサス構築およびローカル統計量のチャンク分割の以前の反復とは異なるAを選択する場合には、N
c=2でもプライバシーを保護するのに十分であり得る。複数の重ならないインシデント行列を生成することが不可能なときでも(Aが密である場合又はルーターが以前に用いられたAの記憶を保持できない場合に起こり得る)、プライバシー侵害の確率p
bの上限は次式で与えられる:
【数16】
【0046】
ここで、dmaxは、インシデント・マトリックスAの最大限である。Aが粗であり、それ故にdmaxがSより遥かに小さい限り、pbは、十分に大きいNcを選択することによって任意に小さくすることができる。
【0047】
幾つかの実施形態において、異なるコンセンサス・ノードの間の対等性を保証するために、インシデント行列として、正則及び疎である巡回グラフが用いられる。
図4(a)~
図4(h)は、コンセンサス・ノードのためにインシデント行列として用いられる巡回グラフの例を示す。この図において、各々の頂点はコンセンサス・ノードを表し、各々の辺は、コンセンサス・ノードにより、コンセンサスを構築するためのそのローカル統計量のサブセットを配布するために使用されることができる通信経路を表す。
【0048】
幾つかの実施形態において、収束速度を高めるために、ローカル統計量のサブセットを配布するためのインシデント行列としてエキスパンダ・グラフが用いられる。具体的には、各々のコンセンサス・ノードs=1,...Sに対して、エキスパンダ・グラフをベースとするインシデント行列は、コンセンサス・ノードs-1、s+1、及びjへの辺を与え、ここで、jは(s-1)(j-1)modS=1の解である。エキスパンダ・グラフを使用することは、所与の精度を達成するための~log(S)の反復を示唆する。
【0049】
図5は、一実施形態と合致する協調辞書学習を行うためのプロセス500を概念的に示す。協調学習は、ネットワークによって相互接続された、協調学習フレームワークの複数の異なるクライアント・システムに属する、複数のネットワーク・ノードによって行われる。幾つかの実施形態において、クライアント・システムのネットワーク・ノード(例えば、クライアント・システム119のコンセンサス・ノード139)を実装したコンピューティング・デバイスの一つ又は複数の処理ユニット(例えば、プロセッサ)が、コンピュータ可読媒体内にストアされた命令を実行することによって、プロセス500を行う。
【0050】
ネットワーク・ノードは、複数のクライアント・システムの間のコンセンサスに基づいて構築されたパターン辞書を用いて、第1のクライアント・システムのための予測モデルを作成する(510において)。パターン辞書は、ハッシュ・チェーン型データ構造体にストアすることができる。第1のクライアント・システムの予測モデルは、第1のクライアント・システムの未処理データ(xS)、第1のクライアント・システムの混合重み(πS)のセット、及びパターン辞書(Θ)の現在の値に基づいて決定される確率分布(ps)とすることができる。未処理データは、一つ又は複数の物のインターネット(IoT)デバイスによって生成されたノイズの多い実数値を含むことができる。幾つかの実施形態において、第1のネットワーク・ノードは、第1のクライアント・システムのコンセンサス・ノードであり、第1のクライアント・システムの未処理データは、第1のクライアント・システムのクライアント・ノードから暗号化されて受け取られる。
【0051】
ネットワーク・ノードは、第1のクライアント・システムの未処理データに基づいて、第1のクライアント・システムに関するローカル統計量のセット(ξ
s)を計算する(520において)。ローカル統計量のセットは、十分統計量のセット(T
S)及びサンプル・サイズのセット(N
S)を含むことができる。ネットワーク・ノードは、第1のクライアント・システムのサンプル重みのセットに基づいて、第1のクライアント・システムのサンプル・サイズのセットを更新することができる。幾つかの実施形態において、ネットワーク・ノードはまた、第1のクライアント・システムの未処理データ及びパターン辞書に基づいて、第1のクライアント・システムのサンプル重みのセット(r
s(n))を更新し、サンプル・サイズのセット(N
S)はサンプル重みに基づいて決定される。幾つかの実施形態において、パターン辞書、ローカル統計量のセット、サンプル・サイズのセット、サンプル重みのセット、及び混合重みのセットは、各々、それぞれ混合成分のセットに対応する成分
【数17】
を含む。
【0052】
ネットワーク・ノードは、例えば、複数のクライアント・システムから十分統計量(Ts
k)のセットを集約することによって十分統計量のコンセンサス・セット(Tk)を計算することにより、もしくは複数のクライアント・システムからサンプル・サイズ(Ns
k)のセットを集約することによってサンプル・サイズのコンセンサス・セット(Nk)を計算することにより、又はそれら両方により、複数のクライアント・システムからローカル統計量のセット(ξS)を集約することによってローカル統計量のコンセンサス・セット(ξ-)を計算する(530において)。幾つかの実施形態において、ネットワーク・ノードは、第1のクライアント・システムに関するローカル統計量のセットの異なるサブセットを、異なるクライアント・システムに属する異なるネットワーク・ノードに配布することによって、ローカル統計量のコンセンサス・セットを計算する。幾つかの実施形態において、第1のクライアント・システムの十分統計量のセットの異なるサブセットは、ランダムに生成されたインシデント行列に基づいて識別されたネットワーク・ノードに配布される。
【0053】
ネットワーク・ノードは、パターン辞書(Θ)を、パターン辞書の現在の値及びローカル統計量のコンセンサス・セット(ξ-)に基づいて、更新する(540において)。幾つかの実施形態において、ネットワーク・ノードは、ローカル更新、コンセンサス構築、及び最適化の次の反復を計算するために520に戻ることができる。プロセス500は、収束又はコンセンサスが達成されるとき、例えば、異なるクライアント・システムのローカル統計量が同じ値又は互いの閾値範囲の値を有するとき、終了することができる。
【0054】
本出願は、システム、方法もしくはコンピュータ・プログラム製品又はその組み合わせを任意の可能な技術的詳細レベルで統合したものとすることができる。コンピュータ・プログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。
【0055】
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュメモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
【0056】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくは無線ネットワーク又はその組み合わせのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ又はその組み合わせを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納する。本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されるソース・コード又はオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータもしくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービス・プロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、本開示の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによって、コンピュータ可読プログラム命令を実行して、電子回路を個別化することができる。
【0057】
本開示の態様は、本開示の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート、及び/又はブロック図の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置もしくは他のデバイス又はその組み合わせを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
【0058】
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連の動作ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図又はその両方の1つ又は複数のブロックにおいて指定された機能/動作を実施するようにすることもできる。図面(例えば、
図5)内のフローチャート及びブロック図は、本開示の様々な実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で行われることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又はその両方の各ブロック、並びにブロック図もしくはフローチャート図又はその両方におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェアベースのシステムによって実装できることにも留意されたい。
【0059】
図6は、本開示の例示的な一実施形態による、協調学習フレームワーク内のクライアント・システム又はコンセンサス・ノードを実装するのに使用することができるデータ処理システム600及び650の構成要素のブロック図を示す。
図6は。一つの実装の一例を与えるだけであり、種々の実施形態を実装することができる環境に関する何らかの制限を意味するものではないことを認識されたい。設計及び実装要件に基づいて、描かれている環境に多くの修正を加えることができる。
【0060】
データ処理システム600及び650は、機械可読プログラム命令を実行することができる任意の電子デバイスの典型である。データ処理システム600及び650は、スマートフォン、コンピュータ・システム、PDA、又は他の電子デバイスの典型とすることができる。データ処理システム600及び650によって表すことができるコンピューティング・システム、環境、もしくは構成又はそれら全部は、それらに限定されないが、パーソナル・コンピュータ・システム、サーバー・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち又はラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、ネットワークPC、ミニコンピュータ・システム、及び、上記のシステム又はデバイスの何れかを含む分散クラウド・コンピューティング環境を含む。
【0061】
データ処理システム600及び650は、
図6に示される内部構成要素605のセット及び外部構成要素655のセットを含むことができる。内部構成要素605のセットは、一つ又は複数のバス626の上に1つ又は複数のプロセッサ620、1つ又は複数のコンピュータ可読RAM622及び1つ又は複数のコンピュータ可読ROM624、並びに、1つ又は複数のオペレーティング・システム628及び1つ又は複数のコンピュータ可読有形ストレージ・デバイス630を含む。1つ又は複数のオペレーティング・システム628、及び、プロセス500を実行するためのプログラムなどのプログラムは、一つ又は複数のRAM622(典型的にはキャッシュ・メモリを含む)を介して1つ又は複数のプロセッサ620による実行のために、一つ又は複数のコンピュータ可読有形ストレージ・デバイス630にストアされる。
図6に示される実施形態において、各々のコンピュータ可読有形ストレージ・デバイス630は、内部ハード・ドライブの磁気ディスク・ストレージ・デバイスである。代替的に、各々のコンピュータ可読有形ストレージ・デバイス630は、ROM624、EPROM、フラッシュ・メモリなどの半導体ストレージ・デバイス、又は、コンピュータ・プログラム及びデジタル情報をストアできる任意の他のコンピュータ可読有形ストレージ・デバイスである。
【0062】
内部構成要素605のセットはさらに、例えば、CD-ROM、DVD、メモリ・スティック、磁気テープ、磁気ディスク、光ディスク又は半導体ストレージ・デバイスなどの、1つ又は複数の携帯型コンピュータ可読有形ストレージ・デバイス686から読み出し、及びそれへ書き込むためのR/Wドライブ又はインターフェース632を含む。プロセス500を実行するための命令は、一つ又は複数のそれぞれの携帯型コンピュータ可読有形ストレージ・デバイス686にストアすることができ、それぞれのR/Wドライブ又はインターフェース632を介して読み出すことができ、それぞれのハード・ドライブ630にロードすることができる。
【0063】
内部構成要素605のセットはさらに、ネットワーク・アダプター(又はスィッチ・ポート・カード)、或いは、TCP/IPアダプター・カード、無線Wi-Fiインターフェース・カード、又は3G若しくは4G無線インターフェース・カード、又は有線若しくは無線通信リンクなどのインターフェース636を含むことができる。上記のプロセス又はプログラムの命令は、外部コンピュータ(例えば、サーバー)からネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク又は他の広域ネットワーク)及びそれぞれのネットワーク・アダプター又はインターフェース636を介して、ダウンロードすることができる。ネットワーク・アダプター(又はスィッチ・ポート・カード)又はインターフェース636から、前述のプログラム又はプロセスの命令及びデータはそれぞれのハード・ドライブ630へロードされる。ネットワークは、銅線、光ファイバー、無線伝送、ルーター、ファイアウォール、スィッチ、ゲートウェイ・コンピュータ若しくはエッジ・サーバー又はそれら両方を備えることができる。
【0064】
外部構成要素655のセットは、コンピュータ・ディスプレイ・モニター670、キーボード680、及びコンピュータ・マウス684を含むことができる。外部構成要素655のセットはさらに、タッチ・スクリーン、仮想キーボード、タッチ・パッド、ポインティング・デバイス、及び他のヒューマン・インターフェース・デバイスを含むことができる。内部構成要素605のセットはさらに、コンピュータ・ディスプレイ・モニター670、キーボード680、及びコンピュータ・マウス684をインターフェース接続するためのデバイス・ドライバー640を含む。デバイス・ドライバー640、R/Wドライブ又はインターフェース632、及びネットワーク・アダプター又はインターフェース636は、ハードウェア及びソフトウェア(ストレージ・デバイス630若しくはROM624又はそれら両方にストアされている)を含む。
【0065】
前述の1つ又は複数の実施形態は、協調学習フレームワークのクライアント・システム又はネットワーク・ノードを、コンピュータ・インフラストラクチャの中に、1つ又は複数のコンピューティング・デバイスにローカル統計量を更新させることによって、実装する。コンピューティング・デバイスはまた、更新されたローカル統計量を、ネットワーク上で、他のクライアント・システム又はネットワーク・ノードと交換し、ブロックチェーンにストアされるパターン辞書の形のコンセンサスを構築する。コンピューティング・デバイスはさらに、更新されたローカル統計量をサブセットに分割し、サブセットを他のコンピューティング・デバイスに確率論的に配布する。
【0066】
本開示の種々の実施形態の説明は、例証の目的で提示されたものであるが、網羅的であること又は開示された実施形態に限定することを意図するものではない。説明される実施形態の範囲及び趣旨から逸脱することなく、当業者には、多くの修正及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理、実際的な用途、もしくは市場において見出される技術に優る技術的改善を最も良く説明するように、又は当業者が本明細書に含まれる実施形態を理解することを可能にするように、選択されたものである。