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

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

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

特表2024-531141所望のメトリック値に基づく機械学習モデルの提供
<>
  • 特表-所望のメトリック値に基づく機械学習モデルの提供 図1
  • 特表-所望のメトリック値に基づく機械学習モデルの提供 図2
  • 特表-所望のメトリック値に基づく機械学習モデルの提供 図3
  • 特表-所望のメトリック値に基づく機械学習モデルの提供 図4
  • 特表-所望のメトリック値に基づく機械学習モデルの提供 図5A
  • 特表-所望のメトリック値に基づく機械学習モデルの提供 図5B
  • 特表-所望のメトリック値に基づく機械学習モデルの提供 図5C
  • 特表-所望のメトリック値に基づく機械学習モデルの提供 図6
  • 特表-所望のメトリック値に基づく機械学習モデルの提供 図7
  • 特表-所望のメトリック値に基づく機械学習モデルの提供 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-29
(54)【発明の名称】所望のメトリック値に基づく機械学習モデルの提供
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240822BHJP
【FI】
G06N20/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024507905
(86)(22)【出願日】2022-08-23
(85)【翻訳文提出日】2024-02-07
(86)【国際出願番号】 EP2022073450
(87)【国際公開番号】W WO2023025781
(87)【国際公開日】2023-03-02
(31)【優先権主張番号】17/412,474
(32)【優先日】2021-08-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
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】クミエロウスキ、ルーカス
(72)【発明者】
【氏名】リシュカ、ダニエル
(72)【発明者】
【氏名】ソバラ、ヴォイチェフ
(72)【発明者】
【氏名】ソルティシク、ヤン
(57)【要約】
本開示は、機械学習(ML)モデルを生成する方法に関する。この方法は、第1のラベル属性の値を現在のトレーニング・データセットに基づいて予測するためのメトリックの所望の値の選択を受け取ることを含む。以前に取得されたトレーニング設定のセットを使用して、メトリックの所望の値に対応するトレーニング設定のセットを決定することができる。現在のトレーニング・データセットを使用して、決定されたトレーニング設定のセットに従って、機械学習モデルを生成するように、MLエンジンを制御することができる。第1のラベル属性の値の予測を行うために、生成された機械学習モデルをデプロイすることができる。
【特許請求の範囲】
【請求項1】
機械学習モデルをトレーニングするコンピュータ実装方法であって、
トレーニング設定のセットと、第1の特徴属性および第1のラベル属性を含むトレーニング・データセットとを受け取ることと、
前記トレーニング・データセットおよび前記トレーニング設定のセットに基づいて少なくとも1つの機械学習モデルを生成することであって、前記機械学習モデルが、前記第1の特徴属性から前記第1のラベル属性を予測するように構成されている、前記生成することと、
前記生成された機械学習モデルに対するメトリックの所望の値を提供することと、
以前の1つまたは複数の動作のトレーニング設定のセットおよび前記メトリックの関連する値を取得することと、
前記第1のラベル属性の値を現在のトレーニング・データセットに基づいて予測するための前記メトリックに対する値を受け取ることと、
前記取得されたトレーニング設定のセットに基づいて、前記メトリックの前記所望の値に対応するトレーニング設定のセットを決定することと、
前記決定されたトレーニング設定のセットに基づいて機械学習モデルを生成することと、
前記生成された機械学習モデルをデプロイすることとを含む、コンピュータ実装方法。
【請求項2】
前記トレーニング設定のセットを決定することが、
トレーニング・セットを作成することであって、前記トレーニング・セットが、前記取得されたトレーニング設定のセットのうちのトレーニング設定のセットごとの少なくとも1つのエントリであり、それぞれのエントリが入力ベクトルおよび関連する出力ベクトルであり、前記入力ベクトルが、前記メトリックの前記値と前記属性を記述するメタデータとであり、前記出力ベクトルが前記トレーニング設定のセットである、前記作成することと、
前記設定のセットを予測するために前記トレーニング・セットに基づいて予測モデルをトレーニングすることとを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記設定のセットを決定することが、
前記メトリックの前記所望の値に対応する、前記取得された設定のセットのうちの前記設定のセットを選択することを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記トレーニング設定のセットが、前記トレーニング・データセットを前処理するための設定の第1のサブセットと、前記予測に適した1つまたは複数の学習アルゴリズムの選択のための設定の第2のサブセットと、トレーニング最適化のための設定の第3のサブセットとを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記属性を記述する前記メタデータが以下のうちの少なくとも1つを含む:特徴属性の数、前記特徴属性のタイプおよび前記ラベル属性のタイプ、請求項2に記載のコンピュータ実装方法。
【請求項6】
予め定義された粒度を有する範囲に対して前記メトリック値を正規化することをさらに含み、前記取得された前記設定のセットが前記粒度に従って提供され、前記取得された設定のセットのそれぞれのセットが、対応するそれぞれの粒度レベルを表す、
請求項1に記載のコンピュータ実装方法。
【請求項7】
選択を受け取ることが、
粒度レベルの選択を受け取ることをさらに含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
選択を受け取ることが、
グラフィカル・ユーザ・インターフェースを表示することをさらに含み、前記グラフィカル・ユーザ・インターフェースが、ユーザが値を設定することを可能にするスライダを含み、前記スライダが、前記正規化された値の範囲を含み、前記スライダの前記設定された値が、前記メトリックの前記選択され受け取られた値である、請求項6に記載のコンピュータ実装方法。
【請求項9】
前記メトリックが、以下の少なくとも1つに対応する:前記トレーニングのランタイム、前記機械学習モデルの推論および前記機械学習モデルの精度、請求項1に記載のコンピュータ実装方法。
【請求項10】
前記メトリックが、2つ以上のメトリック・タイプの組合せであり、それぞれのメトリック・タイプが、前記設定のセットのうちの別個の設定のセットに関連した、請求項1に記載のコンピュータ実装方法。
【請求項11】
前記決定された設定のセットおよびそれに関連した前記メトリックの前記値を記録すること
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項12】
機械学習モデルの性能を評価するためのメトリックを定義するコンピュータ実装方法であって、前記コンピュータ実装方法が、
トレーニング設定のセットと、第1の特徴属性および第1のラベル属性を含むトレーニング・データセットとを受け取ることと、
前記トレーニング・データセットを使用して、前記トレーニング設定のセットに従って、少なくとも1つの機械学習モデルを生成することであって、前記機械学習モデルが、前記第1の特徴属性から前記第1のラベル属性を予測するように構成されている、前記生成することと、
前記生成された機械学習モデルに対するメトリックの値を提供することと、
MLエンジンの以前の動作のトレーニング設定のセットおよび前記メトリックの関連する値を取得することと、
前記第1のラベル属性の値を現在のトレーニング・データセットに基づいて予測するための前記メトリックの所望の値の選択を受け取ることと、
前記取得されたトレーニング設定のセットを使用して、前記メトリックの前記所望の値に対応するトレーニング設定のセットを決定することと、
前記現在のトレーニング・データセットを使用して、前記決定されたトレーニング設定のセットに従って、機械学習モデルを生成するように、前記MLエンジンを制御することと、
前記第1のラベル属性の値の予測を行うために前記生成された機械学習モデルをデプロイすることとを含む、コンピュータ実装方法。
【請求項13】
前記取得されたトレーニング設定のセットのうちのトレーニング設定のセットごとのエントリを含むトレーニング・セットを作成することであって、それぞれのエントリが入力ベクトルおよび関連する出力ベクトルを含み、前記入力ベクトルが、前記メトリックの前記値と前記属性を記述するメタデータとを含み、前記出力ベクトルが前記トレーニング設定のセットを含む、前記作成することと、
前記決定された設定のセットを出力として受け取るために、前記メトリックの前記所望の値と、前記現在のトレーニング・データセットの前記属性のメタデータとを前記予測モデルへの入力として提供することによって、前記設定のセットを予測するために前記トレーニング・セットを使用して予測モデルをトレーニングすることとをさらに含む、請求項12に記載のコンピュータ実装方法。
【請求項14】
アクショナブル変更要求リスク分類を生成するコンピュータ・システムであって、前記コンピュータ・システムが、
プロセッサと、
可読記憶媒体と、
コンピュータ・プログラム命令とを含み、前記コンピュータ・プログラム命令が、
トレーニング設定のセットと、第1の特徴属性および第1のラベル属性を含むトレーニング・データセットとを受け取ることと、
前記トレーニング・データセットおよび前記トレーニング設定のセットに基づいて少なくとも1つの機械学習モデルを生成することであって、前記機械学習モデルが、前記第1の特徴属性から前記第1のラベル属性を予測するように構成されている、前記生成することと、
前記生成された機械学習モデルに対するメトリックの値を提供することと、
以前の1つまたは複数の動作のトレーニング設定のセットおよび前記メトリックの関連する値を取得することと、
前記第1のラベル属性の値を現在のトレーニング・データセットに基づいて予測するための前記メトリックに対する値を受け取ることと、
前記取得されたトレーニング設定のセットに基づいて、前記メトリックの前記所望の値に対応するトレーニング設定のセットを決定することと、
前記決定されたトレーニング設定のセットに基づいて機械学習モデルを生成することと、
前記生成された機械学習モデルをデプロイすることとを行うためのコンピュータ・プログラム命令である、コンピュータ・システム。
【請求項15】
前記トレーニング設定のセットを決定することが、
トレーニング・セットを作成することであって、前記トレーニング・セットが、前記取得されたトレーニング設定のセットのうちのトレーニング設定のセットごとの少なくとも1つのエントリであり、それぞれのエントリが入力ベクトルおよび関連する出力ベクトルであり、前記入力ベクトルが、前記メトリックの前記値と前記属性を記述するメタデータとであり、前記出力ベクトルが前記トレーニング設定のセットである、前記作成することと、
前記設定のセットを予測するために前記トレーニング・セットに基づいて予測モデルをトレーニングすることとを行うためのコンピュータ・プログラム命令を含む、請求項14に記載のコンピュータ・システム。
【請求項16】
前記設定のセットを決定することが、
前記メトリックの前記所望の値に対応する、前記取得された設定のセットのうちの前記設定のセットを選択することを行うためのコンピュータ・プログラム命令を含む、請求項14に記載のコンピュータ・システム。
【請求項17】
前記トレーニング設定のセットが、前記トレーニング・データセットを前処理するための設定の第1のサブセットと、前記予測に適した1つまたは複数の学習アルゴリズムの選択のための設定の第2のサブセットと、トレーニング最適化のための設定の第3のサブセットとを含む、請求項14に記載のコンピュータ・システム。
【請求項18】
前記属性を記述する前記メタデータが以下のうちの少なくとも1つを含む:特徴属性の数、前記特徴属性のタイプおよび前記ラベル属性のタイプ、請求項15に記載のコンピュータ・システム。
【請求項19】
予め定義された粒度を有する範囲に対して前記メトリック値を正規化することを行うためのコンピュータ・プログラム命令をさらに含み、前記取得された前記設定のセットが前記粒度に従って提供され、前記取得された設定のセットのそれぞれのセットが、対応するそれぞれの粒度レベルを表す、
請求項14に記載のコンピュータ・システム。
【請求項20】
選択を受け取ることが、
粒度レベルの選択を受け取ることを行うためのプログラム命令をさらに含む、請求項19に記載のコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデジタル・コンピュータ・システムの分野に関し、より具体的には、所望のメトリック値に基づいて機械学習モデルを提供する方法に関する。
【背景技術】
【0002】
データベース・トランザクション処理システムなど多くのソフトウェア・システムに機械学習モデルが組み込まれるようになってきている。これらのモデルは、実装がきわめて複雑な場合がある。しかし、そのようなモデルのトレーニングおよび推論は、いくつかのパラメータを調整することを必要とし得る。
【発明の概要】
【0003】
様々な実施形態は、独立請求項の主題によって記述された方法、コンピュータ・システムおよびコンピュータ・プログラム製品を提供する。本発明の実施形態を互いに自由に組み合わせることができる。本開示に提示された実施形態は網羅的ではない。そのため、本開示の範囲および趣旨に含まれる、記載されていない数多くの追加の実施形態が存在し得る。
【0004】
本発明の実施形態は、コンピュータ実装方法、コンピュータ・プログラム製品およびコンピュータ・システムを含むことができる。実施形態は、機械学習(ML)モデルの性能を評価するためのメトリックを定義することを可能にすることができる。実施形態は、トレーニング設定のセットと、第1の特徴属性および第1のラベル属性を含むトレーニング・データセットとを受け取るように構成されたMLエンジンまたは同様のコンピュータ・プログラムを提供することをさらに含むことができる。実施形態は、トレーニング・セッティングのセットおよびトレーニング・データセットに従って少なくとも1つの機械学習モデルを生成することをさらに含むことができる。実施形態は、第1の特徴属性から第1のラベル属性を予測するように機械学習モデルを構成することをさらに含むことができる。また、実施形態は、生成された機械学習モデルに対するメトリックの値を提供することをさらに含むことができる。さらに、実施形態は、MLエンジンの以前の動作のトレーニング設定のセットおよびメトリックの関連する値を取得することと、第1のラベル属性の値を現在のトレーニング・データセットに基づいて予測するためのメトリックの所望の値の選択を受け取ることとを含むことができる。さらに、実施形態は、取得されたトレーニング設定のセットに基づいて、メトリックの所望の値に対応するトレーニング設定のセットを決定することを含むことができる。また、実施形態は、決定されたトレーニング設定のセットおよび現在のトレーニング・データセットに基づいて機械学習モデルを生成することを含むことができる。最後に、実施形態は、第1のラベル属性の値の予測を行うために、生成された機械学習モデルをデプロイすることを含むことができ得る。
【0005】
以下では、図面を参照して本発明の実施形態を単なる例としてより詳細に説明する。
【図面の簡単な説明】
【0006】
図1】本開示の実施形態による、全体を100で示す、例示のコンピュータ・システムを示す図である。
図2】本開示の実施形態による、例示の設定のセットを示す図である。
図3】本開示の実施形態による、機械学習モデルを提供する方法を示すフローチャートである。
図4】本主題の一実施例による、機械学習モデルを生成するための設定のセットを決定する方法を示すフローチャートである。
図5A】本開示の実施形態による、機械学習モデルを生成するための設定のセットを決定する方法を示すフローチャートである。
図5B】本開示の実施形態による、機械学習モデルをトレーニングするためのグラフィカル・ユーザ・インターフェース出力を示す図である。
図5C】本開示の実施形態による、機械学習モデルをトレーニングするためのグラフィカル・ユーザ・インターフェース出力を示す図である。
図6】本開示の実施形態による、1つまたは複数の方法ステップを実装することができる、全体を600で示す、例示のコンピュータ・システムを示す図である。
図7】本発明の一実施形態によるクラウド・コンピューティング環境を示す図である。
図8】本発明の一実施形態による抽象化モデル層を示す図である。
【発明を実施するための形態】
【0007】
本発明の様々な実施形態の説明を例示のために示すが、これらは網羅的であること、または開示されている実施形態に限定することを意図したものではない。記載されている実施形態の範囲および思想から逸脱することなく、多くの修正および変形が当業者には明かであろう。本明細書で使用されている用語は、実施形態の原理、実際の適用、または市場に見られる技術に対する技術的改良を最もよく説明するために、または当業者が本明細書で開示されている実施形態を理解することができるように選定されている。
【0008】
自動化された機械学習は、機械学習を現実世界の予測問題に適用するタスクをMLエンジンによって自動化するプロセスであることがある。MLエンジンは、生データセットからデプロイ可能な機械学習モデルの取得までの完全なパイプラインをカバーすることができる。MLエンジンは、それぞれの実験ランにおいて、定義された予測問題に基づいてトレーニング・データセットから1つまたは複数の機械学習モデルを生成するように構成されていることがある。そのために、MLエンジンは、学習アルゴリズムのリストなど、構成パラメータである設定のセットを使用することがある。この設定は、パラメータおよびその関連する値であることがある。設定の調整は、設定のパラメータの値を変更することを含むことがある。それぞれの実験ランは、その実験ランを記述する実験メタデータに関連していることがある。実験メタデータは、たとえば、予測問題を記述していることがある。そのために、実験メタデータは、特徴属性の数/タイプを記述する属性およびトレーニング・データセットのラベル属性を記述する属性など、予測問題を記述する属性を含むことがある。MLエンジンは、1つまたは複数の特徴属性からラベル属性を予測するためのモデルを生成することができる。たとえば、特徴属性は、製品を記述する属性であることがあり、ラベル属性は、製品に関するシステム満足度を示すことがある。MLエンジンは、製品属性に基づいて満足感を予測するモデルを生成することができる。別の実施例では、予測問題は、新規のクライアント・システムが定期預金を申し込むかどうか(イエス/ノー)を、クライアント・システムに関連した人口統計学的属性に基づいて予測することができる。
【0009】
MLエンジンの高度な自動化が機械学習モデルの使用を可能にすることがあるが、それでも、特定のターゲット性能を得るためにMLエンジンの適切な設定を提供する必要性があることがある。所望の性能ターゲットを得るためにMLエンジンの設定を数回にわたって調整することを防ぐ追加の必要性があることもある。しかし、これらの設定の数は非常に大きいことがあるため(たとえば100個)、これには困難が伴うことがあり、このことは、モデルを見つけ、トレーニングし、その後に推論するタスクを、退屈で時間のかかるコンピューティング・リソース集約的タスクにすることがある。さらに、わずか数個の設定によって性能が変動することがあり、それによって追加のリソースを識別する必要が生じることがある。本主題は、以前の設定のセットおよび達成されたそれらの性能を使用することによってこれらの課題を解決することができる。以前の設定のセットは、正確な結果が取得されたいくつかの源から取得されたものであることがあるため、これは有利なことがある。本主題に従ってシステムが使用することができる設定のセットは、予め調整された設定のセットとすることができ、または予測モデルによって予測することができる。両方の場合に、システムは、設定を調整することなく所望の機械学習モデルを取得するために、ターゲット性能値を定義しなければならないことがある。これによって、さもなければ個々の設定を定義および調整するために数回の反復によって必要とされるであろう処理リソースを節約することができる。
【0010】
機械学習モデルを生成するために多数のシステムによってMLエンジンを使用することができる。本主題は、MLエンジンの処理入力および出力を保存することを可能にすることができる。予測問題ごとに、一対のメトリック値および対応するトレーニング設定のセットを保存することができる。たとえば、第1の予測問題が、特徴F1およびF2から特徴L1を予測することであること、第2の予測問題タイプが、特徴F3、F4およびF5から特徴L2を予測することなどがある。これらの対を保存した後、システムは、そのシステムに適したトレーニング設定のセットを取得するために、所望のメトリック値と予測問題のうちの1つの予測問題とを定義することができる(たとえば、システムが処理している内容を反映した新たなトレーニング・データセットからのF1およびF2からL1を予測するように、システムを構成することができる)。この場合、同じ予測問題に関連した保存された設定のセットを使用して、新たなトレーニング・データセットからモデルを生成するための設定のセットを決定することができる。
【0011】
一実施形態では、トレーニング設定のセットを決定することは、それぞれのトレーニング設定のセットのエントリからトレーニング・セットを作成することを含むことができる。それぞれのエントリは、入力ベクトルおよび関連する出力ベクトルを含むことができる。入力ベクトルは、メトリックの値と、属性を記述するメタデータとを含むことができる。出力ベクトルは、トレーニング設定のセットを含むことができる。さらに、メトリックの所望の値と、現在のトレーニング・データセットの属性に対するメタデータとを予測モデルに対する入力として提供し、決定された設定のセットを出力として受け取ることによって、設定のセットを予測するためにトレーニング・セットを使用して予測モデルをトレーニングすること。予測モデルは、マルチターゲット回帰モデルとすることができる。
【0012】
予測モデルを使用して、所望のメトリック値ごとに設定のセットを予測することができる。システムは、予測モデルに対する入力として、所望のメトリック値および予測問題の定義を提供することができる。予測問題は、特徴およびラベル属性(たとえばそれらの数およびタイプ)を記述する実験メタデータによって定義することができる。上記の例に従うと、製品に対する満足度を90%以上の精度で予測するように、システムを構成することができる。この場合、システムは、90%の所望の精度値および実験メタデータを予測モデルに入力することができる。実験メタデータは、製品の属性である特徴属性の記述と、満足度であるラベル属性の記述とを提供する。予測モデルは、機械学習モデルを生成するためのMLエンジンに対する入力としてシステムが使用することができる設定のセットを出力として提供することができる。この実施形態は、設定の正確な推定を提供することができるため有利なことがある。属性の異なる内容を含む異なる源からトレーニング・セットを取得することができるため、これは特に有利なことがある。
【0013】
一実施形態によると、設定のセットを決定することは、メトリックの所望の値に対応する、取得された設定のセットのうちの設定のセットを選択することを含むことができる。これは、既存の設定から設定のセットを取得する簡略化された方法を可能にすることができる。
【0014】
一実施形態によると、トレーニング設定のセットは、トレーニング・データセットを前処理するための設定の第1のサブセット、予測に適した1つまたは複数の学習アルゴリズムの選択のための設定の第2のサブセット、およびトレーニング最適化のための設定の第3のサブセットであることができる。
【0015】
設定の第1のサブセットは、以下の理由で有利なことがある。トレーニング・データセットは、異なるデータ・フォーマット、重複値および欠損値を有することがあるが、機械学習アルゴリズムは、一貫したフォーマットまたは同じフォーマットでかつ欠損値なしで機能する必要があることがある。これを可能にするため、MLエンジンは、トレーニング・データセットを解析、クリーニングおよび準備することができる様々なアルゴリズムまたは推定器を適用することができる。設定の第1のサブセットは、トレーニング・データセットを前処理するこのタスクを制御することができる。設定の第1のサブセットの例示の設定は、値を「true」または「false」に設定することができる「drop_duplicate」と名付けられたパラメータであり、その結果、値が「true」である場合に、この前処理は、トレーニング・データセットの重複排除を含むことができる。
【0016】
設定の第2のサブセットは、以下の理由で有利なことがある。MLエンジンは、一組の機械学習アルゴリズムを含むことができる。所与のトレーニング・データセットおよび予測問題について、MLエンジンは、その所与のトレーニング・データセットに基づいてモデルを生成するために、その一組のアルゴリズムの中から1つまたは複数の学習アルゴリズムを選択することができる。たとえば、MLエンジンは、候補アルゴリズムを、データの小さなサブセットに対して試験およびランク付けし、最も有望なアルゴリズムに対するサブセットのサイズを徐々に増大させて、選択されたアルゴリズムに到達することができる。
【0017】
設定の第3のサブセットは、以下の理由で有利なことがある。機械学習アルゴリズムのハイパーパラメータの数は指数関数的に増え、このことは、機械学習アルゴリズムの最適化を、手動でかつ適時に達成するデータ・サイエンス・チームの能力を超えたものにする。MLエンジンは、自動化されたハイパーパラメータ最適化(hyperparameter optimization)(HPO)を可能にすることができ、これは、ハイパーパラメータに対する完全な事象空間を横切って探索および最適化するチームの集中的責任を軽減する。設定の第3のサブセットの例は、ハイパーパラメータの最適化を行うのかまたは行わないのかを示すためのフラグである。ハイパーパラメータは、機械学習モデルの学習プロセスを制御するためにその値が使用されるパラメータである(対照的に、ノード重みなどの他のパラメータの値はトレーニングを介して導出される)。さらに、設定の第3のサブセットは、特徴エンジニアリングを可能にすることができる。特徴エンジニアリングは、既存の特徴属性から新たな情報を導き出すための変換プロセスに関し、たとえば、最も正確な予測を達成するために、特徴属性を、問題を最もよく表す特徴の組合せに変換することができる。
【0018】
一実施形態では、属性を記述するメタデータ(実験メタデータとも呼ばれる)は、特徴属性の数、特徴属性のタイプまたはラベル属性のタイプあるいはこれらの組合せを含むことができる。
【0019】
一実施形態では、この方法は、予め定義された粒度を有する離散値の範囲に対してメトリック値を正規化することをさらに含むことができる。取得された設定のセットは、粒度に従って提供することができ、その結果、取得された設定のセットのそれぞれのセットは、対応するそれぞれの粒度レベルを表す。この範囲は、最小値、最大値およびステップ値または粒度によって定義することができる。定義された範囲を提供することは、設定のセットに対する均一なアクセスを可能にすることができる。これは特に、多数のユーザが関わる場合に有利なことがある(たとえば、ユーザには、そこから選ぶための値の定義されたセットが提供される)。たとえば、この範囲を、0.1のステップ/粒度を有する0.0から1.0とすることができる。すなわち、メトリックの可能な値は、10個の値0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9および1.0のうちの1つであることがある。メトリックの値がその範囲内に収まるようにメトリックの値を正規化することができる。これらの10個の値のそれぞれのメトリック値を、MLエンジンによって以前に使用されたトレーニング設定の1つまたは複数のセットに関連付けることができる。このようにすると、システムは、粒度レベル(たとえば0.3)を選択するだけで、対応するトレーニング設定のセットを得ることができる。
【0020】
メトリックが、2つ以上のメトリック・タイプ(たとえば精度およびランタイム)の組合せである場合には、2つのメトリック・タイプを表すのに同じ範囲を使用することができる。たとえば、1つのメトリック・タイプは範囲の値Vを有することができ、その一方で、他のメトリック・タイプは値1-Vを有し、メトリックは、合わせると1になるように構成されている(たとえば精度が0.9の場合、速度は0.1になる)。これは、メトリックを個別に選択する必要がない、多次元空間におけるメトリック値の効率的な選択を可能にすることができる。
【0021】
一実施形態では、選択を受け取ることは、粒度レベルの選択を受け取ることを含むことができる。
【0022】
一実施形態では、選択を受け取ることは、グラフィカル・ユーザ・インターフェース上にスライダを表示することを含むことができ、スライダは、スライダのインジケータを移動させることによってユーザが値を設定することを可能にすることができ、スライダは、正規化された値の範囲を含み、スライダの設定された値は、メトリックの選択され受け取られた値である。システムのユーザはインジケータをスライドさせるだけでよいため、スライダは、MLエンジンの動作を効率的に制御することができる。
【0023】
一実施形態では、メトリックは、機械学習モデルの正確さまたは精度あるいはその両方あるいはこれらの組合せを含む、機械学習モデルのトレーニングまたは推論あるいはその両方のランタイムを記述することができる。正確さは、モデルによってなされた正確な予測の数の測度を与える。正確さは、全体の予測に対する正確な予測の比とすることができる。精度は、モデルがどれくらい正確にポジティブな結果を検出したかを示すことができる。制度は、総ポジティブに対する真のポジティブの比とすることができる。
【0024】
一実施形態では、メトリックを、多数のメトリック・タイプの組合せとすることができる。それぞれのメトリック・タイプは、設定のセットからの別個の設定のセットに関連することができる。たとえば、メトリック・タイプを、精度、正確さ、ランタイムなどとすることができる。ランタイムは、生成されたモデルをトレーニングするのに必要な時間とすることができる。2つのメトリック・タイプの組合せは、両方のメトリック・タイプの測定を可能にする。2つ以上のメトリック・タイプの組合せを含むメトリックの場合には、メトリック値の選択を、少なくとも1つのメトリック・タイプの値およびメトリック・タイプの値に関連した保存/記録された設定のセットとすることができる。たとえば、メトリックが、精度とランタイムの組合せである場合、ユーザは、所望のランタイム値または所望の精度あるいはその両方を選択することができる(たとえば、それぞれのトレーニング設定のセットを、精度値とランタイム値の対に関連付けることができる)。
【0025】
一実施形態では、この方法は、決定された設定のセットおよびそれに関連したメトリックの値を保存することをさらに含むことができる。たとえば、決定された設定のセットを、所望のメトリック値および実験メタデータに関連して記憶することができ、そのため、それらを、メトリック値の将来の決定に使用することができる。これは、自己改善システム(すなわち機械学習フィードバック・ループ)を可能にすることができる。
【0026】
次に図に注目すると、図1は、本発明の一実施形態によるコンピュータ・システム100を示している。コンピュータ・システム100は、トレーニング・システム101と、クライアント・システム102a、102b、102nとを含む。図1には3つのクライアント・システムが示されているが、コンピュータ・システム100には任意の数(たとえば1つ、2つ、n個...n+1個)のクライアント・システムが存在してもよいことに留意すべきである。トレーニング・システム101は、ネットワーク103を介してクライアント・システム102a~nのそれぞれと通信するように構成可能である。説明を簡単にするために、1つのネットワークだけが示されているが、トレーニング・システム101は、2つ以上のネットワークを介してクライアント・システム102a~nに接続してもよいことに留意すべきである(たとえば、トレーニング・システム101は、それぞれの別々のネットワークを介してクライアント・システム102a~nのそれぞれに接続してもよい)。
【0027】
ネットワーク103は、ケーブル・ネットワーク、光ファイバ・ネットワーク、ハイブリッド・ファイバ同軸ネットワーク、無線ネットワーク(たとえば、WiFiまたは携帯電話網あるいはその両方)、衛星ネットワーク、インターネット、イントラネット、ローカル・エリア・ネットワーク、またはこれらのネットワークの組合せを含み得るが、これらには限定されない。
【0028】
図のように、クライアント・システム102a~nのユーザ105a~nは、視聴者、所有者、サポート技術者などの個人、あるいはデバイス、機械学習システムまたは人工知能システムを含み得る。トレーニング・システム101は、クラウド・コンピューティング構成で動作する単一のサーバ・デバイスまたは複数のサーバ・デバイスとして設けられてもよい。
【0029】
トレーニング・システム101は、クライアント・システム102a~102nに対して遠隔にあってもよく、ネットワーク103を介してアクセス可能とすることができる。トレーニング・システム101は、機械学習モデルのトレーニング、動作および記憶のためのリソースを提供することができる。定義されたメトリックによって機械学習モデルの性能を定量化することができる。メトリックは、1つのメトリック・タイプまたは多数のメトリック・タイプの組合せとすることができる(たとえば、メトリックは、機械学習モデルのランタイムまたは精度または正確さあるいはこれらの組合せとすることができる)。トレーニング・システム101はMLエンジン107を含む。MLエンジンは、機械学習モデルを生成するように構成することができるコンピュータ・プログラム、たとえばIBM(R)のAutoAIである。たとえば、MLエンジン107は、異なる予測問題に対して機械学習モデルを生成することができる。さらに、MLエンジン107は、実験ランごとに予測問題を処理することができる。さらに、MLエンジン107は、それぞれの実験ランで、トレーニング設定のセットs_1、s_2...s_mと、1つまたは複数の特徴属性およびラベル属性を含むトレーニング・データセットとを受け取ることができる。いくつかのケースでは、実験メタデータを提供することができる。実験メタデータは実験ランを記述する(たとえば、実験メタデータは予測問題を記述する)。
【0030】
図2は、実験メタデータ210の一例を示している。実験メタデータ201は、予測問題を記述する属性とトレーニング・データとを含む。MLエンジン107は、設定のセットs_1、s_2...s_m(図1に示す)を使用して、1つまたは複数の特徴からラベルを予測し得る1つまたは複数の機械学習モデルを生成することができる。さらに、生成された機械学習モデルのそれぞれは、機械学習モデルの性能を示すメトリックの値に関連していてもよい。トレーニング・システム101は、MLエンジン107の活動を記録または保存するように構成されたものとすることができる。トレーニング・システム101はさらにストレージ・システム112を含むことができる。ストレージ・システム112は、N≧1である以前に処理された予測問題PP...PPのそれぞれの予測問題(PP)について、G個のタプルを含むことができ、それぞれのタプルは、1つまたは複数の設定のセットに対するメトリック値および実験メタデータとすることができる。説明を簡単にするために、図1は、1つのメトリック値につき1つの設定のセットを記載している。このケースでは、タプルの数Gが実験ランの数である。Gが、メトリックの値の粒度を表すこともできる。図1に示すように、予測問題PPはタプルに関連しており、それらのタプルは、タプル
【数1】

