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

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

▶ ヒタチ ヴァンタラ エルエルシーの特許一覧

特許7463560自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム
<>
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図1
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図2a
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図2b
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図2c
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図3
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図4
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図5a
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図5b
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図5c
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図5d
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図6
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図7
  • 特許-自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-29
(45)【発行日】2024-04-08
(54)【発明の名称】自動機械学習:統合され、カスタマイズ可能、及び拡張可能なシステム
(51)【国際特許分類】
   G06N 20/20 20190101AFI20240401BHJP
【FI】
G06N20/20
【請求項の数】 15
(21)【出願番号】P 2022571364
(86)(22)【出願日】2020-06-25
(65)【公表番号】
(43)【公表日】2023-06-27
(86)【国際出願番号】 US2020039647
(87)【国際公開番号】W WO2021262179
(87)【国際公開日】2021-12-30
【審査請求日】2022-11-21
(73)【特許権者】
【識別番号】520155228
【氏名又は名称】ヒタチ ヴァンタラ エルエルシー
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】ザン, ヨンシャン
(72)【発明者】
【氏名】リン, ウェイ
(72)【発明者】
【氏名】シュマルゾ, ウィリアム
【審査官】大塚 俊範
(56)【参考文献】
【文献】特開2019-003603(JP,A)
【文献】特表2020-512631(JP,A)
【文献】田中 和也、他1名,auto-sklearnを用いたバグ予測の実験的評価,レクチャーノート/ソフトウェア学44 ソフトウェア工学の基礎XXV,日本,株式会社近代科学社,2018年11月30日,第31-40頁
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/20
(57)【特許請求の範囲】
【請求項1】
解設定ファイルで指定された複数の機械学習モデルに対応する複数の機械学習ライブラリを入力するように構成された自動機械学習(オートML)フレームワークを生成することと、
前記解設定ファイルによって指定されたデータセットからデータメタデータを抽出することと、
前記抽出されたデータメタデータを過去メタデータに関連付けることにより、前記解設定ファイルにおいて指定された前記複数の機械学習モデルから前記データセットについての解候補を生成することと、
過去メタデータに基づいて前記解候補を改良することと、
前記複数の機械学習モデルについてのパラメータの選択を通して前記解候補を最適化することと、
前記解設定ファイルにおいて指定される評価パラメータに基づいて、前記複数の機械学習モデルから前記解候補を評価することと、
を含む、方法。
【請求項2】
前記解設定ファイルによって指定された問題から問題メタデータを抽出することを更に含み、前記解候補を生成することは、
前記抽出された問題メタデータ及び前記抽出されたデータメタデータを、データベース中の過去データセットの過去問題メタデータ及び過去データメタデータと照合することから、前記データベース中の関連する過去データセットを特定することと、
前記関連する過去データセットの各々に適用された前記解設定ファイルで指定された前記複数の機械学習モデルのうちの機械学習モデルについての前記解候補及びスコアを取得することと、
前記スコアに基づいて、前記解設定ファイルにおいて指定された前記機械学習モデルから前記解候補を提供することと、
を含む、請求項1に記載の方法。
【請求項3】
過去メタデータに基づいて前記解候補を改良することは、再帰協調フィルタリングを実行して、前記過去データセットのうちの前記過去データセットの前記スコアを有さない前記複数の機械学習モデルのうちの前記機械学習モデルについての欠損スコアを導出し、次いで新たな前記問題及び/又は新たな前記データセットについての解候補のリストを改良することを含む、請求項に記載の方法。
【請求項4】
前記解候補を最適化することは、前記解候補に対応する前記解設定ファイルで指定された前記複数の機械学習モデルのうちの前記機械学習モデルについてのハイパーパラメータ最適化プロセスを実行することと、前記ハイパーパラメータ最適化プロセスから決定された最良パラメータを有する前記複数の機械学習モデルのうちの前記機械学習モデルから、前記ハイパーパラメータ最適化プロセスから決定される最良モデルを選択することとを含む、請求項1に記載の方法。
【請求項5】
機械学習ドメイン知識に基づいて前記解設定ファイルによって指定された潜在解カテゴリのリストからメタデータを抽出することと、前記解候補を生成することは、前記解設定ファイルで指定された前記複数の機械学習モデルの各々についての解メタデータをクラスタリングすることを含む、請求項1に記載の方法。
【請求項6】
前記解設定ファイルで指定された評価パラメータに基づいて前記複数の機械学習モデルから前記解候補を評価することは、閾値を超えるスコアと関連する前記解候補のうちの解候補に対してモデル後処理を実行することを含む、請求項1に記載の方法。
【請求項7】
前記方法は、前記解設定ファイルによって指定された前記データセットに対してデータ結合を実行して、前記データセットの追加のデータを生成することを更に含む、請求項1に記載の方法。
【請求項8】
プロセスを実行するための命令を記憶するコンピュータプログラムであって、前記命令は、
解設定ファイルで指定された複数の機械学習モデルに対応する複数の機械学習ライブラリを入力するように構成された自動機械学習(オートML)フレームワークを生成することと、
前記解設定ファイルによって指定されたデータセットからデータメタデータを抽出することと、
前記抽出されたデータメタデータを過去メタデータに関連付けることにより、前記解設定ファイルにおいて指定された前記複数の機械学習モデルから前記データセットについての解候補を生成することと、
過去メタデータに基づいて前記解候補を改良することと、
前記複数の機械学習モデルについてのパラメータの選択を通して前記解候補を最適化することと、
前記解設定ファイルにおいて指定される評価パラメータに基づいて、前記複数の機械学習モデルから前記解候補を評価することと、
を含む、コンピュータプログラム。
【請求項9】
前記命令は、前記解設定ファイルによって指定された問題から問題メタデータを抽出することを更に含み、前記解候補を生成することは、
前記抽出された問題メタデータ及び前記抽出されたデータメタデータをデータベース中の過去データセットの過去問題メタデータ及び過去データメタデータと照合することから、前記データベース中の関連する過去データセットを特定することと、
前記関連する過去データセットの各々に適用された前記解設定ファイルで指定された前記複数の機械学習モデルのうちの機械学習モデルについての前記解候補及びスコアを取得することと、
前記スコアに基づいて、前記解設定ファイルにおいて指定された各機械学習モデルの前記解候補を提供することと、
を含む、請求項8に記載のコンピュータプログラム。
【請求項10】
過去メタデータに基づいて前記解候補を改良することは、再帰協調フィルタリングを実行して、前記過去データセットのうちの前記過去データセットの前記スコアを有さない前記複数の機械学習モデルのうちの前記機械学習モデルについての欠損スコアを導出し、次いで新たな前記問題及び/又は新たな前記データセットについての解候補のリストを改良することを含む、請求項に記載のコンピュータプログラム。
【請求項11】
前記解候補を最適化する命令は、前記解候補に対応する前記解設定ファイルで指定された前記複数の機械学習モデルのうちの前記機械学習モデルについてのハイパーパラメータ最適化プロセスを実行することと、前記ハイパーパラメータ最適化プロセスから決定された最良パラメータを有する前記複数の機械学習モデルのうちの前記機械学習モデルから、前記ハイパーパラメータ最適化プロセスから決定される最良モデルを選択することとを含む、請求項8に記載のコンピュータプログラム。
【請求項12】
機械学習ドメイン知識に基づいて前記解設定ファイルによって指定された潜在解カテゴリのリストからメタデータを抽出することと、前記解候補を生成することは、前記解設定ファイルで指定された前記複数の機械学習モデルの各々についての解メタデータをクラスタリングすることを含む、請求項8に記載のコンピュータプログラム。
【請求項13】
前記解設定ファイルで指定された評価パラメータに基づいて前記複数の機械学習モデルから前記解候補を評価することは、閾値を超えるスコアと関連する前記解候補のうちの解候補に対してモデル後処理を実行することを含む、請求項8に記載のコンピュータプログラム。
【請求項14】
前記命令は、前記解設定ファイルによって指定された前記データセットに対してデータ結合を実行して、前記データセットの追加のデータを生成することを更に含む、請求項8に記載のコンピュータプログラム。
【請求項15】
装置であって、
プロセッサを備え、
前記プロセッサは、
解設定ファイルで指定された複数の機械学習モデルに対応する複数の機械学習ライブラリを入力するように構成された自動機械学習(オートML)フレームワークを生成することと、
前記解設定ファイルによって指定されたデータセットからデータメタデータを抽出することと、
前記抽出されたデータメタデータを過去メタデータに関連付けることにより、前記解設定ファイルにおいて指定された前記複数の機械学習モデルから前記データセットについての解候補を生成することと、
過去メタデータに基づいて前記解候補を改良することと、
前記複数の機械学習モデルについてのパラメータの選択を通して前記解候補を最適化することと、
前記解設定ファイルにおいて指定される評価パラメータに基づいて、前記複数の機械学習モデルから前記解候補を評価することと、
を行うように構成される、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は自動機械学習に関し、より具体的には自動機械学習フレームワーク上に統合され、カスタマイズ可能、及び拡張可能なシステムを提供することを対象にする。
【背景技術】
【0002】
自動機械学習(オートML)は、データ及び特徴前処理ステップを適用し、モデルアルゴリズムを選択し、ユーザにより提供される最良評価メトリックを達成するためにハイパーパラメータを調整することにより、ユーザによって提供されるデータのモデルを自動的に構築することができるシステム又はフレームワークである。
【0003】
オートMLは、モデル性能を損なわずに、必要とされる人間の労力を最小化する、機械学習(ML)パイプラインにおけるステップの最大数を自動化するように設計される。幾つかのオープンソース及び商用オートMLパッケージが設計され実装されている。各パッケージはそれ自体の強み及び弱みを有する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
関連技術であるオートMLライブラリには制限及び制約がある。例えば、関連技術のオートMLライブラリは1つの基礎となる機械学習ライブラリのみをサポートするが、各機械ライブラリは異なるアプリケーションプログラミングインターフェース(API)を使用する。データサイエンティストにとって、全てのAPIを学び使用することは困難である。現実世界のタスクは複数の機械ライブラリを使用する必要があり得、学習及び効率的な使用の両方のために長い開発時間を要する。最先端の機械学習及びデータ解析方法で容易に拡張することができる複数の機械ライブラリをサポートする統合された拡張可能なフレームワークが必要とされている。
【0005】
さらに、関連技術であるオートMLライブラリは専ら、制限時間が切れるまでモデルアルゴリズムの固定されたセットを所定の順に徹底的に試行する。最適なアルゴリズム及びパラメータ設定は、時間期限により決して適用されないことがある。したがって、異なるタスクについてのデフォルトモデリング設定を調節及び調整するようにカスタマイズ可能なフレームワークが必要とされている。
【0006】
さらに、関連技術のオートMLライブラリは、新しいタスクとして各タスクに取り組むため、前の問題、データ、及びモデルから学習した知識を使用しない。問題及びデータの詳細及び特性を無視し、また、モデル構築時、モデルアルゴリズムの特色、強み、及び弱みも無視する。したがって、既存のデータ、問題、及び解を利用して、新たな問題及びデータに最良のモデルを生成する効率を上げる解決策が必要とされている。
【課題を解決するための手段】
【0007】
本開示の態様は、解設定ファイルに指定された複数の機械学習モデルに対応する複数の機械学習ライブラリを入力するように構成された自動機械学習(オートML)フレームワークを生成することと、解設定ファイルによって指定されたデータセットからメタデータを抽出することと、抽出されたメタデータを過去メタデータに関連付けることにより、解設定ファイルにおいて指定された複数の機械学習モデルからデータセットの解候補を生成することと、過去メタデータに基づいて解候補を改良することと、複数の機械学習モデルについてのパラメータの選択を通して解候補を最適化することと、解設定ファイルにおいて指定された評価パラメータに基づいて、複数の機械学習モデルから解候補を評価することとを含む方法を含む。
【0008】
本開示の態様は、解設定ファイルで指定された複数の機械学習モデルに対応する複数の機械学習ライブラリを入力するように構成された自動機械学習(オートML)フレームワークを生成することと、解設定ファイルによって指定されたデータセットからメタデータを抽出することと、抽出されたメタデータを過去メタデータに関連付けることにより、解設定ファイルにおいて指定された複数の機械学習モデルからデータセットの解候補を生成することと、過去メタデータに基づいて解候補を改良することと、複数の機械学習モデルについてのパラメータの選択を通して解候補を最適化することと、解設定ファイルにおいて指定された評価パラメータに基づいて、複数の機械学習モデルから解候補を評価することとを含む命令を記憶するコンピュータプログラムを含むことができる。
【0009】
本開示の態様は、解設定ファイルで指定された複数の機械学習モデルに対応する複数の機械学習ライブラリを入力するように構成された自動機械学習(オートML)フレームワークを生成する手段と、解設定ファイルによって指定されたデータセットからメタデータを抽出する手段と、抽出されたメタデータを過去メタデータに関連付けることにより、解設定ファイルにおいて指定された複数の機械学習モデルからデータセットの解候補を生成する手段と、過去メタデータに基づいて解候補を改良する手段と、複数の機械学習モデルについてのパラメータの選択を通して解候補を最適化する手段と、解設定ファイルにおいて指定される評価パラメータに基づいて、複数の機械学習モデルから解候補を評価する手段とを含むシステムを含むことができる。
【0010】
本開示の態様は、システムを含むことができ、システムは、解構成ファイルで指定された複数の機械学習モデルに対応する複数の機械学習ライブラリを入力するように構成された自動機械学習(オートML)フレームワークを生成することと、解構成ファイルによって指定されたデータセットからメタデータを抽出することと、抽出されたメタデータを過去メタデータに関連付けることにより、解構成ファイルにおいて指定された複数の機械学習モデルからデータセットの解候補を生成することと、過去メタデータに基づいて解候補を改良することと、複数の機械学習モデルについてのパラメータの選択を通して解候補を最適化することと、解構成ファイルにおいて指定される評価パラメータに基づいて、複数の機械学習モデルから解候補を評価することとを行うように構成されたプロセッサを含むことができる。
【図面の簡単な説明】
【0011】
図1図1は、一実施態様例による一例のオートMLシステムを示す。
【0012】
図2a図2aは、一実施態様例による一例の解生成器を示す。
【0013】
図2b図2bは、一実施態様例による一例の解設定ファイルを示す。
【0014】
図2c図2cは、一実施態様例による解生成器の一例の流れ図を示す。
【0015】
図3図3は、一実施態様例によるデータ収集モジュールの一例を示す。
【0016】
図4図4は、一実施態様例による解初期化モジュールの一例を示す。
【0017】
図5a図5aは、一実施態様例による解選択モジュールの一例を示す。
【0018】
図5b図5bは、一実施態様例による再帰協調フィルタリングの一例の流れを示す。
【0019】
図5c図5cは、一実施態様例によるクラスタリングの一例のフローを示す。
【0020】
図5d図5dは、一実施態様例によるデータセット及び解カテゴリに性能スコアを提供するための一例のデータテーブルを示す。
【0021】
図6図6は、一実施態様例による一例のハイパーパラメータ最適化モジュールを示す。
【0022】
図7図7は、一実施態様例によるモデル後処理モジュールの一例を示す。
【0023】
図8図8は、幾つかの実施態様例における使用に適した一例のコンピュータデバイスを有する一例の計算環境を示す。
【発明を実施するための形態】
【0024】
以下の詳細な説明は、本願の図及び実施態様例の詳細を提供する。図間の冗長要素の参照番号及び説明は、明確にするために省かれる。説明全体を通して使用される用語は、例として提供され、限定の意図はない。例えば、「自動」という用語の使用は、完全自動又は本願の実施態様を実施している当業者の所望の実施に応じて実施態様の特定の態様へのユーザ又は管理者制御を含む半自動実施態様を含んでもよい。選択は、ユーザインターフェース若しくは他の入力手段を通してユーザによって行うことができ、又は所望のアルゴリズムを通して実施することができる。本明細書に記載されている実施態様例は、単独で又は組み合わせて利用することができ、実施態様例の機能は、所望の実施態様に従って任意の手段を通して実施することができる。
【0025】
図1は一実施態様例による一例のオートMLシステム100を示す。図1に示すように、オートMLシステム100はオートMLフレームワーク101及び解生成器102の2つの構成要素を含む。
【0026】
図1の例において、オートMLフレームワーク101は、種々の基礎となる機械学習ライブラリの統合された使用しやすいインターフェースを提供し、最新技術の機械学習及びデータ解析方法に容易に拡張され、異なるデータサイエンスタスクのニーズを満たすようにカスタマイズすることができる、統合され、高カスタマイズ可能、及び高拡張可能なオートMLフレームワーク101である。したがって、オートMLフレームワーク101は機械学習ライブラリのセットを入力するように構成され、そしてオートMLフレームワーク101は、ライブラリが異なる開発者によって独立して開発された場合であっても複数のライブラリをサポートする。
【0027】
解生成器102は、既存の解(ソリューション:解決策)を利用して、新たな問題及びデータの解を最適化することができるプロセッサ又はパイプラインのように機能する。更なる詳細は図2aに提供される。
【0028】
それにより、提案されるオートMLフレームワーク101は、単一の機械学習ライブラリしかロードすることができない固定の所定の機械学習ライブラリで静的な関連技術のオートMLライブラリにおける欠陥を是正することができる。提案されるオートMLフレームワーク101及び本明細書で提案される解設定ファイルを通して、複数の機械学習ライブラリは、フレームワーク及び解設定ファイル中の選択されたモデルに組み込まれることが可能であり、フレームワークは、所望の実施態様に従って解設定ファイルを通してカスタマイズされることが可能である。
【0029】
図2aは、一実施態様例による一例の解生成器を示す。解生成器は、既存の解に基づいて新たなデータセットの解を効率的且つ効果的に初期化する新たな解を最適化するために既存の解を使用し、革新的な手法を用いて解サーチ空間及びサーチ順を最適化し、最新技術の方法を用いて解選択及びハイパーパラメータ最適化を自動化し、データ準備(リサンプリング、結合、分割);結果解釈可能性及び説明可能性;誤差解析;自動特徴抽出及び構築;モデルライフサイクル管理等の新たな構成要素及び特徴を提供するプロセスである。
【0030】
図2aに示すように、データ収集200は、データの収集機能、結合機能、及びクリーニング機能を含むことができる。データ収集から収集されたデータは、解初期化モジュール210、解選択モジュール220、ハイパーパラメータ最適化モジュール230、及びポストプロセッサモジュール240を含む種々のモジュールに組み込まれる。
【0031】
データ収集200は、データクリーニング、データ前処理等のプロセスが行われる、解によって解かれるべき新たな問題についてデータセットを取り入れる。データセットとは、解析されモデルを構築する必要があるデータであり、限定ではなく、問題に付随するデータ(例えばセンサによって収集されたデータ)、パブリックドメインで見出されるデータ(例えばインターネットから)、及び第三者から購入されたデータ等を含む。データセットは通常、問題と一緒に提供される。提供されたデータセットが、問題及びデータの理解に基づいて解を構築するのに十分ではない場合、新たなデータが、問題及びデータプロバイダ及び/又はパブリックドメインから要求される。そして新たなデータが入手可能ではない場合、現在入手可能なデータに基づいて新たなデータを結合することができる。次いでデータ収集200が解初期化210及び解選択220に提供される。新たな問題及び解の構築に必要な関連データセットが与えられると、新たな問題に対してモデルが再び実行されて、過去データベースに同様の問題データがあるか否かを判断する。同様の問題データがある場合、210において、実施態様例は同様の問題の解を利用して新たな問題についての解を初期化し、解選択220において選択され得る。
【0032】
解選択220から選択候補が得られると、既存の解は、最適解を得るためにハイパーパラメータ最適化230を通して新たな問題及びデータに適合するように最適化される。ハイパーパラメータ最適化230が、新たな問題に適合するように解を最適化すると、解は次いで後処理240において評価されて、最適化された解が、所定の成功基準を満たすか否かが判断される。満たす場合、所望の実施態様に応じて、パラメータを変更すべきとき、モデルをアンサンブルで他のモデルと統合すること等の追加の後処理240。各モジュールの更なる詳細について図3図7に関して提供する。
【0033】
オートMLフレームワークの実施態様例において、複数の機械ライブラリを組み込むように構成された、統合され、拡張可能、及びカスタマイズ可能なオートMLフレームワークがある。実施態様例において、フレームワークは各解を、解設定ファイル及びメインプログラムの2つに定式化する。解設定ファイルは、解で促進する必要がある全ての目標を定義する。
【0034】
図2bは、一実施態様例による一例の解設定ファイルを示す。各解は解設定ファイルを有し、解設定ファイルは解の全ての詳細を指定するために使用される。本明細書に記載の実施態様例において、解設定ファイル250は、各モジュールの実行方法についての設定及び命令を指定するための、図2a中の各モジュールのセクションを有する。設定は各モジュールにセクションを含むことができ、各モジュールにより多くの仕様が必要な場合、そのような詳細を指定するサブセクションが使用される。解設定ファイル例は、所望の実施態様に従って、どのデータが使用されるか、特徴がいかに処理されるか、どのモデルが使用されるべきか、各モデルのモデルアルゴリズム、モデルがいかに評価されるべきか、モデルのパラメータ、及び他のパラメータを含む、ハイパーパラメータ最適化230についてのより多くの詳細を指定する。あるモジュール(例えばモデル253-3)について、解設定ファイル中の仕様は、基礎となる機械学習ライブラリ中のどのモデルアルゴリズムを呼び出す必要があるか、どのパラメータをモデルアルゴリズムに渡す必要があるか等を含んでもよい。解設定ファイル250は、各解において考慮される各問題を定義するのに使用される。例えば、機械状況では、分類及び回帰問題があり得、それにより、データがいかに前処理されるべきか、特徴エンジニアリングがいかに行われるか、どのモデルが選択されるか、パラメータ調整、後処理、評価等を含む、解全体を用いて指定される。
【0035】
図2aの解モデルは解設定ファイルを通して解析し、ファイルに従って実行するライブラリをオートMLから取得する。
【0036】
実施態様例は解設定ファイルを利用して、解を定義及び指定し、Pythonリフレクション技法を使用して解設定ファイルを読み取り、解析する。そのような実施態様例を通して、結果として、種々の解析ライブラリ及び機械学習ライブラリを1つの解において一緒に使用することができる。
【0037】
実施態様例において、メインプログラムは、各解へのエントリポイントであり、解設定ファイルを読み取り、各モジュールの定義に従い、それに従ってモジュールを実行するように設定される。
【0038】
解設定ファイルは以下の主要属性を有する。解設定ファイルは、複数の機械学習ライブラリから特徴エンジニアリング及びモデルアルゴリズム等の機械学習方法を単一の解設定ファイルで指定することができるように統合される。解設定ファイルは、セクションを解設定ファイルに追加することにより、解が最新技術の技法に容易に拡張されるように拡張可能である。解設定ファイルはカスタマイズ可能である。限定ではなく、分類、再帰、クラスタリング、異常値検出、推奨エンジン、残存耐用年数予測を含む、最適化された汎用解テンプレートは、各解タイプに提供される。ハイパーパラメータ最適化目的の場合、テンプレートは、可能な全ての特徴エンジニアリング技法及び関連するパラメータグリッド、モデルアルゴリズム及び関連するパラメータグリッド、及び評価技法を指定する。解初期化モジュール及び/又は解選択モジュールが存在する場合、それらは、特定の解の特徴エンジニアリング及びモデリング技法のリストを選択することができ、それに従ってテンプレート中の選択された技法の仕様が解に使用される。ユーザは、解設定テンプレートの使用を選ぶことができ、又は各自のニーズを満たすように解設定テンプレートを容易にカスタマイズすることもできる。
【0039】
解設定ファイル250は、解初期化251、解選択252、ハイパーパラメータ最適化253、モデル後処理254、データ253-1、特徴253-2、モデル253-3、特徴仕様253-4、モデル仕様253-5、及びモデル評価253-6を含むことができる。解初期化251は、新たなデータセットのロケーション及び解初期化モデルのロケーションを示すことができる。解選択252は新たなデータセットのロケーション及び解選択モデルのロケーションを示すことができる。ハイパーパラメータ最適化253は、解候補を最適化するためのサブセクションのリストを示すことができる。ハイパーパラメータ最適化253のサブセクションは、データ253-1、特徴253-2、モデル253-3、特徴仕様253-4、モデル仕様253-5、及びモデル評価253-6であることができる。データ253-1は、データが抽出されるデータソース又はデータファイルを示すことができ、データはハイパーパラメータ最適化253に入力され、データ253-1は、所望の実施態様によれば、ラベル、関わる特徴のタイプ、データ分割等のパラメータを含むことができる。データ253-1は、入力及び出力を指定することもできる。特徴253-2は、所望の実施形態により、相関特徴抽出有効化/無効化、分散閾値に基づく特徴選択等の特徴抽出のパラメータを示す。モデル253-3は、限定ではなく、ロジスティック回帰、ランダムフォレスト分類器、勾配ブースト分類器、サポートベクターマシン分類器、ニューラルネットワーク分類器等の、所望の実施態様に応じてデータ253-1に適用されるモデルを示す。特徴仕様253-4は、組み込まれた特徴253-2のパラメータを示すことができる。モデル仕様253-5は、組み込まれたモデル253-3のパラメータを示す。評価253-6は、モデル253-3の評価に使用されるメトリックを示す。
【0040】
実施態様例において、解生成器は、問題及びデータが与えられた場合に解を生成するエンドツーエンドプロセスである。図2aに示すように、生成器には5つのモジュールがある。
【0041】
実施態様例において問題の解を生成するために解生成器が使用される。図2cは、一実施態様例による解生成器の一例の流れ図を示す。以下のステップは解生成器のワークフローを記述する。各構成要素の更なる詳細について本明細書で更に詳述する。
【0042】
261において、過去問題及びデータのデータベースが存在し、データベース中の各問題及びデータの解が構築されている場合、解生成器は、データベースに基づいてクアドルプル[問題,データ,解,性能スコア]を定式化し、それらを使用して解初期化モデル及び解選択モデルを学習する。新たな問題及びデータセットが与えられると、解生成器は262から273に続く動作を実行する。別の実施態様例において、解初期化モデル及び解選択モデルがオフラインで構築されるようにモデル構築は別個に(例えばオフラインで)行うことができ、それにより、261におけるプロセスは、代わりにそれらのモデルが存在する場合、モデルをロードするように構成される。
【0043】
解初期化モデル及び解選択モデルは両方とも、過去問題、データ、解、及びそれらの性能を記憶するデータベースに頼る。本実施態様において、データベースは3つのテーブルを有する:
1.「問題」:これは、問題についての情報及びメタデータを定義し含む:
i)問題識別子:問題の一意の識別子、
ii)問題説明:問題の説明、
iii)問題カテゴリ:カテゴリ値:教師あり、教師なし、強化学習、
iv)問題産業:「石油&ガス」、「鉱業」等のような問題の産業、
v)問題サブ産業:「石炭採鉱」、「鉱石採鉱」等のような問題のサブ産業、
vi)データ識別子:「データ」テーブル中のデータを参照するのに使用される。
2.「データ」:これは、データについての情報及びメタデータを定義し含む:
i)データ識別子:データの一意の識別子、
ii)データ説明:データの説明、
iii)列数:データ中の列の数、
iv)数値列数:データ中の数値列の数、
v)カテゴリ列数:データ中のカテゴリ列の数、
vi)データ点数:データ中のデータ点又はデータ行の数、
vii)データサイズ:データによって占められる記憶空間、
viii)データ統計:
(1)数値列:各数値列の最小、最大、平均、1分位、25分位、75分位、90分位、データスキュー度、
(2)カテゴリ列:各カテゴリ列のカテゴリ値の数;全てのカテゴリ列のカテゴリ値の数の最小、最大、平均、1分位、25分位、75分位、90分位、データスキュー度。
3.「解」:これは、各解の情報及びメタデータを定義し含む:
i)解識別子:解の一意の識別子、
ii)解説明:解の説明、
iii)解設定ファイル:解の生成に使用される解設定ファイルの内容、
iv)解カテゴリ:特徴エンジニアリングステップ及びモデルの順序付きリスト、
v)解パラメータ:最良性能を達成することができる解カテゴリにおける各ステップのパラメータの順序付きリスト。各ステップのパラメータ名を区別するために、ステップ名がパラメータ名に前置される。
vi)性能スコア:「解カテゴリ」及び「解パラメータ」と関連する性能スコア。これは、ハイパーパラメータ最適化の一部として予め決定される評価メトリックに基づく。
vii)問題識別子:これは「問題」テーブルの参照に使用される、
viii)データ識別子:「データ」テーブルの参照に使用される。
実施態様において、解は、「解カテゴリ」及び「解パラメータ」の組合せとして定義され、各問題及びデータは複数の解を有することができる。「解カテゴリ」及び「解パラメータ」は、データに対してハイパーパラメータ最適化を実行した後に取得される。
【0044】
262において、解生成器はデータセットをロードし前処理する。263において、解生成器はクアドルプル[問題メタデータ,データメタデータ,解メタデータ,性能スコア]を定式化し、解メタデータ及び性能スコアは、この時点では欠損している。264において、解初期化モデルが存在する場合、265において、解生成器は新たな問題及びデータセットに対して解初期化モデルを実行して、幾つかの解候補を取得する。その他の場合(No)、266において、解生成器は新たな問題及びデータセットに対して解選択モデル(クラスタリング)を実行して、幾つかの解候補を取得する。267において、解生成器は、解候補が基準を満たすか否か、例えば、新たな問題及びデータセットのメタデータと解候補と関連する既存の問題及びデータのメタデータとの間の類似性スコアをチェックする。満たす場合(Yes)、プロセスは268に進み、解候補を保持し、次いで269に進む。その他の場合(No)、266に進む。269において、解選択モデル(再帰協調フィルタリング)が存在する場合、解生成器は270に進み、解選択モデル(再帰協調フィルタリング)を実行して、解候補を改良し、次いで解生成器は、解候補に対するハイパーパラメータ最適化のために271に進む。その他の場合(No)、解生成器は、解候補に値するハイパーパラメータ最適化のために271に進む。
【0045】
271において、解候補に対して解生成器はハイパーパラメータ最適化を実行し、性能スコアを取得する。272において、任意の解の性能スコアが成功基準を満たすか否かが判断される。満たす場合(Yes)、解生成器は273に進み、最良モデルに対してモデル後処理を実行する。次いで解生成器は新たな[問題,データ,解,性能スコア]のセットを既存の[問題,データ,解,性能スコア]のセットに組み込み、プロセスを終了する。その他の場合(No)、解生成器は264に戻り、パラメータを調整し、解初期化モデル及び解選択モデルを実行してより多くの解候補を取得する。
【0046】
以下、解生成器における各モジュールの詳細を説明する。
【0047】
図3は、一実施態様例による一例のデータ収集モジュール200を示す。データ収集モジュール200は、ユーザによって提供されるデータのデータETL(抽出、変換、及びロード)の収集201を担当する。提供されたデータが十分ではない場合又は提供されたデータに基づく解が有効ではない場合、データ結合202も実行する。ユーザは、所望の実施態様に応じてこのモジュールにおいて何らかのデータ前処理を実行する必要があってもよい。データクリーニング203は、定式化するために又は他のモジュールによって処理することができるフォーマットにデータを解析するために採用される。
【0048】
図4は、一実施態様例による一例の解初期化モジュール210を示す。解初期化モジュール210は、既存の問題、データ、解、及び解と関連する性能スコアに基づいて、新たな問題及びデータについて解を効率的且つ効果的に初期化する。解生成器の一部として、解を初期化する機械学習モデルが構築される。解初期化モジュールは、まずモデルを構築し(211~214)、次いでモデルを新たな問題及びデータに適用する(215~218)、2つのフェーズを有する。モデルを構築し実行するために必要な全ての所要情報は、データファイル及びモデルファイル、メタデータモデルアルゴリズムの仕様等を含む、「解初期化」セクション下で解設定ファイルに指定される。
【0049】
過去データセット及び解211が与えられると、解初期化モジュール210はまず、212においてメタデータを抽出し、211~214及び217のサブモジュールに示されるように、既存の問題、データ、解、及び解と関連する性能スコアに基づいて解初期化モデル217を構築する。
【0050】
メタデータ抽出サブモジュール212は、問題及びデータについてのメタデータ特徴を識別して抽出し、過去メタデータ213を生成する。既存の問題及びデータについて、ユーザはまずクアドルプル[問題,データセット,解,性能スコア]を形成する。次いでメタデータ抽出サブモジュール212は問題、データセット、及びモデルアルゴリズムのメタデータを計算して、過去メタデータ213の[問題のメタデータ,データのメタデータ,解のメタデータ,性能スコア]を取得する。問題、データ、及びアルゴリズムのメタデータは、所望の実施態様に従って予め定義及び/又はカスタマイズすることができる(例えば手動でエンジニアリング、自動タグ付けツールにより自動的に生成等)。幾つかのクラスタリング方法もこの目的で同様に使用してもよい。
【0051】
クアドルプル(問題,データ,解,性能スコア)の定義は以下のようにすることができる:
a.問題:これは解決する必要がある解析問題である。例えば「石炭採掘工場における尾鉱資産の過負荷障害を予測する」。
b.データ:これは問題を解くのを助けることができる全てのデータである。これは、問題、公開データ、第三者データ等から来る全てのデータを含む。例えば、「Pi Historianデータベースからのセンサ時系列データ」、「天気データ」等。
c.解:これは、解設定ファイルにおいて定義される全ての特徴エンジニアリング及びモデリングステップと、各ステップで使用されるパラメータとに対応する。換言すれば、「解カテゴリ」及び「解パラメータ」の組合せである。例えば、解カテゴリは、「標準スカラー、ランダムフォレストモデル」とすることができ、解パラメータは、「標準スカラー」についての「with_mean=True」とし、「ランダムフォレストモデル」についての「ツリー数=100,max_depth=5」とすることができる。
d.性能スコア:これは、解についての所定の評価メトリックに基づくスコアである。例えば、「二乗平均平方根誤差=0.05」。
上述したように、過去問題及びデータのそのようなクアドルプルについての情報を記憶するためのデータベースがある。
【0052】
メタデータモデリングサブモジュール214は、抽出された特徴上にモデル217として以下のモデルの1つを構築する:
【0053】
a.類似性ベースモデル:メタデータモデリングサブモジュール214は類似性メトリックを選択し、[問題のメタデータ,データのメタデータ]に基づいて特徴ベクトル間の類似性スコアを測定する類似性ベースのモデルを構築する。類似性メトリックの例は、コサイン類似性、ピアソン相関スコア等とすることができる。
【0054】
b.回帰モデル:メタデータモデリングサブモジュール214は、[問題のメタデータ,データのメタデータ,解のメタデータ,性能スコア]のセットに基づいて回帰モデルを構築し、問題のメタデータ、データのメタデータ、解のメタデータは回帰モデルにおいて特徴として使用され、性能スコアは回帰モデルにおいてターゲットとして使用される。回帰モデルの例は線形回帰、ランダムフォレスト回帰等とすることができる。
【0055】
c.他のメタ学習モデル:メタデータモデリングサブモジュール214は、所望の実施態様に従って別のタイプのメタ学習モデルを使用する。
【0056】
新たな問題及びデータセット215が与えられると、解生成器は、メタデータ抽出212を通して[問題のメタデータ,データのメタデータ]新たなメタデータ216として自動的に抽出し、次いでメタデータモデル217を新たなメタデータ216に適用して、新たな問題及びデータ218に対する解候補を生成する。
【0057】
類似性モデルについて、モデル217は新たな問題及びデータセット216のメタデータと既存の問題及びデータセット213のメタデータとの間の類似性を測定する。類似性スコア及び性能スコアに基づいて、モデル217は上位N個の解を選択し、ここでNは、新たな問題及びデータセットの初期解として使用される解の数を制御するパラメータである。
【0058】
回帰モデルについて、モデル217は、解の可能な全てのメタデータを[問題のメタデータ,データのメタデータ]216に適用することによってテストセットを構築する。次いでモデル217は、回帰モデルをテストセットに適用し、性能スコアに基づいて予測を行う。モデル217は、予測された性能スコアに基づいて上位N個の解を選択する。
【0059】
図5aは、一実施態様例による一例の解選択モジュール220を示す。解選択モジュール220は、解サーチ空間及びサーチ順を改良する。解選択モジュール220は、データ前処理221、特徴エンジニアリング222、及びモデルアルゴリズム223等のサブ機能を含むことができる。解選択モジュール220は、解初期化モジュール210からの解候補が提供される。モデルを構築し実行するために必要な所要情報は、データファイル及びモデルファイルのロケーション、解選択モデルアルゴリズムの仕様等を含み、「解選択」セクション下で解設定ファイルに指定される。
【0060】
解選択モジュール220において2つの手法を適用することができる。第1の例では、再帰協調フィルタリングがある。図5bは、図2cの265及び270におけるプロセスに向けられる一実施態様例による再帰協調フィルタリングのフロー例を示す。この例では、クアドルプル[問題,データセット,解,性能スコア]のセットが存在すると仮定する。511において、プロセスは、既存の[問題,データ,解,性能スコア]のセットに基づいて[データ,解カテゴリ,性能スコア]のセットを形成し、解カテゴリはデータ前処理221、特徴エンジニアリング222、及びモデルアルゴリズム223におけるステップの順序付きリストとして定義され、解カテゴリは、クアドルプル[問題,データ,解,性能スコア]の各セット中の解フィールドから抽出される。512において、プロセスは再帰協調フィルタリングモデルを構築し、これは類似性ベースであることができ、又は行列因数分解手法を介することができる。513において、新たな問題又はデータセットについて、プロセスは、解初期化モジュール210から解候補の性能スコアを取得する。次いで、要素が各解カテゴリの性能スコアである性能スコアベクトルを形成する。値の幾つかは欠損している。514において、プロセスは再帰協調フィルタリングモデルを性能スコアベクトルに適用し、欠損値を予測する。515において、プロセスは性能スコアベクトル中の値をランク付け、ハイパーパラメータ最適化に対して上位M個の解カテゴリを選択し、ここでMは、モデル選択モジュールから使用される解カテゴリの数を制御するパラメータである。ここで、Mは、0052において定義されたNよりも大きい、Nに等しい、又はよりも小さい値であることができる。次いで解カテゴリに一致する全ての解候補から、解生成器は、解候補のサブセットを無作為に選択するか、又はそれらの全てをハイパーパラメータ最適化に使用する。
【0061】
516において、任意の性能スコアが、所定の成功基準を満たすか否かが判断される。満たす場合(Yes)、プロセスは終了する。それ例外は(No)、性能スコアが成功基準を満たさない場合、プロセスは517に進み、ハイパーパラメータ最適化から新たに計算された性能スコアが、性能スコアベクトル中の予測されたスコアに取って代わり、Nの値を更新し、Mの値を更新し、次いで215(解初期化モジュール)に戻る。この再帰プロセスは、性能スコアが成功基準を満たすまで続けられる。
【0062】
図5cは、一実施態様例によるクラスタリングの一例のフローを示す。解選択モジュールの第2の例では、クラスタリングプロセスがあり、過去の[問題,データセット,解,性能スコア]が存在しないと仮定する。この手法では、521において、プロセスは潜在的な解カテゴリを列挙し、次いでそれらのメタデータに基づいて解カテゴリをクラスタリングする。ここでメタデータは、機械学習におけるドメイン専門知識に基づいて手動で生成される。クラスタリングモデルの例はK平均、DBSCAN等とすることができる。522において、プロセスは各クラスタから1つの解カテゴリを無作為に選択し、解候補のセットを形成する。次いで解候補は、最良パラメータを有する最良解を見つけるためにハイパーパラメータ最適化モジュールに渡される。任意の解からの性能スコアが成功基準を満たすことができない場合、クラスタリングパラメータ、この場合、各クラスタから解候補を選択するのに使用されるランダムシードを更新する。この再帰プロセスは、性能スコアが成功基準を満たすまで続けられる。
【0063】
図5dは、一実施態様例による、性能スコアをデータセット及び解カテゴリに提供する一例のデータテーブルを示す。図5dの例は、図5(b)の511のプロセスついての出力セット例である。行列は、過去データセットに基づいて、行を解カテゴリ(解候補から抽出される)及び関連する性能スコアに関連付けるように構築することができる。データセットへの解候補の過去実行において、特定のデータセットが1つのみの解カテゴリによって評価されるか、又は複数の解カテゴリが特定のデータセットに適用可能である状況があり得る。したがってそれにより、幾つかの性能スコアが行列内で欠損している(ヌル)可能性がある。
【0064】
したがって、図5bの512~516のプロセスを通して、再帰協調フィルタリングモデルから生成される推定を使用して、欠損している性能スコアを埋めることが可能である。したがって、対象の特定のデータセット/解カテゴリ対についての性能スコアが存在していない場合であっても、推定を提供して最良解カテゴリ、ひいては解候補を決定することができる。
【0065】
したがって、図5a及び図5bのプロセスを通して示されるように、新たな問題及び/又はデータセットを追加する場合、解初期化プロセスが実行されて、解候補を生成する。メタデータ抽出に基づいて、関連するデータセットが過去データベースから決定されて、解候補の関連する性能スコアを決定する。欠損スコアについて、推定が図5bのプロセスを通して生成され、次いで行列のスコアは図6に示されるようにハイパーパラメータ調整を通して更新される。それにより、解候補が最適化されると、高い性能スコアを有する解候補を選択することができる。
【0066】
図6は、一実施態様例による一例のハイパーパラメータ最適化モジュール230を示す。本明細書に記載の手法を用いて解候補が生成され選択された後、ハイパーパラメータ最適化モジュール230は、評価メトリックに基づいてパラメータの最良セットを用いて、選択された各解候補を最適化し、最大最適化で解が実行されるようにする。最適化プロセスにおいて、最適化されるパラメータは、解候補における対応するパラメータ値で初期化される。
【0067】
最適化方法には幾つかのカテゴリがあり、実施態様例は、グリッドサーチ及びランダムサーチ231、ベイズ最適化232、進化技法233、及び強化学習234等の最先端の方法を組み込む。
【0068】
図7は、一実施態様例による一例のモデル後処理モジュール240を示す。最良モデルが決定されると、実施態様例は幾つかの構成要素を有するモデルを後処理する。これらの構成要素の幾つかは、関連技術のオートMLライブラリでは利用可能でない。
【0069】
説明可能性及び解釈可能性241は、モデル及び個々の予測を説明し解釈する。説明可能な人工知能(AI)の目標は、モデル結果への入力変数の帰属を識別することである。したがって、これは、動作と応答との間の関係を提供する。帰属は、ベースライン値と比較して、特徴が予測値変化に影響する程度を表す。モデルの問われている質問に関連する有意味なベースラインを選ぶことは重要である。帰属値及びそれらの解釈は、ベースラインが切り替わるにつれて大きく変わり得る。ベースラインの一例はクライアントインタビューから収集することができる。
【0070】
変数及びパラメータはモデリングにおける2つの異なる設定である。パラメータは1つのシミュレーション中、一定であり、変数は変化し、例えば、Y=a.f(X)+bである。この場合、a及びbはパラメータであり、fは関数であり、Yは出力変数であり、Xは入力変数である。両手法とも複数のモデルを使用し、したがって、fは実際にはfであり、ここでnはモデル数である。
【0071】
別の例では、アニーリング勾配ベースの手法がある。ハイパーパラメータ調整を介してパラメータ空間をサーチすることにより、ベースラインとモデル出力への変数の重要さを比較することによって可変関係へのパラメータのトレーサビリティを抜き出す。これはn個のモデルを通して繰り返される。それを用いて、変数帰属nへのモデル出力を解釈することができる。したがってそれにより、実施態様例は、選択された各解候補のスコアを計算し、スコアが所定の基準を超える選択された候補を新たな入力メタデータに適用し、解の出力を取得することができる。
【0072】
モデルアンサンブル242は、所望の実施態様に従って、性能をよりよくするために幾つかのモデルを1つのモデルに組み合わせる。誤差解析243は予測誤差を解析して、モデルを改良する。モデルライフサイクル管理244は、下流での使用についての解をまとめる。
【0073】
提案されるオートMLシステムは以下のように実施することができる。
【0074】
オートMLシステムは、限定ではなく、解初期化、解選択、データ前処理、特徴前処理、ハイパーパラメータ最適化、モデル評価、モデルアンサンブル化、誤差解析、モデル及び予測解釈、並びにモデルライフサイクル管理を含む、自動機械学習タスクを実行するためのソフトウェア構成要素を含む機械学習ライブラリを用いて実装することができる。ユーザは、ライブラリ中の関数を呼び出すとともに、計算及びデータ記憶も管理するコードを書く。
【0075】
一実施態様例において、オートMLシステムはワークベンチとして実装することができ、ワークベンチは、オートMLライブラリにおいて提供される関数を見せるグラフィカルユーザインターフェース(GUI)を有するオンプレミスソフトウェアである。ユーザは、GUIを用いて自動機械学習タスクを容易に実行することができる。ユーザは計算及びデータ記憶を管理することが求められる。
【0076】
別の実施態様例において、オートMLシステムは、ウェブベースのユーザインターフェースを通してオートMLライブラリを見せるソフトウェアアズアサービス(SaaS)ベースの解として実装することができる。サービスプロバイダは計算及びデータ記憶を管理する。ユーザはオートMLサービスに加入し、データをサービスプロバイダにアップロードし、ウェブベースのユーザインターフェースを使用して自動機械学習タスクを実行する必要がある。
【0077】
実施態様例は、オートMLライブラリを見せるためのマイクロサービス及び/又はマイクロアプリケーションとして容易にすることができる。
【0078】
実施態様例は、限定ではなく、解初期化、解選択、データ前処理、特徴前処理、ハイパーパラメータ最適化、モデル評価、モデルアンサンブル化、誤差解析、モデル及び予測解釈、及びモデルライフサイクル管理を含む、自動機械学習タスクを実行するためのソフトウェア構成要素からなるオープンソース機械学習ライブラリとして容易にすることができる。ユーザは、ライブラリ中の関数を呼び出し、計算及びデータ記憶を管理するコードを書く必要がある。
【0079】
図8は、幾つかの実施態様例における使用に適した一例のコンピュータデバイスを有する一例の計算環境を示す。計算環境800におけるコンピュータデバイス805は、1又は複数の処理ユニット、コア、又はプロセッサ810、メモリ815(例えばRAM、ROM等)、内部ストレージ820(例えば磁気、光、ソリッドステートストレージ及び/又は有機)、及び/又はIOインターフェース825を含むことができ、これらの任意は、情報を通信するために通信機構又はバス830に接続することができ、又はコンピュータデバイス805に組み込むことができる。IOインターフェース825は、所望の実施態様に応じて、カメラから画像を受信し、又は画像をプロジェクタ又はディスプレイに提供するようにも構成される。
【0080】
コンピュータデバイス805は、入力/ユーザインターフェース835及び出力デバイス/インターフェース840に通信可能に接続することができる。入力/ユーザインターフェース835及び出力デバイス/インターフェース840のいずれか一方又は両方は、有線又は無線インターフェースとすることができ、切り離し可能とすることができる。入力/ユーザインターフェース835は、物理的であるか仮想であるかを問わず、入力の提供に使用することができる任意のデバイス、構成要素、センサ、又はインターフェース(例えばボタン、タッチスクリーンインターフェース、キーボード、ポインティング/カーソル制御、マイクロホン、カメラ、点字、運動センサ、光学リーダ等)を含んでもよい。出力デバイス/インターフェース840は、ディスプレイ、テレビジョン、モニタ、プリンタ、スピーカ、点字等を含んでもよい。幾つかの実施態様例において、入力/ユーザインターフェース835及び出力デバイス/インターフェース840は、コンピュータデバイス805に組み込むことができ、又は物理的に接続することができる。他の実施態様例において、他のコンピュータデバイスは、入力/ユーザインターフェース835及び出力デバイス/インターフェース840として機能してもよく、又はそれらの機能をコンピュータデバイス805に提供してもよい。
【0081】
コンピュータデバイス805の例には、限定ではなく、高度モバイルデバイス(例えばスマートフォン、車両及び他の機械内のデバイス、人間及び動物によって携帯されるデバイス等)、モバイルデバイス(例えばタブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビジョン、ラジオ等)、及び可動のために設計されないデバイス(例えばデスクトップコンピュータ、他のコンピュータ、情報キオスク、1又は複数のプロセッサが内蔵され、及び/又は1又は複数のプロセッサに接続されているテレビ、ラジオ等)を含んでもよい。
【0082】
コンピュータデバイス805は、同じ又は異なる構成の1又は複数のコンピュータデバイスを含む、任意の数のネットワーク接続された構成要素、デバイス、及びシステムと通信するために、外部ストレージ845及びネットワーク850に通信可能に接続することができる(例えばIOインターフェース825を介して)。コンピュータデバイス805又は任意の接続されたコンピュータデバイスは、サーバ、クライアント、シンサーバ、一般機械、専用機械、又は別の名称のものとして機能することができ、それらのサービスを提供でき、又は、それらとして呼ばれることができる。
【0083】
IOインターフェース825は、限定ではなく、計算環境800内の接続された構成要素、デバイス、及びネットワークの少なくとも全てに及び/又はそれらから情報を通信するために、任意の通信、IOプロトコル又は標準(例えばイーサネット、802.11x、ユニバーサルシステムバス、WiMax、モデム、セルラネットワークプロトコル等)を使用する有線インターフェース及び/又は無線インターフェースを含むことができる。ネットワーク850は、任意のネットワーク又はネットワーク(例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話回線網、セルラネットワーク、衛星ネットワーク等)の任意の組合せとしてもよい。
【0084】
コンピュータデバイス805は、一時的媒体及び非一時的媒体を含む、コンピュータ使用可能又はコンピュータ可読媒体を使用することができ、及び/又はそれを使用して通信することができる。一時的媒体は、伝送媒体(例えば金属ケーブル、光ファイバ)、信号、搬送波等を含む。非一時的媒体は、磁気媒体(例えばディスク及びテープ)、光媒体(例えばCD-ROM、デジタルビデオディスク、ブルーレイディスク)、ソリッドステート媒体(例えばRAM、ROM、フラッシュメモリ、ソリッドステートストレージ)、及び他の不揮発性ストレージ又はメモリを含む。
【0085】
コンピュータデバイス805は、幾つかの計算環境例において技法、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令を実施するために使用することができる。コンピュータ実行可能命令は、一時的媒体から検索して非一時的媒体に記憶し、非一時的媒体から検索することができる。実行可能命令は、任意のプログラミング、スクリプト、及び機械言語(例えばC、C++、C#、Java、Visual Basic、Python、Perl、JavaScript等)の1又は複数から由来することができる。
【0086】
プロセッサ810は、ネイティブ又は仮想環境において任意のオペレーティングシステム(OS)(図示せず)下で実行することができる。異なるユニットが互いに、OSと、及び他のアプリケーション(図示せず)と通信するために、論理ユニット860、アプリケーションプログラミングインターフェース(API)ユニット865、入力ユニット870、出力ユニット875、及びユニット間通信機構895を含む1又は複数のアプリケーションをデプロイすることができる。記載されたユニット及び要素は、設計、機能、設定、又は実装において様々であることができ、提供された説明に限定されない。プロセッサ810は、中央演算処理装置(CPU)等のハードウェアプロセッサの形態とすることができ、又はハードウェアユニットとソフトウェアユニットとの組合せとしてもよい。
【0087】
幾つかの実施態様例において、情報又は実行命令がAPIユニット865によって受信されると、情報又は命令は1又は複数の他のユニット(例えば論理ユニット860、入力ユニット870、出力ユニット875)に通信されてもよい。いくつかの例では、論理ユニット860は、上述した幾つかの実施態様例において、ユニット間の情報フローを制御し、APIユニット865、入力ユニット870、出力ユニット875によって提供されるサービスを指示するように構成してもよい。例えば、1又は複数のプロセス又は実施態様の流れは、論理ユニット860によって単独で又はAPI865と併せて制御されてもよい。入力ユニット870は、実施態様例で記載された計算の入力を取得するように構成されてもよく、出力ユニット875は、実施態様例で記載された計算に基づいて出力を提供するように構成されてもよい。
【0088】
プロセッサ810は、図2aから図2c)に示されるように、解設定ファイルにおいて指定された複数の機械学習モデルに対応する複数の機械学習ライブラリを入力し、解設定ファイルによって指定されたデータセットからメタデータを抽出し、抽出されたメタデータを過去メタデータに関連付けることによって解設定ファイルにおいて指定された複数の機械学習モデルからデータセットの解候補を生成し、過去メタデータに基づいて解候補を改良し、複数の機械学習モデルのパラメータの選択を通して解候補を最適化し、解設定ファイルにおいて指定された評価パラメータに基づいて複数の機械学習モデルからの解候補を評価するように構成された統一され、カスタマイズ可能、及び拡張可能な自動機械学習(オートML)フレームワークを生成するように構成することができる。それによりそのような実施態様例は、設定ファイルを利用して、複数の機械学習ライブラリをフレームワークと、選択されたモデルを解設定ファイルに組み込むことを促進することができ、フレームワークは、所望の実施態様に従って解設定ファイルを通してカスタマイズすることができる。そのような実施態様例は、フレームワークでの使用に単一の静的機械学習モデルしか提供しない関連技術の解決策に対する改良である。
【0089】
プロセッサ810は、図5b及び図5dに示されるように、解設定ファイルによって指定された問題から問題メタデータを抽出することであって、抽出された問題メタデータ及び抽出されたデータメタデータをデータベース中の過去問題メタデータ及び過去データメタデータと照合することからデータベース中の関連する過去データセットを特定することによって解候補を生成することと、関連する過去データセットの各々に適用される解設定ファイルで指定された複数の機械学習モデルのうちの機械学習モデルの解候補及びスコアを取得することと、スコアに基づいて、問題及びデータセットについて解候補を提供することにより解候補を生成する解設定ファイルにおいて指定された機械学習モデルから解候補を提供することと、を行うように構成されるようにすることができる。
【0090】
プロセッサ810は、図5bに示されるように、再帰協調フィルタリングを実行して、過去データセットのうちの過去データセットのスコアを有さない複数の機械学習モデルのうちの機械学習モデルの欠損スコアを導出し、次いで新たな問題データセットの解候補のリストを改良することにより、過去メタデータに基づいて解候補を改良するように構成されるようにすることができる。
【0091】
プロセッサ810は、図6に示されるように、解候補に対応する解設定ファイルで指定された複数の機械学習モデルのうちの機械学習モデルについてのハイパーパラメータ最適化プロセスを実行することと、ハイパーパラメータ最適化プロセスから決定された最良パラメータを有する複数の機械学習モデルのうちの機械学習モデルから、ハイパーパラメータ最適化プロセスから決定される最良モデルを選択することとを行うことにより、解候補を最適化するように構成されるようにすることができる。
【0092】
プロセッサ810は、図5cに示されるように、機械学習ドメイン知識に基づいて解設定ファイルによって指定された潜在解カテゴリのリストからメタデータを抽出するように構成されるようにすることができ、解候補を生成することは、解設定ファイルで指定された複数の機械学習モデルの各々の解メタデータをクラスタリングすることを含む。
【0093】
プロセッサ810は、図7に示されるように、閾値を超えるスコアと関連する解候補のうちの解候補に対してモデル後処理を実行することを含む、解設定ファイルで指定された評価パラメータに基づいて複数の機械学習モデルから解候補を評価するように構成されるようにすることができる。
【0094】
プロセッサ810は、図3に示されるように、解設定ファイルによって指定されたデータセットに対してデータ結合を実行して、データセットの追加のデータを生成するように構成されるようにすることができる。
【0095】
詳細な説明の幾つかの部分は、アルゴリズム及びコンピュータ内の動作の象徴表現に関して提示されている。これらのアルゴリズム的説明及び象徴表現は、データ処理技術分野の当業者が、他の当業者に革新の本質を伝えるために使用する手段である。アルゴリズムは、所望の終了状態又は結果に繋がる一連の定義されたステップである。実施態様例において、実行されるステップは、有形結果を達成するために有形数量の物理的操作を必要とする。
【0096】
特記される場合を除き、論考から明らかなように、説明全体を通して、「処理」、「計算」、「算出」、「特定」、「表示」等の用語を利用する論考は、コンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表されるデータを操作、変換して、コンピュータシステムのメモリ若しくはレジスタ又は他の情報ストレージ、伝送又は表示デバイス内の物理量として同様に表される他のデータにする、コンピュータシステム又は他の情報処理デバイスの動作及びプロセスを含むことができることが理解される。
【0097】
実施態様例は、本明細書における動作を実行する装置に関することもできる。この装置は、求められる目的に向けて特に構築されてもよく、又は1又は複数のコンピュータプログラムによって選択的にアクティブ化又は再構成された1又は複数の汎用コンピュータを含んでもよい。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体又はコンピュータ可読信号媒体等のコンピュータ可読媒体に記憶し得る。コンピュータ可読記憶媒体は、限定ではなく、光ディスク、磁気ディスク、リードオンリーメモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びドライブ、又は電子情報の記憶に適した他の任意のタイプの有形若しくは非一時的媒体等の有形媒体を含んでもよい。コンピュータ可読信号媒体は、搬送波等の媒体を含んでもよい。本明細書に提示されるアルゴリズム及び表示は本質的にいかなる特定のコンピュータ又は他の装置にも関連しない。コンピュータプログラムは、所望の実施態様の動作を実行する命令を含む純粋なソフトウェア実施態様を含むことができる。
【0098】
種々の汎用システムを本明細書における例によるプログラム及びモジュールと併用してもよく、又は所望の方法ステップを実行するより特化された装置を構築するほうが好都合であるとわかることがある。加えて、実施態様例はいかなる特定のプログラミング言語も参照して説明されていない。本明細書に記載されるような実施態様例の教示を実施するために、多様なプログラミング言語が使用可能なことが理解されよう。プログラミング言語の命令は、1つ又は複数の処理デバイス、例えば中央演算処理装置(CPU)、プロセッサ、又はコントローラによって実行されてもよい。
【0099】
当技術分野で既知のように、上記動作はハードウェア、ソフトウェア、又はソフトウェアとハードウェアとの何らかの組合せによって実行することができる。実施態様例の種々の態様は回路及び論理デバイス(ハードウェア)を使用して実施してもよい、一方、他の態様は、機械可読媒体(ソフトウェア)に記憶された命令を使用して実施してもよい、命令は、プロセッサによって実行される場合、プロセッサに、本願の実施態様を実行する方法を実行させる。さらに、本願の幾つかの実施態様例は、ハードウェアだけで実行されてもよい、一方、他の実施態様例はソフトウェアだけで実行されてもよい。さらに、記載された種々の機能は単一のユニットで実行することができ、又は任意の数の方法で幾つかの構成要素にわたって分散することができる。ソフトウェアによって実行される場合、方法は、コンピュータ可読媒体に記憶された命令に基づいて、汎用コンピュータ等のプロセッサによって実行されてもよい。所望の場合、命令はメディアに圧縮及び/又は暗号化されたフォーマットで記憶することができる。
【0100】
さらに、本明細書を考慮し、本願の教示を実施することから、本願の他の実施態様が当業者に明らかになろう。記載の実施態様例の種々の態様及び/又は構成要素は単独で又は任意の組合せで使用されてもよい。本明細書及び実施態様例が単なる例として見なされるべきであり、本願の真の範囲及び趣旨は以下の特許請求の範囲によって示されることが意図される。
図1
図2a
図2b
図2c
図3
図4
図5a
図5b
図5c
図5d
図6
図7
図8