(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024173659
(43)【公開日】2024-12-12
(54)【発明の名称】安全なモデリング交換に基づくデータ学習システムのための機器及び方法
(51)【国際特許分類】
G06N 3/098 20230101AFI20241205BHJP
【FI】
G06N3/098
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024036097
(22)【出願日】2024-03-08
(31)【優先権主張番号】63/470,108
(32)【優先日】2023-05-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/597,648
(32)【優先日】2024-03-06
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】392026693
【氏名又は名称】株式会社NTTドコモ
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100121980
【弁理士】
【氏名又は名称】沖山 隆
(74)【代理人】
【識別番号】100128107
【弁理士】
【氏名又は名称】深石 賢治
(74)【代理人】
【識別番号】100123995
【弁理士】
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】守屋 裕樹
(72)【発明者】
【氏名】井上 義隆
(57)【要約】
【課題】データ学習システム(たとえば、機械学習(ML)システムなど)を構築するためのアーキテクチャ、機器、及び方法を提供する。
【解決手段】アーキテクチャは、クライアントのグループを識別して、連合学習によってグローバルモデルを構築するためのプラットフォームを含み、該プラットフォームは、グローバルモデルでのモデル定義をグループに供給し、そのグループから受信されたモデルパラメータを集約してグローバルモデルを構築することによって、グローバルモデルを構築するためのグループマネージャと、該グループマネージャに通信可能に接続されて、各クライアントの寄与に基づいて、プラットフォームに通信可能に接続された各クライアントへのインセンティブを計算してグローバルモデルを訓練するインセンティブ計算機と、含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
グローバル機械学習(ML)モデルを構築するためのアーキテクチャであって、
クライアントのグループを識別して、連合学習によってグローバルモデルを構築するためのプラットフォーム、
を備え、
前記プラットフォームが、
前記グローバルモデルでのモデル定義を前記グループに供給し、前記グループから受信されたモデルパラメータを集約して前記グローバルモデルを構築することによって、前記グローバルモデルを構築するためのグループマネージャであって、前記クライアントが、前記クライアントのそれぞれのクライアントサイトにおいてローカルデータを使用して、前記それぞれのクライアントサイトにおいてローカルMLモデルを訓練することによって、前記モデルパラメータが生成される、当該グループマネージャと、
前記グループマネージャに通信可能に接続されて、各クライアントの寄与に基づいて、前記プラットフォームに通信可能に接続された各クライアントへのインセンティブを計算して、前記グローバルモデルを訓練するインセンティブ計算機であって、各クライアントの寄与が、ローカルデータを用いて、前記モデルパラメータのローカルMLモデルを訓練する結果として生成される1つ又は複数のモデルパラメータを含む、当該インセンティブ計算機と、
を含む、
アーキテクチャ。
【請求項2】
前記グローバルモデルでのモデルフォーマット及び特徴フォーマットを記憶するためのレジストリと、
前記モデル定義の一部分として、前記モデルフォーマット及び特徴フォーマットを前記グループに提供するためのサーバと、
をさらに備える、請求項1に記載のアーキテクチャ。
【請求項3】
前記グループマネージャが訓練の要求を前記クライアントに送信して、前記クライアントが前記訓練の要求に応答して前記グループに参加した後に、
前記サーバは、前記モデル定義の一部分として前記モデル及び特徴のフォーマットを前記グループに提供する、請求項2に記載のアーキテクチャ。
【請求項4】
前記サーバは、
前記ローカルMLモデルを訓練するときに使用するために、前記モデルフォーマット及び特徴フォーマットを前記各クライアントに提供する、請求項2に記載のアーキテクチャ。
【請求項5】
前記グループマネージャは、
前記クライアントそれぞれのローカルMLモデルを訓練するのに使用されるデータのクライアントデータセットのサイズ、及び、前記クライアントのローカルMLモデルの確度、のうち少なくとも1つに基づいて、前記クライアントからの前記モデルパラメータを集約するように動作する、請求項1に記載のアーキテクチャ。
【請求項6】
前記インセンティブ計算機は、
各クライアントの寄与の量に基づいて前記インセンティブを計算するように動作する、請求項1に記載のアーキテクチャ。
【請求項7】
前記各クライアントの寄与は、
前記クライアントそれぞれのローカルMLモデルを訓練するのに使用されるデータのクライアントデータセットのサイズ、及び、前記クライアントのローカルMLモデルの確度、のうち少なくとも1つに基づいて定まる、請求項6に記載のアーキテクチャ。
【請求項8】
前記インセンティブ計算機は、
記憶された訓練履歴及び取引履歴に基づいて前記インセンティブを計算する、請求項6に記載のアーキテクチャ。
【請求項9】
前記クライアントによって訓練される前記ローカルMLモデルは、同一の特徴セットを有する、請求項1に記載のアーキテクチャ。
【請求項10】
前記プラットフォームは、
前記グローバルモデルの1人又は複数人のユーザからの要求に応えて、前記グループを識別してグローバルモデルを構築するように動作する、請求項1に記載のアーキテクチャ。
【請求項11】
1人又は複数人のユーザによる前記グローバルモデルを使用する要求に応答した推論サービス部、
をさらに含む、請求項1に記載のアーキテクチャ。
【請求項12】
前記推論サービス部は、
API要求の一部分として受信された、ユーザからの特徴データを使用して、前記グローバルモデルを使用する前記API要求を受信し、
前記特徴データに基づいて前記グローバルモデルによって生成される推論を前記ユーザに送信する、
ように動作する、請求項11に記載のアーキテクチャ。
【請求項13】
前記推論サービス部は、
前記グローバルモデルを使用するためのユーザからの要求を受信し、
前記ユーザがダウンロードするために、前記グローバルモデルへのアクセス権を提供する、
ように動作する、請求項11に記載のアーキテクチャ。
【請求項14】
グローバル機械学習(ML)モデルを構築する方法であって、
クライアントのグループを識別して、連合学習によってグローバルモデルを構築するステップと、
前記グローバルモデルでのモデル定義を前記グループに供給するステップと、
前記グループから受信されたモデルパラメータを集約して前記グローバルモデルを構築するステップであって、前記クライアントが、前記クライアントのそれぞれのクライアントサイトにおいてローカルデータを使用して前記それぞれのクライアントサイトにおいてローカルMLモデルを訓練することによって、前記モデルパラメータが生成される、当該ステップと、
各クライアントの寄与に基づいて、プラットフォームに通信可能に接続された各クライアントへのインセンティブを計算して前記グローバルモデルを訓練するステップであって、各クライアントの寄与が、ローカルデータを用いて前記モデルパラメータのローカルMLモデルを訓練する結果として生成される1つ又は複数のモデルパラメータを含む、当該ステップと、
を含む、方法。
【請求項15】
前記グローバルモデルを訓練する要求を、前記グループの前記クライアントに送信するステップと、
前記訓練の要求に応答して、前記クライアントが前記グループに参加したいと思う表示を前記クライアントから受信するステップと、
前記グローバルモデルでのモデルフォーマット及び特徴フォーマットを含むレジストリを記憶するステップと、
前記クライアントのそれぞれが前記クライアントのローカルMLモデルを訓練する際に使用するための前記モデル定義の一部分として、前記モデルフォーマット及び特徴フォーマットを前記グループのクライアントに送信するステップと、
をさらに含む、請求項14に記載の方法。
【請求項16】
前記クライアントそれぞれのローカルMLモデルを訓練するのに使用されるデータのクライアントデータセットのサイズ、及び、前記ローカルMLモデルの確度、のうち少なくとも1つに基づいて、前記クライアントからの前記モデルパラメータを集約するステップ、
をさらに含む、請求項14に記載の方法。
【請求項17】
前記インセンティブを計算して前記グローバルモデルを訓練するステップは、
各クライアントの寄与の量に基づいて行われる、請求項14に記載の方法。
【請求項18】
コンピューティングシステムのプロセッサによって実行可能な命令であって、グローバル機械学習(ML)モデルを構築するための動作を前記コンピューティングシステムのプロセッサに実行させる当該命令、を記憶したコンピュータ読取り可能な記憶媒体であって、
前記動作は、
クライアントのグループを識別して、連合学習によってグローバルモデルを構築することと、
前記グローバルモデルでのモデル定義を前記グループに供給することと、
前記グループから受信されたモデルパラメータを集約して、前記グローバルモデルを構築することであって、前記クライアントが、前記クライアントのそれぞれのクライアントサイトにおいてローカルデータを使用してそれぞれのクライアントサイトにおいてローカルMLモデルを訓練することによって、前記モデルパラメータが生成される、当該グローバルモデルを構築することと、
各クライアントの寄与に基づいて、プラットフォームに通信可能に接続された各クライアントへのインセンティブを計算して前記グローバルモデルを訓練することであって、各クライアントの寄与が、ローカルデータを用いて、モデルパラメータのローカルMLモデルを訓練する結果として生成される1つ又は複数のモデルパラメータを含む、当該インセンティブを計算して前記グローバルモデルを訓練することと、
を含む、
コンピュータ読取り可能な記憶媒体。
【請求項19】
前記動作は、
前記グローバルモデルを訓練する要求を、前記グループの前記クライアントに送信することと、
訓練の前記要求に応答して、前記クライアントが前記グループに参加したいと思う表示を前記クライアントから受信することと、
前記グローバルモデルでのモデルフォーマット及び特徴フォーマットを含むレジストリを記憶することと、
前記クライアントのそれぞれが前記クライアントのローカルMLモデルを訓練する際に使用するための前記モデル定義の一部分として、前記モデルフォーマット及び特徴フォーマットを前記グループのクライアントに送信することと、
前記クライアントそれぞれのローカルMLモデルを訓練するのに使用されるデータのクライアントデータセットのサイズ、及び、前記クライアントのローカルMLモデルの確度、のうち少なくとも1つに基づいて、前記クライアントからの前記モデルパラメータを集約することと、
をさらに含む、請求項18に記載のコンピュータ読取り可能な記憶媒体。
【請求項20】
前記インセンティブを計算して前記グローバルモデルを訓練することが、
各クライアントの寄与の量に基づいて行われる、請求項18に記載のコンピュータ読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001]本出願は、2023年5月31日出願の「APPARATUS AND METHOD FOR DATA LEARNING SYSTEM BASED ON A SECURED MODELING EXCHANGE」と題する米国特許仮出願第63/470,108号の非仮出願であって、その仮出願の利益を主張するものであり、これを参考としてそっくりそのまま援用する。
【0002】
[0002]本開示の実施形態は、機械学習(ML)に関し、より詳細には、本明細書に開示される実施形態は、MLモデルの訓練及び交換に関する。
【背景技術】
【0003】
[0003]今日では、機械学習(ML)モデルがさらに普及してきている。機械学習モデルは、予測すること、及び作業の自動化に役立つ。これらのMLモデルは、入力データ及びそのデータへの応答の既知のセットを取得し、各MLモデルを訓練して、新規のデータへの応答の予測を生成することによって作成される。すなわち、MLモデルは、このモデルを訓練して、データに基づく予測又は決定を実行するためのプロセスを経る。
【0004】
[0004]MLの訓練は入力データに依存するので、MLモデルを訓練するのに利用可能なデータが多いほど、MLモデルは、予測をより正確に実行することができるようになる可能性が高くなる。しかし、MLモデルを訓練する際に有用となるすべての入力データを得るのは難しい場合が多い。この難しさは、データの特定のセットが、そのセットを有する人にとって価値があるので、特定のデータを他者と共有することに気が進まないことに起因する場合があり、又はそのようなデータを共有することは、その内容が原因で制限される場合がある。たとえば、団体によっては、データプライバシーの制限に起因して、特定のデータを法的に共有することができない場合もある。したがって、MLモデルの現在の訓練は、訓練データの可用性によって制約される場合がある。
【発明の概要】
【0005】
[0005]データ学習システム(たとえば、機械学習(ML)システムなど)を構築するためのアーキテクチャ、機器、及び方法。いくつかの実施形態では、グローバル機械学習(ML)モデルを構築するためのアーキテクチャは、クライアントのグループを識別して、連合学習によってグローバルモデルを構築するためのプラットフォームを含む。いくつかの実施形態では、このプラットフォームは、グローバルモデルでのモデル定義をグループに供給し、そのグループから受信されたモデルパラメータを集約してグローバルモデルを構築することによって、グローバルモデルを構築するためのグループマネージャであって、クライアントが、そのそれぞれのクライアントサイトにおいてローカルデータを使用して、それぞれのクライアントサイトにおいてローカルMLモデルを訓練することによって、モデルパラメータが生成される、グループマネージャと、このグループマネージャに通信可能に接続されて、前記各クライアントの寄与に基づいて、プラットフォームに通信可能に接続された各クライアントへのインセンティブを計算して、グローバルモデルを訓練するインセンティブ計算機であって、各クライアントの寄与が、ローカルデータを用いて、モデルパラメータのローカルMLモデルを訓練する結果として生成される1つ又は複数のモデルパラメータを含む、インセンティブ計算機とを含む。
【0006】
[0006]記載された実施形態及びその利点は、添付図面とともになされる以下の説明を参照することによって、最もよく理解することができる。これらの図面は、記載された実施形態の精神及び範囲から逸脱することなく、記載されたこの実施形態に当業者が加えてもよい、形態及び詳細のいかなる変更をも決して制限するものではない。
【図面の簡単な説明】
【0007】
【
図1】水平連合学習(HFL)のフレームワークの、いくつかの実施形態を示す図である。
【
図2】データ学習システムのアーキテクチャの、いくつかの実施形態を示す図である。
【
図3】連合学習(FL)ハブの、いくつかの実施形態を示す図である。
【
図4A】データ学習アーキテクチャによって実行されるプロセスの、いくつかの実施形態のデータ流れ図である。
【
図4B】データ学習アーキテクチャによって実行されるプロセスの、いくつかの実施形態のデータ流れ図である。
【
図4C】データ学習アーキテクチャによって実行されるプロセスの、いくつかの実施形態のデータ流れ図である。
【
図4D】データ学習アーキテクチャによって実行されるプロセスの、いくつかの実施形態のデータ流れ図である。
【
図4E】データ学習アーキテクチャによって実行されるプロセスの、いくつかの実施形態のデータ流れ図である。
【
図5A】グループと、ローカルMLモデルの訓練を実行するFLクライアントとの間でインセンティブを生成するためのプロセスの、いくつかの実施形態を示す図である。
【
図5B】グループと、ローカルMLモデルの訓練を実行するFLクライアントとの間でインセンティブを生成するためのプロセスの、いくつかの実施形態を示す図である。
【
図5C】グループと、ローカルMLモデルの訓練を実行するFLクライアントとの間でインセンティブを生成するためのプロセスの、いくつかの実施形態を示す図である。
【
図5D】グループと、ローカルMLモデルの訓練を実行するFLクライアントとの間でインセンティブを生成するためのプロセスの、いくつかの実施形態を示す図である。
【
図5E】グループと、ローカルMLモデルの訓練を実行するFLクライアントとの間でインセンティブを生成するためのプロセスの、いくつかの実施形態を示す図である。
【
図6】FLハブと、1つ又は複数のFLモデルユーザ及びFLモデルクライアントとの間の構成を示す図である。
【
図7】ローカルMLモデルの訓練を実行するFLクライアントと、グローバルモデルを作成及び更新するFLハブとの間の階層関係の、いくつかの実施形態を示す図である。
【
図8】機械学習モデルを訓練するのに使用される、例示の機械学習アーキテクチャを表す図である。
【
図9】畳み込みニューラルネットワーク(CNN)を使用して入力画像を処理する、例示のモデルのいくつかの実施形態を表す図である。
【
図10】コンピューティング装置のいくつかの実施形態のブロック図を示す図である。
【発明を実施するための形態】
【0008】
[0007]以下の説明では、本開示をより完全に説明するために、数多くの詳細について述べる。しかし、これらの具体的な詳細がなくても本開示を実施してもよいことが、当業者には明らかになろう。他の例では、本開示を曖昧にすることを避けるために、よく知られた構造体及び装置を、詳細に示すのではなくて、ブロック図の形で示す。
【0009】
[0008]本明細書に開示される実施形態は、機械学習(ML)モデルを作成するためのプラットフォーム、及びその機械学習モデルを使用する方法を含む。いくつかの実施形態では、このプラットフォームは、ユーザが、連合学習技法を使用して、MLモデルをともに結合及び構築できるようにする。すなわち、いくつかの実施形態では、このプラットフォームは、連合学習を活用してMLモデルを構築する。いくつかの実施形態では、プラットフォームのユーザには、開発者及び/又はデータサイエンティストが含まれる。
【0010】
[0009]いくつかの実施形態では、プラットフォームは、ユーザが、任意のグループメンバがグローバルMLモデルの構築に寄与することのできるグループを作成できるようにする。グローバルモデルを構築することへのこれらの寄与は、クライアントがローカルの生データを使用して、ローカルサイトの下でローカルMLモデルを訓練することによって作成される。いくつかの実施形態では、ローカルデータをプラットフォームと共有する必要はない。すなわち、寄与者は、自分自身のバージョンのMLモデルの訓練を実行し、次いで、その訓練の結果をプラットフォームと共有することによって、グローバルモデルを構築することに寄与することができる。いくつかの実施形態では、プラットフォームは、グローバルMLモデルを構築することに向けてユーザがおこなった寄与の量に基づいてインセンティブを生成する。これらのインセンティブは、モデル構築プロセスへの寄与に動機づけする。
【0011】
[0010]連合学習によって構築されるMLモデルの性能は、クライアントの数が増えるにつれて良好になるが、訓練するためのデータを有する十分なクライアントを集めることは困難になる場合が多い。本発明の実施形態は、連合学習(FL)ハブと呼ばれるプラットフォームを設けることによってこの問題を解決して、モデルユーザのコミュニティが使用するようにMLモデルを構築できるようにする。いくつかの実施形態では、FLハブは、ユーザが、連合学習を介してMLモデルを構築するために公開リクエストをおこない、次いで、構築されたモデルにアクセスすることができるようにする。
【0012】
[0011]FLハブは、連合学習に参加し、モデルの構築に寄与するよう、クライアントに促す。これは、データサイエンティスト又は開発者が、クライアントを見つけ、連合学習に参加するようそのクライアントに依頼する必要があった過去とは対照的である。いくつかの実施形態では、この寄与には、本明細書においてFLクライアントと呼ばれるクライアントが、ローカルデータを用いてローカルMLモデルを訓練し、次いで、そうした結果をFLハブに提供して、より良好な性能を達成するためのグローバルモデルを構築及び/又は改善できるようにする結果が含まれる。いくつかの実施形態では、FLクライアントは、グループに参加して、クライアントデータによって構築されたこの実施形態のローカルFLモデルのパラメータを提供することによって、グローバルFLモデルを構築することに寄与し、このグローバルモデルの構築への寄与の量に基づくインセンティブを獲得する。いくつかの実施形態では、FLクライアントは、寄与の量及びこの実施形態のモデルの確度によって評される。
【0013】
[0012]いくつかの実施形態では、プラットフォームは、グループマネージャ及びインセンティブ計算機を含む。グループマネージャは、グローバルモデルを結合及び構築する、本明細書においてFLクライアントと呼ばれるクライアントのグループを管理する。グループマネージャは、モデル定義を記憶するためのレジストリを含む。いくつかの実施形態では、このモデル定義には、モデルのモデルフォーマット及び特徴フォーマットが含まれる。いくつかの実施形態では、インセンティブ計算機は、グローバルモデルの構築へのFLクライアントの寄与に基づいて、このFLクライアントに対するインセンティブを計算する。いくつかの実施形態では、インセンティブ計算機は、訓練履歴/取引履歴を記憶するためのデータベース及び/又は他のレジストリを有する。
【0014】
[0013]いくつかの実施形態では、モデルユーザは、生成されたグローバルモデルを使用することができる。これらのモデルユーザは、グローバルモデルを構築するよう要求したユーザとすることができる。いくつかの実施形態では、モデルユーザは、推論APIを介してグローバルモデルにアクセスし、又はFLハブからグローバルモデルをダウンロードすることができる。
【0015】
[0014]したがって、本明細書に記載のプラットフォームのいくつかの実施形態によって、分散機械学習技法と、(たとえば、互いにデータを共有することなく)各クライアントに記憶されたプライベートデータを保存しながらMLモデルを訓練する方式とが可能になる。これは、今日においてMLを開発する際の2つの主要な課題を克服するものである。まず、本明細書に記載のプラットフォームを使用することによって、ユーザは、たとえば、GDPR、CCPAなどのプライバシーポリシーの順守を維持しながら、また機械学習用の大量の生データを転送しなければならないことを回避しながら、モデルを作成できるようになる。
【0016】
[0015]
図1は、水平連合学習(HFL)フレームワークのいくつかの実施形態を示す。HFLでは、各クライアントが同じ特徴セットを有し、クライアントの多くが、モデルを訓練するための小さいデータセットを有する。いくつかの実施形態では、クライアントは、モバイル装置(たとえば、携帯電話、ポータブルコンピュータなど)を備える。
図1を参照すると、モバイル装置102A~104Aは、それぞれローカルMLモデル102B~104Bを含み、データ102C~104Cを使用して、そのモバイル装置に関連するローカルMLモデルを訓練する。ローカルMLモデルを訓練した後、その訓練の結果がサーバ装置110に送られて、グローバルモデル101を作成及び/又は改善する。このような場合には、サーバ装置110は、連合学習ハブとして動作する。
【0017】
[0016]
図2は、データ学習システムのアーキテクチャの、いくつかの実施形態を示す。
図2を参照すると、このアーキテクチャは、FLモデルユーザ及びFLクライアントとともに、FLハブ200を含む。図に示すように、このアーキテクチャは、FLモデルユーザ1~3及びFLクライアントA~Cを含む。しかし、このアーキテクチャは、3人のFLモデルユーザ及び3人のFLクライアントに限定されない。いくつかの他の実施形態では、このアーキテクチャは、任意の数のモデルユーザ及び任意の数のFLクライアントを含んでもよい。
【0018】
[0017]いくつかの実施形態では、FLモデルユーザは、FLハブ200によってグループを作成させて、1つ又は複数のグローバルモデルを作成する要求を送信する。いくつかの実施形態では、FLハブ200は、FLモデルユーザ1~2など、1人又は複数人のFLモデルユーザからのグループ作成要求を受信する。
図2に示すように、グループ作成要求のそれぞれに応答して、FLハブ200は、FLモデルユーザ1からのグループ作成要求に応答してFLグループ1とFLモデルユーザ2からのグループ作成要求に応答してFLグループ2などのグループを作成する。
【0019】
[0018]FLグループ1及び2のそれぞれは、FLクライアントA~Cのうちの1つ又は複数によって訓練されることになるグローバルモデルを作成するためのものである。たとえば、FLグループ1は、グローバルモデル1を構築するために作成され、FLグループ2は、グローバルモデル2を構築するために作成される。いくつかの実施形態では、FLグループ1や2など、FLグループのそれぞれは、グループのモデルを構築することを容易にするためのFLサーバ、並びに、FLモデルユーザが、グループ用に作成されるグローバルモデルにアクセスし、それを利用することを可能にする推論APIを含む。たとえば、FLグループ1は、FLサーバ、グローバルモデル1、及び推論APIを含み、FLグループ2は、FLサーバ、グローバルモデル2、及び推論APIを含む。
【0020】
[0019]グループが設定されると、FLハブ200は、FLクライアントA~Cによるアクセスを可能にして、FLグループ1のグローバルモデル1やFLグループ2のグローバルモデル2など、グローバルモデルのうちの1つ又は複数の作成及び訓練に寄与する。たとえば、FLクライアントA及びBは、FLグループ1のグローバルモデル1の構築に寄与し、FLクライアントCは、FLグループ2のグローバルモデル2の構築に寄与する。いくつかの実施形態では、FLクライアントA~Cからの寄与は、その関連付けられたグローバルモデルのパラメータの形である。これらのパラメータは、FLクライアントによって、そのローカル(生)データを用いてローカルMLモデルを訓練する結果として生成される。たとえば、FLクライアントAは、ローカルデータを用いてローカルMLモデル1(グローバルモデル1のローカルバージョン)を訓練して、グローバルモデル1の構築に寄与するパラメータを生成し、FLクライアントBは、ローカルデータを用いてローカルMLモデル1(グローバルモデル1のローカルバージョン)を訓練して、FLグループ1に寄与するパラメータを生成して、グローバルモデル1を構築し、FLクライアントCは、ローカルデータを用いてローカルMLモデル2(グローバルモデル2のローカルバージョン)を訓練して、FLグループ2のグローバルモデル2を作成するのに寄与するパラメータを生成する。
【0021】
[0020]寄与に応答して、FLハブは、この寄与を集約してグローバルモデルを作成する。たとえば、FLグループ1のFLサーバは、FLクライアントA及びFLクライアントBの寄与を受信し、これらの寄与を使用してグローバルモデル1を作成する。同様にして、FLグループ2のFLサーバは、FLクライアントCからの寄与を受信して、グローバルモデル2を作成する。寄与を受信することに応答して、FLハブ200は、FLクライアントA~Cにインセンティブを提供する。たとえば、FLグループ1のFLサーバは、グローバルモデル1の作成に寄与したことに対してFLクライアントAとBの両方にインセンティブを提供し、FLグループ2のFLサーバは、グローバルモデル2の作成に寄与したことに対してFLクライアントCにインセンティブを提供する。
【0022】
[0021]グローバルモデルは、FLハブ200によって作成された後、たとえばFLモデルユーザ1~3などのFLモデルユーザにアクセスできるようになる。たとえば、FLモデルユーザ1は、構築後のグローバルモデル1にアクセスし、グローバルモデル1を使用することができる。同様に、FLモデルユーザ2は、構築後のFLグループ2のグローバルモデル2にアクセスしてもよい。
【0023】
[0022]いくつかの実施形態では、FLモデルユーザによるグローバルモデルへのアクセスは、使用するためにグローバルモデルをダウンロードすることによる。いくつかの実施形態では、FLモデルユーザは、モデルを使用するためのFLハブ200へのローカルデータをAPIに提出し、このローカルデータに応答して自分の推論を更新することによってアクセス権を得る。より詳細には、いくつかの実施形態では、FLモデルユーザ1~3などのFLモデルユーザによるアクセスは、グループの推論APIを介したものである。たとえば、FLモデルユーザ1は、FLグループ1の推論APIのAPI公開を使用して、グローバルモデル1にアクセスし、ローカルデータを使用して、グローバルモデル1を使用する推論を生成する。同様にして、FLモデルユーザ2及び3は、FLグループ2の推論APIを利用し、この推論APIは、モデルユーザ2及び3にAPI公開を提供して、グローバルモデル2にアクセスし、グローバルモデル2を使用するローカルデータを用いて推論を生成することができる。
【0024】
[0023]いくつかの実施形態では、FLモデルユーザは、グローバルモデルへのアクセスに対価を支払う。この支払いは、APIの使用に対して、及び/又はグローバルモデル自体のダウンロードに対してのものとすることができる。
【0025】
[0024]
図3は、FLハブの、いくつかの実施形態を示す。
図3を参照すると、FLハブ200は、FLサーバ301、グループマネージャ302、インセンティブ計算機303、推論サービス304、及び共通サービスモジュール305を含む。これらの構成要素は、FLクライアント及びFLモデルユーザと対話して、ローカルデータを有するローカルMLモデルに対してFLクライアントによっておこなわれるローカル訓練を介してグローバルモデルを作成することに対する、またFLハブ200によってグローバルモデルが構築された後に、FLモデルユーザによるグローバルモデルへのアクセスを可能にすることに対する、動作を実行する1つ又は複数のプロセッサを備える。
【0026】
[0025]グループマネージャ302は、FLクライアントからの寄与を使用してグローバルモデルを訓練した後に、FLモデルユーザが使用するためのグローバルモデルを作成するように設定及び要求されるグループを、作成及び管理する役割を担う。インセンティブ計算機303は、グローバルモデルを作成するために使用されるモデルのローカルバージョンをFLクライアントが訓練した結果に対する報酬として、そのFLクライアントに提供されるインセンティブを管理する役割を担う。推論サービス304は、FLハブ300によって作成されるグローバルモデルに、FLモデルユーザがアクセスできるようにする役割を担う。共通サービスモジュール305は、モデルユーザ及びFLクライアントを認証するための認証サービス、FLクライアント及びFLモデルユーザによる1つ又は複数のアクション及びアクセスを許可するための許可サービス、会計機能を処理するための会計モジュール、並びにユーザ情報を記憶するためのユーザデータベースなど、いくつかのサービスを含む。
【0027】
[0026]動作にあたっては、FLハブ300は、FLモデルユーザ320などのFLモデルユーザからのグループ作成要求350に応答して、グローバルモデルを生成するためのグループを作成する。いくつかの実施形態では、グループ作成要求350は、グループを作成する要求を含み、グローバルモデルを作成及び試験することの一部分として、FLハブ300によって使用されてもよい試験データとともに、モデル及び特徴セットのフォーマットを登録するための情報を含む。いくつかの実施形態では、グループ作成要求350がグループマネージャ302に送信され、グループマネージャ302によって受信される。グループマネージャ302は、グループを作成し、そのグループをグループデータベース302Aに記憶し、試験データを試験データベース302Cに記憶し、モデルフォーマットをモデルフォーマットレジストリ302Dに記憶し、特徴セットフォーマットをレジストリ302Eに記憶する。
【0028】
[0027]グループマネージャ302によってグループが作成されると、グループマネージャ302は、FLサーバ301にサーバ作成要求300を送信することに応答して、FLサーバ301(サーバリソース)を作成する。FLサーバ301が作成された後、FLサーバ301は、ローカルデータを使用してローカルMLモデル訓練を実行して、グローバルモデルを構築するのに使用されることになるパラメータを作成するよう、FLクライアント300などのFLクライアントに要求する。いくつかの実施形態では、FLサーバ301は、要求訓練要求301などの要求訓練要求をFLクライアント330に送信することによって、FLクライアントによるローカルMLモデルの訓練を要求する。要求訓練要求301は、FLクライアント330が、グループのグローバルモデルを訓練するためにグループに参加する前に送信されてもよいことに留意されたい。いくつかの実施形態では、グループが作成された後、グループマネージャ302は、構築される必要のあるグローバルモデルが存在し、そのグローバルモデルを構築するのを支援しようと望むFLクライアントがグループに参加してもよいという表示を提供する。この表示は、ウェブを介して提供される表示(たとえば、ウェブベースの表示)、又はグループマネージャ302からの直接の要請とすることができる。いくつかの実施形態では、グループマネージャ302及びFLクライアント330は、グループに参加する前にメッセージを交換して、訓練する際にFLクライアント330が有用になるグローバルモデルがどれかについて、通知された決定をグループマネージャ302がおこなうことができ、その後、特定のモデルを訓練するようにグループがいつ設定されているかを通知できるようにするために、どのデータを有するか、又はどのデータへのアクセス権を有するかについて、FLクライアント330がグループマネージャ302に通知できるようにする。
【0029】
[0028]いくつかの実施形態では、FLクライアント330は、グループ参加要求302をグループマネージャ302に送信してグループに参加して、FLクライアント330が、グローバルモデルのローカルバージョンを訓練して、そのグローバルモデルを構築するのを支援できるようにする。グループに参加することに応答して、FLクライアント330の訓練アプリケーション333が、API公開通信303を使用して、レジストリ302Dからのモデルからのモデルフォーマット、及び特徴フォーマットレジストリ302Eでの特徴フォーマットを取得する。このモデルフォーマット及び特徴フォーマットは、ローカルデータ332とともに訓練アプリケーション333によって使用されて、グローバルモデルのローカルバージョンであるローカルMLモデル331を訓練する。いくつかの実施形態では、ローカルMLモデル331を訓練した後、FLクライアント330は、そのローカルMLモデルを訓練した結果として生成された1つ又は複数のパラメータを、パラメータ通信305を介してFLサーバ301に送信し、このFLサーバ301は、受信したパラメータを使用して、グループに関連付けられたグローバルモデルを作成及び/又は改善する。いくつかの実施形態では、このパラメータは、ローカルMLモデルの重み及びバイアスを含み、これらがFLサービス301に送信され、このFLサービス301が、クライアントからのパラメータを集約する。
【0030】
[0029]このプロセスの一部分として、インセンティブ計算機303は、計算機303Aを用いてインセンティブを計算する。このインセンティブは、グローバルモデルを構築するのを支援するためにローカルMLモデルを訓練したFLクライアントに対して、FLハブ300から提供される。インセンティブ計算機303は、率通知通信304を使用して、FLクライアントにそのインセンティブ(たとえば、率)を通知する。
【0031】
[0030]FLクライアントのローカルMLモデルを訓練することによって開発された、FLクライアントによって送信される(1つ又は複数の)パラメータを受信した後、FLサーバ301は、インセンティブ計算機303の集約/訓練履歴データベース303B、並びに取引履歴303Cに訓練ログ(310)を記憶する。FLサーバ301はさらに、生成されたグローバルモデルを推論サービス304のグローバルモデルレジストリ304Bに送信して、グローバルモデルへのアクセスを可能にする。続いて、FLモデルユーザ302などのFLモデルユーザは、推論API304Aと通信することによって、ローカルデータとともに推論アプリケーション321を使用して、グローバルモデルを使用する。
【0032】
[0031]
図4A~
図4Eは、データ学習アーキテクチャによって実行されるプロセスの、いくつかの実施形態の流れ図である。より詳細には、
図4Aは、連合学習(FL)環境を初期化するためのプロセスのデータ流れ図を示す。
図4Aを参照すると、このプロセスは、FLモデルユーザ401が、グローバルモデルを作成するためのグループを作成するための要求を、グループマネージャ402に送信することによって開始する(処理ブロック410)。いくつかの実施形態では、この要求は、作成されることになるモデルの定義、このモデルに関連付けられた特徴セット、及び作成後にこのモデルの確度を検証するのに使用することのできる試験データを含む。
【0033】
[0032]この要求を受信することに応答して、グループマネージャ402は、生成されることになる新規のモデルの定義、特徴セットの定義、及び試験データをそれぞれのレジストリに記憶し、新規のモデルを作成するためにグループマネージャ402が設定したグループを識別するグループ識別子(ID)を発行する(処理ブロック411)。その後、グループマネージャ402は、サーバを設定するための要求を、FLサーバ403に送信する(処理ブロック412)。いくつかの実施形態では、サーバを設定するための要求は、グループID及びモデル定義を含む。この要求に応答して、FLサーバ403は、FLサーバ環境を設定して、グループIDに関連付けられたグループをサポートする(処理ブロック413)。
【0034】
[0033]グループを設定する時点の前、又はその間に、FLクライアント404は、ローカルMLモデルを訓練するためのデータを収集する(処理ブロック409)。グループが設定された後、FLクライアント404は、クライアントとして登録するための要求を、グループマネージャ402に送信する(処理ブロック414)。この要求に応答して、グループマネージャ402は、FLクライアント404についてのクライアント情報を記憶し(処理ブロック415)、クライアントIDをFLクライアント404に送信し(処理ブロック416)、並びにグループに関するグループ情報をFLクライアント404に送信する(処理ブロック417)。いくつかの実施形態では、記憶されるクライアント情報には、クライアントID、クライアント装置情報(たとえば、装置のタイプ、中央処理装置(CPU)のアーキテクチャ、オペレーティングシステム(OS))、及び状況(たとえば、接続、切断)が含まれ、このクライアント情報がグループマネージャに登録される。いくつかの実施形態では、送信されるグループ情報には、グループID、並びにモデル定義及び特徴定義が含まれる。このグループ情報に応答して、FLクライアント404は、ローカルMLモデルを訓練するためのモデル及び特徴を設定する(処理ブロック418)。その後、FLクライアント404は、FLサーバ403をサービス利用して、グローバルモデルを作成するための環境の初期化が完了したことを示す(処理ブロック419)。いくつかの実施形態では、このサービス利用要求は、FLクライアント404のクライアントIDを含む。
【0035】
[0034]
図4Bは、FL訓練プロセスの、いくつかの実施形態のデータ流れ図を示す。
図4Bを参照すると、このプロセスは、FLモデルユーザ401が、訓練を開始するための要求をグループマネージャ402に送信することによって開始する(処理ブロック420)。いくつかの実施形態では、訓練を開始するためのこの要求は、グループマネージャ402に対して、FLモデルユーザ401が、グローバルモデルを訓練することに寄与したいと望むグループを識別するグループIDを含む。訓練を開始するための要求を受信することに応答して、グループマネージャ402は、FLサーバ403に要求を送信することによって、FL訓練をトリガする(処理ブロック421)。この要求を受信することに応答して、FLサーバ403は、モデル定義をロードし、グローバルモデルを初期化する(処理ブロック422)。いくつかの実施形態では、グローバルモデルを初期化することの一部分として、サーバは、モデル定義に基づいて初期グローバルモデルを作成する。ランダムなパラメータ(たとえば、重み及びバイアス)、又は訓練の前に事前訓練若しくは事前定義されたパラメータを用いて、このモデルを初期化することができる。
【0036】
[0035]モデル定義をロードし、グローバルモデルを初期化した後に、FLサーバ403は、FLクライアント404、並びにグループのグローバルモデルの作成に寄与するためにローカルデータを用いて自分のローカルMLモデルを訓練しようとする他の任意のクライアントに、訓練の要求を送信する(処理ブロック423)。いくつかの実施形態では、訓練を実行するための要求は、グローバルモデルのパラメータを含み、FLクライアント404による寄与は、FLクライアント404がローカルデータを用いてローカルMLモデルを訓練することによって生成される、グローバルモデル用のパラメータである。
【0037】
[0036]FLサーバ403から受信した訓練の要求に応答して、FLクライアント404(及び、グローバルモデル用のパラメータを生成するその他のFLクライアント)は、そのローカルデータを用いてそのローカルMLモデルを訓練し(処理ブロック424)、モデルを訓練した結果として生成されるローカルMLモデルのパラメータを、FLサーバ403に送信する(処理ブロック432)。FLクライアント404、及びグループでのローカルMLモデルのローカル訓練を実行する他の任意のクライアントから、ローカルMLモデルのパラメータを受信した後、FLサーバ403は、ローカルMLモデルのパラメータを集約し、グローバルモデルを更新する(処理ブロック425)。いくつかの実施形態では、グローバルモデルは、パラメータ(たとえば、重み及びバイアス)から構成され、モデルを更新するために、サーバは、クライアントから送信されるローカルMLモデルパラメータを集約し、その集約結果が、新規のグローバルモデルパラメータである。クライアントから送信されるローカルMLモデルパラメータを集約するためにサーバが使用することのできる、集約技法がいくつか存在する。たとえば、いくつかの実施形態では、サーバは、重み付き平均を使用することによってローカルMLモデルパラメータを集約し、この重み付けは、各クライアントがモデルを訓練するために有するデータの量、及び/又はデータの確度に基づく。サーバは、新規のパラメータを取得すると、既存のグローバルモデルパラメータを新規のパラータに置き換える。
【0038】
[0037]次いで、FLサーバ403は、訓練が終了したかどうか判定する(処理ブロック426)。いくつかの実施形態では、訓練の終了は、訓練が完了する予定だった時点を含む訓練期間の満了に基づく。いくつかの他の実施形態では、訓練の終了は、FLモデルユーザ401など、1人又は複数人のFLモデルユーザによって合図又は提供される。さらにいくつかの他の実施形態では、訓練の終了は、エポックとして定義されるイテレーションの数に基づく。いくつかの実施形態では、モデルユーザは、イテレーションの数に達した場合に訓練を完了することができるように、エポックを設定することもできる。いくつかの実施形態では、各イテレーションの後に、FLクライアントは、グローバルモデルを更新するためにFLサーバ403が集約する、更新済みのローカルMLモデルパラメータを送信する。
【0039】
[0038]訓練が終了していない場合、このプロセスは処理ブロック423に戻り、ここでFLサーバ403は、グループ用に登録されたFLクライアントによって実行されることになる追加の訓練を要求することができる。訓練が終了した場合、FLサーバ403の処理ロジックは、グローバルモデルのパラメータを推論サービス405に送信し(処理ブロック427)、この推論サービス405は、グローバルモデルをレジストリに保存する(処理ブロック428)。FLサーバ403はさらに、インセンティブ計算機406に訓練ログを送信し(処理ブロック429)、このインセンティブ計算機406は、訓練ログを訓練履歴に保存する(処理ブロック430)。
【0040】
[0039]続いて、FLサーバ403はさらに、訓練状況をグループマネージャに送信して、グローバルモデルが現在置かれている訓練の状態を示す(処理ブロック431)。このような状況は、訓練が終了し、グローバルモデルが使用できることを示すことができる。いくつかの実施形態では、訓練状況は、訓練が進行中であること、及び/又は訓練がまだ開始されていないことを示してもよい。
【0041】
[0040]
図4Cは、推論アプリケーションプログラミングインターフェース(API)を使用するためのプロセスの、いくつかの実施形態のデータ流れ図である。このプロセスは、グローバルモデルが、FLモデルユーザ404などのFLモデルユーザによって利用可能であるときに使用される。
図4Cを参照すると、FLモデルユーザ404が、グローバルモデルを使用する結果として生成されることになる推論を、推論サービス405に要求することによって、このプロセスが開始する(処理ブロック440)。いくつかの実施形態では、推論の要求は、推論を生成又は他の方法で取得するときに、グローバルモデルによって使用されることになる特徴データを含む。この要求は、FLサーバが、グローバルモデルによって使用されることになる特徴データにアクセスできる場所(たとえば、データベースなど)を示す、ポインタ又はリソースロケータ(たとえば、URLなど)を含むことができる。推論の要求に応答して、推論サービス405は、グローバルモデルをレジストリからロードし(処理ブロック441)、特徴データを使用してグローバルモデルを用いた推論を生成し(処理ブロック442)、APIコールログを取引履歴データベースに保存して、FLモデルユーザ404がグローバルモデルを使用したことを記録する(処理ブロック443)。その後、推論サービス405は、FLモデルユーザ404に推論結果を送り返す(処理ブロック444)。
【0042】
[0041]
図4Dは、FLモデルユーザがグローバルモデルをダウンロードするプロセスの、いくつかの実施形態の流れ図である。
図4Dを参照すると、このプロセスは、FLモデルユーザ404が、推論サービス405からグローバルモデルをダウンロードする要求を送信することによって開始する(処理ブロック451)。いくつかの実施形態では、このダウンロードの要求は、どのグローバルモデルをFLモデルユーザ404に提供すべきかを推論サービス405が知るように、グローバルモデルに関連付けられたグループを識別するためのグループIDを含む。ダウンロードの要求を受信することに応答して、推論サービス405は、グローバルモデルをレジストリからロードし(処理ブロック452)、FLモデルユーザ404がグローバルモデルのダウンロードを要求し、このダウンロードが送信されたことを示すために、APIコールログを訓練履歴データベースに保存し(処理ブロック453)、グローバルモデルをFLモデルユーザ404に送信する(処理ブロック454)。いくつかの他の実施形態では、グローバルモデルをFLモデルユーザ404に送信する代わりに、推論サービス405がFLモデルユーザ404にグローバルモデルへのアクセス権を提供して、FLモデルユーザ404がモデルをダウンロードできるようにする。
【0043】
[0042]
図4Eは、モデル訓練をおこなうFLクライアントに提供されるインセンティブ(率)を計算するためのプロセスの、いくつかの実施形態のデータ流れ図を示す。
図4Eを参照すると、このプロセスは、FLクライアント404が、グループに参加する要求をグループマネージャ402に送信することによって開始する(処理ブロック461)。グループマネージャ402がグループに参加する要求を受信している間、インセンティブ計算機406は、訓練履歴及び訓練データをデータベースからロードし(処理ブロック462)、FLクライアントに対するインセンティブ率を計算する(処理ブロック463)。いくつかの実施形態では、このインセンティブ率は、FLクライアントが自分のローカル訓練を実行し、グローバルモデルの作成及び/又は更新に寄与することに対して補償する金額又は他の報酬である。インセンティブ計算機406は、FLクライアント404にインセンティブ率を通知する(処理ブロック464)。
【0044】
[0043]続いて、FLクライアント404は、ローカルデータを用いてローカルMLモデルを訓練し、この訓練の結果(たとえば、1つ又は複数のパラメータ)を、FLサーバ423に寄与する(処理ブロック465)。いくつかの実施形態では、この寄与は、モデルパラメータ、サンプルの数、及び確度の表示を含む。いくつかの実施形態では、確度の表示は、訓練する前に提供されたモデル定義/特徴定義の一部分として、グループマネージャ402によって提供された試験データと一致する結果を、ローカルMLモデルがどの程度良好に生成したのかの表示である。
【0045】
[0044]FLクライアント404によって実行された訓練に起因した寄与を受信することに応答して、FLサーバ403は、クライアント寄与データをインセンティブ計算機406に送信する(処理ブロック466)。いくつかの実施形態では、このクライアント寄与データは、FLクライアント404によって提供されるデータのサンプルの数、並びにその確度表示を示す。
【0046】
[0045]その後、FLモデルユーザ401は、推論を生成するためにグローバルモデルを使用すること、又はグローバルモデルをダウンロードすることを要求する(処理ブロック467)。いくつかの実施形態では、要求が推論サービス405に送信され、この推論サービス405は、訓練履歴をインセンティブ計算機406に送信することによって、その要求に応答して訓練履歴を保存する(処理ブロック468)。取引履歴を受信することに応答して、インセンティブ計算機406は、取引履歴及び訓練データをデータベースに保存し(処理ブロック469)、FLクライアントの寄与に対する報酬として、そのFLクライアントへのインセンティブを計算する(処理ブロック470)。計算されたインセンティブは、グループマネージャ402によって開発されている同じモデル及び/又は異なるモデルを訓練することになる、将来のFLクライアントに使用することができる。
【0047】
[0046]
図5A~
図5Eは、ローカルデータを使用してローカルMLモデルの訓練を実行するグループ及びFLクライアントと、グローバルモデルの作成及び訓練が完了した後にグローバルモデルの使用を要求するFLモデルユーザとの間のインセンティブを生成するためのプロセスを示す。より詳細には、
図5Aは、ローカル訓練を実行してグローバルモデルを作成するFLクライアントと、グループマネージャとの間の対話の総合的な枠組みを示す。
図5Aを参照すると、ローカルデータを使用してローカルMLモデル訓練を実行するFLクライアントA及びBは、FLハブのグループマネージャのFLグループ1に報告を送信する。いくつかの実施形態では、これらの報告は、クライアントのデータセットのサンプルの数、並びにクライアントの試験データに基づく評価結果を示してもよい。この評価結果は、FLクライアントAやBなど、FLクライアントのそれぞれによって訓練されているローカルMLモデルの確度の表示を含んでもよい。
【0048】
[0047]この情報を報告した後、FLグループ1は、FLクライアントA及びBのそれぞれにインセンティブを提供する。いくつかの実施形態では、このインセンティブは、サンプルの数及び確度に基づいている。インセンティブ計算機によって計算されるインセンティブ計算の例を以下に示す。
【0049】
[0048]FLクライアントA及びBからのサンプル及び確度では、以下の通りである。
クライアントA #サンプル=10k、確度=90%
クライアントB #サンプル=20k、確度=80%
次いで、インセンティブ率は、インセンティブ計算機によって次のように計算される。
クライアントA (10k*90%)/(10k*90%+20k*80%)=36%
クライアントB (20k*80%)/(10k*90%+20k*80%)=64%
【0050】
[0049]いくつかの実施形態では、FLクライアントが、様々な時点において訓練プロセスを開始してもよいか、又は開始すると予想される場合には、FLサーバは、インセンティブ率を決定する前に、ある特定の数のクライアントの初期グループ、又はクライアントの閾値(たとえば、50%、80%、90%など)が利用可能であるか、及び/又は訓練プロセスを開始する準備ができるまで待つことができ、これらは、インセンティブ率の閾値量(たとえば、50%、80%、90%など)を共有することになる。その後、初期グループの後に訓練プロセスを開始するその他のFLクライアントは、残りのインセンティブ率を等しく共有するか、又は前述の通り、そのサンプルの数及び確度に基づいて共有することができる。
【0051】
[0050]FLクライアントが、モデルに関しての不正確な情報又は悪質な情報を報告するのを防止するために、いくつかの実施形態では、グループマネージャが、MLソフトウェアをクライアントに送信する。より詳細には、これが発生すると、グループから送信されたMLソフトウェアは、クライアントにおいてML訓練プロセスを自動的に実行し、次いで、この訓練プロセスに基づいて情報(サンプルの数及び確度)を自動的に計算し、このソフトウェアは、この情報をグループへ自動的に送信する。このワークフローでは、クライアントは、介入することができず、情報を変更することもできない。いくつかの実施形態では、妥当性検査データを使用して、又は試験データの使用及びモデルデータとの比較を通して、確度が決定されることに留意されたい。
【0052】
[0051]
図5Bは、FLモデルユーザによってグローバルモデルをダウンロードすることができない状況におけるインセンティブを生成するためのプロセスを示し、FLモデルユーザは、確度を決定するためのラベルが付いたユーザの試験データを送信することができる(しかし、このグループは確度を計算することができる)。
図5Bを参照すると、FLモデルユーザ1や2などのFLモデルユーザは、ラベルが付いた自分の試験データをFLグループ1などのFLグループに送信する。FLグループ1は、グローバルモデルに関連付けられており、このグローバルモデルを用いてFLモデルユーザからのデータを使用することからの推論を報告する。FLモデルユーザ1及び2は、モデルの使用の確度を判定することができる。より詳細には、グループでのマネージャは、データセットで使用したサンプルの数、及び使用状況試験データセットに基づく評価結果を知っており、これらをFLモデルユーザ1及び2に提供する。その後、報告を受信することに応答して、FLモデルユーザは、APIの使用に対価を支払う。
【0053】
[0052]モデルの使用に関連付けられたインセンティブ計算の一例が、インセンティブ計算機によって以下に示すように計算される。
【0054】
[0053]以下の通りである。
モデルユーザ1 #サンプル=5k、確度=70%
モデルユーザ2 #サンプル=1k、確度=80%
次いで、インセンティブ率は、インセンティブ計算機によって次のように計算される。
モデルユーザ1 (5k*70%)/(5k*70%+1k*80%)=81%
モデルユーザ2 (1k*80%)/(5k*70%+1k*80%)=19%
【0055】
[0054]
図5Cは、グローバルモデルがダウンロード可能ではなく、推論の結果が提供される場合に、グループからFLモデルユーザにインセンティブを提供するためのプロセスの、いくつかの実施形態を示す。この場合、FLモデルユーザは、結果の確度を判定することができず、FLグループ1は、ユーザの試験データからサンプルの数を知っている(また、FLモデルユーザが確度を判定できないことを知っている)。FLグループ1は、FLモデルユーザI~IIIのそれぞれに報告を提供し、FLモデルユーザは、グローバルモデルの使用に対するインセンティブを支払う。いくつかの実施形態では、このインセンティブは、以下に示す例に従って判定される。FLモデルユーザの試験データでのサンプルの数が以下の場合、
モデルユーザ1 #サンプル=5k
モデルユーザ2 #サンプル=3k
モデルユーザ3 #サンプル=8k
次いで、インセンティブ率は、インセンティブ計算機によって次のように計算される。
モデルユーザ1 5k/(5k+3k+8k)=31%
モデルユーザ2 3k/(5k+3k+8k)=19%
モデルユーザ3 8k/(5k+3k+8k)=50%
【0056】
[0055]この状況では、FLグループIは、モデルユーザの確度を気に掛けないことに留意されたい。
【0057】
[0056]
図5Dは、グループマネージャとFLモデルユーザとの間でインセンティブを生成するプロセスでの、いくつかの実施形態を示す。この状況では、モデルはダウンロード可能であり、ユーザはラベルが付いた自分のデータセットを所有しており、したがって、FLモデルユーザはその確度を知っており、FLモデルユーザは、ユーザの試験データのサンプルの数、及びユーザの試験データセットに基づく評価結果をグループに報告する。
【0058】
[0057]FLグループマネージャは、FLモデルユーザのそれぞれに、インセンティブを有する報告を送信する。
【0059】
[0058]いくつかの実施形態では、FLグループIから報告を受信した後、FLモデルユーザI~IIIは、モデルをダウンロードするためのAPIの使用に対価を支払う。いくつかの実施形態では、モデルユーザの支払いのそれぞれでのインセンティブは、以下の例に従って計算される。以下の場合、
モデルユーザ1 #サンプル=5k、確度=70%
モデルユーザ2 #サンプル=3k、確度=80%
モデルユーザ3 #サンプル=8k、確度=90%
次いで、インセンティブ率は、次のように計算される。
モデルユーザ1 (5k*70%)/(5k*70%+3k*80%+8k*90%)=27%
モデルユーザ2 (3k*80%)/(5k*70%+3k*80%+8k*90%)=18%
モデルユーザ3 (8k*90%)/(5k*70%+3k*80%+8k*90%)=55%
【0060】
[0059]不正確な情報(たとえば、グローバルモデルには欠陥がある)をユーザが報告するのを防止するために、FLグループIマネージャは、モデルがどれくらい正確であるか独自に判定することができるように、データセットをハブに提供するようモデルユーザに求めることができる。
【0061】
[0060]
図5Eは、グローバルモデルがダウンロード可能であり、FLモデルユーザがモデルの確度を判定することができない場合に、グループとモデルユーザとの間でインセンティブを生成するためのプロセスの、いくつかの実施形態を示す。
図5Eを参照すると、FLグループグループIマネージャは、FLモデルユーザ1~3のそれぞれに報告する。いくつかの実施形態では、この報告はインセンティブを含む。FLモデルユーザI~IIIは、ユーザのデータセットのサンプルの数及び率を、FLグループ1に報告する。いくつかの実施形態では、この率は、以下の例に従って判定される。この率が、(1)非常に悪い、(2)悪い、(3)平均的、(4)よい、(5)非常によい、を含む場合、以下の場合には、
モデルユーザ1 #サンプル=5k、率=4/5
モデルユーザ2 #サンプル=3k、率=3/5
モデルユーザ3 #サンプル=8k、率=1/5
次いで、インセンティブ率は、インセンティブ計算機によって次のように計算される。
モデルユーザ1 5k*4/(5k*4+3k*3+8k*1)=54%
モデルユーザ2 3k*3/(5k*4+3k*3+8k*1)=24%
モデルユーザ3 8k*1/(5k*4+3k*3+8k*1)=22%
【0062】
[0061]グローバルモデルの使用に関して、不正確な情報をユーザが報告するのを防止するために、FLグループIマネージャは、モデルユーザ間での率を比較し、モデルユーザが過度に低い率を与える場合には、平均率をブラックリストに載せることができる。いくつかの実施形態では、FLグループIマネージャは、モデルがどれくらい良好であるか独自に判定することができるように、モデルユーザが、データセットをハブに提供することができるかどうかを尋ねることができる。
【0063】
[0062]
図6は、FLハブと、1人又は複数人のFLモデルユーザ及びFLモデルクライアントとの間の構成を示す。
図6を参照すると、APIを介して互いに動作することのできる、3つのFLハブ601~603が存在する。このようにして、これらのハブは、単一のグローバルモデル又は複数のグローバルモデルの生成を別々にサポートすることができる。ともに機能することのできるFLハブの数は、3つより少なくすることができ、又は3つより多くすることもできることに留意されたい。いくつかの実施形態では、FLモデルユーザ604などのFLモデルユーザ、及びFLクライアント605などのFLモデルクライアントは、APIを介して、FLハブ603のうちの1つ又は複数と対話することができる。たとえば、いくつかの実施形態では、FLモデルユーザ604などのFLモデルユーザ、及びFLモデルクライアント605などのFLクライアントは、APIを介して、FLハブ602だけと対話することができ、さらに、APIを介して、FLハブ602と直接対話するFLハブ601及び603の動作の利益を得ることができる。
【0064】
[0063]
図7は、ローカルMLモデルの訓練を実行するFLクライアントと、グローバルモデルを作成及び更新するFLハブとの間の階層関係の、いくつかの実施形態を示す。
図7を参照すると、FLクライアントA-1及びFLクライアントA-2はそれぞれ、ローカルMLモデルA-1及びA-2をそれぞれ含み、ローカルデータを用いてこれらのローカルMLモデルを訓練する。FLクライアントA-1及びFLクライアントA-2によって実行されたローカルMLモデル訓練の結果は、FLクライアントAへの寄与(たとえば、パラメータ)として提供され、FLクライアントAはさらに、ローカルデータと、FLクライアントA-1及びA-2からの寄与とを使用して、ローカルMLモデル1を訓練する。したがって、FLクライアントA-1及びFLクライアントA-2は、FLクライアントAと階層関係にあるので、FLクライアントAは、FLクライアントA-1及びA-2から提供された結果を集約して、ローカルMLモデル1を訓練するのを支援する。いくつかの実施形態では、FLクライアントAは、グローバルモデルに対して集約が実行されるのと同様にして集約を実行する。
【0065】
[0064]続いて、FLクライアントAは、ローカルMLモデル1を訓練した後、FLハブAに寄与を提供して、グローバルモデル1を更新及び/又は作成する。その寄与に応答して、FLハブAは、FLクライアントAにインセンティブを提供する。いくつかの実施形態では、FLハブAは、たとえばFLハブBなど別のハブと関係しており、この別のハブは、グローバルモデル1のそのバージョンをも更新していることに留意されたい。FLハブBは、グローバルモデル1を更新するのに使用されることになる寄与を、FLハブAに提供することができる。この寄与に応答して、FLハブAは、FLハブBにインセンティブを提供してもよい。
【0066】
[0065]
図8は、機械学習されたモデル802を訓練するのに使用される、例示の機械学習アーキテクチャ800を表す。入力モジュール804は、メンバ
【数1】
~
【数2】
を有する配列とすることのできる入力
【数3】
を受け取る。入力
【数4】
が、訓練モジュール808に送り込まれ、このモジュールが、機械学習アーキテクチャ900に基づいて入力
【数5】
を処理する。たとえば、機械学習アーキテクチャ800が多層パーセプトロン(MLP)モデル810を使用する場合、訓練モジュール808は、パーセプトロンの1つ又は複数の層を介して、重み及びバイアスを入力
【数6】
に適用し、各パーセプトロンは、その所与の関数形式に従って、それ自体の重み及びバイアスを使用して適合を実行する。MLPの重み及びバイアスは、最小平均2乗、logcosh、又は当技術分野で知られている他の最適化関数(たとえば、損失関数)に対して最適化されるように調整することができる。一例として、ここではMLPモデル810を説明するが、任意の適切な機械学習技法を利用することができ、そのいくつかの例には、k平均法812、畳み込みニューラルネットワーク(CNN)814、ボルツマンマシン816、ガウス混合モデル(GMM)、及び長短期記憶(LSTM)が含まれるが、これらには限定されない。訓練モジュール808は、出力モジュール818に入力を供給する。出力モジュール818は、訓練モジュール808からの入力を分析し、メンバ
【数7】
~
【数8】
を有する配列とすることのできる
【数9】
の形式で出力を供給する。この出力820は、たとえば、オブジェクトの識別、セグメンテーション、及び/又は分類など、入力
【数10】
との既知の相関関係を表すことができる。
【0067】
[0066]いくつかの実施形態では、入力
【数11】
は、既知の出力相関値でラベル付けされた訓練入力とすることができ、これら既知の値を使用して、最適化/損失関数に対する訓練において、出力
【数12】
を最適化することができる。他の実施形態では、機械学習アーキテクチャ800は、入力
【数13】
に対する既知の相関値を与えられることなく、出力
【数14】
の値を分類することができる。いくつかの実施形態では、機械学習アーキテクチャ800は、複数の機械学習アーキテクチャの組合せとすることができる。一例として、第1のネットワークは入力
【数15】
を使用し、入力
【数16】
として出力
【数17】
を第2の機械学習アーキテクチャに提供し、この第2の機械学習アーキテクチャが、最終出力
【数18】
を提供する。別の実施形態では、訓練モジュール808全体を通した様々なポイントで、1つ又は複数の機械学習アーキテクチャを実施することができる。
【0068】
[0067]いくつかの機械学習モデルでは、モデルのすべての層が完全に接続されている。たとえば、MLPモデルでのすべてのパーセプトロンが、
【数19】
のあらゆるメンバに作用する。100×100の画素からなる画像を入力とするMLPモデルでは、各パーセプトロンは、10,000個の入力に重み/バイアスを提供する。大規模で密集した層状モデルの場合、これは結果として、処理がより遅くなり、並びに/又は勾配消失及び/若しくは勾配爆発についての問題が生じる場合がある。CNNは、全結合モデルでなくてもよく、5×5のタイル状領域を使用して同じ画像を処理することができ、重みを共有したパーセプトロンを25個しか必要とせず、全結合のMLPモデルよりもはるかに効率的になる。
【0069】
[0068]
図9は、CNNを使用して入力画像902を処理する例示のモデル900のいくつかの実施形態を表し、この入力画像は、人若しくは自動車(又は
図1~7に関連して説明されているもの)など、オブジェクト認識を介して識別することのできるオブジェクトの表現を含む。畳み込みA904を実行して、特徴マップの第1のセット(たとえば、特徴マップA906)を作成することができる。特徴マップは、CNNのフィルタ要素によって与えられる、入力画像902の態様のマッピングとすることができる。特徴マップA906を使用してこのプロセスを繰り返して、畳み込みB914、畳み込みC916、及び畳み込みD918を使用して、それぞれ、さらなる特徴マップB908、特徴マップC910、及び特徴マップD912を生成することができる。この例では、特徴マップD912は、全結合ネットワーク層920での入力となる。このようにして、機械学習モデルを訓練して、人、自動車などのような、画像の特定の要素を認識し、たとえば、認識された要素を識別する出力922をもたらすことができる。いくつかの実施形態では、超音波システムを用いて生成される推論は、ニューラルネットワーク(たとえば、CNN)によって生成される特徴マップ(たとえば、特徴マップB908)に付加することができる。このようにして、ニューラルネットワークへの2次的な/条件付きの入力として、特徴ベクトル及び/又は推論を使用することができる。
【0070】
[0069]
図9の例は、全結合ネットワークの一部分としてのCNNを示すが、他のアーキテクチャも可能であり、この例を限定的なものと理解すべきではない。CNNでは、層は、さらに多くてもよく、又はさらに少なくてもよい。モデルでのCNN構成要素を異なる順番で配置することができ、又は、モデルは追加の構成要素若しくはモデルを含むことができる。完全畳み込みネットワークなど、全結合の構成要素が存在しなくてもよい。プーリング、ダウンサンプリング、アップサンプリングなどCNNの追加の態様、又は当業者に知られている他の態様をも利用することができる。
【0071】
例示の装置
[0070]
図10は、本明細書に記載の動作のうちの1つ又は複数を実行することができる、コンピューティング装置1000のいくつかの実施形態のブロック図を示す。ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、及び/又はインターネットにおいて、このコンピューティング装置1000を他のコンピューティング装置に接続することができる。コンピューティング装置は、クライアントサーバネットワーク環境ではサーバマシンの能力で、又はピアツーピアネットワーク環境ではクライアントの能力で動作することができる。コンピューティング装置は、パーソナルコンピュータ(PC)、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン、超音波装置、又はその装置がとるべき作用を指定する1組の(シーケンシャル、又は他の方法で)命令を実行することのできる任意の装置によって実現することができる。さらに、単一のコンピューティング装置のみが図示されているが、「コンピューティング装置」という用語は、本明細書において述べる方法を実行するための命令の1つのセット(又は複数のセット)を、別々に又は共同して実行する、コンピューティング装置の任意の一群も含むものと解釈されるべきである。いくつかの実施形態では、コンピューティング装置1000は、超音波装置、超音波スキャナ、アクセスポイント、及びパケット転送構成要素のうちの1つ又は複数である。
【0072】
[0071]例示のコンピューティング装置1000は、処理装置1002(たとえば、汎用プロセッサ、プログラマブル論理デバイス(PLD)など)、メインメモリ1004(たとえば、同期ダイナミックランダムアクセスメモリ(DRAM)、リードオンリメモリ(ROM)など)、及びスタティックメモリ1006(たとえば、フラッシュメモリ、データ記憶装置1008など)を備えることができ、これらは、バス1010を介して互いに通信することができる。処理装置1002は、マイクロプロセッサ、中央処理装置などのような、1つ又は複数の汎用処理装置によって実現することができる。いくつかの実施形態では、処理装置1002は、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又は、他の命令セットを実施するプロセッサ若しくは命令セットの組合せを実施するプロセッサを備える。処理装置1002は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどのような、1つ又は複数の専用処理装置を備えることもできる。本明細書において述べる動作及びステップを実行するために、本開示の1つ又は複数の態様に従って、本明細書に記載の動作を実行するように、処理装置1002を構成することができる。
【0073】
[0072]コンピューティング装置1000は、ネットワーク1014と通信することのできる、ネットワークインターフェース装置1012をさらに備えることができる。コンピューティング装置1000はさらに、ビデオ表示装置1016(たとえば、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)、陰極線管(CRT)など)、英数字入力装置1018(たとえば、キーボード)、カーソル制御装置1020(たとえば、マウス)、及び音響信号生成装置1022(たとえば、スピーカ、マイクロフォンなど)を備えることができる。一実施形態では、ビデオ表示装置1016、英数字入力装置1018、及びカーソル制御装置1020を、単一の構成要素又は装置(たとえば、LCDタッチスクリーン)に組み合わせることができる。
【0074】
[0073]データ記憶装置1008は、1組又は複数組の命令1026(たとえば、本開示の1つ又は複数の態様に従って、本明細書に記載の動作を実行するための命令)を記憶することのできる、コンピュータ読取り可能な記憶媒体1024を備えることができる。命令1026はさらに、コンピューティング装置1000によるその実行中に、メインメモリ1004内及び/又は処理装置1002内に、完全に又は少なくとも部分的に存在することができ、ここで、メインメモリ1004及び処理装置1002も、コンピュータ読取り可能な媒体を構成する。ネットワークインターフェース装置1012を介して、ネットワーク1014を経て、命令をさらに送信又は受信することができる。
【0075】
[0074]ソフトウェア、ハードウェア要素、又はプログラムモジュールの一般的背景において、様々な技法を説明する。一般に、このようなモジュールには、ルーチン、プログラム、オブジェクト、要素、構成要素、データ構造などが含まれており、これらは、特定のタスクを実行し、又は特定の抽象データ型を実装する。本明細書で使用されるように「モジュール」、「機能性」、及び「構成要素」という用語は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組合せを全体として表す。いくつかの態様では、本明細書に記載のモジュールは、実行可能な命令又はコードとして、コンピューティング装置1000のデータ記憶装置1008において実施される。説明されているモジュールは、ソフトウェア実装形態として表されているが、コンピューティング装置1000にインストールされた制御アプリケーション、ソフトウェアアプリケーション、信号処理及び制御のモジュール、ハードウェア、又はファームウェアの任意の形式として実装することができる。
【0076】
[0075]例示的な例では、コンピュータ読取り可能な記憶媒体1024が単一の媒体として示してあるが、「コンピュータ読取り可能な記憶媒体」という用語は、1つ又は複数の命令セットを記憶する、単一の媒体又は複数の媒体(たとえば、集中データベース若しくは分散データベース、並びに/又は関連するキャッシュ及びサーバ)を含むものと考えるべきである。「コンピュータ読取り可能な記憶媒体」という用語はさらに、装置が実行するための1組の命令を記憶し、符号化し、又は運ぶことができ、本明細書に記載の方法を装置に実行させる、任意の媒体を含むものと考えるべきである。したがって、「コンピュータ読取り可能な記憶媒体」という用語は、ソリッドステートメモリ、光媒体、及び磁気媒体を含むが、これらに限定されるものではないと考えるべきである。
【0077】
[0076]本明細書に記載の例示の実施形態が数多く存在する。
【0078】
[0077]実施例1は、グローバル機械学習(ML)モデルを構築するためのアーキテクチャであって、クライアントのグループを識別して、連合学習によってグローバルモデルを構築するためのプラットフォームを含み、このプラットフォームが、グローバルモデルでのモデル定義をグループに供給し、そのグループから受信されたモデルパラメータを集約してグローバルモデルを構築することによって、グローバルモデルを構築するためのグループマネージャであり、クライアントが、そのそれぞれのクライアントサイトにおいてローカルデータを使用して、それぞれのクライアントサイトにおいてローカルMLモデルを訓練することによって、モデルパラメータが生成される、グループマネージャと、このグループマネージャに通信可能に接続されて、前記各クライアントの寄与に基づいて、プラットフォームに通信可能に接続された各クライアントへのインセンティブを計算して、グローバルモデルを訓練するインセンティブ計算機であり、各クライアントの寄与が、ローカルデータを用いて、モデルパラメータのローカルMLモデルを訓練する結果として生成される1つ又は複数のモデルパラメータを含む、インセンティブ計算機とを含む、アーキテクチャである。
【0079】
[0078]実施例2は、グローバルモデルでのモデルフォーマット及び特徴フォーマットを記憶するためのレジストリと、モデル定義の一部分として、このモデルフォーマット及び特徴フォーマットをグループに提供するためのサーバとを任意選択で含んでもよい、実施例1のアーキテクチャである。
【0080】
[0079]実施例3は、グループマネージャが、訓練の要求をクライアントに送信し、このクライアントが、訓練の要求に応答してグループに参加した後に、サーバが、モデル定義の一部分としてモデル及び特徴のフォーマットをグループに提供することを任意選択で含んでもよい、実施例2のアーキテクチャである。
【0081】
[0080]実施例4は、サーバが、ローカルMLモデルを訓練するときに使用するために、モデルフォーマット及び特徴フォーマットを前記各クライアントに提供することを任意選択で含んでもよい、実施例2のアーキテクチャである。
【0082】
[0081]実施例5は、グループマネージャが、クライアントそれぞれのローカルMLモデルを訓練するのに使用されるデータのクライアントデータセットのサイズ、及びそのローカルMLモデルの確度のうちの少なくとも1つに基づいて、クライアントからのモデルパラメータを集約するように動作することができることを任意選択で含んでもよい、実施例1のアーキテクチャである。
【0083】
[0082]実施例6は、インセンティブ計算機が、各クライアントの寄与の量に基づいてインセンティブを計算するように動作することができることを任意選択で含んでもよい、実施例1のアーキテクチャである。
【0084】
[0083]実施例7は、各クライアントの寄与が、クライアントそれぞれのローカルMLモデルを訓練するのに使用されるデータのクライアントデータセットのサイズ、及びそのローカルMLモデルの確度のうちの少なくとも1つに基づくことを任意選択で含んでもよい、実施例6のアーキテクチャである。
【0085】
[0084]実施例8は、インセンティブ計算機が、記憶された訓練履歴及び取引履歴に基づいてインセンティブを計算することを任意選択で含んでもよい、実施例6のアーキテクチャである。
【0086】
[0085]実施例9は、クライアントによって訓練されるローカルMLモデルが、同一の特徴セットを有することを任意選択で含んでもよい、実施例1のアーキテクチャである。
【0087】
[0086]実施例10は、プラットフォームが、グローバルモデルの1人又は複数人のユーザからの要求に応答して、グループを識別して、グローバルモデルを構築するように動作することができることを任意選択で含んでもよい、実施例1のアーキテクチャである。
【0088】
[0087]実施例11は、1人又は複数人のユーザによるグローバルモデルを使用する要求に応答した推論サービスを任意選択で含んでもよい、実施例1のアーキテクチャである。
【0089】
[0088]実施例12は、推論サービスが、API要求の一部分として受信された、ユーザからの特徴データを使用して、グローバルモデルを使用するAPI要求を受信し、この特徴データに基づいてグローバルモデルによって生成される推論をユーザに送信するように動作することができることを任意選択で含んでもよい、実施例11のアーキテクチャである。
【0090】
[0089]実施例13は、推論サービスが、グローバルモデルを使用するためのユーザからの要求を受信し、このユーザがダウンロードするために、グローバルモデルへのアクセス権を提供するように動作することができることを任意選択で含んでもよい、実施例1のアーキテクチャである。
【0091】
[0090]実施例14は、グローバル機械学習(ML)モデルを構築する方法であって、クライアントのグループを識別して、連合学習によってグローバルモデルを構築することと、グローバルモデルでのモデル定義をグループに供給することと、そのグループから受信されたモデルパラメータを集約してグローバルモデルを構築することであり、クライアントが、そのそれぞれのクライアントサイトにおいてローカルデータを使用して、そのそれぞれのクライアントサイトにおいてローカルMLモデルを訓練することによって、モデルパラメータが生成される、グローバルモデルを構築することと、前記各クライアントの寄与に基づいて、プラットフォームに通信可能に接続された各クライアントへのインセンティブを計算して、グローバルモデルを訓練することであり、各クライアントの寄与が、ローカルデータを用いて、モデルパラメータのローカルMLモデルを訓練する結果として生成される1つ又は複数のモデルパラメータを含む、グローバルモデルを訓練することとを含む、方法である。
【0092】
[0091]実施例15は、グローバルモデルを訓練する要求を、グループのクライアントに送信することと、このクライアントから、訓練の要求に応答して、クライアントがグループに参加したいと思う表示を受信することと、グローバルモデルでのモデルフォーマット及び特徴フォーマットを含むレジストリを記憶することと、クライアントのそれぞれがそのローカルMLモデルを訓練する際に使用するためのモデル定義の一部分として、モデルフォーマット及び特徴フォーマットをグループのクライアントに送信することとを任意選択で含んでもよい、実施例14の方法である。
【0093】
[0092]実施例16は、クライアントそれぞれのローカルMLモデルを訓練するのに使用されるデータのクライアントデータセットのサイズ、及びそのローカルMLモデルの確度のうちの少なくとも1つに基づいて、クライアントからのモデルパラメータを集約することを任意選択で含んでもよい、実施例14の方法である。
【0094】
[0093]実施例17は、各クライアントの寄与の量に基づいて、インセンティブを計算することを任意選択で含んでもよい、実施例14の方法である。
【0095】
[0094]実施例18は、コンピューティングシステムのプロセッサによって実行されると、グローバル機械学習(ML)モデルを構築するための動作をコンピューティングシステムに実行させる命令を記憶した、持続的でコンピュータ読取り可能な記憶媒体であって、上記の動作が、クライアントのグループを識別して、連合学習によってグローバルモデルを構築することと、グローバルモデルでのモデル定義をグループに供給することと、そのグループから受信されたモデルパラメータを集約してグローバルモデルを構築することであり、クライアントが、そのそれぞれのクライアントサイトにおいてローカルデータを使用して、それぞれのクライアントサイトにおいてローカルMLモデルを訓練することによって、モデルパラメータが生成される、グローバルモデルを構築することと、前記各クライアントの寄与に基づいて、プラットフォームに通信可能に接続された各クライアントへのインセンティブを計算して、グローバルモデルを訓練することであり、各クライアントの寄与が、ローカルデータを用いて、モデルパラメータのローカルMLモデルを訓練する結果として生成される1つ又は複数のモデルパラメータを含む、グローバルモデルを訓練することとを含む、持続的でコンピュータ読取り可能な記憶媒体である。
【0096】
[0095]実施例19は、各動作が、グローバルモデルを訓練する要求を、グループのクライアントに送信することと、このクライアントから、訓練の要求に応答して、クライアントがグループに参加したいと思う表示を受信することと、グローバルモデルでのモデルフォーマット及び特徴フォーマットを含むレジストリを記憶することと、クライアントのそれぞれがそのローカルMLモデルを訓練する際に使用するためのモデル定義の一部分として、モデルフォーマット及び特徴フォーマットをグループのクライアントに送信することと、クライアントそれぞれのローカルMLモデルを訓練するのに使用されるデータのクライアントデータセットのサイズ、及びそのローカルMLモデルの確度のうちの少なくとも1つに基づいて、クライアントからのモデルパラメータを集約することとをさらに含むことを任意選択で含んでもよい、実施例18の持続的でコンピュータ読取り可能な記憶媒体である。
【0097】
[0096]実施例20は、インセンティブを計算することが、各クライアントの寄与の量に基づいていることを含んでもよい、実施例18の持続的でコンピュータ読取り可能な記憶媒体である。
【0098】
[0097]コンピュータメモリ内のデータビットへの動作のアルゴリズム及び記号式表現の観点から、上記詳細な説明の一部分を提示する。これらアルゴリズムの説明及び表現は、データ処理技術の当業者によって使用されて、その仕事の本質を他の当業者に最も効果的に伝える手段である。アルゴリズムは、ここでは、また一般に、所望の結果に至る首尾一貫した一連のステップであると考えられる。ステップは、物理量の物理的操作を必要とするものである。通常、必ずしもそうではないが、これらの量は、記憶、転送、結合、比較、及び他の方法で操作が可能な、電気信号又は磁気信号の形をとる。ビット、値、要素、記号、文字、用語、数字などとして、これらの信号に言及することは、主に一般的な使用法上の理由から、時として好都合であることが証明されてきている。
【0099】
[0098]しかし、これら及び同様の用語のすべては、適切な物理量と関連付けられることになり、これらの量に適用される単に好都合なラベルであることに留意すべきである。別段の具体的な言及がない限り、以下の議論から明らかなように、説明全体を通して、「処理(processing)」又は「コンピューティング(computing)」又は「計算(calculating)」又は「判定(determining)」又は「表示(displaying)」などのような用語を利用する議論では、コンピュータシステム又は同様の電子コンピューティング装置の動作及びプロセスを指しており、これらの装置が、コンピュータシステムのレジスタ及びメモリ内の物理的な(電子的な)量として表されたデータを操作し、コンピュータシステムのメモリ若しくはレジスタ、又は他のこのような情報の記憶装置、伝送装置、若しくは表示装置内の物理量として同様に表される他のデータに変換すると理解される。
【0100】
[0099]本開示は、本明細書における動作を実行するための機器にも関する。この機器は、要求された目的のために特別に構成されてもよく、又は、コンピュータに記憶されたコンピュータプログラムによって選択的にアクティブにされ、若しくは再構成された汎用のコンピュータを備えてもよい。このようなコンピュータプログラムは、フロッピーディスク、光ディスク、CD-ROM、及び光磁気ディスクを含む任意のタイプのディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード若しくは光カード、又は電子的な命令を記憶するのに適した任意のタイプの媒体などだが、これらに限定されないコンピュータ読取り可能な記憶媒体に記憶されてもよく、こうした記憶媒体は、それぞれコンピュータシステムバスに結合されている。
【0101】
[00100]本明細書において提示されるアルゴリズム及び表示装置は、いかなる特定のコンピュータ又は他の機器にも本質的に関連するものではない。本明細書における教示によるプログラムとともに、様々な汎用システムが使用されてもよく、又は、さらに専用の機器を構築して、必要とされる方法ステップを実行することが好都合であると分かる場合がある。様々なこれらのシステムに必要とされる構造は、以下の説明から明らかになろう。さらに、本開示は、いかなる特定のプログラミング言語にも関連して説明されるものではない。本明細書に記載の通り、様々なプログラミング言語を使用して、この開示の教示を実施してもよいことが理解されよう。
【0102】
[00101]機械読取り可能な媒体には、機械(たとえば、コンピュータ)によって読取り可能な形式で情報を記憶又は伝送するための、任意のメカニズムが含まれる。たとえば、機械読取り可能な媒体には、リードオンリメモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、電気的、光学的、音響的、又は他の形式の伝搬信号(たとえば、搬送波、赤外線信号、デジタル信号など)などが含まれる。
【0103】
[00102]本開示の数多くの改変形態及び修正形態が、前述の説明を読んだ後には間違いなく当業者に明らかになるが、例として図示及び説明されたいかなる特定の実施形態も、限定的なものと解釈されるものでは決してないことを理解されたい。したがって、様々な実施形態の詳細への言及は、特許請求の範囲自体において、本開示に不可欠と解釈される特徴のみを列挙する特許請求の範囲に記載の範囲を限定することを意図するものではない。
【外国語明細書】