を含み、このタプルは、m個の設定のセット(
【数2】

の上添数は予測問題に関する)および実験メタデータ
【数3】


【数4】

の上添数は予測問題に関し、
【数5】

の下添数はメトリックの粒度レベルに関する)に関連したメトリック値targetを示す。同じ予測問題に関連した設定のセットは、同じタイプおよび数の設定を有するが、異なる値を有することができる(たとえば、図2に示す設定のセットは予測問題PPの設定であることができる)。しかし、設定のそれぞれに割り当てられた値は、異なる実験ランに対して異なることができる。予測問題に関連した設定のセットは、別の予測問題に比べて、数またはタイプあるいはその両方が異なることができる。たとえば、予測問題PPに対する設定のセットは、予測問題PPに対する設定のセットのサブセットであることができ、したがって、それらは設定の数が異なる。予測問題に関連したG個の実験ランは、トレーニング・データセットの中に同じ属性を含むことができるが、トレーニング・データセットの内容(すなわち属性値)は異なることができる。たとえば、予測問題が、特徴F1およびF2から特徴L1を予測することである場合、同じ予測問題のG個の実験ランで使用される全てのトレーニング・データセットは、F1、F2およびL1を表す少なくとも3つの欄を含むことができる。トレーニング・データセットの中の3つの欄の内容は異なることができる。
【0031】
たとえば、図2に示すトレーニング設定のセット200は、0.89の精度値および1028秒のランタイム値を有するモデルを考慮することができる。設定のセット200は、トレーニング・データセットを前処理するための設定の第1のサブセット201と、予測に適した1つまたは複数の学習アルゴリズムの選択のための設定の第2のサブセット202と、トレーニング最適化のための設定の第3のサブセット203とを含む。さらに、図2に示すように、設定の第1のサブセット202は、値0.5に設定されたトレーニング・データのサンプル・サイズを含み、図2の示されたセットとしてトレーニング・データの重複を排除するか否かを示すことができる。
【0032】
図3は、本主題の一例による、機械学習モデルを生成する方法を示すフローチャートである。説明のために、図3に記載されている方法は、図1に示すシステムにおいて実装可能であるが、この実装形態には限定されない。図3の方法は、たとえば、クライアント・システム102a~nのうちの1つによってまたはトレーニング・システム101によって行うことができる。
【0033】
ステップ301で、メトリックの所望の値の選択を受け取ることができる。所望の値は、クライアント・システム102aが自動的に選択することができる。たとえば、クライアント・システム102aを、MLエンジン107によって以前に処理された予測問題PP...PPの部分である予測問題に対する0.9の精度を有するモデルを生成するように構成することができる。実験ランを定義することができる。ステップ301の例示の一実装形態では、クライアント・システム102a上にユーザ105aに対してグラフィカル・ユーザ・インターフェースを表示することができる。クライアント・システム102aのユーザ105aは、グラフィカル・ユーザ・インターフェースの制御要素を使用して、メトリックの所望の値を選択することができる。選択された値は、トレーニング・システム101に送信することができる。ユーザ105aは、デバイス、機械学習システムまたは人工知能システムとすることができる。
【0034】
実験ランを記述する実験メタデータを提供することができる。任意選択で、この選択がさらに、この実験メタデータを示すことができる。この実験メタデータは、ユーザ105aの予測問題を記述するものとすることができる。この予測問題は、MLエンジン107によって以前に処理された予測問題PP...PPのうちの1つとすることができる。ステップ301で実験メタデータが示されない場合には、デフォルトの予測問題として分類されたものとすることができる予測問題PP...PPのうちの1つを、受け取られた選択に関連した予測問題とすることができる。両方の場合に、たとえば、クライアント・システム102aが使用している現在の予測問題は以前に処理された予測問題PPであるとする。
【0035】
ステップ303で、MLエンジン107は、取得されたトレーニング設定のセットに基づいてメトリックの所望の値に対応するトレーニング設定のセットを決定する。たとえば、図1に示すように、予測問題PPに関連したG個のタプル
【数6】

