(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-24
(54)【発明の名称】改善された深層学習モデルのための方法およびシステム
(51)【国際特許分類】
G06N 3/045 20230101AFI20240117BHJP
G06N 3/08 20230101ALI20240117BHJP
【FI】
G06N3/045
G06N3/08
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023541787
(86)(22)【出願日】2022-01-07
(85)【翻訳文提出日】2023-08-04
(86)【国際出願番号】 US2022011562
(87)【国際公開番号】W WO2022150556
(87)【国際公開日】2022-07-14
(32)【優先日】2021-01-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】597160510
【氏名又は名称】リジェネロン・ファーマシューティカルズ・インコーポレイテッド
【氏名又は名称原語表記】REGENERON PHARMACEUTICALS, INC.
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(74)【代理人】
【識別番号】100152489
【氏名又は名称】中村 美樹
(72)【発明者】
【氏名】ホーキンズ、ピーター
(72)【発明者】
【氏名】チャン、ウェン
(72)【発明者】
【氏名】アトワル、グリンダ
(57)【要約】
本明細書では、深層学習モデルを生成、訓練、および調整、するための方法およびシステムを記載する。本方法およびシステムは、深層学習モデルを使用することで、データの1つまたは複数のストリング(例えば、シーケンス)を備えているデータレコードを分析するための一般化フレームワークを提供してもよい。問題/分析に特有であるように設計された既存の深層学習モデルおよびフレームワークとは異なり、本明細書に記載される一般化フレームワークは、広範な予測および/または生成データ分析に適用可能にされていてもよい。
【特許請求の範囲】
【請求項1】
方法であって、前記方法は、
コンピューティングデバイスによって、複数のデータレコードおよび複数の変数を受信する工程と、
前記複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に対して、数値表現を決定する工程であって、前記複数のデータレコードからなる前記第1サブセットのうちの各データレコードはラベルに関連付けられている、決定する工程と、
前記複数の変数からなる第1サブセットのうちの各変数の各属性に対して、数値表現を決定する工程であって、前記複数の変数からなる前記第1サブセットのうちの各変数は前記ラベルに関連付けられている、決定する工程と、
複数の第1エンコーダモジュールによって、前記複数のデータレコードからなる前記第1サブセットのうちの各データレコードの各属性に対する前記数値表現に基づき、前記複数のデータレコードからなる前記第1サブセットのうちの各データレコードの各属性に対するベクトルを生成する工程と、
複数の第2エンコーダモジュールによって、前記複数の変数からなる前記第1サブセットのうちの各変数の各属性に対する前記数値表現に基づき、前記複数の変数からなる前記第1サブセットのうちの各変数の各属性に対するベクトルを生成する工程と、
前記複数のデータレコードからなる前記第1サブセットのうちの各データレコードの各属性に対する前記ベクトルに基づき、および前記複数の変数からなる前記第1サブセットのうちの各変数の各属性に対する前記ベクトルに基づき、連結ベクトルを生成する工程と、
前記連結ベクトルに基づき、予測モデルと、前記複数の第1エンコーダモジュールと、および前記複数の第2エンコーダモジュールと、を備えているモデルアーキテクチャを訓練する工程と、
前記モデルアーキテクチャを出力する工程と、
を備えている、方法。
【請求項2】
前記複数のデータレコードの各々の各属性は、入力シーケンスを備えている、
請求項1に記載の方法。
【請求項3】
前記複数のデータレコードのうちの各データレコードは、前記複数の変数のうちの1つまたは複数の変数に関連付けられている、
請求項1に記載の方法。
【請求項4】
前記モデルアーキテクチャは、前記複数のデータレコードの1つまたは複数の属性と、前記複数の変数の1つまたは複数の属性と、に関連付けられた第1ハイパーパラメータセットに従って訓練される、
請求項1に記載の方法。
【請求項5】
前記方法はさらに、第2ハイパーパラメータセットと交差検証技術とに基づき、前記モデルアーキテクチャを最適化する工程を備えている、
請求項2に記載の方法。
【請求項6】
前記複数の変数からなる前記第1サブセットのうちの各変数の各属性に対して、前記数値表現を決定する工程は、
複数のトークナイザによって、前記複数の変数からなる前記第1サブセットの少なくとも1つの変数の少なくとも1つの属性に対して、トークンを決定する工程を備えている、
請求項1に記載の方法。
【請求項7】
前記少なくとも1つの変数の前記少なくとも1つの属性は、少なくとも非数値部分を備えており、
前記トークンは、前記少なくとも1つの変数の前記少なくとも1つの属性に対する前記数値表現を備えている、
請求項6に記載の方法。
【請求項8】
方法であって、前記方法は、
コンピューティングデバイスによって、データレコードおよび複数の変数を受信する工程と、
前記データレコードの各属性に対して、数値表現を決定する工程と、
前記複数の変数のうちの各変数の各属性に対して、数値表現を決定する工程と、
複数の第1訓練済みエンコーダモジュールによって、前記データレコードの各属性に対する前記数値表現に基づき、前記データレコードの各属性に対するベクトルを生成する工程と、
複数の第2訓練済みエンコーダモジュールによって、前記複数の変数のうちの各変数の各属性に対する前記数値表現に基づき、前記複数の変数のうちの各変数の各属性に対するベクトルを生成する工程と、
前記データレコードの各属性に対する前記ベクトルに基づき、かつ前記複数の変数のうちの各変数の各属性に対する前記ベクトルに基づき、連結ベクトルを生成する工程と、
訓練済み予測モデルによって、前記連結ベクトルに基づき、前記データレコードに関連付けられた予測またはスコアのうちの1つまたは複数を決定する工程と、
を備えている、方法。
【請求項9】
前記予測は、バイナリラベルを備えている、
請求項8に記載の方法。
【請求項10】
前記スコアは、第1ラベルが前記データレコードに適用される可能性を示す、
請求項8に記載の方法。
【請求項11】
前記複数の第1訓練済みエンコーダモジュールは、複数のニューラルネットワークブロックを備えている、
請求項8に記載の方法。
【請求項12】
前記複数の第2訓練済みエンコーダモジュールは、複数のニューラルネットワークブロックを備えている、
請求項8に記載の方法。
【請求項13】
前記複数の変数のうちの各変数の各属性に対して、前記数値表現を決定する工程は、
複数のトークナイザによって、前記複数の変数のうちの少なくとも1つの変数の少なくとも1つの属性に対して、トークンを決定する工程を備えている、
請求項8に記載の方法。
【請求項14】
前記少なくとも1つの変数の前記少なくとも1つの属性は、少なくとも非数値部分を備えており、
前記トークンは、前記少なくとも1つの変数の前記少なくとも1つの属性に対する前記数値表現を備えている、
請求項13に記載の方法。
【請求項15】
方法であって、前記方法は、
コンピューティングデバイスによって、ラベルに関連付けられた複数の第1データレコードおよび複数の第1変数を受信する工程と、
前記複数の第1データレコードのうちの各データレコードの各属性に対して、数値表現を決定する工程と、
前記複数の第1変数のうちの各変数の各属性に対して、数値表現を決定する工程と、
複数の第1訓練済みエンコーダモジュールによって、前記複数の第1データレコードのうちの各データレコードの各属性に対する前記数値表現に基づき、前記複数の第1データレコードのうちの各データレコードの各属性に対するベクトルを生成する工程と、
複数の第2訓練済みエンコーダモジュールによって、前記複数の第1変数のうちの各変数の各属性に対する前記数値表現に基づき、前記複数の第1変数のうちの各変数の各属性に対するベクトルを生成する工程と、
前記複数の第1データレコードのうちの各データレコードの各属性に対する前記ベクトルに基づき、かつ前記複数の第1変数のうちの各変数に対する前記ベクトルに基づき、連結ベクトルを生成する工程と、
前記連結ベクトルに基づき、訓練済み予測モデル、前記複数の第1訓練済みエンコーダモジュール、および前記複数の第2訓練済みエンコーダモジュール、を再訓練する工程と、
を備えている、方法。
【請求項16】
前記方法はさらに、再訓練済み予測モデルを出力する工程を備えている、
請求項15に記載の方法。
【請求項17】
前記複数の第1訓練済みエンコーダモジュールは、前記ラベルおよび第1ハイパーパラメータセットに関連付けられた複数の訓練データレコードに基づき訓練されており、
前記複数の第1データレコードは、前記第1ハイパーパラメータセットとは少なくとも部分的に異なる第2ハイパーパラメータセットに関連付けられている、
請求項15に記載の方法。
【請求項18】
前記複数の第2訓練済みエンコーダモジュールは、前記ラベルおよび前記第1ハイパーパラメータセットに関連付けられた複数の訓練変数に基づき訓練されており、
前記複数の第1変数は、前記第2ハイパーパラメータセットに関連付けられている、
請求項17に記載の方法。
【請求項19】
前記複数の第1訓練済みエンコーダモジュールを再訓練する工程は、前記第2ハイパーパラメータセットに基づき、前記複数の第1訓練済みエンコーダモジュールを再訓練する工程を備えている、
請求項17に記載の方法。
【請求項20】
前記複数の第2訓練済みエンコーダモジュールを再訓練する工程は、前記第2ハイパーパラメータセットに基づき、前記複数の第2訓練済みエンコーダモジュールを再訓練する工程を備えている、
請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、改善された深層学習モデルのための方法およびシステムに関する。
【背景技術】
【0002】
(関連特許出願の相互参照)
本出願は、2021年1月8日に出願された米国仮特許出願第63/135,265号の優先権の利益を主張するものであり、同出願の全内容が参照によって本明細書に組み込まれる。
【0003】
人工ニューラルネットワーク、深層ニューラルネットワーク、深層信念ネットワーク、反復ニューラルネットワーク、および畳み込みニューラルネットワーク、などのほとんどの深層学習モデルは、問題/分析に特有であるように設計されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
結果として、ほとんどの深層学習モデルは、一般的には適用可能ではない。したがって、予測および/または生成データ分析の様々なものに適用可能にされ得る深層学習モデルを生成、訓練、および調整、するためのフレームワークが必要である。これらおよびその他の考慮事項を本明細書に記載する。
【課題を解決するための手段】
【0005】
以下の一般的な説明および以下の詳細な説明は両方とも、あくまで例示的かつ説明的なものにすぎず、限定的なものではないことを理解されたい。本明細書では、改善された深層学習モデルのための方法およびシステムを記載する。一実施例では、複数のデータレコードおよび複数の変数は、予測モデルなどの深層学習モデルを生成および訓練するべく、コンピューティングデバイスによって使用されてもよい。コンピューティングデバイスは、複数のデータレコードからなる第1サブセットのうちの各データレコードに対する数値表現を決定してもよい。複数のデータレコードからなる第1サブセットのうちの各データレコードは、バイナリラベル(例えば、「はい」/「いいえ」)および/またはパーセンテージ値などのラベルを含んでもよい。コンピューティングデバイスは、複数の変数からなる第1サブセットのうちの各変数に対する数値表現を決定してもよい。複数の変数からなる第1サブセットのうちの各変数は、ラベル(例えば、バイナリラベルおよび/またはパーセンテージ値)を含んでもよい。複数の第1エンコーダモジュールは、複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に対するベクトルを生成してもよい。複数の第2エンコーダモジュールは、複数の変数からなる第1サブセットのうちの各変数の各属性に対するベクトルを生成し得る。
【0006】
コンピューティングデバイスは、予測モデルに対する複数の特徴(特徴量)を決定してもよい。コンピューティングデバイスは、連結ベクトルを生成してもよい。コンピューティングデバイスは、予測モデルを訓練(トレーニング、学習)してもよい。コンピューティングデバイスは、複数の第1エンコーダモジュールおよび/または複数の第2エンコーダモジュールを訓練してもよい。コンピューティングデバイスは、訓練後に、予測モデル、複数の第1エンコーダモジュール、および/または複数の第2エンコーダモジュール、を出力してもよい。予測モデル、複数の第1エンコーダモジュール、および/または複数の第2エンコーダモジュール、は訓練されると、予測および/または生成データ分析の様々なものを提供することが可能にされていてもよい。
【0007】
一実施例として、コンピューティングデバイスは、以前に見てないデータレコード(第1データレコード)および以前に見てない複数の変数(複数の第1変数)を受信してもよい。コンピューティングデバイスは、第1データレコードに対して数字表現を決定してもよい。コンピューティングデバイスは、複数の第1変数のうちの各変数に対する数値表現を決定してもよい。コンピューティングデバイスは、複数の第1訓練済みエンコーダモジュールを使用することで、第1データレコードのベクトルを決定してもよい。コンピューティングデバイスは、複数の第1訓練済みエンコーダモジュールを使用することで、データレコードに対する数値表現に基づき、第1データレコードに対するベクトルを決定してもよい。
【0008】
コンピューティングデバイスは、複数の第2訓練済みエンコーダモジュールを使用することで、複数の第1変数のうちの各変数の各属性に対するベクトルを決定してもよい。コンピューティングデバイスは、複数の第2訓練済みエンコーダモジュールを使用することで、複数の変数のうちの各変数に対する数値表現に基づき、複数の第1変数のうちの各変数の各属性に対するベクトルを決定してもよい。コンピューティングデバイスは、第1データレコードに対するベクトルと、複数の第1変数のうちの各変数の各属性に対するベクトルと、に基づき連結ベクトルを生成してもよい。コンピューティングデバイスは、訓練済み予測モデルを使用することで、第1データレコードに関連付けられた予測またはスコアのうちの1つまたは複数を決定してもよい。訓練済み予測モデルは、連結ベクトルに基づき、第1データレコードに関連付けられた予測またはスコアのうちの1つまたは複数を決定してもよい。
【0009】
本明細書に記載されるような訓練済み予測モデルおよび訓練済みエンコーダモジュールは、予測および/または生成データ分析の様々なものを提供することが可能にされていてもよい。訓練済み予測モデルおよび訓練済みエンコーダモジュールは、予測および/または生成データ分析の第1セットを提供するように最初に訓練されてもよく、各々、別の予測および/または生成データ分析のセットを提供するべく再訓練されてもよい。再訓練されると、本明細書に記載される予測モデルおよびエンコーダモジュールは、別の予測および/または生成データ分析のセットを提供してもよい。開示される方法およびシステムの更なる利点は、一部が以下の説明において規定されるか、一部が説明から理解されるか、または開示される方法およびシステムの実施によって分かってもよい。
【0010】
本説明に組み込まれ、かつその一部を構成する添付の図面は、本明細書に記載する方法およびシステムの原理を説明する役割を果たす。
【図面の簡単な説明】
【0011】
【発明を実施するための形態】
【0012】
本明細書および添付の特許請求の範囲で使用される場合、単数形「a」、「an」、および「the」は、文脈上特に指示されていない限り複数の支持対象を備えている。本明細書では、範囲は、「約」1つの特定の値から、および/または「約」別の特定の値までとして表現されてもよい。そのような範囲が表現されるときに、別の構成は、1つの特定の値から、および/または別の特定の値までを備えている。同様に、値が近似値として表現される場合、先行詞「約」の使用によって、特定の値が別の構成を形成することが理解されるであろう。これらの範囲の各々の終点は、他の終点に関連して、かつ他の終点とは独立して有意であることが更に理解されるであろう。
【0013】
「任意の」または「任意に」は、その後に記載する事象または状況が生じても生じなくてもよいこと、ならびにこの説明が、該事象または状況が生じる場合および生じない場合を備えていることを意味する。
【0014】
この明細書の説明および特許請求の範囲を通じて、語「備えている(comprise)」およびこの語の変形、例えば「備えている(comprising)」および「備えている(comprises)」などは、「~を備えているがこれに限定されない」を意味しており、例えば、他の構成要素、整数、または工程を除外することを意図するものではない。「例示的な」は、「~の一例」を意味しており、好ましい構成または理想的な構成の表示を伝達することを意図するものではない。「など」は、限定的な意味で使用されるものではなく、説明を目的に使用される。
【0015】
構成要素の組み合わせ、サブセット、相互作用、群、などが開示される場合、これらの構成要素の様々な個別的および集合的な組み合わせおよび並べ替えの各々についての具体的な言及は明示的に記載されていない場合があるが、各々が本明細書に具体的に企図かつ記載されることが理解される。これは、記載の方法における工程を備えているがこれらに限定されない、本出願の全ての部分に適用される。したがって、実行され得る様々な追加の工程が存在する場合、これらの追加の工程の各々は、記載の方法の任意の特定の構成または構成の組み合わせで実行されてもよいことが理解される。
【0016】
当業者によって理解されるように、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアとの組み合わせ、が実装され得る。更に、コンピュータ可読記憶媒体(例えば、非一過性)上のコンピュータプログラム製品は、記憶媒体内に具現化されたプロセッサ実行可能命令(例えば、コンピュータソフトウェア)を有している。ハードディスク、CD-ROM、光学記憶デバイス、磁気記憶デバイス、記憶抵抗器(memresistor)、不揮発性ランダムアクセスメモリ(NVRAM)、フラッシュメモリ、またはこれらの組み合わせ、を備えている任意の好適なコンピュータ可読記憶媒体を利用してもよい。
【0017】
本出願全体を通して、ブロック図およびフローチャートに対する参照がなされる。ブロック図およびフローチャートの各ブロック、ならびにブロック図およびフローチャートのブロックの組み合わせ、はそれぞれプロセッサ実行可能命令によって実施され得ることが理解されるであろう。これらのプロセッサ実行可能命令は、汎用コンピュータ、特殊用途向けコンピュータ、または他のプログラム可能データ処理装置、にロードされることでマシンを生成してもよく、その結果、コンピュータまたは他のプログラム可能データ処理装置上で実行されるプロセッサ実行可能命令は、フローチャートのブロックにおいて特定された機能を実施するためのデバイスを作成する。
【0018】
これらのプロセッサ実行可能命令はまた、コンピュータまたは他のプログラム可能データ処理装置が特定の様式で機能するように指示し得るコンピュータ可読メモリ内に記憶されてもよく、その結果、コンピュータ可読メモリ内に記憶されるプロセッサ実行可能命令が、フローチャートのブロックにおいて特定された機能を実施するためのプロセッサ実行可能命令を備えている製造品を生成する。プロセッサ実行可能命令はまた、コンピュータまたは他のプログラム可能データ処理装置にロードされることで、コンピュータまたは他のプログラム可能装置上で一連の動作工程が実行されることによって、コンピュータ実装処理を生成してもよい。その結果コンピュータまたは他のプログラム可能装置上で実行されるプロセッサ実行可能命令は、フローチャートのブロックにおいて特定された機能を実装するための工程を提供する。
【0019】
ブロック図およびフローチャートのブロックは、特定された機能を実行するためのデバイスの組み合わせ、特定された機能を実行するための工程の組み合わせ、および特定された機能を実行するためのプログラム命令手段、をサポートする。ブロック図およびフローチャートの各ブロック、ならびにブロック図およびフローチャートのブロックの組み合わせ、は特定された機能もしくは工程を実行する特殊用途向けハードウェアベースのコンピュータシステム、または特殊用途向けハードウェアとコンピュータ命令との組み合わせによって実装され得ることもまた理解されるであろう。
【0020】
本明細書では、改善された深層学習モデルのための方法およびシステムを記載する。例として、本方法およびシステムは、深層学習モデルを使用することで、データの1つまたは複数のストリング(例えば、シーケンス)を備えているデータレコードを分析するための一般化フレームワークを提供してもよい。このフレームワークは、予測および/または生成データ分析の様々なものに適用可能にされ得る深層学習モデルを生成、訓練、および調整、してもよい。深層学習モデルは、複数のデータレコードを受信してもよく、各データレコードは、1つまたは複数の属性(例えば、データのストリング、データのシーケンスなど)を含んでもよい。深層学習モデルは、複数のデータレコードおよび対応する複数の変数を使用することで、二項予測、多項式予測、変分オートエンコーダ、それらの組み合わせ、および/または同種のもの、のうちの1つまたは複数を出力してもよい。
【0021】
一実施例では、複数のデータレコードおよび複数の変数は、予測モデルなどの深層学習モデルを生成および訓練するべく、コンピューティングデバイスによって使用されてもよい。複数のデータレコードのうちの各データレコードは、1つまたは複数の属性(例えば、データのストリング、データのシーケンスなど)を含んでもよい。複数のデータレコードのうちの各データレコードは、複数の変数のうちの1つまたは複数の変数に関連付けられてもよい。コンピューティングデバイスは、予測モデルを訓練するべく、モデルアーキテクチャの複数の特徴を決定してもよい。コンピューティングデバイスは、例えば、ニューラルネットワーク層/ブロックの数、ニューラルネットワーク層中のニューラルネットワークフィルタの数、などを備えているハイパーパラメータセットに基づき、複数の特徴を決定してもよい。
【0022】
ハイパーパラメータセットの要素は、モデルアーキテクチャ内に含まれ、かつ予測モデルを訓練するための、複数のデータレコード(例えば、データレコード属性/変数)の第1サブセットを含んでもよい。ハイパーパラメータセットの別の要素は、モデルアーキテクチャ内に含まれ、予測モデルを訓練するための、複数の変数(例えば、属性)の第1サブセットを含んでもよい。コンピューティングデバイスは、複数のデータレコードからなる第1サブセットのうちの各データレコードに対する数値表現を決定してもよい。複数のデータレコードからなる第1サブセットのうちの各データレコードに対する各数値表現は、対応する1つまたは複数の属性に基づき生成されてもよい。複数のデータレコードからなる第1サブセットのうちの各データレコードは、バイナリラベル(例えば、「はい」/「いいえ」)および/またはパーセンテージ値などのラベル、に関連付けられてもよい。
【0023】
コンピューティングデバイスは、複数の変数からなる第1サブセットのうちの各変数に対する数値表現を決定し得る。複数の変数からなる第1サブセットのうちの各変数は、ラベル(例えば、バイナリラベルおよび/またはパーセンテージ値)に関連付けられてもよい。複数の第1エンコーダモジュールは、複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に対するベクトルを生成してもよい。例えば、複数の第1エンコーダモジュールは、複数のデータレコードからなる第1サブセットのうちの各データレコードのうちの各データレコードの各属性に対して、複数のデータレコードからなる第1サブセットのうちの各データレコードに対する数値表現に基づき、ベクトルを生成し得る。複数の第2エンコーダモジュールは、複数の変数からなる第1サブセットのうちの各変数の各属性に対するベクトルを生成し得る。例えば、複数の第2エンコーダモジュールは、複数の変数からなる第1サブセットのうちの各変数に対する数値表現に基づき、複数の変数からなる第1サブセットのうちの各変数の各属性に対するベクトルを生成してもよい。
【0024】
コンピューティングデバイスは、連結ベクトルを生成してもよい。例えば、コンピューティングデバイスは、複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に対して、ベクトルに基づき連結ベクトルを生成してもよい。別の実施例として、コンピューティングデバイスは、複数の変数からなる第1サブセットのうちの各変数の各属性に対するベクトルに基づき、連結ベクトルを生成してもよい。上で論じたように、複数の特徴は、複数のデータレコードからなる第1サブセットのデータレコード、および複数の変数からなる第1サブセットの変数の対応する属性のうちのわずか1つまたは全てほど多くのものを含んでもよい。したがって、連結ベクトルは、複数のデータレコードからなる第1サブセットのデータレコードおよび複数の変数からなる第1サブセットの変数の対応する属性のうちのわずか1つまたは全てほど多くのものに基づいてもよい。連結ベクトルは、ラベルを示してもよい。例えば、連結ベクトルは、複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に対するラベル(例えば、バイナリラベルおよび/またはパーセンテージ値)を示してもよい。別の例として、連結ベクトルは、複数の変数からなる第1サブセットのうちの各変数に対するラベル(例えば、バイナリラベルおよび/またはパーセンテージ値)を示してもよい。
【0025】
コンピューティングデバイスは、予測モデルを訓練してもよい。例えば、コンピューティングデバイスは、連結ベクトルまたはその一部分に基づき(例えば、選択された特定のデータレコードの属性および/または変数の属性に基づき)、予測モデルを訓練してもよい。コンピューティングデバイスは、複数の第1エンコーダモジュールおよび/または複数の第2エンコーダモジュールを訓練してもよい。例えば、コンピューティングデバイスは、連結ベクトルに基づき、複数の第1エンコーダモジュールおよび/または複数の第2エンコーダモジュールを訓練してもよい。
【0026】
コンピューティングデバイスは、訓練の後に、予測モデル、複数の第1エンコーダモジュール、および/または複数の第2エンコーダモジュールを出力(例えば、保存)してもよい。予測モデル、複数の第1エンコーダモジュール、および/または複数の第2エンコーダモジュール、は訓練されると、二項予測、多項式予測、変分オートエンコーダ、それらの組み合わせ、および/または同種のもの、を提供するなど、予測および/または生成データ分析の様々なものを提供することが可能にされていてもよい。
【0027】
一実施例として、コンピューティングデバイスは、以前に見てないデータレコード(第1データレコード)および以前に見てない複数の変数(複数の第1変数)を受信してもよい。複数の第1変数は、第1データレコードに関連付けられてもよい。コンピューティングデバイスは、第1データレコードに対して数字表現を決定してもよい。例えば、コンピューティングデバイスは、複数のデータレコードからなる第1サブセット(例えば、訓練データレコード)に関して、上述したのとで同様の方式で、第1データレコードに対する数値表現を決定してもよい。コンピューティングデバイスは、複数の第1変数のうちの各変数に対する数値表現を決定してもよい。例えば、コンピューティングデバイスは、複数の変数からなる第1サブセット(例えば、訓練変数)に関して上述したのとで同様の方式で、複数の第1変数の各々に対する数値表現を決定してもよい。コンピューティングデバイスは、複数の第1訓練済みエンコーダモジュールを使用することで、第1データレコードのベクトルを決定してもよい。例えば、コンピューティングデバイスは、第1データレコードのベクトルを決定するときに、予測モデルで訓練済み上述の複数の第1エンコーダモジュールを使用してもよい。コンピューティングデバイスは、複数の第1訓練済みエンコーダモジュールを使用することで、データレコードに対する数値表現に基づき、第1データレコードに対するベクトルを決定してもよい。
【0028】
コンピューティングデバイスは、複数の第2訓練済みエンコーダモジュールを使用することで、複数の第1変数のうちの各変数の各属性に対するベクトルを決定してもよい。例えば、コンピューティングデバイスは、複数の第1変数のうちの各変数の各属性に対するベクトルを決定するときに、予測モデルで訓練済み上述の複数の第1エンコーダモジュールを使用してもよい。コンピューティングデバイスは、複数の第2訓練済みエンコーダモジュールを使用することで、複数の変数のうちの各変数に対する数値表現に基づき、複数の第1変数のうちの各変数の各属性に対するベクトルを決定してもよい。
【0029】
コンピューティングデバイスは、第1データレコードに対するベクトルおよび複数の第1変数のうちの各変数の各属性に対するベクトルに基づき、連結ベクトルを生成してもよい。コンピューティングデバイスは、訓練済み予測モデルを使用することで、第1データレコードに関連付けられた予測またはスコアのうちの1つまたは複数を決定してもよい。訓練済み予測モデルは、複数の第1エンコーダモジュールおよび複数の第2エンコーダモジュールとで共に訓練済みの上述した予測モデルを含んでもよい。訓練済み予測モデルは、連結ベクトルに基づき、第1データレコードに関連付けられた予測またはスコアのうちの1つまたは複数を決定してもよい。スコアは、第1ラベルが第1データレコードに適用される可能性を示してもよい。例えば、第1ラベルは、バイナリラベル(例えば、「はい」/「いいえ」)および/またはパーセンテージ値を含んでもよい。
【0030】
本明細書に記載されるような訓練済み予測モデルおよび訓練済みエンコーダモジュールは、予測および/または生成データ分析の様々なものを提供することが可能にされていてもよい。訓練済み予測モデルおよび訓練済みエンコーダモジュールは、予測および/または生成データ分析の第1セットを提供するように最初に訓練されてもよく、各々、予測および/または生成データ分析の別のセットを提供するべく再訓練されてもよい。例えば、本明細書で記載する複数の第1訓練済みエンコーダモジュールは、第1ラベルおよび第1ハイパーパラメータセットに関連付けられた複数の訓練データレコードに基づき、最初に訓練されてもよい。複数の第1訓練済みエンコーダモジュールは、第1ハイパーパラメータセットとは少なくとも部分的に異なる第2ハイパーパラメータセットに関連付けられた更に複数のデータレコードに基づき、再訓練されてもよい。例えば、第2ハイパーパラメータセットおよび第1ハイパーパラメータセットは、類似のデータ型(例えば、ストリング、整数など)を含んでもよい。別の例として、本明細書に記載される複数の第2訓練済みエンコーダモジュールは、第1ラベルおよび第1ハイパーパラメータセットに関連付けられた複数の訓練変数に基づき、最初に訓練されていてもよい。複数の第2訓練済みエンコーダモジュールは、第2ハイパーパラメータセットに関連付けられた更に複数の変数に基づき再訓練されてもよい。
【0031】
更なる例として、本明細書に記載される訓練済み予測モデルは、第1連結ベクトルに基づき最初に訓練されていてもよい。第1連結ベクトルは、複数の訓練データレコードに基づき(例えば、第1ラベルおよび第1ハイパーパラメータセットに基づき)、および/または複数の訓練変数に基づき(例えば、第1ラベルおよび第2ハイパーパラメータセットに基づき)、導出/決定/生成されていてもよい。訓練済み予測モデルは、第2連結ベクトルに基づき再訓練されてもよい。第2連結ベクトルは、更なる複数のデータレコードのうちの各データレコードの各属性に対するベクトルに基づき導出/決定/生成されてもよい。第2連結ベクトルはまた、更なる複数の変数のうちの各変数の各属性に対するベクトルおよび関連付けられたハイパーパラメータセットに基づき、導出/決定/生成されてもよい。第2連結ベクトルはまた、第2ハイパーパラメータセットおよび/または更なるハイパーパラメータセットに関連付けられた更なる複数のデータレコードに基づき、導出/決定/生成されてもよい。このように、複数の第1エンコーダモジュールおよび/または複数の第2エンコーダモジュールは、第2連結ベクトルに基づき再訓練されてもよい。再訓練されると、本明細書に記載される予測モデルおよびエンコーダモジュールは、予測および/または生成データ分析の別のセットを提供してもよい。
【0032】
ここで
図1を参照すると、システム100が示されている。システム100は、深層学習モデルを生成、訓練、および調整、してもよい。システム100は、コンピューティングデバイス106を含んでもよい。コンピューティングデバイス106は、例えば、スマートフォン、タブレット、ラップトップコンピュータ、デスクトップコンピュータ、サーバコンピュータ、などであってもよい。コンピューティングデバイス106は、1つまたは複数のサーバのグループを含んでもよい。コンピューティングデバイス106は、データレコード104、変数105、およびラベル107、を記憶するためのデータベースを備えている様々なデータ構造を生成、記憶、維持、および/または更新、するよう構成されてもよい。
【0033】
データレコード104は、データの1つまたは複数のストリング(例えば、シーケンス)と、各データレコードに関連付けられた1つまたは複数の属性と、を含んでもよい。変数105は、データレコード104に関連付けられた複数の属性、パラメータ、などを含んでもよい。ラベル107は各々、データレコード104または変数105のうちの1つまたは複数に関連付けられてもよい。ラベル107は、複数のバイナリラベル、複数のパーセンテージ値、などを含んでもよい。いくつかの実施例では、ラベル107は、データレコード104または変数105の1つまたは複数の属性を含んでもよい。コンピューティングデバイス106は、サーバ102において記憶されたデータベースを備えている様々なデータ構造を生成、記憶、維持、および/または更新、するよう構成されてもよい。コンピューティングデバイス106は、データ処理モジュール106Aおよび予測モジュール106Bを含んでもよい。データ処理モジュール106Aおよび予測モジュール106Bは、コンピューティングデバイス106上または別個のコンピューティングデバイス上で別々に動作するように記憶されるかおよび/または構成されてもよい。
【0034】
コンピューティングデバイス106は、予測モデルなどの深層学習モデルを使用することでデータレコード104、変数105、および/またはラベル107、を分析するための一般化フレームワークを実装してもよい。コンピューティングデバイス106は、サーバ102からデータレコード104、変数105、および/またはラベル107、を受信してもよい。問題/分析に特有であるように設計された既存の深層学習モデルおよびフレームワークとは異なり、コンピューティングデバイス106によって実装されるフレームワークは、予測および/または生成データ分析の幅広い範囲に適用可能にされていてもよい。例えば、コンピューティングデバイス106によって実装されるフレームワークは、予測および/または生成データ分析の様々なものに適用可能にされ得る予測モデルを生成、訓練、および調整、してもよい。予測モデルは、二項予測、多項式予測、変分オートエンコーダ、それらの組み合わせ、および/または同種のもの、のうちの1つまたは複数を出力してもよい。データ処理モジュール106Aおよび予測モジュール106Bは、高度にモジュール化されており、モデルアーキテクチャへの調整を可能にする。データレコード104は、英数字、単語、語句、記号、などのストリング(例えば、シーケンス)などの任意のタイプのデータレコードを含んでもよい。データレコード104、変数105、および/またはラベル107、はCSVファイル、VCFファイル、FASTAファイル、FASTQファイル、または当業者に知られている任意の他の好適なデータ記憶フォーマット/ファイル、のうちの1つまたは複数など、スプレッドシート内のデータレコードとして受信されてもよい。
【0035】
本明細書で更に記載するように、データ処理モジュール106Aは、データレコード104および変数105(例えば、英数字、単語、語句、記号、などのストリング/シーケンス)を、数値表現に変換する1つまたは複数の「プロセッサ」を介して、データレコード104および変数105を、学習不可能な方法で数値形式に処理してもよい。本明細書に更に記載されるこれらの数値表現は、1つまたは複数の「エンコーダモジュール」を介して、学習可能な方法で更に処理されてもよい。エンコーダモジュールは、コンピューティングデバイス106によって利用されるニューラルネットワークのブロックを含んでもよい。エンコーダモジュールは、データレコード104のいずれかのおよび/または変数105のいずれかのベクトル表現を出力してもよい。所与のデータレコードおよび/または所与の変数のベクトル表現は、所与のデータレコードおよび/または所与の変数の対応する数値表現に基づいてもよい。このようなベクトル表現は、本明細書では「フィンガープリント」(指紋)と呼ばれることがある。データレコードのフィンガープリントは、データレコードに関連付けられた属性に基づいてもよい。データレコードのフィンガープリントは、対応する変数のフィンガープリントおよび他の対応するデータレコードに連結(コンキャティネイト)されることで、単一の連結フィンガープリントにされてもよい。このような連結フィンガープリントは、本明細書では連結(コンキャティネイテッド)ベクトルと呼ばれてもよい。連結ベクトルは、データレコード(例えば、データレコードに関連付けられた属性)およびその対応する変数を、単一の数値ベクトルとして記載してもよい。
【0036】
一例として、データレコード104の第1データレコードは、本明細書に記載されるようにプロセッサによって数値形式に処理されてもよい。第1データレコードは、シーケンスの各要素が数値形式に変換されうる、英数字、単語、語句、記号、などのストリング(例えば、シーケンス)を含んでもよい。シーケンス要素とそれぞれの数値形式との間の辞書マッピングは、データレコード104に関連付けられたデータ型および/または属性タイプに基づき生成されてもよい。シーケンス要素とそれぞれの数値形式との間の辞書マッピングはまた、訓練(トレーニング、学習)に使用されるデータレコード104および/または変数105の一部分に基づき生成されてもよい。辞書は、第1データレコードを整数形式に変換するべく、および/または整数形式のワンホット表現に変換するべく、使用されてもよい。データ処理モジュール106Aは、第1データレコードの数値表現から、特徴(特徴量)を抽出するべく使用され得る訓練可能なエンコーダモデルを含んでもよい。こうした抽出された特徴(特徴量)は、1d(一次元)の数値ベクトル、または本明細書に記載されるような「フィンガープリント」を含んでもよい。変数106の第1変数は、本明細書に記載されるようにプロセッサによって数値フォーマットで処理されてもよい。第1変数は、英数字、単語、語句、記号、などのストリングを含んでもよく、これらは数値形式に変換されてもよい。変数入力値とそれぞれの数値形態との間の辞書マッピングは、変数106に関連付けられたデータ型および/または属性タイプに基づき生成されてもよい。辞書は、第1変数を整数形式に変換するべく、および/または整数形式のワンホット表現に変換するべく、使用されてもよい。データ処理モジュール106Aおよび/または予測モジュール106Bは、第1変数の数値表現から、特徴(例えば、1dベクトル/フィンガープリント)を抽出する訓練可能なエンコーダ層を含んでもよい。第1データレコードのフィンガープリントおよび第1変数のフィンガープリントは、単一の連結フィンガープリント/ベクトルに連結されてもよい。
【0037】
連結ベクトルは、予測モジュール106Bによって生成された予測モデルに渡されてもよい。予測モデルは、本明細書に記載されるように訓練されてもよい。予測モデルは、連結ベクトルを処理することで、予測、スコア、などのうちの1つまたは複数を備えている出力を提供してもよい。予測モデルは、本明細書に記載されるように、ニューラルネットワークの1つまたは複数の最終ブロックを含んでもよい。本明細書に記載される予測モデルおよび/またはエンコーダは、二項、多項式、回帰、および/または他のタスク、を実行するように訓練されてもよく、または場合に応じて再訓練されてもよい。一例として、本明細書に記載される予測モデルおよび/またはエンコーダは、特定のデータレコードおよび/または変数(例えば、特徴)の属性が、特定の結果(例えば、バイナリ予測、信頼スコア、予測スコアなど)を示すかどうかの予測を提供するべく、コンピューティングデバイス106によって使用されてもよい。
【0038】
図2は、例示的な方法200のフローチャートを示す。方法200は、ニューラルネットワークアーキテクチャを使用することで、データ処理モジュール106Aおよび/または予測モジュール106Bによって実行されてもよい。方法200のいくつかのステップは、データ処理モジュール106Aによって実行されてもよく、他のステップは、予測モジュール106Bによって実行されてもよい。
【0039】
方法200で使用されるニューラルネットワークアーキテクチャは、ニューラルネットワークアーキテクチャを含んでもよい。例えば、方法200で使用されるニューラルネットワークアーキテクチャは、データレコード104および変数105の各々のベクトル/フィンガープリントを(例えば、それらの属性に基づき)生成するべく使用され得る、複数のニューラルネットワークブロックおよび/または層を含んでもよい。本明細書に記載されるように、データレコード104のうちの各データレコードの各属性は、対応するニューラルネットワークブロックに関連付けられてもよく、変数105のうちの各変数の各属性は、対応するニューラルネットワークブロックに関連付けられてもよい。データレコード104のサブセットおよび/またはデータレコード104の各々の属性のサブセットは、データレコード104の各々および全てのデータレコードおよび/または属性の代わりに使用されてもよい。データレコード104のサブセットが、対応するニューラルネットワークブロックを有さない1つまたは複数の属性タイプを備えている場合、それらの1つまたは複数の属性タイプに関連付けられたデータレコードは、方法200によって無視されてもよい。このようにして、コンピューティングデバイス106によって生成される所定の予測モデルは、データレコード104の全てを受信してもよいが、対応するニューラルネットワークブロックを有しているデータレコード104のサブセットのみが、方法200によって使用されてもよい。別の例として、データレコード104の全てが、各々が対応するニューラルネットワークブロックを有している属性タイプを備えている場合であっても、データレコード104のサブセットは、方法200によって使用されない場合がある。どのデータレコード、属性タイプ、および/または対応するニューラルネットワークブロック、が方法200によって使用されるかを決定することは、例えば、本明細書に更に記載されるように、選択されたハイパーパラメータセットに基づいたり、および/または属性タイプと対応するニューラルネットワークブロックとの間のキー付き辞書/マッピングに基づいたり、してもよい。
【0040】
方法200は、複数のプロセッサおよび/または複数のトークナイザを用いてもよい。複数のプロセッサは、データレコード104の各々内の英数字、単語、語句、記号、などのストリング(例えば、シーケンス)などの属性値を、対応する数値表現に変換してもよい。複数のトークナイザは、変数105の各々内の英数字、単語、語句、記号、などのストリング(例えば、シーケンス)などの属性値を、対応する数値表現に変換してもよい。説明を容易にするべく、トークナイザを本明細書では「プロセッサ」と呼んでもよい。いくつかの実施例では、複数のプロセッサは、方法200によって使用されなくてもよい。例えば、複数のプロセッサは、数値形式のデータレコード104または変数105のいずれにも使用されなくてもよい。
【0041】
本明細書に記載されるように、複数のデータレコード104は各々、英数字、単語、語句、記号、などのストリング(例えば、シーケンス)などの任意のタイプの属性を含んでもよい。説明のために、方法200は、データレコードに対する2つの属性、すなわち属性「D1」および属性「DN」、ならびに2つの変数属性(可変属性、バリアブルアトリビュート)、すなわち属性「V1」および属性「VN」を処理するものとして、本明細書に記載されており、
図2に示される。しかしながら、方法200は、任意の数のデータレコード属性および/または変数属性を処理してもよいことが理解されるべきである。ステップ202において、データ処理モジュール106Aは、属性D1およびDN、ならびに変数属性(可変属性)V1およびVNを受信してもよい。属性D1およびDNの各々は、バイナリラベル(例えば、「はい」/「いいえ」)および/またはパーセンテージ値(例えば、ラベル107のラベル)などのラベルに関連付けられてもよい。変数属性(可変属性)V1およびVNの各々は、ラベル(例えば、バイナリラベルおよび/またはパーセンテージ値)に関連付けられてもよい。データ処理モジュール106Aは、属性D1およびDNの各々ならびに変数属性V1およびVNの各々、に対する数値表現を決定してもよい。方法200は、複数のプロセッサおよび/または複数のトークナイザを用いてもよい。複数のプロセッサは、データレコード104の属性(例えば、英数字、単語、語句、記号、などのストリング/シーケンス)を、対応する数値表現に変換してもよい。複数のトークナイザは、変数105の属性(例えば、英数字、単語、語句、記号、などのストリング/シーケンス)を、対応する数値表現に変換してもよい。説明を容易にするべく、トークナイザを本明細書では「プロセッサ」と呼んでもよい。方法200は、4つのプロセッサ、すなわち属性D1に対する「D1プロセッサ」、属性DNに対する「DNプロセッサ」、変数属性V1に対する「V1プロセッサ」、および変数属性VNに対する「VNプロセッサ」、を有しているものとして本明細書に記載されており、
図2に示されている。しかし、データ処理モジュール106Aは、任意の数のプロセッサ/トークナイザを含んでいてもよく、方法200は、それらを使用してもよいことが理解されるべきである。
【0042】
図2に示すプロセッサの各々は、ステップ204において、変換方法などの複数のアルゴリズムを利用することで、属性D1およびDNの各々ならびに変数属性V1およびVNの各々を、対応するニューラルネットワークブロックによって処理され得る対応する数値表現に変換してもよい。対応する数値表現は、一次元整数表現、多次元配列表現、それらの組み合わせ、および/または同種のもの、を含んでもよい。属性D1およびDNの各々は、対応するデータ型および/または属性値に基づき、対応するニューラルネットワークブロックに関連付けられてもよい。別の例として、変数属性V1およびVNの各々は、対応するデータ型および/または属性値に基づき、対応するニューラルネットワークブロックに関連付けられてもよい。
【0043】
図3Aは、属性D1および/または属性DNに対する例示的なプロセッサを示す。一例として、方法200に従って処理済みのデータレコード104は、複数の生徒のグレードレコードを含んでもよく、データレコード104の各々は、クラス名に対する「ストリング」データ型を有している複数の属性、および各クラスにおいて達成されたグレードに対する「ストリング」データ型を有している対応する値、を含んでもよい。
図3Aに示すプロセッサは、属性D1およびDNの各々を、対応するニューラルネットワークブロックによって処理され得る対応する数値表現に変換してもよい。
図3Aに示すように、プロセッサは、属性D1に対する「CHEMISTRY」(ケミストリー、化学)クラス名に、数値「1」を割り当ててもよい。すなわち、プロセッサは、「1」の整数値を使用することによって、「CHEMISTRY」のストリング値に対する数値表現を決定してもよい。プロセッサは、データレコードに関連付けられた他の全てのクラス名に対する対応する整数値を、対応する数値表現に決定してもよい。例えば、「MATH」(数学)のストリング値に「2」の整数値が割り当てられてもよく、「STATISTICS」(統計学)のストリング値に「3」の整数値が割り当てられてもよい、などである。また、
図3Aに示すように、プロセッサは、レターグレード(例えば、ストリング値)「A」に、「1」の数値を割り当ててもよい。すなわち、プロセッサは、「1」の整数値を使用することによって、「A」のストリング値に対する数値表現を決定してもよい。プロセッサは、データレコードに関連付けられた他の全てのレターグレードの対応する整数値を、対応する数値表現に決定してもよい。例えば、レターグレード「B」には、「2」の整数値が割り当てられてもよく、レターグレード「C」には、「3」の整数値が割り当てられてもよい。
【0044】
図3Aに示すように、属性D1に対する数値表現は、「1121314253」の一次元整数表現を含んでもよい。プロセッサは、属性D1に対する数値表現を、順序付けた方式で生成してもよく、第1位置が、属性D1に列挙された第1クラス(例えば、「CHEMISTRY」)を表しており、第2位置が、属性D1に列挙された第1クラスに対するグレード(例えば、「A」)を表す。残りの位置は同様に順序付けられてもよい。追加的に、プロセッサは、当業者が理解するように、対(ペア)のリスト(整数位置、整数グレード、例えば「11123」など)のように、別の順序付けられた方式で属性D1に対する数値表現を生成してもよい。
図3Bに示すように、「1121314253」内の第3位置(例えば、「2」の整数値)は、クラス名「MATH」(数学)に対応してもよく、「1121314253」内の第4位置(例えば、「1」の整数値)は、レターグレード「A」に対応してもよい。プロセッサは、データレコード属性D1に関して本明細書に記載されるのとで同様の方式で、属性DNを変換してもよい。例えば、属性DNは、別の年(例えば、別の学年)のデータレコードに関連付けられた生徒に対するグレードの、一次元整数表現を含んでもよい。
【0045】
別の例として、方法200に従って処理済みの変数105は、複数の学生に関連付けられてもよい。変数105は、1つまたは複数の属性を含んでもよい。例えば、および説明の目的で、1つまたは複数の属性は、「ストリング」および/または「整数」データ型を有している対応する値とで共に「ストリング」データ型を有している複数の人口統計(デモグラフィック)属性を含んでもよい。複数の人口統計属性は、例えば、年齢(AGE)、居住地(STATE OF RESIDENCE)、学校都市(CITY OF SCHOOL)、などを含んでもよい。
図4Aの各々は、変数属性V1または変数属性VNなどの、変数属性に対する例示的なプロセッサを示す。
図4Aに示すプロセッサは、「STATE」(ステート、州)の人口統計属性を含みうる変数属性を、対応するニューラルネットワークブロックによって処理され得る対応する数値表現に変換してもよい。プロセッサは、整数値を、「STATE」(州)の人口統計属性に対する各可能なストリング値に関連付けてもよい。例えば、
図4Aに示すように、「AL」のストリング値(例えば、アラバマ)は、「01」の整数値に関連付けられてもよく、「GA」のストリング値(例えば、ジョージア)は、「10」の整数値に関連付けられてもよく、「WY」のストリング値(例えば、ワイオミング)は、「50」の整数値に関連付けられてもよい。
図4Bに示すように、プロセッサは、「STATE:GA」の変数属性を受信するとともに、「10」(例えば、ジョージア州を示す)の数値を割り当ててもよい。変数105に関連付けられた1つまたは複数の属性の各々は、各特定の属性タイプに対応するプロセッサ(例えば、「CITY」(都市)に対するプロセッサ、「AGE」(年齢)に対するプロセッサなど)によって、同様の方式で処理されてもよい。
【0046】
本明細書に記載されるように、データ処理モジュール106Aは、データレコードエンコーダおよび変数エンコーダを含んでもよい。説明の目的で、データ処理モジュール106Aおよび方法200は、4つのエンコーダ、すなわち属性D1に対する「D1エンコーダ」、属性DNに対する「DNエンコーダ」、変数属性V1に対する「V1エンコーダ」、および変数属性VNに対する「VNエンコーダ」、を有しているものとして、本明細書に記載されており、
図2に示される。しかしながら、データ処理モジュール106Aは、任意の数のエンコーダを含んでもよく、方法200はこれを利用してもよいことが理解されるべきである。
図2に示すエンコーダの各々は、本明細書に記載されるようなエンコーダモジュールであってもよく、これは、データ処理モジュール106Aおよび/または予測モジュール100によって利用されるニューラルネットワークのブロックを含んでもよい。ステップ206において、プロセッサの各々は、データレコード104に関連付けられた属性および変数105に関連付けられた属性の対応する数値表現を出力してもよい。例えば、D1プロセッサが、属性D1に対する数値表現(例えば、
図2に示す「D1数値入力」)を出力してもよく、DNプロセッサが、属性DNに対する数値表現(例えば、
図2に示す「DN数値入力」)を出力してもよい。V1プロセッサは、変数属性V1に対する数値表現(例えば、
図2に示す「V1数値入力」)を出力してもよく、VNプロセッサは、変数属性VNに対する数値表現(例えば、
図2に示す「VN数値入力」)を出力してもよい。
【0047】
ステップ208で、D1エンコーダは、属性D1の数値表現を受信してもよく、DNエンコーダは、属性DNの数値表現を受信してもよい。
図2に示すD1エンコーダおよびDNエンコーダは、(例えば、属性D1および/または属性DNのデータ型に基づく)特定のデータ型を有している属性をエンコードするように構成されてもよい。また、ステップ208において、V1エンコーダは、変数属性V1の数値表現を受信してもよく、VNエンコーダは、変数属性VNの数値表現を受信してもよい。
図2に示すV1エンコーダおよびVNエンコーダは、(例えば、変数属性V1および/または変数属性VNのデータ型に基づく)特定のデータ型を有している変数属性をエンコードするように構成されてもよい。
【0048】
ステップ210において、D1エンコーダは、属性D1の数値表現に基づき、属性D1に対するベクトルを生成してもよく、DNエンコーダは、属性DNの数値表現に基づき、属性DNに対するベクトルを生成してもよい。また、ステップ210において、V1エンコーダは、変数属性V1の数値表現に基づき、変数属性V1に対するベクトルを生成してもよく、VNエンコーダは、変数属性VNの数値表現に基づき、変数属性VNに対するベクトルを生成してもよい。データ処理モジュール106Aは、予測モデルに対する複数の特徴(特徴量)を決定してもよい。複数の特徴は、データレコード104(例えば、D1およびDN)のうちの1つまたは複数のうちの1つまたは複数の属性を含んでもよい。別の例として、複数の特徴は、変数105(例えば、V1およびVN)のうちの1つまたは複数のうちの1つまたは複数の属性を含んでもよい。
【0049】
ステップ212において、データ処理モジュール106Aは、連結(コンキャティネイト)ベクトルを生成してもよい。例えば、データ処理モジュール106Aは、上述の予測モデルの複数の特徴(特徴量)に基づき、連結ベクトルを生成してもよい(例えば、属性D1に対するベクトル、属性DNに対するベクトル、変数属性V1に対するベクトル、および/または変数属性VNに対するベクトル、に基づき)。連結ベクトルは、D1、DN、V1、およびVN、の各々について上述したラベル(例えば、バイナリラベルおよび/またはパーセンテージ値)を示してもよい。
【0050】
ステップ214において、データ処理モジュール106Aは、連結ベクトルおよび/またはエンコーダD1、DN、V1、およびVN、を予測モジュール106Bの最終機械学習モデル構成要素(最終的な機械学習モデルコンポーネント)に提供してもよい。予測モジュール106Bの最終機械学習モデル構成要素は、方法200で使用されるニューラルネットワークアーキテクチャの最終ニューラルネットワークブロックおよび/または層を含んでもよい。予測モジュール106Bは、最終機械学習モデル構成要素およびエンコーダD1、DN、V1、およびVN、を訓練してもよい。例えば、予測モジュール106Bは、ステップ212において生成された連結ベクトルに基づき、最終機械学習モデル構成要素を訓練してもよい。予測モジュール106Bはまた、ステップ212において生成された連結ベクトルに基づき、
図2に示すエンコーダの各々を訓練してもよい。例えば、データレコードは、データ型(例えば、ストリング)を含んでもよく、属性D1およびDNの各々は、対応する属性データ型(例えば、クラス/レターグレードに対するストリング)を含んでもよい。D1エンコーダおよびDNエンコーダは、データ型および対応する属性データ型に基づき、訓練されてもよい。D1エンコーダおよびDNエンコーダは、訓練されると、新規/見てない(ニュー/アンシーン)データレコード属性(例えば、グレードレコード)を、対応する数値形式および/または対応するベクトル表現(例えば、フィンガープリント)に変換することが可能にされていてもよい。別の例として、変数属性V1およびVNの各々は、データ型(例えば、ストリング)を含んでもよい。V1エンコーダおよびVNエンコーダは、データ型に基づき訓練されてもよい。V1エンコーダおよびVNエンコーダは、訓練されると、新しい/見えない変数属性(例えば、人口統計属性)を、対応する数値形式および/または対応するベクトル表現(例えば、フィンガープリント)に変換することが可能にされていてもよい。
【0051】
ステップ216において、予測モジュール106Bは、本明細書において「予測モデル」と呼ばれる、方法200で使用される機械学習モデル(例えば、ニューラルネットワークアーキテクチャ)を出力(例えば、保存)してもよい。また、ステップ216において、予測モジュール106Bは、訓練済みエンコーダD1、DN、V1、およびVN、を出力(例えば、保存)してもよい。予測モデルおよび/または訓練済みエンコーダは、二項予測、多項式予測、変分オートエンコーダ、それらの組み合わせ、および/または類似のもの、を提供するなど、予測および/または生成データ分析の様々なものを提供することが可能にされていてもよい。予測モジュール106Bによって訓練された予測モデルは、予測、スコア、それらの組み合わせ、および/または類似のもの、などの出力を生成してもよい。予測モデルの出力は、D1、DN、V1、およびVN(例えば、バイナリラベルおよび/またはパーセンテージ値)、に関連付けられたラベルに対応するデータ型を含んでもよい。予測モデルを訓練するとき、予測モジュール106Bは、本明細書に更に記載される損失関数を最小化してもよい。出力は、例えば、訓練中に使用されるラベルに関連付けられた次元の数に対応する次元の数を含んでもよい。別の実施例として、出力は、出力のキー付き辞書を含んでもよい。予測モデルを訓練するときに、損失関数が使用されてもよく、最小化ルーチンを使用することで、損失関数を最小化するべく、予測モデルの1つまたは複数のパラメータを調整してもよい。更に、予測モデルを訓練するとき、フィッティング方法が使用されてもよい。フィッティング方法は、D1、DN、V1、および/またはVN、に関連付けられたデータ型に対応するキーを有している辞書を受信してもよい。フィッティング方法はまた、D1、DN、V1、およびVN、に関連付けられたラベル(例えば、バイナリラベルおよび/またはパーセンテージ値)を受信してもよい。
【0052】
方法200に従って訓練された予測モデルは、データレコードおよび/または関連付けられた属性に関連付けられた予測またはスコアのうちの1つまたは複数を提供してもよい。一実施例として、コンピューティングデバイス106は、以前に見てないデータレコード(第1データレコード)および以前に見てない複数の変数(複数の第1変数)を受信してもよい。データ処理モジュール106Aは、第1データレコードに関連付けられた1つまたは複数の属性の数値表現を決定してもよい。例えば、データ処理モジュール106Aは、予測モデルを訓練するべく使用されたデータレコード属性D1およびDNに関して上述したのとで同様の方式で、第1データレコードに関連付けられた1つまたは複数の属性に対する数値表現を決定してもよい。データ処理モジュール106Aは、複数の第1変数の各変数属性に対する数値表現を決定してもよい。例えば、データ処理モジュール106Aは、予測モデルを訓練するべく使用された変数属性V1およびVNに関して上述したのとで同様の方式で、各変数属性に対する数値表現を決定してもよい。データ処理モジュール106Aは、複数の第1訓練済みエンコーダモジュールを使用することで、第1データレコードに関連付けられた1つまたは複数の属性の各々に対するベクトルを決定してもよい。例えば、データ処理モジュール106Aは、データレコード属性D1およびDNに対するベクトルを決定するときに、予測モデルで訓練された上述の訓練済みエンコーダD1およびDNを使用してもよい。データ処理モジュール106Aは、複数の第1訓練済みエンコーダモジュールを使用することで、データレコードに対する数値表現に基づき、第1データレコードに関連付けられた1つまたは複数の属性に対するベクトルを決定してもよい。
【0053】
データ処理モジュール106Aは、複数の第2訓練済みエンコーダモジュールを使用することで、複数の第1変数の各変数属性に対するベクトルを決定してもよい。例えば、データ処理モジュール106Aは、複数の第1変数の各変数属性に対するベクトルを決定するときに、予測モデルで訓練された上述の訓練済みエンコーダV1およびVNを使用してもよい。データ処理モジュール106Aは、複数の第2訓練済みエンコーダモジュールを使用することで、各変数属性に対する数値表現に基づき、複数の第1変数の各変数属性に対するベクトルを決定してもよい。
【0054】
データ処理モジュール106Aは、第1データレコードに関連付けられた1つまたは複数の属性に対するベクトル、および複数の第1変数の各変数属性に対するベクトル、に基づき連結ベクトルを生成してもよい。予測モジュール106Bは、上述の方法200に従って訓練された予測モデルを使用することで、第1データレコードに関連付けられた予測またはスコアのうちの1つまたは複数を決定してもよい。予測モジュール106Bは、連結ベクトルに基づき、第1データレコードに関連付けられた予測またはスコアのうちの1つまたは複数を決定してもよい。スコアは、第1データレコードおよび変数属性に関連付けられた1つまたは複数の属性に基づき、第1ラベルが第1データレコードに適用される可能性を示してもよい。例えば、第1ラベルは、「Likely to Attend Ivy College」および「Not Likely to Attend an Ivy League College」を備えているラベル107のバイナリラベルであってもよい。予測は、第1データレコードに関連付けられた生徒がアイビーリーグカレッジ(例えば、第1ラベルの「Likely to Attend Ivy College」が適用されるパーセント表示)に通う可能性(例えば、パーセンテージ)を示してもよい。
【0055】
本明細書に記載されるように、予測モジュール106Bは、連結ベクトルに基づき、第1データレコードに関連付けられた予測またはスコアのうちの1つまたは複数を決定してもよい。予測および/またはスコアは、第1データレコードに関連付けられた1つまたは複数の属性、および第1データレコードに関連付けられた1つまたは複数の変数、を使用することで(例えば、第1データレコードに関連付けられた全ての既知のデータまたはそれよりも少ない既知のデータを使用することで)決定されてもよい。学年レコードおよび人口統計属性に関する上記の実施例を用いて続けると、予測および/またはスコアは、特定の生徒(例えば、全学年)のデータレコードに関連付けられた全てのグレードレコード、およびその特定の生徒に関連付けられた全ての人口統計属性、を使用することで決定されてもよい。他の実施例では、予測および/またはスコアは、全てのグレードレコードよりも少ない、および/または人口統計属性よりも少ない、ものを使用することで決定されてもよい。予測モジュール106Bは、第1データレコードに関連付けられた属性の全ておよび第1データレコードに関連付けられた変数の全てに基づき、第1予測および/または第1スコアを決定してもよく、予測モジュール106Bは、第1データレコードに関連付けられた属性および/または変数の部分に基づき、第2予測および/または第2スコアを決定してもよい。
【0056】
本方法およびシステムの機能性は、データレコード104であるグレードレコードおよび変数105である人口統計属性の実施例を使用することで本明細書に記載されているが、データレコード104および変数105は、この実施例に限定されないことが理解されるべきである。本明細書に記載される方法、システム、および深層学習モデル、例えば、予測モデル、システム100、方法200、は数値的に表現され得る(例えば、数値的に表される)任意のタイプのデータレコードおよび任意のタイプの変数を分析するように構成されてもよい。例えば、データレコード104および変数105は、データの1つまたは複数のストリング(例えば、シーケンス)、データの1つまたは複数の整数、データの1つまたは複数の文字、それらの組み合わせ、および/または同種のもの、を含んでもよい。
【0057】
本明細書に記載されるグレードレコードに加えて、データレコード104は、販売データ、在庫データ、遺伝的データ、スポーツデータ、株式データ、音楽データ、気象データ、または、当業者が数値的に表現され得る(例えば、数値的に表される)と認識することができる任意の他のデータ、を含んでもよく、および/またはこれらに関連してもよい。更に、本明細書に記載される人口統計属性に加えて、変数105は、製品データ、企業データ、生物学的データ、統計データ、市場データ、機器データ、地質データ、または当業者が数値的に表現され得る(例えば、数値で表される)と認識することができる任意の他のデータ、を含んでもよく、および/またはこれらに関連してもよい。更に、グレードレコードの実施例(例えば、「Likely to Attend Ivy College」対「Not Likely to Attend an Ivy League College」)に関して上述したバイナリラベルに加えて、本明細書に記載されるラベルは、パーセンテージ値、対応するデータレコードおよび/または変数に関連付けられた1つまたは複数の属性、1つまたは複数の属性に対する1つまたは複数の値、または当業者が認識することができるような任意の他のラベル、を含んでもよい。
【0058】
本明細書に更に記載されるように、訓練フェーズ中、データレコード104および変数105のうちの1つまたは複数の属性(例えば、値)は、本明細書に記載される深層学習モデル(例えば、予測モデル)によって処理されることで、各々がどのように、それぞれ、また他の属性とで組み合わせることで対応するラベルに相関するかを決定してもよい。訓練フェーズに続いて、本明細書に記載される深層学習モデル(例えば、訓練済み予測モデル)は、新しい/見てないデータレコードおよび関連付けられた変数を受信するとともに、ラベルが新しい/見てないデータレコードおよび関連付けられた変数に適用されるかどうかを決定してもよい。
【0059】
ここで
図5を参照すると、例示的な方法500が示されている。方法500は、本明細書に記載される予測モジュール106Bによって実行されてもよい。予測モジュール106Bは、機械学習(ML)技術を使用することで、訓練モジュール520による1つまたは複数の訓練データセット510の分析に基づき、データレコードおよび1つまたは複数の対応する変数に関連付けられた予測またはスコアのうちの1つまたは複数を提供するように構成された少なくとも1つの機械学習MLモジュール530を訓練するように構成されてもよい。予測モジュール106Bは、1つまたは複数のハイパーパラメータ505およびモデルアーキテクチャ503を使用することで、機械学習MLモジュール530を訓練および構成するように構成されてもよい。モデルアーキテクチャ503は、方法200のステップ216において予測モデル出力を含んでもよい(例えば、方法200で使用されるニューラルネットワークアーキテクチャ)。ハイパーパラメータ505は、ニューラルネットワーク層/ブロックの数、ニューラルネットワーク層内のニューラルネットワークフィルタの数、などを含んでもよい。ハイパーパラメータ505の各セットは、モデルアーキテクチャ503を構築するべく使用されてもよく、ハイパーパラメータ505の各セットの要素は、モデルアーキテクチャ503に含まれる入力(例えば、データレコード属性/変数)の数を含んでもよい。例えば、グレードレコードおよび人口統計属性に関する上記の実施例を用いて続けると、ハイパーパラメータ505の第1セットの要素は、特定の生徒(例えば、全学年)のデータレコードに関連付けられた全てのグレードレコード(例えば、データレコード属性)、および/またはその特定の生徒に関連付けられた全ての人口統計属性(例えば、変数属性)、を含んでもよい。ハイパーパラメータ505の第2セットの要素は、特定の生徒に対する1学年のみに対するグレードレコード(例えば、データレコード属性)、および/またはその特定の生徒に関連付けられた人口統計属性(例えば、変数属性)、を含んでもよい。言い換えれば、ハイパーパラメータ505の各セットの要素は、データレコードおよび変数の対応する属性のうちのわずか1つまたは全てほど多くのものが、機械学習MLモジュール530を訓練するべく使用されるモデルアーキテクチャ503を構築するべく使用されることを示してもよい。
【0060】
訓練データセット510は、1つまたは複数の入力データレコード(例えば、データレコード104)と、1つまたは複数のラベル107(例えば、バイナリラベル(「はい」/「いいえ」)および/またはパーセンテージ値)に関連付けられた1つまたは複数の入力変数(例えば、変数105)と、を含んでもよい。所与のレコードおよび/または所与の変数のラベルは、ラベルが所与のレコードに適用される可能性を示してもよい。1つまたは複数のデータレコード104および1つまたは複数の変数105を組み合わせることで、訓練データセット510をもたらしてもよい。データレコード104および/または変数105のサブセットは、訓練データセット510または試験データセットにランダムに割り当てられてもよい。一部の実装では、訓練データセットまたは試験データセットへのデータの割り当ては、完全にランダムでなくてもよい。この場合、1つまたは複数の基準が、割り当て中に使用されてもよい。一般に、任意の好適な方法を使用することで、データを訓練データセットまたは試験データセットに割り当ててもよい。一方で、「はい」および「いいえ」のラベルの分布が、訓練データセットおよび試験データセットにおいていくらか類似していることを保証してもよい。
【0061】
訓練モジュール520は、1つまたは複数の特徴選択技術によって、訓練データセット510における複数のデータレコード(例えば、「はい」としてラベル付けされた)から特徴セットを抽出することによって、機械学習MLモジュール530を訓練してもよい。訓練モジュール520は、正の例(例えば、「はい」であるとラベル付けされた)の統計上有意な特徴と、および負の例(例えば、「いいえ」であるとラベル付けされた)の統計上有意な特徴と、を備えている訓練データセット510から、特徴セットを抽出することによって、機械学習MLモジュール530を訓練してもよい。
【0062】
訓練モジュール520は、様々な方法で、訓練データセット510から特徴セットを抽出してもよい。訓練モジュール520は、各回で異なる特徴抽出技術を使用することで、特徴抽出を複数回実行してもよい。一実施例では、異なる技術を使用することで生成される特徴セットは、各々が異なる機械学習ベース分類モデル540A~540Nを生成するべく、使用されてもよい。例えば、最も高い品質の測定基準を伴う特徴セットが、訓練における使用のために選択されてもよい。訓練モジュール520は、特徴セットを使用することで、特定のラベルが、その対応する1つまたは複数の変数に基づき、新しい/見てないデータレコードに適用されるかどうかを示すように構成されている1つまたは複数の機械学習ベース分類モデル540A~540Nを構築してもよい。
【0063】
訓練データセット510を分析することで、訓練データセット510における特徴と「はい」/「いいえ」のラベルの間の任意の依存性、関連性、および/または相関を決定してもよい。識別された相関は、異なる「はい」/「いいえ」の標識に関連付けられた特徴のリストの形式を有してもよい。本明細書で使用される場合、「特徴」という用語は、データのある項目が、1つまたは複数の特定のカテゴリー内に存在するかどうかを決定するべく使用され得るデータの項目の任意の特徴を指してもよい。特徴選択技術は、1つまたは複数の特徴選択ルールを含んでもよい。1つまたは複数の特徴選択ルールは、特徴発生ルールを含んでもよい。特徴発生ルールは、訓練データセット510におけるどの特徴が閾値回数にわたって発生するかを決定することと、閾値を満たすそれらの特徴を候補特徴として識別することと、を含んでもよい。
【0064】
単一の特徴選択ルールが、特徴を選択するべく適用されてもよいし、複数の特徴選択ルールが、特徴を選択するべく適用されてもよい。特徴選択ルールは、カスケード方式で適用されてもよく、この際、特徴選択ルールは、特定の順序で適用されており、以前のルールの結果に適用される。例えば、特徴発生ルールは、訓練データセット510に適用されることで、第1特徴のリストを生成してもよい。候補特徴の最終リストは、1つまたは複数の候補特徴群(例えば、ラベルが適用されるか、適用されないかを予測するべく使用され得る特徴の群)を決定するための追加的な特徴選択技術によって分析されてもよい。任意の好適なコンピューティング技術を使用することで、フィルタ方法、ラッパー方法、および/または埋め込み方法などの任意の特徴選択技術を使用することで、候補特徴群を識別してもよい。1つまたは複数の候補特徴群は、フィルタ方法に従って選択されてもよい。フィルタ方法は、例えば、ピアソンの相関、線形判別分析、分散分析(ANOVA)、カイ二乗、それらの組み合わせ、などを備えている。フィルタ方法に従った特徴の選択は、任意の機械学習アルゴリズムから独立している。代わりに、特徴は、転帰変数(例えば、「はい」/「いいえ」)との相関について、様々な統計検定におけるスコアに基づき選択され得る。
【0065】
別の例として、1つまたは複数の候補特徴群は、ラッパー方法に従って選択されてもよい。ラッパー方法は、特徴のサブセットを使用しており、特徴のサブセットを使用することで機械学習モデルを訓練するように構成されてもよい。以前のモデルから引き出された推論に基づき、特徴は、サブセットから追加および/または削除されてもよい。ラッパー方法は、例えば、フォワード特徴選択、バックワード特徴削減、再帰的特徴削減、それらの組み合わせなどを備えている。一実施例として、フォワード特徴選択を使用することで、1つまたは複数の候補特徴群を識別してもよい。フォワード特徴選択は、機械学習モデルにおける特徴なしに始まる反復方法である。各反復において、モデルを最良に改善する特徴が、新たな変数の追加によって機械学習モデルの性能が改善されなくなるまで加えられる。一実施例として、バックワード削減を使用することで、1つまたは複数の候補特徴群を識別してもよい。バックワード削減は、機械学習モデルにおける全ての特徴で始まる反復方法である。各反復では、最下位の特徴が、特徴の除去時に改善が観察されなくなるまで除去される。再帰的特徴削減を使用することで、1つまたは複数の候補特徴群を識別してもよい。再帰的特徴削減は、性能が最良である特徴サブセットを見出すことを目指す貪欲最適化アルゴリズムである。再帰的特徴削減によって、モデルが反復的に作成されており、各反復で最良または最悪の性能の特徴を別にしておく。再帰的特徴削減によって、全ての特徴が消耗するまで、特徴が残っている次のモデルが構築される。再帰的特徴削減によって、次いで、それらの削減の順序に基づき特徴がランク付けされる。
【0066】
更なる例として、1つまたは複数の候補特徴群は、埋め込み方法によって選択されてもよい。埋め込み方法によって、フィルタ方法とラッパー方法の質が組み合わされる。埋め込み方法は、例えば、過学習を低下させるためのペナルティ機能を実装する、最小絶対収縮および選択演算子(LASSO)およびリッジ回帰を備えている。例えば、LASSO回帰によって、係数の大きさの絶対値に相当するペナルティを加えるL1正則化が実行されており、リッジ回帰によって、係数の大きさの二乗に相当するペナルティを加えるL2正則化が実行される。
【0067】
訓練モジュール520が特徴セットを生成した後、訓練モジュール520は、特徴セットに基づき、1つまたは複数の機械学習ベース分類モデル540A~540Nを生成してもよい。機械学習ベース分類モデルは、機械学習技術を使用することで生成される、データ分類のための複雑な数学的モデルを指してもよい。一例では、機械学習ベース分類モデル740は、境界特徴を表すサポートベクトルのマップを含んでもよい。この例では、境界特徴は、或る特徴セット内の最高ランクの特徴から選択される、および/またはそれらを表してもよい。
【0068】
訓練モジュール420は、各分類カテゴリー(例えば、「はい」、「いいえ」)に対して1つまたは複数の機械学習ベース分類モデル540A~540Nを構築するための訓練データセット510から抽出された特徴セットを使用してもよい。いくつかの実施例では、機械学習ベース分類モデル540A~540Nを、単一の機械学習ベース分類モデル740に組み合わせられてもよい。同様に、機械学習MLモジュール530は、単一もしくは複数の機械学習ベース分類モデル740を含有している単一の分類器、および/または単一もしくは複数の機械学習ベース分類モデル740を含有している複数の分類器を表してもよい。
【0069】
抽出された特徴(例えば、1つまたは複数の候補特徴)を、機械学習アプローチ、例えば判別分析、決定木、最近傍(NN)アルゴリズム(例えば、k-NNモデル、レプリケーターNNモデルなど)、統計アルゴリズム(例えば、ベイジアンネットワークなど)、クラスタリングアルゴリズム(例えば、k平均値、平均値シフトなど)、ニューラルネットワーク(例えば、リザーバネットワーク、人工ニューラルネットワークなど)、サポートベクトル機械(SVM)、ロジスティック回帰アルゴリズム、線形回帰アルゴリズム、マルコフモデルまたはチェーン、主成分分析(PCA)(例えば、線形モデルについて)、多層パーセプトロン(MLP)ANN(例えば、非線形モデルについて)、リザーバネットワークの複製(例えば、非線形モデルについて、通常は時系列について)、ランダムフォレスト分類、それらの組み合わせおよび/または同様のものを使用することで訓練済み分類モデルにおいて組み合わせてもよい。得られた機械学習MLモジュール530は、各候補特徴に対する決定ルールまたはマッピングを含んでもよい。
【0070】
一実施形態では、訓練モジュール520は、畳み込みニューラルネットワーク(CNN)として機械学習ベース分類モデル740を訓練してもよい。CNNは、少なくとも1つの畳み込み特徴層および最終の分類層(softmax)につながる3つの全結合層を含んでもよい。最終の分類層を最終的に適用して、本技術分野で公知のsoftmax関数を使用することで、全結合層の出力を組み合わせてもよい。
【0071】
候補特徴および機械学習MLモジュール530を使用することで、ラベル(例えば、アイビーリーグカレッジに通う)が、試験データセットにおけるデータレコードに適用されるかどうかを予測するべく使用されてもよい。一実施例では、試験データセット内の各データレコードに対する結果は、1つまたは複数の対応する変数(例えば、人口統計属性)が、試験データセットのデータレコードに適用されるラベルを示す可能性または確率に対応する信頼レベルを備えている。信頼レベルは、0~1の値であってもよく、また、試験データセット内のデータレコードが、1つまたは複数の対応する変数(例えば、人口統計属性)に関して、「はい」/「いいえ」ステータスに属する可能性を表してもよい。一実施例では、2つのステータス(例えば、「はい」および「いいえ」)があるときに、信頼レベルは、値pに対応してもよく、これは、試験データセット内の特定のデータレコードが、第1ステータス(例えば、「はい」)に属する可能性を指す。この場合では、値1-pは、試験データセット内の特定のデータレコードが、第2ステータス(例えば、「いいえ」)に属する可能性を指してもよい。一般に、複数の信頼レベルは、試験データセット内の各データレコードに対して、かつ3つ以上のラベルがあるときに、各候補特徴に対して提供されてもよい。最も高性能の候補特徴は、各データレコードに対して取得された結果を、各データレコードに対する既知の「はい」/「いいえ」ラベルとで比較することによって決定されてもよい。一般に、最も高性能の候補特徴は、既知の「はい」/「いいえ」ラベルと密接に一致する結果を有しているであろう。最も高性能の候補特徴を使用することで、1つまたは複数の対応する変数に関して、データレコードの「はい」/「いいえ」ラベルを予測してもよい。例えば、新しいデータレコードが、決定/受信されてもよい。新しいデータレコードは、機械学習MLモジュール530に提供されてもよく、これは、最も高性能の候補特徴に基づき、ラベルを、新しいデータレコードに適用するか、または新しいデータレコードに適用しないかのいずれかに分類してもよい。
【0072】
ここで
図6を参照すると、訓練モジュール520を使用することで、機械学習MLモジュール530を生成するための例示的な訓練方法600を例示するフローチャートが示されている。訓練モジュール520によって、教師あり、教師なしており、および/または半教師あり(例えば、補強ベース)の機械学習ベース分類モデル540A~740Nを実装することができる。訓練モジュール520は、データ処理モジュール106Aおよび/または予測モジュール106Bを含んでもよい。
図6に例示する方法600は、教師あり学習方法の一実施例であり、訓練方法のこの実施例の変形を以下で論じるが、他の訓練方法が、教師なしおよび/または半教師ありの機械学習モデルを訓練するべく類似的に実装され得る。
【0073】
訓練方法600は、ステップ610において、データ処理モジュール106Aによって処理済みの第1データレコードを決定(例えば、アクセス、受信、取り出し、など)してもよい。第1データレコードは、データレコード104などのラベル付きデータレコードのセットを含んでもよい。ラベルは、ラベル(例えば、「はい」または「いいえ」)および1つまたは複数の対応する変数、例えば、1つまたは複数の変数105に対応してもよい。訓練方法600は、ステップ620において、訓練データセットおよび試験データセットを生成してもよい。訓練データセットおよび試験データセットは、ラベル付けされたデータレコードを、訓練データセットまたは試験データセットのいずれかにランダムに割り当てることによって、生成されてもよい。いくつかの実装では、訓練または試験サンプルとしてラベル付けされたデータレコードの割り当ては、完全にランダムでなくてもよい。一実施例として、ラベル付けされたデータレコードの大部分を使用することで、訓練データセットを生成してもよい。例えば、ラベル付けされたデータレコードの55%を使用することで、訓練データセットを生成するべく使用されてもよいし、25%を使用することで、試験データセットを生成してもよい。
【0074】
訓練方法600によって、ステップ630において、1つまたは複数の機械学習モデルを訓練してもよい。一実施例では、機械学習モデルは、教師あり学習を使用することで訓練されてもよい。別の実施例では、教師なし学習および半教師ありを備えている、他の機械学習技術が用いられてもよい。ステップ630において訓練された機械学習モデルは、解決されるべき問題および/または訓練データセットで利用可能なデータに応じて、異なる基準に基づき選択されてもよい。例えば、機械学習分類器は、異なる程度のバイアスを受け得る。したがって、2つ以上の機械学習モデルが、ステップ630において訓練され得るとともに、ステップ640において最適化、改善、および交差検証、され得る。
【0075】
例えば、損失関数は、ステップ630において、機械学習モデルを訓練するときに使用されてもよい。損失関数は、真のラベルおよび予測出力を入力として取るとともに、損失関数は単一の数値出力を生成してもよい。損失を最小化するべく、機械学習モデルの学習可能なパラメータの一部または全て(例えば、1つまたは複数の学習可能なニューラルネットワークパラメータ)に、1つまたは複数の最小化技術が適用されてもよい。例えば、1つまたは複数の最小化技術は、訓練済みエンコーダモジュール、ニューラルネットワークブロック、ニューラルネットワーク層、などの1つまたは複数の学習可能なパラメータに適用されなくてもよい。この処理は、いくつかの停止条件が満たされるまで、例えば、一定の数の訓練データセットのリピート、および/または一部の反復数について、抜き出し検証セットの損失レベルの減少が止まるまで継続的に適用されうる。これらの学習可能なパラメータを調整することに加えて、機械学習モデルのモデルアーキテクチャ503を定義するハイパーパラメータ505のうちの1つまたは複数が選択されてもよい。1つまたは複数のハイパーパラメータ505は、ニューラルネットワーク層の数、ニューラルネットワーク層内のニューラルネットワークフィルタの数、などを含んでもよい。例えば、上で論じたように、ハイパーパラメータ505の各セットは、モデルアーキテクチャ503を構築するべく使用されてもよく、ハイパーパラメータ505の各セットの要素は、モデルアーキテクチャ503に含める入力数(例えば、データレコード属性/変数)を含んでもよい。入力数を備えているハイパーパラメータ505の各セットの要素は、方法200に関して本明細書に記載されるような「複数の特徴(特徴量)」とみなされてもよい。すなわち、ステップ640において実行される交差検証および最適化は、特徴(特徴量)選択工程とみなされてもよい。例えば、グレードレコードおよび人口統計属性に関する上記の例を用いて続けると、ハイパーパラメータ505の第1セットの要素は、特定の生徒(例えば、全学年)に対するデータレコードに関連付けられた全てのグレードレコード(例えば、データレコードの属性)、および/またはその特定の生徒に関連付けられた全ての人口統計属性(例えば、変数属性)、を含んでもよい。ハイパーパラメータ505の第2セットの要素は、特定の生徒に対する1学年のみに対するグレードレコード(例えば、データレコード属性)、および/またはその特定の生徒に関連付けられた人口統計属性(例えば、変数属性)、を含んでもよい。最良のハイパーパラメータ505を選択するべく、ステップ640において、機械学習モデルは、(例えば、モデルアーキテクチャ503に対する入力数を備えているハイパーパラメータ505の各セットの要素に基づき)訓練データのいくつかの部分を使用することで、機械学習モデルを訓練することによって最適化されてもよい。最適化は、訓練データの抜き出し検証部分に基づき停止されてもよい。残りの訓練データを使用することで、交差検証してもよい。この処理は、一定の回数リピートされてもよく、機械学習モデルは、毎回、および選択される(例えば、選ばれた入力数および特定の入力に基づき)ハイパーパラメータ505の各セットに対して、特定のレベルの性能に対して評価されてもよい。
【0076】
ハイパーパラメータ505の最良のセットは、訓練データの「スプリット」の最良の平均評価を有しているハイパーパラメータ505のうちの1つまたは複数を選ぶことによって選択されてもよい。交差検証オブジェクトを使用することで、本明細書に記載される方法200の新しいランダムに初期化された反復を作成する関数を提供してもよい。この関数は、各新しいデータスプリット、および各新しいハイパーパラメータ505のセットに対して呼び出されてもよい。交差検証ルーチンは、入力(例えば、属性タイプ)内に存在するデータのタイプを決定してもよく、選ばれた量のデータ(例えば、或る数の属性)は、スプリットされることで、検証データセットとして使用されてもよい。データスプリットのタイプは、選ばれた回数だけデータをパーティショニングするように選ばれてもよい。各データパーティションに対して、ハイパーパラメータ505のセットが使用されてもよく、ハイパーパラメータ505のセットに基づき、新しいモデルアーキテクチャ503を備えている新しい機械学習モデルが初期化および訓練されてもよい。各訓練の繰り返しの後、機械学習モデルは、その特定のスプリットに対してデータの試験部分について評価されてもよい。評価は、機械学習モデルの出力および真の出力ラベルに依存し得る、単一の数値を返してもよい。各スプリットおよびハイパーパラメータセットに対する評価は、表に記憶されてもよく、この表は、ハイパーパラメータ505の最適なセットを選択するべく使用されてもよい。ハイパーパラメータ505の最適なセットは、全てのスプリットにわたって最も高い平均評価スコアを有しているハイパーパラメータ505のうちの1つまたは複数を含んでもよい。
【0077】
訓練方法600は、ステップ650において予測モデルを構築するべく、1つまたは複数の機械学習モデルを選択してもよい。予測モデルは、試験データセットを使用することで評価されてもよい。予測モデルは、試験データセットを分析するとともに、ステップ660において予測またはスコアのうちの1つまたは複数を生成してもよい。1つまたは複数の予測および/またはスコアは、ステップ670で評価されることで、所望の正解率レベルを達成したかを判定(決定し)てもよい。予測モデルの性能は、予測モデルによって示される複数のデータ点の多数の真陽性、偽陽性、真陰性、および/または偽陰性、の分類に基づき、多数の方法で評価されてもよい。
【0078】
例えば、予測モデルの偽陽性は、現実にはラベルが適用されないときに、所与のデータレコードにラベルが適用されるものとして予測モデルが間違って分類した回数を指してもよい。逆に、予測モデルの偽陰性は、実際にはそのラベルが適用されるときに、ラベルが適用されないものとして機械学習モデルが示した回数を指してもよい。真陰性および真陽性は、適用されるか適用されないとして、1つまたは複数のラベルを予測モデルが正しく分類した回数を指してもよい。これらの測定に関連するのは、再現率および適合率の概念である。一般に、再現率とは、真陽性および偽陰性の合計に対する、真陽性の比率を指しており、これは、予測モデルの感度を定量化する。同様に、適合率は、真陽性と偽陽性との合計に対する、真陽性の比率を指す。このような所望の正解率レベルに達するときに、訓練フェーズが終了するとともに、予測モデル(例えば、機械学習MLモジュール530)は、ステップ680において出力されてもよい。しかしながら、所望の正解率レベルに達していないとき、訓練方法600のその後の反復は、例えば、データレコードの大きな収集を考慮するなどの変動を伴って、ステップ610において開始および実行されてもよい。
【0079】
図7は、ネットワーク704を通じて互いに接続されたコンピューティングデバイス701(例えば、コンピューティングデバイス106)とサーバ702と、の非限定的な例を備えている環境700を描写するブロック図である。一態様では、本明細書において記載されるいずれの方法のいくつかまたは全ての工程も、コンピューティングデバイス701および/またはサーバ702によって実行されてもよい。コンピューティングデバイス701は、データレコード104、訓練データ510(例えば、ラベル付けされたデータレコード)、データ処理モジュール106A、予測モジュール106B、などのうちの1つまたは複数を記憶するように構成された1つまたは複数のコンピュータを含んでもよい。サーバ702は、データレコード104を記憶するように構成された1つまたは複数のコンピュータを備えていることができる。複数のサーバ702は、ネットワーク704を通じてコンピューティングデバイス701に通信することができる。一実施形態では、コンピューティングデバイス701は、本明細書に記載される方法によって生成される訓練データ711のためのリポジトリを含んでもよい。
【0080】
コンピューティングデバイス701およびサーバ702は、ハードウェアアーキテクチャに関して、一般にプロセッサ708、メモリシステム710、入力/出力(I/O)インタフェース712、およびネットワークインタフェース714、を備えているデジタルコンピュータであり得る。これらの構成要素(908、710、712、および714)は、ローカルインタフェース716を介して通信可能に結合される。ローカルインタフェース716は、例えば、当該技術分野で公知の1つまたは複数のバスまたは他の有線もしくは無線接続であり得るが、これらに限定されない。ローカルインタフェース716は、コントローラ、バッファ(キャッシュ)、ドライバ、リピータ、およびレシーバ、などの通信を可能にするための追加の要素を有し得るが、簡略化のために省略されている。更に、ローカルインタフェースは、前述の構成要素同士間の適切な通信を可能にするためのアドレス、制御、および/またはデータ接続、を含んでもよい。
【0081】
プロセッサ708は、特にメモリシステム710に記憶されるソフトウェアを実行するためのハードウェアデバイスであり得る。プロセッサ708は、任意のカスタム作製または市販のプロセッサ、中央処理ユニット(CPU)、コンピューティングデバイス701およびサーバ702に関連付けられたいくつかのプロセッサの中の補助プロセッサ、半導体ベースのマイクロプロセッサ(マイクロチップもしくはチップセットの形式)、またはソフトウェア命令を実行するための一般に任意のデバイス、であり得る。コンピューティングデバイス701および/またはサーバ702が動作中であるときに、プロセッサ708は、メモリシステム710内に記憶されているソフトウェアを実行することで、メモリシステム710へのおよびそこからのデータを通信しており、ソフトウェアに従って、コンピューティングデバイス701およびサーバ702の動作を一般に制御するように構成され得る。
【0082】
I/Oインタフェース712を使用することで、1つまたは複数のデバイスまたは構成要素からユーザ入力を受信する、および/またはそれらへとシステム出力を提供する、ことができる。ユーザ入力は、例えば、キーボードおよび/またはマウスを介して提供され得る。システム出力は、表示デバイスおよびプリンタ(図示せず)を介して提供され得る。I/Oインタフェース792は、例えば、シリアルポート、パラレルポート、スモールコンピュータシステムインタフェース(SCSI)、赤外(IR)インタフェース、無線周波数(RF)インタフェース、および/またはユニバーサルシリアルバス(USB)インタフェース、を備えていることができる。
【0083】
ネットワークインタフェース714は、コンピューティングデバイス701および/またはネットワーク704上のサーバ702から送信および受信するべく使用され得る。ネットワークインタフェース714は、例えば、10BaseT Ethernet(登録商標)アダプタ、100BaseT Ethernet(登録商標)アダプタ、LAN PHY Ethernet(登録商標)アダプタ、Token Ringアダプタ、ワイヤレスネットワークアダプタ(例えば、WiFi、セルラー、衛星)、または任意の他の好適なネットワークインタフェースデバイス、を含んでもよい。ネットワークインタフェース714は、ネットワーク704上での適切な通信を可能にするためのアドレス、制御、および/またはデータ接続、を含んでもよい。
【0084】
メモリシステム710は、揮発性メモリ素子(例えば、ランダムアクセスメモリ(DRAM、SRAM、SDRAMなどのRAM))および不揮発性メモリ素子(例えば、ROM、ハードドライブ、テープ、CDROM、DVDROMなど)のいずれか1つまたはそれらの組み合わせを備えていることができる。更に、メモリシステム710は、電子、磁気、光学、および/または他のタイプ、の記憶媒体を組み込んでもよい。メモリシステム710は、様々な構成要素が互いに離れて位置するがプロセッサ708によってアクセスされ得る、分散型アーキテクチャを有し得ることに留意する。
【0085】
メモリシステム710内のソフトウェアは、1つまたは複数のソフトウェアプログラムを含んでもよく、これらの各々は、論理機能を実装するための実行可能命令の順序付けされたリストを備えている。
図7の実施例では、コンピューティングデバイス701のメモリシステム710におけるソフトウェアは、訓練データ711、訓練モジュール720(例えば、予測モジュール106B)、および好適なオペレーティングシステム(O/S)718、を備えていることができる。
図7の実施例では、サーバ702のメモリシステム710のソフトウェアは、データレコードおよび変数724(例えば、データレコード104および変数105)、ならびに好適なオペレーティングシステム(O/S)718、を備えていることができる。オペレーティングシステム718は、他のコンピュータプログラムの実行を本質的に制御しており、スケジューリング、入力出力制御、ファイルおよびデータ管理、メモリ管理、および通信制御、ならびに関連するサービス、を提供する。
【0086】
例示の目的で、アプリケーションプログラムおよびオペレーティングシステム718などの他の実行可能なプログラム構成要素は、本明細書において別々のブロックとして例示されているが、このようなプログラムおよび構成要素は、コンピューティングデバイス701および/またはサーバ702の異なる記憶構成要素において、様々な時間に存在し得ることが認識される。訓練モジュール520の実装は、何らかの形式のコンピュータ可読媒体上に記憶されるかまたは送信され得る。本開示の方法のいずれも、コンピュータ可読媒体上に具現化されたコンピュータ可読命令によって実行され得る。コンピュータ可読媒体は、コンピュータによってアクセス可能な任意の利用可能媒体とすることができる。例として、かつ限定を意図するものではないが、コンピュータ可読媒体は、「コンピュータ記憶媒体」および「通信媒体」を備えていることができる。「コンピュータ記憶媒体」は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ、などの情報を記憶するための任意の方法または技術で実施される、揮発性および不揮発性の取り外し可能な媒体および取り外し不能な媒体を備えていることができる。例示的なコンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリもしくは他の記憶技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶デバイスもしくは他の磁気記憶デバイス、または所望の情報、の記憶に使用することができ、かつコンピュータによってアクセスすることができる任意の他の媒体を備えていることができる。
【0087】
ここで
図8を参照すると、改善された深層学習モデルを生成、訓練、および出力、するための例示的な方法800のフローチャートが示されている。問題/分析に特有であるように設計された既存の深層学習モデルおよびフレームワークとは異なり、方法800によって実装されるフレームワークは、広範な予測および/または生成データ分析に適用可能にされてもよい。方法800は、単一のコンピューティングデバイス、複数のコンピューティングデバイス、などによって全体的または部分的に実行されてもよい。例えば、コンピューティングデバイス106、訓練モジュール520、サーバ702、および/またはコンピューティングデバイス704、は方法800を実行するように構成されてもよい。
【0088】
ステップ810において、コンピューティングデバイスは、複数のデータレコードおよび複数の変数を受信してもよい。複数のデータレコードの各々、および複数の変数の各々、はそれぞれ1つまたは複数の属性を含んでもよい。複数のデータレコードのうちの各データレコードは、複数の変数のうちの1つまたは複数の変数に関連付けられてもよい。コンピューティングデバイスは、本明細書に記載されるような予測モデルを訓練するべく、モデルアーキテクチャに対して複数の特徴を決定してもよい。コンピューティングデバイスは、例えば、ハイパーパラメータセット(例えば、ハイパーパラメータ505のセット)に基づき、複数の特徴(特徴量)を決定してもよい。ハイパーパラメータセットは、ニューラルネットワーク層/ブロックの数、ニューラルネットワーク層内のニューラルネットワークフィルタの数、などを含んでもよい。ハイパーパラメータセットの要素は、モデルアーキテクチャ内に含まれるだけでなく、かつ本明細書に記載されるような予測モデルを訓練するための、複数のデータレコード(例えば、データレコード属性/変数)の第1サブセットを含んでもよい。例えば、グレード記録および人口統計属性に関して本明細書に記載される実施例を用いて続けると、ハイパーパラメータセットの要素は、特定の生徒(例えば、全学年)に対するデータレコードに関連付けられた全てのグレード記録(例えば、データレコードの属性)を含んでもよい。複数のデータレコードからなる第1サブセットに対する他の実施例が可能にされている。ハイパーパラメータセットの別の要素は、モデルアーキテクチャに含まれるだけでなく、かつ予測モデルを訓練するための、複数の変数(例えば、属性)の第1サブセットを含んでもよい。例えば、複数の変数からなる第1サブセットは、本明細書に記載される1つまたは複数の人口統計属性(例えば、年齢、州など)を含んでもよい。複数のデータ変数の第1サブセットに対する他の実施例が可能にされている。ステップ820において、コンピューティングデバイスは、複数のデータレコードからなる第1サブセットのうちの各データレコードに関連付けられた各属性に対する数値表現を決定してもよい。複数のデータレコードからなる第1サブセットのうちの各データレコードに関連付けられた各属性は、バイナリラベル(例えば、「はい」/「いいえ」)および/またはパーセンテージ値などのラベルに関連付けられてもよい。ステップ830において、コンピューティングデバイスは、複数の変数からなる第1サブセットのうちの各変数に関連付けられた各属性に対する数値表現を決定してもよい。複数の変数からなる第1サブセットのうちの各変数に関連付けられた各属性は、ラベル(例えば、バイナリラベルおよび/またはパーセンテージ値)に関連付けられてもよい。
【0089】
コンピューティングデバイスは、数値形式ではない(例えば、ストリングなど)複数の変数からなる第1サブセットのうちの各変数に関連付けられた各属性に対する数値表現を決定するときに、複数のプロセッサおよび/またはトークナイザを使用してもよい。例えば、複数の変数からなる第1サブセットのうちの各変数に関連付けられた各属性に対する数値表現を決定する工程は、複数のプロセッサおよび/またはトークナイザによって、複数の変数からなる第1サブセットのうちの各変数に関連付けられた各属性に対して、トークンを決定する工程を含んでもよい。各それぞれのトークンを使用することで、複数の変数からなる第1サブセットのうちの各変数に関連付けられた各属性に対する数値表現を決定してもよい。複数の変数のうちの第1サブセットの1つまたは複数の変数に関連付けられた1つまたは複数の属性は、少なくとも非数値部分を含んでもよく、各々、少なくとも非数値部分に対する数値表現を含んでもよい。したがって、いくつかの実施例では、それぞれの変数に関連付けられたそれぞれの属性の少なくとも非数値部分に対する数値表現を使用することで、その属性に対する数値表現を決定してもよい。
【0090】
ステップ840において、コンピューティングデバイスは、複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に対するベクトルを生成してもよい。例えば、複数の第1エンコーダモジュールは、複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に対するベクトルを生成してもよい。複数の第1エンコーダモジュールは、複数のデータレコードからなる第1サブセットのうちの各データレコードに対する数値表現に基づき、複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に対するベクトルを生成してもよい。
【0091】
ステップ850において、コンピューティングデバイスは、複数の変数からなる第1サブセットのうちの各変数の各属性に対するベクトルを生成してもよい。例えば、複数の第2エンコーダモジュールは、複数の変数からなる第1サブセットのうちの各変数の各属性に対するベクトルを生成してもよい。複数の第2エンコーダモジュールは、複数の変数からなる第1サブセットのうちの各変数に対する数値表現に基づき、複数の変数からなる第1サブセットのうちの各変数の各属性に対するベクトルを生成してもよい。
【0092】
ステップ860において、コンピューティングデバイスは、連結ベクトルを生成してもよい。例えば、コンピューティングデバイスは、複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に対するベクトルに基づき、連結ベクトルを生成してもよい。別の実施例として、コンピューティングデバイスは、複数の変数からなる第1サブセットのうちの各変数の各属性に対するベクトルに基づき、連結ベクトルを生成してもよい。連結ベクトルは、ラベルを示してもよい。例えば、連結ベクトルは、複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に関連付けられたラベル(例えば、バイナリラベルおよび/またはパーセンテージ値)を示してもよい。別の例として、連結ベクトルは、複数の変数からなる第1サブセットのうちの各変数に対するラベル(例えば、バイナリラベルおよび/またはパーセンテージ値)を示してもよい。上で論じたように、複数の特徴(例えば、ハイパーパラメータセットに基づき)は、複数のデータレコードからなる第1サブセットのデータレコードおよび複数の変数からなる第1サブセットの変数の対応する属性のうちのわずか1つまたは全てほど多くのものを含んでもよい。したがって、連結ベクトルは、複数のデータレコードからなる第1サブセットのデータレコードおよび複数の変数からなる第1サブセットの変数の対応する属性のうちのわずか1つまたは全てほど多くのものに基づいてもよい。
【0093】
ステップ870において、コンピューティングデバイスは、連結ベクトルに基づきモデルアーキテクチャを訓練してもよい。例えば、コンピューティングデバイスは、連結ベクトルに基づき、予測モデル、複数の第1エンコーダモジュール、および/または複数の第2エンコーダモジュール、を訓練してもよい。ステップ880において、コンピューティングデバイスは、訓練済み予測モデル、複数の第1訓練済みエンコーダモジュール、および/または複数の第2訓練済みエンコーダモジュール、としてモデルアーキテクチャを出力(例えば、保存)してもよい。複数の第1訓練済みエンコーダモジュールは、複数の第1ニューラルネットワークブロックを含んでもよく、複数の第2訓練済みエンコーダモジュールは、複数の第2ニューラルネットワークブロックを含んでもよい。複数の第1訓練済みエンコーダモジュールは、複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に基づき(例えば、各データレコードの属性に基づき)、複数の第1ニューラルネットワークブロックに対する1つまたは複数のパラメータ(例えば、ハイパーパラメータ)を含んでもよい。複数の第2訓練済みエンコーダモジュールは、複数の変数からなる第1サブセットのうちの各変数に基づき(例えば、各変数の属性に基づき)、複数の第2ニューラルネットワークブロックに対する1つまたは複数のパラメータ(例えば、ハイパーパラメータ)を含んでもよい。コンピューティングデバイスは、方法600のステップ650に関して本明細書に記載されるようなハイパーパラメータセットを使用することで、複数のデータレコードからなる第2サブセット、複数の変数からなる第2サブセット、および/または交差検証技術、に基づき予測モデルを最適化してもよい。
【0094】
ここで
図9を参照すると、深層学習モデルを使用するための例示的な方法900のフローチャートが示されている。問題/分析に特有であるように設計された既存の深層学習モデルおよびフレームワークとは異なり、方法900によって実装されるフレームワークは、広範な予測および/または生成データ分析に適用可能にされていてもよい。方法900は、単一のコンピューティングデバイス、複数の電子デバイス、および同様のもの、によって全体的または部分的に実行されてもよい。例えば、コンピューティングデバイス106、訓練モジュール520、サーバ702、および/またはコンピューティングデバイス704、は方法900を実行するように構成されてもよい。
【0095】
訓練済み予測モデルと、複数の第1エンコーダモジュールと、および/または複数の第2エンコーダモジュールと、を備えているモデルアーキテクチャは、コンピューティングデバイスによって使用されることで、以前に見てないデータレコードおよび以前に見てない複数の変数に関連付けられたスコアまたは予測のうちの1つまたは複数を提供してもよい。モデルアーキテクチャは、ハイパーパラメータセット(例えば、ハイパーパラメータ505のセット)など、複数の特徴に基づき以前に訓練されていてもよい。ハイパーパラメータセットは、ニューラルネットワーク層/ブロックの数、ニューラルネットワーク層内のニューラルネットワークフィルタの数、などを含んでもよい。例えば、グレードレコードおよび人口統計属性に関して本明細書に記載される実施例を用いて続けると、ハイパーパラメータセットの要素は、特定の生徒(例えば、全学年)に対するデータレコードに関連付けられた全てのグレード記録(例えば、データレコードの属性)を含んでもよい。他の実施例も可能にされている。ハイパーパラメータセットの別の要素は、本明細書に記載される1つまたは複数の人口統計属性(例えば、年齢、州など)を含んでもよい。他の実施例も可能にされている。
【0096】
ステップ910において、コンピューティングデバイスは、データレコードおよび複数の変数を受信してもよい。データレコードおよび複数の変数の各々は、各々、1つまたは複数の属性を含んでもよい。データレコードは、複数の変数のうちの1つまたは複数の変数に関連付けられてもよい。ステップ920において、コンピューティングデバイスは、データレコードに関連付けられた1つまたは複数の属性に対する数値表現を決定してもよい。例えば、コンピューティングデバイスは、方法200のステップ206に関して本明細書に記載されるのとで同様の方式で、データレコードに関連付けられた1つまたは複数の属性の各々に対する数値表現を決定してもよい。ステップ930において、コンピューティングデバイスは、複数の変数のうちの各変数に関連付けられた1つまたは複数の属性の各々に対する数値表現を決定してもよい。例えば、コンピューティングデバイスは、方法200のステップ206に関して本明細書に記載されるのとで同様の方式で、複数の変数の各々に関連付けられた1つまたは複数の属性の各々に対する数値表現を決定してもよい。コンピューティングデバイスは、複数の変数のうちの各変数に関連付けられた1つまたは複数の属性の各々に対する数値表現を決定するときに、複数のプロセッサおよび/またはトークナイザを使用してもよい。例えば、複数の変数のうちの各変数に関連付けられた1つまたは複数の属性の各々に対する数値表現を決定することは、複数のプロセッサおよび/またはトークナイザによって、複数の変数のうちの各変数に関連付けられた1つまたは複数の属性の各々に対して、トークンを決定することを含んでもよい。各それぞれのトークンを使用することで、複数の変数のうちの各変数に関連付けられた1つまたは複数の属性の各々に対する数値表現を決定してもよい。複数の変数のうちの各変数に関連付けられた1つまたは複数の属性の各々は、少なくとも非数値部分を含んでもよく、各トークンは、少なくとも非数値部分に対する数値表現を含んでもよい。したがって、いくつかの実施例では、それぞれの変数に関連付けられたそれぞれの属性の少なくとも非数値部分に対する数値表現を使用することで、その属性に対する数値表現を決定してもよい。
【0097】
ステップ940において、コンピューティングデバイスは、データレコードに関連付けられた1つまたは複数の属性の各々に対するベクトルを生成してもよい。例えば、コンピューティングデバイスは、複数の第1訓練済みエンコーダモジュールを使用することで、データレコードに関連付けられた1つまたは複数の属性の各々に対するベクトルを決定してもよい。コンピューティングデバイスは、複数の第1訓練済みエンコーダモジュールを使用することで、データレコードに関連付けられた1つまたは複数の属性の各々に対する数値表現に基づき、データレコードに関連付けられた1つまたは複数の属性の各々に対するベクトルを決定してもよい。ステップ950において、コンピューティングデバイスは、複数の変数の各々に関連付けられた1つまたは複数の属性の各々に対するベクトルを生成してもよい。例えば、コンピューティングデバイスは、複数の第2訓練済みエンコーダモジュールを使用することで、複数の変数のうちの各変数の各属性に対するベクトルを決定してもよい。コンピューティングデバイスは、複数の第2訓練済みエンコーダモジュールを使用することで、複数の変数のうちの各変数に関連付けられた1つまたは複数の属性の各々に対する数値表現に基づき、複数の第1変数のうちの各変数の各属性に対するベクトルを決定してもよい。複数の第1訓練済みエンコーダモジュールは、複数の第1ニューラルネットワークブロックを含んでもよく、複数の第2訓練済みエンコーダモジュールは、複数の第2ニューラルネットワークブロックを含んでもよい。複数の第1訓練済みエンコーダモジュールは、複数のデータレコードのうちの各データレコードの各属性に基づき(例えば、各データレコードの属性に基づき)、複数の第1ニューラルネットワークブロックに対する1つまたは複数のパラメータを含んでもよい。複数の第2訓練済みエンコーダモジュールは、複数の変数のうちの各変数に基づき(例えば、各変数の属性に基づき)、複数の第2ニューラルネットワークブロックに対する1つまたは複数のパラメータを含んでもよい。
【0098】
ステップ960において、コンピューティングデバイスは、連結ベクトルを生成してもよい。例えば、コンピューティングデバイスは、データレコードに関連付けられた1つまたは複数の属性の各々に対するベクトル、および複数の変数のうちの各変数の各属性に対するベクトルに基づき、連結ベクトルを生成してもよい。ステップ970において、コンピューティングデバイスは、データレコードおよび複数の変数に関連付けられた予測またはスコアのうちの1つまたは複数を決定してもよい。例えば、コンピューティングデバイスは、モデルアーキテクチャの訓練済み予測モデルを使用することで、データレコードおよび複数の変数に関連付けられた予測またはスコアのうちの1つまたは複数を決定してもよい。訓練済み予測モデルは、方法800で上述したモデルアーキテクチャを含んでもよい。訓練済み予測モデルは、連結ベクトルに基づき、データレコードおよび複数の変数に関連付けられた予測またはスコアのうちの1つまたは複数を決定してもよい。スコアは、第1ラベルがデータレコードおよび/または複数の変数に適用される可能性を示してもよい。例えば、第1ラベルは、バイナリラベル(例えば、「はい」/「いいえ」)および/またはパーセンテージ値を含んでもよい。
【0099】
ここで
図10を参照すると、訓練済み予測モデル(例えば、訓練済み深層学習モデル)を備えているモデルアーキテクチャを再訓練するための、例示的な方法1000のフローチャートが示されている。問題/分析に特有であるように設計された既存の深層学習モデルおよびフレームワークとは異なり、方法1000によって実装されるフレームワークは、広範な予測および/または生成的データ分析に適用可能にされていてもよい。方法1000は、単一のコンピューティングデバイス、複数の電子デバイス、および同様のもの、によって全体的または部分的に実行されてもよい。例えば、コンピューティングデバイス106、訓練モジュール520、サーバ702、および/またはコンピューティングデバイス704、は方法1000を実行するように構成されてもよい。
【0100】
本明細書に記載されるように、訓練済み予測モデルと訓練済みエンコーダモジュールとを備えているモデルアーキテクチャは、予測および/または生成データ分析の様々なものを提供することが可能にされていてもよい。訓練済み予測モデルと訓練済みエンコーダモジュールとを備えているモデルアーキテクチャは、第1予測および/または生成データ分析のセットを提供するべく最初に訓練されてもよく、各々、別の予測および/または生成データ分析のセットを提供するべく、方法1000に従って再訓練されてもよい。例えば、モデルアーキテクチャは、ハイパーパラメータセット(例えば、ハイパーパラメータ505のセット)など、複数の特徴に基づき以前に訓練されていてもよい。ハイパーパラメータセットは、ニューラルネットワーク層/ブロックの数、ニューラルネットワーク層内のニューラルネットワークフィルタの数、などを含んでもよい。例えば、グレードレコードおよび人口統計属性に関して本明細書に記載される実施例を用いて続けると、ハイパーパラメータセットの要素は、特定の学生(例えば、全学年)のデータレコードに関連付けられた全てのグレードレコード(例えば、データレコードの属性)を含んでもよい。他の実施例も可能にされている。ハイパーパラメータセットの別の要素は、本明細書に記載される1つまたは複数の人口統計属性(例えば、年齢、州など)を含んでもよい。他の実施例も可能にされている。モデルアーキテクチャは、別のハイパーパラメータセットおよび/またはハイパーパラメータセットの別の要素に従って、再訓練されてもよい。
【0101】
ステップ1010において、コンピューティングデバイスは、複数の第1データレコードおよび複数の第1変数を受信してもよい。複数の第1データレコードおよび複数の第1変数は各々、1つまたは複数の属性を備えたり、ラベルに関連付けられたり、してもよい。ステップ1020において、コンピューティングデバイスは、複数の第1データレコードのうちの各データレコードの各属性に対する数値表現を決定してもよい。ステップ1030において、コンピューティングデバイスは、複数の第1変数のうちの各変数の各属性に対する数値表現を決定してもよい。ステップ1040において、コンピューティングデバイスは、複数の第1データレコードのうちの各データレコードの各属性に対するベクトルを生成してもよい。例えば、コンピューティングデバイスは、複数の第1訓練済みエンコーダモジュールを使用することで、複数の第1データレコードのうちの各データレコードの各属性に対するベクトルを生成してもよい。複数の第1データレコードのうちの各データレコードの各属性に対するベクトルの各々は、複数の第1データレコードのうちの各データレコードの各属性に対する対応する数値表現に基づいてもよい。複数の第1訓練済みエンコーダモジュールは、ラベルおよび第1ハイパーパラメータセットに関連付けられた複数の訓練データレコードに基づき、以前に訓練されていてもよい。複数の第1訓練済みエンコーダモジュールは、複数の訓練データレコードのうちの各データレコードの各属性に基づき、複数のニューラルネットワークブロックに対する複数の第1パラメータ(例えば、ハイパーパラメータ)を含んでもよい。複数の第1データレコードは、第1ハイパーパラメータセットとは少なくとも部分的に異なる第2ハイパーパラメータセットに関連付けられてもよい。例えば、第1ハイパーパラメータセットは、クラスの1年目のグレードレコードであってもよく、第2ハイパーパラメータセットは、クラスの2年目のグレードレコードであってもよい。
【0102】
ステップ1050において、コンピューティングデバイスは、複数の第1変数のうちの各変数の各属性に対するベクトルを生成してもよい。例えば、コンピューティングデバイスは、複数の第2訓練済みエンコーダモジュールを使用することで、複数の第1変数のうちの各変数の各属性に対するベクトルを生成してもよい。複数の第1変数のうちの各変数の各属性に対するベクトルの各々は、複数の第1変数のうちの各変数の各属性に対する対応する数値表現に基づいてもよい。複数の第2訓練済みエンコーダモジュールは、ラベルおよび第1ハイパーパラメータセットに関連付けられた複数の訓練データレコードに基づき、以前に訓練されていてもよい。複数の第1変数は、第2ハイパーパラメータセットに関連付けられてもよい。
【0103】
ステップ1060において、コンピューティングデバイスは、連結ベクトルを生成してもよい。例えば、コンピューティングデバイスは、複数の第1データレコードのうちの各データレコードの各属性に対するベクトルに基づき、連結ベクトルを生成してもよい。別の例として、コンピューティングデバイスは、複数の第1変数のうちの各変数の各属性に対するベクトルに基づき、連結ベクトルを生成してもよい。ステップ1060Aにおいて、コンピューティングデバイスは、モデルアーキテクチャを再訓練してもよい。例えば、コンピューティングデバイスは、連結ベクトルに基づき、モデルアーキテクチャを再訓練してもよく、これは、ステップ1060において、別のハイパーパラメータセットおよび/またはハイパーパラメータセットの別の要素に基づき生成されてもよい。コンピューティングデバイスはまた、連結ベクトルに基づき(例えば、ハイパーパラメータの他のセットおよび/またはハイパーパラメータセットの他の要素に基づき)、複数の第1エンコーダモジュール、および/または複数の第2エンコーダモジュール、を再訓練してもよい。複数の第1エンコーダモジュールは、再訓練されると、複数の第1データレコードのうちの各データレコードの各属性に基づき、複数のニューラルネットワークブロックに対する複数の第2パラメータ(例えば、ハイパーパラメータ)を含んでもよい。複数の第2エンコーダモジュールは、再訓練されると、複数の第1変数の各データレコードの各属性に基づき、複数のニューラルネットワークブロックに対する複数の第2パラメータ(例えば、ハイパーパラメータ)を含んでもよい。再訓練されると、モデルアーキテクチャは、別の予測および/または生成データ分析のセットを提供してもよい。コンピューティングデバイスは、再訓練済みモデルアーキテクチャを出力(例えば、保存)してもよい。
【0104】
特定の構成を記載してきたが、本明細書の構成は、限定ではなく、全ての点で可能な構成であることを意図するものであるので、この範囲を記載の特定の構成に限定することを意図するものではない。別途明記しない限り、本明細書中に記載のいかなる方法も、その工程を特定の順序で実行することを必須としていると解釈するべきであることを意図するものでは決してない。したがって、方法についてのある請求項が、実際にその工程に従うべき順序を列挙していない場合、または、特許請求の範囲もしくは明細書において特定の順序に限定されることが別途明記されていない場合には、いかなる点においても、順序を推定することは決して意図されない。これは、ステップの配置または動作の流れの配列に関する論理の問題、文法体系または句読法から導出される単純解釈、本明細書に記載の構成の数または型、を備えている解釈に関する任意の可能な不明確な基準に対して成り立つ。
【0105】
範囲または趣旨から逸脱することなく、様々な修正および変形がなされ得ることが、当業者に明らかになるだろう。他の構成は、本明細書に記載の明細書および実践を考慮することによって、当業者に明らかになるだろう。本明細書および記載される構成は、あくまで例示的なものとみなされており、真の範囲および趣旨は、以下の特許請求の範囲によって示されることが意図されるものである。
【手続補正書】
【提出日】2023-08-04
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法としての方法であって、前記方法は、
コンピューティングデバイスによって、複数のデータレコードおよび複数の変数を受信する工程と、
前記複数のデータレコードからなる第1サブセットのうちの各データレコードの各属性に対して、数値表現を決定する工程であって、前記複数のデータレコードからなる前記第1サブセットのうちの各データレコードはラベルに関連付けられている、決定する工程と、
前記複数の変数からなる第1サブセットのうちの各変数の各属性に対して、数値表現を決定する工程であって、前記複数の変数からなる前記第1サブセットのうちの各変数は前記ラベルに関連付けられている、決定する工程と、
複数の第1エンコーダモジュールによって、前記複数のデータレコードからなる前記第1サブセットのうちの各データレコードの各属性に対する前記数値表現に基づき、前記複数のデータレコードからなる前記第1サブセットのうちの各データレコードの各属性に対するベクトルを生成する工程と、
複数の第2エンコーダモジュールによって、前記複数の変数からなる前記第1サブセットのうちの各変数の各属性に対する前記数値表現に基づき、前記複数の変数からなる前記第1サブセットのうちの各変数の各属性に対するベクトルを生成する工程と、
前記複数のデータレコードからなる前記第1サブセットのうちの各データレコードの各属性に対する前記ベクトルに基づき、および前記複数の変数からなる前記第1サブセットのうちの各変数の各属性に対する前記ベクトルに基づき、連結ベクトルを生成する工程と、
前記連結ベクトルに基づき、予測モデルと、前記複数の第1エンコーダモジュールと、および前記複数の第2エンコーダモジュールと、を備えているモデルアーキテクチャを訓練する工程と、
前記モデルアーキテクチャを出力する工程と、
を備えている、方法。
【請求項2】
前記複数のデータレコードの
うちの各
データレコードの各属性は、入力シーケンスを備えている、
請求項1に記載の方法。
【請求項3】
前記複数のデータレコードのうちの各データレコードは、前記複数の変数のうちの1つまたは複数の変数に関連付けられている、
請求項1
または2に記載の方法。
【請求項4】
前記複数の第1エンコーダモジュールは、複数の第1ニューラルネットワークブロックを備えており、
前記複数の第2エンコーダモジュールは、複数の第2ニューラルネットワークブロックを備えている、
請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記モデルアーキテクチャは、前記複数のデータレコードの1つまたは複数の属性と、前記複数の変数の1つまたは複数の属性と、に関連付けられた第1ハイパーパラメータセットに従って訓練される、
請求項1
~4のいずれか1項に記載の方法。
【請求項6】
前記方法はさらに、第2ハイパーパラメータセットと交差検証技術とに基づき、前記モデルアーキテクチャを最適化する工程を備えている、
請求項
5に記載の方法。
【請求項7】
前記複数の変数からなる前記第1サブセットのうちの各変数の各属性に対して、前記数値表現を決定する工程は、
複数のトークナイザによって、前記複数の変数からなる前記第1サブセットの少なくとも1つの変数の少なくとも1つの属性に対して、トークンを決定する工程を備えている、
請求項1
~6のいずれか1項に記載の方法。
【請求項8】
前記少なくとも1つの変数の前記少なくとも1つの属性は、少なくとも非数値部分を備えており、
前記トークンは、前記少なくとも1つの変数の前記少なくとも1つの属性に対する前記数値表現を備えている、
請求項
7に記載の方法。
【請求項9】
前記方法は
さらに、
入力データレコードおよび複数の
入力変数を受信する工程と、
前記
入力データレコードの各属性に対して、
入力数値表現を決定する工程と、
前記複数の
入力変数のうちの各
入力変数の各属性に対して、
入力数値表現を決定する工程と、
前記複数の第
1エンコーダモジュールによって、前記
入力データレコードの各属性に対する前記
入力数値表現に基づき、前記
入力データレコードの各属性に対する
入力ベクトルを生成する工程と、
前記複数の第
2エンコーダモジュールによって、前記複数の
入力変数のうちの各
入力変数の各属性に対する前記
入力数値表現に基づき、前記複数の
入力変数のうちの各
入力変数の各属性に対する
入力ベクトルを生成する工程と、
前記
入力データレコードの各属性に対する前記
入力ベクトルに基づき、かつ前記複数の
入力変数のうちの各
入力変数の各属性に対する前記
入力ベクトルに基づき、
入力連結ベクトルを生成する工程と、
前記予測モデルによって、前記
入力連結ベクトルに基づき、前記
入力データレコードに関連付けられた予測またはスコアのうちの1つまたは複数を決定する工程と、
を備えている、
請求項1~8のいずれか1項に記載の方法。
【請求項10】
前記予測は、バイナリラベルを備えている、
請求項
9に記載の方法。
【請求項11】
前記スコアは、第1ラベルが前記データレコードに適用される可能性を示す、
請求項
9または10に記載の方法。
【請求項12】
複数の
追加データレコードのうちの各
追加データレコードの各属性に対す
るベクトルに基づき
決定された追加連結ベクトルに基づき、か
つ複数の
追加変数のうちの各
追加変数
の各属性に対す
るベクトルに基づき、
前記予測モデル、前記複数の第
1エンコーダモジュール、および前記複数の第
2エンコーダモジュール、を再訓練する工
程を備えている、
請求項1~11のいずれか1項に記載の方法。
【請求項13】
前記複数の第
1エンコーダモジュールは、
前記複数のデータレコードが
前記ラベル
に関連付けられていることに基づき、かつ第1ハイパーパラメータセット
に基づき
、最初に訓練されており、
前記複数の
追加データレコードは、前記第1ハイパーパラメータセットとは少なくとも部分的に異なる第2ハイパーパラメータセットに関連付けられている、
請求項
12に記載の方法。
【請求項14】
前記複数の第
2エンコーダモジュールは、
前記複数の変数が前記ラベル
前記ラベルに関連付けられていることに基づき、かつ前記第1ハイパーパラメータセット
に基づき
、最初に訓練されており、
前記複数の
追加変数は、前記第2ハイパーパラメータセットに関連付けられている、
請求項
13に記載の方法。
【請求項15】
前記複数の第
1エンコーダモジュールを再訓練する工程は、前記第2ハイパーパラメータセットに基づき、前記複数の第
1エンコーダモジュールを再訓練する工程を備えて
おり、
前記複数の第
2エンコーダモジュールを再訓練する工程は、前記第2ハイパーパラメータセットに基づき、前記複数の第
2エンコーダモジュールを再訓練する工程を備えている、
請求項
14に記載の方法。
【国際調査報告】