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

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

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

<>
  • 特許-不確定区間を有する性能予測の生成 図1
  • 特許-不確定区間を有する性能予測の生成 図2A
  • 特許-不確定区間を有する性能予測の生成 図2B
  • 特許-不確定区間を有する性能予測の生成 図3
  • 特許-不確定区間を有する性能予測の生成 図4
  • 特許-不確定区間を有する性能予測の生成 図5
  • 特許-不確定区間を有する性能予測の生成 図6
  • 特許-不確定区間を有する性能予測の生成 図7
  • 特許-不確定区間を有する性能予測の生成 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-14
(45)【発行日】2024-11-22
(54)【発明の名称】不確定区間を有する性能予測の生成
(51)【国際特許分類】
   G06N 20/00 20190101AFI20241115BHJP
【FI】
G06N20/00 130
【請求項の数】 20
(21)【出願番号】P 2022555680
(86)(22)【出願日】2021-02-16
(65)【公表番号】
(43)【公表日】2023-05-17
(86)【国際出願番号】 IB2021051299
(87)【国際公開番号】W WO2021205244
(87)【国際公開日】2021-10-14
【審査請求日】2023-07-21
(31)【優先権主張番号】16/842,295
(32)【優先日】2020-04-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】アーノルド、マシュー、リチャード
(72)【発明者】
【氏名】エルダー、ベンジャミン、タイラー
(72)【発明者】
【氏名】ナブラティル、ジリ
(72)【発明者】
【氏名】ヴェンカタラマン、ガネシュ
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2016-004525(JP,A)
【文献】米国特許出願公開第2009/0319244(US,A1)
【文献】特開2018-045615(JP,A)
【文献】国際公開第2016/152053(WO,A1)
【文献】特開2019-113915(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
機械学習(ML)モデルの性能予測を生成するためのコンピュータ実施方法であって、
タスクを実行するように構成される第1のモデルおよびラベルなしのデータを含む製造データセットを取得することと、
第2のモデルを用いて、前記製造データセット上で前記タスクを実行するとき、前記第1のモデルの性能を予測する少なくとも1つの測定基準を生成することであって、前記第2のモデルは、前記第1のモデルに関連付けられたメタ・モデルである、前記生成することと、
1つまたは複数の第3のモデルを用いて、前記製造データセット上で前記タスクを実行するとき、前記第1のモデルの前記性能を予測する前記少なくとも1つの測定基準の不確定性を予測する少なくとも1つの値を生成することであって、前記1つまたは複数の第3のモデルの各々は、前記第2のモデルに関連付けられたメタ・メタ・モデルである、前記生成することと、
前記第1のモデルの前記性能を予測する前記少なくとも1つの測定基準および前記少なくとも1つの測定基準の前記不確定性を予測する前記少なくとも1つの値の表示を提供することと、
を含むコンピュータ実施方法。
【請求項2】
前記第1のモデルは、ブラック・ボックス・モデルである、
請求項1に記載のコンピュータ実施方法。
【請求項3】
前記第1のモデルは、ホワイト・ボックス・モデルである、
請求項1に記載のコンピュータ実施方法。
【請求項4】
前記1つまたは複数の第3のモデルの少なくとも1つは、(i)前記第1のモデルのための訓練データセットおよび(ii)前記第2のモデルにおいて訓練される、
請求項1に記載のコンピュータ実施方法。
【請求項5】
前記1つまたは複数の第3のモデルの少なくとも1つは、(i)前記第1のモデルのための訓練データセット、(ii)1つまたは複数の追加のデータセットおよび(iii)前記第2のモデルにおいて訓練される、
請求項1に記載のコンピュータ実施方法。
【請求項6】
前記1つまたは複数の第3のモデルの少なくとも1つは、(i)1つまたは複数の追加のデータセットおよび(ii)前記第2のモデルにおいて訓練される、
請求項1に記載のコンピュータ実施方法。
【請求項7】
前記1つまたは複数の第3のモデルの前記少なくとも1つは、前記1つまたは複数の追加のデータセットおよび前記第2のモデルにおいてオフラインで訓練される、
請求項6に記載のコンピュータ実施方法。
【請求項8】
前記1つまたは複数の追加のデータセットは、前記少なくとも1つのデータセットにおけるデータを分類するための第1のセットのラベルを含む少なくとも1つのデータセットを備え、
前記第1のセットのラベルは、前記第2のモデルを訓練するのに用いられるデータセットにおけるデータを分類するための第2のセットのラベルと異なる、
請求項6に記載のコンピュータ実施方法。
【請求項9】
前記1つまたは複数の追加のデータセットは、少なくとも1つのラベル付きデータセットを備え、前記コンピュータ実施方法は、
前記ラベル付きデータセットに基づいて、複数のテスト・データセットおよび複数の製造データセットを生成することと、
前記複数のテスト・データセットおよび前記複数の製造データセットを前記1つまたは複数の追加のデータセットに含むことと、をさらに含む、
請求項6に記載のコンピュータ実施方法。
【請求項10】
前記複数のテスト・データセットおよび前記複数の製造データセットを生成することは、各テスト・データセットおよび対応する製造データセットが前記ラベル付きデータセットに対して前記1つまたは複数の特徴の異なる比率を含むように、前記ラベル付きデータセットの1つまたは複数の特徴を再サンプリングすることを含む、
請求項9に記載のコンピュータ実施方法。
【請求項11】
前記コンピュータ実施方法は、前記1つまたは複数の追加のデータセットにおける第1のデータセットの第1の統計的分布および前記1つまたは複数の追加のデータセットにおける第2のデータセットの第2の統計的分布に少なくとも部分的に基づいて、前記1つまたは複数の第3のモデルを訓練するための少なくとも1つの特徴値を生成することをさらに含み、前記1つまたは複数の第3のモデルの前記少なくとも1つは、前記1つまたは複数の特徴値によってさらに訓練される、
請求項6に記載のコンピュータ実施方法。
【請求項12】
前記少なくとも1つの特徴値は、前記第1の統計的分布と前記第2の統計的分布との間のダイバージェンス機能に基づいてさらに生成される、
請求項11に記載のコンピュータ実施方法。
【請求項13】
前記少なくとも1つの特徴値は、前記第1の統計的分布と前記第2の統計的分布との間の統計的仮説検定に基づいてさらに生成される、
請求項11に記載のコンピュータ実施方法。
【請求項14】
前記1つまたは複数の第3のモデルは、複数の第3のモデルのサブセットであり、前記コンピュータ実施方法は、前記1つまたは複数の追加のデータセットの1つまたは複数の特徴に少なくとも部分的に基づいて、前記1つまたは複数の第3のモデルを前記複数の第3のモデルから選択することをさらに含む、
請求項1に記載のコンピュータ実施方法。
【請求項15】
前記少なくとも1つの測定基準の前記不確定性を予測する前記少なくとも1つの値は、区間範囲を備える、
請求項1に記載のコンピュータ実施方法。
【請求項16】
前記区間範囲は、第1の上側の範囲および第2の下側の範囲を備える非対称の区間範囲である、
請求項15に記載のコンピュータ実施方法。
【請求項17】
前記第1の上側の範囲および前記第2の下側の範囲は、前記1つまたは複数の第3のモデルの1つを介して生成される、
請求項16に記載のコンピュータ実施方法。
【請求項18】
前記複数の第3のモデルを介して、上側の不確定区間のための第3のモデルおよび下側の不確定区間のための第3のモデルが生成される
請求項16に記載のコンピュータ実施方法。
【請求項19】
システムであって、
1つまたは複数のコンピュータ・プロセッサと、
プログラムを含むメモリと、を備え、
前記プログラムは、前記1つまたは複数のコンピュータ・プロセッサによって実行されるとき、機械学習(ML)モデルの性能予測を生成するための動作を実行し、前記動作は、
タスクを実行するように構成される第1のモデルおよびラベルなしのデータを含む製造データセットを取得することと、
第2のモデルを用いて、前記製造データセット上で前記タスクを実行するとき、前記第1のモデルの性能を予測する少なくとも1つの測定基準を生成することであって、前記第2のモデルは、前記第1のモデルに関連付けられたメタ・モデルである、前記生成することと、
第3のモデルを用いて、前記製造データセット上で前記タスクを実行するとき、前記第1のモデルの前記性能を予測する前記少なくとも1つの測定基準の不確定性を予測する少なくとも1つの値を生成することであって、前記第3のモデルは、前記第2のモデルに関連付けられたメタ・メタ・モデルである、前記生成することと、
前記第1のモデルの前記性能を予測する前記少なくとも1つの測定基準および前記少なくとも1つの測定基準の前記不確定性を予測する前記少なくとも1つの値の表示を提供することと、
を含むシステム。
【請求項20】
コンピュータ・プログラムを記録したコンピュータ可読記憶媒体であって、前記コンピュータ・プログラムは、請求項1ないし18のいずれか1項に記載の方法の各ステップをコンピュータに実行させるための、前記コンピュータ・プログラムである、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して、機械学習に関するものであり、より詳しくは、不確定区間を有する機械学習(ML)モデルの性能予測を生成するための技術に関するものである。
【背景技術】
【0002】
近年、MLモデルは、少し例を挙げれば、画像認識、音声処理、言語翻訳および物体分類を含むさまざまなタスクのためにますます使用されてきた。概して、これらのタスクのために用いられるMLモデルは、モデルを訓練し、維持するのに必要な計算資源および時間の観点から、ますます複雑で高価になった。さらに、各タスクの異なるゴールのために、1つのタスクまたはドメインのために訓練されるモデルは、モデルが密接に関連する場合であっても、典型的には他のドメインのために使用不可能であるように、モデル自体は劇的に互いと異なりうる。この可能性のため、所定のタスクのためのデータのセットにおけるモデルの性能を予測する試みが実行されてきた。しかしながら、性能予測は、不確定性の複数のソースの悪影響を被り、性能予測の精度に影響を与えうる。
【発明の概要】
【0003】
本願明細書において提示される一実施形態は、機械学習(ML)モデルの性能予測を生成するためのコンピュータ実施方法を含む。コンピュータ実施方法は、概して、タスクを実行するように構成される第1のモデルおよびラベルなしのデータを含む製造データセットを取得するステップを含む。コンピュータ実施方法はまた、第2のモデルを用いて、製造データセット上でタスクを実行するとき、第1のモデルの性能を予測する少なくとも1つの測定基準を生成することを含む。第2のモデルは、第1のモデルに関連付けられたメタ・モデルである。コンピュータ実施方法は、1つまたは複数の第3のモデルを用いて、製造データセット上でタスクを実行するとき、第1のモデルの性能を予測する少なくとも1つの測定基準の不確定性を予測する少なくとも1つの値を生成するステップをさらに含む。1つまたは複数の第3のモデルの各々は、第2のモデルに関連付けられたメタ・メタ・モデルである。コンピュータ実施方法は、第1のモデルの性能を予測する少なくとも1つの測定基準および少なくとも1つの測定基準の不確定性を予測する少なくとも1つの値の表示を提供するステップをさらに含む。
【0004】
他の実施形態としては、処理ユニットが開示された方法の1つまたは複数の態様を実施することを可能にするコンピュータ可読プログラム・コードを有する記憶媒体を含むコンピュータ・プログラム製品と、開示された方法の1つまたは複数を実施するように構成されるプロセッサ、メモリおよびアプリケーション・プログラムを有するシステムと、を含むが、これらに限定されるものではない。
【図面の簡単な説明】
【0005】
図1】一実施形態に従って、タスクにおけるモデルの性能およびタスクにおけるモデルの性能の不確定性を予測するのに用いられるネットワーク化されたシステムを示すブロック図である。
図2A】一実施形態に従って、モデルの性能予測およびモデルの性能予測のための不確定区間を生成するためのスタックされたメタ・モデリング・ワークフローを示す。
図2B】一実施形態に従って、モデルの性能予測およびモデルの性能予測のための不確定区間を生成するためのスタックされたメタ・モデリング・ワークフローを示す。
図3】一実施形態に従って、メタ・メタ・モデルを訓練するための1つまたは複数のデータセットを生成するための一例の手順を示す。
図4】一実施形態に従って、メタ・メタ・モデルを訓練するための特徴を生成する一例を示す。
図5】一実施形態に従って、タスクにおけるモデルの性能およびタスクにおけるモデルの性能のための不確定性を予測するための方法のフローチャートである。
図6】一実施形態に従って、モデルの性能予測およびモデルの性能予測のための不確定区間を生成するための、スタックされたメタ・モデル・ワークフローのメタ・モデルおよびメタ・メタ・モデルを訓練するための方法のフローチャートである。
図7】一実施形態に従って、メタ・メタ・モデルを訓練するための方法のフローチャートである。
図8】一実施形態に従って、性能予測および不確定区間の例のシミュレーションを示す。
【発明を実施するための形態】
【0006】
MLツールが、回帰および分類、最適化、予測などを含むがこれらに限定されないさまざまなタスクのためにますます用いられる。しかしながら、いくつかの場合には、タスクにおける所定のモデルの性能は、時間とともに変化しうる。例えば、正確に予測するモデルの能力は、どの程度基礎データがモデルの訓練データと異なるかに応じて、時間とともに悪化するかもしれない。現在では、多くの従来技術を用いて、所定のタスクにおけるモデルの性能を予測することができる。例えば、1つの従来技術は、基礎データの1つまたは複数の特徴の移動の量を検出することを含む。他の従来技術は、正確な予測(例えば、任意の階級が正確に予測された回数、受信者動作特性(ROC)曲線の下の面積など)の比率を時間とともに測定することによって、モデルの精度をトラックすることを含む。しかしながら、これらの従来技術は、性能予測のためのみに用いられ、モデルの不確定性を捕捉しない。
【0007】
加えて、多くの従来技術は、(例えば、基礎となる性能予測タスクを考慮せずに)不確定性のみを予測するために存在する。この種の技術の例は、信頼区間および確率(p)値を含むが、これらに限定されるものではない。加えて、ベイジアン・モデリングにおいて、例えば、偶然的不確定性および認識論的不確定性を含む異なるタイプのモデル不確定性が存在する。偶然的不確定性は、データの固有の不確定性を捕捉し、それの例は、ノイズ、さまざまなデータの欠落、混乱などを含むことができる。認識論的不確定性は、(例えば、モデル・アーキテクチャ、モデル・パラメータ、モデル仮定、パラメータ評価、不十分な訓練などの)モデルに起因する不確定性を捕捉する。
【0008】
上述した方法についての1つの問題は、選択がベース・モデルのアーキテクチャにわたり存在し、モデルの性能またはモデルの不確定性あるいはその両方の予測を可能にすると一般的に仮定するということである。この選択が存在しない場合、集合技術のようないくつかの方法は、不確定性を捕捉するために用いることができるが、これらの方法は、ベース・モデルがホワイト・ボックス(例えば、内部アーキテクチャおよびパラメータが見えるかまたは知られているモデル)であると仮定する。しかしながら、多くの状況において、顧客提供モデルが使用される場合、上述した仮定のいずれも受け入れられない。したがって、モデルの性能予測およびモデルの不確定性予測の両方を生成するための技術を提供することが望ましくなりうる。
【0009】
本開示の実施形態は、基礎となるタスクにおけるMLモデルの性能を、MLモデルの予測された性能のための不確定区間とともに予測するための技術を提供する。より詳しくは、訓練されたMLモデルおよび(ラベルなしの)製造データのセット(モデルの訓練データと大きく異なってもよいしまたは異ならなくてもよい)が与えられると、実施形態は、製造データのセットにおけるモデルの性能(例えば、精度または他の性能または品質関連の測定基準)および不確定区間(例えば、予測の周りのバンドまたはエラー・バー)を予測し、特定のテスト・インスタンスまたはテスト・インスタンスのバッチにおけるモデルに関連付けられた不確定性を説明することができる。
【0010】
以下でさらに詳述する一実施形態において、スタックされたメタ・モデリング方法は、性能予測および不確定性予測を生成するために使用される。例えば、実施形態は、2つのレベルのメタ・モデル、すなわち、(1)ベース・モデルの性能を予測する第1のレベルのメタ・モデル(2)(例えば、ベース・モデルの性能のその予測に関して)第1のレベルのメタ・モデルの不確定性を予測する第2のレベルのメタ・メタ・モデルを生成する。スタックされたメタ・モデリング方法を使用することにより、実施形態は、任意のアーキテクチャのモデルを動作し(例えば、スタックされたメタ・モデリング方法は、モデル・アーキテクチャに不可知論者であり、モデルの内側パラメータのアクセスを有することに依存しない)、複数のタイプの不確定性(例えば、偶然的不確定性、認識論的不確定性など)を捕捉することができる。
【0011】
本願明細書において、「メタ・モデル」は、概して、(より低いレベルの)モデルのモデルを意味し、「メタ・メタ・モデル」は、概して、メタ・モデルのモデルを意味する。メタ・モデルは、例えば、データと相互作用するより低いレベルのモデルに観察されるパターンを捕捉する。本開示のさまざまな実施形態において、視覚のタスク(例えば、動作認識、物体検出、顔認識、数字または文字分類などのための画像を処理すること)が、MLモデルの機能を説明する例として用いられることに留意されたい。しかしながら、本開示の実施形態は、任意の入力(例えば、映像、音声、テキストなど)を用いて、任意の数のドメインに直ちに適用できる。さらに、本願明細書において用いられるように、モデルの「性能」は、ラベルなしのデータにおけるモデルの1つまたは複数の精度関連の測定基準を意味してもよい。同様に、「性能予測」は、ラベルなしのデータにおける基礎となるベース・モデルの1つもしくは複数の性能または品質関連の測定基準を予測するモデル・ベースの方法を意味してもよい。
【0012】
本発明の各種実施形態の説明は、説明のために提示され、包括的であることを意図せず、開示される実施形態に限定されることも意図しない。多くの修正およびバリエーションは、記載されている実施形態の範囲および思想を逸脱することなく、当業者にとって明らかである。本願明細書において用いられる用語は、実施形態の原則、実用的な適用または市場で見つかる技術の上の技術的な改善を最も良く説明するために、または、当業者が本願明細書において開示される実施形態を理解することを可能にするために選択された。
【0013】
以下、この開示において示される実施形態を参照する。しかしながら、本開示の範囲は、特定の記載されている実施形態に限定されるものではない。その代わりに、以下の特徴および要素の任意の組み合わせは、異なる実施形態に関するか否かにかかわらず、考察された実施形態を実施および実践するために考察される。さらに、本願明細書において開示される実施形態が他の可能な解決法または従来技術に勝る利点を達成することができるが、特定の利点が所定の実施形態によって達成されるか否かは、本開示の範囲の制限ではない。したがって、以下の態様、特徴、実施形態および利点は、請求項において明確に詳述される場合を除き、単に説明するのみであり、添付の請求の範囲の要素または制限とみなされない。同様に、「本発明」の参照は、請求項において明確に詳述される場合を除き、本願明細書において開示される任意の発明の主題の一般化として解釈されるべきではなく、添付の請求の範囲の要素または制限とみなされるべきではない。
【0014】
図1は、一実施形態に従って、性能予測およびモデルの不確定性予測を生成するのに用いられるネットワーク化されたシステム100を示すブロック図である。システム100は、コンピューティング・システム102を含む。コンピューティング・システム102はまた、ネットワーク140を介して他のコンピュータに接続されてもよい。ネットワーク140は、さまざまなタイプの1つまたは複数のネットワークを含んでもよく、ローカル・エリアまたはローカル・エリア・ネットワーク(LAN)、汎用ワイド・エリア・ネットワーク(WAN)、電気通信または携帯電話網または公衆ネットワーク(例えば、インターネット)あるいはその組み合わせを含む。
【0015】
コンピューティング・システム102は、概して、バス150を介してメモリ106に接続される1つまたは複数のプロセッサ104、ストレージ108、ネットワーク・インタフェース110、入力装置152および出力装置154を含む。コンピューティング・システム102は、概して、オペレーティング・システム(図示せず)の制御下にある。オペレーティング・システムの例は、UNIX(R)オペレーティング・システム、Microsoft Windows(R)オペレーティング・システムのバージョンおよびLinux(R)オペレーティング・システムのディストリビューションを含む(UNIXは、米国および他の国のThe Open Groupの登録商標であり、MicrosoftおよびWindowsは、米国、他の国または両方のMicrosoft Corporationの商標であり、Linuxは、米国、他の国または両方のLinus Torvaldsの登録商標である)。さらに一般的にいえば、本願明細書において開示される機能をサポートする任意のオペレーティング・システムを用いてもよい。プロセッサ104は、単一のCPU、複数のCPU、複数の処理コアを有する単一のCPUなどを表すように含まれる。
【0016】
メモリ106は、性能または他の能力、すなわち、揮発性または不揮発性媒体あるいはその両方、取り外し可能および取り外し不可能な媒体あるいはその両方などのために選択されるさまざまなコンピュータ可読媒体を含んでもよい。メモリ106は、キャッシュ、ランダム・アクセス・メモリ(RAM)などを含んでもよい。ストレージ108は、ディスク・ドライブまたはフラッシュ・ストレージ・デバイスでもよい。単一のユニットとして示されるが、ストレージ108は、固定または取り外し可能なストレージ・デバイスあるいはその両方、例えば、固定ディスク・ドライブ、ソリッド・ステート・ドライブ、取り外し可能なメモリ・カード、光記憶装置、ネットワーク接続ストレージ(NAS)またはストレージ・エリア・ネットワーク(SAN)の組み合わせでもよい。ネットワーク・インタフェース110は、コンピューティング・システム102がネットワーク140を介して他のコンピューティング・システムまたはデバイスと通信することができる任意のタイプのネットワーク通信装置でもよい。
【0017】
入力装置152は、コンピューティング・システム102に対する入力を提供する。例えば、キーボードまたはマウスあるいはその両方を用いてもよい。出力装置154は、出力をコンピューティング・システム102のユーザに提供するための任意のデバイスでもよい。例えば、出力装置154は、任意の従来のディスプレイ・スクリーンでもよい。入力装置152とは別々に示されるが、出力装置154および入力装置152は結合されてもよい。例えば、一体化したタッチ・スクリーンを有するディスプレイ・スクリーンを用いてもよい。
【0018】
ここで、ストレージ108は、製造データセット130、ベース・モデル132、テスト・データセット134、訓練データセット136ならびにオフライン・モデルおよびデータセット138を含む。ベース・モデル132は、特定のタスクを解析するために用いられるモデル(例えば、画像の分類のための顧客モデル)である。一般的に、任意の適切なタイプのモデルをベース・モデル132のために用いることができ、その例は、人工神経回路網、決定木、サポート・ベクター・マシン、回帰分析、ベイジアン・ネットワーク、遺伝的アルゴリズムなどを含むが、これらに限定されるものではない。ベース・モデル132は、ブラック・ボックス・モデル(例えば、アーキテクチャまたはパラメータあるいはその両方が知られていないモデル)またはホワイト・ボックス・モデル(例えば、アーキテクチャまたはパラメータあるいはその両方が知られているモデル)とすることができる。
【0019】
ベース・モデル132は、特定の訓練データセット(例えば、訓練データセット136)において訓練/開発されてもよく、ラベル付きテスト・データセット(例えば、分類ラベルを含むテスト・データセット134)を用いて評価されてもよい。製造データセット130は、グラウンド・トゥルース(例えば、分類ラベル)が利用できないラベルなしのデータセットである。ベース・モデル132が展開された後、製造データセット130は、動作条件から収集されてもよい。オフラインのモデルまたはデータセットあるいはその両方138は、さまざまなモデルおよびデータセットを含み、そのいくつかは、ベース・モデル132の元のタスクに関連があってもよく、そのいくつかは、ベース・モデル132の元のタスクに関連がなくてもよい。オフラインのモデルまたはデータセットあるいはその両方138は、図2Bおよび図3に関して以下でさらに詳細に述べられる。
【0020】
メモリ106は、予測エンジン120を含み、予測エンジン120は、性能予測およびモデルのための不確定区間を生成するために本願明細書において記載されている技術の1つまたは複数を実施するように構成される。予測エンジン120は、性能構成要素122および不確定性構成要素124を含み、これらの各々は、ソフトウェア、ハードウェアまたはそれらの組み合わせを含むことができる。予測エンジン120は、(性能構成要素122を介して)ベースMLモデル132の性能予測を生成(または性能を予測)し、(不確定性構成要素124を介して)例えば、スタックされたメタ・モデリング方法を用いて、性能予測の不確定区間を生成するように構成される。例えば、性能構成要素122は、(ベース・モデル132の)メタ・モデルを用いて、ラベルなしの製造データセット130におけるベース・モデル132の性能(例えば、1つまたは複数の精度関連の測定基準)を予測することができる。メタ・モデルは、ベース・モデル132、テスト・データセット134および訓練データセット136の1つまたは複数を用いて訓練されてもよい。
【0021】
同様に、不確定性構成要素124は、(ベース・モデル132のメタ・モデルの)メタ・メタ・モデルを用いて、性能構成要素122のメタ・モデルの不確定性を予測することができる。メタ・メタ・モデルは、オフラインのモデル/データセット138、性能構成要素122のメタ・モデル、ベース・モデル132、製造データセット130、テスト・データセット134および訓練データセット136の収集の1つまたは複数を用いて訓練されてもよい。一実施形態において、不確定性構成要素124は、メタ・モデルの不確定性を表現する不確定区間(エラー・バーとしても知られている)を生成することができる。不確定区間は、性能構成要素122の出力(例えば、ベース・モデル132の予測された性能)の周りのバンド(または許容度)を詳細に描写する。予測の周りのこのバンド(または許容度)は、(例えば、製造データセット130の)特定のテスト・インスタンスにおけるベース・モデル132に関連付けられた不確定性を説明することができる。性能構成要素122および不確定性構成要素124は、図2Aおよび図2Bに関して以下でさらに詳細に述べられる。
【0022】
図1は、単に、モデルの不確定区間とともに性能予測を生成することができるシステム100の1つの参考例のみを示し、システム100のその他の構成はモデルの不確定区間とともに性能予測を生成するために適応されうることに留意されたい。例えば、いくつかの実施形態では、ストレージ108の1つまたは複数のコンテンツ(例えば、製造データセット130、ベース・モデル132、テスト・データセット134、訓練データセット136およびオフラインのモデル/データセット138)または1つもしくは複数のコンテンツ(例えば、性能構成要素122および不確定性構成要素124)あるいはその両方は、ネットワーク(例えば、クラウド・コンピューティング環境)において、1つまたは複数のコンピューティング・システム102にわたり分散されてもよい。この種の実施形態では、第1のコンピューティング・システム102は、1つまたは複数の第2のコンピューティング・システム102からベース・モデル132の性能予測を生成するために用いられるコンテンツの1つまたは複数を検索してもよい。同様に、第1のコンピューティング・システム102は、1つまたは複数の第2のコンピューティング・システム102からベース・モデル132の予測された性能のための不確定区間を生成するために用いられるコンテンツの1つまたは複数を検索してもよい。さらに他の実施形態では、性能予測または不確定区間あるいはその両方は、単一のコンピューティング・システム102または複数のコンピューティング・システム102によって生成可能である。
【0023】
図2Aから図2Bは、一実施形態に従って、ベース・モデル(例えば、ベース・モデル132)の性能予測およびベース・モデルの性能予測のための不確定区間を生成するためのスタックされたメタ・モデリング・ワークフロー200を示す。ここで、スタックされたメタ・モデリング・ワークフロー200は、訓練段階210および使用(または展開)段階212(図2Aに示される)ならびに訓練段階214および使用段階216(図2Bに示される)を含む。
【0024】
図2Aに示すように、性能構成要素122は、メタ・モデル202を含み、メタ・モデル202は、概して、インスタンス・ベースによってインスタンス上のベース・モデル132の成功および失敗の確率を予測することを学習する。ワークフロー200は、訓練段階210の間考慮可能な情報の多くの異なる部分を示す。描写された実施形態において、ベース・モデル132および(ラベル付きの)テスト・データセット134は、メタ・モデル202を訓練するための入力として処理され、用いられる。さらに示されるように、いくつかの実施形態では、訓練データセット136はまた、メタ・モデル202を訓練するための追加の入力として用いることもできる。
【0025】
訓練段階210は、メタ・モデル202を訓練するための教師あり学習方法を描写する。訓練段階210は、(例えば、メタ・モデル202が、使用中でないかまたは展開されないとき)オフラインで実行可能であるか、または、(例えば、メタ・モデル202が、使用中であるかまたは展開されるとき)オンラインで実行可能である。しかしながら、さらに一般的にいえば、本願明細書において記載されている機能に整合する任意の適切な機械学習訓練メカニズムを用いることができる。ベース・モデル132、テスト・データセット134または訓練データセット136あるいはその組み合わせが訓練段階210の間、メタ・モデル202に直接入るとして示されるが、当業者は、任意の入力データがメタ・モデル202に供給される前に、この情報がさまざまな方法で処理可能であることを認識することにさらに留意されたい。
【0026】
一旦メタ・モデル202が訓練されると、(ラベルなしの)製造データセット130(例えば、分類ラベルなし)は、入力としてメタ・モデル202に供給可能であり、メタ・モデル202は、(例えば、使用(展開)段階212の間)性能予測204を出力することができる。いくつかの場合には、ベース・モデル132の出力予測スコア(例えば、softmax、ロジット)またはベース・モデル132の元の入力特徴あるいはその両方はまた、入力としてメタ・モデル202に供給可能である。製造データセット130がメタ・モデル202に直接入るとして示されるが、当業者は、任意の入力データがメタ・モデル202に供給される前に、この情報がさまざまな方法で処理可能であることを認識することに留意されたい。
【0027】
性能予測204は、ベース・モデル132が(ラベルなしの)製造データセット130におけるそのタスク(例えば、画像分類)でどの程度良く(または正確に)作動するかの予測された計測値である。例えば、ベース・モデル132が物体分類のモデルであると仮定すると、性能予測204は、製造データセット130から物体を分類する際のベース・モデル132の成功/失敗確率を示すパーセンテージ値(例えば、74%)を含むことができる。さらに一般的にいえば、性能予測204は、製造データセット130におけるベース・モデル132の1つまたは複数の精度関連の測定基準を含むことができる。この種の精度関連の測定基準の例は、ROCスコアの下の面積、真陽性率(TPR)、F1値、偽陽性率(FPR)、R二乗スコア、精度スコア(例えば、モデルが正確になったという予測のパーセンテージ)などを含むことができるが、これらに限定されるものではない。
【0028】
性能予測204は、バッチ精度予測または点的な精度予測とすることができる。いくつかの場合には、性能予測204は、ベース・モデル132の事前展開品質検査のために用いることができる(例えば、ベース・モデル132が展開されるべきかを決定する)。いくつかの場合には、性能予測204は、ベース・モデル132の実行時または展開の間、品質管理/検査(例えば、不正確な予測をフィルタリングする、生産の減少を識別するなど)のために用いることができる。しかしながら、上述したように、性能予測204は、精度関連の測定基準において捕捉されない不確定性(例えば、偶然的不確定性、認識論的不確定性など)の複数のソースの悪影響を被りうる。これに対処するために、実施形態は、不確定性構成要素124を用いて、性能予測204に関する不確定区間を予測する。
【0029】
図2Bに示すように、不確定性構成要素124は、メタ・メタ・モデル206を含み、メタ・メタ・モデル206は、メタ・モデル202のエラーおよび実際の観察された性能(例えば、予測された精度マイナス実際の精度の絶対値)の機能を予測することを学習する。ワークフロー200は、訓練段階214の間考慮可能な情報の多くの異なる部分を示す。描写された実施形態において、オフラインのモデル/データセット138およびメタ・モデル202は、メタ・メタ・モデル206を訓練するための入力として処理され、用いられる。さらに示されるように、いくつかの実施形態では、製造データセット130はまた、メタ・メタ・モデル206を訓練するための追加の入力または唯一の入力として用いることもできる。
【0030】
訓練段階214は、メタ・メタ・モデル206を訓練するための教師あり学習方法を描写する。訓練段階214は、1つまたは複数の実行のためにオフラインで実行可能である。しかしながら、さらに一般的にいえば、本願明細書において記載されている機能に整合する任意の適切な機械学習訓練メカニズムを用いることができる。オフラインのモデル/データセット138、メタ・モデル202または製造データセット130あるいはその組み合わせがメタ・メタ・モデル206に直接入るとして示されるが、当業者は、任意の入力データがメタ・メタ・モデル206に供給される前に、この情報がさまざまな方法で処理可能であることを認識することにさらに留意されたい。
【0031】
メタ・メタ・モデル206は、メタ・モデル202がいつ間違いそうであるか、および、どのくらい間違うかを、訓練段階214の1つまたは複数のオフラインの実行から学習するように構成される。一実施形態において、メタ・メタ・モデル206は、複数のバックグラウンドのオフラインのモデル/データセット138(製造データセット130を除外)において訓練され、メタ・モデル202の予想される不確定性を表す一般的特徴を学習することができる。他の実施形態では、メタ・メタ・モデル206は、製造データセット130(例えば、オフラインのモデル/データセット138なしで)において訓練可能である。さらに他の実施形態では、メタ・メタ・モデル206は、オフライン/モデル/データセット138および製造データセット130において訓練可能である。
【0032】
オフラインのモデル/データセット138は、ベース・モデル132のタスクに関連があるラベル付きデータセット(例えば、物体分類)またはベース・モデル132のタスクに関連がないラベル付きデータセット(例えば、音声からテキスト変換)あるいはその両方を含んでもよい。いくつかの実施形態において、メタ・メタ・モデル206を訓練するために用いられるオフラインのモデル/データセット138の少なくとも1つの(第1の)データセットは、オフラインのモデル/データセット138における1つまたは複数の(第2の)データセットから動的に生成可能である。例えば、第1のデータセットは、第2のデータセットにおける1つまたは複数の特徴を再サンプリングすることに基づいて生成可能である。
【0033】
図3は、一実施形態に従って、メタ・メタ・モデル206を訓練するための1つまたは複数のデータセットを生成する一例を示す。示すように、(オフラインのモデル/データセット138のうちの1つでもよい)(ベースの)ラベル付きデータセット302が与えられ、予測エンジン120は、メタ・メタ・モデル206を訓練するために、1つまたは複数の訓練/テスト・データセット304-1から304-6および1つまたは複数の製造データセット306-1から306-6を生成することができる。一実施形態において、予測エンジン120は、ラベル付きデータセット302の1つまたは複数の特徴に基づいて、(ベースの)ラベル付きデータセット302を再サンプリングすることによって、訓練/テスト・データセット304および製造データセット306を生成することができる。
【0034】
一例において、訓練/テスト・データセット304および製造データセット306は、共変量シフトを導入するためのさまざまな特徴に基づいて、(ベースの)ラベル付きデータセット302を再サンプリングすることによって生成可能である。この例では、訓練/テスト・データセット304および製造データセット306の分布を再サンプリングするために用いられる(ベースの)ラベル付きデータセット302の特定の特徴は、(例えば、特徴重要性(feature importance)に基づいて)予測エンジン120によって動的に選択可能である。他の例では、訓練/テスト・データセット304および製造データセット306は、従来の確率シフトを導入するための実際の階級ラベルに基づいて、(ベースの)ラベル付きデータセット302を再サンプリングすることによって生成可能である。
【0035】
図3に示すように、特徴が「特徴A」(例えば「イヌ」)(または「特徴B」が例えば「ネコ」)と仮定すると、「特徴A」(または「特徴B」)の比率は、訓練/テスト・データセット304-1から304-6および製造データセット306-1から306-6の各々において、(例えば、ラベル付きデータセット302における特徴を再サンプリングすることによって)変化しうる。ここで、例えば、訓練/テスト・データセット304-1は、「特徴A」の100%(または「特徴B」の0%)の統計的分布を含み、対応する製造データセット306-1は、「特徴A」の0%(または「特徴B」の100%)の統計的分布を含む。同様に、対向端では、訓練/テスト・データセット304-6は、「特徴A」の0%(または「特徴B」の100%)の統計的分布を含み、対応する製造データセット306-6は、「特徴A」の100%(または「特徴B」の0%)の統計的分布を含む。
【0036】
図2Bに戻って参照すると、いくつかの実施形態では、(例えば、訓練段階214の間)メタ・メタ・モデル206を訓練することは、入力データセットについてのメタデータ(例えば、訓練/テスト・データセット304、製造データセット306などを含むことができるオフラインのモデル/データセット138)または入力データセットの他の分布特徴空間特性あるいはその両方に基づいて、1つまたは複数の特徴を生成することを含んでもよい。一実施形態において、1つまたは複数の特徴は、ベース・モデル132および(訓練および製造データセットを含む)オフラインのモデル/データセット138に基づくことができる。例えば、予測エンジン120は、テスト・データセットおよび製造データセットにおけるさまざまな分布を計算してもよく、さまざまな分布の間の距離を比較して、メタ・メタ・モデル206を訓練するのに用いられる1つまたは複数の特徴を作成してもよい。
【0037】
図4に示すように、例えば、第1の分布(ヒストグラム402)は、テスト・データセット(例えば、テスト・データセット304)に基づいて計算可能であり、第2の分布(ヒストグラム404)は、製造データセット(例えば、製造データセット306)に基づいて計算可能である。分布の間の距離406(またはさらに一般的にいえば、相違)が計算され、特徴(特徴値とも呼ばれる)408として用いることができる。このようにメタ・メタ・モデル206を訓練するために特徴408を生成することは、メタ・モデル202からの平均出力が安定しているシナリオでは、著しく雑音が多い(例えば、閾値を上回る)性能予測を説明しうるが、サンプル式の不確定性がバッチ式のエラー・バーのためにあまりに大きいなどのシナリオでは、変化は高い(例えば、閾値を上回る)。
【0038】
一実施形態において、一例の特徴408は、ベース・モデル132からの最高信頼スコアに基づいてもよい。例えば、ベース・モデル132を用いて、テスト・データセットおよび製造データセットにおけるサンプルをスコア付けすることができる。ベース・モデル132が(例えば、階級Aと階級Bとの間の)物体分類のために用いられると仮定すると、ベース・モデル132を用いた出力予測スコアは、テスト・データセットにおける各サンプル(またはデータ点)および製造データセットにおける各サンプル(またはデータ点)のために取得可能である。一例として、テスト・データセットにおける第1のサンプルのために、ベース・モデル132は、95%の階級Aを出力してもよく、製造データセットにおける第1のサンプルのために、ベース・モデル132は90%の階級Aを出力してもよい。
【0039】
テスト・データセットおよび製造データセットの各々におけるすべてのサンプルがスコア付けされた後、テスト・データセットおよび製造データセットの両方におけるスコア付けされたサンプルのサブセットは、ヒストグラムを作るために用いることができる。例えば、テスト・データセットにおけるスコア付けされたサンプルからの最高の信頼スコア(例えば、一定の閾値範囲の間、例えば、90-95%、95-98%、98-100%の間など)の(第1の)ヒストグラムを生成することができる。同様に、製造データセットのスコア付けされたサンプルからの最高の信頼スコア(例えば、一定の閾値範囲の間)の(第2の)ヒストグラムを生成することができる。次に、2つのヒストグラムは、ダイバージェンス機能(divergence function)(例えば、類似性測定基準、相違測定基準)と比較可能である。一実施形態において、2つのヒストグラムの間の距離406(例えば、へリンガー距離)は、計算可能であり、(例えば、[0、1]における)距離406の値は、メタ・メタ・モデル206のための特徴408として用いることができる。
【0040】
一実施形態において、一例の特徴408は、シャドウ・モデルの最高信頼スコアに基づくことができる。ベース・モデルの最高信頼スコアと比較して、本実施形態において、他の(プロキシ)モデルは、ベース・モデル132を訓練するのに用いられる同一の訓練データセット(例えば、訓練データセット136)において訓練される。次に、テスト・データセットおよび製造データセットからの最高信頼スコアは、(例えば、ベース・モデル132と対照的に)プロキシ・モデルを用いて計算される。ヒストグラムは、最高信頼スコアに基づいて生成可能であり、ヒストグラムの間の距離は、メタ・メタ・モデル206のための特徴408として用いることができる。
【0041】
一実施形態において、一例の特徴408は、階級度数距離に基づくことができる。本実施形態において、例えば、ベース・モデル132によって各階級であると予測されるテスト・データセットおよび製造データセットにおけるサンプルのパーセンテージのヒストグラムを作成することができる。ヒストグラムの間の距離406(例えば、へリンガー距離)は、計算可能であり、距離値は、メタ・メタ・モデル206のための特徴408として用いることができる。
【0042】
一実施形態において、一例の特徴408は、最高特徴距離に基づくことができる。本実施形態において、例えば、シャドウ・ランダム・フォレスト・モデルは、訓練可能であり、(例えば、所定の条件を満たす)最高の特徴重要性を有するデータ特徴を識別するために用いることができる。一旦識別されると、テスト・データセットおよび製造データセットのヒストグラムは、この次元に投影可能である(例えば、圧縮された1次元の特徴空間)。ヒストグラムの間の距離406(例えば、へリンガー距離)は、計算可能であり、距離値は、メタ・メタ・モデル206のための特徴408として用いることができる。
【0043】
一実施形態において、一例の特徴408は、メタ・モデル予測(例えば、性能予測204)に基づくことができる。本実施形態において、メタ・モデル202により予測されるようにテスト・データセットと製造データセットとの間のベース・モデルの精度の変化は、メタ・メタ・モデル206のための特徴408として用いることができる。一実施形態において、一例の特徴408は、(第1のデータセットの)第1の統計的分布と(第2のデータセットの)第2の統計的分布との間の統計的仮説検定に基づくことができる。
【0044】
上記の特徴が、本願明細書において記載されている機能に整合する、その他の特徴または入力データセットのメタ・データに基づく特徴の任意の組み合わせを用いることができるメタ・メタ・モデル206を訓練するのに用いることができる特徴の単なる参考例として提供されることに留意されたい。いくつかの実施形態において、例えば、複数のメタ・メタ・モデルは、異なる特徴に基づいて生成/訓練可能である。これらの実施形態では、実行段階216の間用いられる特定のメタ・メタ・モデルは、データの特性(例えば、データセットについてのメタデータ、特徴の数、分布特徴空間特性など)に基づいて、実行時に動的に選択可能である。
【0045】
一旦メタ・メタ・モデル206が訓練されると、ベース・モデル132、テスト・データセット134、訓練データセット136、メタ・モデル202、製造データセット130および性能予測204の1つまたは複数は、入力としてメタ・メタ・モデル206に供給可能であり、メタ・メタ・モデル206は、(例えば、使用(展開)段階216の間)不確定性予測208を出力することができる。不確定性予測208は、メタ・モデル202から出力される性能予測204の不確定性の予測された量である。例えば、ベース・モデル132が物体分類のためのモデルであると仮定すると、不確定性予測208は、性能予測204の不確定性の量を表現する区間(または許容度)(例えば、±4、±7、+2)を示すことができる。いくつかの実施形態において、不確定性予測208は、ベース・モデル132の追加の事前展開品質検査のためにまたは実行時またはベース・モデル132の展開の間の品質管理/検査のためにあるいはその両方のために用いることができる。
【0046】
図5は、一実施形態に従って、タスクにおけるモデルの性能およびタスクにおけるモデルの性能のための不確定性を予測するための方法500のフローチャートである。方法500は、コンピューティング・システムの予測エンジン(例えば、コンピューティング・システム102の予測エンジン120)によって実行されてもよい。
【0047】
方法500は、予測エンジンがベース・モデル(例えば、ベース・モデル132)および製造データのセット(例えば、製造データセット130)を取得するブロック502において開始してもよい。ブロック504において、予測エンジンは、メタ・モデル(例えば、メタ・モデル202)を用いて、製造データのセットにおいてベース・モデルの性能(例えば、性能予測204)を予測する。例えば、予測エンジンは、製造データのセットにおいてベース・モデルの1つまたは複数の精度関連の測定基準を生成してもよい。1つの特定の例において、精度関連の測定基準は、製造データのセットを用いて、そのタスクでのベース・モデルの成功/失敗確率(例えば、X%成功)を示してもよい。
【0048】
ブロック506において、予測エンジンは、メタ・メタ・モデル(例えば、メタ・メタ・モデル206)を用いて、製造データのセットのためのメタ・モデルの性能の1つまたは複数の不確定区間(例えば、不確定性予測208)を予測する。例えば、予測エンジンは、製造データのセットを用いて、そのタスクでのベース・モデルの予測された性能の不確定性の量を示す許容度(またはエラー・バンド)(例えば、±Y)を生成することができる。
【0049】
一実施形態において、(ブロック506において予測される)不確定区間は非対称でもよい。例えば、予測エンジンは、予測された性能の不確定性を表現するエラーの符号付きの値(例えば、+または-)を予測することができる。他の例では、第1の不確定区間は、予測された性能の周りの上側のバンド/範囲のために生成可能であり、第2の不確定区間は、予測された性能の周りの下側のバンド/範囲のために生成可能である。
【0050】
いくつかの実施形態において、複数のメタ・メタ・モデルを用いて、複数の不確定区間(例えば、第1の(上側の)不確定区間のための第1のメタ・メタ・モデルおよび第2の(下側の)不確定区間のための第2のメタ・メタ・モデル)を生成することができる。いくつかの実施形態において、複数の不確定区間は、単一のメタ・メタ・モデルにより生成可能である。例えば、単一のメタ・メタ・モデルは、上側および下側の不確定区間を予測するための2つのサブモジュール(または構成要素)を含むことができる。
【0051】
ブロック508において、予測エンジンは、ベース・モデルの性能および1つまたは複数の不確定区間の表示を提供する。一実施形態において、予測エンジンは、コンピューティング・デバイス(例えば、コンピューティング・システム102)のディスプレイのユーザ・インタフェース上の表示を提供することができる。一実施形態において、予測エンジンは、製造データのセットのためのベース・モデルの性能予測および不確定性予測の要求に応答して、表示を提供することができる。例えば、ユーザは、予測エンジンを用いて、(複数のベース・モデルのうち)どのベース・モデルを製造データのセットにおいて用いるべきか決定してもよい。他の例では、予測エンジンは、ベース・モデルの展開/実行時をモニタし、(例えば、1つまたは複数の所定の時間間隔で)表示をコンピューティング・デバイスに絶えず提供してもよい。次に、この表示を用いて、ベース・モデルがいつ改良されるべきかまたは置換されるべきかあるいはその両方がされるべきかを決定することができる。いくつかの場合には、予測エンジンは、メタ・モデルと同じ頻度で、メタ・メタ・モデルを実行してもよい。
【0052】
図6は、一実施形態に従って、モデルの性能予測およびモデルの性能予測のための不確定区間を生成するための、スタックされたメタ・モデル・ワークフローのメタ・モデルおよびメタ・メタ・モデルを訓練するための方法600のフローチャートである。方法600は、コンピューティング・システムの予測エンジン(例えば、コンピューティング・システム102の予測エンジン120)によって実行されてもよい。
【0053】
方法600は、予測エンジンがベース・モデル(例えば、ベース・モデル132)、テスト・データセット(例えば、テスト・データセット134)および1つまたは複数の追加のデータセット(例えば、オフラインのモデル/データセット138)を検索するブロック602において開始してもよい。ブロック604において、予測エンジンは、ベース・モデルおよびテスト・データセットに基づいて、タスクにおけるベース・モデルの性能を予測するためにメタ・モデル(例えば、メタ・モデル202)を訓練する。ブロック606において、予測エンジンは、メタ・モデルおよび1つまたは複数の追加のデータセットに基づいて、そのタスクでのベース・モデルの性能の不確定性を予測するためにメタ・メタ・モデルを訓練する。
【0054】
図7は、一実施形態に従って、メタ・メタ・モデルを訓練するための方法700のフローチャートである。方法700は、コンピューティング・システムの予測エンジン(例えば、コンピューティング・システム102の予測エンジン120)によって実行されてもよい。
【0055】
方法700は、予測エンジンがラベル付きデータセット(例えば、ラベル付きデータセット302)を取得するブロック702において開始してもよい。ブロック704において、予測エンジンは、ラベル付きデータセットに基づいて、1つまたは複数の追加のデータセット(例えば、訓練/テスト・データセット304、製造データセット306)を生成する。ブロック706において、予測エンジンは、1つまたは複数の追加のデータセットの評価に基づいて、1つまたは複数の特徴(例えば、特徴408)を決定(または計算)する。ブロック708において、予測エンジンは、1つまたは複数のメタ・メタ・モデル(例えば、メタ・メタ・モデル206)を訓練し、各々は、1つまたは複数の特徴に少なくとも部分的に基づいて、メタ・モデル(例えば、メタ・モデル202)の不確定区間を予測するように構成される。
【0056】
図8は、一実施形態に従って、ベース・モデルの性能予測および性能予測のための不確定区間の例のシミュレーション802および804を示す。
【0057】
より詳しくは、シミュレーション802は、異なるテスト/製造データセット1-Kにわたるベース・モデルの性能予測を描写する。示すように、ベース・モデル精度(例えば、ベース・モデルの実際の精度)は線808で表現され、ベース・モデルの予測された精度は線810で表現され、予測された精度のためのエラー・バーは806により表現される。各テスト/製造データセット1-Kは、特徴/ラベルの異なる統計的分布を有してもよい。例えば、テスト/製造データセット1は、テスト・データセットにおいて100%の「特徴A」および製造データセットにおいて0%の「特徴A」の統計的分布を含んでもよい。同様に、対向端では、テスト/製造データセットKは、テスト・データセットにおける0%の「特徴A」および製造データセットにおける100%の「特徴A」の統計的分布を含んでもよい。
【0058】
シミュレーション802に対応するシミュレーション804は、(840により表現される)メタ・モデル・エラー、固定のエラー・バー(または不確定性値)820およびメタ・モデル・エラーと実際のベース・モデル出力との間のデルタ830を示す。示すように、モデルの性能予測のための不確定区間を生成するためにスタックされたメタ・モデル・ワークフローを用いて、実施形態は、固定の不確定性値820を用いることと比較して、より正確な不確定区間を生成することができる。
【0059】
上記では、この開示において示される実施形態を参照する。しかしながら、本開示の範囲は、特定の記載されている実施形態に限定されるものではない。その代わりに、特徴および要素の任意の組み合わせは、異なる実施形態に関するか否かにかかわらず、考察された実施形態を実施および実践するために考察される。さらに、本願明細書において開示される実施形態が他の可能な解決法または従来技術に勝る利点を達成することができるが、特定の利点が所定の実施形態によって達成されるか否かは、本開示の範囲の制限ではない。したがって、本願明細書において述べられる態様、特徴、実施形態および利点は、請求項において明確に詳述される場合を除き、単に説明するのみであり、添付の請求の範囲の要素または制限とみなされない。同様に、「本発明」の参照は、請求項において明確に詳述される場合を除き、本願明細書において開示される任意の発明の主題の一般化として解釈されるべきではなく、添付の請求の範囲の要素または制限とみなされるべきではない。
【0060】
本発明の態様は、完全にハードウェアの実施形態、(ファームウェア、常駐ソフトウェア、マイクロ・コードなどを含む)完全にソフトウェアの実施形態または本願明細書において、「回路」、「モジュール」または「システム」と概して呼ばれてもよいソフトウェアおよびハードウェア態様を結合する実施形態の形をとってもよい。
【0061】
本発明は、システム、方法またはコンピュータ・プログラム製品あるいはその組み合わせでもよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を含んでもよい。
【0062】
コンピュータ可読記憶媒体は、命令実行装置が使用するための命令を保持し、記憶することができる有形の装置とすることができる。コンピュータ可読記憶媒体は、例えば、限定されることなく、電子記憶装置、磁気記憶装置、光記憶装置、電磁記憶装置、半導体記憶装置または前述の任意の適切な組み合わせでもよい。コンピュータ可読記憶媒体のより具体的な例の包括的ではないリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチ・カードまたは命令が記録された溝内の隆起構造などの機械的に符号化された装置および前述の任意の適切な組み合わせを含む。本願明細書で使用されるようなコンピュータ可読記憶媒体は、電波または他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通って伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)またはワイヤを通して送信される電気信号などの、それ自体一過性の信号であると解釈されるべきではない。
【0063】
本願明細書に記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理装置にあるいはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークまたは無線ネットワークあるいはその組み合わせを介して外部コンピュータもしくは外部記憶装置にダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータまたはエッジ・サーバあるいはその組み合わせを含んでもよい。各コンピューティング/処理装置のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、コンピュータ可読プログラム命令をそれぞれのコンピューティング/処理装置内のコンピュータ可読記憶媒体に記憶するために転送する。
【0064】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データまたはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語もしくは同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードのいずれかでもよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンド・アローンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でおよび部分的に遠隔コンピュータ上であるいは完全に遠隔コンピュータまたはサーバ上で実行されてもよい。後者のシナリオでは、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよくあるいは(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに接続されてもよい。いくつかの実施形態では、例えば、プログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人専用にすることによって、コンピュータ可読プログラム命令を実行することができる。
【0065】
本発明の態様は、本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフローチャートまたはブロック図あるいはその両方を参照して本願明細書に記載されている。フローチャートまたはブロック図あるいはその両方の各ブロックならびにフローチャートまたはブロック図あるいはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実施可能であることが理解されよう。
【0066】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックにおいて指定された機能/行為を実施するための手段を作成するように、汎用コンピュータ、専用コンピュータまたは他のプログラマブル・データ処理装置のプロセッサに提供され、機械を生成することができる。これらのコンピュータ可読プログラム命令は、内部に命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方のブロックで指定された機能/行為の態様を実施する命令を含む製品を含むように、コンピュータ、プログラマブル・データ処理装置または他の装置あるいはその組み合わせを特定のやり方で機能させるように指示することができるコンピュータ可読記憶媒体にも記憶することができる。
【0067】
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置または他の装置上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックで指定された機能/行為を実施するように、コンピュータ、他のプログラマブル・データ処理装置または他の装置にロードされ、一連の動作ステップをコンピュータ、他のプログラマブル装置または他の装置上で実行させてコンピュータ実施プロセスを生成することができる。
【0068】
図のフローチャートおよびブロック図は、本発明のさまざまな実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能および動作を示す。この点に関して、フローチャートまたはブロック図の各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む、モジュール、セグメントまたは命令の一部を表すことができる。いくつかの代替実施態様では、ブロックに記載された機能は、図に記載された順序とは異なって行われてもよい。例えば、連続して示されている2つのブロックは、実際には、実質的に同時に実行されてもよいし、または、ブロックは、関与する機能に応じて、時には逆の順序で実行されてもよい。ブロック図またはフローチャートあるいはその両方の各ブロックおよびブロック図またはフローチャートあるいはその両方のブロックの組み合わせは、指定された機能または行為を実行するあるいは専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用のハードウェア・ベースのシステムによって実施可能であることにも留意されよう。
【0069】
本発明の実施形態は、クラウド・コンピューティング・インフラストラクチャを通してエンド・ユーザに提供されてもよい。クラウド・コンピューティングは、概して、ネットワーク上のサービスとして、拡張可能な計算資源の提供を意味する。より正式には、クラウド・コンピューティングは、計算資源とその基礎となる技術アーキテクチャ(例えば、サーバ、ストレージ、ネットワーク)との間の抽象概念を提供する計算能力として定義されてもよく、最小の管理作業またはサービス・プロバイダ相互作用によって高速に提供および解放することができる構成可能な計算資源の共有プールに対する便利なオンデマンドのネットワーク・アクセスを可能にする。したがって、計算資源を提供するのに用いられる基礎となる物理システム(またはそれらのシステムの位置)に関係なく、クラウド・コンピューティングによって、ユーザは、「クラウド」内の仮想計算資源(例えば、ストレージ、データ、アプリケーションおよび完全に仮想化されたコンピューティング・システムさえ)にアクセスすることができる。
【0070】
典型的には、クラウド・コンピューティングの資源は、利用回数料金制でユーザに提供され、ユーザは、実際に用いられる計算資源(例えば、ユーザによって消費されるストレージ空間の量またはユーザによってインスタンス生成される仮想化システムの数)に対してのみ課金される。ユーザは、いつでも、そして、インターネット全体のどこからでもクラウド内の資源のいずれかにアクセスすることができる。本発明の文脈において、ユーザは、クラウド内の利用可能なアプリケーション(例えば、予測エンジン120)または関連データ(例えば、ベース・モデル132、テスト・データセット134、訓練データセット136、オフラインのモデル/データセット138、製造データセット130など)にアクセスすることができる。例えば、予測エンジン120は、クラウド内のコンピューティング・システム上で実行することができ、ベース・モデルの予測された性能のための不確定区間とともに、ベース・モデルの性能を予測することができる。この種の場合には、アプリケーションは、クラウド内のストレージ位置から性能予測または不確定性予測あるいはその両方を生成するのに用いられる入力情報の1つまたは複数を取り出し、クラウド内のストレージ位置に性能予測または不確定性予測あるいはその両方を格納することができる。
【0071】
上記は、本発明の実施形態に向けられるが、その他および本発明のさらなる実施形態は、その基本的な範囲を逸脱しない範囲で考案されてもよく、その範囲は以下の請求項により決定される。
図1
図2A
図2B
図3
図4
図5
図6
図7
図8