...
【数7】

を使用して、メトリックの選択された所望の値に対応するトレーニング設定のセットを決定することができる。ステップ303の例示の一実装形態では、所望のメトリック値を、保存されたメトリック値target...targetと比較することができ、選択されたメトリック値と整合するメトリック値に関連した設定のセットを、ステップ303の決定された設定のセットとすることができる。整合するメトリック値target...またはtargetは、選択されたメトリック値に等しいことがあり、あるいは選択されたメトリック値の最も近いメトリック値であることがある。図4および5Aは、ステップ303の他の例示の実装形態を示している。
【0036】
ステップ305で、MLエンジン107は、現在のトレーニング・データセット上でトレーニングされた1つまたは複数の機械学習モデルに基づいて、決定されたトレーニング設定のセットに従って、機械学習モデルを生成することができる。現在のトレーニング・データセットは、少なくとも、現在の予測問題PPの特徴属性およびラベル属性を表す欄を含むことができる。
【0037】
たとえば、MLエンジン107は、決定された設定のセットおよび現在のトレーニング・データセットを受け取ることができ、予測問題PPに対する1つまたは複数の機械学習モデルを生成することができる。
【0038】
ステップ307で、生成された機械学習モデルをデプロイすることができる。これは、予測問題PPに従って予測を行うことを可能にすることができる。たとえば、生成された機械学習モデルをクライアント・システム102aに提供して、システムがモデルを推論することができるようにすることができる。
【0039】
図4は、所与の予測問題(たとえば図1のPP)に対する機械学習モデルを生成するための設定のセットを決定する方法を示すフローチャートである。図4に示す方法は、図3のステップ303の実装形態の詳細を提供する。
【0040】
ステップ401で、トレーニング・システム101はトレーニング・セットを作成することができる。トレーニング・セットは、予測問題PP、PP...PPに対するタプルを取得するために使用された実験ランのうちの実験ランごとのエントリを含むことができる。トレーニング・セットのそれぞれのエントリは、入力ベクトルおよび関連する出力ベクトルを含む。入力ベクトルは、その実験ランのメトリックの値と、予測問題を記述する実験メタデータ(たとえば
【数8】

)とを含む。出力ベクトルは、その実験ランの設定のセット(たとえば
【数9】

)を含む。図1に示された例に従うと、トレーニング・セットは、N×G個のエントリ:
【数10】

