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

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

▶ アメリカン エキスプレス トラヴェル リレイテッド サーヴィシーズ カンパニー, インコーポレイテッドの特許一覧

<>
  • 特許-機械学習モデル用の訓練データの生成 図1
  • 特許-機械学習モデル用の訓練データの生成 図2
  • 特許-機械学習モデル用の訓練データの生成 図3A
  • 特許-機械学習モデル用の訓練データの生成 図3B
  • 特許-機械学習モデル用の訓練データの生成 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-24
(45)【発行日】2023-12-04
(54)【発明の名称】機械学習モデル用の訓練データの生成
(51)【国際特許分類】
   G06F 18/214 20230101AFI20231127BHJP
   G06N 3/0475 20230101ALI20231127BHJP
   G06N 3/094 20230101ALI20231127BHJP
【FI】
G06F18/214
G06N3/0475
G06N3/094
【請求項の数】 6
(21)【出願番号】P 2022514467
(86)(22)【出願日】2020-09-04
(65)【公表番号】
(43)【公表日】2022-11-04
(86)【国際出願番号】 US2020049337
(87)【国際公開番号】W WO2021046306
(87)【国際公開日】2021-03-11
【審査請求日】2022-04-18
(31)【優先権主張番号】16/562,972
(32)【優先日】2019-09-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520107951
【氏名又は名称】アメリカン エキスプレス トラヴェル リレイテッド サーヴィシーズ カンパニー, インコーポレイテッド
【氏名又は名称原語表記】AMERICAN EXPRESS TRAVEL RELATED SERVICES COMPANY, INC.
【住所又は居所原語表記】200 Vesey Street, New York, NY 10285-4900 U.S.A.
(74)【代理人】
【識別番号】100083116
【弁理士】
【氏名又は名称】松浦 憲三
(72)【発明者】
【氏名】バーネルジィ, ソーハム
(72)【発明者】
【氏名】チョゥダリー, ジェィトゥ セーン
(72)【発明者】
【氏名】ホー, プローディプ
(72)【発明者】
【氏名】ジョーシ, ローヒー
(72)【発明者】
【氏名】サーフ, スネハンシュー シェーカル
【審査官】渡辺 一帆
(56)【参考文献】
【文献】特開2019-046269(JP,A)
【文献】特開2015-176175(JP,A)
【文献】米国特許出願公開第2019/0197670(US,A1)
【文献】米国特許出願公開第2019/0197358(US,A1)
【文献】GOODFELLOW, IJ et al.,“Generative Adversarial Networks”,arXiv.org [online],2014年,pp. 1-9,[retrieved on 2023.04.20], Retrieved from the Internet: <URL: https://arxiv.org/abs/1406.2661v1>,<DOI: 10.48550/arXiv.1406.2661>
【文献】伊藤 多一 ほか,“7.1 SeqGANによる文章生成”,現場で使える!Python深層強化学習入門 強化学習と深層学習による探索と制御,第1版,株式会社翔泳社,2019年,pp. 238-257,ISBN 978-4-7981-5992-8
(58)【調査した分野】(Int.Cl.,DB名)
G06F 18/214
G06N 3/02 - 3/10
G06N 20/00 -20/20
(57)【特許請求の範囲】
【請求項1】
プロセッサとメモリとを含むコンピューティング・デバイスと、
前記メモリに記憶された訓練データセットであって、複数のレコードを含む、訓練データセットと、
前記メモリに記憶され、前記プロセッサによって実行されたとき、前記コンピューティング・デバイスに少なくとも、しいレコードを生成することを行わせる、第1の機械学習モデルと、
前記メモリに記憶される第2の機械学習モデルであって、前記プロセッサによって実行されたとき、前記コンピューティング・デバイスに少なくとも、
前記複数のレコードの間の類似性を識別するために前記訓練データセットを解析することと、
前記第1の機械学習モデルによって生成された前記新しいレコードを、前記新しいレコードが、所定のエラー率の少なくとも一部に基づいて前記訓練データセット内の前記複数のレコードの少なくとも部分集合と区別できないかどうかを決定するために、評価することと、を行わせる、第2の機械学習モデルと、を含む、システムであって、
前記第1の機械学習モデルは、前記新しいレコードの前記評価少なくとも一部に基づいて、前記第1の機械学習モデルを更新することを行わせ、
前記第2の機械学習モデルは、前記新しいレコードの前記評価少なくとも一部に基づいて、前記第2の機械学習モデルを更新することを行わせ、
前記第1の機械学習モデルが、前記コンピューティング・デバイスに複数の新しいレコードを生成させ、
前記システムは、前記第1の機械学習モデルによって生成された前記複数の新しいレコードを使用して訓練される、前記メモリに記憶された第3の機械学習モデルを更に含む、システム。
【請求項2】
前記複数の新しいレコードは、前記第2の機械学習モデルが前記第1の機械学習モデルによって生成された前記新しいレコードと前記訓練データセット内の前記複数のレコードの個々のものとを区別することができないという決定に応答して前記第3の機械学習モデルの訓練に使用される、請求項1に記載のシステム。
【請求項3】
前記複数の新しいレコードは、前記第1の機械学習モデルによって識別される確率密度関数(PDF)によって定義されるンプル空間内の所定の数の点のランダム・サンプルから生成される、請求項1又は2に記載のシステム。
【請求項4】
前記第1の機械学習モデルは、前記第2の機械学習モデルが前記訓練データセット内の前記複数のレコードから前記新しいレコードを所定のエラー率で区別できなくなるまで、前記新しいレコードを繰り返し生成する、請求項1乃至のいずれか1項に記載のシステム。
【請求項5】
前記訓練データセット内の前記複数のレコードの量と等しい量の新しいレコードが生成される場合、前記所定のエラー率は50%である、請求項1乃至のいずれか1項に記載のシステム。
【請求項6】
前記第1の機械学習モデルが、前記コンピューティング・デバイスに少なくとも2回、前記新しいレコードを生成させ、前記第2の機械学習モデルが、前記コンピューティング・デバイスに少なくとも2回、前記新しいレコードを評価させ、前記第1の機械学習モデルが、前記第1の機械学習モデルを少なくとも2回更新し、前記第2の機械学習モデルが、前記第2の機械学習モデルを少なくとも2回更新する、請求項1乃至のいずれか1項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年9月6日に出願され、「GENERATING TRAINING DATA FOR MACHINE-LEARNING MODELS」と題する米国特許出願第16/562,972号の優先権とその利益を主張するものである。
【背景技術】
【0002】
機械学習モデルは、新しいデータについて正確な予測、分類、又は推論を行うために訓練させるために、大量のデータを必要とすることが多い。データセットが十分に大きくない場合、機械学習モデルは誤った推論をするように訓練される可能性がある。例えば、データセットが小さいと、利用可能なデータに対して機械学習モデルがオーバーフィットしてしまう可能性がある。このため、より小規模なデータセットでは、特定の種類のレコードが省略されることにより、機械学習モデルが特定の結果に偏る可能性がある。別の例として、小規模データセットにおける外れ値は、機械学習モデルの性能の分散を増加させることにより、機械学習モデルの性能に不釣り合いな影響を与える可能性がある。
【0003】
残念ながら、十分に大きなデータセットが、機械学習モデルの訓練に使用するために、常に容易に利用できるとは限らない。例えば、めったに起こらない事象の発生を追跡すると、事象の発生がないため、データセットが小さくなることがある。別の例として、母集団の規模が小さいことに関連するデータは、メンバーの数が限られているため、データセットが小さくなることがある。
【発明の概要】
【課題を解決するための手段】
【0004】
プロセッサ及びメモリを備えるコンピューティング・デバイスと、メモリに記憶された訓練データセットであって、複数のレコードを含む、訓練データセットと、メモリに記憶され、プロセッサによって実行されたとき、コンピューティング・デバイスに少なくとも、複数のレコード間の共通の特性又は類似性を識別するために訓練データセットを解析することと、複数のレコード間の識別された共通の特性又は類似性に少なくとも一部に基づいて、新しいレコードを生成することと、を行わせる第1の機械学習モデルと、メモリに記憶され、プロセッサにより実行されたとき、コンピューティング・デバイスに少なくとも、複数のレコード間の共通の特性又は類似性を識別するために訓練データセットを解析することと、第1の機械学習モデルによって生成された新しいレコードを、新しいレコードが訓練データセット内の複数のレコードと区別できないかどうかを決定するために、評価することと、新しいレコードの評価に少なくとも一部に基づいて、第1の機械学習モデルを更新することと、新しいレコードの評価に少なくとも一部に基づいて、第2の機械学習モデルを更新することと、を行わせる第2の機械学習モデルと、を備える、システムが開示される。システムのいくつかの実装では、第1の機械学習モデルは、コンピューティング・デバイスに複数の新しいレコードを生成させ、システムは、第1の機械学習モデルによって生成された複数の新しいレコードを使用して訓練される、メモリに記憶された第3の機械学習モデルを更に備える。システムのいくつかの実装において、複数の新しいレコードは、第2の機械学習モデルが第1の機械学習モデルによって生成された新しいレコードと訓練データセット内の複数のレコードの個々のものとを区別することができないという決定に応答して生成される。システムのいくつかの実装では、複数の新しいレコードは、第1の機械学習モデルによって識別される確率密度関数(PDF)によって定義されるサンプル空間内の点の所定の数のランダム・サンプルから生成される。システムのいくつかの実装では、第1の機械学習モデルは、第2の機械学習モデルが、新しいレコードを訓練データセット内の複数のレコードから所定の率で区別することができなくなるまで、新しいレコードを繰り返し生成する。システムのいくつかの実装では、等サイズの新しいレコードが生成された場合、所定の率は50%である。システムのいくつかの実装において、第1の機械学習モデル及び第2の機械学習モデルは、ニューラル・ネットワークである。システムのいくつかの実装では、第1の機械学習モデルは、コンピューティング・デバイスに少なくとも2回、新しいレコードを生成させ、第2の機械学習モデルは、コンピューティング・デバイスに少なくとも2回、新しいレコードを評価させ、第1の機械学習モデルを少なくとも2回更新し、第2の機械学習モデルを少なくとも2回更新させる。
【0005】
確率分布関数(PDF)を識別するために複数の元のレコードを解析することであって、PDFがサンプル空間を含み、サンプル空間が複数の元のレコードを含む、解析することと、PDFを用いて複数の新しいレコードを生成することと、複数の新しいレコードを含む拡張データセットを生成することと、拡張データセットを用いて機械学習モデルを訓練することと、を含む、コンピュータ実装方法の様々な実装が開示されている。コンピュータ実装方法のいくつかの実装では、確率分布関数を識別するために複数の元のレコードを解析することは、複数の元のレコードの個々のものに類似する新しいレコードを生成するためにジェネレータ機械学習モデルを訓練することと、新しいレコードと複数の元のレコードの個々のものとを区別するために識別器機械学習モデルを訓練することと、所定の率で識別器機械学習モデルによって間違われるジェネレータ機械学習モデルによって生成される新しいレコードに応答して確率分布関数を識別することとを更に含む。コンピュータ実装方法のいくつかの実装では、所定の率は、新しいレコードと複数の元のレコードとの間で識別器によって実行される比較の約50パーセントである。コンピュータ実装方法のいくつかの実装では、ジェネレータ機械学習モデルは、複数のジェネレータ機械学習モデルのうちの一つであり、この方法は、複数のジェネレータ機械学習モデルのそれぞれを訓練して、複数の元のレコードの個々のものに類似する新しいレコードを生成することと、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連するラン・レングス、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連するジェネレータ損失ランク、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連する識別器損失ランク、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連する異なるランク、又は、複数の元のレコードに関連する第1の確率分布関数及び複数の新しいレコードに関連する第2の確率分布関数を含むコルモゴロフ・スミルノフ(KS)検定の少なくとも一つの結果に少なくとも一部に基づいて、複数のジェネレータ機械学習モデルからジェネレータ機械学習モデルを選択することと、確率分布関数が、複数のジェネレータ機械学習モデルからジェネレータ機械学習モデルを選択することに応答して更に行われることを識別することと、を更に含む。コンピュータ実装方法のいくつかの実装では、確率分布関数を使用して複数の新しいレコードを生成することは、確率分布関数によって定義されるサンプル空間内の所定の数の点をランダムに選択することを更に含む。いくつかの実装において、コンピュータ実装方法は、複数の元のレコードを拡張データセットに追加することを更に含む。コンピュータ実装方法のいくつかの実装では、機械学習モデルは、ニューラル・ネットワークを含む。
【0006】
コンピューティング・デバイスは、プロセッサとメモリと、メモリに記憶された機械可読命令とを含み、機械可読命令は、プロセッサによって実行されたとき、コンピューティング・デバイスに少なくとも、確率分布関数(PDF)を識別するために複数の元のレコードを解析することであって、PDFはサンプル空間を含み、サンプル空間は複数の元のレコードを含む、解析することと、PDFを用いて複数の新しいレコードを生成することと、複数の新しいレコードを含む拡張データセットを生成することと、拡張データセットを用いて機械学習モデルを訓練することと、を行わせるシステムの一つ又は複数の実装が開示されている。システムのいくつかの実装では、確率分布関数を識別するために複数の元のレコードを解析することをコンピューティング・デバイスに行わせる機械可読命令は、更に、コンピューティング・デバイスに少なくとも、複数の元のレコードの個々のものに類似する新しいレコードを生成するために、ジェネレータ機械学習モデルを訓練し、新しいレコードと複数の元のレコードの個々のものとを区別するために、識別器機械学習モデルを訓練し、ジェネレータ機械学習モデルによって生成された新しいレコードが識別器機械学習モデルによって所定の率で間違えられることに応答して、確率分布関数を識別することを、コンピューティング・デバイスに更に行わせる。システムのいくつかの実装では、所定の率は、新しいレコードと複数の元のレコードとの間で識別器によって実行される比較の約50パーセントである。システムのいくつかの実装では、ジェネレータ機械学習モデルは、複数のジェネレータ機械学習モデルのうちの一つであり、機械可読命令は更に、コンピューティング・デバイスに、少なくとも複数の元のレコードの個々のものに類似する新しいレコードを生成するために複数のジェネレータ機械学習モデルのそれぞれを訓練し、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連するラン・レングス、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連するジェネレータ損失ランク、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連する識別器損失ランク、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連する異なるランク、又は、複数の元のレコードに関連する第1の確率分布関数及び複数の新しいレコードに関連する第2の確率分布関数を含むコルモゴロフ・スミルノフ(KS)検定の少なくとも一つの結果に少なくとも一部に基づいて、複数のジェネレータ機械学習モデルからジェネレータ機械学習モデルを選択することと、を行わせ、確率分布関数の識別は、複数のジェネレータ機械学習モデルからジェネレータ機械学習モデルを選択することに応答して更に行われる。システムのいくつかの実装では、確率分布関数を使用して複数の新しいレコードを生成するようにコンピューティング・デバイスにさせる機械可読命令は、確率分布関数によって定義されるサンプル空間内の所定の数の点をランダムに選択するようにコンピューティング・デバイスに更に行わせる。システムのいくつかの実装において、機械可読命令は、プロセッサによって実行されたとき、コンピューティング・デバイスに、複数の元のレコードを拡張データセットに少なくとも追加させることを更に行わせる。
【0007】
本開示の多くの態様は、以下の図面を参照することにより、より良く理解され得る。図面の構成要素は必ずしも縮尺通りではなく、代わりに本開示の原理を明確に示すことに重点を置いている。更に、図面において、同様の参照数字は、複数の図を通して対応する部品を指定する。
【図面の簡単な説明】
【0008】
図1】本開示の一実装例を示す図面である。
【0009】
図2】本開示の様々な実施形態による、コンピューティング環境の図面である。
【0010】
図3A】本開示の様々な実施形態による、図2のコンピューティング環境の様々な構成要素間の相互作用の一例を示すシーケンス図である。
【0011】
図3B】本開示の様々な実施形態による、図2のコンピューティング環境の様々な構成要素間の相互作用の一例を示すシーケンス図である。
【0012】
図4】本開示の様々な実施形態による、図2のコンピューティング環境内に実装される構成要素の機能の一例を示すフローチャートである。
【発明を実施するための形態】
【0013】
機械学習モデルを訓練するのに不十分である可能性のある小さい又はノイズの多いデータセットを補完するために、機械学習モデルを訓練するための追加データを生成するための様々なアプローチが開示されている。小規模データセットのみが機械学習モデルの訓練に利用できる場合、データ科学者はより多くのデータを収集することでデータセットを拡張しようとすることができる。しかし、これは必ずしも現実的ではない。例えば、発生頻度の低い事象を表すデータセットは、事象の追加発生を長時間待つことでしか補完できない。別の例として、小さな母集団サイズに少なくとも一部に基づくデータセット(例えば、少人数のグループを表すデータ)は、母集団により多くのメンバーを追加するだけでは意味のある拡張ができない。
【0014】
これらの小規模データセットに追加のレコードを追加することができるが、欠点もある。例えば、発生頻度の低い事象に関するデータを十分に収集し、十分なサイズのデータセットを得るためには、かなりの時間を待たなければならない場合がある。しかし、このような頻度の低い事象に対する追加データの収集に伴う遅延は、受け入れがたいものである可能性がある。別の例として、他の関連する母集団からデータを取得することで、小さな母集団に少なくとも一部に基づくデータセットを補完することができる。しかし、これでは機械学習モデルのベースとして使用されるデータの品質が低下する可能性がある。いくつかの実施例では、この品質低下により、機械学習モデルの性能に許容できない影響を与える可能性がある。
【0015】
しかしながら、本開示の様々な実施形態によれば、小規模データセットに存在する以前に収集されたデータと十分に区別できない追加レコードを生成することが可能である。その結果、生成されたレコードを用いて、小規模データセットを、所望の機械学習モデル(例えば、ニューラル・ネットワーク、ベイズ・ネットワーク、スパース・マシン・ベクトル、決定木など)を訓練するのに十分なサイズに拡張することができる。以下では、機械学習のためのデータ生成のアプローチについて説明する。
【0016】
図1に描かれたフローチャートは、本開示の様々な実施形態で用いられるアプローチを紹介する。図1は、本開示の様々な実施形態の概念を示すものであり、追加の詳細は、後続の図の説明において提供される。
【0017】
開始するために、ステップ103で、小規模データセットを使用して、小規模データセットに既に存在するこれらのレコードに類似する人工データ・レコードを生成するために、ジェネレータ機械学習モデルを訓練することができる。データセットが小さいとは、機械学習モデルを正確に訓練させるためにはデータセットのサイズが不十分である場合を指すことができる。小規模データセットの例としては、発生頻度の低い事象のレコードを含むデータセットや、小規模な母集団のメンバーのレコードを含むデータセットなどがある。ジェネレータ機械学習モデルは、ニューラル・ネットワーク又はディープ・ニューラル・ネットワーク、ベイズ・ネットワーク、サポート・ベクター・マシン、決定木、遺伝的アルゴリズム、又は小規模データセットに少なくとも一部に基づいて人工レコードを生成するように訓練又は構成することができる他の機械学習アプローチのいずれかとすることができる。
【0018】
例えば、ジェネレータ機械学習モデルは、生成敵対的ネットワーク(GAN)の構成要素とすることができる。GANでは、ジェネレータ機械学習モデルと識別器機械学習モデルを併用し、小規模データセットのサンプル空間にマッピングする確率密度関数(PDF231)を識別する。ジェネレータ機械学習モデルは、小規模データセットで訓練し、小規模データセットに類似した人工データ・レコードを生成する。識別器機械学習モデルは、小規模データセットを解析することで、実データ・レコードを識別するように訓練される。
【0019】
その後、ジェネレータ機械学習モデルと識別器機械学習モデルとは、互いに競合することができる。ジェネレータ機械学習モデルは、競合を通じて訓練され、最終的には小規模データセットに含まれる実データ・レコードと区別がつかないような人工データ・レコードが生成される。ジェネレータ機械学習モデルの訓練には、ジェネレータ機械学習モデルで生成した人工データ・レコードと、小規模データセットの実レコードを識別器機械学習モデルに提供する。その後、識別器機械学習モデルにより、どのレコードが人工データ・レコードと考えられるかが決定される。識別器機械学習モデルの決定の結果は、ジェネレータ機械学習モデルに提供され、ジェネレータ機械学習モデルが、識別器機械学習モデルに対して、小規模データセットに含まれる実レコードと区別できない可能性が高い人工データ・レコードを生成するように訓練させる。同様に、識別器機械学習モデルは、その決定の結果を用いて、ジェネレータ機械学習モデルが生成した人工データ・レコードを検出する能力を向上させる。識別器機械学習モデルのエラー率が約50%(50%、等倍の人工データをジェネレータに与えたと仮定)であれば、ジェネレータ機械学習モデルが、小規模データセットに既に存在する実データ・レコードと区別できない人工データ・レコードを生成するように訓練されていることを示すものとして用いることができる。
【0020】
次に、ステップ106で、ジェネレータ機械学習モデルを使用して、小規模データセットを拡張するための人工データ・レコードを生成することができる。PDF231を様々な点でサンプリングし、人工データ・レコードを生成することができる。いくつかの点は、様々な統計的分布(例えば、正規分布)に従って、繰り返しサンプリングされてもよいし、点のクラスタは、互いに近接してサンプリングされてもよい。次に、この人工データ・レコードを小規模データセットと組み合わせることで、拡張データセットを生成することができる。
【0021】
最後に、ステップ109で、拡張データセットを使用して機械学習モデルを訓練することができる。例えば、拡張データセットが特定の顧客プロファイルの顧客データを含んだ場合、拡張データセットは、顧客プロファイル内の顧客に商業又は金融商品を提供するために使用される機械学習モデルを訓練するために使用することができた。しかし、前述の方法で生成した拡張データセットを用いて、あらゆる種類の機械学習モデルを訓練することができる。
【0022】
図2を参照すると、本開示の様々な実施形態によるコンピューティング環境200を示す。コンピューティング環境200は、サーバ・コンピュータ又はコンピューティング能力を提供する他の任意のシステムを含むことができる。或いは、コンピューティング環境203は、一つ又は複数のサーバ・バンク又はコンピュータ・バンク又は他の配置に配置することができる複数のコンピューティング・デバイスを採用することが可能である。このようなコンピューティング・デバイスは、一つの施設に設置されることもあれば、地理的に異なる多くの場所に分散されることもある。例えば、コンピューティング環境200は、一緒にホスト・コンピューティング・リソース、グリッド・コンピューティング・リソース、又は任意の他の分散コンピューティング配置を含むことができる複数のコンピューティング・デバイスを含むことができる。いくつかの場合において、コンピューティング環境200は、処理、ネットワーク、ストレージ、又は他のコンピューティング関連リソースの割り当てられた容量が時間と共に変化し得る、エラスティック・コンピューティング・リソースに対応し得る。
【0023】
更に、コンピューティング環境200内の個々のコンピューティング・デバイスは、ネットワークを介して互いにデータ通信が可能である。ネットワークには、広域ネットワーク(WAN)やローカル・エリア・ネットワーク(LAN)が含まれ得る。これらのネットワークは、有線又は無線の構成要素、或いはそれらの組み合わせを含むことができる。有線ネットワークには、イーサネット・ネットワーク、ケーブル・ネットワーク、光ファイバー・ネットワーク、ダイヤルアップ、デジタル加入者線(DSL)などの電話ネットワーク、統合サービス・デジタル・ネットワーク(ISDN)ネットワークが含まれ得る。無線ネットワークには、携帯電話ネットワーク、衛星ネットワーク、電気電子技術者協会(IEEE)802.11無線ネットワーク(例えば、WI-FI(登録商標))、BLUETOOTH(登録商標)ネットワーク、マイクロ波伝送ネットワーク、並びに無線放送に依存するその他のネットワークが含まれ得る。また、ネットワークは、二つ以上のネットワークの組み合わせを含むことができる。ネットワークの例としては、インターネット、イントラネット、エクストラネット、VPN(バーチャル・プライベート・ネットワーク)、及び同様のネットワークが含まれ得る。
【0024】
様々なアプリケーション又は他の機能は、様々な実施形態に従ってコンピューティング環境200で実行することができる。コンピューティング環境200上で実行される構成要素は、一つ又は複数のジェネレータ機械学習モデル203、一つ又は複数の識別器機械学習モデル206、アプリケーション固有の機械学習モデル209、及びモデル選択器211を含むことができる。しかしながら、コンピューティング環境200が複数のエンティティ又はテナントによって利用される共有ホスティング環境として実装される場合など、本明細書で詳細に説明しない他のアプリケーション、サービス、プロセス、システム、エンジン、又は機能も、コンピュータ環境200でホストすることが可能である。
【0025】
また、コンピューティング環境203からアクセス可能なデータ・ストア213には、様々なデータが記憶されている。データ・ストア213は、リレーショナル・データベース、オブジェクト指向データベース、階層型データベース、ハッシュ・テーブル又は同様のキー値データ・ストア、並びに他のデータ・ストレージ・アプリケーション又はデータ構造を含むことができる複数のデータ・ストア213を表すことができる。データ・ストア213に記憶されるデータは、以下に説明する様々なアプリケーション又は機能エンティティの動作に関連する。このデータは、元のデータセット216、拡張データセット219、及び潜在的に他のデータを含むことができる。
【0026】
元のデータセット216は、様々な実世界のソースから収集又は蓄積されたデータを表すことができる。元のデータセット216は、一つ又は複数の元のレコード223を含むことができる。元のレコード223の各々は、元のデータセット216内の個々のデータ点を表すことができる。例えば、元のレコード223は、ある事象の発生に関連するデータを表すことができる。別の例として、元のレコード223は、個体の母集団の中の個体を表すことができる。
【0027】
通常、元のデータセット216は、将来的に予測又は決定を実行するために、アプリケーション固有の機械学習モデル209を訓練するために使用することができる。しかしながら、先に述べたように、時には、元のデータセット216は、アプリケーション固有の機械学習モデル209の訓練に使用するための不十分な数の元のレコード223を含むことができる。異なるアプリケーション固有の機械学習モデル209は、許容できるほど正確な訓練のための閾値として、異なる最小数の元のレコード223を必要とすることができる。これらの例では、拡張データセット219は、元のデータセット216の代わりに、又はそれに加えて、アプリケーション固有の機械学習モデル209を訓練するために使用することができる。
【0028】
拡張データセット219は、アプリケーション固有の機械学習モデル209を訓練するのに十分な数のレコードを含むデータの集合を表すことができる。したがって、拡張データセット219は、元のデータセット216に含まれていた元のレコード223と、ジェネレータ機械学習モデル203によって生成された新しいレコード229の両方を含むことができる。新しいレコード229の個々のものは、ジェネレータ機械学習モデル203によって生成される一方で、識別器機械学習モデル206によって元のレコード223と比較されると、元のレコード223と区別がつかなくなる。新しいレコード229は元のレコード223と区別がつかないので、アプリケーション固有の機械学習モデル209を訓練するために十分な数のレコードを提供するために、新しいレコード229を使用して元のレコード223を拡張することができる。
【0029】
ジェネレータ機械学習モデル203は、PDF231のサンプル空間内に元のレコード223を含む確率密度関数231(PDF231)を識別するために実行することができる一つ又は複数のジェネレータ機械学習モデル203を表している。ジェネレータ機械学習モデル203の例には、ニューラル・ネットワーク又はディープ・ニューラル・ネットワーク、ベイズ・ネットワーク、スパース・マシン・ベクトル、決定木、及び他の任意の適用可能な機械学習技術が含まれる。元のレコード223をそのサンプル空間内に含むことができる多くの異なるPDF231が存在するので、複数のジェネレータ機械学習モデル203を使用して、異なる潜在的なPDF231を識別することができる。これらの実装では、後述するように、モデル選択器211によって、様々な潜在的なPDF231から適切なPDF231が選択され得る。
【0030】
識別器機械学習モデル206は、適切なPDF231を識別するためにそれぞれのジェネレータ機械学習モデル203を訓練するために実行することができる一つ又は複数の識別器機械学習モデル206を表している。識別器機械学習モデル206の例には、ニューラル・ネットワーク又はディープ・ニューラル・ネットワーク、ベイズ・ネットワーク、スパース・マシン・ベクトル、決定木、及び他の任意の適用可能な機械学習技術が含まれる。異なるジェネレータ機械学習モデル206は、異なるジェネレータ機械学習モデル203の訓練により適している場合があるので、いくつかの実装では、複数の識別器機械学習モデル206が使用され得る。
【0031】
アプリケーション固有の機械学習モデル209は、新しいデータ又は状況が提示されたときに、パターンを予測、推論、又は認識するために実行されることができる。アプリケーション固有の機械学習モデル209は、信用アプリケーションの評価、異常又は不正な活動(例えば、誤った又は不正な金融取引)の識別、顔認識の実行、音声認識の実行(例えば、電話中のユーザー又は顧客を認証する)、及び他の様々な活動などの様々な状況で使用することができる。その機能を果たすために、アプリケーション固有の機械学習モデル209は、既知の又は既存のデータのコーパスを使用して訓練することができる。これは、元のデータセット216、又は元のデータセット216がアプリケーション固有の機械学習モデル209を適切に訓練するために不十分な数の元のレコード223を有する状況において、訓練目的のために生成された拡張データセット219を含むことが可能である。
【0032】
勾配ブースト機械学習モデル210は、新しいデータ又は状況が提示されたときに、パターンを予測、推論、又は認識するために実行され得る。各勾配ブースト機械学習モデル210は、様々な勾配ブースト技術を使用して、それぞれのジェネレータ機械学習モデル203によって識別されたPDF231から生成された機械学習モデルを表すことができる。後述するように、最良の性能を有する勾配ブースト機械学習モデル210は、様々なアプローチを用いて、アプリケーション固有の機械学習モデル209として使用するためにモデル選択器211によって選択されることができる。
【0033】
モデル選択器211は、個々のジェネレータ機械学習モデル203及び/又は識別器機械学習モデル206の訓練進捗を監視するために実行され得る。理論的には、元のデータセット216の元のレコード223を含む同じサンプル空間に対して、無限個のPDF231が存在する。その結果、いくつかの個別ジェネレータ機械学習モデル203は、他のPDF231よりもサンプル空間に良く適合するPDF231を識別することができる。より良く適合するPDF231は、一般に、サンプル空間に対してより悪く適合するPDF231よりも、拡張データセット219に含めるための、より質の高い新しいレコード229を生成することになる。したがって、モデル選択器211は、後で更に詳細に説明するように、より良く適合するPDF231を識別したそれらのジェネレータ機械学習モデル203を識別するために実行され得る。
【0034】
次に、コンピューティング環境200の様々な構成要素の動作の一般的な説明を行う。以下の記述は、コンピューティング環境200の様々な構成要素の動作及び構成要素間の相互作用の例示であるが、個々の構成要素の動作は、図3及び4に付随する説明において更に詳細に説明されている。
【0035】
開始するために、一つ又は複数のジェネレータ機械学習モデル203及び識別器機械学習モデル206を生成して、PDF231のサンプル空間内に元のレコード223を含む適切なPDF231を識別することが可能である。先に述べたように、PDF231のサンプル空間内に元のデータセット216の元のレコード223を含むPDF231は理論的に無限個存在する。
【0036】
最終的に最も適切なPDF231を選択できるようにするために、複数のジェネレータ機械学習モデル203を使用して、個々のPDF231を識別することができる。各ジェネレータ機械学習モデル203は、様々な方法で他のジェネレータ機械学習モデル203と異なることができる。例えば、いくつかのジェネレータ機械学習モデル203は、個々のジェネレータ機械学習モデル203を形成するニューラル・ネットワーク内の個々のパーセプトロンの様々な入力又は出力に適用される異なる重みを有していてもよい。他のジェネレータ機械学習モデル203は、互いに関して異なる入力を利用してもよい。更に、異なる識別器機械学習モデル206は、新しいレコード229を生成するための適切なPDF231を識別するために特定のジェネレータ機械学習モデル203を訓練する際に、より効果的である可能性がある。同様に、個々の識別器機械学習モデル206は、異なる入力を受け入れるか、又は個々の識別器機械学習モデル206の基礎となるニューラル・ネットワークを形成する個々のパーセプトロンの入力又は出力に割り当てられた重みを有することができる。
【0037】
次に、各ジェネレータ機械学習モデル203は、各識別器機械学習モデル206と対にされ得る。これは、いくつかの実装において手動で行われ得るが、モデル選択器211は、使用されるジェネレータ機械学習モデル203及び識別器機械学習モデル206のリストを提供されることに応答して、ジェネレータ機械学習モデル203と識別器機械学習モデル206を自動的に対にすることも可能である。いずれの場合も、モデル選択器211が様々なジェネレータ機械学習モデル203及び識別器機械学習モデル206の性能を監視及び/又は評価するために、ジェネレータ機械学習モデル203及び識別器機械学習モデル206の各対がモデル選択器211に登録される。
【0038】
次に、ジェネレータ機械学習モデル203及び識別器機械学習モデル206は、元のデータセット216の元のレコード223を用いて訓練され得る。ジェネレータ機械学習モデル203は、元のレコード223と区別できない新しいレコード229を生成しようとするように訓練することができる。識別器機械学習モデル206は、それが評価しているレコードが、元のデータセット内の元のレコード223であるか、又はそのそれぞれのジェネレータ機械学習モデル203によって生成された新しいレコード229であるかを識別するように訓練することができる。
【0039】
一旦訓練されると、ジェネレータ機械学習モデル203及び識別器機械学習モデル206は、競合するために実行され得る。競合の各ラウンドでは、ジェネレータ機械学習モデル203が新しいレコード229を生成し、このレコードは識別器機械学習モデル206に提示される。次に、識別器機械学習モデル206は、新しいレコード229を評価し、新しいレコード229が元のレコード223であるか、実際に新しいレコード229であるかを決定する。そして、その評価結果を用いて、ジェネレータ機械学習モデル203と識別器機械学習モデル206の両方を訓練させ、それぞれの性能を向上させる。
【0040】
ジェネレータ機械学習モデル203と識別器機械学習モデル206の対が、それぞれのPDF231を識別するために元のレコード223を使用して実行されたとき、モデル選択器211は、ジェネレータ機械学習モデル203と識別器機械学習モデル206との性能に関連する様々な測定基準を監視することが可能である。例えば、モデル選択器211は、ジェネレータ機械学習モデル203と識別器機械学習モデル206の各対のジェネレータ損失ランク、識別器損失ランク、ラン・レングス、及び差分ランクを追跡することができる。また、モデル選択器211は、これらの要因のうちの一つ又は複数を用いて、ジェネレータ機械学習モデル203によって識別された複数のPDF231の中から、好ましいPDF231を選択することもできる。
【0041】
ジェネレータ損失ランクは、ジェネレータ機械学習モデル203によって生成されたデータ・レコードが、元のデータセット216の元のレコード223とどの程度頻繁に間違われるかを表すことができる。当初、ジェネレータ機械学習モデル203は、元のデータセット216の元のレコード223と容易に区別できる低品質のレコードを生成することが期待される。しかし、ジェネレータ機械学習モデル203が複数の反復を通じて訓練され続けると、ジェネレータ機械学習モデル203は、それぞれの識別器機械学習モデル206が元のデータセット216の元のレコード223と区別することが難しくなる、より質の高いレコードを生成することが期待される。その結果、ジェネレータ損失ランクは、100%の損失ランクから低い損失ランクへと時間の経過と共に減少していく必要がある。損失ランクが低いほど、ジェネレータ機械学習モデル203は、それぞれの識別器機械学習モデル206が元のレコード223と区別がつかない新しいレコード229を生成するのにより有効である。
【0042】
同様に、識別器損失ランクは、識別器機械学習モデル206が、元のレコード223とそれぞれのジェネレータ機械学習モデル203によって生成された新しいレコード229との間を正しく区別することにどの程度頻繁に失敗するかを表すことができる。当初、ジェネレータ機械学習モデル203は、元のデータセット216の元のレコード223と容易に区別できる低品質のレコードを生成することが期待される。その結果、識別器機械学習モデル206は、レコードが元のレコード223であるか、ジェネレータ機械学習モデル206によって生成された新しいレコード229であるかを決定する際に、初期エラー率が0%であることが期待されるであろう。識別器機械学習モデル206は、複数回の反復により訓練を続けるので、識別器機械学習モデル206は、元のレコード223と新しいレコード229とを区別し続けることができる必要がある。したがって、識別器損失ランクが高いほど、ジェネレータ機械学習モデル203は、それぞれの識別器機械学習モデル206が元のレコード223と区別がつかない新しいレコード229を生成するのにより有効である。
【0043】
ラン・レングスは、ジェネレータ機械学習モデル203のジェネレータ損失ランクが減少する一方で、識別器機械学習モデル206の識別器損失ランクが同時に増加するラウンド数を表すことができる。一般に、ラン・レングスが長いほど、ラン・レングスが短いものと比較して、ジェネレータ機械学習モデル203の性能が高いことを示す。いくつかの実施例では、ジェネレータ機械学習モデル203と識別器機械学習モデル206の対に関連する複数のラン・レングスが存在する可能性がある。これは、例えば、機械学習モデルの対が、ジェネレータ損失ランクが減少し、一方、識別器損失ランクが増加する連続したラウンドのいくつかの異なるセットを有し、同時に変化が発生しない一つ又は複数のラウンドで中断されている場合に発生する可能性がある。これらの状況において、ジェネレータ機械学習モデル203の評価には、最も長いラン・レングスが使用されてもよい。
【0044】
差分ランクは、識別器損失ランクとジェネレータ損失ランクとの差率を表すことができる。差分ランクは、ジェネレータ機械学習モデル203と識別器機械学習モデル206の訓練において、異なる時点で変化し得る。いくつかの実装では、モデル選択器211は、訓練中に変化する差分ランクを追跡することができ、又は最小又は最大の差分ランクのみを追跡することができる。一般に、ジェネレータ機械学習モデル203と識別器機械学習モデル206との差分ランクが大きいことは、通常、ジェネレータ機械学習モデル203が高品質人工データと元のレコード223とを概ね区別可能な識別器機械学習モデル206に対して区別不能な高品質人工データを生成していることを示すので好ましい。
【0045】
モデル選択器211はまた、ジェネレータ機械学習モデル203によって識別されたPDF231と元のデータセット216内の元のレコード223との適合性をテストするために、コルモゴロフ・スミルノフ検定(KS検定)を実行することもできる。得られたKS統計が小さいほど、ジェネレータ機械学習モデル203が、元のデータセット216の元のレコード223に密接に適合するPDF231を識別した可能性が高い。
【0046】
ジェネレータ機械学習モデル203が十分に訓練された後、モデル選択器211は、ジェネレータ機械学習モデル203によって識別された一つ又は複数の潜在的なPDF231を選択できる。例えば、モデル選択器211は、識別されたPDF231をソートし、最長ラン・レングスに関連する(又は複数の)第1のPDF231、最低ジェネレータ損失ランクに関連する第2のPDF231、最高の識別器損失ランクに関連する第3のPDF231、最高の差分ランクを有する第4のPDF231、最小KS統計を有する第5のPDF231を選択し得る。しかし、あるPDF231は、複数のカテゴリで最も性能が高いPDF231である可能性がある。これらの状況では、モデル選択器211は、更なるテストのために、そのカテゴリ内の追加のPDF231を選択し得る。
【0047】
モデル選択器211は、次に、選択されたPDF231のそれぞれをテストして、どのPDF231が最も性能が良いかを決定することができる。ジェネレータ機械学習モデル203によって生成されたPDF231を選択するために、モデル選択器211は、選択されたジェネレータ機械学習モデル203によって識別された各PDF231を使用して、新しいレコード229を含む新しいデータセットを生成し得る。いくつかの実施例では、新しいレコード229を元のレコード223と結合して、各々それぞれのPDF231のためのそれぞれの拡張データセット219を生成することができる。次に、一つ又は複数の勾配ブースト機械学習モデル210が、様々な勾配ブースト技術を使用して、モデル選択器211によって生成され、訓練されることができる。勾配ブースト機械学習モデル210のそれぞれは、それぞれのPDF231のそれぞれの拡張データセット219、又はそれぞれのPDF231によって生成されたそれぞれの新しいレコード229だけを含むより小規模なデータセットを用いて訓練することができる。その後、各勾配ブースト機械学習モデル210の性能は、元のデータセット216の元のレコード223を使用して検証することができる。そして、最も性能の良い勾配ブースト機械学習モデル210は、モデル選択器211によって、特定のアプリケーションで使用するためのアプリケーション固有の機械学習モデル209として選択されることができる。
【0048】
次に、図3Aを参照すると、様々な実施形態によるジェネレータ機械学習モデル203と識別器機械学習モデル206との間の相互作用の一例を提供するシーケンス図が示されている。代替案として、図3Aのシーケンス図は、本開示の一つ又は複数の実施形態によるコンピューティング環境200において実装される方法の要素の一例を示すものとして見ることができる。
【0049】
ステップ303aから始まって、ジェネレータ機械学習モデル203は、新しいレコード229の形で人工データを生成するように訓練され得る。ジェネレータ機械学習モデル203は、様々な機械学習技術を使用して、元のデータセット216に存在する元のレコード223を使用して訓練することができる。例えば、ジェネレータ機械学習モデル203は、新しいレコード229を生成するために、元のレコード223の間の類似性を識別するように訓練することができる。
【0050】
ステップ306aで並行して、識別器機械学習モデル206は、元のレコード223とジェネレータ機械学習モデル203によって生成された新しいレコード229とを区別するように訓練することができる。識別器機械学習モデル206は、様々な機械学習技術を使用して、元のデータセット216に存在する元のレコード223を使用して訓練させることができる。例えば、識別器機械学習モデル206は、元のレコード223間の類似性を識別するように訓練することができる。元のレコード223と十分に類似していない任意の新しいレコード229は、したがって、元のレコード223のうちの一つではないと識別され得る。
【0051】
次にステップ309aで、ジェネレータ機械学習モデル203は、新しいレコード229を生成する。新しいレコード229は、既存の元のレコード223とできるだけ類似するように生成することができる。そして、新しいレコード229は、更なる評価のために識別器機械学習モデル206に供給される。
【0052】
次に、ステップ313aで、識別器機械学習モデル206は、ジェネレータ機械学習モデル203によって生成された新しいレコード229を評価し、それが元のレコード223と区別可能であるかどうかを決定することができる。評価を行った後、識別器機械学習モデル206は、その評価が正しかったかどうか(例えば、識別器機械学習モデル206は、新しいレコード229を新しいレコード229又は元のレコード223として正しく識別したか)を決定することが可能である。そして、その評価結果をジェネレータ機械学習モデル203に返すことができる。
【0053】
ステップ316aで、識別器機械学習モデル206は、ステップ313aで実行された評価結果を用いて、自身を更新する。更新は、バック・プロパゲーションなど、様々な機械学習技術を用いて実行することができる。更新の結果、識別器機械学習モデル206は、ステップ309aでジェネレータ機械学習モデル203によって生成された新しいレコード229を、元のデータセット216の元のレコード223と区別することがより良くできるようになる。
【0054】
ステップ319aで並行して、ジェネレータ機械学習モデル203は、識別器機械学習モデル206によって提供される結果を使用して、それ自体を更新する。更新は、バック・プロパゲーションなど、様々な機械学習技術を用いて実行することができる。更新の結果、ジェネレータ機械学習モデル203は、元のデータセット216の元のレコード223とより類似し、したがって、識別器機械学習モデル206によって元のレコード223と区別しにくい新しいレコード229を生成することがより良くできるようになる。
【0055】
ステップ316a及び319aでジェネレータ機械学習モデル203及び識別器機械学習モデル206を更新した後、ステップ309aから319aを繰り返すことによって、二つの機械学習モデルを更に訓練し続けることができる。二つの機械学習モデルは、識別器機械学習モデル206の識別器損失ランク及び/又はジェネレータ損失ランクが好ましくは所定のパーセンテージ(例えば、50%)に達するときなど、所定の反復の数だけ又は閾値条件が満たされるまでステップ309aから319aを繰り返してもよい。
【0056】
図3Bは、ジェネレータ機械学習モデル203と識別器機械学習モデル206との間の相互作用のより詳細な例を提供するシーケンス図を示す。代替案として、図3Bのシーケンス図は、本開示の一つ又は複数の実施形態によるコンピューティング環境200において実装される方法の要素の一例を示すものとして見ることができる。
【0057】
ステップ301bから始まって、ジェネレータ機械学習モデル203のパラメータは、ランダムに初期化され得る。同様にステップ303bで、識別器機械学習モデル206のパラメータもランダムに初期化することができる。
【0058】
次に、ステップ306bで、ジェネレータ機械学習モデル203は、新しいレコード229を生成することができる。最初の新しいレコード229は、ジェネレータ機械学習モデル203がまだ訓練されていないため、品質が悪く、及び/又は性質がランダムである可能性がある。
【0059】
次にステップ309bで、ジェネレータ機械学習モデル203は、新しいレコード229を識別器機械学習モデル206に渡すことができる。いくつかの実装では、元のレコード223はまた、識別器機械学習モデル206に渡すことができる。しかし、他の実装では、元のレコード223は、応答して識別器機械学習モデル206により検索され得る。
【0060】
ステップ311bに進むと、識別器機械学習モデル206は、新しいレコード229の第1のセットと元のレコード223とを比較することができる。新しいレコード229のそれぞれについて、識別器機械学習モデル206は、新しいレコード229を、新しいレコード229の一つとして、又は元のレコード223の一つとして識別することができる。この比較結果は、ジェネレータ機械学習モデルに渡される。
【0061】
次にステップ313bで、識別器機械学習モデル206は、ステップ311bで行った評価結果を用いて、自身を更新する。更新は、バック・プロパゲーションなど、様々な機械学習技術を用いて実行することができる。更新の結果、識別器機械学習モデル206は、ステップ306bでジェネレータ機械学習モデル203によって生成された新しいレコード229を、元のデータセット216の元のレコード223と区別することがより良くできるようになる。
【0062】
次に、ステップ316bで、ジェネレータ機械学習モデル203は、生成できる新しいレコード229の品質を改善するためにそのパラメータを更新することができる。更新は、ステップ311bで識別器機械学習モデル206によって実行された、新しいレコード229の第1のセットと元のレコード223との間の比較の結果に少なくとも一部に基づくことが可能である。例えば、ジェネレータ機械学習モデル203の個々のパーセプトロンは、識別器機械学習モデル206から受け取った結果を用いて、様々なフォワード及び/又はバック・プロパゲーション技術を用いて更新することができる。
【0063】
ステップ319bに進むと、ジェネレータ機械学習モデル203は、新しいレコード229の追加のセットを生成することができる。この追加の新しいレコード229のセットは、ステップ316bからの更新されたパラメータを使用して生成することができる。これらの追加の新しいレコード229は、次に、評価のために識別器機械学習モデル206に提供することができ、結果は、ステップ309b~316bで前述したように、ジェネレータ機械学習モデル203を更に訓練するために使用することができる。このプロセスは、好ましくは、新しいレコード229と元のレコード223との量が等しいと仮定して、識別器機械学習モデル206のエラー率が約50%になるまで、又は他の方法でハイパーパラメータによって他に許容されるように、繰り返し続けることが可能である。
【0064】
次に、図4を参照すると、様々な実施形態によるモデル選択器211の一部の動作の一例を提供するフローチャートが示される。図4のフローチャートは、モデル選択器211の図示部分の動作を実装するために採用することができる多くの異なるタイプの機能配置の単なる一例を提供するものであることが理解される。代替案として、図4のフローチャートは、本開示の一つ又は複数の実施形態による、コンピューティング環境200において実装される方法の要素の一例を示すものとして見ることができる。
【0065】
ステップ403から始まって、モデル選択器211は、一つ又は複数のジェネレータ機械学習モデル203を初期化し、一つ又は複数の識別器機械学習モデル206はその実行を開始する。例えば、モデル選択器211は、ジェネレータ機械学習モデル203の各インスタンスの入力に対してランダムに選択された重みを使用して、ジェネレータ機械学習モデル203の複数のインスタンスをインスタンス化することが可能である。同様に、モデル選択器211は、識別器機械学習モデル206の各インスタンスの入力に対してランダムに選択された重みを使用して、識別器機械学習モデル206の複数のインスタンスをインスタンス化することが可能である。別の例として、モデル選択器211は、ジェネレータ機械学習モデル203及び/又は識別器機械学習モデル206の以前に生成されたインスタンス又はバリエーションを選択し得る。インスタンス化されるジェネレータ及び識別器機械学習モデル203、206の数は、ランダムに選択されてもよいし、所定の又は以前に指定された基準(例えば、モデル選択器211の構成で指定された所定の数)に従って選択されてもよい。いくつかの識別器機械学習モデル206は、他の識別器機械学習モデル206と比較して、特定のジェネレータ機械学習モデル203の訓練に適している場合があるので、ジェネレータ機械学習モデル203の各インスタンス化されたインスタンスは、識別器機械学習モデル206の各インスタンス化されたインスタンスと対にすることも可能である。
【0066】
次にステップ406で、モデル選択器211はその後、図3A又は3Bのシーケンス図に示されるプロセスに従って、ジェネレータ及び識別器機械学習モデル203及び206の各対が、それらが互いに訓練するために新しいレコード229を生成するときの性能を監視する。図3A又は3Bに描かれたプロセスの各反復について、モデル選択器211は、対になったジェネレータ及び識別器機械学習モデル203及び206に関連する関連性能データを追跡、決定、評価、又は他の方法で識別することができる。これらの性能指標は、対になったジェネレータと識別器機械学習モデル203、206とのラン・レングス、ジェネレータ損失ランク、識別器損失ランク、差分ランク、KS統計を含むことができる。
【0067】
続いてステップ409で、モデル選択器211は、ステップ406で収集された性能の測定基準に従って、ステップ403でインスタンス化された各ジェネレータ機械学習モデル203をランク付けすることが可能である。このランキングは、様々な条件に応じて発生し得る。例えば、モデル選択器211は、各ジェネレータ機械学習モデル203の所定の回数の反復が行われた後に、ランキングを実行することができる。別の例として、モデル選択器211は、ジェネレータ及び識別器機械学習モデル203及び206の対の一つ又は複数が最小ラン・レングスに達する、或いはジェネレータ損失ランク、識別器損失ランク、及び/又は差分ランクの閾値を横断するなど、特定の閾値条件又は事象が発生した後にランキングを実行することが可能である。
【0068】
ランキングは、任意の数の方法で実施することができる。例えば、モデル選択器211は、ジェネレータ機械学習モデル206に対して複数のランキングを生成することができる。第1のランキングは、ラン・レングスに少なくとも一部に基づくことができる。第2のランキングは、ジェネレータ損失ランクに少なくとも一部に基づくことができる。第3のランキングは、識別器損失ランクに少なくとも一部に基づくことができる。第4のランキングは、差分ランキングに少なくとも一部に基づくことができる。最後に、第5のランキングは、ジェネレータ機械学習モデル203のKS統計に少なくとも一部に基づくことができる。いくつかの実施例では、これらの要素をそれぞれ考慮した単一のランキングを利用することも可能である。
【0069】
次にステップ413で、モデル選択器211は、ステップ409でランク付けされた上位ランクのジェネレータ機械学習モデル203の各々に関連するPDF231を選択することが可能である。例えば、モデル選択器211は、最長のラン・レングスに関連するジェネレータ機械学習モデル203のPDF231を表す第1のPDF231、最低のジェネレータ損失ランクに関連するジェネレータ機械学習モデル203のPDF231を表す第2のPDF231、最高の識別器損失ランクに関連するジェネレータ機械学習モデル203のPDF231を表す第3のPDF231、最高の差分ランクに関連するジェネレータ機械学習モデル203のPDF231を表す第4のPDF231、又は最高のKS統計に関連するジェネレータ機械学習モデル203のPDF231を表す第5のPDF231を選択し得る。しかし、PDF231を追加で選択することも可能である(各カテゴリの上位2、3、5など)。
【0070】
ステップ416に進むと、モデル選択器211は、ステップ413で選択されたPDF231のそれぞれを使用して、別々の拡張データセット219を生成することができる。拡張データセット219を生成するために、モデル選択器211は、それぞれのPDF231を使用して、所定の、又は以前に指定された数の新しいレコード229を生成することができる。例えば、各々のそれぞれのPDF231は、PDF231によって定義されるサンプル空間内の所定の又は以前に指定された数の点でランダムにサンプリング又は選択され得る。そして、新しいレコード229の各セットは、元のレコード223と組み合わせて、拡張データセット219に記憶することができる。しかし、いくつかの実装では、モデル選択器211は、拡張データセット219に新しいレコード229のみを記憶することができる。
【0071】
次に、ステップ419で、モデル選択器211は、勾配ブースト機械学習モデル210のセットを生成することができる。例えば、XGBOOSTライブラリを用いて、勾配ブースト機械学習モデル210を生成することができる。しかし、他の勾配ブースティング・ライブラリやアプローチも使用可能である。各勾配ブースト機械学習モデル210は、拡張データセット219のそれぞれの一つを使用して訓練することができる。
【0072】
続いてステップ423で、モデル選択器211は、ステップ419で生成された勾配ブースト機械学習モデル210をランク付けすることができる。例えば、モデル選択器211は、元のデータセット216の元のレコード223を使用して、勾配ブースト機械学習モデル210の各々を検証することが可能である。別の例として、モデル選択器211は、時間外検証データ又は他のデータソースを用いて、勾配ブースト機械学習モデル210の各々を検証することが可能である。次に、モデル選択器211は、元のレコード223又は時間外検証データを用いて検証したときのそれらの性能に少なくとも一部に基づいて、勾配ブースト機械学習モデル210の各々をランク付けすることができる。
【0073】
最後に、ステップ426で、モデル選択器211は、使用するアプリケーション固有の機械学習モデル209として、最良又は最高ランクの勾配ブースト機械学習モデル210を選択することができる。次に、アプリケーション固有の機械学習モデル209は、元のデータセット216によって表される事象又は母集団に関連する予測を行うために使用することができる。
【0074】
先に説明した多数のソフトウェア構成要素は、それぞれのコンピューティング・デバイスのメモリに記憶され、それぞれのコンピューティング・デバイスのプロセッサによって実行可能である。この点、「実行可能」という用語は、最終的にプロセッサで実行可能な形態にあるプログラム・ファイルを意味する。実行可能なプログラムの例としては、メモリのランダム・アクセス部分にロードしてプロセッサによって実行できる形式の機械コード、メモリのランダム・アクセス部分にロードしてプロセッサによって実行できるオブジェクトコードなどの適切な形式で表現できるソース・コード、又は別の実行可能プログラムによって解釈されてプロセッサによって実行するためにメモリのランダム・アクセス部分に命令を生成できるソース・コードに変換できるコンパイル・プログラムを挙げることができる。実行可能なプログラムは、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、ハード・ドライブ、ソリッドステート・ドライブ、ユニバーサル・シリアル・バス(USB)フラッシュ・ドライブ、メモリ・カード、コンパクト・ディスク(CD)やデジタル・バーサタイル・ディスク(DVD)などの光ディスク、フロッピー・ディスク、磁気テープを含むメモリの任意の部分又は構成要素又は他のメモリ構成要素に記憶することができる。
【0075】
メモリは、揮発性メモリと不揮発性メモリの両方及びデータ記憶構成要素を含む。揮発性構成要素とは、電源を切ってもデータの値が保持されない構成要素のことである。不揮発性構成要素とは、電源を切ってもデータを保持する構成要素である。したがって、メモリは、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、ハード・ディスク・ドライブ、ソリッドステート・ドライブ、USBフラッシュ・ドライブ、メモリ・カード・リーダーを介してアクセスされるメモリ・カード、関連するフロッピー・ディスク・ドライブを介してアクセスされるフロッピー・ディスク、光ディスク・ドライブを介してアクセスされる光ディスク、適切なテープ・ドライブを介してアクセスされる磁気テープ、又は他のメモリ構成要素、或いはこれらのメモリ構成要素の任意の二つ以上の組み合わせを含むことが可能である。更に、RAMには、スタティック・ランダム・アクセス・メモリ(SRAM)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、又は磁気ランダム・アクセス・メモリ(MRAM)などのデバイスを含めることができる。ROMは、プログラム可能な読み取り専用メモリ(PROM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、又は他の同様のメモリ・デバイスを含むことができる。
【0076】
本明細書で説明した様々なシステムは、上述したように汎用ハードウェアによって実行されるソフトウェア又はコードで具現化することができるが、代替案として、同じものを専用ハードウェア又はソフトウェア/汎用ハードウェアと専用ハードウェアの組み合わせで具現化することも可能である。専用のハードウェアで具現化する場合は、複数の技術のいずれか一つ、又は複数の技術の組み合わせを使用する回路又はステート・マシンとして実装することができる。これらの技術には、一つ又は複数のデータ信号の印加により様々な論理機能を実装する論理ゲートを有するディスクリート論理回路、適切な論理ゲートを有する特定用途向け集積回路(ASIC)、フィールドプログラム可能なゲート・アレイ(FPGA)、その他の構成要素等を含むことができるが、これらに限定されるものではない。このような技術は、当業者には一般的によく知られているため、本明細書では詳しく説明しない。
【0077】
フローチャートとシーケンス図は、先に説明した様々なアプリケーションの一部の実装の機能と動作を示すものである。ソフトウェアで具現化する場合、各ブロックは、指定された論理機能を実装するためのプログラム命令を含むコードのモジュール、セグメント、又は部分を表すことができる。プログラム命令は、プログラミング言語で書かれた人間が読めるステートメントを含むソース・コード、又はコンピュータ・システム内のプロセッサなどの適切な実行システムによって認識可能な数値命令を含む機械コードの形態で具現化することができる。ソース・コードから様々なプロセスを経て、機械コードを変換することができる。例えば、対応するアプリケーションの実行に先立ち、コンパイラでソース・コードから機械コードを生成することができる。別の例として、インタープリタによる実行と同時にソース・コードから機械コードを生成することができる。また、その他のアプローチも使用可能である。ハードウェアで具現化する場合、各ブロックは、指定された一つ又は複数の論理機能を実装するための回路又は相互に接続された複数の回路を表すことができる。
【0078】
フローチャートとシーケンス図は特定の実行順序を示しているが、実行順序は描かれているものとは異なる可能性があることが理解される。例えば、二つ以上のブロックの実行順序を、表示されている順序に対してスクランブルすることができる。また、フローチャートやシーケンス図に連続して示される二つ以上のブロックは、同時に、或いは部分的に同時進行で実行することが可能である。更に、いくつかの実施形態では、フローチャート又はシーケンス図に示されるブロックの一つ又は複数をスキップ又は省略することができる。更に、ユーティリティの向上、アカウンティング、性能測定、トラブルシューティングの補助の提供などを目的として、本書に記載されている論理フローに、任意の数のカウンタ、状態変数、警告セマフォ、又はメッセージを追加することができる。このようなすべての変形は、本開示の範囲内であることが理解される。
【0079】
また、ソフトウェア又はコードを含む本明細書に記載の任意の論理又はアプリケーションは、コンピュータ・システム又は他のシステムにおけるプロセッサなどの命令実行システムによって又はそれに関連して使用するための任意の非一時的なコンピュータ可読媒体に具現化することが可能である。この意味で、論理は、コンピュータ可読媒体からフェッチされ、命令実行システムによって実行され得る命令及び宣言を含むステートメントを含むことができる。本開示の文脈では、「コンピュータ可読媒体」は、命令実行システムによって、又は命令実行システムに関連して使用するために、本明細書に記載の論理又はアプリケーションを含み、記憶、又は維持できる任意の媒体であり得る。
【0080】
コンピュータ可読媒体は、磁気媒体、光学媒体、又は半導体媒体などの多くの物理媒体のうちの任意の一つを含むことができる。適切なコンピュータ可読媒体のより具体的な例としては、磁気テープ、磁気フロッピー・ディスク、磁気ハード・ディスク、メモリ・カード、ソリッドステート・ドライブ、USBフラッシュ・ドライブ、又は光ディスクが挙げられるが、これらに限定されるものではない。また、コンピュータ可読媒体は、スタティック・ランダム・アクセス・メモリ(SRAM)及びダイナミック・ランダム・アクセス・メモリ(DRAM)を含むランダム・アクセス・メモリ(RAM)、又は磁気ランダム・アクセス・メモリ(MRAM)であってもよい。更に、コンピュータ可読媒体は、読み取り専用メモリ(ROM)、プログラム可能読み取り専用メモリ(PROM)、消去可能プログラム可能読み取り専用メモリ(EPROM)、電気的に消去可能プログラム可能読み取り専用メモリ(EEPROM)などのタイプのメモリ・デバイスであってもよい。
【0081】
更に、本明細書に記載された任意の論理又はアプリケーションは、様々な方法で実装及び構造化することができる。例えば、説明した一つ又は複数のアプリケーションは、一つのアプリケーションのモジュール又は構成要素として実装することができる。更に、本明細書に記載された一つ又は複数のアプリケーションは、共有又は別々のコンピューティング・デバイス、又はそれらの組み合わせで実行することができる。例えば、本明細書で説明する複数のアプリケーションは、同じコンピューティング・デバイスで実行することもできるし、同じコンピューティング環境200内の複数のコンピューティング・デバイスで実行することもできる。
【0082】
句「X、Y、又はZの少なくとも一つ」のような離接的な言語は、特に断らない限り、他の方法で、アイテム、用語などがX、Y、又はZのいずれか、又はそれらの任意の組み合わせ(例えば、X、Y、又はZ)であり得ることを示すために一般的に使用されていると文脈と共に理解される。したがって、このような離接的な言語は、一般に、特定の実施形態では、Xの少なくとも一つ、Yの少なくとも一つ、又はZの少なくとも一つがそれぞれ存在する必要があることを意味するものではなく、また、そのようなことを意味すべきではない。
【0083】
本開示の上述の実施形態は、本開示の原理を明確に理解するために提示された実装の可能な実施例に過ぎないことを強調する必要がある。本開示の趣旨及び原理から実質的に逸脱することなく、上述した実施形態に対して多くの変形及び修正を行うことができる。このようなすべての修正及び変形は、本開示の範囲内に含まれ、以下の特許請求の範囲によって保護されることが意図される。
【0084】
本開示のいくつかの例示的な実装は、以下の条項で規定される。これらの条項は、本開示の様々な実装及び実施形態を例示するものであるが、これらの条項は、先の説明において例示されたように、本開示の唯一の実装又は実施形態のみの説明ではない。
【0085】
条項1-プロセッサ及びメモリを備えるコンピューティング・デバイスと、メモリに記憶された訓練データセットであって、複数のレコードを備える、訓練データセットと、メモリに記憶され、プロセッサによって実行されたとき、コンピューティング・デバイスに少なくとも、複数のレコード間の共通の特性又は類似性を識別するために訓練データセットを解析することと、複数のレコード間の識別された共通の特性又は類似性に少なくとも一部に基づいて、新しいレコードを生成することと、を行わせる、第1の機械学習モデルと、メモリに記憶され、プロセッサにより実行されたとき、コンピューティング・デバイスに少なくとも、複数のレコード間の共通の特性又は類似性を識別するために訓練データセットを解析することと、第1の機械学習モデルによって生成された新しいレコードを評価し、新しいレコードが訓練データセット内の複数のレコードと区別できないかどうかを決定することと、新しいレコードの評価に少なくとも一部に基づいて、第1の機械学習モデルを更新することと、新しいレコードの評価に少なくとも一部に基づいて、第2の機械学習モデルを更新することと、を行わせる、第2の機械学習モデルと、を含む、システム。
【0086】
条項2-第1の機械学習モデルは、コンピューティング・デバイスに複数の新しいレコードを生成させ、システムは、第1の機械学習モデルによって生成された複数の新しいレコードを使用して訓練される、メモリに記憶された第3の機械学習モデルを更に備える、条項1のシステム。
【0087】
条項3-複数の新しいレコードは、第2の機械学習モデルが第1の機械学習モデルによって生成された新しいレコードと訓練データセット内の複数のレコードの個々のものとを区別することができないという決定に応答して生成される、条項1又は2のシステム。
【0088】
条項4-複数の新しいレコードは、第1の機械学習モデルによって識別される確率密度関数(PDF)によって定義されるサンプル空間内の所定の数の点のランダム・サンプルから生成される、条項1乃至3のシステム。
【0089】
条項5-第1の機械学習モデルは、第2の機械学習モデルが、新しいレコードを訓練データセット内の複数のレコードから所定の率で区別できなくなるまで、新しいレコードを繰り返し生成する、条項1乃至4のシステム。
【0090】
条項6-等サイズの新しいレコードが生成されるとき、所定の率は50%である、条項1乃至5のシステム。
【0091】
条項7-機械学習モデルは、コンピューティング・デバイスに、新しいレコードを少なくとも2回生成させ、第2の機械学習モデルは、コンピューティング・デバイスに、新しいレコードを少なくとも2回評価させ、第1の機械学習モデルを少なくとも2回更新し、第2の機械学習モデルを少なくとも2回更新させる、条項1乃至6のシステム。
【0092】
条項8-確率分布関数(PDF)を識別するために複数の元のレコードを解析することであって、PDFはサンプル空間を含み、サンプル空間は複数の元のレコードを含む、解析することと、PDFを用いて複数の新しいレコードを生成することと、複数の新しいレコードを含む拡張データセットを生成することと、拡張データセットを用いて機械学習モデルを訓練することを含む、コンピュータ実装方法。
【0093】
条項9-確率分布関数を識別するために複数の元のレコードを解析することが、複数の元のレコードの個々のものに類似する新しいレコードを生成するために、ジェネレータ機械学習モデルを訓練することと、新しいレコードと複数の元のレコードの個々のものとを区別するために、識別器機械学習モデルを訓練することと、ジェネレータ機械学習モデルによって生成された新しいレコードが識別器機械学習モデルによって所定の率で間違えられることに応答して、確率分布関数を識別することと、を更に含む、条項8のコンピュータ実装方法。
【0094】
条項10-所定の率は、新しいレコードと複数の元のレコードとの間で識別器によって実行される比較の約50%である、条項9のコンピュータ実装方法。
【0095】
条項11-ジェネレータ機械学習モデルが複数のジェネレータ機械学習モデルのうちの一つであり、該方法は、複数の元のレコードの個々のものに類似する新しいレコードを生成するために複数のジェネレータ機械学習モデルのそれぞれを訓練することと、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連するラン・レングス、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連するジェネレータ損失ランク、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連する識別器損失ランク、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連する異なるランク、又は、複数の元のレコードに関連する第1の確率分布関数及び複数の新しいレコードに関連する第2の確率分布関数を含むコルモゴロフ・スミルノフ(KS)検定の少なくとも一つの結果に少なくとも一部に基づいて、複数のジェネレータ機械学習モデルの中からジェネレータ機械学習モデルを選択することと、を更に含み、確率分布関数を識別することは、複数のジェネレータ機械学習モデルからジェネレータ機械学習モデルを選択することに応答して更に行われる、条項9又は10のコンピュータ実装方法。
【0096】
条項12-確率分布関数を使用して複数の新しいレコードを生成することは、確率分布関数によって定義されるサンプル空間内の所定の数の点をランダムに選択することを更に含む、条項8乃至11のコンピュータ実装方法。
【0097】
条項13-複数の元のレコードを拡張データセットに追加することを更に含む、条項8乃至12のコンピュータ実装方法。
【0098】
条項14-機械学習モデルがニューラル・ネットワークを含む、条項8乃至13のコンピュータ実装方法。
【0099】
条項15-プロセッサとメモリとを備えるコンピューティング・デバイスと、メモリに記憶された機械可読命令と、を備え、機械可読命令は、プロセッサによって実行されたとき、コンピューティング・デバイスに少なくとも、確率分布関数(PDF)を識別するために複数の元のレコードを解析することであって、PDFはサンプル空間を含み、サンプル空間は複数の元のレコードを含む、解析することと、PDFを用いて複数の新しいレコードを生成することと、複数の新しいレコードを含む拡張データセットを生成することと、拡張データセットを用いて機械学習モデルを訓練することを行わせる、システム。
【0100】
条項16-コンピューティング・デバイスに、確率分布関数を識別するために複数の元のレコードを解析させる機械可読命令は、更に、コンピューティング・デバイスに少なくとも、複数の元のレコードの個々のものに類似する新しいレコードを生成するために、ジェネレータ機械学習モデルを訓練することと、新しいレコードと複数の元のレコードの個々のものとを区別するために、識別器機械学習モデルを訓練することと、ジェネレータ機械学習モデルによって生成された新しいレコードが識別器機械学習モデルによって所定の率で間違えられることに応答して、確率分布関数を識別することと、を行わせる、条項15のシステム。
【0101】
条項17-所定の率は、新しいレコードと複数の元のレコードとの間で識別器によって実行される比較の約50%である、条項16のシステム。
【0102】
条項18-ジェネレータ機械学習モデルが複数のジェネレータ機械学習モデルのうちの一つであり、機械可読命令は更に、コンピューティング・デバイスに少なくとも、複数の元のレコードの個々のものに類似する新しいレコードを生成するために複数のジェネレータ機械学習モデルのそれぞれを訓練することと、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連するラン・レングス、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連するジェネレータ損失ランク、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連する識別器損失ランク、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連する異なるランク、又は、複数の元のレコードに関連する第1の確率分布関数及び複数の新しいレコードに関連する第2の確率分布関数を含むコルモゴロフ・スミルノフ(KS)検定の少なくとも一つの結果に少なくとも一部に基づいて、複数のジェネレータ機械学習モデルからジェネレータ機械学習モデルを選択することを行わせ、確率分布関数の識別は、複数のジェネレータ機械学習モデルからジェネレータ機械学習モデルを選択することに応答して更に行われる、条項16又は17。
【0103】
条項19-コンピューティング・デバイスに確率分布関数を使用して複数の新しいレコードを生成させる機械可読命令は、確率分布関数によって定義されるサンプル空間内の所定の数の点をランダムに選択するようにコンピューティング・デバイスに更に行わせる、条項15乃至18のシステム。
【0104】
条項20-機械可読命令は、プロセッサによって実行されたとき、更にコンピューティング・デバイスに、複数の元のレコードを拡張データセットに少なくとも追加させる、条項15乃至19のシステム。
【0105】
条項21-第1の機械学習モデル及び第2の機械学習モデルを含む、非一時的なコンピュータ可読媒体であって、第1の機械学習モデルは、コンピューティング・デバイスのプロセッサによって実行されたとき、コンピューティング・デバイスに少なくとも、訓練データセットの複数のレコード間の共通の特性又は類似性を識別するために訓練データセットを解析することと、複数のレコード間の識別された共通の特性又は類似性に少なくとも一部に基づいて新しいレコードを生成することと、を行わせ、第2の機械学習モデルは、コンピューティング・デバイスのプロセッサによって実行されたとき、コンピューティング・デバイスに少なくとも、複数のレコード間の共通の特性又は類似性を識別するために訓練データセットを解析することと、第1の機械学習モデルによって生成された新しいレコードを評価し、新しいレコードが、所定のエラー率に少なくとも一部に基づいて訓練データセット内の複数のレコードと区別できないかどうかを決定することと、新しいレコードの評価に少なくとも一部に基づいて第1の機械学習モデルを更新することと、新しいレコードの評価に少なくとも一部に基づいて、第2の機械学習モデルを更新することと、を行わせる、非一時的なコンピュータ可読媒体。
【0106】
条項22-第1の機械学習モデルは、コンピューティング・デバイスに複数の新しいレコードを生成させ、システムは、第1の機械学習モデルによって生成された複数の新しいレコードを使用して訓練される、メモリに記憶された第3の機械学習モデルを更に備える、条項21の非一時的なコンピュータ可読媒体。
【0107】
条項23-複数の新しいレコードは、第2の機械学習モデルが第1の機械学習モデルによって生成された新しいレコードと訓練データセット内の複数のレコードの個々のものとを区別することができないという決定に応答して生成される、条項21又は22の非一時的なコンピュータ可読媒体。
【0108】
条項24-複数の新しいレコードは、第1の機械学習モデルによって識別される確率密度関数(PDF)によって定義されるサンプル空間内の所定の数の点のランダム・サンプルから生成される、条項21乃至23の非一時的なコンピュータ可読媒体。
【0109】
条項25-第1の機械学習モデルは、第2の機械学習モデルが、新しいレコードを訓練データセット内の複数のレコードから所定の率で区別できなくなるまで、新しいレコードを繰り返し生成する、条項21乃至24の非一時的なコンピュータ可読媒体。
【0110】
条項26-等サイズの新しいレコードが生成されるとき、所定の率は50%である、条項21乃至25の非一時的なコンピュータ可読媒体。
【0111】
条項27-第1の機械学習モデルは、コンピューティング・デバイスに少なくとも2回、新しいレコードを生成させ、第2の機械学習モデルは、コンピューティング・デバイスに少なくとも2回、新しいレコードを評価させ、第1の機械学習モデルを少なくとも2回更新し、第2の機械学習モデルを少なくとも2回更新する、条項21乃至26の非一時的なコンピュータ可読媒体。
【0112】
条項28-コンピューティング・デバイスのプロセッサによって実行されたとき、少なくともコンピューティング・デバイスに少なくとも、確率分布関数(PDF)を識別するために複数の元のレコードを解析することであって、PDFがサンプル空間を含み、サンプル空間が複数の元のレコードを含む、解析することと、PDFを使用して複数の新しいレコードを生成することと、複数の新しいレコードを含む拡張データセットを生成することと、拡張データセットを使用して機械学習モデルを訓練することと、を行わせる機械可読命令を含んだ非一時的なコンピュータ可読媒体。
【0113】
条項29-確率分布関数を識別するために複数の元のレコードを解析することをコンピューティング・デバイスに行わせる機械可読命令は、コンピューティング・デバイスに少なくとも、複数の元のレコードの個々のものに類似する新しいレコードを生成するために、ジェネレータ機械学習モデルを訓練することと、新しいレコードと複数の元のレコードの個々のものとを区別するために、識別器機械学習モデルを訓練することと、ジェネレータ機械学習モデルによって生成された新しいレコードが識別器機械学習モデルによって所定の率で間違えられることに応答して、確率分布関数を識別することと、を行わせる、条項28の非一時的なコンピュータ可読媒体。
【0114】
条項30-所定の率は、新しいレコードと複数の元のレコードとの間で識別器によって実行される比較の約50%である、条項29の非一時的なコンピュータ可読媒体。
【0115】
条項31-ジェネレータ機械学習モデルが第1のジェネレータ機械学習モデルであり、第1のジェネレータ機械学習モデル及び少なくとも第2のジェネレータ機械学習モデルが複数のジェネレータ機械学習モデルに含まれ、機械可読命令は更に、コンピューティング・デバイスに少なくとも、複数の元のレコードの個々のものに類似する新しいレコードを生成するために、少なくとも第2のジェネレータ機械学習モデルを訓練することと、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連するラン・レングス、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連するジェネレータ損失ランク、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連する識別器損失ランク、各ジェネレータ機械学習モデル及び識別器機械学習モデルに関連する異なるランク、又は、複数の元のレコードに関連する第1の確率分布関数と複数の新しいレコードに関連する第2の確率分布関数とを含むコルモゴロフ・スミルノフ(KS)検定の少なくとも一つの結果に少なくとも一部に基づいて、複数のジェネレータ機械学習モデルから第1のジェネレータ機械学習モデルを選択することと、を行わせ、確率分布関数の識別が、複数のジェネレータ機械学習モデルから第1のジェネレータ機械学習モデルを選択することに応答して更に行われる、条項29又は30の非一時的なコンピュータ可読媒体。
【0116】
条項32-コンピューティング・デバイスに確率分布関数を使用して複数の新しいレコードを生成させる機械可読命令は、確率分布関数によって定義されるサンプル空間内の所定の数の点をランダムに選択するようにコンピューティング・デバイスに更に行わせる、条項28乃至31の非一時的なコンピュータ可読媒体。
【0117】
条項33-機械可読命令は、プロセッサによって実行されたとき、コンピューティング・デバイスに、複数の元のレコードを拡張データセットに少なくとも追加させる、条項28乃至32の非一時的なコンピュータ可読媒体。
図1
図2
図3A
図3B
図4