IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-514778連合学習を使用する入力エンコーディング
<>
  • 特表-連合学習を使用する入力エンコーディング 図1
  • 特表-連合学習を使用する入力エンコーディング 図2
  • 特表-連合学習を使用する入力エンコーディング 図3
  • 特表-連合学習を使用する入力エンコーディング 図4A
  • 特表-連合学習を使用する入力エンコーディング 図4B
  • 特表-連合学習を使用する入力エンコーディング 図5
  • 特表-連合学習を使用する入力エンコーディング 図6
  • 特表-連合学習を使用する入力エンコーディング 図7
  • 特表-連合学習を使用する入力エンコーディング 図8
  • 特表-連合学習を使用する入力エンコーディング 図9
  • 特表-連合学習を使用する入力エンコーディング 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-03
(54)【発明の名称】連合学習を使用する入力エンコーディング
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240327BHJP
   G06N 3/098 20230101ALI20240327BHJP
【FI】
G06N20/00
G06N3/098
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023560054
(86)(22)【出願日】2022-04-24
(85)【翻訳文提出日】2023-09-28
(86)【国際出願番号】 CN2022088727
(87)【国際公開番号】W WO2022228335
(87)【国際公開日】2022-11-03
(31)【優先権主張番号】17/239,812
(32)【優先日】2021-04-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000420
【氏名又は名称】弁理士法人MIP
(72)【発明者】
【氏名】ユクセル、ハザール
(72)【発明者】
【氏名】キングスバリー、ブライアン イー. ディー.
(72)【発明者】
【氏名】ヴァーシュニー、クシュ ラージ
(72)【発明者】
【氏名】ボーズ、プラディップ
(72)【発明者】
【氏名】ヴェルマ、ディネシュ、シー.
(72)【発明者】
【氏名】ワン、シキン
(72)【発明者】
【氏名】ヴェガ、アウグスト
(72)【発明者】
【氏名】ヴェルマ、アシシュ
(72)【発明者】
【氏名】チャクラボルティ、スプリヨ
(57)【要約】
実施形態は、連合に関連する入力エンコーディング技術に関する。参加しているエンティティが、協力関係で配置される。参加している各エンティティは、トレーニング・データ・セットでエンコーダを使用して機械学習モデルをトレーニングする。モデルの各々の性能が測定され、測定された性能に基づいてモデルのうちの少なくとも1つが選択的に識別される。選択的に識別された機械学習モデルのエンコーダは、参加しているエンティティの各々と共有される。共有されたエンコーダは、第1および第2の機械学習モデルをトレーニングするために、参加しているエンティティによって適用されるように構成され、第1および第2の機械学習モデルは、連合学習環境内でマージされて共有されるように構成される。
【特許請求の範囲】
【請求項1】
メモリに動作可能に結合された処理ユニットと、
前記処理ユニットと通信する人工知能(AI)プラットフォームとを備えているシステムであって、前記AIプラットフォームが、連合学習において入力エンコーディングを適用し、前記AIプラットフォームが、
少なくとも第1および第2の参加しているエンティティを協力関係で配置するように構成された登録マネージャであって、前記第1の参加しているエンティティが、第1のエンコードされた特徴を生成するように、第1のトレーニング・データ・セットで第1のエンコーダを使用して第1の機械学習モデルをトレーニングし、前記第2の参加しているエンティティが、第2のエンコードされた特徴を生成するように、第2のトレーニング・データ・セットで第2のエンコーダを使用して第2の機械学習モデルをトレーニングする、前記登録マネージャと、
前記登録マネージャに動作可能に結合され、
前記第1および第2の機械学習モデルの性能を測定することと、
測定された前記性能に基づいて前記第1および第2の機械学習モデルのうちの少なくとも1つを選択的に識別することとを実行するように構成された、評価器と、
前記評価器に動作可能に結合され、前記選択的に識別された機械学習モデルのエンコーダを、前記参加しているエンティティの各々と共有するように構成されたダイレクタであって、前記共有されたエンコーダが、前記第1および第2の機械学習モデルをそれぞれトレーニングするために、前記第1および第2の参加しているエンティティによって適用されるように構成され、単一の共有されたモデルにマージされるように構成される、前記ダイレクタとを備える、システム。
【請求項2】
少なくとも前記第1の参加しているエンティティが、少なくとも2つの機械学習モデルをトレーニングし、前記2つの機械学習モデルの各々が、別々のエンコーダおよび別々のトレーニング・データ・セットを含み、第1のテスト・データで前記少なくとも2つの機械学習モデルの性能を測定し、それらの測定された性能に基づいて、前記少なくとも2つの機械学習モデルのうちの1つを選択的に識別し、前記第1および第2の参加しているエンティティに動作可能に結合されたエンティティと共有するように構成された、前記評価器をさらに備える、請求項1に記載のコンピュータ・システム。
【請求項3】
前記第1および第2の機械学習モデルの組合せをテストするように構成された前記評価器をさらに備え、前記選択的な識別が、前記第1および第2のエンコーダの組合せを含む、請求項1に記載のコンピュータ・システム。
【請求項4】
前記第1および第2のエンコーダの結合体を作成し、前記結合体を前記参加しているエンティティと共有するように構成された前記評価器をさらに備える、請求項3に記載のコンピュータ・システム。
【請求項5】
前記第1および第2の機械学習モデルを前記第1および第2のエンティティの各々と共有するように構成された前記評価器をさらに備え、
前記第1のエンティティが、第1のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第1のテスト・データに基づいて前記第1および第2のモデルの第1の性能を測定し、
前記第2のエンティティが、前記第1のテスト・データと異なる第2のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第2のテスト・データに基づいて前記第1および第2のモデルの第2の性能を測定し、
前記第1および第2のエンティティが、前記第1および第2の測定された性能データを前記評価器と共有し、
前記評価器が、前記第1および第2のモデルのうちの1つまたは複数を選択的に識別する、請求項1に記載のコンピュータ・システム。
【請求項6】
前記トレーニング済み第1および第2の機械学習モデルをマージし、単一の機械学習モデルを形成するように構成された前記ダイレクタをさらに備える、請求項1に記載のコンピュータ・システム。
【請求項7】
連合学習において入力エンコーディングを適用するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、プログラム・コードが具現化されているコンピュータ可読ストレージ媒体を備え、前記プログラム・コードが、プロセッサによって実行可能であり、
機械学習モデルをトレーニングするために、少なくとも第1および第2の参加しているエンティティを協力関係で配置することであって、前記第1の参加しているエンティティが、第1のエンコードされた特徴を生成するように、第1のトレーニング・データ・セットで第1のエンコーダを使用して第1の機械学習モデルをトレーニングし、前記第2の参加しているエンティティが、第2のエンコードされた特徴を生成するように、第2のトレーニング・データ・セットで第2のエンコーダを使用して第2の機械学習モデルをトレーニングする、前記配置することと、
前記第1および第2の参加しているエンティティに動作可能に結合されたエンティティによって、前記第1および第2の機械学習モデルを評価することであって、
前記第1および第2の機械学習モデルの性能を測定することと、
測定された前記性能に基づいて前記第1および第2の機械学習モデルのうちの少なくとも1つを選択的に識別することとを含む、前記評価することと、
前記選択的に識別された機械学習モデルのエンコーダを、前記参加しているエンティティの各々と共有することあって、前記共有されたエンコーダが、前記第1および第2の機械学習モデルをそれぞれトレーニングするために、前記第1および第2の参加しているエンティティによって適用されるように構成され、単一の共有されたモデルにマージされるように構成される、前記共有することとを実行するように構成される、コンピュータ・プログラム製品。
【請求項8】
少なくとも前記第1の参加しているエンティティが、少なくとも2つの機械学習モデルをトレーニングし、前記2つの機械学習モデルの各々が、別々のエンコーダおよび別々のトレーニング・データ・セットを含み、第1のテスト・データで前記少なくとも2つの機械学習モデルの性能を評価し、それらの測定された性能に基づいて、前記少なくとも2つの機械学習モデルのうちの1つを選択的に識別し、前記エンティティと共有するためのプログラム・コードをさらに備える、請求項7に記載のコンピュータ・プログラム製品。
【請求項9】
前記第1および第2の機械学習モデルの組合せをテストするように構成されたプログラム・コードをさらに備え、前記選択的な識別が、前記第1および第2のエンコーダの組合せを含む、請求項7に記載のコンピュータ・プログラム製品。
【請求項10】
前記第1および第2のエンコーダの結合体を作成し、前記結合体を前記参加しているエンティティと共有するように構成されたプログラム・コードをさらに備える、請求項9に記載のコンピュータ・プログラム製品。
【請求項11】
前記第1および第2の機械学習モデルを前記第1および第2のエンティティの各々と共有することと、
前記第1のエンティティによって、第1のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第1のテスト・データに基づいて前記第1および第2のモデルの第1の性能を測定することと、
前記第2のエンティティによって、前記第1のテスト・データと異なる第2のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第2のテスト・データに基づいて前記第1および第2のモデルの第2の性能を測定することと、
前記第1および第2のエンティティによって、前記第1および第2の測定された性能データを前記エンティティと共有することと、
前記エンティティによって、前記第1および第2のモデルのうちの1つまたは複数を選択的に識別することとを実行するように構成されたプログラム・コードをさらに備える、請求項7に記載のコンピュータ・プログラム製品。
【請求項12】
前記トレーニング済み第1および第2の機械学習モデルをマージし、単一の機械学習モデルを形成するように構成されたプログラム・コードをさらに備える、請求項7に記載のコンピュータ・プログラム製品。
【請求項13】
方法であって、
機械学習モデルをトレーニングするために、少なくとも第1および第2の参加しているエンティティを協力関係で配置することであって、前記第1の参加しているエンティティが、第1のエンコードされた特徴を生成する第1のトレーニング・データ・セットで第1のエンコーダを使用して第1の機械学習モデルをトレーニングし、前記第2の参加しているエンティティが、第2のエンコードされた特徴を生成する第2のトレーニング・データ・セットで第2のエンコーダを使用して第2の機械学習モデルをトレーニングする、前記配置することと、
前記第1および第2の参加しているエンティティに動作可能に結合されたエンティティによって、前記第1および第2の機械学習モデルを評価することであって、
前記第1および第2の機械学習モデルの性能を測定することと、
測定された前記性能に基づいて前記評価された第1および第2の機械学習モデルのうちの少なくとも1つを選択的に識別することとを含む、前記評価することと、
前記選択的に識別された機械学習モデルのエンコーダを、前記参加しているエンティティの各々と共有することあって、前記共有されたエンコーダが、前記第1および第2の機械学習モデルをそれぞれトレーニングするために、前記第1および第2の参加しているエンティティによって適用されるように構成され、単一の共有されたモデルにマージされるように構成される、前記共有することとを含む、方法。
【請求項14】
少なくとも前記第1の参加しているエンティティが、少なくとも2つの機械学習モデルをトレーニングし、前記2つの機械学習モデルの各々が、別々のエンコーダおよび別々のトレーニング・データ・セットを含み、前記第1のエンティティが、第1のテスト・データで前記少なくとも2つの機械学習モデルの性能を評価し、それらの測定された性能に基づいて、前記少なくとも2つの機械学習モデルのうちの1つを選択的に識別し、前記エンティティと共有することをさらに含む、請求項13に記載の方法。
【請求項15】
前記評価することが、前記エンティティが前記第1および第2の機械学習モデルの組合せをテストすることをさらに含み、前記選択的な識別が、前記第1および第2のエンコーダの組合せを含む、請求項13に記載の方法。
【請求項16】
前記第1および第2のエンコーダの結合体を作成し、前記結合体を前記参加しているエンティティと共有することをさらに含む、請求項15に記載の方法。
【請求項17】
前記第1および第2の機械学習モデルを前記第1および第2のエンティティの各々と共有することと、
前記第1のエンティティが、第1のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第1のテスト・データに基づいて前記第1および第2のモデルの第1の性能を測定することと、
前記第2のエンティティが、前記第1のテスト・データと異なる第2のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第2のテスト・データに基づいて前記第1および第2のモデルの第2の性能を測定することと、
前記第1および第2のエンティティが、前記第1および第2の測定された性能データを前記エンティティと共有することと、
前記エンティティが、前記第1および第2のモデルのうちの1つまたは複数を選択的に識別することとをさらに含む、請求項13に記載の方法。
【請求項18】
前記トレーニング済み第1および第2の機械学習モデルをマージし、単一の機械学習モデルを形成することをさらに含む、請求項13に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、協力的プロセスを介して機械学習モデルをトレーニングすることに関する。より詳細には、実施形態は、連合学習において入力エンコーディング方法を適用するための技術に関する。
【背景技術】
【0002】
人工知能(AI:Artificial Intelligence)は、人間に関連するようなコンピュータおよびコンピュータの挙動を対象にするコンピュータ科学の分野に関する。AIとは、機械が情報に基づいて、特定の話題における成功の可能性を最大化する決定を行うことができる場合の知能のことを指す。より詳細には、AIは、問題を解決して適切な推奨を提供するように、データ・セットから学習することができる。例えば、人工知能コンピュータ・システムの分野では、自然言語システム(IBM Watson(登録商標)人工知能コンピュータ・システムまたは他の自然言語質問回答システムなど)は、システムによって取得された知識に基づいて自然言語を処理する。自然言語を処理するために、システムは、知識のデータベースまたはコーパスから得られたデータを使用してトレーニングされ得るが、得られた結果は、さまざまな理由のために、正しくないか、または不正確である可能性がある。
【0003】
人工知能(AI)のサブセットである機械学習(ML:Machine learning)は、アルゴリズムを利用して、データから学習し、このデータに基づいて予知を作成する。MLは、モデルの作成によるAIの応用であり、明示的にプログラムされていないタスクを実行することによって学習挙動を示すことができるニューラル・ネットワークを含む。MLのワークロードは、大きいデータ・セット、データへの高速な並列アクセス、および学習をサポートするようにトレーニングするためのアルゴリズムを必要とする。AIモデルのトレーニングは、大きい高品質のデータセットに依存する。企業では、このデータがさまざまなエンティティおよびデータ・センターにわたって分散されることがあり、結合して分析することを困難にする。トレーニングのためにデータを単一のリポジトリに集めることは、多くの場合、不可能であるか、または実用的ではない。
【0004】
連合学習は、トレーニング・データを他の関係者と共有することを必要とせずに、異なる関係者(例えば、クライアント)が機械学習モデルを共同でトレーニングするために協力する、分散機械学習プロセスである。各クライアントは、自分のデータのみにアクセスすることができる。そのためデータは、クライアントにわたって独立同分布していない。
【発明の概要】
【0005】
実施形態は、保護された連合機械学習のためのシステム、コンピュータ・プログラム製品、および方法を含む。
【0006】
1つの態様では、協力的プロセスを介して機械学習モデルをトレーニングするために人工知能(AI)プラットフォームと共に使用するためのシステムが提供される。処理ユニットは、メモリに動作可能に結合され、登録マネージャ、評価器、およびダイレクタの形態でツールが組み込まれたAIプラットフォームと通信する。登録マネージャは、第1および第2の参加しているエンティティを協力関係で配置するように機能する。第1の参加しているエンティティは、第1のトレーニング・データ・セットで第1のエンコーダを使用して第1の機械学習モデルをトレーニングし、第2の参加しているエンティティは、第2のトレーニング・データ・セットで第2のエンコーダを使用して第2の機械学習モデルをトレーニングする。登録マネージャに動作可能に結合された評価器は、第1および第2の機械学習モデルの性能を測定し、測定された性能に基づいて第1および第2の機械学習モデルのうちの少なくとも1つを選択的に識別するように機能する。評価器に動作可能に結合されたダイレクタは、選択的に識別された機械学習モデルのエンコーダを参加しているエンティティの各々と共有するように機能する。共有されたエンコーダは、第1および第2の機械学習モデルをそれぞれトレーニングするために、第1および第2の参加しているエンティティによって適用されるように構成される。ダイレクタは、第1および第2のトレーニング済み機械学習モデルをマージし、参加しているエンティティに分散されるように構成された単一の共有されたモデルを形成するように、さらに構成される。
【0007】
別の態様では、協力的プロセスを介して機械学習モデルをトレーニングするためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、プログラム・コードが具現化されているコンピュータ可読ストレージ媒体を含んでおり、プログラム・コードは、第1および第2の参加しているエンティティを協力関係で配置するために、プロセッサによって実行可能である。第1の参加しているエンティティは、第1のトレーニング・データ・セットで第1のエンコーダを使用して第1の機械学習モデルをトレーニングし、第2の参加しているエンティティは、第2のトレーニング・データ・セットで第2のエンコーダを使用して第2の機械学習モデルをトレーニングする。プログラム・コードは、第1および第2の機械学習モデルの性能を測定し、測定された性能に基づいて第1および第2の機械学習モデルのうちの少なくとも1つを選択的に識別するように機能する。プログラム・コードは、選択的に識別された機械学習モデルのエンコーダを参加しているエンティティの各々と共有するようにさらに機能する。共有されたエンコーダは、第1および第2の機械学習モデルをそれぞれトレーニングするために、第1および第2の参加しているエンティティによって適用されるように構成される。プログラム・コードは、第1および第2のトレーニング済み機械学習モデルをマージし、参加しているエンティティに分散されるように構成された単一の共有されたモデルを形成するように、さらに構成される。
【0008】
さらに別の態様では、協力的プロセスを介して機械学習モデルをトレーニングするための方法が提供される。第1および第2の参加しているエンティティが、協力関係で配置される。第1の参加しているエンティティは、第1のトレーニング・データ・セットで第1のエンコーダを使用して第1の機械学習モデルをトレーニングし、第2の参加しているエンティティは、第2のトレーニング・データ・セットで第2のエンコーダを使用して第2の機械学習モデルをトレーニングする。第1および第2の機械学習モデルの性能が測定され、測定された性能に基づいて第1および第2の機械学習モデルのうちの少なくとも1つが選択的に識別される。選択的に識別された機械学習モデルのエンコーダは、参加しているエンティティの各々と共有される。共有されたエンコーダは、第1および第2の機械学習モデルをそれぞれトレーニングするために、第1および第2の参加しているエンティティによって適用されるように構成される。第1および第2のトレーニング済み機械学習モデルは、参加しているエンティティに分散されるように構成された単一の共有されたモデルをマージして形成することの対象になる。
【0009】
これらおよび他の特徴および優位性は、添付の図面と共に採用された現在は好ましい実施形態の以下の詳細な説明から明らかになるであろう。
【0010】
本明細書において参照される図面は、本明細書の一部を形成する。図面に示された特徴は、特に明示されない限り、すべての実施形態ではなく、単に一部の実施形態の例示を意図している。
【図面の簡単な説明】
【0011】
図1】実施形態に従って連合学習のために構成されたコンピュータ・システムを示すシステム図である。
図2】連合学習環境内の協力をサポートするための星形プロトコル配置(star protocol arrangement)で参加しているエンティティを示すブロック図である。
図3図1に示されて説明される人工知能プラットフォームおよびツール、ならびにそれらに関連するアプリケーション・プログラム・インターフェイスを示すブロック図である。
図4A】動作可能に結合されたエンティティとのモデルおよび対応するエンコーダの共有を含む方法の実施形態を示すフローチャートである。
図4B】動作可能に結合されたエンティティとのモデルおよび対応するエンコーダの共有を含む方法の実施形態を示すフローチャートである。
図5】テスト・データからの性能評価に基づく2つ以上のエンコーダの選択を含む方法の実施形態を示すフローチャートである。
図6】連合学習において使用するためのエンコーダの結合体(union)を作成することを含む方法の実施形態を示すフローチャートである。
図7】分散方式で性能評価を実施することを含む方法の実施形態を示すフローチャートである。
図8図1~7に関して上で説明されたシステムおよびプロセスを実装するためのクラウドベースのサポート・システムのコンピュータ・システム/サーバの例を示すブロック図である。
図9】クラウド・コンピュータ環境を示すブロック図である。
図10】クラウド・コンピューティング環境によって提供される一連の機能的抽象モデル・レイヤを示すブロック図である。
【発明を実施するための形態】
【0012】
本明細書の図において概略的に説明され、示されているように、本実施形態のコンポーネントが、多種多様な異なる構成で配置および設計されてよいということが、容易に理解されるであろう。したがって、図で提示された本実施形態の装置、システム、方法、およびコンピュータ・プログラム製品の実施形態に関する以下の詳細な説明は、請求されている実施形態の範囲を制限するよう意図されておらず、単に選択された実施形態を代表している。
【0013】
本明細書全体を通じて、「選択された実施形態」、「1つの実施形態」、または「実施形態」への言及は、実施形態に関連して説明される特定の特徴、構造、または特性が少なくとも1つの実施形態に含まれるということを意味する。したがって、本明細書全体を通じてさまざまな場所に現れる「選択された実施形態」、「1つの実施形態では」、または「実施形態では」という語句は、必ずしも同じ実施形態を参照していない。
【0014】
例示の実施形態は、全体を通じて類似する部分が類似する符番によって指定される図面を参照することによって、最もよく理解されるであろう。以下の説明は、単なる例示を意図しており、本明細書において請求される実施形態と一致するデバイス、システム、およびプロセスの特定の選択された実施形態を単に示す。
【0015】
ニューラル・ネットワークは、人間の脳が情報を処理する方法のモデルである。ニューラル・ネットワークの基本単位はニューロンと呼ばれ、通常、層に構造化される。ニューラル・ネットワークは、ニューロンの抽象的バージョンに似ている多数の相互接続された処理ユニットをシミュレートすることによって機能する。ニューラル・ネットワークには、通常、入力フィールドを表すユニットがある入力層、1つまたは複数の隠れ層、およびターゲット・フィールドを表す1つまたは複数のユニットがある出力層を含む、3つの部分が存在する。これらのユニットは、さまざまな接続の強度または重みで接続される。入力データが第1の層に提示され、値が各ニューロンから次の層内のすべてのニューロンに伝搬される。最終的に、出力層から結果が供給される。人間の脳がどのように機能するかをエミュレートするために、複雑な深層学習ニューラル・ネットワークが設計され、そのため、不十分に定義された抽象化および問題をサポートするように、コンピュータがトレーニングされ得る。ニューラル・ネットワークおよび深層学習は、多くの場合、画像認識、会話、およびコンピュータ・ビジョンの応用に使用される。
【0016】
ニューラル・ネットワークは、相互接続された層および対応するアルゴリズムならびに調整可能な重みから成る。重みは、確率的勾配降下法などの最適化アルゴリズムを使用する調整を受ける。より詳細には、勾配降下は、負勾配によって定義された最急降下方向に反復的に移動することによって関数を最小化するために使用される最適化アルゴリズムである。MLでは、ニューラル・ネットワークおよび対応するニューラル・モデルのパラメータを更新するために、勾配降下が使用される。これは、単一の物理マシン上または単一のエンティティ内のコンピュータ間でトレーニングする場合、簡単である。しかし、複数のエンティティが含まれる場合、通信の制限に起因して、または法律上の理由(HIPAAのような規制など)に起因して、データを共有することが不可能になる可能性がある。当技術分野において、データからの洞察を共有することが望ましいニューラル・モデルまたは改良されたニューラル・モデルの構築につながることがあるということが、理解されている。しかし、データの共有は、他の参加しているエンティティが、共有された洞察からデータをリバース・エンジニアリングすること(例えば、再構築すること)に起因して、機密性およびプライバシーの侵害などの他の問題につながる。
【0017】
本明細書において示され、説明されるように、機械学習モデルをトレーニングするための中央サーバを介した複数のクライアント・マシンの協力をサポートし、可能にするためのシステム、コンピュータ・プログラム製品、および方法が提供される。連合学習の技術分野において、各クライアント・マシンがそれ自身のデータのみにアクセスすることができ、サーバがモデル・パラメータまたはモデル・パラメータに対する更新情報のみをクライアント・マシンから受信し、それによって、クライアント・マシンのデータのプライバシーを保証するということが、理解されている。本実施形態は、1つまたは複数のエンコーダが識別されて分散される連合学習を対象にする。一般に、エンコーダは、データを1つの形式から別の形式に変換するデバイスまたはプロセスである。機械学習に関して、エンコードされた入力特徴
【数1】
を生成するためにエンコーダE(・)を使用して、元の入力特徴が、一意にデコード可能なコードを含む少なくとも1つの入力サンプル
【数2】
からエンコードされ、少なくとも1つの入力サンプル
【数3】
が、コード化されていない入力特徴を含む。エンコーダは、入力特徴からエンコードされた入力特徴を生成し(例えば、エンコードし)、分類器Cがこれらの特徴間の関係を学習できるようにする。エンコードされたモデルをトレーニングするために、コード化されていない入力特徴およびエンコードされた入力特徴
【数4】
が、ベース・モデルに一緒に供給される。エンコードされたモデルを使用して分類関数
【数5】
が学習され、エンコードされたモデルを使用して学習された分類関数
【数6】
は、コード化されていない入力特徴だけを使用して学習された分類関数よりも一般的(more general)である。
【0018】
実施形態は、連合学習と併用した入力エンコーディング技術の応用を対象にし、より詳細には、信用指標を使用する1つまたは複数のエンコーダの評価および選択を対象にする。選択されたエンコーダは、ローカル・エンティティが自分のローカル・エンティティ・モデル(本明細書ではベース・モデルとも呼ばれる)をトレーニングすることを可能にするために、動作可能に結合されたローカル・エンティティ(例えば、クライアント・マシン)と共有されるか、または他の方法で分散され、このトレーニングは、選択されたエンコーダおよびローカル・データを活用する。したがって、連合学習プロセスは、本明細書では、連合学習環境のメンバー間の分散を、エンコーダおよび対応するモデルに制限し、連合学習プロセスは、ローカル・エンティティが連合学習システムのメンバーの性能評価、対応するエンコーダの選択、およびモデルの更新から恩恵を受けることを可能にする。
【0019】
図1を参照すると、連合学習のために構成されたコンピュータ・システムを示す概略図(100)が提供されている。図に示されているように、本明細書では連合学習サーバとも呼ばれるサーバ(110)が、ネットワーク接続(105)を経由して複数のコンピューティング・デバイス(180)、(182)、(184)、(186)、(188)、および(190)と通信して提供される。サーバ(110)は、バス(114)を経由してメモリ(116)と通信する処理ユニット(112)で構成される。サーバ(110)は、連合学習が分散されて連合したプライベートかつセキュアな環境内のエンコーダを選択的に識別することをサポートするための人工知能(AI)プラットフォーム(150)と共に示されている。サーバ(110)は、ネットワーク接続(105)を経由してコンピューティング・デバイス(180)、(182)、(184)、(186)、(188)、および(190)のうちの1つまたは複数と通信する。より詳細には、コンピューティング・デバイス(180)、(182)、(184)、(186)、(188)、および(190)は、1つまたは複数の有線データ通信リンクまたはワイヤレス・データ通信リンクあるいはその両方を介して、互いに、および他のデバイスまたはコンポーネントと通信し、各通信リンクは、ワイヤ、ルータ、スイッチ、送信器、受信器などのうちの1つまたは複数を含んでよい。このネットワーク構成では、サーバ(110)およびネットワーク接続(105)は、通信の検出、認識、および解決を可能にする。サーバ(110)の他の実施形態は、本明細書に示されている以外のコンポーネント、システム、サブシステム、またはデバイス、あるいはその組合せと共に使用されてよい。
【0020】
AIプラットフォーム(150)は、本明細書では、さまざまなソースから入力(102)を受信するように構成されて示されている。例えば、AIプラットフォーム(150)は、ネットワーク(105)から入力を受信し、本明細書ではコーパスまたは知識ベースとも呼ばれるデータ・ソース(160)を活用して、機械学習モデルの性能を評価してよい。図に示されているように、データ・ソース(160)は、ライブラリ(162)で構成されるか、または1つの実施形態では、複数のライブラリで構成され、ライブラリ(162)は、データセット(164)、データセット(164)、データセット(164)、およびデータセット(164)を含む、1つまたは複数のデータセットを含んでいる。1つの実施形態では、ライブラリ(162)は、減らされた数のデータセットまたは増やされた数のデータセットを含んでよい。同様に、1つの実施形態では、データ・ソース(160)内のライブラリは、共通の主題またはテーマ別に編成されてよいが、これは要件ではない。
【0021】
AIプラットフォーム(150)は、機械学習の協力をサポートし、可能にするためのツールを備えている。ネットワーク(105)と通信するさまざまなコンピューティング・デバイス(180)、(182)、(184)、(186)、(188)、および(190)は、ローカル機械学習モデルを含むローカル・エンティティとして機能してよい。AIプラットフォーム(150)は、洞察またはデータを共有せずに、ローカル機械学習モデルに対応する協力を可能にしてサポートするためのプラットフォームとして機能する。本明細書において示され、説明されるように、連合学習のサポートにおけるツールは、AIプラットフォーム(150)に対してローカルである。より詳細には、本明細書で詳細に説明されるように、AIプラットフォーム(150)および対応するツールは、データを共有せずに、ローカル・エンコーダおよびローカル機械学習モデルを共有することを可能にする。望ましい性能または精度を有する、エンコーダおよび対応するニューラル・モデルの形態での応答出力(132)が取得され、協力を包含し、協力に参加するエンティティと共有される。1つの実施形態では、AIプラットフォーム(150)は、応答出力(132)を、ネットワーク(105)を経由してサーバ(110)または、コンピューティング・デバイス(180)、(182)、(184)、(186)、(188)、および(190)のうちの1つまたは複数に動作可能に結合された、図2に示されて説明されるような協力的トポロジーのメンバーに伝達する。
【0022】
AIプラットフォーム(150)が、ローカルおよびグローバル(例えば、インターネット)を含む任意のサイズの環境内で動作し得るように、ネットワーク(105)は、さまざまな実施形態では、ローカル・ネットワーク接続およびリモート接続を含んでよい。AIプラットフォーム(150)は、協力をサポートするためのバックエンド・システムとして機能する。このようにして、何らかのプロセスがAIプラットフォーム(150)にデータを追加し、AIプラットフォーム(150)は、要求を受信し、それに応じて応答するための、入力インターフェイスも含む。
【0023】
AIプラットフォーム(150)は、本明細書では、登録マネージャ(152)、評価器(154)、およびダイレクタ(156)を含む、ニューラル・モデルの協力をサポートするための複数のツールと共に示されている。登録マネージャ(152)は、参加しているエンティティを協力関係に登録するように機能し、トポロジー内の登録されたエンティティの配置、およびトポロジー内のエンティティ間の通信方向および通信プロトコルの確立を含む。例えば、実施形態では、登録されたエンティティは、リング・トポロジーで配置される。しかし、通信プロトコルは変化してよい。プロトコルの例としては、直線方向プロトコル(linear direction protocol)、ブロードキャスト・プロトコル、およびAll-Reduceプロトコルが挙げられるが、これらに限定されない。本明細書においてさらに示され、説明されるように、協力関係の登録されたメンバーであるエンティティは、本明細書ではローカル・エンティティと呼ばれ、それぞれ、ネットワーク接続(105)を経由してサーバ(110)に動作可能に結合される。エンティティの各々は、ローカル機械学習モデルおよび対応するローカル・エンコーダを含み、各ローカル機械学習モデルは、ローカル・トレーニング・データセットを使用してトレーニングされる。例として、コンピューティング・エンティティ(190)は、ローカル機械学習モデル(192)、対応するエンコーダ(192)、およびローカル・モデル・トレーニング・データセット(192)と共に示されている。それに応じて、登録マネージャ(152)は、エンティティ間の協力をサポートするために、連合学習環境内の参加しているエンティティの配置を確立する。
【0024】
本明細書では登録マネージャ(152)に動作可能に結合されて示されている評価器(154)は、参加しているエンティティのローカル機械学習モデルの性能に対処するように機能する。評価器(154)は、登録されたローカル・モデルの各々の性能を、1つまたは複数のテスト・データセットに対して測定し、性能測定結果に基づいて、登録されたローカル・モデルのうちの少なくとも1つを選択的に識別する。各登録されたローカル・モデルは、対応するエンコーダE(・)を含む。ダイレクタ(156)は、選択的に識別されたローカル・モデルに関連付けられたエンコーダを、参加しているエンティティと共有する。実施形態では、ダイレクタ(156)は、選択されたか、または識別されたエンコーダに対応するローカル・モデルを、参加しているエンティティと共有する。参加しているエンティティは、識別されたエンコーダまたはモデルあるいはその両方を受信し、共有されたエンコーダに基づいて、それらのローカル・データをローカル・モデルのトレーニングに適用する。ローカル・モデルが、識別されたか、または選択されたエンコーダに対してトレーニングされた後に、対応するローカル・エンティティは、トレーニング済みローカル・モデルをAIプラットフォーム(150)と共有し、次にトレーニング済みローカル・モデルは、応答出力(132)として、単一の共有されたモデルとして協力的トポロジーのメンバーに伝達される単一のモデルを作成するために、ダイレクタ(156)によるマージの対象になる。したがって、参加しているエンティティ間での共有は、エンコーダおよびトレーニング済みモデル・パラメータまたはモデル・パラメータの更新情報、ならびに実施形態では、関連する機械学習モデルに制限され、それによって、参加しているエンティティ間のデータの共有を排除しながら、学習の恩恵をサポートする。
【0025】
本明細書において示され、説明される実施形態は、参加しているエンティティに対してローカルな複数の機械学習モデルならびに対応するエンコーダおよびデータ・セットに対処するように、拡張されてよい。図2を参照すると、参加しているエンティティを、協力をサポートするための星形プロトコル配置(本明細書では、ハブおよびスポーク・プロトコル配置とも呼ばれる)で示すブロック図(200)が提供されている。図に示されているように、中央エンティティ(210)は、ローカル・エンティティ(220)、(230)、(240)、および(260)に動作可能に結合される。中央エンティティ(210)は、登録マネージャ(252)、評価器(254)、およびダイレクタ(256)を含む、図1に示されたAIプラットフォームのツールで構成されている。ローカル・エンティティ(220)は、本明細書ではモデル0,0(2220,0)およびモデル0,1(2220,1)として示されている2つの機械学習モデルと共に示されている。モデル0,0(2220,0)はエンコーダ0,0(2240,0)およびデータセット0,0(2260,0)と共に示されており、モデル0,1(2220,1)はエンコーダ0,1(2240,1)およびデータセット0,1(2260,1)と共に示されている。残りのローカル・エンティティ(230)、(240)、および(260)は、1つのローカル・モデルならびに関連するエンコーダおよびデータセットと共に示されている。ローカル・エンティティに示されているモデルの数は、説明を目的としており、制限と見なされるべきではない。例として、ローカル・エンティティ(230)は、モデル1,0(2321,0)、エンコーダ1,0(2341,0)、およびデータセット1,0(2361,0)と共に示されており、ローカル・エンティティ(240)は、モデル2,0(2422,0)、エンコーダ2,0(2442,0)、およびデータセット2,0(2462,0)と共に示されており、ローカル・エンティティ(260)は、モデル3,0(2623,0)、エンコーダ3,0(2643,0)、およびデータセット3,0(2663,0)と共に示されている。ローカル・エンティティのうちの1つのみが、複数のモデルと共に示されているが、例示の実施形態では、1つまたは複数の追加のローカル・エンティティが複数のモデルを備えてよい。同様に、実施形態では、複数のローカル・モデルの数は、示されているローカル・モデルの数より大きくてよい。図2に示されて説明される実施形態では、評価器(254)は、ローカル・モデルの性能を測定するように機能する。2つの機械学習モデル(例えば、モデル0,0(2220,0)およびモデル0,1(2220,1))と共に示されているローカル・エンティティ(220)などの、複数のローカル・モデルを含むローカル・エンティティの事例では、評価器(254)は、選択的な識別のために、学習モデルの各々の性能を測定する。モデル性能評価のプロセスが、図4A図7に示されて説明される。したがって、参加しているエンティティは、連合学習に参加するために、複数のローカル・モデルで構成されるか、または複数のローカル・モデルを備えてよい。
【0026】
各エンティティは、図4Aおよび4Bに示されて説明されるように、それらのローカル性能評価データ、あるいはそれらのエンコーダもしくはモデルまたはその両方を、ローカル通信チャネル(228)、(238)、(248)、および(268)をそれぞれ経由して、中央エンティティ(210)と別々に共有する。評価器(254)は、連合学習において共有される単一のモデルおよび対応するエンコーダを選択的に識別してよく、または例示の実施形態では、評価器(254)は、複数の受信されたローカル・モデルから2つ以上のローカル・モデルを選択的に識別してよい。複数のモデルの識別の事例では、評価器は、ダイレクタ(256)が参加しているエンティティと共有するためのエンコーダの結合体を作成する。したがって、サーバ(210)、または図2に示された実施形態では、中央エンティティ(210)は、ローカル・エンティティ・モデルを共通のテスト・データセットに対して評価する。
【0027】
図1および2に示されて説明される実施形態は、共通のデータセットに対して性能評価を実施するサーバ(110)または中央エンティティ(210)を対象にする。例示の実施形態では、参加しているエンティティに対してローカルな性能評価(本明細書では、分散された性能評価とも呼ばれる)が実施されてよい。図2を参照すると、中央エンティティ(210)は、評価器(254)によって、分散された性能評価をサポートしてよく、評価器(254)は、性能評価によって識別されたローカル・エンティティ・モデルのエンコーダを、参加しているエンティティの各々と共有するように構成される。性能評価、および1つまたは複数のエンコーダの識別または選択の後に、中央エンティティ(210)は、識別されたか、または選択されたエンコーダ、および実施形態では、対応するモデルを、各通信チャネルを経由して、動作可能に結合されたエンティティの各々に配布する。実施形態では、中央エンティティ(210)は、エンコーダおよび対応するローカル・エンティティ・モデルを、各参加しているエンティティから受信し、評価器は、受信されたエンコーダおよび対応するローカル・エンティティ・モデルを参加しているエンティティの各々と共有する。ローカル・エンティティ(220)が、データセット0,0(2260,0)などのローカル・データセットを使用して受信されたローカル・エンティティ・モデル(例えば、モデル1,0(2321,0)、モデル2,0(2422,0)、およびモデル3,0(2623,0))の各々を評価するように、各ローカル・エンティティに対してローカルな分散された性能評価が実施される。受信されたローカル・エンティティ・モデルの各々に対して、同様の性能評価が実施される。例えば、ローカル・エンティティ(230)は、データセット1,0(2361,0)などのローカル・データセットを使用して受信されたローカル・モデルの性能評価を実施し、ローカル・エンティティ(240)は、データセット2,0(2461,0)などのローカル・データセットを使用して受信されたローカル・モデルの性能評価を実施し、ローカル・エンティティ(260)は、データセット3,0(2663,0)などのローカル・データセットを使用して受信されたローカル・モデルの性能評価を実施する。実施形態では、データセット0,0(2260,0)、データセット1,0(2361,0)、データセット2,0(2462,0)、およびデータセット3,0(2663,0)が異なるデータセットになるように、ローカル・データセットは異なっている。各ローカル・エンティティからの性能評価データおよび各受信されたローカル・エンティティ・モデルは、モデルのうちの1つまたは複数の選択的な識別のために、評価器(154)、(254)と共有される。したがって、本明細書において示されるように、評価の1つのレベルが異なるデータセットを含むローカル・レベルで実施され、評価の第2のレベルがサーバ(110)または中央エンティティ(210)によって中央レベルで実施されるように、性能評価は階層化されてよい。
【0028】
登録マネージャ(152)は、トポロジーおよび通信プロトコルを確立する役割を担う。1つの実施形態では、登録マネージャ(152)は、メッシュ・トポロジーとしても知られている完全に接続されたトポロジー、および対応するブロードキャスト・プロトコルを確立し、各参加しているエンティティは、それらのエンコーダを、トポロジーを経由してトポロジー内の他のすべての参加しているエンティティに直接送信する(例えば、ブロードキャストする)。評価器(154)は、選択的なモデルおよびエンコーダの識別をさらにサポートして可能にし、評価器(154)、(254)による中央性能評価(central performance evaluation)または参加しているローカル・エンティティの各々による分散された性能評価を採用してよい。性能評価の目的は、参加している各エンティティが、他の参加しているエンティティの1つまたは複数の選択的に識別されたエンコーダを受信し、それらから恩恵を受けることである。星形トポロジーでは、各参加しているメンバー・エンティティは、AIプラットフォーム(150)と直接通信することができ、そのため評価器(154)は、モデルの性能を評価するように構成される。実施形態では、ローカル・エンティティのうちの1つまたは複数が登録されるが、AIプラットフォーム(150)と共に能動的に参加しなくてよく、その場合、評価器(154)は、寄与しているエンティティとの選択的に識別されたエンコーダの共有を制限するか、あるいは性能評価のブロードキャスト・プロトコルに応じて、識別された寄与していないエンティティに対して、それらのローカル・モデルをサーバ(110)にブロードキャストするか、またはそれらのローカル・モデルをトポロジーの参加しているメンバーの各々にブロードキャストするよう要求してよい。したがって、本明細書において示され、説明されるように、星形トポロジーは、連合機械学習をサポートするために、ブロードキャスト・プロトコル、および1つの実施形態では、エンティティ参加の検証を採用する。
【0029】
一部の例示の実施形態では、サーバ(110)は、International Business Machines Corporation(ニューヨーク州アーモンク市)から提供されるIBM Watson(登録商標)システムであってよく、このシステムは、以下で説明される例示の実施形態のメカニズムを使用して拡張されている。本明細書に示されて説明されるIBM Watson(登録商標)システムは、性能評価および関連する共有プロトコルに基づいて連合機械学習を実施するためのツールを含む。これらのツールは、基礎になるデータを共有せずに、エンコーダの選択的な識別および共有を可能にし、それによって、データが機密またはプライベートのままであることを可能にする。
【0030】
以下で集合的にAIツールまたはAIプラットフォーム・ツールと呼ばれる登録マネージャ(152)、評価器(154)、およびダイレクタ(156)は、サーバ(110)のAIプラットフォーム(150)内で具現化されているか、または統合されているように示されている。AIツールは、ネットワーク(105)を経由してサーバ(110)に接続された別のコンピューティング・システム(例えば、190)内で実装されてよい。AIツールは、具現化された場合は常に、基礎になるデータを共有することも開示することもなく、参加しているエンティティ間のエンコーダおよびローカル・モデルの共有を含む、反復方式で、連合機械学習をサポートして可能にするように機能する。
【0031】
AIプラットフォーム(150)を利用できる情報処理システムの種類は、ハンドヘルド・コンピュータ/携帯電話(180)などの小型のハンドヘルド・デバイスから、メインフレーム・コンピュータ(182)などの大型のメインフレーム・システムに及ぶ。ハンドヘルド・コンピュータ(180)の例としては、パーソナル・デジタル・アシスタント(PDA:personal digital assistants)、パーソナル・エンターテイメント・デバイス(MP4プレイヤー、ポータブル・テレビ、およびコンパクト・ディスク・プレイヤーなど)が挙げられる。情報処理システムのその他の例としては、ペンまたはタブレット・コンピュータ(184)、ラップトップまたはノートブック・コンピュータ(186)、パーソナル・コンピュータ・システム(188)、およびサーバ(190)が挙げられる。図に示されているように、さまざまな情報処理システムが、コンピュータ・ネットワーク(105)を使用して一緒にネットワーク化され得る。さまざまな情報処理システムを相互接続するために使用され得るコンピュータ・ネットワーク(105)の種類としては、ローカル・エリア・ネットワーク(LAN:Local Area Networks)、ワイヤレス・ローカル・エリア・ネットワーク(WLAN:Wireless Local Area Networks)、インターネット、公衆交換電話網(PSTN:Public Switched Telephone Network)、他のワイヤレス・ネットワーク、および情報処理システムを相互接続するために使用され得る任意の他のネットワーク・トポロジーが挙げられる。情報処理システムの多くは、ハード・ドライブまたは不揮発性メモリあるいはその両方などの、不揮発性データ・ストアを含む。情報処理システムの一部は、別々の不揮発性データ・ストアを使用してよい(例えば、サーバ(190)は不揮発性データ・ストア(190)を利用し、メインフレーム・コンピュータ(182)は不揮発性データ・ストア(182)を利用する)。不揮発性データ・ストア(182)は、さまざまな情報処理システムの外部にあるコンポーネントであることができ、または情報処理システムのうちの1つの内部にあることができる。
【0032】
AIプラットフォーム(150)をサポートするために採用される情報処理システムは、さまざまな形態をとってよく、その一部が図1に示されている。例えば、情報処理システムは、デスクトップ、サーバ、ポータブル、ラップトップ、ノートブック、または他の形状因子のコンピュータもしくはデータ処理システムの形態をとってよい。加えて、情報処理システムは、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)、ゲーミング・デバイス、ATMマシン、携帯電話デバイス、通信デバイス、またはプロセッサおよびメモリを含んでいる他のデバイスなどの、他の形状因子を選択してよい。加えて、他のアーキテクチャが採用されてもよいということが理解されるため、情報処理システムは、ノース・ブリッジ/サウス・ブリッジ・コントローラ・アーキテクチャを必ずしも具現化する必要がない。
【0033】
アプリケーション・プログラム・インターフェイス(API:Application Program Interface)は、当技術分野において、2つ以上のアプリケーション間の中間のソフトウェアとして理解されている。図1に示されて説明されたAIプラットフォーム(150)に関して、ツール(152)~(156)のうちの1つまたは複数、およびそれらに関連する機能をサポートするために、1つまたは複数のAPIが利用されてよい。図3を参照すると、ツール(152)~(156)およびそれらに関連するAPIを示すブロック図(300)が提供されている。図に示されているように、複数のツールがAIプラットフォーム(305)内に組み込まれており、ツールは、API(312)に関連付けられた登録マネージャ(352)、API(322)に関連付けられた評価器(354)、およびAPI(332)に関連付けられダイレクタ(356)を含む。APIの各々は、1つまたは複数の言語およびインターフェイス仕様で実装されてよい。API(312)は、参加しているエンティティを協力関係に登録し、トポロジー内のエンティティ間の通信プロトコルを確立するため、および実施形態では、エンティティ間の通信方向を確立するための機能的サポートを提供し、API(322)は、参加しているエンティティのローカル機械学習モデルの性能に対処するための機能的サポートを提供し、API(332)は、選択的に識別されたローカル・モデルに関連付けられたエンコーダを参加しているエンティティと共有するための機能的サポートを提供する。図に示されているように、API(312)、(322)、および(332)の各々は、APIオーケストレータ(360)(そうでなければ、オーケストレーション・レイヤと呼ばれる)に動作可能に結合されており、APIオーケストレータ(360)は、当技術分野において、別々のAPIを透過的につなぐための抽象レイヤとして機能すると理解される。1つの実施形態では、別々のAPIの機能が結合されるか、または組み合わせられてよい。そのため、本明細書に示されたAPIの構成は、制限と見なされるべきではない。したがって、本明細書において示されるように、ツールの機能は、それらの各APIによって具現化されるか、またはサポートされてよい。
【0034】
図4Aおよび図4Bを参照すると、動作可能に結合されたエンティティとのモデルおよび対応するエンコーダの通信および共有を示すフローチャート(400)が提供されている。図に示されているように、複数のエンティティ(例えば、クライアント・マシン)が変数XTotalに割り当てられる(402)。例示の実施形態では、動作可能に結合されたエンティティ(例えば、サーバ)と通信する最小限の2つのエンティティが存在する。各クライアント・マシンは、対応するエンコーダおよび対応するデータ・セットを使用してトレーニングされた少なくとも1つの機械学習モデルを含む。例示の実施形態では、クライアント・マシンのうちの1つまたは複数は、2つ以上の機械学習モデルおよび対応するエンコーダを含んでよい。モデルの各々は、エンコードされたデータおよびエンコードされていないデータを含む、エンティティによって提供されたデータに対してトレーニングされる。エンティティが2つ以上のモデルをトレーニングする場合、それらのモデルは、エンコーディングの選択において異なる。エンコーディングは、一意にデコード可能である必要があるという点において、特定の要件を満たす。クライアント・マシンの各々に関連付けられ、対応するエンコーダおよびデータ・セットを使用してトレーニングされた各モデルが、識別される(404)。エンティティ・カウント変数が初期化され(406)、エンティティが2つ以上のモデルを含んでいるかどうかを識別するための評価が実施される(408)。この評価に対する否定応答の後に、エンティティのモデルをサーバに渡すことが続く(410)。反対に、評価に対する肯定応答の後に、エンティティに関連付けられたモデルの内部性能評価が続く(412)。例示の実施形態では、この内部評価は、共通のテスト・データ・セット(例えば、内部データ・セットまたはプライベート・データ・セット)に対するエンティティに関連付けられたモデルの各々の評価(414)、これらのモデルのうちの最良の性能のモデルの識別(416)、および識別された最良の性能のモデル、および任意選択的に、関連するエンコーディングをサーバに渡すこと(418)を含む。
【0035】
ステップ(410)または(418)のどちらかの後に、エンティティ・カウント変数がインクリメントされ(420)、連合学習環境に参加している識別されたエンティティの各々がモデルをサーバに渡したかどうかを判定するための評価が実施される(422)。この評価に対する否定応答の後に、ステップ(408)に戻ることが続き、この評価に対する肯定応答は、選択的な内部性能評価を対象にするモデル性能評価の最初の態様を終了する。実施形態では、モデルをサーバに渡さず、他の方法でもモデルを共有しないエンティティは、連合学習プロセスに参加していないエンティティと見なされる。
【0036】
図1に示されて説明されるように、サーバは、各エンティティから受信されたモデルの各々に対して性能評価を実施し、この評価は共通のデータ・セットを使用して実施される。これによって、各モデルが同じデータ・セットに対して評価されるため、性能評価を均一にすることができる。参加しているエンティティが連合学習をオプトアウトしてよいということが、理解される。そのため、サーバに動作可能に結合されたエンティティの数は、サーバによって受信されたモデルの数と一致しなくてよい。変数YTotalがサーバによって受信されたモデルの数に割り当てられ(424)、変数YTotalが整数1を超えたかどうかが判定される(426)。否定応答は、1つのエンティティのみが連合学習に参加しているということの指示であり、プロセスが終了される。ステップ(426)での判定に対する肯定応答の後に、本明細書ではテスト・データとも呼ばれる性能データが提供されるか、または他の方法で識別されること、およびサーバが性能データをモデルの各々(例えば、モデル)に適用することが続く(428)。連合学習のためのさまざまなプロトコルが存在する。本明細書において示され、説明される実施形態では、サーバが、テスト・データからの最良の性能の出力を有するモデルを識別し、対応するエンコーダ、および任意選択的に、対応するモデルを、連合学習に参加しているエンティティの各々に配布する(430)。その後、サーバと通信する参加しているエンティティの各々は、それらの内部エンティティ・モデルを、受信されたエンコーダに対してトレーニングし、それらのトレーニング済みモデルを連合学習サーバと共有する(432)。連合学習サーバは、トレーニング済みモデルをマージして、単一の共有されたモデルを作成し、次に、単一の共有されたモデルが、協力的トポロジー内の参加しているエンティティの各々に伝達される(434)。したがって、示されて説明される実施形態では、連合学習プロセスが、選択された共通のテスト・データに対して、参加している各エンティティのモデルを評価する。
【0037】
図5を参照すると、テスト・データからの性能評価に基づく2つ以上のエンコーダの選択のためのプロセスを示すフローチャート(500)が提供されている。本明細書に示されたプロセスは、図4Aのステップ(422)から続く。性能データの適用は、性能出力データをもたらす。本明細書において示され、説明されるように、性能評価からの出力を評価するために、しきい値設定が採用される。例示の実施形態では、しきい値は構成可能である。変数YTotalが、サーバによって受信されたモデルの数に割り当てられる(502)。サーバによって、本明細書ではテスト・データとも呼ばれる性能データを使用して、モデルの各々が評価される(504)。例示の実施形態では、比較が均一または相対的に均一になるように、モデルの各々の性能データは同じである。モデルの性能に対応する、本明細書では出力と呼ばれる出力データが、評価されたテスト・データと共に、モデルの各々から取得される(506)。しきい値に対して出力データが評価され(508)、しきい値を満たすか、または超える性能を有するモデルが識別され、変数ZTotalが、しきい値を満たすか、または超える性能を有するモデルの数(quantity)に割り当てられる(510)。したがって、最初のエンコーダ選択プロセスは、定義されたテスト・データ・セットに対してモデルの性能を評価することを対象にする。
【0038】
最初の評価の態様が完了した後に、少なくとも1つのモデルが識別されたかどうか(例えば、変数ZTotalが0より大きいかどうか)が判定される(512)。ステップ(512)での判定に対する否定応答の後に、しきい値をリセットするか、または異なるテスト・データ・セットを選択するか(514)、あるいは実施形態では、しきい値をリセットすること、および異なるテスト・データ・セットを選択することを両方とも実行し、ステップ(504)に戻ることが続く。代替として、ステップ(512)での判定に対する肯定応答の後に、少なくとも2つのモデルが識別されたかどうか(例えば、変数ZTotalが1より大きいかどうか)を判定するための評価が続く(516)。この判定に対する否定応答は、少なくとも性能しきい値を満たしているとして1つのモデルのみが識別されたことを示し、サーバが、対応するエンコーダ、および任意選択的に、対応するモデルを、連合学習に参加しているエンティティの各々に配布する(518)。ステップ(516)での判定に対する肯定応答の後に、モデルのセット(例えば、ZTotal)全体で最適な性能のモデルが、対応する構成に対して選択された性能しきい値を超えているかどうかを確認するためのその後の評価が続く(520)。例示の実施形態では、連合学習の構成は構成可能であり、そのため、静的構成でなくてよい。ステップ(520)での判定に対する肯定応答の後に、モデルのセットZTotalから単一のモデルを識別すること(522)、およびステップ(518)に戻ることが続く。本明細書において示されるように、ステップ(520)での判定に対する否定応答の後に、セットZTotalで表されたモデルの各々の対応するエンコーダ、および任意選択的に、対応するモデルを、連合学習に参加しているエンティティの各々に配布することが続く(524)。したがって、連合学習において使用するためのエンコーダおよび対応するモデルを識別するために、しきい値が利用されてよい。
【0039】
図6を参照すると、連合学習において使用するためのエンコーダの結合体(union)を作成するためのプロセスを示すフローチャート(600)が提供されている。エンコーダの結合体は、しきい値を満たすか、または超える性能データを有する2つ以上のモデルの識別を対象にする。図5に示されて説明されるように、変数ZTotalは、しきい値を満たすか、または超える評価された性能データを有するモデルを表す(602)。この図に示されて説明される実施形態では、変数ZTotalは、少なくとも2つのモデルを表す。各モデルは、対応するエンコーダを含む。サーバは、エンコーダの各々(例えば、Z=1~ZTotal)から受信されたエンコーディングの結合体を作成する(604)。変数XTotalが、サーバに動作可能に結合され、連合学習に参加しているエンティティの数(quantity)に割り当てられ(606)、この数は、例示の実施形態では、モデルの数に等しくても等しくなくてもよい。エンコーダの結合体が、エンティティXTotalの各々に配布される(608)。実施形態では、連合学習環境内のエンコーダの送信または伝達は、対応するモデルを含む。その後、サーバと通信する、連合学習に参加しているエンティティの各々(例えば、X=1~XTotal)は、エンコーダの受信された結合体でそれらの内部エンティティ・モデルをトレーニングする(610)。各内部データを使用するローカル・トレーニングの後に、内部エンティティ・モデルが、連合学習サーバと通信されるか、または他の方法で連合学習サーバと共有され(612)、連合学習サーバは、内部エンティティ・モデルを単一のモデルにマージする(614)。モデルのマージ後に、連合学習サーバは、マージされたモデルを、参加しているエンティティの各々(例えば、X=1~XTotal)に送信する(616)。したがって、示されて説明される実施形態では、連合学習プロセスが、選択された共通のテスト・データで参加している各エンティティのモデルを評価する。
【0040】
図4A図4B図5、および図6に示されているように、選択された場所で、テスト・データ・セットでモデルの評価が実施される。図7を参照すると、分散方式で評価を実施するためのプロセスを示すフローチャート(700)が提供されている。変数XTotalが、サーバまたは中央エンティティに動作可能に結合され、連合学習環境に参加しているエンティティの数に割り当てられる(702)。参加している各エンティティが単一のモデル、または実施形態では、複数のモデルを含んでよいということが理解される。エンティティ(例えば、X=1~XTotalのエンティティ)ごとに、変数YTotalが、各エンティティに対してローカルなモデルの数を表す(704)。連合学習に参加している各エンティティは、モデルの性能を対象にするローカル評価を実施し、ローカル評価は、本明細書ではテストセットとして示されるローカル・テスト・データ・セットを利用する。各エンティティ(例えば、X=1~XTotalのエンティティ)は、他の参加しているエンティティの各々からモデルを受信し(706)、ローカル・テスト・データ・セットを受信されたモデルの各々に適用し、それによって、モデル性能データの形態で出力を生成する(708)。連合学習環境内の他のエンティティからモデルを受信する態様は、エンコーダを含んでいるモデル自体に制限され、データは移動されない。各エンティティによって評価された各モデルの性能データが、サーバまたは中央エンティティに伝達される(710)。サーバまたは中央エンティティによって、モデル性能データ結果を使用して性能評価が実施される。したがって、各エンティティに対してローカルなテスト・データ・セットを使用して、各エンティティに対してローカルな複数の性能評価が実施される。
【0041】
図4A図6に示されて説明されるプロセスと同様に、性能から出力を評価するために、モデル性能データの各々の受信において、中央エンティティによってしきい値設定が採用される(712)。加えて、変数kが、対応するエンコーダを伝達することにおいて採用されるモデルの数を割り当てられるか、またはそのようなモデルの数を表す。次に、kが整数1に設定されているかどうかが判定される(714)。この判定に対する肯定応答の後に、中央エンティティまたはサーバが、最適な性能データを有するモデルを識別するか、または選択することが続く(716)。中央エンティティまたはサーバは、識別されたモデルに関連付けられたエンコーダを、伝達するか、または他の方法で配布し、例示の実施形態では、関連するモデルがエンコーダに添付され、中央エンティティまたはサーバは、エンコーダまたはモデルあるいはその両方を、連合学習環境内のエンティティの各々に伝達する(718)。その後、ローカル・データが、受信されたエンコーダと共に、ローカル・モデルをトレーニングするために使用される(726)。ステップ(714)での判定に対する否定的応答の後に、中央エンティティが、上位k個のモデルおよび関連するエンコーダを選択し、上位k個のモデルおよび関連するエンコーダの結合体を作成することが続く(720)。モデルおよびエンコーダの結合体が、中央エンティティから、連合学習に参加しているか、または連合学習のメンバーであるローカル・エンティティの各々に配布される(722)。この配布は、データを含まない(例えば、データが移動されない)。その後、サーバと通信する、連合学習に参加しているエンティティの各々は、エンコーダの受信された結合体およびローカル・データでそれらの内部エンティティ・モデルの各々をトレーニングする(724)。図に示されているように、ステップ(724)および(726)に示されているように選択されたエンコーダまたはエンコーダの結合体を使用してローカル・モデルがトレーニングされた後に、ローカル・モデルが連合学習サーバ(例えば、サーバ)に返され、連合学習サーバは、モデルを集約して単一のモデルを形成し、その後、形成された単一のモデルがローカル・エンティティに返される(728)。例示の実施形態では、ローカル・エンティティは、形成された単一のモデルをトレーニングを再開し、それによって、更新されたモデルを形成し、更新されたモデルを連合学習サーバに渡すか、または他の方法で伝達することができ、連合学習サーバは、モデルを集約するプロセスを続行することができる。実施形態では、連合学習プロセスは、性能指標が達成されるまで継続してよい。したがって、示されて説明される実施形態では、連合学習プロセスは、連合学習サーバによって管理され、参加しているエンティティと通信される単一の集約されたモデルを形成するために、異なるテスト・データ・セットにわたって分散された性能評価を採用する。
【0042】
図1図7に示されて説明されるような連合学習環境を伴うAIプラットフォームは、図2に示されているようなローカル・エンティティとサーバの構造または構成を対象にする。しかし、本明細書に示された構成は、制限と見なされるべきではない。例示の実施形態では、構成は、中央エンティティにしたローカル・エンティティの階層化を含む階層構造などの、異なる配布経路を含む異なる形態をとってよい。
【0043】
機能的ツール(152)~(156)およびそれらに関連する機能の態様は、単一の位置でコンピュータ・システム/サーバにおいて具現化されてよく、または1つの実施形態では、計算リソースを共有するクラウドベースのシステム内で構成されてよい。図8を参照すると、図1~7に関して上で説明されたプロセスを実施するためにクラウドベースのサポート・システムと通信するコンピュータ・システム/サーバ(802)(以下では、ホスト(802)と呼ばれる)の例を示すブロック図(800)が提供されている。ホスト(802)は、他の多数の汎用または専用のコンピューティング・システム環境または構成と共に動作可能である。ホスト(802)と共に使用するのに適し得る周知のコンピューティング・システム、環境、または構成、あるいはその組合せの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、ならびにこれらのシステム、デバイス、およびこれらと同等のもののいずれかを含んでいるファイル・システム(例えば、分散ストレージ環境および分散クラウド・コンピューティング環境)が挙げられるが、これらに限定されない。
【0044】
ホスト(802)は、コンピュータ・システムによって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令との一般的な関連において説明されてよい。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含んでよい。ホスト(802)は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境(810)内で実行されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置されてよい。
【0045】
図8に示されているように、ホスト(802)は、汎用コンピューティング・デバイスの形態で示されている。ホスト(802)のコンポーネントは、1つまたは複数のプロセッサまたは処理ユニット(804)(例えば、ハードウェア・プロセッサ)、システム・メモリ(806)、およびシステム・メモリ(806)を含むさまざまなシステム・コンポーネントをプロセッサ(804)に結合するバス(808)を含んでよいが、これらに限定されない。バス(808)は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、およびさまざまなバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、複数の種類のバス構造のいずれかのうちの1つまたは複数を表す。そのようなアーキテクチャの例としては、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカル・バス、およびPCI(Peripheral Component Interconnects)バスが挙げられるが、これらに限定されない。ホスト(802)は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、ホスト(802)によってアクセスできる任意の使用可能な媒体であってよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体を含む。
【0046】
メモリ(806)は、ランダム・アクセス・メモリ(RAM:random access memory)(830)またはキャッシュ・メモリ(832)あるいはその両方などの、揮発性メモリの形態でのコンピュータ・システム可読媒体を含むことができる。単に例として、取り外し不可、不揮発性の磁気媒体(図示されておらず、通常は「ハード・ドライブ」と呼ばれる)に対する読み取りと書き込みを行うために、ストレージ・システム(834)を提供することができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(登録商標)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、または他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブが提供され得る。そのような例では、それぞれを、1つまたは複数のデータ媒体インターフェイスによってバス(808)に接続することができる。
【0047】
例えば、一連の(少なくとも1つの)プログラム・モジュール(842)を含んでいるプログラム/ユーティリティ(840)がメモリ(806)に格納されてよいが、これに限定されず、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データも格納されてよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらの組合せの各々は、ネットワーク環境の実装を含んでよい。プログラム・モジュール(842)は、通常、連合学習において入力エンコーディング方法を適用するための実施形態の機能または方法あるいはその両方を実行する。例えば、プログラム・モジュールのセット(842)は、図1で説明されたツール(152)~(156)を含んでよい。
【0048】
ホスト(802)は、キーボード、ポインティング・デバイスなどの1つまたは複数の外部デバイス(814)、ディスプレイ(824)、ユーザがホスト(802)と情報をやりとりできるようにする1つまたは複数のデバイス、またはホスト(802)が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組合せと通信してもよい。そのような通信は、入出力(I/O:Input/Output)インターフェイス(822)を介して発生することができる。さらに、ホスト(802)は、ローカル・エリア・ネットワーク(LAN:local area network)、一般的な広域ネットワーク(WAN:wide area network)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワークと、ネットワーク・アダプタ(820)介して通信することができる。図示されているように、ネットワーク・アダプタ(820)は、バス(808)を介してホスト(802)の他のコンポーネントと通信する。1つの実施形態では、分散ファイル・システム(図示されていない)の複数のノードは、I/Oインターフェイス(822)を介して、またはネットワーク・アダプタ(820)を介して、ホスト(802)と通信する。図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、ホスト(802)と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
【0049】
本文書では、「コンピュータ・プログラム媒体」、「コンピュータ使用可能媒体」、および「コンピュータ可読媒体」という用語は、一般に、RAM(830)を含むメイン・メモリ(806)、キャッシュ(832)、ならびに取り外し可能ストレージ・ドライブおよびハード・ディスク・ドライブに取り付けられたハード・ディスクなどのストレージ・システム(834)などの媒体を指すために使用される。
【0050】
コンピュータ・プログラム(コンピュータ制御論理とも呼ばれる)は、メモリ(806)に格納される。コンピュータ・プログラムは、ネットワーク・アダプタ(820)などの通信インターフェイスを介して受信されてもよい。そのようなコンピュータ・プログラムは、実行された場合、コンピュータ・システムが、本明細書で説明された本実施形態の特徴を実行できるようにする。特に、コンピュータ・プログラムは、実行された場合、処理ユニット(804)が、コンピュータ・システムの機能を実行できるようにする。したがって、そのようなコンピュータ・プログラムは、コンピュータ・システムのコントローラを表す。
【0051】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(登録商標)・ディスク、ハード・ディスク、ダイナミックまたはスタティック・ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM:read-only memory )、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、磁気ストレージ・デバイス、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(登録商標)・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組合せを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、電波または他の自由に伝搬する電磁波、導波管または他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの、それ自体が一過性の信号であると解釈されるべきではない。
【0052】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、あるいはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、またはワイヤレス・ネットワーク、あるいはその組合せ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0053】
本実施形態の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはJava(登録商標)、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行するか、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行するか、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行するか、あるいはリモート・コンピュータ上またはサーバもしくはサーバのクラスタ上で全体的に実行してよい。後者のシナリオでは、リモート・コンピュータを、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続を、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行うことができる。一部の実施形態では、実施形態の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズするためのコンピュータ可読プログラム命令を実行してよい。
【0054】
1つの実施形態では、ホスト(802)はクラウド・コンピューティング環境のノードである。従来技術において知られているように、クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含んでよい。そのような特徴の例は次のとおりである。
【0055】
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間、ネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
【0056】
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
【0057】
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高いレイヤの抽象化では、場所(例えば、国、州、またはデータセンター)を指定できることがある。
【0058】
迅速な順応性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
【0059】
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した何らかの抽象化のレイヤで、リソースの使用を自動的に制御および最適化する。リソースの使用状況は、監視、制御、および報告されることが可能であり、利用されるサービスのプロバイダと利用者の両方に透明性を提供する。
【0060】
サービス・モデルは、次のとおりである。
【0061】
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
【0062】
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
【0063】
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、および他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御し、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御する。
【0064】
デプロイメント・モデルは、次のとおりである。
【0065】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0066】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0067】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
【0068】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
【0069】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを備えるインフラストラクチャである。
【0070】
ここで図9を参照すると、例示的なクラウド・コンピューティング・ネットワーク(900)が示されている。図に示されているように、クラウド・コンピューティング・ネットワーク(900)は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイスが通信し得る1つまたは複数のクラウド・コンピューティング・ノード(910)を含むクラウド・コンピューティング環境(950)を含んでいる。これらのローカル・コンピューティング・デバイスの例として、パーソナル・デジタル・アシスタント(PDA)または携帯電話(954A)、デスクトップ・コンピュータ(954B)、ラップトップ・コンピュータ(954C)、または自動車コンピュータ・システム(954N)、あるいはその組合せが挙げられるが、これらに限定されない。ノード(910)内の個別のノードは、互いにさらに通信してよい。ノード(910)は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組合せなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境(900)は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組合せを提供できる。図9に示されたコンピューティング・デバイス(954A~954N)の種類は、例示のみが意図されており、クラウド・コンピューティング環境(950)は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
【0071】
ここで図10を参照すると、図9のクラウド・コンピューティング・ネットワークによって提供される機能的抽象レイヤのセット(1000)が示されている。図10に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図に示されているように、ハードウェアおよびソフトウェア・レイヤ(1010)、仮想化レイヤ(1020)、管理レイヤ(1030)、およびワークロード・レイヤ(1040)、ならびに対応する機能が提供されている。
【0072】
ハードウェアおよびソフトウェア・レイヤ(1010)は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム(一例を挙げると、IBM(登録商標)zSeries(登録商標)システム)、RISC(Reduced Instruction Set Computer)アーキテクチャ・ベース・サーバ(一例を挙げると、IBM pSeries(登録商標)システム)、IBM xSeries(登録商標)システム、IBM BladeCenter(登録商標)システム、ストレージ・デバイス、ネットワークおよびネットワーク・コンポーネントが挙げられる。ソフトウェア・コンポーネントの例としては、ネットワーク・アプリケーション・サーバ・ソフトウェア(一例を挙げると、IBM WebSphere(登録商標)アプリケーション・サーバ・ソフトウェア)、およびデータベース・ソフトウェア(一例を挙げると、IBM DB2(登録商標)データベース・ソフトウェア)が挙げられる。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere、およびDB2は、世界中の多くの管轄区域で登録されているInternational Business Machines Corporationの商標である)。
【0073】
仮想化レイヤ(1020)は、仮想サーバ、仮想ストレージ、仮想プライベート・ネットワークを含む仮想ネットワーク、仮想アプリケーションおよびオペレーティング・システム、ならびに仮想クライアントなどの仮想的実体を提供できる抽象レイヤを備える。
【0074】
1つの例では、管理レイヤ(1030)は、リソース・プロビジョニング、計測および価格設定、ユーザ・ポータル、サービス・レイヤ管理、ならびにSLA計画および実行の機能を提供してよい。リソース・プロビジョニングは、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよび他のリソースの動的調達を行う。計測および価格設定は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書またはインボイスの送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うとともに、データおよび他のリソースの保護を行う。ユーザ・ポータルは、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レイヤ管理は、必要なサービス・レイヤを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス・レイヤ合意(SLA:Service Level Agreement)計画および実行は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
【0075】
ワークロード・レイヤ(1040)は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供され得るワークロードおよび機能の例としては、マッピングおよびナビゲーション、ソフトウェア開発およびライフサイクル管理、仮想クラスルーム教育の配信、データ解析処理、トランザクション処理、ならびに連合機械学習が挙げられるが、これらに限定されない。
【0076】
本実施形態のうちの特定の実施形態が示されて説明されたが、本明細書の内容に基づいて、実施形態およびさらに広い態様から逸脱することなく変更および修正が行われてよいということが、当業者にとって明らかであろう。したがって、添付の特許請求の範囲は、実施形態の真の範囲内にあるそのようなすべての変更および修正を、その範囲内に包含する。さらに、実施形態が添付の特許請求の範囲のみによって定義されるということが理解されるべきである。導入された請求項要素の特定の数が意図される場合、そのような意図が特許請求の範囲内で明示的に列挙され、そのような列挙がない場合、そのような制限は存在しないということが、当業者によって理解されるであろう。非限定的な例に関する理解の補助として、以下の添付の特許請求の範囲は、請求項要素を導入するための「少なくとも1つ」および「1つまたは複数」という導入的語句の使用を含んでいる。しかし、そのような語句の使用は、同じ請求項が導入的語句「1つまたは複数」または「少なくとも1つ」および「a」または「an」などの不定冠詞を含んでいる場合でも、不定冠詞「a」または「an」による請求項要素の導入が、そのような導入された請求項要素を含んでいるいずれかの特定の請求項を、1つのそのような要素のみを含んでいる実施形態に制限するということを意味すると解釈されるべきではなく、同じことが、請求項における定冠詞の使用にも当てはまる。
【0077】
本実施形態は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。加えて、本実施形態の選択された態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいはソフトウェアの態様もしくはハードウェアの態様またはその両方を組み合わせる実施形態の形態をとってよく、これらはすべて、本明細書では、一般に「回路」、「モジュール」、または「システム」と呼ばれてよい。さらに、本実施形態の態様は、プロセッサに本実施形態の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体に具現化されたコンピュータ・プログラム製品の形態をとってよい。このようにして具現化された、開示されたシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せは、連合学習において入力エンコーディング技術を適用し、共通のエンコーダを使用するモデルのトレーニングを可能にするために、人工知能プラットフォームの機能および動作を改良するよう機能する。
【0078】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(登録商標)・ディスク、ハード・ディスク、ダイナミックまたはスタティック・ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、磁気ストレージ・デバイス、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(登録商標)・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組合せを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、電波または他の自由に伝搬する電磁波、導波管または他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの、それ自体が一過性の信号であると解釈されるべきではない。
【0079】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、またはワイヤレス・ネットワーク、あるいはその組合せ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0080】
本実施形態の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはJava(登録商標)、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行するか、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行するか、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行するか、あるいはリモート・コンピュータ上またはサーバもしくはサーバのクラスタ上で全体的に実行してよい。後者のシナリオでは、リモート・コンピュータを、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続を、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行うことができる。一部の実施形態では、本実施形態の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズするためのコンピュータ可読プログラム命令を実行してよい。
【0081】
本実施形態の態様は、本明細書において、本実施形態に従って方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組合せが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0082】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示できるものであってもよい。
【0083】
コンピュータ可読プログラム命令は、コンピュータ上、他のプログラム可能な装置上、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成する他のデバイス上で実行させる。
【0084】
図内のフローチャートおよびブロック図は、本実施形態のうちのさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組合せは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0085】
本明細書では、例示の目的で特定の実施形態が説明されたが、実施形態の範囲から逸脱することなくさまざまな変更が行われてよいということが理解されるであろう。したがって、実施形態の保護の範囲は、添付の特許請求の範囲およびそれらと同等のもののみによって制限される。
図1
図2
図3
図4A
図4B
図5
図6
図7
図8
図9
図10
【手続補正書】
【提出日】2023-11-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
メモリに動作可能に結合された処理ユニットと、
前記処理ユニットと通信する人工知能(AI)プラットフォームとを備えているシステムであって、前記AIプラットフォームが、連合学習において入力エンコーディングを適用し、前記AIプラットフォームが、
少なくとも第1および第2の参加しているエンティティを協力関係で配置するように構成された登録マネージャであって、前記第1の参加しているエンティティが、第1のエンコードされた特徴を生成するように、第1のトレーニング・データ・セットで第1のエンコーダを使用して第1の機械学習モデルをトレーニングし、前記第2の参加しているエンティティが、第2のエンコードされた特徴を生成するように、第2のトレーニング・データ・セットで第2のエンコーダを使用して第2の機械学習モデルをトレーニングする、前記登録マネージャと、
前記登録マネージャに動作可能に結合され、
前記第1および第2の機械学習モデルの性能を測定することと、
測定された前記性能に基づいて前記第1および第2の機械学習モデルのうちの少なくとも1つを選択的に識別するこ
とを実行するように構成された、評価器と、
前記評価器に動作可能に結合され、前記選択的に識別された機械学習モデルのエンコーダを、前記参加しているエンティティの各々と共有するように構成されたダイレクタであって、前記共有されたエンコーダが、前記第1および第2の機械学習モデルをそれぞれトレーニングするために、前記第1および第2の参加しているエンティティによって適用されるように構成され、単一の共有されたモデルにマージされるように構成される、前記ダイレクタ
を備える、システム。
【請求項2】
少なくとも前記第1の参加しているエンティティが、少なくとも2つの機械学習モデルをトレーニングし、前記2つの機械学習モデルの各々が、別々のエンコーダおよび別々のトレーニング・データ・セットを含み、第1のテスト・データで前記少なくとも2つの機械学習モデルの性能を測定し、それらの測定された性能に基づいて、前記少なくとも2つの機械学習モデルのうちの1つを選択的に識別し、前記第1および第2の参加しているエンティティに動作可能に結合されたエンティティと共有するように構成された、前記評価器をさらに備える、請求項1に記載のコンピュータ・システム。
【請求項3】
前記第1および第2の機械学習モデルの組合せをテストするように構成された前記評価器をさらに備え、前記選択的な識別が、前記第1および第2のエンコーダの組合せを含む、請求項1に記載のコンピュータ・システム。
【請求項4】
前記第1および第2のエンコーダの結合体を作成し、前記結合体を前記参加しているエンティティと共有するように構成された前記評価器をさらに備える、請求項3に記載のコンピュータ・システム。
【請求項5】
前記第1および第2の機械学習モデルを前記第1および第2のエンティティの各々と共有するように構成された前記評価器をさらに備え、
前記第1のエンティティが、第1のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第1のテスト・データに基づいて前記第1および第2のモデルの第1の性能を測定し、
前記第2のエンティティが、前記第1のテスト・データと異なる第2のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第2のテスト・データに基づいて前記第1および第2のモデルの第2の性能を測定し、
前記第1および第2のエンティティが、前記第1および第2の測定された性能データを前記評価器と共有し、
前記評価器が、前記第1および第2のモデルのうちの1つまたは複数を選択的に識別する、請求項1に記載のコンピュータ・システム。
【請求項6】
レーニング済みの前記第1および第2の機械学習モデルをマージし、単一の機械学習モデルを形成するように構成された前記ダイレクタをさらに備える、請求項1に記載のコンピュータ・システム。
【請求項7】
連合学習において入力エンコーディングを適用するためのコンピュータ・プログラムであって、プロセッサに、
機械学習モデルをトレーニングするために、少なくとも第1および第2の参加しているエンティティを協力関係で配置することであって、前記第1の参加しているエンティティが、第1のエンコードされた特徴を生成するように、第1のトレーニング・データ・セットで第1のエンコーダを使用して第1の機械学習モデルをトレーニングし、前記第2の参加しているエンティティが、第2のエンコードされた特徴を生成するように、第2のトレーニング・データ・セットで第2のエンコーダを使用して第2の機械学習モデルをトレーニングする、前記配置することと、
前記第1および第2の参加しているエンティティに動作可能に結合されたエンティティによって、前記第1および第2の機械学習モデルを評価することであって、
前記第1および第2の機械学習モデルの性能を測定することと、
測定された前記性能に基づいて前記第1および第2の機械学習モデルのうちの少なくとも1つを選択的に識別することと
含む、前記評価することと、
前記選択的に識別された機械学習モデルのエンコーダを、前記参加しているエンティティの各々と共有することあって、前記共有されたエンコーダが、前記第1および第2の機械学習モデルをそれぞれトレーニングするために、前記第1および第2の参加しているエンティティによって適用されるように構成され、単一の共有されたモデルにマージされるように構成される、前記共有すること
を実行させるためのコンピュータ・プログラム
【請求項8】
少なくとも前記第1の参加しているエンティティが、少なくとも2つの機械学習モデルをトレーニングし、前記2つの機械学習モデルの各々が、別々のエンコーダおよび別々のトレーニング・データ・セットを含み、前記コンピュータ・プログラムは、前記プロセッサに、第1のテスト・データで前記少なくとも2つの機械学習モデルの性能を評価し、それらの測定された性能に基づいて、前記少なくとも2つの機械学習モデルのうちの1つを選択的に識別し、前記エンティティと共有することを実行させる、請求項7に記載のコンピュータ・プログラム
【請求項9】
前記プロセッサに、
前記第1および第2の機械学習モデルを前記第1および第2のエンティティの各々と共有することと、
前記第1のエンティティによって、第1のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第1のテスト・データに基づいて前記第1および第2のモデルの第1の性能を測定することと、
前記第2のエンティティによって、前記第1のテスト・データと異なる第2のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第2のテスト・データに基づいて前記第1および第2のモデルの第2の性能を測定することと、
前記第1および第2のエンティティによって、前記第1および第2の測定された性能データを前記エンティティと共有することと、
前記エンティティによって、前記第1および第2のモデルのうちの1つまたは複数を選択的に識別することと
さらに実行させる、請求項7に記載のコンピュータ・プログラム
【請求項10】
コンピュータの情報処理による方法であって、
機械学習モデルをトレーニングするために、少なくとも第1および第2の参加しているエンティティを協力関係で配置することであって、前記第1の参加しているエンティティが、第1のエンコードされた特徴を生成する第1のトレーニング・データ・セットで第1のエンコーダを使用して第1の機械学習モデルをトレーニングし、前記第2の参加しているエンティティが、第2のエンコードされた特徴を生成する第2のトレーニング・データ・セットで第2のエンコーダを使用して第2の機械学習モデルをトレーニングする、前記配置することと、
前記第1および第2の参加しているエンティティに動作可能に結合されたエンティティによって、前記第1および第2の機械学習モデルを評価することであって、
前記第1および第2の機械学習モデルの性能を測定することと、
測定された前記性能に基づいて前記評価された第1および第2の機械学習モデルのうちの少なくとも1つを選択的に識別すること
を含む、前記評価することと、
前記選択的に識別された機械学習モデルのエンコーダを、前記参加しているエンティティの各々と共有することあって、前記共有されたエンコーダが、前記第1および第2の機械学習モデルをそれぞれトレーニングするために、前記第1および第2の参加しているエンティティによって適用されるように構成され、単一の共有されたモデルにマージされるように構成される、前記共有すること
を含む、方法。
【請求項11】
少なくとも前記第1の参加しているエンティティが、少なくとも2つの機械学習モデルをトレーニングし、前記2つの機械学習モデルの各々が、別々のエンコーダおよび別々のトレーニング・データ・セットを含み、前記方法は、前記第1のエンティティが、第1のテスト・データで前記少なくとも2つの機械学習モデルの性能を評価し、それらの測定された性能に基づいて、前記少なくとも2つの機械学習モデルのうちの1つを選択的に識別し、前記エンティティと共有することをさらに含む、請求項10に記載の方法。
【請求項12】
前記方法は、
前記第1および第2の機械学習モデルを前記第1および第2のエンティティの各々と共有することと、
前記第1のエンティティが、第1のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第1のテスト・データに基づいて前記第1および第2のモデルの第1の性能を測定することと、
前記第2のエンティティが、前記第1のテスト・データと異なる第2のテスト・データを使用して前記第1および第2の機械学習モデルを評価し、前記第2のテスト・データに基づいて前記第1および第2のモデルの第2の性能を測定することと、
前記第1および第2のエンティティが、前記第1および第2の測定された性能データを前記エンティティと共有することと、
前記エンティティが、前記第1および第2のモデルのうちの1つまたは複数を選択的に識別すること
さらに含む、請求項10に記載の方法。
【国際調査報告】