、...
【数11】

を含むことができる。
【0041】
ステップ403で、設定のセットを予測するために、トレーニング・セットを使用して予測モデルをトレーニングすることができる。ステップ405で、この予測モデルを提供することができ、たとえば、その予測モデルを使用して、図3の方法のステップ303の設定のセットを推定することができる。
【0042】
図5Aは、本主題の一例による、所与の予測問題、たとえばPPに対する機械学習モデルを生成するための設定のセットを決定する方法を示すフローチャートである。説明のために、図5Aに記載されている方法は、図1に示すシステムにおいて実装可能であるが、この実装形態には限定されない。図5Aの方法は、たとえば、クライアント・システム102a~nのうちの1つによって行うことができる。
【0043】
ステップ501で、クライアント・システム102aにおいて、図5Bに示すようなグラフィカル・ユーザ・インターフェース510を表示することができる。グラフィカル・ユーザ・インターフェース510はスライダ513を含む。ユーザ105aはスライダ513を利用して、機械学習モデルのランタイム(速度)および精度の所望の値を選択することができる。このスライダは、たとえばスライダが値0.9に設定されている場合に、これが、精度が0.9、速度が0.1であることを示すように、すなわちランタイム値と精度値を合わせると1になるように分割されている。これは、1つのスライダを用いて2つのメトリック値を選択することを可能にすることができる。
【0044】
ステップ503でメトリックの所望の値を選択した後、クライアント・システム102aは、ステップ505で、図5Cに示すように、グラフィカル・ユーザ・インターフェース510上に、メトリックの所望の値に対応する設定のセット515を提供および表示することができる。設定のセット515は、たとえば、図2に示す設定のセット200であり得る。
【0045】
図6は、本開示に関わる方法ステップの少なくとも一部を実装するのに適した汎用コンピュータ化システム600を示す。
【0046】
本明細書に記載の方法は、少なくとも部分的に非対話式であり、サーバまたは内蔵システムなどのコンピュータ化システムによって自動化されることを理解されたい。ただし、例示の実施形態では、本明細書に記載の方法は(部分的に)対話型システムで実施可能である。これらの方法は、さらに、ソフトウェア612、ファームウェア622、ハードウェア(プロセッサ)605、またはこれらの組合せで実装可能である。例示の実施形態では、本明細書に記載の方法は、実行可能プログラムとしてソフトウェアで実装され、パーソナル・コンピュータ、ワークステーション、ミニコンピュータ、またはメインフレーム・コンピュータなどの専用または汎用デジタル・コンピュータによって実行される。したがって、最も汎用的なシステム600は、汎用コンピュータ601を含む。
【0047】
例示の実施形態では、図6に示すように、ハードウェア・アーキテクチャに関しては、コンピュータ601はプロセッサ605と、メモリ・コントローラ615に結合されたメモリ(メイン・メモリ)610と、ローカル入力/出力コントローラ635を介して通信可能に結合された1つまたは複数の入力または出力(I/O)あるいはその両方のデバイス(または周辺機器)10、645とを含む。入力/出力コントローラ635は、当技術分野で知られているような1つまたは複数のバスまたはその他の有線または無線接続とすることができるが、これには限らない。入力/出力コントローラ635は、通信を可能にするコントローラ、バッファ(キャッシュ)、ドライバ、リピータおよび受信器など、図を簡単にするために省略されている追加要素を有してもよい。また、ローカル・インターフェースは、上記のコンポーネント間の適切な通信を可能にするために、アドレス接続、制御接続またはデータ接続あるいはこれらの組合せを含むことができる。本明細書に記載のI/Oデバイス10、645は一般に、当技術分野で知られている任意の汎用暗号カードまたはスマート・カードを含むことができる。
【0048】
プロセッサ605は、特に、メモリ610に記憶されたソフトウェアを実行するためのハードウェア・デバイスである。プロセッサ605は、任意の特注または市販のプロセッサ、中央処理装置(CPU)、コンピュータ601に関連付けられたいくつかのプロセッサのうちの補助プロセッサ、(マイクロチップまたはチップ・セットの形態の)半導体ベースのマイクロプロセッサ、または一般に、ソフトウェア命令を実行するための任意のデバイスとすることができる。
【0049】
メモリ610は、揮発性メモリ素子(たとえばランダム・アクセス・メモリ(DRAM、SRAM、SDRAMなどのRAM))および不揮発性メモリ素子(たとえば、ROM、消去可能プログラマブル読み出し専用メモリ(EPROM))、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、プログラマブル読み出し専用メモリ(PROM)のうちのいずれか1つまたは組合せを含むことができる。メモリ610は、様々なコンポーネントが互いに遠隔にあるがプロセッサ605がアクセスすることができる、分散アーキテクチャを有することができることに留意されたい。
【0050】
メモリ610内のソフトウェア612は、1つまたは複数の別個のプログラムを含むことができ、そのそれぞれが論理関数、特に本発明の実施形態に関わる関数を実装するための、実行可能命令の順序付けられたリストを含む。図6の実施例では、メモリ610内のソフトウェア612は、プログラム命令(たとえば、データベース管理システムなどのデータベースを管理する命令)を含む。
【0051】
メモリ610内のソフトウェアは、典型的には適切なオペレーティング・システム(OS)611も含む必要がある。OS611は、本明細書に記載のような方法を実装するためのソフトウェア612などの他のコンピュータ・プログラムの実行を基本的に制御する。
【0052】
本明細書に記載の方法は、ソース・プログラム、実行可能プログラム(オブジェクト・コード)、スクリプト、または実行される命令のセットを含む任意のその他のエンティティの形態とすることができる。ソース・プログラムの場合、プログラムは、OS611と連係して正常に動作するように、メモリ610内に含まれている場合も含まれていない場合もある、コンパイラ、アセンブラ、インタプリタなどによって変換される必要がある。また、方法は、データおよびメソッドのクラスを有するオブジェクト指向プログラミング言語、またはルーチン、サブルーチンまたは関数あるいはこれらの組合せを有する手続き型プログラミング言語として書くことができる。
【0053】
例示の実施形態では、従来型キーボード650とマウス655を入力/出力コントローラ635に結合することができる。I/Oデバイス645などの他の出力デバイスが、たとえば、プリンタ、スキャナ、マイクロフォンなどであるがこれらには限定されない入力デバイスを含んでもよい。最後に、I/Oデバイス10、645は、さらに、たとえば、ネットワーク・インターフェース・カード(NIC)または変調器/復調器(他のファイル、デバイス、システムまたはネットワークにアクセスするため)、無線周波数(RF)またはその他の送受信器、電話インターフェース、ブリッジ、ルータなどであるがこれらには限定されない、入力と出力の両方を伝達するデバイスを含んでもよい。I/Oデバイス10、645は、当技術分野で知られている任意の汎用暗号カードまたはスマート・カードであってもよい。システム600はさらに、ディスプレイ630に結合されたディスプレイ・コントローラ625を含むことができる。例示の実施形態では、システム600はさらに、ネットワーク665に結合するためのネットワーク・インターフェースを含むことができる。ネットワーク665は、ブロードバンド接続を介したコンピュータ601と任意の外部サーバ、クライアントなどとの間の通信のためのIPベースのネットワークとすることができる。ネットワーク655は、本明細書で説明されている方法のステップの一部または全部を行うために必要となり得るデータをコンピュータ601と外部システム30との間で送受信する。例示の実施形態では、ネットワーク665は、サービス・プロバイダによって管理されるマネージドIPネットワークとすることができる。ネットワーク665は、たとえば、WiFi、WiMaxなどの無線プロトコルおよび技術を使用して無線方式で実装されてもよい。ネットワーク665は、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、メトロポリタン・エリア・ネットワーク、インターネット・ネットワークまたはその他の同様の種類のネットワーク環境などのパケット交換ネットワークとすることもできる。ネットワーク665は、固定無線ネットワーク、無線ローカル・エリア・ネットワーク(WLAN)、無線ワイド・エリア・ネットワーク(WWAN)、パーソナル・エリア・ネットワーク(PAN)、仮想プライベート・ネットワーク(VPN)、イントラネットまたはその他の適切なネットワーク・システムであってもよく、信号を送受信するための装置を含む。
【0054】
コンピュータ601がPC、ワークステーション、インテリジェント・デバイスなどである場合、メモリ610内のソフトウェアは、さらに、基本入出力システム(BIOS)622を含むことができる。BIOSは、起動時にハードウェアを初期設定し、テストし、OS611を始動させ、ハードウェア・デバイス間のデータの転送を支援する基本ソフトウェア・ルーチンのセットである。BIOSは、コンピュータ601が起動されたときにBIOSを実行することができるように、ROMに記憶される。
【0055】
コンピュータ601が動作中であるとき、プロセッサ605は、メモリ610に記憶されているソフトウェア612を実行し、メモリ610との間でデータをやり取りし、ソフトウェアに従ってコンピュータ601の動作を全般的に制御するように構成される。本明細書に記載の方法およびOS611は、全体または一部、典型的には一部が、プロセッサ605によって読み出され、場合によってはプロセッサ605内でバッファリングされ、次に実行される。
【0056】
本明細書に記載のシステムおよび方法が図6に示すように、ソフトウェア612で実装される場合、方法は、任意のコンピュータ関連システムまたは方法による使用またはそれに関連する使用のために、ストレージ620などの任意のコンピュータ可読媒体に記憶することができる。ストレージ620は、HDDストレージなどのディスク・ストレージを含み得る。
【0057】
本開示は、クラウド・コンピューティング環境についての詳細な説明を含むが、本明細書に記載の教示の実装はクラウド・コンピューティング環境には限定されないことを理解されたい。むしろ、本発明の実施形態は、現在知られているかまたは今後開発される任意の他の種類のコンピューティング環境とともに実装可能である。
【0058】
クラウド・コンピューティングは、最小限の管理労力またはサービス・プロバイダとの相互連絡で迅速にプロビジョニングすることができ、解放することができる、構成可能コンピューティング・リソース(たとえば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共用プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス配布のモデルである。このクラウド・モデルは、少なくとも5つの特徴と、少なくとも3つのサービス・モデルと、少なくとも4つのデプロイメント・モデルとを含み得る。
【0059】
特徴は以下の通りである。
【0060】
オンデマンド・セルフサービス:クラウド消費者は、サービス・プロバイダとの間で人間の介在を必要とせずに一方的に、必要に応じて自動的に、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能をプロビジョニングすることができる。
【0061】
広いネットワーク・アクセス:機能は、ネットワークを介して利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(たとえば携帯電話、ラップトップ、およびPDA)による使用を促進する標準機構を介してアクセスすることができる。
【0062】
リソース・プール:マルチテナント・モデルを使用して複数の消費者に対応するために、プロバイダのコンピューティング・リソースがプールされ、需要に応じて、異なる物理および仮想リソースが動的に割り当てられ、再割り当てされる。消費者は一般に、提供されるリソースの厳密な場所について管理することができないかまたは知らないが、より高い抽象レベルの場所(たとえば、国、州、またはデータセンター)を指定することが可能な場合があるという点で、位置独立感がある。
【0063】
迅速な伸縮性:迅速かつ伸縮性をもって、場合によっては自動的に機能をプロビジョニングして、迅速にスケールアウトすることができ、また、迅速に機能を解放して迅速にスケールインすることができる。消費者にとっては、プロビジョニングのために利用可能な機能はしばしば無限であるように見え、いつでも好きなだけ購入することができる。
【0064】
従量制サービス:クラウド・システムが、サービスの種類(たとえば、ストレージ、処理、帯域幅、およびアクティブ・ユーザ・アカウント)に応じて適切な何らかの抽象化レベルの計量機能を利用することによって、リソース利用を自動的に制御し、最適化する。リソース使用量を監視、制御および報告することができ、利用されたサービスの透明性をプロバイダと消費者の両方に与えることができる。
【0065】
サービス・モデルは以下の通りである。
【0066】
ソフトウェア・アズ・ア・サービス(Software as a Service(SaaS)):消費者に提供される機能は、クラウド・インフラストラクチャ上で稼働するプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブ・ブラウザなどのシン・クライアント・インターフェース(たとえばウェブ・ベースのeメール)を介して様々なクライアント・デバイスからアクセス可能である。消費者は、限られたユーザ固有アプリケーション構成設定の考えられる例外を除き、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個別のアプリケーション機能まで含めて、基礎にあるクラウド・インフラストラクチャを管理も制御もしない。
【0067】
プラットフォーム・アズ・ア・サービス(Platform as a Service(PaaS)):消費者に提供される機能は、クラウド・インフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、消費者作成または取得アプリケーションをデプロイすることである。消費者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、デプロイされたアプリケーションと、場合によってはアプリケーション・ホスティング環境構成とを制御することができる。
【0068】
インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service(IaaS)):消費者に提供される機能は、処理、ストレージ、ネットワークおよびその他の基本的コンピューティング・リソースをプロビジョニングすることであり、その際、消費者は、オペレーティング・システムとアプリケーションとを含み得る任意のソフトウェアをデプロイし、実行することができる。消費者は、基礎にあるクラウド・インフラストラクチャを管理も制御もしないが、オペレーティング・システムと、ストレージと、デプロイされたアプリケーションとを制御することができ、場合によっては選択されたネットワーク・コンポーネント(たとえばホスト・ファイアウォール)の限定的な制御を行うことができる。
【0069】
デプロイメント・モデルは以下の通りである。
【0070】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。組織または第三者によって管理可能であり、オンプレミスまたはオフプレミスに存在可能である。
【0071】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、いくつかの組織によって共用され、共通の関心事(たとえば、任務、セキュリティ要件、ポリシー、およびコンプライアンス事項)を有する特定のコミュニティをサポートする。組織または第三者が管理することができ、オンプレミスまたはオフプレミスに存在可能である。
【0072】
パブリック・クラウド:このクラウド・インフラストラクチャは、公衆または大規模業界団体が利用することができ、クラウド・サービスを販売する組織によって所有される。
【0073】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、独自の実体のままであるが、データおよびアプリケーション可搬性を可能にする標準化技術または専有技術(たとえば、クラウド間のロード・バランシングのためのクラウド・バースティング)によって結合された、2つ以上のクラウド(プライベート、コミュニティまたはパブリック)の複合体である。
【0074】
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に焦点を合わせたサービス指向型である。クラウド・コンピューティングの核心にあるのは、相互接続されたノードのネットワークを含むインフラストラクチャである。
【0075】
次に図7を参照すると、例示のクラウド・コンピューティング環境1050が図示されている。図のように、クラウド・コンピューティング環境1050は、たとえばパーソナル・デジタル・アシスタント(PDA)または携帯電話1054A、デスクトップ・コンピュータ1054B、ラップトップ・コンピュータ1054Cまたは自動車コンピュータ・システム1054Nあるいはこれらの組合せなど、クラウド消費者によって使用されるローカル・コンピューティング・デバイスが通信することができる、1つまたは複数のクラウド・コンピューティング・ノード1010を含む。ノード1010は互いに通信することができる。ノード1010は、上述のプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウドまたはハイブリッド・クラウドあるいはこれらの組合せなどの1つまたは複数のネットワークにおいて物理的または仮想的にグループ化(図示せず)されてもよい。これによって、クラウド・コンピューティング環境1050は、インフラストラクチャ、プラットフォーム、またはソフトウェアあるいはこれらの組合せを、クラウド消費者がそのためにローカル・コンピューティング・デバイス上でリソースを維持する必要がないサービスとして提供することができる。図7に示すコンピューティング・デバイス1054A~1054Nの種類は、例示を意図したものに過ぎず、コンピューティング・ノード1010およびクラウド・コンピューティング環境1050は、(たとえばウェブ・ブラウザを使用して)任意の種類のネットワーク接続またはネットワーク・アドレス指定可能接続あるいはその組合せを介して、任意の種類のコンピュータ化デバイスと通信することができるものと理解される。
【0076】
次に図8を参照すると、クラウド・コンピューティング環境1050(図7)によって提供される1組の機能抽象化層が示されている。図8に示すコンポーネント、層および機能は、例示のみを意図したものであり、本発明の実施形態はこれらには限定されないことを前もって理解されたい。図のように、以下の層および対応する機能が提供される。
【0077】
ハードウェアおよびソフトウェア層1060は、ハードウェア・コンポーネントとソフトウェア・コンポーネントとを含む。ハードウェア・コンポーネントの例としては、メインフレーム1061、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ1062、サーバ1063、ブレード・サーバ1064、ストレージ・デバイス1065、およびネットワークおよびネットワーキング・コンポーネント1066がある。実施形態によっては、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア1067およびデータベース・ソフトウェア1068を含む。
【0078】
仮想化層1070は、以下のような仮想エンティティの例を与えることができる抽象化層を提供する。すなわち、仮想サーバ1071と、仮想ストレージ1072と、仮想プライベート・ネットワークを含む仮想ネットワーク1073と、仮想アプリケーションおよびオペレーティング・システム1074と、仮想クライアント1075である。
【0079】
一実施例では、管理層1080は、以下に記載の機能を提供することができる。リソース・プロビジョニング1081は、クラウド・コンピューティング環境内でタスクを実行するために使用されるコンピューティング・リソースおよびその他のリソースの動的調達を行う。メータリングおよびプライシング1082は、クラウド・コンピューティング環境内でリソースが使用されるときのコスト追跡と、それらのリソースの消費に対する対価の請求またはインボイス処理を行う。一実施例ではこれらのリソースにはアプリケーション・ソフトウェア・ライセンスが含まれる場合がある。セキュリティは、クラウド消費者およびタスクのための本人検証と、データおよびその他のリソースの保護とを行う。ユーザ・ポータル1083は、消費者およびシステム管理者にクラウド・コンピューティング環境へのアクセスを提供する。サービス・レベル管理1084は、必要なサービス・レベルが満たされるようにクラウド・コンピューティング・リソース割り当ておよび管理を行う。サービス・レベル・アグリーメント(Service Level Agreement(SLA))計画および履行1085は、SLAに従って将来の要求が予想されるクラウド・コンピューティング・リソースのための事前取り決めおよび調達を行う。
【0080】
ワークロード層1090は、クラウド・コンピューティング環境を使用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の例には、マッピングおよびナビゲーション1091、ソフトウェア開発およびライフサイクル管理1092、仮想教室教育配信1093、データ解析処理1094、トランザクション処理1095、およびたとえば図3図4または図5Aを参照しながら説明したような本主題によるメトリックに基づく機械学習モデル・トレーニング(MLT)1096が含まれる。
【0081】
本主題は、以下の項目を含むことができる。
【0082】
項目1. 機械学習(ML)モデルの性能を評価するためのメトリックを定義することと、
MLエンジンを提供することとを含み、MLエンジンが、
トレーニング設定のセットと、第1の特徴属性および第1のラベル属性を含むトレーニング・データセットとを受け取ることと、
トレーニング・データセットを使用して、トレーニング設定のセットに従って、少なくとも1つの機械学習モデルを生成することであって、機械学習モデルが、第1の特徴属性から第1のラベル属性を予測するように構成されている、生成することと、
生成された機械学習モデルに対するメトリックの値を提供することと、
MLエンジンの以前の動作のトレーニング設定のセットおよびメトリックの関連する値を取得することと、
第1のラベル属性の値を現在のトレーニング・データセットに基づいて予測するためのメトリックの所望の値の選択を受け取ることと、
取得されたトレーニング設定のセットを使用して、メトリックの所望の値に対応するトレーニング設定のセットを決定することと、
現在のトレーニング・データセットを使用して、決定されたトレーニング設定のセットに従って、機械学習モデルを生成するように、MLエンジンを制御することと、
第1のラベル属性の値の予測を行うために、生成された機械学習モデルをデプロイすることとを行うように構成された、コンピュータ実装方法。
【0083】
項目2. トレーニング設定のセットを決定することが、
取得されたトレーニング設定のセットのうちのトレーニング設定のセットごとのエントリを含むトレーニング・セットを作成することであって、それぞれのエントリが入力ベクトルおよび関連する出力ベクトルを含み、入力ベクトルが、メトリックの値と属性を記述するメタデータとを含み、出力ベクトルがトレーニング設定のセットを含む、作成することと、
前記決定された設定のセットを出力として受け取るために、メトリックの所望の値と、現在のトレーニング・データセットの属性のメタデータとを予測モデルへの入力として提供することによって、設定のセットを予測するためにトレーニング・セットを使用して予測モデルをトレーニングすることとを含む、項目1の方法。
【0084】
項目3. 設定のセットを決定することが、メトリックの所望の値に対応する、取得された設定のセットのうちの設定のセットを選択することを含む、項目1の方法。
【0085】
項目4. トレーニング設定のセットが、トレーニング・データセットを前処理するための設定の第1のサブセットと、予測に適した1つまたは複数の学習アルゴリズムの選択のための設定の第2のサブセットと、トレーニング最適化のための設定の第3のサブセットとを含む、前記項目1ないし3のいずれかの方法。
【0086】
項目5. 属性を記述するメタデータが以下のうちの少なくとも1つを含む:特徴属性の数、特徴属性のタイプおよびラベル属性のタイプ、項目2または4の方法。
【0087】
項目6. 予め定義された粒度を有する範囲に対してメトリック値を正規化することをさらに含み、取得された設定のセットが粒度に従って提供され、その結果、取得された設定のセットのそれぞれのセットが、対応するそれぞれの粒度レベルを表す、前記項目1ないし5のいずれかの方法。
【0088】
項目7. 選択を受け取ることが、粒度レベルの選択を受け取ることを含む、項目6の方法。
【0089】
項目8. 選択を受け取ることが、スライダを含むグラフィカル・ユーザ・インターフェースを表示することを含み、スライダのインジケータを移動させることによってユーザが値を設定することができ、スライダが、正規化された値の範囲を含み、スライダの設定された値が、メトリックの選択され受け取られた値である、項目6または7の方法。
【0090】
項目9. メトリックが、トレーニングのランタイムまたは機械学習モデルの推論あるいはその両方、機械学習モデルの精度、あるいはこれらの組合せを記述する、前記項目1ないし8のいずれかの方法。
【0091】
項目10. メトリックが、多数のメトリック・タイプの組合せであり、それぞれのメトリック・タイプが、設定のセットのうちの別個の設定のセットに関連した、前記項目1ないし9のいずれかの方法。
【0092】
項目11. 決定された設定のセットおよびそれに関連したメトリックの値を記録することをさらに含む、前記項目1ないし10のいずれかの方法。
【0093】
本発明は、統合の任意の可能な技術的詳細レベルのシステム、方法、またはコンピュータ・プログラム製品あるいはこれらの組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令が記憶されたコンピュータ可読記憶媒体(または複数の媒体)を含み得る。
【0094】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用される命令を保持し、記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、たとえば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光学式ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらには限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには、可搬コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラマブル読み出し専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、可搬コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピィ・ディスク、パンチカードまたは命令が録音された溝内の隆起構造などの機械的に符号化されたデバイス、およびこれらの任意の適切な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体とは、電波またはその他の自由に伝播する電磁波、導波路またはその他の伝送媒体を伝播する電磁波(たとえば光ファイバ・ケーブルを通る光パルス)、またはワイヤを介して伝送される電気信号などの、一過性の信号自体であると解釈されるべきではない。
【0095】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、ネットワーク、たとえばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、または無線ネットワークあるいはこれらの組合せを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはこれらの組合せを含み得る。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースが、ネットワークからコンピュータ可読プログラム命令を受信し、それらのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体への記憶のために転送する。
【0096】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路の構成データ、または、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語、または同様のプログラム言語などの手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードまたはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとして全体がユーザのコンピュータ上でまたは一部がユーザのコンピュータ上で、または一部がユーザのコンピュータ上で一部がリモート・コンピュータ上で、または全体がリモート・コンピュータまたはサーバ上で実行されてもよい。後者の場合、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む、任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行ってもよい。一部の実施形態では、本発明の態様を実行するために、たとえばプログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を使用して電子回路をパーソナライズすることにより、コンピュータ可読プログラム命令を実行することができる。
【0097】
本発明の態様について、本明細書では、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品を示すフローチャート図またはブロック図あるいはその両方を参照しながら説明している。フローチャート図またはブロック図あるいはその両方の図の各ブロックおよび、フローチャート図またはブロック図あるいはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実施可能であることを理解されたい。
【0098】
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサにより実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックで指定されている機能/動作を実装する手段を形成するようにマシンを実現するために、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサに供給することができる。これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方のブロックで指定されている機能/動作の態様を実装する命令を含む製造品を含むように、コンピュータ、プログラマブル・データ処理装置、またはその他のデバイスあるいはこれらの組合せに対して特定の方式で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてもよい。
【0099】
コンピュータ可読プログラム命令は、コンピュータ、その他のプログラマブル装置またはその他のデバイス上で実行される命令がフローチャートまたはブロック図あるいはその両方のブロックで指定されている機能/動作を実装するように、コンピュータ、その他のプログラマブル装置、またはその他のデバイス上で一連の動作ステップが実行されてコンピュータ実装プロセスを実現するようにするために、コンピュータ、その他のプログラマブル・データ処理装置、またはその他のデバイスにロードされてもよい。
【0100】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能および動作を示す。これに関連して、フローチャートまたはブロック図の各ブロックは、指定されている論理機能を実装するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または部分を表し得る。一部の別の実装形態では、ブロックに記載されている機能は、図に記載されている順序とは異なる順序で行われてもよい。たとえば、連続して示されている2つのブロックは、関与する機能に応じて、実際には、1ステップとして行われてもよく、並行して、または実質的に並行して、または部分的にまたは全体が時間的に重なり合って実行されてもよく、またはブロックは場合によっては逆の順序で実行されてもよい。また、ブロック図またはフローチャート図あるいはその両方の図の各ブロック、およびブロック図またはフローチャート図あるいはその両方の図のブロックの組合せは、指定されている機能または動作を実行する専用ハードウェア・ベースのシステムによって実装可能であるか、または専用ハードウェアとコンピュータ命令の組合せを実施することができることにも留意されたい。
図1
図2
図3
図4
図5A
図5B
図5C
図6
図7
図8
【国際調査報告】