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

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

▶ オラクル・インターナショナル・コーポレイションの特許一覧

特許7308262機械学習モデルのための動的なデータ選択
<>
  • 特許-機械学習モデルのための動的なデータ選択 図1
  • 特許-機械学習モデルのための動的なデータ選択 図2
  • 特許-機械学習モデルのための動的なデータ選択 図3A
  • 特許-機械学習モデルのための動的なデータ選択 図3B
  • 特許-機械学習モデルのための動的なデータ選択 図3C
  • 特許-機械学習モデルのための動的なデータ選択 図4
  • 特許-機械学習モデルのための動的なデータ選択 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-05
(45)【発行日】2023-07-13
(54)【発明の名称】機械学習モデルのための動的なデータ選択
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230706BHJP
   G06N 3/08 20230101ALI20230706BHJP
【FI】
G06N20/00 130
G06N3/08
【請求項の数】 13
(21)【出願番号】P 2021517369
(86)(22)【出願日】2019-07-05
(65)【公表番号】
(43)【公表日】2022-03-16
(86)【国際出願番号】 US2019040693
(87)【国際公開番号】W WO2020159568
(87)【国際公開日】2020-08-06
【審査請求日】2022-04-05
(31)【優先権主張番号】201941003803
(32)【優先日】2019-01-30
(33)【優先権主張国・地域又は機関】IN
(31)【優先権主張番号】16/458,924
(32)【優先日】2019-07-01
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ケール,サムシュワー・マロチ
(72)【発明者】
【氏名】デサイ,ウトカルシュ・ミリンド
(72)【発明者】
【氏名】クリシュナムールティ,ビジャヤラクシュミ
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許出願公開第2016/0371601(US,A1)
【文献】米国特許出願公開第2016/0062493(US,A1)
【文献】特表2018-535492(JP,A)
【文献】WIDMER, Gerhard et al.,"Learning in the Presence of Concept Drift and Hidden Contexts",Machine Learning [online],Vol.23,1996年,p.69-101,[2023年04月11日検索],インターネット<URL:https://link.springer.com/article/10.1007/BF00116900>
【文献】KOYCHEV, Ivan et al.,"Tracking Drifting Concepts by Time Window Optimisation",Research and Development in Intelligent Systems XXII [online],2006年,p.46-59,[2023年04月11日検索],インターネット<URL:https://www.researchgate.net/publication/226412883_Tracking_Drifting_Concepts_by_Time_Window_Optimisation>,DOI: 10.1007/978-1-84628-226-3_5
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02- 3/10
G06N 20/00-99/00
(57)【特許請求の範囲】
【請求項1】
動的なデータ選択を用いる機械学習予測モデルを実装するための方法であって、
訓練済みの機械学習モデルが生成する複数のデータ予測にアクセスするステップを含み、前記データ予測は、観測データに対応し、前記方法は、さらに、
前記アクセスしたデータ予測の数および前記観測データに基づいて前記機械学習モデルの正解率を算出するステップと、
可変数のデータ予測前記アクセスするステップおよび前記可変数のデータ予測を用いて前記算出するステップを繰り返すステップとを含み、
前記可変数のデータ予測の数は、前回のイテレーション(繰り返し)中に実行された操作に基づいて調整され、
前記算出した正解率が所与のイテレーション中に正解率基準を満たさない場合、前記機械学習モデルに対する訓練がトリガされる、方法。
【請求項2】
現在のイテレーションの前記可変数のデータ予測は、前記前回のイテレーション中に訓練がトリガされたかどうかに基づいて調整される、請求項1に記載の方法。
【請求項3】
前記前回のイテレーションは、前記現在のイテレーションの直前のイテレーションから構成される、請求項2に記載の方法。
【請求項4】
前記トリガされた訓練は、前記訓練済みの機械学習モデルに対する再訓練または更新済みの訓練から構成される、請求項2または3に記載の方法。
【請求項5】
訓練がトリガされた場合、前記アクセスするステップおよび前記算出するステップの次のイテレーションは、前記トリガされた訓練が生成した前記機械学習モデルによって生成されたデータ予測を用いる、請求項2~4のいずれか1項に記載の方法。
【請求項6】
前記繰り返すステップは、所定時間に従って実行される、請求項2~5のいずれか1項に記載の方法。
【請求項7】
前記所定時間は、所定期間、または対応する観測データを有する所定量のデータ予測である、請求項6に記載の方法。
【請求項8】
前記前回のイテレーション中に訓練がトリガされた場合、前記現在のイテレーションの前記データ予測の数は増やされ、前記前回のイテレーション中に訓練がトリガされなかった場合、前記データ予測の数は減らされる、請求項6または7に記載の方法。
【請求項9】
前記前回のイテレーション中に訓練がトリガされた場合、前記現在のイテレーションの前記データ予測の数は1より大きい係数で乗算され、前記前回のイテレーション中に訓練がトリガされなかった場合、前記データ予測の数は前記係数で除算される、請求項8に記載の方法。
【請求項10】
前記係数の値は、複数のイテレーションにわたって減らされる、請求項に記載の方法。
【請求項11】
設定されたデータ予測の数が前記繰り返すステップに基づいて決定されるよう、複数の前記イテレーションを実行した後に前記アクセスするステップおよび前記算出するステップを前記可変数のデータ予測を用いて終了するステップをさらに含み、前記繰り返すステップの後、前記設定されたデータ予測の数は、前記機械学習モデルの正解率を算出するために用いられ、前記正解率は、前記機械学習モデルの訓練をトリガするために用いられる、請求項10に記載の方法。
【請求項12】
コンピュータに請求項1~11のいずれか1項に記載の方法を実行させる、プログラム。
【請求項13】
請求項12に記載のプログラムを格納したメモリと、
前記プログラムを実行するプロセッサとを備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2019年1月30日に出願されたインド特許出願第201941003803号の優先権の利益を主張する2019年7月1日に出願された米国特許出願第16/458,924号の優先権の利益を主張するものであり、それらすべての開示内容を引用により本明細書に援用する。
【0002】
分野
本開示の実施の形態は、全体的に、機械学習モデルのための動的なデータ選択に関する。
【背景技術】
【0003】
背景
教師あり学習ベースのデータ予測から顔認識まで、人工知能(「AI(Artificial Intelligence)」)の実装によって、明確な利益がもたらされた。しかしながら、異なるシステム間でしばしば異なる実装固有の問題など、AIを取り巻く課題は残ったままである。AIモデルの訓練には多くのリソースが必要とされ、時に混乱が生じる。これに加えて、AIモデルの再訓練は、モデル正解率およびシステム効率の両方に影響を与え得る。したがって、リソース使用と人工知能モデルの性能との均衡を取ることができるツールによって、このツールのユーザに明確な利益をもたらすことができるようになる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
概要
本開示の実施の形態は、全体的に、関連技術を大幅に改善する機械学習モデルのための動的なデータ選択のためのシステムおよび方法を対象とする。
【課題を解決するための手段】
【0005】
訓練済みの機械学習モデルが生成する複数のデータ予測にアクセスすることができる。ここで、データ予測は、対応する観測データを含む。アクセスしたデータ予測の数および対応する観測データに基づいて機械学習モデルの正解率を算出することができる。アクセスすることおよび算出することは、可変数のデータ予測を用いて繰り返され得る。可変数のデータ予測は、前回のイテレーション(繰り返し)中に実行された操作に基づいて調整され、算出した正解率が所与のイテレーション中に正解率基準を満たさない場合、機械学習モデルに対する訓練がトリガされ得る。
【0006】
実施の形態の特徴および利点を以下の説明に記載する。または、当該特徴および利点は、当該説明から明らかになるであろう。あるいは、当該特徴および利点は本開示を実施することによって分かるであろう。
【0007】
さらに別の実施の形態、詳細、利点、および変形例は、添付の図面と共に、以下の好ましい実施の形態についての詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0008】
図1】例示的な実施の形態に係る、機械学習モデルのための動的なデータ選択のためのシステムを示す図である。
図2】例示的な実施の形態に係る、システムに操作可能に連結されるコンピューティングデバイスのブロック図である。
図3A】例示的な実施の形態に係る、機械学習モデルの訓練をトリガするための動的なデータ選択についてのフローチャートである。
図3B】例示的な実施の形態に係る、機械学習モデルの訓練をトリガするための動的なデータ選択についてのフローチャートである。
図3C】例示的な実施の形態に係る、機械学習モデルの訓練をトリガするための動的なデータ選択についてのフローチャートである。
図4】例示的な実施の形態に係る、機械学習モデルのための動的なデータ選択についてのフローチャートである。
図5】例示的な実施の形態に係る、総合サプライヤー、在庫、および本明細書に開示するプランニング作業および供給作業が改善された物流システムを示す図である。
【発明を実施するための形態】
【0009】
詳細な説明
実施の形態は、機械学習モデルのための動的なデータ選択を行う。いくつかの実施の形態では、訓練データを利用して機械学習モデルを(たとえば、教師あり学習を介して)訓練することができる。その後、訓練済みモデルを利用して、入力データに基づいたデータ予測を生成することができる。時には、たとえば、モデルを再訓練するまたは訓練を更新することによって、訓練済みの機械学習モデルを更新することができる。
【0010】
いくつかの実施の形態では、正解率メトリクスを用いて、再訓練または更新済みの訓練をトリガすることができる。たとえば、訓練済みの機械学習モデルの実装には、今後しばらくしてから観測されるデータ点のデータ予測を生成するものもある。このように、過去のデータ予測は、対応する観測データ点を含み得る。これらの2つの値に基づいた正解率メトリクスを用いて再訓練または更新済みの訓練をトリガすることができる。たとえば、正解率メトリクスを正解率基準と比較することができ、この比較に基づいて訓練をトリガすることができる。
【0011】
いくつかの実施の形態では、過去のデータ予測の数および対応する観測データ点ペアの数は、正解率メトリクスに影響し得る。たとえば、観測データが利用可能になると、これらのデータ点ペアのセットを生成することができるようになる。正解率判断は、選択されるこれらのデータ点ペアの数によって異なり得る。データ点ペアが多数あることによって、これらのデータ点の任意の特定のサブセットの重要性が希薄になり得る。たとえば、1ヶ月分のデータ点ペアを用いて正解率を判断した場合、先週のデータ点ペアは、その月の別の日により、希薄になってしまう。別の例では、2週間分のデータ点ペアを用いて正解率を判断した場合、先週のデータ点ペアは、正解率メトリクスにとってかなり重要である。
【0012】
いくつかの実装では、データ点ペアからなる第1の数がデータ点ペアからなる第2の数よりも小さい場合、第1の数に基づく正解率メトリクスは、第2の数に基づく正解率メトリクスよりも再訓練または更新済みの訓練をトリガする可能性が高い。すなわち、いくつかの実装では、少ない数のデータ点ペアのほうが、正解率基準を満たさない正解率メトリクスを生成する可能性が高いので、再訓練または更新済みの訓練をトリガする可能性が高い。
【0013】
機械学習モデルの訓練では多くのリソースを必要とし得るので、選択的に再訓練するまたは機械学習モデルの訓練を更新することによって正解率とリソース効率および実用性との均衡を取ることができる。実施の形態は、可変数のデータ点ペアを用いて正解率メトリクスを繰り返し算出し、正解率メトリクスが正解率基準を満たさない場合に再訓練または更新済みの訓練を所与のイテレーション(繰り返し)においてトリガし得る。
【0014】
たとえば、所与のイテレーションにおいて、データ点ペアの数は、(たとえば、前回のイテレーションで用いられた)以前のデータ点ペア数、係数値(たとえば、複数のイテレーションにわたって調整される動的な値)、および前回の再訓練または更新済みの訓練のステータス(たとえば、モデルが再訓練されたか以前のイテレーションで更新済みの訓練が行われたか)に基づき得る。したがって、正解率を査定するために用いられるデータ点ペアの数は、複数のイテレーションにわたって変化する。したがって、再訓練または更新済みの訓練をトリガする可能性も変化する。予測正解率とリソース使用およびシステム停止との均衡を取ることにより、この設定された可能性によって実装が全体的に改善される。
【0015】
たとえば、いくつかの従来の実装では、正解率を算出するために用いられる固定数のデータ点ペアのオプションが与えられる。しかしながら、これらの例では、算出した正解率は、暗黙的フィードバック評価サイクルまたはイテレーションを通して汎用的である。実施の形態において説明するように、点の動的選択によって柔軟かつ選択的な正解率算出が可能になり、これによって機械学習の実装を向上させることができる。正解率算出に対するこれらの改良によって訓練における決定を向上させることができ、より有効なリソース利用が可能になる。
【0016】
ここで、本開示の実施の形態を詳細に説明する。実施の形態の例は、添付の図面に示している。以下の詳細な説明では、本開示の十分な理解のため、いくつかの具体的な詳細を説明する。しかしながら、これらの具体的な詳細がなくても本開示を実施することができることは、当業者であれば分かるであろう。その他の場合、周知の方法、プロシージャ、構成要素、論理積回路については、実施の形態の局面を不必要に曖昧にしないために、詳細を説明しない。可能な限り、同一の要素には同一の参照番号を付す。
【0017】
図1は、例示的な実施の形態に係る、機械学習モデルのための動的なデータ選択のためのシステムを示す図である。システム100は、機械学習モデル102と、訓練データ104と、入力データ106と、予測108、観測データ110とを含む。いくつかの実施の形態では、機械学習モデル102は、1つ以上の機械学習要素(たとえば、ニューラルネットワーク、サポートベクターマシン、ベイジアンネットワークなど)を備えた設計モデルであり得る。訓練データ104は、機械学習モデル102を訓練可能な任意のデータセットであり得る(たとえば、教師あり学習用のラベル付けされたデータなど、対応するラベルを有する特徴セット)。いくつかの実施の形態では、訓練データ104を用いて機械学習モデル102を訓練して、訓練済みの機械学習モデルを作成することができる。
【0018】
いくつかの実施の形態では、入力データ106(たとえば、特徴からなる入力セット)を訓練済み機械学習モデルに入力して予測108を生成することができる。いくつかの実装では、予測108は、観測可能なデータ点を表し得る。したがって、ある時点において、予測108内の所与の予測は、当該所与の予測に対応する観測データ点を含み得る。すなわち、観測データ110内の所与の観測データ点は、予測108内の所与の予測が予測しようと試みたデータに対応し得る。
【0019】
たとえば、訓練済みの機械学習モデルは、時間経過に伴う車両のガソリンのレベルを予測するように構成されてもよい。したがって、この訓練済みモデルによって生成された予測は、将来のある時点におけるガソリンレベルを含み得る。この予測に対応する将来のある時点において、車両の実際のガソリンレベルが観測(たとえば、取得して格納)され得る。ある時点における予測ガソリンレベルを、ある時点における観測ガソリンレベルと比較して、正解率を算出することができるようになる。
【0020】
実施の形態では、予測108および観測データ110は、過去のデータ予測および対応する観測データ点を表すデータ点ペアを含み得る。実施の形態は、機械学習モデル102の正解率を算出する際に、これらのデータ点ペアの動的な選択を行う。たとえば、様々なイテレーションにおいて動的な数のこれらの点を取って機械学習モデル102の正解率を査定し、正解率が基準を満たさない場合、機械学習モデル102の再訓練または更新済みの訓練がトリガされ得る。たとえば、観測データ110を用いて、再訓練または更新済みの訓練の一部として訓練データ104を更新することができる。実施の形態では、機械学習モデル102の再訓練または更新済みの訓練が行われると、新たに訓練されたモデルの正解率が繰り返し査定され得る。
【0021】
図2は、実施の形態に係る、コンピュータサーバ/システム200のブロック図である。システム200の全体または一部を用いて図1に示す要素のいずれかが実装されてもよい。図2に示すように、システム200は、プロセッサ222およびメモリ214など、システム200の様々な構成要素間で情報を伝達するように構成されたバスデバイス212および/またはその他の通信機構(複数可)を備えてもよい。これに加えて、プロセッサ222からその他のデバイスにネットワーク(図示せず)上で送信されるデータを符号化し、当該ネットワーク上でその他のシステムから受信したプロセッサ222宛てのデータを復号化することによって、通信装置220は、プロセッサ222とその他のデバイスとの間の接続性を可能にしてもよい。
【0022】
たとえば、通信装置220は、ワイヤレスネットワーク通信を提供するように構成されたネットワークインターフェースカードを備えてもよい。赤外線、無線、Bluetooth(登録商標)、Wi-Fi、および/またはセルラー通信を含む様々なワイヤレス通信技術が用いられてもよい。あるいは、通信装置220は、Ethernet接続など、有線ネットワーク接続(複数可)を提供するように構成されてもよい。
【0023】
プロセッサ222は、システム200の計算機能および制御機能を実行するための1つ以上の汎用プロセッサまたは特定用途向けプロセッサを備えてもよい。プロセッサ222は、マイクロ処理装置など、1つの集積回路を備えてもよく、連携して動作してプロセッサ222の機能を実現する複数の集積回路デバイスおよび/または複数の配線基板を備えてもよい。これに加えて、プロセッサ222は、オペレーティングシステム215、予測モジュール216、およびその他のアプリケーション218など、メモリ214内に格納されたコンピュータプログラムを実行してもよい。
【0024】
システム200は、情報およびプロセッサ222によって実行される命令を格納するためのメモリ214を備えてもよい。メモリ214は、データを取得、提示、修正、および格納するための様々なコンポーネントを備えてもよい。たとえば、メモリ214は、プロセッサ222によって実行されると機能を提供するソフトウェアモジュールを格納してもよい。モジュールは、システム200のオペレーティングシステム機能を提供するオペレーティングシステム215を含んでもよい。モジュールは、オペレーティングシステム215と、機械学習モデルのための動的なデータ選択および本明細書に開示されているすべてのその他の機能を実現する正解率モジュール216と、その他のアプリケーションモジュール218とを含んでもよい。オペレーティングシステム215は、システム200のオペレーティングシステム機能を提供する。場合によっては、正解率モジュール216は、インメモリ構成として実装されてもよい。いくつかの実装では、システム200が正解率モジュール216の機能を実行した場合、本明細書に開示の機能を実行する従来にない専門的なコンピュータシステムが実装される。
【0025】
非一時的なメモリ214は、プロセッサ222がアクセスし得る様々なコンピュータ読み取り可能な媒体を含んでもよい。たとえば、メモリ214は、ランダムアクセスメモリ(「RAM(random access memory)」)、ダイナミックRAM(「DRAM(dynamic RAM)」)、スタティックRAM(「SRAM(static RAM)」)、読み取り専用メモリ(「ROM(read only memory)」)、フラッシュメモリ、キャッシュメモリ、および/またはその他の種類の非一時的なコンピュータ読み取り可能な媒体の任意の組合せを含んでもよい。プロセッサ222は、さらに、液晶ディスプレイ(「LCD(Liquid Crystal Display)」)など、ディスプレイ224にバス212を介して連結される。キーボード226、およびコンピュータマウスなどのカーソル制御デバイス228が通信装置212にさらに連結されて、ユーザをシステム200にインターフェース接続することを可能にする。
【0026】
いくつかの実施の形態では、システム200は、より大規模なシステムの一部であり得る。そのため、システム200は、1つ以上の追加の機能モジュール218を備えて追加機能を含めることができる。その他のアプリケーションモジュール218は、Oracle(登録商標)Cloud Infrastructure、Oracle(登録商標)Cloud Platform、Oracle(登録商標)Cloud Applicationsなどの様々なモジュールを含んでもよい。正解率モジュール216、その他のアプリケーションモジュール218、およびその他の適したシステム200の構成要素は、Oracle(登録商標)IoT Analytics、Oracle(登録商標)Data Science Cloud、Oracle(登録商標)Customer Experience Cloud、Oracle(登録商標)Enterprise Resource Planning Cloud、Oracle(登録商標)Manufacturing Cloud、その他の適応型インテリジェンスOracle(登録商標)アプリケーション、任意の適切なOracle(登録商標)プロダクトもしくはサービスのデータサイエンスツールキット、またはその他の適したプロダクトもしくはサービスの様々なモジュールを含めることができる。
【0027】
バス212にデータベース217が連結されており、モジュール216および218のための集中ストレージを提供し、かつ、たとえば、プランニングモジュール216またはその他のデータソースから受信したデータを格納する。データベース217は、論理的に関連したレコードまたはファイルからなる統合コレクションにデータを格納することができる。データベース217は、運用データベース、アナリティカルデータベース、データウェアハウス、分散データベース、エンドユーザデータベース、外部データベース、ナビゲーショナルデータベース、インメモリデータベース、ドキュメント指向データベース、リアルタイムデータベース、リレーショナルデータベース、オブジェクト指向データベース、非リレーショナルデータベース、NoSQLデータベース、Hadoop(登録商標)分散型ファイルシステム(「HFDS(Hadoop distributed file system)」)、または当技術分野で周知のその他のデータベースであり得る。
【0028】
1つのシステムとして図示しているが、システム200の機能は分散システムとして実装されてもよい。たとえば、まとめてシステム200を表す複数の異なるコンピュータ間でメモリ214およびプロセッサ222を分散してもよい。一実施の形態において、システム200は、デバイス(たとえば、スマートフォン、タブレット端末、コンピュータなど)の一部であってもよい。実施の形態では、システム200は、当該デバイスとは別であってもよいし、開示の機能を遠隔でデバイスに提供してもよい。さらには、システム200の1つ以上の構成要素を省略してもよい。たとえば、ユーザデバイスまたは消費者向けデバイスとしての機能の場合、システム200は、スマートフォンであってもよいし、プロセッサ、メモリ、およびディスプレイを含み、図2に示すその他の構成要素のうちの1つ以上を含まず、かつ、アンテナ、トランシーバ、またはその他の適したワイヤレスデバイスコンポーネントなど図2に示されていない追加コンポーネントを含むその他のワイヤレスデバイスであってもよい。さらには、本明細書に開示の機能を実行するように実装された場合、システム200は、需要予想を提供するように特別に用意された特定用途向けコンピュータである。
【0029】
実施の形態は、訓練済みの機械学習モデルの正解率を算出するために使われるデータ点ペアの数の動的な選択を対象とする。たとえば、暗黙的フィードバック評価部(たとえば、Oracle(登録商標)データサイエンスツールキットシステムなど、データサイエンスツールキットシステムのモジュール)は、モデルの性能を定期的に評価し、モデルの性能が基準を満たさない場合(たとえば、正解率メトリクスが基準を満たさない場合)、正解率に基づいて訓練をトリガすることができる。いくつかの実施の形態では、このアルゴリズムは、初期数のデータ点ペアを使用した後、前回のイテレーションで行われた操作に基づいて(たとえば、前回のイテレーションで再訓練をトリガされたかどうかに基づいて)この数を増やす/減らす。
【0030】
たとえば、時には、訓練済みモデルの性能が標準を満たさない場合(たとえば、正解率が基準を満たさない場合)に自動的に訂正操作を行うために(たとえば、Oracle(登録商標)IoT Analyticsの)データサイエンスツールキットが用いられる。いくつかのデータサイエンスツールキットプロバイダは、正解率算出メカニズムを用いてモデルの性能を測定する。しかしながら、この正解率は、正解率を算出するために使われたデータ点ペアの数に基づいている。暗黙的フィードバック評価部(たとえば、データサイエンスツールキットシステムにおけるモジュール)の実施の形態は、訓練済みモデルの性能を定期的に評価して、性能が特定の許容範囲を外れた際に自動的に適切な操作(たとえば、機械学習モデルの再訓練/更新済み訓練など)を行う。データ点の選択は、この評価に影響を与え得る。
【0031】
正解率の算出は、考慮されるデータ点の数によって異なるため、固定のデータ点を選択した場合、暗黙的フィードバック評価イテレーションにおいて再訓練または更新済みの訓練が行われる可能性は全く変化しない。データ点の動的な選択に基づいて、実施の形態では、いくつかのイテレーションでは再訓練の可能性が少ない一方で、他のイテレーションでは再訓練の可能性が高かったりする。予測する訓練は非常に多くのリソースを必要とする作業であり得るので、実施の形態は有効であり、コンピューティングリソース/クラスタリソースを最適に利用できる。
【0032】
データ点の数を選択することが正解率の算出にどのような影響を与えるかについて説明するために、次のシナリオを考える。レンタカー会社が、Internet of Things(「IoT」)アセットモニタリングアプリケーション(たとえば、Oracle(登録商標)IoT Asset Monitoring Application)を利用して所有する車を管理する計画を立てる。車には、指定された間隔で車の電流パルス(たとえば、測定値)を提供することができるセンサ(たとえば、IoTデバイス)が取り付けら得る。
【0033】
実施の形態では、資産管理アプリケーションのユーザとして、レンタカー会社は、いくつかのデバイスモデルを用いて車というアセットタイプを作成できてもよい。たとえば、燃料タンクについて、属性:燃料残量(fuelLevel)、温度などを用いて作成されたデバイスモデルがある場合を考える。実施の形態では、会社は、1時間ごとの車の燃料残量を追跡してメトリクス/主要性能指標(「KPI:Key Performance Indicator」):「Track the AVG(fuelLevel)HOURLY」を作成したいと考える。
【0034】
また、いくつかの実施の形態では、会社は、将来の燃料残量の測定値を予測したいと考え、「predict AVG(fuelLevel) for next day」を用いてPREDICTIONを作成し得る。たとえば、翌日のAVG(fuelLevel)を予測するために用いられる機械学習モデルを訓練することができる。いくつかの実施の形態では、機械学習モデルを訓練/展開した7日後、正解率チェックを用いて訓練済み機械学習モデルの正解率を判断することができる。たとえば、平均相対誤差が以下の通りである場合、正解率の算出は、1-平均相対誤差であり得る。
【0035】
【数1】
【0036】
ここで、「xi」は、予測量の実績値であり得、「yi」は、予測であり得、「n」は、変数が予測される異なる時刻の数であり得る。その他の適した正解率メトリクスが用いられてもよい。正解率を評価するために利用可能なデータ点ペアが5つあるが、3つのデータ点を選択して正解率を評価する場合を考える。
【0037】
【表1】
【0038】
実施の形態では、上記の正解率を求める数式を用いると、3つのデータ点には次の誤差ができる:abs(10-15)/10=0.5、abs(15-10)/15=0.33、およびabs(20-24)/20=0.2。加算および「n」による対応する除算によって、(0.5+0.33+0.2)/3=0.34となり、1-絶対相対誤差は、1-0.34=0.66となる。
【0039】
3つのデータ点ではなく4つのデータ点をサンプリングしてアルゴリズムの正解率を算出する場合を考える。
【0040】
【表2】
【0041】
実施の形態では、上記の平均相対誤差数式を用いると、4つのデータ点には次の誤差ができる:abs(10-15)/10=0.5、abs(15-10)/15=0.33、abs(20-24)/20=0.2、およびabs(20-30)/20=0.5。加算および「n」による対応する除算によって、(0.5+0.33+0.2+0.5)/4=0.38となり、1-絶対相対誤差は、1-0.38=0.62となる。いくつかの実施の形態では、ペアではなくデータ点が誤差算出用に多数の値を含むことができる。
【0042】
このシナリオは、正解率の算出がデータ点の数の選択にどのように依存しているかを例証している。この数を動的に(たとえば、時々)選択することによって、特に、再訓練が頻繁に実行されてしまうリスク、過激な変化があった場合に必ず再訓練が実行されてしまうリスクを減らすという利点がある。
【0043】
図3A図3Cは、例示的な実施の形態に係る、機械学習モデルの訓練をトリガするための動的なデータ選択についてのフローチャートを示す図である。いくつかの実施の形態では、図3A図3C、および以下の図4の機能は、メモリまたはその他のコンピュータ読み取り可能な媒体、または有形の媒体に格納されたソフトウェアによって実現されて、プロセッサによって実行される。その他の実施の形態では、各機能は、(たとえば、特定用途向け集積回路(「ASIC(application specific integrated circuit)」)、プログラマブルゲートアレイ(「PGA(programmable gate array)」)、フィールドプログラマブルゲートアレイ(「FPGA(field programmable gate array)」)などの利用によって)ハードウェアによって実行されてもよく、ハードウェアとソフトウェアとの任意の組合せによって実行されてもよい。実施の形態では、図3A図3Cおよび図4の機能は、図2のシステム200の1つ以上の要素によって実行することができる。
【0044】
いくつかの実施の形態では、機械学習モデルを設計、訓練、および格納することができる。図3Aの302Aにおいて、機械学習モデルを訓練し得る。図1に戻ると、訓練データ104を用いて機械学習モデル102を訓練し得る。
【0045】
機械学習モデル102の設計は、任意の適切な機械学習モデル構成要素(たとえば、ニューラルネットワーク、サポートベクターマシン、専用の回帰モデルなど)を含み得る。たとえば、(たとえば、訓練/勾配算出のための)所与のコスト関数を有するニューラルネットワークを実装することができる。このニューラルネットワークは、任意の数の隠れ層(たとえば、0、1つ、2つ、3つ、またはそれ以上)を含み得、フィードフォワードニューラルネットワーク、回帰型ニューラルネットワーク、畳み込みニューラルネットワーク、モジュラーニューラルネットワーク、およびその他の適したタイプを含み得る。いくつかの実施の形態では、たとえば、実装された隠れ層の数に基づいてこのニューラルネットワークを深層学習用に設定することができる。いくつかの例では、ベイジアンネットワークを同様に実装することができ、または、その他の種類の教師あり学習モデルを同様に実装することができる。
【0046】
たとえば、場合によっては1つ以上のカーネル(たとえば、ガウスカーネル、線形カーネルなど)を有するサポートベクターマシンを実装することができる。いくつかの実施の形態では、機械学習モデル102は、複数のモデルを積み重ねたものであり得、たとえば、第1モデルの出力が第2モデルの入力に与えられる。いくつかの実装は、複数の予測モデルからなる複数の層を含み得る。また、いくつかの実施の形態では、機械学習モデル102の特徴量を決定することもできる。たとえば、特徴量エンジニアリングを用いて、1つ以上の機械学習モデルによって実装される特徴量のセットを生成することができる。
【0047】
いくつかの実施の形態では、訓練中、再訓練中、および/または更新済みの訓練中に機械学習モデル102の設計を調整することができる。調整として、ニューラルネットワークにある隠れ層の数の調整、サポートベクターマシンを実装するために用いるカーネル算出の調整などを挙げることができる。また、この調整は、機械学習モデルが使用する特徴量の調整/選択も含み得る。訓練されると所望の性能(たとえば、所望の正解率レベルの予測を行う、所望のリソース利用/時間メトリクスに従って動作するなど)を実現する機械学習モデル102の設定を達成するために、実施の形態は、訓練中に様々な調整設定(たとえば、それぞれ異なるバージョンの機械学習モデルおよび特徴量)を実施することを含む。
【0048】
いくつかの実施の形態では、機械学習モデルの再訓練および機械学習モデルの訓練を更新することは、更新済み訓練データを用いてモデルを訓練することを含み得る。たとえば、訓練データを更新して観測データや(たとえば、教師あり学習で使用するために)ラベル付けされたデータを組み込むことができる。
【0049】
304Aでは、訓練済みモデルおよび対応するメタデータを格納し得る。たとえば、機械学習モデル102を訓練し得、実装によってはモデルに関するメタデータを有する結果として得られる訓練済み機械学習モデルを格納し得る。たとえば、格納されたメタデータは、正解率を算出するために用いられる点の数(たとえば、デフォルト値、複数のイテレーションを実行することによって生成された数)、係数値(factorValue)(たとえば、2などのデフォルト値、または複数のイテレーションを実行した後の計算値)、開示の実施の形態によって算出される正解率などのモデル正解率(modelAccuracy)であり得る。
【0050】
いくつかの実施の形態では、訓練済み機械学習モデルのフィードバックサイクルまたは評価判断(たとえば、イテレーション)は、ある期間の後に実行され得る。たとえば、この期間は、一定の期間(たとえば、数時間、数日、1週間、2週間、1ヶ月、四半期など)または予め定められた観測データ量(たとえば、評価用の30個のアクセス可能なデータ点ペア、50個の点、数百個の点、数千個の点など)のような予め定められた量であり得る。アルゴリズムの複数のイテレーションを実行する期間は、特定の実装、データ点を観測する割合、正解率が落ちる割合、およびその他の要因によって異なり得る。
【0051】
図3Bは、評価サイクルの第1イテレーションを示す図である。302Bでは、係数値を決定し得る。たとえば、デフォルト係数値を決定し得る(たとえば、2、3、またはその他の適した数)。いくつかの実装では、デフォルト係数値は、実装仕様によって異なってもよく、任意の適切なデフォルト係数値が実装され得る。
【0052】
304Bでは、データ点の数を選択し得る。たとえば、利用可能なデータ点ペアからのデフォルトの数の最初の選択(たとえば、訓練済みモデル作成日から利用可能になるデータ点のうちの50%)を決定し得る。デフォルト数は、その他の適した割合または数字であり得、また、いくつかの実施の形態では、実装依存であり得る。実施の形態では、次の数式を用いてデフォルトのデータ点の数を求め得る:データ点の数=0.5・(currentTime(現在時刻)-trainedModelCreatedTime(訓練済みモデル作成時刻))/smallestKpiFreqn(最小Kpi頻度)。たとえば、主要性能指標(「KPI」)が1時間毎であって期間が7日間である場合、データ点の数は、0.5・(7日/1時間)=0.5・168=84となり得る。
【0053】
306Bでは、データ点の数がデータ点の閾値数などの基準を満たすかどうかを判断し得る。たとえば、データ点の閾値数は、30であってもよく、場合によっては、モデルを訓練してからの観測データに基づいて30個のデータ点を生成しなくてもよい(たとえば、期間が時間で定義されている場合、生成されるデータ点の数は変数であってもよい)。任意の適切な基準またはデータ点の閾値数が使用され得る。308Bでは、データ点の数がこの基準を満たさない場合(たとえば、最小データ点数以下の場合)、このイテレーションの間は再訓練または更新済みの訓練はトリガされない。
【0054】
310Bでは、データ点の数が基準を満たさない場合(たとえば、最小データ点数以上の場合)、正解率メトリクスを計算し得る。図1に戻ると、正解率メトリクスは、予測108からの予測データ点と観測データ110からの対応する観測データ点との比較に基づき得る。たとえば、訓練済みの機械学習モデルがデータ予測を生成し得、対応するデータ点が後で観測され得、これによって正解率を算出するために利用できるデータ点ペアが生成されることを考える。正解率メトリクスとして、平均相対誤差、1-平均相対誤差、平均絶対パーセント誤差、平均絶対誤差、平均二乗偏差などを挙げることができる。
【0055】
いくつかの実施の形態では、訓練済みモデルは、物流モデルであり得、正解率は、1つ以上の要素に基づいてもよい。F1値などの正解率メトリクスが実装され得る。たとえば、F1は、モデルの適合率(たとえば、陽性の予測値)および再現率(たとえば、感度)によって決まり得る。適合率は、モデルのすべての真(たとえば、モデルの真陽性+偽陽性)に対する真陽性(たとえば、ラベル付けされた陽性に対応するモデルによる予測陽性)の割合であり得る。再現率は、すべてのラベル付けされた陽性(たとえば、モデルの真陽性+偽陰性)に対する真陽性の割合であり得る。その他の適した適合率および再現率の定義を同様に実装することができる。F1値関数は、F1=2×(適合率×再現率)/(適合率+再現率)であり得る。F1値についてのその他の適した定義が実装され得る。いくつかの実施の形態では、その他の適した物流モデル正解率メトリクスが実装される。
【0056】
312Bでは、算出された正解率メトリクスが正解率基準を満たすかどうかを判断し得る。たとえば、算出された訓練済み機械学習モデルの正解率が閾値正解率(たとえば、25%、50%、75%など)よりも大きいかどうかを判断し得る。いくつかの実施の形態は、正解率メトリクスが誤差メトリクスとして算出され得るので、誤差メトリクスを誤差基準と比較して、誤差が閾値よりも大きいかどうかを判断し得る。
【0057】
308Bでは、正解率メトリクスが正解率基準を満たした場合(たとえば、正解率メトリクスが正解率閾値よりも大きい、または誤差メトリクスが誤差閾値未満の場合)、このイテレーションでは再訓練または更新済みの訓練はトリガされない。312Bでは、正解率メトリクスが正解率基準を満たさない場合(たとえば、正解率メトリクスが正解率閾値未満、または誤差メトリクスが誤差閾値よりも大きい場合)、再訓練または更新済みの訓練がトリガされる。たとえば、観測データ110を用いて訓練データ104が更新され得、機械学習モデル102の再訓練または更新済みの訓練が実行され得る。いくつかの実施の形態では、再訓練がトリガされた場合、機械学習モデル102を訓練して格納する。いくつかの実装では、訓練済みモデル情報(たとえば、訓練済みモデルおよびメタデータ)とともに、係数値およびいくつかの点も保存され得る。いくつかの実施の形態では、フィードバック永続記憶に暗黙的フィードバックを記録し得る。
【0058】
図3Cは、評価サイクルの「n」番目のイテレーションを示す図である。302Cでは、係数値を決定し得る。たとえば、係数値は、「n-1」番目のイテレーションにおける係数値に基づき得る。いくつかの実施の形態では、「n-1」番目の係数値を静的な値(たとえば、0.95、0.90、0.85など)で乗算して、「n」番目のイテレーションの係数値を決定し得る。その他の適した係数値の決定方法を用いることも可能である。
【0059】
304Cでは、データ点の数を選択し得る。たとえば、決定されたデータ点の数は、「n」番目のイテレーションの係数値、および「n-1」番目のイテレーションで実行された操作(たとえば、再訓練または再訓練なし)に基づき得る。いくつかの実施の形態では、「n-1」番目のイテレーションにおいて再訓練がトリガされた場合、「n-1」番目のイテレーションにおけるデータ点の数を係数値で乗算し得、「n-1」番目のイテレーションにおいて再訓練がトリガされなかった場合、「n-1」番目のイテレーションにおけるデータ点の数を係数値で除算し得る。すなわち、前回のイテレーションで訓練があった場合は点の数が増やされ得、前回のイテレーションで訓練がなかった場合は減らされ得る。
【0060】
したがって、現在のイテレーションの場合、前回行われた操作に基づいて、前回のイテレーションで使われた点の数が増やされたり減らされたりし得る。いくつかの実施の形態では、前回のイテレーションで再訓練が行われた場合、係数値で乗算することによってデータ点の数を増やし得、係数値で除算してデータ点の数を減らし得る。
【0061】
いくつかの実施の形態では、306C、308C、310C、312C、および314Cの機能は、306B、308B、310B、312B、および314Bの機能に類似し得る。たとえば、306Cにおいて、データ点の数が、データ点の閾値数など、基準を満たすかどうかを判断し得る。データ点の数が基準を満たさない場合(たとえば、最小データ点数以下である場合)、308Cでは、イテレーション中に再訓練または更新済みの訓練はトリガされない。
【0062】
310Cでは、データ点の数が基準を満たした場合(たとえば、最小データ点数以上であった場合)、正解率メトリクスを計算し得る。312Cでは、算出された正解率メトリクスが正解率基準を満たすかどうかを判断し得る。308Cでは、正解率メトリクスが正解率基準を満たした場合(たとえば、正解率メトリクスが正解率閾値よりも大きい場合、または誤差メトリクスが誤差閾値未満の場合)、イテレーションにおいて再訓練または更新済みの訓練はトリガされない。312Cでは、正解率メトリクスが正解率基準を満たさない場合(たとえば、正解率メトリクスが正解率閾値未満、または誤差メトリクスが誤差閾値よりも大きい場合)、再訓練または更新済みの訓練がトリガされる。
【0063】
いくつかの実施の形態では、係数値は、デフォルト値(たとえば、図3Bの302Bに従って、2という値など)で開始され得、フィードバックイテレーションにおいて何らかの固定値で減らされ得る(たとえば、302Cに示すように)。いくつかの実施の形態では、係数値が終了値(たとえば、1、またはその他の適した値)に達した場合、点の動的選択を終了し得る。次に、係数値がこの終了値に達したときの前回のイテレーションでのデータ点の数を今後の評価サイクル/フィードバックイテレーションごとに使用し得る。
【0064】
いくつかの実施の形態では、可変数個のデータ点およびフィードバックイテレーションを用いて、特定のモデル/機械学習実装の正解率を査定するのに適したデータ点の数(たとえば、係数値が1に達した場合)を決定し得る。複数のイテレーションを実行したあとに決定されるデータ点の数は、このようなイテレーションサイクルが無い静的なデータ点の数の選択に適している。なぜならば、少なくとも、決定したデータ点の数をこれらのイテレーションが当該特定のモデル/実装に特化させているためである。たとえば、モデルごとの項目によってこれらの項目の終了値が異なり得るので、それぞれ異なるモデル/実装について、これらのイテレーションによって決定されるデータ点の数は異なり得る。
【0065】
したがって、実施の形態は、性能を向上させるために、モデル正解率を査定する際に用いるデータ点の数を特定のモデル/実装に特化させる。この向上した性能は、たとえば、再訓練の決定が向上することによるより良いリソース利用を含み得る。査定されたモデルの正解率に基づいてモデルの再訓練がトリガされ得るので、正解率査定を改善するデータ点の数もその正解率査定に基づいた再訓練の決定を改善させ得る。
【0066】
次の擬似コードは、実施の形態の例示的な実装を表す。
【0067】
【数2】
【0068】
【数3】
【0069】
図1に戻ると、任意の種類の適したデータ予測を実行するように機械学習モデル102を設計して訓練することができる。たとえば、生成したデータ予測を、物理的な測定値(たとえば、物質的な物の速度、加速度、位置、物性、量、またはその他の適した物理的な測定値)、コンピューティング環境またはネットワークにおける測定値など、IoT(「Internet of Things」)接続されたデバイスによって測定された値に結びつけることができる。いくつかの例では、生成したデータ予測を、小売売上高、在庫、返品、様々なサブルート(たとえば、D2C(Direct to Consumer)、店舗、サードパーティなど、異なる場所、市場、配達/返品ルート)内のこれらの要素のいずれか、または企業組織についてのその他の適したデータなど、企業組織に関する値に結びつけることができる。
【0070】
いくつかの実施の形態では、機械予測に従って配送を行うことができる。たとえば、機械予測は、需要予想、在庫予測などであり得、予想/予測に基づいて倉庫とストア間の配送を行うことができる。
【0071】
図4は、例示的な実施の形態に係る、動的なデータ点選択を用いた機械学習予測モデルを実装するためのフロー図である。402では、訓練済みの機械学習モデルが生成した複数のデータ予測にアクセスし得る。ここで、データ予測は、観測データに対応する。たとえば、後の時点で観測されるデータ点についてのデータ予測を生成し得る。アクセスした複数のデータ予測は、データ点ペアを生成できるように、対応する観測データを有し得る。
【0072】
404では、アクセスした複数のデータ予測および対応する観測データに基づいて機械学習モデルの正解率を算出し得る。たとえば、この正解率は、データ予測とそれらの対応する観測データとの比較に基づく正解率メトリクスであり得る。
【0073】
406では、可変数のデータ予測を用いてアクセスと算出を繰り返し得る。ここで、可変数のデータ予測は、前回のイテレーション中に実行された操作に基づいて調整され、算出した正解率が所与のイテレーション中に正解率基準を満たさない場合、機械学習モデルに対する訓練がトリガされる。たとえば、複数のイテレーションを、当該イテレーションの期間に応じて一定の時間実行し得る。
【0074】
いくつかの実施の形態では、前回のイテレーション中に訓練がトリガされたかどうかに基づいて現在のイテレーションの可変数のデータ予測を調整し得る。いくつかの実施の形態では、前回のイテレーションとは、現在のイテレーションの直前のイテレーションである。
【0075】
いくつかの実施の形態では、前回のイテレーション中に訓練がトリガされた場合、現在のイテレーションのデータ予測の数が増やされ、前回のイテレーション中に訓練がトリガされなかった場合、データ予測の数が減らされる。たとえば、前回のイテレーション中に訓練トリガされた場合、現在のイテレーションのデータ予測の数を係数で乗算し、前回のイテレーション中に訓練がトリガされなかった場合、係数でデータ予測の数を除算する。いくつかの実施の形態では、この係数の値は、複数のイテレーションにわたって減少する。例では、係数の値は初期化され、係数は、1以上の値である。
【0076】
いくつかの実施の形態では、トリガされた訓練は、訓練済み機械学習モデルに対する再訓練または更新済みの訓練であり得る。いくつかの実施の形態では、訓練がトリガされた場合、次のアクセスおよび算出のイテレーションは、トリガされた訓練が生成した機械学習モデルによって生成されたデータ予測を利用する。
【0077】
いくつかの実施の形態では、この繰り返しは所定時間に従って行われる。たとえば、所定時間は、所定時間、または対応する観測データを有する所定量のデータ予測であり得る。
【0078】
408では、設定されたデータ予測の数がこの繰り返しに基づいて決定されるよう、可変数のデータ予測を用いたアクセスおよび算出を複数のイテレーションが実行された後に終了し得る。ここで、繰り返しの後、設定されたデータ予測の数を利用して機械学習モデルの正解率を算出し、この正解率を用いて機械学習モデルの訓練をトリガする。
【0079】
実施の形態は、企業(たとえば、小売店)に需要予想の予想正解率を求めるために改良された機械学習モデルを利用するためのメカニズムを提供することによって、予想ソリューションに対する従来の手法を改善することができる。多くの状況では、需要予想はサプライチェーンの推進力であり、これが不正確であった場合、割り当て、プランニング、および補充が上手く行われない。その結果、リソース使用が非効率になってしまう。一般に、予想が高かった場合、アイテムは売れ残ってしまう。これらを値引き販売しなければならなくなるか、廃棄を増やしてしまうことになる。予想が低かった場合、需要が満たされず、小売店は販売機会を失い、顧客満足が低下してしまう。その結果、両方の場合もリソース使用が非効率になってしまう。実施の形態は、信頼できる需要予想を実現するための技術を提供するので、サプライチェーンおよび企業間でのリソース利用の効率を改善させることができる。
【0080】
図5は、例示的な実施の形態に係る、総合サプライヤー、在庫、および、本明細書に開示の在庫管理を備える物流システムを示す図である。図5に示すように、システム500は、エンタープライズビジネスシステム570を備えることができる。エンタープライズビジネスシステム570は、倉庫580を利用して企業の所在地501~504に関する商品の在庫を管理するためのコードと、倉庫580から商品を消費者に直接配送するためのコードとを実行する。エンタープライズビジネスシステム570は、クラウドネットワーク550またはその他の種類の通信ネットワークを介して1つ以上の在庫システム520と通信を行っている。いくつかの実施の形態では、エンタープライズビジネスシステム570のプランニング/予想ソフトウェアは、様々な商品の予想在庫レベルを提供する予想を生成することができる。在庫システム520および倉庫580は、これらの予想在庫レベルに基づいて企業の所在地501~504宛ての配送および企業の所在地501~504からの配送を行うことができる。いくつかの実施の形態では、訓練済みの機械学習モデルを利用することによってこれらの予想在庫レベルを改善することができるようになるので、より効率的な配送プロセスを生成できるようになる。
【0081】
在庫システム520は、在庫を保管して、アイテムを企業の所在地501~504および消費者の所在地(たとえば、消費者の自宅)までトラック510~513またはその他の輸送機構を使って配達するための輸送物流を提供する。一実施の形態において、在庫システム520は、プランニング/予想ソフトウェアが生成する旬のプランなど、エンタープライズビジネスシステム510からの入力を用いて在庫レベルを判断し、商品の量および企業の所在地501~504への配達のタイミングを判断するEnterprise Resource Planning(「ERP」)専門コンピュータシステムまたは専門の在庫管理システムを実装する。
【0082】
倉庫580は、在庫システム520に基づいて1つ以上の商品を企業の所在地501~504に供給し、商品を消費者の所在地(たとえば、消費者の自宅)に配送するフルフィルメント倉庫である。一実施の形態において、倉庫580は、プランニング/予想ソフトウェアが生成する旬のプランなど、エンタープライズビジネスシステム510からの入力を用いて商品の量および在庫システム520および/または企業の所在地501~504への配達のタイミングを判断するERP専門コンピュータシステムまたは専門のサプライヤーシステムを実装する。いくつかの実施の形態では、たとえば企業の所在地501~504への返品に基づいて、倉庫580は、企業の所在地から配送を受け付けて、たとえば、企業の所在地が供給過多になっておらず、商品の種類が豊富であることを確保する。
【0083】
実施の形態は、機械学習モデルのための動的なデータ選択を行う。いくつかの実施の形態では、訓練データを利用して機械学習モデルを(たとえば、教師あり学習を介して)訓練することができる。その後、訓練済みモデルを利用して、入力データに基づいたデータ予測を生成することができる。時には、たとえば、モデルを再訓練するまたは訓練を更新することによって、訓練済みの機械学習モデルを更新することができる。
【0084】
いくつかの実施の形態では、正解率メトリクスを用いて、再訓練または更新済みの訓練をトリガすることができる。たとえば、訓練済みの機械学習モデルの実装には、今後しばらくしてから観測されるデータ点のデータ予測を生成するものもある。このように、過去のデータ予測は、対応する観測データ点を含み得る。これらの2つの値に基づいた正解率メトリクスを用いて再訓練または更新済みの訓練をトリガすることができる。たとえば、正解率メトリクスを正解率基準と比較することができ、この比較に基づいて訓練をトリガすることができる。
【0085】
いくつかの実施の形態では、過去のデータ予測の数および対応する観測データ点ペアの数は、正解率メトリクスに影響し得る。たとえば、観測データが利用可能になると、これらのデータ点ペアのセットを生成することができるようになる。正解率判断は、選択されるこれらのデータ点ペアの数によって異なり得る。多数のデータ点ペアによって、これらのデータ点の任意の特定のサブセットの重要性が希薄になり得る。たとえば、1ヶ月分のデータ点ペアを用いて正解率を判断した場合、先週のデータ点ペアは、その月の別の日により、希薄になってしまう。別の例では、2週間分のデータ点ペアを用いて正解率を判断した場合、先週のデータ点ペアは、正解率メトリクスにとってかなり重要である。
【0086】
いくつかの実装では、データ点ペアからなる第1の数がデータ点ペアからなる第2の数よりも小さい場合、第1の数に基づく正解率メトリクスは、第2の数に基づく正解率メトリクスよりも再訓練または更新済みの訓練をトリガする可能性が高い。すなわち、いくつかの実装では、少ない数のデータ点ペアのほうが、正解率基準を満たさない正解率メトリクスを生成する可能性が高いので、再訓練または更新済みの訓練をトリガする可能性が高い。
【0087】
機械学習モデルの訓練では、多くのリソースを必要とし得るので、選択的に再訓練するまたは機械学習モデルの訓練を更新することによって、正解率とリソース効率および実用性との均衡を取ることができる。実施の形態は、可変数のデータ点ペアを用いて正解率メトリクスを繰り返し算出し、正解率メトリクスが正解率基準を満たさない場合に再訓練または更新済みの訓練が所与のイテレーション(繰り返し)においてトリガされ得る。
【0088】
たとえば、所与のイテレーションにおいて、データ点ペアの数は、(たとえば、前回のイテレーションで用いられた)以前のデータ点ペア数、係数値(たとえば、複数のイテレーションにわたって調整される動的な値)、および前回の再訓練または更新済みの訓練のステータス(たとえば、モデルが再訓練されたか以前のイテレーションで更新済みの訓練が行われたか)に基づき得る。したがって、正解率を査定するために用いられるデータ点ペアの数は、複数のイテレーションにわたって変化する。したがって、再訓練または更新済みの訓練をトリガする可能性も変化する。予測正解率とリソース使用およびシステム停止との均衡を取ることにより、この設定された可能性によって実装が全体的に改善される。
【0089】
本明細書を通して説明した本開示の特徴、構造、または特性を任意の適切な方法で組み合わせて1つ以上の実施の形態にしてもよい。たとえば、本明細書を通した「一実施の形態」、「いくつかの実施の形態」、「特定の実施の形態」、「特定の実施の形態」、またはその他の同様の文言の使用は、実施の形態に関して説明した特定の特徴、構造、または特性が本開示の少なくとも1つの実施の形態に含まれてもよいことを指している。よって、本明細書を通した「一実施の形態」、「いくつかの実施の形態」、「特定の実施の形態」、「特定の実施の形態」いうフレーズ、またはその他の同様の文言の出現は、必ずしもすべてが同じグループの実施の形態を指しているわけではなく、記載の特徴、構造、または特性を任意の適切な方法で組み合わせて1つ以上の実施の形態としてもよい。
【0090】
上述した実施の形態を異なる順序のステップで実施してもよいこと、および/または開示の構成とは異なる構成の要素を用いて実施してもよいことは、当業者であれば容易に理解できるであろう。そのため、本開示は、概要を説明した実施の形態を考慮しているが、本開示の趣旨および範囲から逸脱しないで特定の変更例、変形例、および別の構成も明らかになることは、当業者に明らかになるであろう。そのため、本開示の範囲を特定するために添付の特許請求の範囲を参照されたい。
図1
図2
図3A
図3B
図3C
図4
図5