(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-09-05
(54)【発明の名称】自動化されたデータサイエンスプロセスのためのシステム及び方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20230829BHJP
【FI】
G06N20/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023510484
(86)(22)【出願日】2020-08-20
(85)【翻訳文提出日】2023-02-13
(86)【国際出願番号】 US2020047221
(87)【国際公開番号】W WO2022039748
(87)【国際公開日】2022-02-24
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520155228
【氏名又は名称】ヒタチ ヴァンタラ エルエルシー
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】ザン, ヨンシャン
(72)【発明者】
【氏名】リン, ウェイ
(72)【発明者】
【氏名】シュマルゾ, ウィリアム
(57)【要約】
本明細書で説明される例示的な実施形態は、自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのためのシステム及び方法であって、本システム及び方法が、第1のシステムにおけるオフライン学習プロセスを通して予測モデル及び処方モデルを生成することと、予測モデル及び処方モデルを第2のシステムにデプロイすることを通して第2のシステムの動作を制御することと、処方モデル及び予測モデルが第2のシステムにデプロイされた状態で、オンライン学習プロセスを通した第2のシステムからのフィードバックから予測モデル及び処方モデルを自律的に更新することを含み得る、システム及び方法を対象とする。
【特許請求の範囲】
【請求項1】
自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのための方法であって、前記方法が、
第1のシステムにおけるオフライン学習プロセスを通して予測モデル及び処方モデルを生成することと、
前記予測モデル及び前記処方モデルを第2のシステムにデプロイすることを通して前記第2のシステムの動作を制御することと、
前記処方モデル及び前記予測モデルが前記第2のシステムにデプロイされた状態で、オンライン学習プロセスを通した前記第2のシステムからのフィードバックから前記処方モデル及び前記予測モデルを自律的に更新することと
を含む、方法。
【請求項2】
前記予測モデル及び前記処方モデルを前記第2のシステムにデプロイすることを通して前記第2のシステムの動作を前記制御することが、前記処方モデルから生成された処方アクションの自動適用を実行して前記第2のシステムの動作を変更することを含む、請求項1に記載の方法。
【請求項3】
前記第1のシステムにおける前記オフライン学習プロセスを通して前記予測モデル及び前記処方モデルを前記生成することが、
ソリューション構成ファイルから、記述分析を実施するように構成された記述コンポーネントを生成することと、
前記ソリューション構成ファイル及び前記記述分析から、探索的分析を実施するように構成された探索コンポーネントを生成することと、
前記ソリューション構成ファイル及び前記探索的分析から、前記ソリューション構成ファイルで指定された1つ又は複数の機械学習ライブラリを組み込んで前記予測モデルを生成するように構成された予測コンポーネントを生成することと、
前記ソリューション構成ファイル及び前記予測モデルから、前記予測モデルからの結果に処方アクションをマッピングして処方モデルを生成するように構成された処方コンポーネントを生成することと
を含む、請求項1に記載の方法。
【請求項4】
前記予測モデル及び前記処方モデルを前記第2のシステムにデプロイすることを通して前記第2のシステムの動作を前記制御することが、
オンラインとなるように、且つ前記第2のシステムからリアルタイムデータを取り込むように構成されるように前記予測モデル及び前記処方モデルをデプロイすることと、
前記リアルタイムデータから前記予測モデルを通して予測を生成することと、
前記予測から前記処方モデルを通して処方アクションを生成することと、
前記処方アクションにしたがって前記第2のシステムの前記動作を制御することと
を含む、請求項1に記載の方法。
【請求項5】
前記予測モデル及び前記処方モデルが前記第2のシステムにデプロイされた状態で、前記オンライン学習プロセスを通した前記第2のシステムからの前記フィードバックから前記予測モデル及び前記処方モデルを前記自律的に更新することが、
前記第2のシステムからの前記フィードバックと、前記動作を前記制御することに関連する前記予測モデルからの予測との間の差分に基づいて、誤差を求めることと、
前記第2のシステムにおいて、前記予測モデル及び前記処方モデルが前記第2のシステムにデプロイされた状態で、継続的学習プロセスを通したリアルタイムデータ、前記誤差、及び前記フィードバックに基づいて前記予測モデル及び前記処方モデルを再訓練することと、
前記予測モデル及び前記処方モデルよりも良好な性能を有する前記再訓練された予測モデル及び前記再訓練された処方モデルについて、前記再訓練された処方モデル及び前記再訓練された予測モデルを前記第2のシステムにデプロイすることと
を含む、請求項1に記載の方法。
【請求項6】
前記第2のシステムにおいて、前記予測モデル及び前記処方モデルが前記第2のシステムにデプロイされた状態で、前記継続的学習プロセスを通した前記リアルタイムデータ、前記誤差、及び前記フィードバックに基づいて前記予測モデル及び前記処方モデルを前記再訓練することが、
再訓練された予測モデル及び再訓練された処方モデルを生成するための機械学習プロセスを前記第2のシステムのサブシステムに関連付けられた複数のローカルモデルに配布することと、
前記複数のローカルモデルを反復してアンサンブルさせて複数の再訓練された予測モデル及び複数の再訓練された処方モデルを生成し、前記生成された複数の再訓練された予測モデルのうちの1つ及び前記生成された複数の再訓練された処方モデルのうちの1つを選択して、前記機械学習プロセスに配布して戻すことと、
前記複数のローカルモデルをアンサンブルさせて、前記再訓練された予測モデル及び前記再訓練された処方モデルを生成することと
を含む、請求項5に記載の方法。
【請求項7】
前記第2のシステムにおいて、前記予測モデル及び前記処方モデルが前記第2のシステムにデプロイされた状態で、前記継続的学習プロセスを通した前記リアルタイムデータ、前記誤差、及び前記フィードバックに基づいて前記予測モデル及び前記処方モデルを前記再訓練することが、
強化学習プロセス又は転移学習プロセスの1つ又は複数を通した前記リアルタイムデータ、前記誤差、及び前記フィードバックに基づいて前記予測モデル及び前記処方モデルを再訓練すること
を含む、請求項5に記載の方法。
【請求項8】
自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのためのシステムであって、前記システムが、
第1のシステムであって、
オフライン学習プロセスを通して予測モデル及び処方モデルを生成し、
前記予測モデル及び前記処方モデルを第2のシステムにデプロイすることを通して前記第2のシステムの動作を制御し、
前記処方モデル及び前記予測モデルが前記第2のシステムにデプロイされた状態で、オンライン学習プロセスを通した前記第2のシステムからのフィードバックから前記処方モデル及び前記予測モデルを自律的に更新する
ように構成されたプロセッサを備えた、第1のシステム
を備える、システム。
【請求項9】
前記プロセッサが、前記第2のシステムの動作を変更する前記処方モデルから生成された処方アクションの自動適用を実行することによって、前記予測モデル及び前記処方モデルを前記第2のシステムにデプロイすることを通して前記第2のシステムの動作を制御するように構成される、請求項8に記載のシステム。
【請求項10】
前記プロセッサが、
ソリューション構成ファイルから、記述分析を実施するように構成された記述コンポーネントを生成することと、
前記ソリューション構成ファイル及び前記記述分析から、探索的分析を実施するように構成された探索コンポーネントを生成することと、
前記ソリューション構成ファイル及び前記探索的分析から、前記ソリューション構成ファイルで指定された1つ又は複数の機械学習ライブラリを組み込んで前記予測モデルを生成するように構成された予測コンポーネントを生成することと、
前記ソリューション構成ファイル及び前記予測モデルから、前記予測モデルからの結果に処方アクションをマッピングして処方モデルを生成するように構成された処方コンポーネントを生成することと
によって、前記第1のシステムにおける前記オフライン学習プロセスを通して前記予測モデル及び前記処方モデルを生成するように構成される、請求項8に記載のシステム。
【請求項11】
前記プロセッサが、
オンラインとなるように、且つ前記第2のシステムからリアルタイムデータを取り込むように構成されるように前記予測モデル及び前記処方モデルをデプロイすることと、
前記リアルタイムデータから前記予測モデルを通して予測を生成することと、
前記予測から前記処方モデルを通して処方アクションを生成することと、
前記処方アクションにしたがって前記第2のシステムの前記動作を制御することと
によって、前記予測モデル及び前記処方モデルを前記第2のシステムにデプロイすることを通して前記第2のシステムの動作を制御するように構成される、請求項8に記載のシステム。
【請求項12】
前記プロセッサが、
前記第2のシステムからの前記フィードバックと、前記動作を前記制御することに関連付けられた前記予測モデルからの予測との間の差分に基づいて、誤差を求めることと、
前記第2のシステムが、前記予測モデル及び前記処方モデルが前記第2のシステムにデプロイされた状態で、継続的学習プロセスを通したリアルタイムデータ、前記誤差、及び前記フィードバックに基づいて前記予測モデル及び前記処方モデルを再訓練するように構成されることと、
前記予測モデル及び前記処方モデルよりも良好な性能を有する前記再訓練された予測モデル及び前記再訓練された処方モデルについて、前記再訓練された処方モデル及び前記再訓練された予測モデルを前記第2のシステムにデプロイすることと
によって、前記予測モデル及び前記処方モデルが前記第2のシステムにデプロイされた状態で、前記オンライン学習プロセスを通した前記第2のシステムからの前記フィードバックから前記予測モデル及び前記処方モデルを自律的に更新するように構成される、請求項8に記載のシステム。
【請求項13】
前記第2のシステムが、
再訓練された予測モデル及び再訓練された処方モデルを生成するための機械学習プロセスを前記第2のシステムのサブシステムに関連付けられた複数のローカルモデルに配布することと、
前記複数のローカルモデルを反復してアンサンブルさせて複数の再訓練された予測モデル及び複数の再訓練された処方モデルを生成し、前記生成された複数の再訓練された予測モデルのうちの1つ及び前記生成された複数の再訓練された処方モデルのうちの1つを選択して前記機械学習プロセスに配布して戻すことと、
前記複数のローカルモデルをアンサンブルさせて、前記再訓練された予測モデル及び前記再訓練された処方モデルを生成することと
によって、前記予測モデル及び前記処方モデルが前記第2のシステムにデプロイされた状態で、前記継続的学習プロセスを通した前記リアルタイムデータ、前記誤差、及び前記フィードバックに基づいて前記予測モデル及び前記処方モデルを再訓練するように構成される、請求項12に記載のシステム。
【請求項14】
前記第2のシステムが、
強化学習プロセス又は転移学習プロセスの1つ又は複数を通した前記リアルタイムデータ、前記誤差、及び前記フィードバックに基づいて前記予測モデル及び前記処方モデルを再訓練すること
によって、前記予測モデル及び前記処方モデルが前記第2のシステムにデプロイされた状態で、前記継続的学習プロセスを通した前記リアルタイムデータ、前記誤差、及び前記フィードバックに基づいて前記予測モデル及び前記処方モデルを再訓練するように構成される、請求項13に記載のシステム。
【請求項15】
自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのための命令を記憶する非一時的コンピュータ可読媒体であって、前記命令が、
第1のシステムにおけるオフライン学習プロセスを通して予測モデル及び処方モデルを生成することと、
前記予測モデル及び前記処方モデルを第2のシステムにデプロイすることを通して前記第2のシステムの動作を制御することと、
前記処方モデル及び前記予測モデルが前記第2のシステムにデプロイされた状態で、オンライン学習プロセスを通した前記第2のシステムからのフィードバックから前記処方モデル及び前記予測モデルを自律的に更新することと
を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、データサイエンス技法に関し、より詳細には、データサイエンスプロセス及び自動化された機械学習(AutoML)に関する。
【背景技術】
【0002】
従来技術では、データサイエンスプロセスは、分析ソリューション及びインテリジェントアプリケーションを効率的且つ効果的に提供するための方法論を定義する。自動化された機械学習(AutoML)は、与えられたデータに対して自動的にモデルを構築することができるフレームワークのシステムであり、これにより、MLパイプラインにおいて最大数のステップが自動化され、人間の労力が最小限となり、モデル性能が向上する。
【0003】
従来技術の実装形態には、予測コンポーネントを含むAutoMLフレームワークが存在する。従来技術のAutoMLフレームワークは、特定のML実装形態に特化し、一般にカスタマイズ可能ではない静的な実装形態を含む。更に、そのような従来技術の実装形態は、自動化されたデータサイエンスプロセスを利用していない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来技術の実装形態は、記述的及び探索的分析を支援するためのコンポーネント、処方的、自動化、又は自律的学習コンポーネントを持たない。本明細書で説明される例示的な実装形態は、自動化されたデータサイエンスプロセスを提供するように構成された、統合され高度にカスタマイズ可能且つ拡張可能なフレームワークを通して、予測コンポーネントに加えてこれらのコンポーネントを支援することを対象とする。
【0005】
従来のデータサイエンスプロセスはいくつかの課題を有する。第1に、従来のデータサイエンスプロセスは、価値主導型タスクをサポートするには十分に包括的ではない。具体的にどのように価値を推進するかをデータサイエンスの専門家が理解できるようにする包括的なプロセスが求められている。第2に、従来のデータサイエンスプロセスでは、オフラインプロセスのみに主眼が置かれている。従来技術では、オンラインのデータサイエンスプロセスは提案されておらず、オフラインプロセスとオンラインプロセスとの両方を組み合わせたデータサイエンスプロセスも存在しない。オフラインプロセスとオンラインプロセスとの両方をサポートするデータサイエンスプロセスが求められている。オンラインプロセスは、動的システムにおけるリアルタイムデータに基づいて最良適合モデルを得るための自動化及び自律学習を支援することから、実世界のシステムにおいて重要な場合がある。更に、従来のデータサイエンスプロセスでは、人間がかなりの量の手作業を行う必要がある。データサイエンスプロセスにおけるタスクを自動的に行うシステムが求められている。
【0006】
AutoMLフレームワークの従来技術の実装形態はいくつかの欠陥を有する。第1に、従来技術のAutoMLフレームワークは、データサイエンスタスクの「予測」の側面のみを扱う一方、データサイエンスプロセスの他のコンポーネントにおける一般的な作業は自動化されていない。データサイエンスプロセスにおける一般的な作業を自動化するシステムが求められている。
【0007】
従来技術の実装形態では、各AutoMLライブラリは、1つの基礎となる機械学習ライブラリしかサポートしない。様々な機械学習ライブラリをサポートする統合された拡張可能なシステムを支援することが求められている。
【課題を解決するための手段】
【0008】
上記の求めに対処するために、本明細書で説明される例示的な実装形態は、記述的、探索的、予測的、処方的、自動化、且つ自律的であると共に、価値主導型タスクをサポートするように構成された包括的なデータサイエンスシステムを含む。このプロセスはオフラインプロセスとオンラインプロセスとを含み、オフラインプロセスとオンラインプロセスとは全体で1つのシステムとしてシームレスに統合される。
【0009】
本明細書で説明される例示的な実装形態では、過去のデータに対するすべてのデータサイエンスタスクのための方法論及びワークフローを定義するオフラインプロセスが存在する。このプロセスは、システムの記述的、探索的、予測的、且つ処方的な側面を支援する最初の4つのコンポーネントに対応する。
【0010】
本明細書で説明される例示的な実装形態では、リアルタイムデータに対するすべてのデータサイエンスタスクのための方法論及びワークフローを定義するオンラインプロセスが存在する。このプロセスは、システムの予測的、処方的、自動化、自律的な側面を支援する最後の4つのコンポーネントに対応する。
【0011】
本明細書で説明される例示的な実装形態では、AutoMLがプロセスの各ステップに適用されて手作業を減らし、アウトカムを最適化するデータサイエンスプロセスのための自動化されたシステムが存在する。統合されたカスタマイズ可能且つ拡張可能なフレームワークが、システムをサポートするために導入され提供される。
【0012】
本開示の態様は、自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのための方法であって、本方法が、第1のシステムにおけるオフライン学習プロセスを通して予測モデル及び処方モデルを生成することと、予測モデル及び処方モデルを第2のシステムにデプロイすることを通して第2のシステムの動作を制御することと、処方モデル及び予測モデルが第2のシステムにデプロイされた状態で、オンライン学習プロセスを通した第2のシステムからのフィードバックから処方モデル及び予測モデルを自律的に更新することを含む、方法を含み得る。
【0013】
本開示の態様は、自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのためのシステムであって、本システムが、第1のシステムにおけるオフライン学習プロセスを通して予測モデル及び処方モデルを生成するための手段と、予測モデル及び処方モデルを第2のシステムにデプロイすることを通して第2のシステムの動作を制御するための手段と、処方モデル及び予測モデルが第2のシステムにデプロイされた状態で、オンライン学習プロセスを通した第2のシステムからのフィードバックから処方モデル及び予測モデルを自律的に更新するための手段を含む、システムを含み得る。
【0014】
本開示の態様は、自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのための命令を記憶する非一時的コンピュータ可読媒体であって、本命令が、第1のシステムにおけるオフライン学習プロセスを通して予測モデル及び処方モデルを生成することと、予測モデル及び処方モデルを第2のシステムにデプロイすることを通して第2のシステムの動作を制御することと、処方モデル及び予測モデルが第2のシステムにデプロイされた状態で、オンライン学習プロセスを通した第2のシステムからのフィードバックから処方モデル及び予測モデルを自律的に更新することを含む、非一時的コンピュータ可読媒体を含み得る。
【0015】
本開示の態様は、自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのためのシステムであって、本システムが、オフライン学習プロセスを通して予測モデル及び処方モデルを生成し、予測モデル及び処方モデルを第2のシステムにデプロイすることを通して第2のシステムの動作を制御し、処方モデル及び予測モデルが第2のシステムにデプロイされた状態で、オンライン学習プロセスを通した第2のシステムからのフィードバックから処方モデル及び予測モデルを自律的に更新するように構成されたプロセッサを備えた第1のシステムを備える、システムを含み得る。
【図面の簡単な説明】
【0016】
【
図1a】例示的な実装形態による、オフラインプロセスとオンラインプロセスとの両方のための自動化されたシステムの一例を示す。
【0017】
【
図1b】例示的な実装形態による、オフラインプロセスの例示的なフローを示す。
【0018】
【
図2】例示的な実装形態による、オフラインシステムと統合された場合のオンラインシステムの例示的なワークフローを示す。
【0019】
【
図3】例示的な実装形態による、自動化された適応型コホート学習の一例を示す。
【0020】
【
図4】例示的な実装形態によるソリューション構成ファイルの一例を示す。
【0021】
【
図5a】例示的な実装形態による、自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのための例示的なフロー図を示す。
【
図5b】例示的な実装形態による、自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのための例示的なフロー図を示す。
【0022】
【
図6】例示的な実装形態による、複数のシステムと管理装置とを示す。
【0023】
【
図7】いくつかの例示的な実施形態で使用するのに適した例示的なコンピュータデバイスを含む例示的なコンピューティング環境を示す。
【発明を実施するための形態】
【0024】
以下の詳細な説明は、本出願の図面及び例示的な実装形態の詳細を提供する。明確にするために、図面間で重複する要素の参照符号及び説明は省略される。説明全体を通して使用される用語は、例として提示されるものであり、限定することを意図されたものではない。例えば「自動」という用語の使用は、本出願の実装形態を実施する当業者の所望の実装形態に応じて、実装形態の特定の態様に対するユーザ又は管理者の制御を含む全自動又は半自動の実装形態を含み得る。選択は、ユーザインターフェース又は他の入力手段を介してユーザによって実施されてもよいし、所望のアルゴリズムを介して実装されてもよい。本明細書で説明される例示的な実装形態は、単独で又は組み合わせて利用することができ、例示的な実装形態の機能は、望ましい実装形態にしたがって任意の手段を介して実装されてもよい。
【0025】
本明細書で説明される例示的な実装形態は、記述コンポーネント、探索コンポーネント、予測コンポーネント、処方コンポーネント、自動化コンポーネント、及び自律コンポーネントを含む、ビジネス価値の推進を助ける包括的なデータサイエンスプロセスを支援するシステムを対象とする。
【0026】
記述コンポーネントは、ビジネス上の問題、データ、及び技術の理解及び評価を対象とする。記述ステップは、データ統計、辞書、ダッシュボード、及びレポートの使用を通して、優先順位付け、実現可能性、投資利益率、及び実行可能なビジネスユースケースを提供する。記述ステップは、システムの成功を測る主要業績指標/メトリクスを特定するケース価値決定を利用する。記述ステップは、技術、データ、及び分析の実現可能性、並びにリスクを更に評価し、孤立した分析を避けるためにバリューチェーンを利用しながらのデータの理解及びサニティチェックを更に含む。
【0027】
探索コンポーネントは、仮説の構築及び立案、データ探索(例えば、相関分析、外れ値分析、トレンド、中心性、季節性分析など)、データ可視化の構築、実例分析、データエンジニアリング(例えば、統合、正規化)、並びにより良い予測因子として使用され得る変数の特定を通した探索的データ分析及びデータエンジニアリングを含む。
【0028】
予測コンポーネントは、記述コンポーネント及び探索コンポーネントから学習した知識に基づいて予測モデルを構築することを対象とする。予測コンポーネントは、統計的学習及び機械学習を用いた分析(因果関係の体系化)、「適合度」指標、データに埋め込まれたパターン/関係の体系化、データエンリッチメント、特徴量エンジニアリング、アセット及び物理挙動モデルの作成、並びに教師あり/教師なし/強化機械学習を含み得る。
【0029】
処方コンポーネントは、予測コンポーネントからの予測に応じて処方的な実行可能なレコメンデーションを生成することを対象とし、根本原因分析、説明可能な人工知能(AI)、実行可能なレコメンデーションの生成、アセット及び物理挙動モデルのマイニング及び組み込み、決定有効性の測定、並びに制約ベースの最適化の実施を含み得る。
【0030】
自動化コンポーネントは、動作環境又はシステムと統合すること、及び動作環境又は制御システムへの処方アクションの適用を自動化することに重点を置く。自動化コンポーネントは、モデルのデプロイ及び実行、モデルのライフサイクル管理、動作環境又は制御システムへの処方アクションの適用の自動化、スマート製品又はデバイス、インテリジェントアプリケーション、並びに決定有効性を含み得る。プログラマブルロジックコントローラ(PLC)、ロボット、可変周波数駆動装置(VFD)、スマート製品又はデバイス、センサなどを含む自動化ハードウェアコンポーネントは、処方アクションの適用を自動化することなどの自動化タスクをサポートするようにプログラムされ得る。自動化コンポーネントは、限定されるものではないが、生産性、スループット、及び収益の向上、製品品質の改善、健康及び安全の強化、光熱費/エネルギーコストの削減、産業システムのダウンタイムの短縮、並びにシステムの故障の診断時間の短縮及び保守/修理のコスト削減を含むいくつかの利益を促進し得る。
【0031】
自律コンポーネントは、新しいデータ及びフィードバックに基づく継続的学習に重点を置き、強化学習、転移学習、自動学習(例えば、知識ストア、知識グラフ、ユーザ行動など)、複数のサブシステム(又はドメイン)を通したコホート学習、並びに新しいデータ/証拠及び/又は誤差/フィードバックに基づく継続的学習の自動化を含み得る。自動化コンポーネント及び自律コンポーネントは一緒に統合されて、処方アクションの適用の自動化をサポートし、新しいデータ、誤差、及びフィードバックを取得し、予測モデル及び処方モデルを再訓練し、自律学習の能力を活用することによってより効率的且つ効果的に作業するようにシステムを制御することに関する処方アクションに関して知的決定を行う。このことは、システムの自動化をサポートするためにルールベースのモデル又はアルゴリズムが人間によって設計及び保守される従来技術の自動化システムとは対照的である。
【0032】
システムの多くのタスクは異なるデータサイエンスタスク間で汎用的であるため、本明細書で説明される例示的な実装形態は、開発時間を短縮し、ソリューションの性能を改善するために、各コンポーネントの汎用コンポーネントをAutoML技法により自動化する。
【0033】
図1(a)は、例示的な実装形態による、オフラインプロセスとオンラインプロセスとの両方のための自動化されたシステムの一例を示している。
図1(a)の例示的な実装形態では、自動化され得る汎用コンテンツの例示的なサブセットが示されている。
【0034】
図1(a)の例では、オフラインシステムは、記述コンポーネント100と、探索コンポーネント110と、予測コンポーネント120と、処方コンポーネント130とを含む。オフラインシステムは、オフラインデータ又は過去のデータに対して稼働する。オフラインシステムからの出力は、記述コンポーネント100及び探索コンポーネント110からのデータ分析結果、予測コンポーネント120からの予測モデル、並びに処方コンポーネント130からの処方モデルを含む。
【0035】
記述コンポーネント100は、入力として問題及びデータセットが提供されると、出力として記述分析101(例えば、データサニティチェック、統計など)を提供するように構成される。探索コンポーネント110は、与えられたデータセットが分析を実施するのに十分な品質である場合、与えられたデータセットの探索的分析111(例えば、相関、外れ値など)を提供するように構成される。予測コンポーネント120は、探索的分析が予測モデルを構築するのに十分な品質である場合、探索的分析に基づいて予測モデルを構築するように構成される。十分な品質ではない場合、十分な品質が達成されるまで、更なる記述分析又は探索的分析が実施され得る。予測コンポーネント120は、予測モデリングのための多くの活動を実施することができ、ソリューション初期化121、ソリューション選択122、ハイパーパラメータの最適化123、及び後処理124を含む。処方コンポーネント130は、予測モデルに基づいて処方モデル131(例えば、根本原因分析、レコメンデーション、説明可能なAIなど)を構築するように構成される。予測モデルが処方モデルを構築するのに十分な品質ではない場合、予測モデルは予測コンポーネント120によって再構築され得る。
【0036】
オンラインシステムの一例では、オンラインシステムは、オンラインデータ又はリアルタイムデータを入力として取り込むように構成される。オンラインシステムからの出力は、予測、実行可能なレコメンデーション、制御システム又は機械システムへの制御信号、及び継続的に学習されたモデルを含む。オンラインシステムの例示的な実装形態では、予測コンポーネント120は、オフラインシステムからのモデルをオンラインシステムにデプロイして、リアルタイムデータの入力に基づいて予測を実施するように構成される。処方コンポーネント130は、予測コンポーネント120から提供された予測に基づいて、処方モデルから処方アクションを生成するように構成される。
【0037】
自動化コンポーネント140は、制御システムに処方アクションを自動的に適用し、基礎となる機械/アセットの動作を変更するように構成される。自動化コンポーネント140は、デバイス/機器/プロセス/モデルの統合及びデプロイ141、並びにDevOps改善及びレコメンドされたアクションの適用の自動化142を含み得る。
【0038】
自律コンポーネント150は、観測されたインシデント及びアクションアイテムに対して関連する処方アクションと共に予測を比較することに基づいて誤差及び/又はフィードバックを求めるように構成される。リアルタイムデータ及び現在のバージョンのモデルを用いて、情報は、予測モデル及び処方モデルを再訓練して改善するために利用される。再訓練されたモデルは、予約されたテストデータに対して評価される。再訓練されたモデルは、より良好な性能を有する場合には再訓練されたモデルがオンラインシステムにデプロイされ、より良好な性能を持たない場合には現在の現行バージョンのモデルが留まる。自律コンポーネント150は、自己学習(例えば、強化学習)151、継続的学習152、転移学習153、及びコホート学習154を含み得る。
【0039】
図1(b)は、例示的な実装形態による、オフラインプロセスの例示的なフローを示している。最初に、
図1(a)に示すように、記述コンポーネント100が呼び出される。1000において、データが記述分析を支援するのに十分であるか否かの判定が行われる。十分である場合(はいの場合)、フローは、
図1(a)に示すように探索コンポーネント110に進んで探索分析を決定し、十分ではない場合(いいえの場合)、フローは、1010に進んでシステムに更なるデータを要求する。
【0040】
1001において、記述分析及び探索的分析がモデルを構築するのに十分な品質であるか否かの判定が行われる。十分な品質である場合(はいの場合)、フローは、予測コンポーネント120に進んで探索的分析及び予測分析から予測モデルを生成する。十分な品質ではない(いいえの場合)、フローは、1010に戻って分析を実施するために更なるデータを取得する。
【0041】
1002において、予測コンポーネント120によって生成された予測モデルが過去のデータに対して十分な精度を有するか否かの判定が行われる。十分な精度を有する場合(はいの場合)、フローは、処方コンポーネント130に進んで処方モデルを生成する。十分な精度を持たない場合(いいえの場合)、フローは、探索コンポーネント110に戻って更なる探索的分析を生成する。
【0042】
1003において、処方コンポーネント130によって生成された処方モデルが十分な精度を有するか否かの判定が行われる。十分な精度を有する場合(はいの場合)、フローは終了し、予測モデル及び処方モデルが基礎となるシステムにオンラインでデプロイされるとオンラインシステムが呼び出される。十分な精度を持たない場合(いいえの場合)、フローは、予測コンポーネント120に戻って予測モデルを再生成する。
【0043】
図2は、例示的な実装形態による、オフラインシステムと統合された場合のオンラインシステムの例示的なワークフローを示している。
図2に示すように、オンラインシステムは、オンラインデータ(又はリアルタイムデータ)に対して予測モデル及び処方モデルを適用するように稼働して、予測及び実行可能なレコメンデーションを生成し、制御システムにレコメンデーションを自動的に適用し、新しいデータ、誤差、及びフィードバックに基づいて継続的に自己学習する。ワークフローの一例は以下のとおりである。
【0044】
最初に、オフラインシステム210は、オンラインシステムのための予測モデル及び処方モデルを生成して提供するように構成され、その後、予測モデル及び処方モデルは、211においてオンラインシステムにデプロイされる。212において、モデルは、リアルタイムデータ220に対して予測221を実施するようにオンラインシステムで実行される。また、処方アクション231が予測221に基づいて処方モデルから生成され、制御システム230に自動的に適用される。次いで、制御システム/DevOps230は、アセット及び機械の働き方の構成を変更することによって処方アクションに応答し、それによってセンサから収集されたリアルタイムデータに影響を与える。
【0045】
リアルタイムで、予測221と220における観測された値とを比較することによって誤差が自動的に生成される。予測アクション及び処方アクションに関するフィードバックも操作者のログを解析することにより自動的に生成され得る。誤差、フィードバック、及び新しいデータは、自律学習200を通して予測モデル及び処方モデルの両方を再訓練するために組み合わされる。
【0046】
望ましい実装形態にしたがって、継続的学習、転移学習、強化学習、微調整技法、ブーストなどを含む、自律学習200のためのいくつかの技法が使用され得る。望ましい実装形態によっては、継続的学習が、リアルタイムで、又は予め定義されたスケジュールに基づいてなされ得る。再訓練されたモデルは、予約されたテストデータに対して評価され、モデルは、より良好な性能を有する場合には211においてオンラインシステムにデプロイされ、より良好な性能を持たない場合には現在のバージョンのモデルがオンラインシステムに留まる。
【0047】
別の例示的な実装形態では、再訓練されたモデルが既存モデルと並行してオンラインシステムにデプロイされ得る。既存のモデルと再訓練されたモデルとの両方がリアルタイムデータに対して稼働されて、予め定義された期間の予測及び処方アクションが生成される。しかしながら、予め定義された期間では、既存モデルから生成された予測及び処方アクションのみが有効になる。予め定義された期間が終了すると、既存モデルと再訓練されたモデルとが、予め定義された期間の予測及び処方アクションに基づいて評価されて比較され、より良好な性能を有するモデルがオンラインシステムに残されて有効になる。
【0048】
例示的な実装形態を通して、オンラインシステムは、基礎となる産業システムのリアルタイムな状況に基づいて、リアルタイムで「最良適合」ソリューションを求めようと試みる。モデル自身によって分析されるメトリクス及び目的は、基礎となる産業システムに基づいて望ましい実装形態にしたがって構成され得る。
【0049】
図2に示すように、モデルは、構築されると、物理ランタイム環境にデプロイされる。物理ランタイム環境(例えば、顧客環境)へのアクセスは難しく、コストがかかり得る。そのような問題に対処するために、例示的な実装形態は、物理ランタイム環境に容易にデプロイされ得るモデルを含むパッケージを含む。
【0050】
そのような例示的な実装形態を実現するために、モデルファイルが標準的なフォーマットでレンダリングされ、モデルファイルのパッケージが、モデルをデプロイ及び実行できるように任意の物理ランタイム環境にも移植可能であるように作られる。最初の課題を解決するために、例示的な実装形態は、モデルファイルに標準的なpickleファイル形式を使用し、モデルのライフサイクルを管理するためにMLFlowを使用する。2つ目の課題を解決するために、例示的な実装形態は、(モデルファイルを含む)MLFlowパッケージをDockerイメージにパッケージ化し、これは、MLFlowパッケージを含む仮想ランタイム環境であり、物理ランタイム環境ファシリティに加えて稼働し得る。
【0051】
機械学習のライフサイクル管理は、モデルの構築、モデルのデプロイ、モデルのバージョン管理などを含む、モデルのライフサイクルを管理する効率的な仕方である。本明細書で説明される例示的な実装形態では、提供されたモデルのフォーマットを標準化し、異なる実行環境で使用可能にすることに更に重点を置いている。本明細書における例示的な実装形態では、1つの実装形態は、モデルファイルにpickleファイル形式を用い、これをMLFlowパッケージにパッケージ化することであり、MLFlowは既存のモデルライフサイクル管理ツールである。モデルバージョニングはモデル性能に基づいて行われ、新しいモデルが構築されると、新しいモデルは、メトリクスに基づいて予約されたテストデータに対して評価される。評価結果が良好である場合(そして既存モデルよりも優れている場合)、新しいモデルは保持され、そうでなければ破棄される。再訓練されたモデルを選択する別の例示的な実装形態については、[0047]で説明している。
【0052】
自律学習は、変化する不確実な世界において、人間の支援又は監督を受けることなく機械(又は他の学習器)が自ら学習及び分析することを促進する人工知能(AI)手法である。自律学習を用いることにより、学習器が自律的に自らの学習プロセスを担う。自律学習は、自主学習とも呼ばれる。
【0053】
例示的な実装形態では、動的であり時間と共に変化する物理ランタイム環境にモデルがデプロイされた後、モデルは、人間の支援又は監督を受けることなく、
図2に示すように、物理ランタイム環境において収集された新しいリアルタイムデータ、誤差、及びフィードバックに基づいて自動的にモデルが調整及び改善される。この目的のために、強化学習、継続的学習、転移学習、コホート学習などを含む、いくつかの技法が使用され得る。
【0054】
強化学習は、不確実で潜在的に複雑な環境において、試行錯誤的に累積報酬の概念を最大化するために、ソフトウェアエージェントがどのようにアクションを起こすべきかに関係する機械学習の領域である。強化学習は、ランダムな試行によって開始され、ゴールを達成するための複雑な戦術により終了する。
【0055】
本明細書で説明される例示的な実装形態では、強化学習は、デプロイされたオフラインモデルから始まり(これはランダムな試行よりも優れる)、予測を作成し、処方アクションを生成する。処方アクションの適用により、収集されるデータを含む物理ランタイム環境の挙動が変化する。新しいデータ、モデル誤差、及びフィードバック、並びに問題のターゲットが収集され、次の処方アクションを計算するために使用される。ディープQネットワーク(Deep Q Network、DQN)、深層決定論的方策勾配法(Deep Deterministic Policy Gradient、DDPG)、近傍方策最適化(Proximal Policy Optimization、PPO)、双生遅延深層決定論的方策勾配法(Twin Delayed Deep Deterministic Policy Gradient、TD3)などを含む、いくつかの最先端技法が望ましい実装形態にしたがって使用され得る。
【0056】
強化学習モデリングにおける様々な要素を説明するために1つの例を提供する。1つの例では、プラントからの生産量を最適化するためのモデルが構築される。オフラインモデルを構築するために、プラントの生産量に対する主要な因子が決定されて特徴量として使用され、生産量は目標として使用されて、教師あり回帰モデルを構築する。オフラインモデルが構築されると、オフラインモデルはオンラインシステムにデプロイされ得る。ここで、以下のように、生産量を最適化するためにオフラインモデルに加えて強化学習が使用される。
【0057】
「状態」:状態は、学習エージェントが環境から受け取る観測値を定義する。この例では、センサの読み値、運転パラメータ、及び現在の生産量を含むのが現在のプラントの状態である。
【0058】
「方策」:方策は、学習エージェントが環境の現在の状態における所与の時点でどのように振る舞うかを定義する。この例では、方策は、プラントの知覚された現在の状態から生産量を最適化するために取られるべきアクションへのマッピングを定義する。
【0059】
「報酬」:報酬は、強化学習問題のゴールを定義する。この例では、報酬は「プラントの生産量」である。報酬は、即時的な意味でアクションのアウトカムを示し、各アクションが直ちに報酬につながる。
【0060】
「価値関数」:ある状態の価値は、その状態から学習エージェントが得ることを期待し得る報酬の総計である。この例では、ある状態から一定期間、例えば1ヶ月間のプラントの総生産量である。価値関数は、長期的に見た場合の報酬を定義する。
【0061】
オフラインモデルとオンラインモデルとでは使用される機械学習技法が異なり得ることに留意されたい。この例では、オフラインモデルは教師あり学習技法に基づく一方、オンラインモデルは強化学習技法に基づく。
【0062】
継続的学習は、システムで新たに収集されたデータを用いて、同一の問題に対して既存のモデルを段階的且つ継続的に改善することを促進する機械学習技法である。例示的な実装形態では、オフラインシステムからモデルが構築された後、モデルはオンラインシステムにデプロイされる。オンラインシステムにおいて収集された新しいリアルタイムデータが、モデルを再訓練し、より良好な性能を実現するためにモデルを改善するために使用される。新しいモデルは新しいデータに適応して、自らを最良適合モデルにする。モデルの再訓練は、訓練の必要性及びコストに応じて、リアルタイム、毎日、毎週などであり得る予め定義されたスケジュールで行われ得る。継続的学習では、オフラインモデルとオンラインモデルとで使用される機械学習技法は同じである。
【0063】
転移学習は、ある問題に対して、関連する問題から学習した知識を活用することによってモデルを構築することを促進する機械学習技法である。転移学習を使う理由としては、新しい問題のための過去のデータが十分ではないこと、新しい問題からのデータでは訓練コストが非常に高いこと、新しい問題と既存の問題とが非常に似ており、新しい問題は既存の問題に対して構築されたモデルから恩恵を受け得ることが挙げられる。本明細書で説明される例示的な実装形態では、ある問題のためにオフラインモデルが構築された後、オフラインモデルは、別の問題のためにオンラインシステムにデプロイされる。モデルは、オンラインシステムからのリアルタイムデータを用いて新しい問題のために再訓練され、改善される。このように、転移学習は、新しい問題のためのモデルを構築する効率的且つ効果的な仕方であり得る。転移学習では、オフラインモデルとオンラインモデルとで使用される機械学習技法は同じである。
【0064】
図3は、例示的な実装形態による、自動化された適応型コホート学習の一例を示している。産業システムは、同時に働くいくつかの類似したコンポーネントを含み得る。システム全体が大きすぎる、及び/又はオンラインシステムではモデルを構築するためのコンピューティング能力が十分ではない場合、
図3に示すように、1つの設計は、自動化された適応型コホート学習300を用いて、320においてオンラインモデル構築作業を各サブシステムに配布し、330においてサブシステムからのモデルを組み合わせ、331において結合されたモデルを各サブシステムに配布して戻すことである。サブシステムは、システム全体の階層設計、すなわちアセットモデルに基づいて特定され得る。自動化された適応型コホート学習300のワークフローは、以下を含み得る。
【0065】
310において、グローバルオフライン予測モデル及びグローバルオフライン処方モデルが、システムのすべての過去のデータに基づいて訓練される。オフラインモデルを構築することは、1回限りの作業であり、オフラインモデルを構築するためのコンピューティングハードウェアリソースの要件が満たされ得ると仮定する。320において、グローバル予測モデル及びグローバル処方モデルが各サブシステムにデプロイされる。各サブシステムは、
図2に示すようにオンラインシステムに設置され、
図2に示すようなワークフローにしたがう。ローカルモデル320の各サブシステムにおいて、
図2に示すように、ローカルモデル(予測モデル及び処方モデル)の各ペアが自律学習により更新される。
【0066】
何らかの予め定義されたスケジュール(例えば、毎日)で、330において、サブシステムにおけるローカルモデルは、一緒にアンサンブルされてグローバルモデルを作成する。モデルがどのように評価されるかに応じて、ローカルモデルをグローバルモデルへとアンサンブルさせるために採用され得る2つの設計スキームが存在する。1つの例示的な設計スキームは、グローバル評価を含み得る。システム全体にわたる新しいグローバルデータに対してローカルモデル(予測モデル及び処方モデル)の各ペアを予め定義された期間(例えば、3時間)実行させる。次いで、グローバル評価設計スキームは、望ましい実装形態にしたがってビジネスメトリクスなどであり得る予め定義された評価メトリクスに基づいて、ローカルモデルの各ペアの性能スコアを測定する。モデル評価の出力はベクトルであり、各要素はローカルモデル(予測モデル及び処方モデル)のペアの性能スコアである。最後に、グローバル評価設計スキームは、最も高い性能スコアを見出し、対応するモデルを選択する。
【0067】
別の設計スキームは、ローカル評価を含み得る。各サブシステムにおける新しいローカルデータに対してローカルモデル(予測モデル及び処方モデル)の各ペアを予め定義された期間(例えば、3時間)実行させる。次いで、ローカル評価設計スキームは、望ましい実装形態にしたがってビジネスメトリクスなどであり得る予め定義された評価メトリクスに基づいて、ローカルモデルの各ペアの性能スコアを測定する。モデル評価の出力は行列であり、各要素は、各サブシステムにおけるローカルデータに対するローカルモデル(予測モデル及び処方モデル)のペアの性能スコアである。最後に、ローカル評価設計スキームは、すべてのローカルデータにわたる性能スコアに基づいて、ローカルモデルの各ペアが何回最高位にランクされたかを確認し、最も多く勝利したモデルを選択し得る。
【0068】
ローカル評価のための別の設計スキームの例では、例示的な実装形態は、ローカルモデル(予測モデル及び処方モデル)の各ペアについてローカルデータセットにわたって平均性能スコアを計算し、最も高い平均性能スコアを有するモデルをグローバルモデルとして選択し得る。
【0069】
ローカル評価のための別の設計スキームの例では、例示的な実装形態は、性能スコア行列をランキング行列に変換し、ローカルモデル(予測モデル及び処方モデル)の各ペアについてローカルデータセットにわたって平均ランキングを計算し、最も高いランクを有するモデルをグローバルモデルとして選択し得る。
【0070】
ローカル評価のための別の設計スキームの例では、グローバルモデル(予測モデル及び処方モデル)の1つのペアを選択する代わりに、例示的な実装形態は、各ローカルデータセットに対して最良の性能スコアを有するローカルモデルのペアを取得し、すべてのサブシステムに対してモデル(予測モデル及び処方モデル)のペアのセットを選択し得る。
【0071】
最後に、選択されたモデル311は、ローカルモデル320の各サブシステムにデプロイされる。このような例示的な実装形態を通して、オンラインシステムは、リアルタイムデータに対して自動化され、適応可能であり得る。
【0072】
本明細書で説明される例示的な実装形態は、一緒に1つのプロセスとしてシームレスに働くオフラインプロセスとオンラインプロセスとを含む包括的なデータサイエンスプロセスを提供する。本明細書で説明されるデータサイエンスプロセスのための自動化されたシステムの発展をサポートするために、例示的な実装形態は、様々な基礎となる機械学習ライブラリに統合された使いやすいインターフェースを提供し、様々な技能レベルのデータサイエンスの専門家のニーズに合う、統合され高度にカスタマイズ可能であり高度に拡張可能なフレームワークを含む。フレームワークは、各ソリューションを以下のように2つのコンポーネントに編成する。
【0073】
ソリューション構成ファイル:ソリューション構成ファイルは、データサイエンスプロセスのすべてのステップにおけるアクション又は項目を定義する。ソリューション構成ファイルは、
図1(a)に示す各ステップについて、各ステップをどのように実行するかについて構成及び命令を指定するためのセクションを有する。各セクションはまた、行う必要がある作業の詳細を定義するサブセクションを有し得る。
【0074】
メインプログラム:メインプログラムは、各ソリューションへのエントリポイントである。メインプログラムは、ソリューション構成ファイルを読み取り、各コンポーネントの定義にしたがい、それに応じてコンポーネントを実行する。
【0075】
ソリューション構成ファイルは、以下の主要な属性を特徴とする。
【0076】
統合されている:複数の機械学習ライブラリからの機械学習方法が、単一のソリューション構成ファイルにおいて指定され得る。
【0077】
拡張可能:ソリューションは、ソリューション構成ファイルにセクションを追加することにより、最先端の技法で容易に拡張される。
【0078】
カスタマイズ可能:最適化された汎用ソリューションテンプレートが、分類、回帰、レコメンデーションエンジン、クラスタリング、及び異常検知などの各ソリューションタイプについて提供される。追加的に、ユーザは自らのニーズに合うようにソリューション構成ファイルを容易にカスタマイズし得る。
【0079】
図4は、例示的な実装形態による、ソリューション構成ファイルの一例を示している。本明細書で説明されるような、また
図1(a)に示すようなオフラインプロセス及びオンラインプロセスを含むデータサイエンスプロセスは、本明細書に示したソリューション構成ファイル400にしたがって実行される。各ソリューションはソリューション構成ファイルを有し、ソリューション構成ファイルは、ソリューションのすべての詳細を指定するために使用される。本明細書で説明される例示的な実装形態では、ソリューション構成ファイル400は、
図1(a)に示した各コンポーネントについて、オンラインプロセス及びオフラインプロセスにおいて各コンポーネントをどのように実行するかについての構成及び命令を指定するセクションを有する。構成は各コンポーネントについてセクションを含み得る。各コンポーネントに更なる仕様が必要とされる場合、サブセクションがそのような詳細を指定するために使用される。
【0080】
記述コンポーネント100では、記述セクション401は、データソースの記述と、データソースに関連する他のメタデータ情報とを含み得る。このようなメタデータ情報は、サニティチェック、欠損値の量の特定、又は平均値、中央値、標準偏差などの基本的統計量に関する情報などの記述コンポーネント機能101に利用され得る。
【0081】
探索コンポーネント110では、探索セクション402は、相関分析、外れ値分析、時系列データ分析(トレンド、中心性、季節性)などのデータ分析111を含み得る。
【0082】
予測コンポーネント120では、予測コンポーネント120の機能は、解決すべき問題のタイプ(例えば、分類問題など)を定義することを対象とする。初期化されるプロセスとしては、ソリューションの初期化121、ソリューションの選択122、ハイパーパラメータの最適化123、及びモデルの後処理124が挙げられる。ソリューション構成ファイルは、新しいデータセットの場所及びソリューション初期化モデルを示すソリューション初期化パラメータと、新しいデータセットの場所及びソリューション選択モデルの場所を示すソリューション選択パラメータと、ソリューション候補を最適化するためのサブセクションのリストを示すハイパーパラメータの最適化パラメータと、モデル後処理パラメータとを含み得る予測403を含み得る。ソリューション構成ファイルのパラメータを利用し得るソリューション初期化、ソリューション選択、ハイパーパラメータの最適化、及びモデルの後処理の例は、「AUTOMATED MACHINE LEARNING:A UNIFIED,CUSTOMIZABLE,AND EXTENSIBLE SYSTEM」と題する国際出願PCT/US2020/039647号明細書に記載されており、同国際出願の内容はすべての目的で参照によりその全体が組み込まれる。
【0083】
図4の例示的なソリューション構成ファイルでは、予測セクション404は、ハイパーパラメータの最適化の構成を主に指定する。ハイパーパラメータの最適化は、望ましい実装形態にしたがって、どのようなデータが使用されるか、特徴量がどのように処理されるか、どのようなモデルが使用されるか、モデルのそれぞれについてのモデルアルゴリズム、モデルがどのように評価されるか、モデルのパラメータ、及び他のパラメータに関する情報を含み得る。ハイパーパラメータの最適化のサブセクションは、データ403-1、特徴量403-2、モデル403-3、特徴量仕様403-4、モデル仕様403-5、及びモデル評価403-6であり得る。データ403-1は、データが抽出されるデータソース又はデータファイルを示すことができ、望ましい実装形態にしたがって、ラベル、関与する特徴量のタイプ、データ分割などのパラメータを含み得る。データ403-1はまた、入力及び出力を指定し得る。特徴量403-2は、望ましい実装形態にしたがって、関連する特徴量の抽出の有効化/無効化、分散閾値に基づく特徴量選択など、特徴量抽出に関するパラメータを示す。モデル403-3は、限定されるものではないが、望ましい実装形態に応じて、ロジスティック回帰、ランダムフォレスト分類器、勾配ブースティング分類器、サポートベクターマシン分類器、ニューラルネットワーク分類器など、データ403-1に適用されるモデルを示す。特徴量仕様403-4は、組み込まれている特徴量403-2のためのパラメータを示し得る。モデル仕様403-5は、組み込まれているモデル403-3のためのパラメータを示す。評価403-6は、モデル403-3を評価するために使用されるメトリクスを示す。
【0084】
処方コンポーネント130(及び対応する細部131)では、処方セクション404は、131に示すように、モデルの特徴量重要度を計算する手法及び関連するパラメータと、予測の根本原因分析を実施する手法及び関連するパラメータと、最良目標値を得るために特徴量空間を最適化する手法及び関連するパラメータとを含み得る。
【0085】
自動化コンポーネント140では、自動化セクション405は、141に示すように、オフラインモデルをオンラインシステムにデプロイする手法及び関連するパラメータを含むことができ、142に示すように、オンラインシステムへの処方アクションの適用を自動化する。他の自動化タスクは、API及び/又はデータインターフェースを通したオンラインシステム(デバイス、機械など)との統合を含む。
【0086】
自律コンポーネント150では、自律セクション406は、リアルタイムデータに対して自律学習を実行する手法及び関連するパラメータを含み得る。これは、コンポーネント、すなわち、強化学習151、継続的学習152、転移学習153、及びコホート学習154のうちの1つ又は複数のコンポーネントを含む。自律コンポーネントは、オンラインシステム内で稼働し、モデルのライフサイクル管理を構成する必要もある。
【0087】
いくつかのコンポーネント(例えば、モデル403-3)では、ソリューション構成ファイルの仕様は、基礎となる機械学習ライブラリのどのモデルアルゴリズムを呼び出す必要があるか、どのパラメータをモデルアルゴリズムに渡す必要があるかなどを含み得る。ソリューション構成ファイル400は、各ソリューションで考慮に入れるように各問題を定義するために使用される。例えば、機械の場面では、分類及び回帰の問題がある場合があり、それによって、問題は、データがどのように前処理されるか、特徴量エンジニアリングがどのように実施されるか、どのようなモデルが選択されるか、パラメータチューニング、後処理、評価などを含む全ソリューションによって指定される。
【0088】
図1(a)に示すコンポーネントは、ソリューション構成ファイルを解析し、ファイルにしたがって実行する機械学習ライブラリを取得する。例示的な実装形態はソリューション構成ファイルを利用してソリューションを定義して指定し、ソリューション構成ファイルを読み取って解析するために多くのプログラミング言語(Python、Javaなど)で提供されているリフレクション技法を使用する。そのような例示的な実装形態を通して、アウトカムは、様々な分析ライブラリ及び機械学習ライブラリが一緒に1つのソリューションで使用され得るということである。
【0089】
例示的な実装形態では、メインプログラムは、各ソリューションへのエントリポイントであり、ソリューション構成ファイルを読み取り、各モジュールの定義にしたがい、それに応じてモジュールを実行するように構成される。
【0090】
ソリューション構成ファイルは、以下のような主要な属性を特徴とし、本明細書ではソリューション構成ファイルの内容を説明した後に詳細を説明する。ソリューション構成ファイルは、特徴量エンジニアリング及び複数の機械学習ライブラリからのモデルアルゴリズムなどの機械学習方法が単一のソリューション構成ファイルで指定され得るように統合される。ソリューション構成ファイルは、ソリューションが、ソリューション構成ファイルにセクションを追加することにより、最先端の技法で容易に拡張されるように拡張可能である。ソリューション構成ファイルはカスタマイズ可能である。限定されるものではないが、分類、回帰、クラスタリング、異常検知、レコメンデーションエンジン、残存耐用年数予測を含む、最適化された汎用ソリューションテンプレートが各ソリューションタイプについて提供される。ハイパーパラメータの最適化の目的のために、テンプレートは、可能なすべての特徴量エンジニアリング技法及び関連するパラメータグリッド、モデルアルゴリズム及び関連するパラメータグリッド、並びに評価技法を指定する。ユーザは、ソリューションテンプレートで指定された構成を使用することもできるし、構成を変更し、自らのニーズに合うようにカスタマイズすることもできる。
【0091】
図5(a)は、例示的な実装形態による、自動化され自律的な自己学習型機械学習モデルの生成及びデプロイのための例示的なフロー図を示している。例示的な実装形態では、フローは、501において、
図4に示したソリューション構成ファイルから記述コンポーネント100、探索コンポーネント110、予測コンポーネント120、及び処方コンポーネント130を生成して実行して、第1のオフラインシステムにおいて予測モデル及び処方モデルを生成する。次いで、502において、フローは、予測モデル及び処方モデルを第2のオンラインシステムにデプロイして、第2のシステムから提供されたリアルタイムデータに応じて処方モデルによって生成された処方アクションから第2のシステムの動作を制御する。503において、フローは、
図2及び
図5(b)に示すように、第2のシステムからのリアルタイムデータ、誤差、及びフィードバックに基づいて、予測モデル及び処方モデルを自律的に更新する。
【0092】
図5(b)は、例示的な実装形態にしたがって、モデルがデプロイされた状態で、第2のシステムからのリアルタイムデータ、誤差、及びフィードバックから予測モデル及び処方モデルを自律的に更新するように構成されたオンラインプロセスの例示的なフローを示している。510において、フローは、第2のシステムからフィードバックを受け取る。511において、フローは、予測モデルからの予測と第2のシステムからのフィードバックとの間の誤差を求める。512において、フローは、
図3に示すように、新しいデータ、誤差、及びフィードバックに基づいて、予測モデル及び処方モデルを再訓練する。513において、現在のモデルと比較して再訓練されたモデルに予約されたテストデータを使用することに基づいて、再訓練された予測モデル及び再訓練された処方モデルが現在デプロイされている予測モデル及び処方モデルよりも高い精度を有するか否かの判定が行われる。高い精度を有する場合(はいの場合)、フローは、514に進んでデプロイされたモデルを再訓練されたモデルと置き換え、高い精度を持たない場合(いいえの場合)、フローは終了する。既存モデルと再訓練されたモデルとを比較する別の例示的な実装形態については、既存モデルと並列に再訓練されたモデルをどのようにオンラインシステムにデプロイし得るかを含む例示的な実装形態を参照されたい。
【0093】
図5(a)及び
図5(b)に示すようなフローを通して、モデルを生成するためのオフライン訓練システムは、モデルをデプロイするオンラインシステムと統合することができ、それにより、オンラインシステムに動作を停止させることを必要とせずに、オンラインシステムを制御するためのモデルのシームレスな更新が可能になる。オフラインモデルがオンラインシステムにデプロイされた後、オフラインモデルは過去のデータに基づいて並行して改善され、次いで、(現在のバージョンのオンラインモデルと比較して)オフラインモデルからの性能改善が予め定義された基準を満たす場合、オンラインシステムの通常の動作を中断せずに、オンラインモデルをシームレスに置き換えることができる。
【0094】
図6は、例示的な実装形態による、複数のシステムと管理装置とを示している。1つ又は複数の第2のシステム601-1、601-2、601-3、及び601-4は、モデルを受け取って、それらの基礎となる装置にオンラインでデプロイし、且つオフラインモデルを制御し、オフラインモデルを処理して1つ又は複数の第2のシステム601-1、601-2、601-3、及び601-4にデプロイする第1のシステムを支援する管理装置602に接続されたネットワーク600に通信可能に結合される。管理装置602は、データベース603を管理し、データベース603は、ネットワーク600内のシステムから集約されたデータフィードバックを含む。代替の例示的な実装形態では、第2のシステム601-1、601-2、601-3、及び601-4からのデータフィードバックは、エンタープライズリソースプランニングシステムなどのシステムからのデータを集約するプロプライエタリデータベースなどの中央リポジトリ又は中央データベースに集約され得、管理装置602は、中央リポジトリ又は中央データベースからデータにアクセスし得る、又は中央リポジトリ又は中央データベースからデータを取得し得る。このようなシステムとしては、旋盤、プレス機、フライス、グラインダなどの製造プロセス又は他のプロセスのために操作者によって操作されることになる装置、並びにフォークリフト、クレーン、トラックなどの移動式装置、並びに、製造、加工、又は他のプロセスの目的で操作者によって操作されることになる任意の他の装置が挙げられる。予測モデル及び処方モデルをオンラインでデプロイするために、1つ又は複数の第2のシステム601-1、601-2、601-3、及び601-4のそれぞれが、基礎となる装置の動作を直接制御する1つ又は複数のプログラマブルロジックコントローラ(PLC)、或いは動作を制御する命令を基礎となる装置に発出するように構成されたモノのインターネット(Internet of Things、IoT)ゲートウェイを備え得る。PLC又はIoTゲートウェイは、管理装置602からのモデルを受け取って実行して、基礎となるシステムにモデルをデプロイし、管理装置602にフィードバックを提供するように構成され得る。管理装置602は、システムとはオフラインで独立に動作させるために、第2のシステム601-1、601-2、601-3、及び601-4とは別個に動作され得る。提案される自動化されたシステムは、以下のように実装され得る。
【0095】
例示的な実装形態の例示的なユースケースでは、システムは、データサイエンスプロセスの様々なタスクを自動的に実行するためのソフトウェアコンポーネントを有する機械学習ライブラリを含むスタンドアローンシステムとして提供され得る。このような実装形態では、ユーザは、ライブラリ内の関数を呼び出すコードを書き、計算及びデータストレージを管理する。
【0096】
例示的な実装形態の例示的なユースケースでは、システムは、機械学習ライブラリで提供される関数を提示するグラフィカルユーザインターフェース(GUI)を備えたオンプレミスソフトウェアとして実装され得る。ユーザは、GUIで自動データサイエンスプロセスを実行し、計算及びデータストレージを管理する。
【0097】
例示的な実装形態の例示的なユースケースでは、機械学習ライブラリを提示するウェブベースのユーザインターフェースを通して、ソフトウェアアズアサービス(Software as a Service、SaaS)ベースのソリューションが利用され得る。ユーザは、サービスにサブスクライブし、サービスプロバイダにデータをアップロードし、ウェブベースのユーザインターフェースを使用して自動データサイエンスプロセスを実行する。サービスプロバイダは、計算及びデータストレージを管理する。
【0098】
例示的な実装形態の例示的なユースケースでは、システムは、マイクロサービス又はマイクロアプリケーションとして組み込まれて機械学習ライブラリを提示し得る。
【0099】
図7は、
図6に示すような管理装置602など、又は
図6に示すような第2のシステム601-1、601-2、601-3、601-4のPLC/IoTゲートウェイなどのいくつかの例示的な実施形態で使用するのに適した例示的なコンピュータデバイスを含む例示的なコンピューティング環境を示している。本明細書で説明される機能は、望ましい実装形態に応じて、管理装置602において実装され得る、又は要素のいくつかの組み合わせに基づいてシステムを通して支援され得る。
【0100】
コンピューティング環境700におけるコンピュータデバイス705は、1つ若しくは複数の処理ユニット、コア、若しくはプロセッサ710、メモリ715(例えば、RAM、ROM、及び/又は同様のもの)、内部ストレージ720(例えば、磁気ストレージ、光ストレージ、ソリッドステートストレージ、及び/又は有機ストレージ)、及び/又はI/Oインターフェース725を備えることができ、これらのうちのいずれかは、情報を通信するために通信メカニズム若しくはバス730上で結合され得る、又はコンピュータデバイス705内に埋め込まれ得る。I/Oインターフェース725はまた、望ましい実装形態に応じて、カメラから画像を受け取るように、又はプロジェクタ若しくはディスプレイに画像を提供するように構成される。
【0101】
コンピュータデバイス705は、入力/ユーザインターフェース735及び出力デバイス/インターフェース740に通信可能に結合され得る。入力/ユーザインターフェース735及び出力デバイス/インターフェース740の一方又は両方のいずれかが、有線又は無線インターフェースであり得、取り外し可能であり得る。入力/ユーザインターフェース735は、入力を提供するために使用され得る物理的又は仮想的である任意のデバイス、コンポーネント、センサ、又はインターフェースを含んでもよい(例えば、ボタン、タッチスクリーンインターフェース、キーボード、ポインティング/カーソルコントロール、マイクロフォン、カメラ、点字、モーションセンサ、光学リーダ、及び/又は同様のもの)。出力デバイス/インターフェース740は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含んでもよい。いくつかの例示的な実装形態では、入力/ユーザインターフェース735及び出力デバイス/インターフェース740は、コンピュータデバイス705に埋め込まれ得る、又はコンピュータデバイス705に物理的に結合され得る。他の例示的な実装形態では、他のコンピュータデバイスが、コンピュータデバイス705のための入力/ユーザインターフェース735及び出力デバイス/インターフェース740として機能していてもよいし、又はその機能を提供してもよい。
【0102】
コンピュータデバイス705の例としては、限定するものではないが、高度なモバイルデバイス(例えば、スマートフォン、車両及び他の機械にあるデバイス、人間及び動物によって携帯されるデバイスなど)、モバイルデバイス(例えば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、携帯型テレビ、ラジオなど)、及び移動性を目的として設計されてはいないデバイス(例えば、デスクトップコンピュータ、他のコンピュータ、案内所(information kiosk)、その内部に埋め込まれた/それに結合された1つ又は複数のプロセッサを有するテレビ、ラジオなど)が挙げられる。
【0103】
コンピュータデバイス705は、同一又は異なる構成の1つ又は複数のコンピュータデバイスを含む任意の数のネットワーク接続されたコンポーネント、デバイス、及びシステムと通信するために外部ストレージ745及びネットワーク750に(例えば、I/Oインターフェース725を介して)通信可能に結合され得る。コンピュータデバイス705又は任意の接続されたコンピュータデバイスは、サーバ、クライアント、シンサーバ、汎用機械、専用機械などとして機能したり、これらのサービスを提供したり、そのように呼称されたりし得る。
【0104】
I/Oインターフェース725は、限定されるものではないが、情報をコンピューティング環境700内の少なくともすべての接続されたコンポーネント、デバイス、及びネットワークに、又はこれらから情報を通信するための任意の通信又はI/Oプロトコル又は規格(例えば、Ethernet、802.11x、ユニバーサルシステムバス、WiMax、モデム、セルラネットワークプエロトコルなど)を使用する有線及び/又は無線インターフェースを含み得る。ネットワーク750は、任意のネットワーク又はネットワークの組み合わせであり得る(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラネットワーク、衛星ネットワークなど)。
【0105】
コンピュータデバイス705は、一時的媒体及び非一時的媒体を含むコンピュータ使用可能媒体又はコンピュータ可読媒体を使用し得る、且つ/又は使用して通信し得る。一時的媒体は、送信媒体(例えば、金属ケーブル、光ファイバ)、信号、搬送波などを含む。非一時的媒体は、磁気媒体(例えば、ディスク及びテープ)、光媒体(例えば、CD-ROM、デジタルビデオディスク、Blu-rayディスク)、ソリッドステート媒体(例えば、RAM、ROM、フラッシュメモリ、ソリッドステートストレージ)、及び他の不揮発性ストレージ又はメモリを含む。
【0106】
コンピュータデバイス705は、いくつかの例示的なコンピューティング環境において技法、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令を実装するために使用され得る。コンピュータ実行可能命令は、一時的媒体から取得することができ、非一時的媒体に記憶させることができ、非一時的媒体から取得することができる。実行可能命令は、任意のプログラミング、スクリプティング、及び機械言語(例えば、C、C++、C#、Java、Visual Basic、Python、Perl、JavaScriptなど)のうちの1つ又は複数に由来し得る。
【0107】
プロセッサ710は、ネイティブ環境又は仮想環境において任意のオペレーティングシステム(OS)(図示せず)の下で稼働することができる。論理ユニット760、アプリケーションプログラミングインターフェース(API)ユニット765、入力ユニット770、出力ユニット775、並びに、互いに、OSと、及び他のアプリケーション(図示せず)と通信するための異なるユニット用のユニット間通信メカニズム795を含む1つ又は複数のアプリケーションがデプロイされ得る。説明されたユニット及び要素は、設計、機能、構成、又は実装形態において異なる可能性があり、提供された説明に限定されるものではない。
【0108】
いくつかの例示的な実装形態では、情報又は実行命令がAPIユニット765によって受け取られると、情報又は実行命令は、1つ又は複数の他のユニット(例えば、論理ユニット760、入力ユニット770、出力ユニット775)に通信され得る。いくつかの例では、論理ユニット760は、上述のいくつかの例示的な実装形態において、ユニット間での情報フローを制御し、APIユニット765、入力ユニット770、出力ユニット775によって提供されるサービスを指揮するように構成され得る。例えば、1つ又は複数のプロセス又は実装形態のフローは、論理ユニット760単独で、又はAPIユニット765と連携して制御され得る。入力ユニット770は、例示的な実装形態で説明された計算のための入力を取得するように構成されてもよく、出力ユニット775は、例示的な実装形態で説明された計算に基づいて出力を提供するように構成されてもよい。
【0109】
プロセッサ710は、
図1(a)、
図5(a)、及び
図5(b)に示すように、オフライン学習プロセスを通して予測モデル及び処方モデルを生成し、予測モデル及び処方モデルを第2のシステムにデプロイすることを通して第2のシステムの動作を制御し、処方モデル及び予測モデルが第2のシステムにデプロイされた状態で、オンライン学習プロセスを通した第2のシステムからのフィードバックから処方モデル及び予測モデルを自律的に更新するように構成され得る。
【0110】
プロセッサ710は、
図1(a)~
図3に示すように、予測モデルと処方モデルを第2のシステムに配備して動作を制御することが、第2のシステムの動作を変更する処方モデルから生成された処方アクションの自動適用を実行することによって、予測モデル及び処方モデルを第2のシステムにデプロイすることを通して第2のシステムの動作を制御するように構成される。
【0111】
プロセッサ710は、
図1(a)~
図4に示すように、ソリューション構成ファイルから、記述分析を実施するように構成された記述コンポーネントを生成することと、ソリューション構成ファイル及び記述分析から、探索的分析を実施するように構成された探索コンポーネントを生成することと、ソリューション構成ファイル及び探索的分析から、ソリューション構成ファイルで指定された1つ又は複数の機械学習ライブラリを組み込んで予測モデルを生成するように構成された予測コンポーネントを生成することと、ソリューション構成ファイル及び予測モデルから、予測モデルからの結果に処方アクションをマッピングして、処方モデルを生成するように構成された処方コンポーネントを生成することによって、第1のシステムにおけるオフライン学習プロセスを通して予測モデル及び処方モデルを生成するように構成され得る。
【0112】
プロセッサ710は、
図1(a)に示すように、オンラインとなるように、且つ第2のシステムからリアルタイムデータを取り込むように構成されるように予測モデル及び処方モデルをデプロイすることと、リアルタイムデータから予測モデルを通して予測を生成することと、予測から処方モデルを通して処方アクションを生成することと、処方アクションにしたがって第2のシステムの動作を制御することとによって、第2のシステムに予測モデル及び処方モデルをデプロイすることを通して第2のシステムの動作を制御するように構成され得る。
【0113】
プロセッサ710は、
図5(b)に示すように、第2のシステムからのフィードバックと、動作を制御することに関連する予測モデルからの予測との間の差分に基づいて、誤差を求めることと、第2のシステムのためのプロセッサ710が、予測モデル及び処方モデルが第2のシステムにデプロイされた状態で、継続的学習プロセスを通したリアルタイムデータ、誤差、及びフィードバックに基づいて予測モデル及び処方モデルを再訓練するように構成されることと、予測モデル及び処方モデルよりも良好な性能を有する再訓練された予測モデル及び再訓練された処方モデルについて、再訓練された処方モデル及び再訓練された予測モデルを第2のシステムにデプロイすることによって、予測モデル及び処方モデルが第2のシステムにデプロイされた状態で、オンライン学習プロセスを通した第2のシステムからのフィードバックから予測モデル及び処方モデルを自律的に更新するように構成され得る。
【0114】
プロセッサ710は、
図3に示すように、第2のシステムにおいて、再訓練された予測モデル及び再訓練された処方モデルを生成するための機械学習プロセスを第2のシステムのサブシステムに関連付けられた複数のローカルモデルに配布することと、複数のローカルモデルを反復してアンサンブルさせて複数の再訓練された予測モデル及び複数の再訓練された処方モデルを生成し、生成された複数の再訓練された予測モデルのうちの1つ及び生成された複数の再訓練された処方モデルのうちの1つを選択して機械学習プロセスに配布して戻すことと、複数のローカルモデルをアンサンブルさせて再訓練された予測モデル及び再訓練された処方モデルを生成することによって、第2のシステムにおいて、予測モデル及び処方モデルが第2のシステムにデプロイされた状態で、継続的学習プロセスを通したリアルタイムデータ、誤差、及びフィードバックに基づいて予測モデル及び処方モデルを再訓練するように構成され得る。
【0115】
プロセッサ710は、
図3に示すように、強化学習プロセス又は転移学習プロセスの1つ又は複数を通したリアルタイムデータ、誤差、及びフィードバックに基づいて予測モデル及び処方モデルを再訓練することによって、第2のシステムにおいて、予測モデル及び処方モデルが第2のシステムにデプロイされた状態で、継続的学習プロセスを通したリアルタイムデータ、誤差、及びフィードバックに基づいて予測モデル及び処方モデルを再訓練するように構成され得る。
【0116】
詳細な説明のいくつかの部分は、コンピュータ内の動作のアルゴリズム及び記号式表現の観点から提示されている。これらアルゴリズム記述及び記号式表現は、データ処理技術における当業者によって、その革新の本質を他の当業者に伝えるために使用される手段である。アルゴリズムとは、所望の最終状態又は最終結果をもたらす一連の定義済みステップである。例示的な実装形態では、実行される各ステップは、有形の結果を実現するために有形の量を物理的に操作することを必要とする。
【0117】
特に別段の記載のない限り、上記の論述から明らかなように、説明全体を通して、「処理」、「コンピューティング」、「計算」、「判定」、「表示」などの用語を利用する論述では、コンピュータシステム又は他の情報処理デバイスのアクション及びプロセスを含むことができ、コンピュータシステム又は他の情報処理デバイスは、コンピュータシステムのレジスタ及びメモリ内の物理的な(電子的な)量として表されるデータを処理して、コンピュータシステムのメモリ若しくはレジスタ又は他の情報記憶、伝送、若しくは表示デバイス内の物理的な量として同様に表される他のデータに変換することを理解されたい。
【0118】
例示的な実装形態はまた、本明細書における各動作を実行するための装置に関連し得る。この装置は、必要とされる目的のために特別に構築されてもよいし、1つ又は複数のコンピュータプログラムによって選択的に作動若しくは再構成される1つ又は複数の汎用コンピュータを備えてもよい。このようなコンピュータプログラムは、コンピュータ可読記憶媒体又はコンピュータ可読信号媒体などのコンピュータ可読媒体に記憶されてもよい。コンピュータ可読記憶媒体は、限定されるものではないが、光ディスク、磁気ディスク、読み取り専用メモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びソリッドステートドライブ、又は電子情報を記憶するのに適した他の任意のタイプの有形又は非一時的媒体などの有形媒体を含み得る。コンピュータ可読信号媒体は、搬送波などの媒体を含み得る。本明細書において提示されるアルゴリズム及びディスプレイは、いかなる特定のコンピュータ又は他の装置にも本質的に関連しない。コンピュータプログラムは、所望の実装形態の動作を実行する命令を含む純粋なソフトウェア実装形態を含むことができる。
【0119】
様々な汎用システムが、本明細書での各例によるプログラム及び構成要素と共に使用されてもよいし、更に特殊な装置を構築して、所望の方法ステップを実行すること好都合と分かる場合もある。加えて、例示的な実装形態は、いかなる特定のプログラミング言語にも関連して記載されていない。本明細書で説明される例示的な実装形態の教示を実装するために様々なプログラミング言語が使用されてもよいことを理解されたい。プログラミング言語の命令は、1つ又は複数の処理デバイス、例えば、中央処理装置(CPU)、プロセッサ、又はコントローラによって実行されてもよい。
【0120】
当技術分野で知られているように、上述の各動作は、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアとの何らかの組み合わせによって実行され得る。例示的な実装形態の様々な態様は、回路及び論理デバイス(ハードウェア)を使用して実装されてもよく、また他の態様が、プロセッサによって実行されると、本出願の実装形態を実行する方法をプロセッサに実行させる、機械可読媒体(ソフトウェア)に記憶された各命令を使用して実装されてもよい。更に、本出願のいくつかの例示的な実装形態は、ハードウェアのみで実行されてもよく、また他の例示的な実装形態は、ソフトウェアのみで実行されてもよい。更に、説明した様々な機能は、単一のユニットで実行させることもできるし、任意の数の仕方でいくつかの構成要素にわたって分散させることもできる。方法は、ソフトウェアによって実行される場合、コンピュータ可読媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行されてもよい。必要な場合、命令は、圧縮及び/又は暗号化された形式で媒体に記憶され得る。
【0121】
更に、当業者であれば、本明細書を検討すれば、また本明細書に開示される教示を実施することにより、他の実装形態に想到するはずである。説明した例示的な実装形態の様々な態様及び/又は構成要素は、単独で又は任意の組み合わせで使用されてもよい。本明細書及び例示的な実装形態は、単なる例と見なされ、本出願の真の範囲及び趣旨は、添付の特許請求の範囲によって示されることが意図されている。
【国際調査報告】