(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-21
(54)【発明の名称】加速された脱調合物発生のための2段階サンプリング
(51)【国際特許分類】
G16C 20/70 20190101AFI20240214BHJP
G06N 3/0455 20230101ALI20240214BHJP
G16C 20/20 20190101ALI20240214BHJP
【FI】
G16C20/70
G06N3/0455
G16C20/20
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023543133
(86)(22)【出願日】2022-01-19
(85)【翻訳文提出日】2023-07-18
(86)【国際出願番号】 US2022012888
(87)【国際公開番号】W WO2022164688
(87)【国際公開日】2022-08-04
(32)【優先日】2021-01-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521375117
【氏名又は名称】シトリン インフォマティックス, インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】セブゲン, セラミ エムレ
(72)【発明者】
【氏名】フォリー, ブレンダン デイビッド
(72)【発明者】
【氏名】リン, ジュリア ブラック
(57)【要約】
デバイスは、相対量で順序付けられた原料のシーケンスを有する原料リストを受信し、原料リストをサンプリングすることによって調合物ベクトルを発生させる。デバイスは、複数の調合物ベクトルを機械学習されたモデルの中に入力し、機械学習されたモデルは、エンコーダを使用して、複数の調合物ベクトルのそれぞれのエンコードされたバージョンを発生させ、次いで複数の再構築された調合物ベクトルを、デコーダを使用して導出されたものとして出力する。デバイスは、シーケンスに合致する順序を有する再構築された調合物ベクトルを識別し、合致する再構築された調合物ベクトルのエンコードされたバージョンを使用して潜在空間を定義する。デバイスは、シーケンスに対応する順序付け制約に合致するサンプルの閾値数が導出されるまで潜在空間を反復的にサンプリングし、サンプルの統計的集約を実施し、原料リスト内の各原料の絶対量のインジケーションを出力する。
【特許請求の範囲】
【請求項1】
方法であって、
原料のシーケンスを含む、原料リストを受信することであって、前記シーケンスは、各原料が前記シーケンス内に存在する場所に基づいて各原料の相対量を確立する、ことと、
複数の調合物ベクトルを発生させることであって、各調合物ベクトルは、前記原料リスト内に存在し得る既知の候補原料の相対的占有率を示す、前記原料リストの無作為サンプリングを実施することによって導出される、ことと、
前記複数の調合物ベクトルを機械学習されたモデルの中に入力することであって、前記機械学習されたモデルは、エンコーダを使用して前記複数の調合物ベクトルのそれぞれのエンコードされたバージョンを発生させ、次いで、複数の再構築された調合物ベクトルを、デコーダを使用して導出されたものとして出力する、ことと、
前記シーケンスに合致する順序を有する、前記複数の再構築された調合物ベクトルのサブセットを識別することと、
前記再構築された調合物ベクトルのサブセットの前記エンコードされたバージョンを使用して、潜在空間を定義することと、
前記シーケンスに対応する順序付け制約に合致する、サンプルの閾値数が導出されるまで、前記潜在空間を反復的にサンプリングすることと、
前記サンプルの統計的集約を実施することと、
前記原料リスト内の各原料の絶対量のインジケーションを出力することと
を含む、方法。
【請求項2】
前記シーケンスは、最大相対量を有する原料から開始し、最小相対量を有する原料で終了する、請求項1に記載の方法。
【請求項3】
前記機械学習されたモデルは、変分オートエンコーダ(VAE)である、請求項1に記載の方法。
【請求項4】
前記VAEは、結果として生じる競合に基づいて標識される調合物レシピを含む、訓練データを使用して訓練され、前記調合物レシピは、各所与の調合物レシピ内に存在する各原料の量を規定する、請求項3に記載の方法。
【請求項5】
前記エンコーダは、複数の潜在空間ベクトルを出力し、前記デコーダは、前記複数の潜在空間ベクトルを入力として捉え、前記複数の潜在空間ベクトルの処理に基づいて前記複数の再構築された調合物ベクトルを出力する、請求項3に記載の方法。
【請求項6】
前記順序付け制約は、前記シーケンスに合致する順序で相対量を有する原料を有するような再構築された調合物ベクトルを要求するものとして初期化され、前記潜在空間を反復的にサンプリングすることは、
前記順序付け制約を満たす再構築された調合物ベクトルの数が、サンプルの前記閾値数を充足するかどうかを判定することと、
前記順序付け制約を満たす再構築された調合物の前記数が、サンプルの前記閾値数を充足しないという判定に応答して、前記順序付け制約を緩和することと
を含む、請求項1に記載の方法。
【請求項7】
前記順序付け制約を緩和することは、最小の原料を無視することを含み、さらなる反復に応じて前記順序付け制約をさらに緩和することは、次に最小の原料を無視することを含む、請求項6に記載の方法。
【請求項8】
サンプルの前記閾値数は、サンプルの第2の閾値数より小さい、サンプルの第1の閾値数であり、前記方法はさらに、前記第1の閾値が満たされているという判定に応答して、
サンプルの前記第1の閾値数に対応する前記順序付け制約に合致した、前記複数の調合物ベクトルの個別のもののエンコードされたバージョン上で使用して、有望な潜在空間を定義することと、
前記シーケンスに対応する第2の順序付け制約に合致する、前記第2の閾値を満たすサンプルの第2の数が導出されるまで、前記有望な潜在空間を反復的にサンプリングすることであって、前記サンプルの前記統計的集約を実施することは、サンプルの前記第2の数の前記サンプル上で前記統計的集約を実施することを含む、ことと
を含む、請求項1に記載の方法。
【請求項9】
その上にエンコードされた命令を伴うメモリを備える、非一過性コンピュータ可読媒体であって、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに動作を実施させ、前記命令は、
原料のシーケンスを含む、原料リストを受信することであって、前記シーケンスは、各原料が前記シーケンス内に存在する場所に基づいて各原料の相対量を確立する、ことと、
複数の調合物ベクトルを発生させることであって、各調合物ベクトルは、前記原料リスト内に存在し得る既知の候補原料の相対的占有率を示す、前記原料リストの無作為サンプリングを実施することによって導出される、ことと、
前記複数の調合物ベクトルを機械学習されたモデルの中に入力することであって、前記機械学習されたモデルは、エンコーダを使用して前記複数の調合物ベクトルのそれぞれのエンコードされたバージョンを発生させ、次いで、複数の再構築された調合物ベクトルを、デコーダを使用して導出されたものとして出力する、ことと、
前記シーケンスに合致する順序を有する、前記複数の再構築された調合物ベクトルのサブセットを識別することと、
前記再構築された調合物ベクトルのサブセットの前記エンコードされたバージョンを使用して、潜在空間を定義することと、
前記シーケンスに対応する順序付け制約に合致する、サンプルの閾値数が導出されるまで、前記潜在空間を反復的にサンプリングすることと、
前記サンプルの統計的集約を実施することと、
前記原料リスト内の各原料の絶対量のインジケーションを出力することと
を行うための命令を含む、非一過性コンピュータ可読媒体。
【請求項10】
前記シーケンスは、最大相対量を有する原料から開始し、最小相対量を有する原料で終了する、請求項9に記載の非一過性コンピュータ可読媒体。
【請求項11】
前記機械学習されたモデルは、変分オートエンコーダ(VAE)である、請求項9に記載の非一過性コンピュータ可読媒体。
【請求項12】
前記VAEは、結果として生じる競合に基づいて標識される調合物レシピを含む、訓練データを使用して訓練され、前記調合物レシピは、各所与の調合物レシピ内に存在する各原料の量を規定する、請求項11に記載の非一過性コンピュータ可読媒体。
【請求項13】
前記エンコーダは、複数の潜在空間ベクトルを出力し、前記デコーダは、前記複数の潜在空間ベクトルを入力として捉え、前記複数の潜在空間ベクトルの処理に基づいて前記複数の再構築された調合物ベクトルを出力する、請求項11に記載の非一過性コンピュータ可読媒体。
【請求項14】
前記順序付け制約は、前記シーケンスに合致する順序で相対量を有する原料を有するような再構築された調合物ベクトルを要求するものとして初期化され、前記潜在空間を反復的にサンプリングための前記命令は、
前記順序付け制約を満たす再構築された調合物ベクトルの数が、サンプルの前記閾値数を充足するかどうかを判定することと、
前記順序付け制約を満たす再構築された調合物の前記数が、サンプルの前記閾値数を充足しないという判定に応答して、前記順序付け制約を緩和することと
を行うための命令を含む、請求項9に記載の非一過性コンピュータ可読媒体。
【請求項15】
前記順序付け制約を緩和するための前記命令は、最小の原料を無視するための命令を含み、前記命令はさらに、次に最小の原料を無視することによって、さらなる反復に応じて前記順序付け制約をさらに緩和するための命令を含む、請求項14に記載の非一過性コンピュータ可読媒体。
【請求項16】
サンプルの前記閾値数は、サンプルの第2の閾値数より小さい、サンプルの第1の閾値数であり、前記命令はさらに、前記第1の閾値が満たされているという判定に応答して、
サンプルの前記第1の閾値数に対応する前記順序付け制約に合致した、前記複数の調合物ベクトルの個別のもののエンコードされたバージョン上で使用して、有望な潜在空間を定義することと、
前記シーケンスに対応する第2の順序付け制約に合致する、前記第2の閾値を満たすサンプルの第2の数が導出されるまで、前記有望な潜在空間を反復的にサンプリングすることであって、前記サンプルの前記統計的集約を実施することは、サンプルの前記第2の数の前記サンプル上で前記統計的集約を実施することを含む、ことと
を行うための命令を含む、請求項9に記載の非一過性コンピュータ可読媒体。
【請求項17】
システムであって、
その上にエンコードされた命令を伴う、メモリと、
1つ以上のプロセッサと
を備え、
前記1つ以上のプロセッサは、前記命令を実行すると、
原料のシーケンスを含む、原料リストを受信することであって、前記シーケンスは、各原料が前記シーケンス内に存在する場所に基づいて各原料の相対量を確立する、ことと、
複数の調合物ベクトルを発生させることであって、各調合物ベクトルは、前記原料リスト内に存在し得る既知の候補原料の相対的占有率を示す、前記原料リストの無作為サンプリングを実施することによって導出される、ことと、
前記複数の調合物ベクトルを機械学習されたモデルの中に入力することであって、前記機械学習されたモデルは、エンコーダを使用して前記複数の調合物ベクトルのそれぞれのエンコードされたバージョンを発生させ、次いで、複数の再構築された調合物ベクトルを、デコーダを使用して導出されたものとして出力する、ことと、
前記シーケンスに合致する順序を有する、前記複数の再構築された調合物ベクトルのサブセットを識別することと、
前記再構築された調合物ベクトルのサブセットの前記エンコードされたバージョンを使用して、潜在空間を定義することと、
前記シーケンスに対応する順序付け制約に合致する、サンプルの閾値数が導出されるまで、前記潜在空間を反復的にサンプリングすることと、
前記サンプルの統計的集約を実施することと、
前記原料リスト内の各原料の絶対量のインジケーションを出力することと
を含む、動作を実施させられる、システム。
【請求項18】
前記シーケンスは、最大相対量を有する原料から開始し、最小相対量を有する原料で終了する、請求項17に記載のシステム。
【請求項19】
前記機械学習されたモデルは、変分オートエンコーダ(VAE)である、請求項17に記載のシステム。
【請求項20】
前記VAEは、結果として生じる競合に基づいて標識される調合物レシピを含む、訓練データを使用して訓練され、前記調合物レシピは、各所与の調合物レシピ内に存在する各原料の量を規定する、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、その開示が参照することによってその全体として本明細書に組み込まれる、2021年1月26日に出願された、米国仮出願第63/141,723号の利益を主張する。
【0002】
(技術分野)
本開示は、概して、機械学習の分野に関し、より具体的には、単一段階または多段階機械学習を使用して原料リストを脱調合することに関する。
【背景技術】
【0003】
(背景)
多くの消費財(例えば、化粧品、ヘアケア)では、原料リストは、原料が最も普及しているものから最も普及していないものへの順序でリスト化されているという事実と同様に一般的な知識であるが、種々の原料の厳密な量は、競合企業によって把握されていない。化学化合物を逆エンジニアリングすることは、化学技法を使用することでは、困難かつ不可能なものである。本質的に非化学的である、「脱調合」(すなわち、順序付けられた原料リストに基づいて原料量を逆エンジニアリングすること)を実施するための既存の技法は、極めて非効率的であり、結果として浪費および低い正確度となる。
【発明の概要】
【課題を解決するための手段】
【0004】
構成概要
脱調合された原料量を構築するための種々のサンプリング技法(例えば、1段階サンプリングおよび2段階サンプリング技法)に加えて、機械学習(例えば、変分オートエンコーダ(VAE))を使用することによって、原料リストを脱調合するためのシステムおよび方法が、本明細書に開示される。以下の開示を通して明白な状態になるであろうように、2段階サンプリングアプローチは、元の調合物ベクトル空間内での無作為サンプリングより効率的に有望なサンプルを見出すためにVAE潜在空間内の構造を活用し、したがって、そうでなければ脱調合を実施するために必要であろう、処理能力および算出リソースを低減させるため、単一段階サンプリングを用いて可能であろうものより効率的な脱調合のための方法を表す。
【0005】
ある実施形態では、脱調合ツールは、原料のシーケンスを含む、原料リストを受信し、シーケンスは、各原料がシーケンス内に存在する場所に基づいて、各原料の相対量を確立する。脱調合ツールは、複数の調合物ベクトルを発生させ、各調合物ベクトルは、原料リスト内に存在し得る既知の候補原料の相対的占有率を示す、原料リストの無作為サンプリングを実施することによって導出される。脱調合ツールは、複数の調合物ベクトルを機械学習されたモデルの中に入力し、機械学習されたモデルは、エンコーダを使用して複数の調合物ベクトルのそれぞれのエンコードされたバージョンを発生させ、次いで、複数の再構築された調合物ベクトルを、デコーダを使用して導出されたものとして出力する。
【0006】
脱調合ツールは、シーケンスに合致する順序を有する、複数の再構築された調合物ベクトルのサブセットを識別し、再構築された調合物ベクトルのサブセットのエンコードされたバージョンを使用して、潜在空間を定義する。脱調合ツールは、シーケンスに対応する順序付け制約に合致する、サンプルの閾値数が導出されるまで、潜在空間を反復的にサンプリングし、サンプルの統計的集約を実施し、原料リスト内の各原料の絶対量のインジケーションを出力する。
【0007】
開示される実施形態は、詳細な説明、添付の請求項、および付随の図(または図面)からより容易に明白になるであろう、他の利点ならびに特徴を有する。図の簡単な紹介が、下記で行われる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、脱調合ツールを伴うクライアントデバイスとインターフェースをとるための環境の一実施形態を図示する。
【0009】
【
図2】
図2は、脱調合ツールの例示的モジュールおよびデータベースの一実施形態を図示する。
【0010】
【
図3】
図3は、単一段階または2段階機械学習を使用して原料リストを脱調合するための例示的データフローを図示する。
【0011】
【
図4】
図4は、命令を機械可読媒体から読み取り、それらをプロセッサ(またはコントローラ)内で実行することが可能である、例示的機械のコンポーネントを図示する、ブロック図である。
【0012】
【
図5】
図5は、レシピを脱調合するためのプロセスの例示的フローチャートである。
【0013】
【
図6】
図6は、レシピを入力し、脱調合されたレシピを機械学習脱調合に基づく出力として受信するための例示的ユーザインターフェースを描写する。
【発明を実施するための形態】
【0014】
(詳細な説明)
図および以下の説明は、例証のみとしての好ましい実施形態に関する。以下の議論から、本明細書に開示される構造および方法の代替実施形態が、請求されるものの原理から逸脱することなく採用され得る、実行可能代替として容易に認識されるであろうことに留意されたい。
【0015】
ここで、その実施例が付随の図に図示される、いくつかの実施形態が、詳細に参照されるであろう。実践可能である場合は常に、類似または同様の参照番号が、図中で使用され得、類似または同様の機能性を示し得ることに留意されたい。図は、開示されるシステム(または方法)の実施形態を例証目的のために描写するにすぎない。当業者は、以下の説明から、本明細書に例証される構造および方法の代替実施形態が、本明細書に説明される原理から逸脱することなく採用され得ることを容易に認識するであろう。
【0016】
脱調合ツールの機能性
図1は、脱調合ツールを伴うクライアントデバイスとインターフェースをとるための環境の一実施形態を図示する。
図1は、クライアントデバイス110と、ネットワーク120と、脱調合ツール130とを含む。クライアントデバイス110は、レシピを脱調合することを所望する、任意のユーザによって動作され得る。例えば、ユーザが、順序付けられた原料リストを有するレシピを(例えば、
図6に関して下記に議論されるような)ユーザインターフェースの中に入力し、それらのパラメータが、(インターネット等の任意のネットワークであり得る)ネットワーク120を経由して、
図2-5に関して下記に開示されるシステムおよび方法を使用してレシピを脱調合し得る、脱調合ツール130に伝送される。ある実施形態では、脱調合ツール130は、部分的または完全に、クライアントデバイス110のモジュールとして(例えば、ダウンロードされたアプリケーションとして)動作する。
【0017】
ネットワーク120は、それを通してレシピがクライアントデバイス110から伝送され得、脱調合された原料リストが脱調合ツール130から伝送され得る、インターネット、広域ネットワーク、ローカルエリアネットワーク、セルラーネットワーク、またはデータ通信の任意の他の手段等の任意のネットワークであってもよい。
【0018】
脱調合ツール130は、機械学習技法を使用し、クライアントデバイス110によって提供されたレシピを脱調合する。これらの技法は、
図2-4に関して下記にさらに詳細に議論される。レシピが脱調合された後、脱調合ツール130は、(例えば、ネットワーク120を使用して)脱調合されたレシピをクライアントデバイス110に伝送する。
【0019】
図2は、脱調合ツールの例示的モジュールおよびデータベースの一実施形態を図示する。
図2に描写されるように、脱調合ツール130は、VAE訓練モジュール231、原料リスト処理モジュール232、サンプリングモジュール233、レシピ合致モジュール234、部分空間判定モジュール235、VAE再サンプリングモジュール236、統計的集約モジュール237、および後処理モジュール238、ならびにVAE訓練データ240、およびモデルデータベース241を含む。
図2に描写されるモジュールおよびデータベースは、例示的にすぎず、より少ないまたはより多いモジュールが、本明細書に説明される機能性を達成するために使用され得る。また、モジュールおよびデータベースは、単一の場所にある必要はなく、環境100を横断して分散され、ネットワーク120を使用して相互通信してもよい。
【0020】
VAE訓練モジュール231は、1つ以上のデータベース(例えば、VAE訓練データ240)から訓練データを取得する。VAE訓練データ240は、脱調合ツール130の一部として描写されているが、部分的または完全に脱調合ツール130の外側に位置してもよい(例えば、第三者データベースである、または脱調合ツール130間に、および1つ以上の第三者データベースを横断して分散される)。訓練データは、所与の調合物レシピによってもたらされる組成によって標識されるような既知の調合物レシピを含んでもよい。調合物レシピは、調合物内に存在する、各原料の量を規定する。ある実施形態では、調合物レシピは、調合物性質および調合物処理情報等の付加的情報を含んでもよい。組成標識は、一般的および/または具体的であってもよい(例えば、「シャンプー」は、一般的標識であり、「フケ防止シャンプー」は、より具体的であり、「[商標名][製品名]シャンプー」は、さらにより具体的である)。
【0021】
ある実施形態では、VAE訓練モジュール231は、訓練データの少なくとも一部を使用して、M×N行列を構築する。そのような実施形態では、Mは、訓練データを横断した調合物原料の数として定義され、Nは、行列内の行の量であり、各訓練データ実施例の各調合物原料は、データのその個別の行を取り込み、したがって、次元M×Nの完全な訓練データをもたらす。
【0022】
訓練データを取得することに続いて、VAE訓練モジュール231は、VAEを生成し、訓練する。VAEは、2つの半分、すなわち、エンコーダと、デコーダとを有する。VAE訓練モジュール231は、(例えば、個々に、または行列の一部として)調合物ベクトルをエンコーダの中に入力する。調合物ベクトルは、所与の調合物の一部である原料と、そうではない原料との表現である。例えば、5つの原料を有する、ある調合物のための調合物ベクトルは、それらの5つの原料のそれぞれの量を表す値を含んでもよく、訓練データの一部である他の原料に関するヌル値を含んでもよい。エンコーダは、より低い次元(次元d)の潜在空間上に各調合物ベクトル(例えば、行列の各行)を投影する。VAE訓練モジュール231は、潜在空間投影物をデコーダの中に入力し、これは、ひいては、入力された調合物を可能な限り忠実に再構築し、再構築物を出力する。
【0023】
エンコーダは、調合物ベクトル(例えば、次元Mのベクトル)を入力として捉え、そこから潜在空間ベクトル(例えば、次元dのベクトル)を出力するように訓練される。デコーダは、潜在空間ベクトル(例えば、次元dのベクトル)を入力として捉え、再構築された調合物ベクトル(例えば、次元Mのベクトル)を出力するように訓練される。
【0024】
VAEは、エンコーダまたはデコーダ層内に任意の数の層を有してもよい。一実施形態では、VAEは、全てが密集して接続される、3つのエンコーダ層と、3つのデコーダ層とを有してもよい。VAEの潜在空間は、原料の全体数未満の任意の数の次元を有してもよく、一実施形態では、M=1,000個の着目原料が、存在してもよく、潜在空間は、d=6の次元を有してもよい。ある実施形態では、デコーダの最終層は、原料画分が合計で100%になることを確実にするように使用され得る、ソフトマックスアクティブ化関数を含んでもよい。VAE訓練モジュール231は、訓練データを可能な限り正確に再構築するために、訓練データ(例えば、行列)上でVAEを訓練する。VAE訓練モジュール231は、モデルデータベース241内に1つ以上の訓練されたVAEを記憶してもよい。
【0025】
原料リスト処理モジュール232は、関連付けられた原料画分、例えば、水、NaCl、KClのない状態で原料の順序付けられた(すなわち、最も普及しているものから最も普及していないものへの)リストを入力として受信する。原料リスト処理モジュール232は、順序付けが最大画分量から最小画分量に行われていることを判定する。上記の実施例では、リストが受信される順序に基づいて、調合物中には、NaClより多くの水が、存在し、調合物中には、KClより多くのNaClが、存在する。原料リスト処理モジュール232は、(例えば、ユーザが原料をタイピングすること、または口頭で話すことを伴う)手動入力からのリストをユーザインターフェースの中に受信してもよい、または公的に入手可能な原料リストを有する製品のユーザ入力に基づいてリストを受信してもよい。例えば、原料リスト処理モジュール232は、(例えば、ユーザが脱調合ツール130のアプリケーションを使用して製品のバーコードまたはQRコード(登録商標)を走査することに基づいて)シャンプーの所与の瓶の識別子を受信してもよく、それに基づいて、その製品に対応する原料リストに関する1つ以上のデータベースを検索してもよい。
【0026】
サンプリングモジュール233は、調合空間から無作為サンプルを発生させる。ある実施形態では、無作為サンプルを発生させるために、サンプリングモジュール233は、無作為化された占有率を、受信された原料リスト内に出現する原料に割り当てる。サンプリングモジュール233は、ゼロの占有率を、本システム内では既知であるが、受信された原料リストの一部ではない、候補原料に割り当ててもよい。ある実施形態では、無作為サンプルは、全ての原料画分が合計で1になるように、ディリクレ分布からサンプリングすることによって発生される。サンプリングモジュール233は、任意の数の無作為サンプルを発生させてもよい。一実施形態では、10,000個の初期無作為サンプルが、発生される。無作為サンプルの量は、管理者によって定められてもよい、または無作為である、またはサンプルの定められた範囲内でそれ自体が無作為化されてもよい。随意の実施形態では、サンプルは、正確には無作為ではないが、代わりに、各所与の原料に割り当てられた占有率が、原料リストによって必須化された順序にマップすることを確実にするという制約内で無作為である。例えば、原料リストが、水、NaCl、およびKClである場合、無作為の占有率が、より多くの占有率がNaClを超えて水に適用され、より多くの占有率が、KClを超えてNaClに適用される、規則に追従しなければならない制約が、適用されてもよい。
【0027】
サンプリングモジュール233は、無作為サンプルを使用して再構築された調合物ベクトルを発生させてもよい。ある実施形態では、サンプリングモジュール233は、訓練されたVAEを通して無作為サンプルのそれぞれを入力し、各無作為サンプルは、最初に訓練されたVAEのエンコーダ、次いで、そのデコーダによって処理される。各無作為サンプルが、エンコーダによって処理されると、ベクトルのエンコードされたバージョンが、随意に、下記に説明される2段階実施形態におけるさらなる処理のために保存される。サンプリングモジュール233は、訓練されたVAEからの(例えば、デコーダからの)出力として、無作為サンプルのそれぞれに関する再構築された調合物ベクトルを受信する。
【0028】
レシピ合致モジュール234は、再構築された調合物ベクトルから、原料順序リストに合致するベクトルを識別する。それを行うために、レシピ合致モジュール234は、再構築された調合物ベクトルと原料順序リストを比較する。具体的には、レシピ合致モジュール234は、各再構築された調合物ベクトルの原料順序付けと最初に入力された標的順序を比較する。レシピ合致モジュール234は、最初に入力された標的順序に厳密に合致する、再構築された調合物ベクトルのサブセットを判定する。レシピ合致モジュール234は、サブセット内の再構築された調合物ベクトルの数が、閾値を充足するかどうかを判定する。閾値は、管理者によって設定されてもよい、デフォルト(例えば、任意の合致が存在する場合に判定が満たされる場合、1のデフォルト)であってもよい、または発見的手法に従って判定されてもよい。閾値が充足されていないという判定に応答して、レシピ合致モジュール234は、順序の厳密な合致を要求する、1つ以上の制約を緩和する。
【0029】
制約が緩和され得る様式は、管理者または発見的手法によって規定されてもよい。例示的実施形態では、1つ以上の制約を緩和することにおいて、レシピ合致モジュール234は、最小の原料(すなわち、最初のM-1個の最大原料であって、Mは、原料の数である)を無視するときに、合致の閾値数が存在するかどうかを最初に判定してもよい。いかなるものも、見出されない場合、本システムはさらに、合致の閾値数が、満たされるまで、制約をM-2に緩和し、次いで、M-3に緩和する等としてもよい。任意の他の制約も、合致を反復的に追求するとき、緩和されると判定され得る。例えば、M-1個からM-2個等に緩和するのではなく、レシピ合致モジュール234は、プログラムされた発見的手法に基づいて、M-1個に、次いで、M-2個とM-1個に、次いで、M-3個に、次いで、M-3個とM-1個に緩和する等としてもよい。
【0030】
用語「1段階サンプリング」は、本明細書で使用されるように、再構築された調合物ベクトルの1つのみのセットが、識別され、レシピ合致モジュール234にかけられる、実施形態を指す。1段階サンプリングが使用される実施形態では、1つのみの再構築された調合物ベクトルが、合致する場合、レシピ合致モジュール234は、合致する再構築された調合物ベクトルが原料の脱調合されたリストを表すことを判定し得る。1つを上回る合致が、見出される場合、レシピ合致モジュール234は、合致を横断して統計演算(例えば、合致するベクトルにわたる平均または任意の他の統計演算)を実施してもよく、統計演算の結果を使用し、原料の脱調合されたリストを表してもよい。
【0031】
(例えば、サンプリングモジュール233およびレシピ合致モジュール234によって実施されるように、調合空間から直接行われるような)直接的な1段階サンプリングは、非常に少ない再構築された調合物ベクトルが正しい原料順序に合致するシナリオにおいて算出上非効率的であり得る。そのようなシナリオは、合致が見出されるまで、制約を反復的に緩和し、再構築された調合物ベクトルの膨大な量を再分析することにおいて、大量の算出能力の浪費的使用をもたらす。
【0032】
さらなる算出効率が所望されるいくつかの実施形態では、2段階サンプリングシステムが、採用される。用語「2段階サンプリング」は、本明細書で使用されるように、潜在部分空間がサンプリングされ、次いで、1段階サンプリングのために使用されるであろうものより低い閾値への合致が実施され、次いで、第2のサンプリングが、合致に基づいて潜在空間の有望な部分空間内で実施される、実施形態を指す。2段階サンプリングシステムを使用して獲得される効率は、ある品質の合致のために要求される無作為サンプルの数から導出される。例えば、上記に説明される1段階システムを使用すると、20,000個の無作為点が、サンプリングされ得、その場合、最良に識別された合致は、M-4個である(4つの原料が、合致されていないことを意味する)。これは、多くの制約を緩和した後、空間を反復的に探索するために、膨大な量の処理能力を要求する。代わりに、下記に説明される2段階サンプリングシステムを使用すると、本システムは、最初により小さい数のもの(例えば、10,000個)をサンプリングし、有望な潜在面積(例えば、1段階サンプリングにおいて使用される閾値と比較して実質的により小さい閾値等、少数の合致に基づく、潜在面積)を識別し得る。本システムは、次いで、有望な潜在面積から別の、例えば、10,000個をサンプリングしてもよく、その場合、本システムは、同一またはより低い算出コストで、より良好な合致(例えば、M-2個)を見出す可能性がはるかにより高い。
【0033】
2段階アプローチに従って、部分空間判定モジュール235は、対応する潜在空間エンコーディングを使用し、潜在部分空間を定義する。すなわち、部分空間判定モジュール235は、合致をVAEエンコーダの中に入力するが、まだ潜在部分空間をデコードしていない。例えば、VAE訓練モジュール231に関して上記に述べられるように、VAEは、エンコーダ出力をデコーディングすることに先立った、2段階アプローチにおける以降の使用のために、エンコーダの出力を記憶してもよい。
【0034】
ある実施形態では、部分空間判定モジュール235は、潜在部分空間を、全ての合致のエンコードされた状態におけるそれらの潜在空間次元の最小範囲から最大範囲として、定義する。すなわち、サンプリングモジュール233およびレシピ合致モジュール234は、上記に説明されるような様式において作用し得、合致の閾値数(例えば、1つまたは数個のみの合致等の少ない閾値)を検出することに応答して、(例えば、1段階アプローチにおけるもの等、合致のより高い閾値が追求された場合に生じるであろうより早期に)制約緩和が、完結する。部分空間判定モジュール235は、次いで、合致する再構築された調合物ベクトルのエンコードされた状態を使用して、本少数の合致に基づいて、潜在部分空間を判定する。ある実施形態では、最小範囲および最大範囲は、完全な網羅を確実にするように係数によってパディング(例えば、各方向に追加の0.5インチだけ、または管理者もしくは発見的手法によって判定された任意の数だけパディング)されてもよい。
【0035】
VAE再サンプリングモジュール236は、(1段階アプローチと比較してより少ない算出能力を使用する、より良好な合致をもたらす可能性が高い、有望な潜在空間である)潜在部分空間から無作為にサンプリングすることによって、無作為化されたベクトルを発生させる。ある実施形態では、再サンプリングが、再構築された調合物ベクトルが発生されたとき、エンコーダの出力から保存された、すでにエンコードされたベクトルを使用して実施される。別の実施形態では、VAE再サンプリングモジュール236が、潜在部分空間からの均一なサンプリングによって、無作為サンプルを発生させる。潜在部分空間は、初期の合致に基づいて狭小な領域(例えば、2段階プロセスのより低い閾値の合致ベクトルに対応する、エンコードされたベクトルからの潜在部分空間の領域)に制約され、順序付け制約に合致するより高い確率を有する、サンプルにつながり得る。これらの恩恵は、サンプル発生の速度および品質の両方の劇的な改良をもたらす。
【0036】
VAE再サンプリングモジュール236は、次いで、VAEの半分をデコーディングすることを通して、潜在部分空間からこれらのサンプルを通過させ、再構築された調合物ベクトルを発生させてもよい。前述のように、再構築された調合物ベクトルは、レシピ合致モジュール234に関して前述に説明された同一の漸次的緩和方法を使用して、順序付けにおける合致に関してチェックされる。VAE再サンプリングモジュール236は、合致の最小閾値数が識別されるまで、合致を検索することによってサンプルを発生させる。最小値は、管理者によって、X個のサンプル(例えば、X=25)であるように定義されてもよい、または発見的手法によって定義されてもよい。
【0037】
高められた効率が、本プロセスにおいて達成される。例えば、さらなる正確度がさらなるサンプリングおよびさらなる算出を要求するという点において、比率に応じたコストが、存在する。2段階アプローチは、所与の正確度に関して、本第2のサンプリング段階を使用して、1段階アプローチより算出上効率的である。そのため、本システムが、原料合致フィルタ閾値を一定に保持するべきである(すなわち、M-4個の原料が合致しなければならない)場合、これは、平均で、1段階サンプリングアプローチを用いる場合よりも、2段階サンプリングアプローチを用いる場合に、該当する、はるかに少ない数の総サンプルを要するであろう。
【0038】
加えて、潜在空間からのサンプリングは、元来、これが、はるかにより少ないメモリと、より少ないネットワークリソースとを使用するため、調合空間からのサンプリングより算出上効率的である。したがって、最初に有望な空間を見出すために調合空間においてサンプリングし、次いで、潜在空間内の有望な空間をサンプリングすることは、単一段階実施形態におけるものと同一の数のサンプルをとるときであっても、より算出上効率的である。
【0039】
実施例として、脱調合ツール130は、データセット全体にわたって、最初のM-4個の原料に関する平均原料合致を用いて脱調合することを目的とし得る。脱調合ツール130が、無作為サンプルの数を調整するために、10個の無作為に選択された候補に対して脱調合を試行する場合、これは、10,000個+10,000個の2段階サンプルと比較して、正確な結果を達成するために100,000個の1段階サンプルを要求し得る。加えて、正確度は、脱調合ツール130により多くの第2の段階サンプル、そのため、合計で再び100,000個のための10,000個と、90,000個とを追加させることによって強化されることができるが、これは、調合空間において全てをサンプリングする場合よりも、潜在空間において90,000個をそのようにすることが、平均してはるかに正確でありながら、効率的でもあるため、依然として、100,000個の1段階サンプルよりも算出上高額ではない。正確度に関する他の手段は、ユーザまたは管理者による入力として、合致の標的数Xを含み、これは、ほぼ同一の方法で機能し、すなわち、2ステップは、1ステップよりも、要求されるXに該当するために少ない総数のサンプルを必要とするであろう。最終的には、2段階は、同一のコストでより正確であるか、同一の正確度でより迅速であるか、または組み合わせのいずれかであり、その平衡を選択することは、ユーザに任される。
【0040】
1段階アプローチまたは2段階アプローチが使用されるかどうかに関係なく、1つを上回る合致が判定される場合、統計的集約モジュール237は、(例えば、1つの調合物ベクトルを発生させるために)X個のサンプルの原料画分に関して統計演算を使用して、合致されたサンプルを集約する。一実施形態では、本統計的集約は、X個のサンプルにわたって原料画分を平均化することによって行われ得るが、いかなる統計演算も、本開示の範囲内である。
【0041】
いくつかの実施形態では、統計的集約に続いて、再構築された調合物ベクトルは、初期の原料リスト上に存在していなかった原料に関して、非ゼロの原料画分を有し得る。本問題に対処するために、後処理モジュール238が、原料リスト内に出現していない原料を0.0に設定してもよく、次いで、ベクトルを合計が1になるように再度正規化してもよい。結果として生じる調合物ベクトルは、最終脱調合を表す。
【0042】
図3は、単一段階または2段階機械学習を使用して原料リストを脱調合するための、例示的データフローを図示する。データフロー300は、いくつかの特定のユースケースおよび制約に注力しているが、しかしながら、これは、便宜上ならびに例証のし易さのためにすぎず、本明細書に説明される動作のいかなる変形例も、データフロー300の範囲内である。データフロー300は、その間に脱調合ツール130が、(例えば、VAE訓練データ240からの)原料画分を含む、既存の調合物レシピの訓練データを取得する(305)、訓練段階(「段階A」)から開始する。脱調合ツール130は、次いで、VAEを、(例えば、VAE訓練モジュール231を使用して)通常の潜在空間分布で最小限損失を伴って訓練データを再現するように訓練する(310)。
【0043】
データフロー300は、段階Bに進み、これは、1段階アプローチに一意であるが、所望に応じて2段階アプローチにも寄与する、ステップを説明する。脱調合ツール130が、定義された順序を伴うが、(例えば、原料リスト処理モジュール232を使用して)各所与の原料の精密な量を省略する、原料リストを受信する(315)。脱調合ツール130は、次いで、存在しない原料の量を表すためにゼロを使用して、(例えば、サンプリングモジュール233を使用して)他の原料画分が合計で1になることを確実にするように、例えば、ディリクレ分布からの無作為サンプリングを実施する(320)。脱調合ツール130は、次いで、訓練されたVAEを通してサンプルをフィードし(325)、サンプルを既知の順序付けに従うレシピにフィルタリング(330)し、いかなるものも、見出されない場合、制約が、合致の閾値数が(例えば、レシピ合致モジュール234を使用して実施されるように)見出されるまで、緩和される。1段階アプローチでは、フィルタリングされたレシピ(または統計的に集約されたようなレシピ)が、最終脱調合物として出力されるであろう。2段階アプローチでは、データフロー300は、段階Cに進む。
【0044】
段階Cにおいて、脱調合ツール130は、VAE潜在空間内に新しい部分空間を定義するために合致を使用する(例えば、部分空間判定モジュール235によって実施されるような、有望な部分空間の識別)(335)。脱調合ツール130は、順序付け制約に合致する、少なくともサンプルの閾値数(例えば、再サンプリングモジュール236によって実施されるような、1段階アプローチと比較して2段階アプローチのために使用される、より低い閾値)が、見出されるまで、VAE潜在部分空間からのサンプリングに進む(340)。脱調合ツール345は、次いで、(例えば、統計的集約モジュール237によって実施されるように)合致するサンプルに対して統計演算を実施し、(例えば、後処理モジュール238によって実施されるように)最終脱調合物原料量を取得するために結果として生じるベクトルを後処理する(350)。
【0045】
図4は、命令を機械可読媒体から読み取り、それらをプロセッサ(またはコントローラ)内で実行することが可能である、例示的機械のコンポーネントを図示する、ブロック図である。具体的には、
図4は、その中で機械に本明細書で議論される方法論のうちのいずれか1つ以上を実施させるためのプログラムコード(例えば、ソフトウェア)が、実行され得る、コンピュータシステム400の例示的形態における機械の図式表現を示す。プログラムコードは、1つ以上のプロセッサ402によって実行可能な命令424から成ってもよい。代替実施形態では、機械は、独立型デバイスとして動作する、または他の機械に接続(例えば、ネットワーク化)されてもよい。ネットワーク化された展開では、機械は、サーバ/クライアントネットワーク環境内のサーバ機械またはクライアント機械の容量内で、またはピアツーピア(または分散型)ネットワーク環境内のピア機械として動作してもよい。
【0046】
機械は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、スマートフォン、ウェブ装置、ネットワークルータ、スイッチまたはブリッジ、もしくはその機械によって講じられるべきアクションを規定する、命令424を(順次または別様に)実行することが可能な任意の機械であり得る。さらに、単一機械のみが、図示されるが、用語「機械」はまた、個々に、またはともに命令424を実行し、本明細書で議論される方法論のうちのいずれか1つ以上を実施する、機械の任意の集合を含むものと捉えられるものとする。
【0047】
例示的コンピュータシステム400は、プロセッサ402(例えば、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、1つ以上の特定用途向け集積回路(ASIC)、1つ以上の無線周波数集積回路(RFIC)、またはこれらの任意の組み合わせ)と、メインメモリ404と、静的メモリ406とを含み、これは、バス408を介して、相互と通信するように構成される。コンピュータシステム400はさらに、視覚ディスプレイインターフェース410を含んでもよい。視覚インターフェースは、ユーザインターフェースを画面(またはディスプレイ)上に表示することを可能にする、ソフトウェアドライバを含んでもよい。視覚インターフェースは、ユーザインターフェースを、直接(例えば、画面上に)、または(例えば、視覚投影ユニットを介して)表面、窓、もしくは同等物上に間接的に表示してもよい。議論を容易にするために、視覚インターフェースは、画面として説明され得る。視覚インターフェース410は、タッチ対応画面を含んでもよい、またはそれとインターフェースをとってもよい。コンピュータシステム400はまた、英数字入力デバイス412(例えば、キーボードまたはタッチスクリーンキーボード)と、カーソル制御デバイス414(例えば、マウス、トラックボール、ジョイスティック、運動センサ、または他のポインティング器具)と、記憶ユニット416と、信号発生デバイス418(例えば、スピーカ)と、ネットワークインターフェースデバイス420とを含んでもよく、これもまた、バス408を介して、通信するように構成される。
【0048】
記憶ユニット416は、その上に、本明細書に説明される方法論または機能のうちのいずれか1つ以上を具現化する命令424(例えば、ソフトウェア)が記憶される、機械可読媒体422を含む。命令424(例えば、ソフトウェア)はまた、完全または少なくとも部分的に、機械可読媒体も成す、コンピュータシステム400、メインメモリ404、およびプロセッサ402によるその実行の間、メインメモリ404内に、またはプロセッサ402内(例えば、プロセッサのキャッシュメモリ内)に常駐してもよい。命令424(例えば、ソフトウェア)は、ネットワーク426を経由して、ネットワークインターフェースデバイス420を介して伝送または受信されてもよい。
【0049】
機械可読媒体422は、単一媒体であるように例示的実施形態に示されるが、用語「機械可読媒体」は、命令(例えば、命令424)を記憶することが可能である、単一媒体または複数の媒体(例えば、一元型または分散型データベース、または関連付けられるキャッシュおよびサーバ)を含むものと捉えられるべきである。用語「機械可読媒体」はまた、機械による実行のための命令(例えば、命令424)を記憶することが可能であって、機械に本明細書に開示される方法論のうちのいずれか1つ以上を実施させる、任意の媒体を含むものと捉えられるものとする。用語「機械可読媒体」は、限定ではないが、ソリッドステートメモリ、光学媒体、および磁気媒体の形態におけるデータリポジトリを含む。
【0050】
図5は、レシピを脱調合するためのプロセスの例示的フローチャートである。プロセス500の要素は、命令424を実行するプロセッサ402によって実施されてもよい。プロセス500の要素は、例示的にすぎず、本開示内の他の説明に従って、任意の順序で実施される、またはより少ないまたは付加的な要素を含んでもよい。プロセス500は、脱調合ツール130が(例えば、原料リスト処理モジュール232を使用して)原料のシーケンスを含む原料リストを受信すること(502)から開始し、シーケンスは、各原料がシーケンス内に存在する場所に基づいて各原料の相対量を確立する。脱調合ツール130は、次いで、(例えば、サンプリングモジュール233を使用して)複数の調合物ベクトルを発生させ(504)てもよく、各調合物ベクトルは、原料リスト内に存在し得る既知の候補原料の相対的占有率を示す、原料リストの無作為サンプリングを実施することによって導出される。
【0051】
脱調合ツール130は、次いで、複数の調合物ベクトルを機械学習されたモデル(例えば、モデルデータベース241からのVAE)の中に入力してもよく(506)、機械学習されたモデルは、エンコーダを使用して、複数の調合物ベクトルのそれぞれのエンコードされたバージョンを発生させ、次いで、複数の再構築された調合物ベクトルを、(例えば、VAE訓練モジュール231によって実施された訓練に基づいて)デコーダを使用して導出されたものとして出力する。脱調合ツール130は、(例えば、レシピ合致モジュール234を使用して)シーケンスに合致する順序を有する、複数の再構築された調合物ベクトルのサブセットを識別し(508)、(例えば、部分空間判定モジュール235を使用して)再構築された調合物ベクトルのサブセットのエンコードされたバージョンを使用して、潜在空間を定義してもよい(510)。
【0052】
脱調合ツール130は、(例えば、VAE再サンプリングモジュール236を使用して)シーケンスに対応する順序付け制約に合致する、サンプルの閾値数が導出されるまで、潜在空間を反復的にサンプリングしてもよい(512)。閾値が充足されていることに応答して、脱調合ツール130は、(例えば、統計的集約モジュール237を使用して)サンプルの統計的集約を実施してもよく(514)、(例えば、
図6に関してさらに下記に説明されるようなユーザインターフェースを使用して)原料リスト内の各原料の絶対量のインジケーションを出力してもよい(516)。
【0053】
図6は、レシピを入力し、脱調合されたレシピを機械学習脱調合に基づく出力として受信するための例示的ユーザインターフェースを描写する。ユーザインターフェース600は、クライアントデバイス110上に表示されてもよく、入力選択肢610と、出力選択肢620とを含む。入力選択肢610は、順序付けられた原料リストを入力するための選択を可能にする、ドロップダウンメニューとして描写される。例示的選択は、原料リスト内に手動でタイピングする(または話す)こと、(それによって原料の検索が実施されるであろう)製品名を打ち込むこと、バーコードを走査すること、およびQRコード(登録商標)を走査することを含む。原料リストを取得するための他の選択(例えば、原料リストの画像を捕捉すること、光学式文字認識を使用してその中に明示される原料を分解すること)も、本開示の範囲内である。(例えば手動入力または検索のいずれかを介して)原料リストが取得された後、出力選択肢620は、脱調合ツール130によって判定されるような原料リストの比率を取り込む。
【0054】
付加的な構成考慮点
本明細書全体を通して、複数のインスタンスは、単一のインスタンスとして説明されるコンポーネント、動作、または構造を実装してもよい。1つ以上の方法の個々の動作が、別個の動作として例証および説明されるが、個々の動作のうちの1つ以上が、並行して実施されてもよく、動作が例証される順序で実施されることを要求するものではない。例示的構成において別個のコンポーネントとして提示される構造および機能性は、組み合わせられた構造またはコンポーネントとして実装されてもよい。同様に、単一のコンポーネントとして提示される構造および機能性は、別個のコンポーネントとして実装されてもよい。これらおよび他の変形例、修正、追加、ならびに改良は、本明細書の主題の範囲内にある。
【0055】
ある実施形態が、本明細書では、論理またはいくつかのコンポーネント、モジュール、または機構を含むように説明される。モジュールは、ソフトウェアモジュール(例えば、機械可読媒体上または伝送信号内に具現化されたコード)またはハードウェアモジュールのいずれも成し得る。ハードウェアモジュールは、ある動作を実施することが可能な有形ユニットであって、ある様式において構成または配列されてもよい。例示的実施形態では、1つ以上のコンピュータシステム(例えば、独立型、クライアント、またはサーバコンピュータシステム)またはコンピュータシステムの1つ以上のハードウェアモジュール(例えば、プロセッサまたはプロセッサ群)が、本明細書に説明されるようにある動作を実施するように動作する、ハードウェアモジュールとして、ソフトウェア(例えば、アプリケーションまたはアプリケーション部分)によって構成されてもよい。
【0056】
種々の実施形態では、ハードウェアモジュールが、機械的または電子的に実装されてもよい。例えば、ハードウェアモジュールは、ある動作を実施するように恒久的に構成される、専用回路網または論理(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)等の特殊目的プロセッサ)を備えてもよい。ハードウェアモジュールはまた、ある動作を実施するように、ソフトウェアによって一時的に構成される、(例えば、汎用目的プロセッサまたは他のプログラマブルプロセッサ内に包含されるような)プログラマブル論理または回路網を備えてもよい。ハードウェアモジュールを専用および恒久的に構成される回路網または一時的に構成される回路網(例えば、ソフトウェアによって構成される)内に機械的に実装するための決定が、コストならびに時間的考慮点によって促され得ることを理解されたい。
【0057】
故に、用語「ハードウェアモジュール」は、有形エンティティを包含し、ある様式において動作する、または本明細書に説明されるある動作を実施するように、物理的に構築される、恒久的に構成される(例えば、有線)、または一時的に構成される(例えば、プログラムされる)エンティティであることを理解されたい。本明細書に使用されるように、「ハードウェア実装モジュール」は、ハードウェアモジュールを指す。ハードウェアモジュールが一時的に構成される(例えば、プログラムされる)実施形態を検討すると、ハードウェアモジュールはそれぞれ、ある時間内の任意の1つのインスタンスにおいて構成またはインスタンス化される必要はない。例えば、ハードウェアモジュールが、ソフトウェアを使用して構成される汎用目的プロセッサを備える場合、汎用目的プロセッサは、異なる時間において個別の異なるハードウェアモジュールとして構成されてもよい。ソフトウェアは、故に、例えば、1つの時間のインスタンスにおいて、特定のハードウェアモジュールを成し、異なる時間のインスタンスにおいて、異なるハードウェアモジュールを成すように、プロセッサを構成してもよい。
【0058】
ハードウェアモジュールは、他のハードウェアモジュールに情報を提供し、そこから情報を受信することができる。故に、説明されるハードウェアモジュールは、通信可能に結合されるものとして見なされ得る。複数のそのようなハードウェアモジュールが、同時に存在する場合、通信は、ハードウェアモジュールを接続する、信号伝送を通して達成されてもよい(例えば、適切な回路およびバスを経由して)。複数のハードウェアモジュールが異なる時間において構成またはインスタンス化される実施形態では、そのようなハードウェアモジュール間の通信は、例えば、複数のハードウェアモジュールがアクセスを有する、メモリ構造内の情報の記憶および読出を通して達成されてもよい。例えば、1つのハードウェアモジュールが、動作を実施し、通信可能に結合されるメモリデバイス内に、その動作の出力を記憶してもよい。さらなるハードウェアモジュールが、次いで、後の時間に、メモリデバイスにアクセスし、記憶された出力を読み出し、処理してもよい。ハードウェアモジュールはまた、入力または出力デバイスとの通信を開始してもよく、リソース(例えば、情報の集合)に基づいて動作することができる。
【0059】
本明細書に説明される例示的方法の種々の動作は、少なくとも部分的に、関連動作を実施するように一時的に構成される(例えば、ソフトウェアによって)または恒久的に構成される、1つ以上のプロセッサによって実施されてもよい。一時的または恒久的に構成されるかどうかにかかわらず、そのようなプロセッサは、1つ以上の動作または機能を実施するように動作する、プロセッサ実装モジュールを成してもよい。本明細書で言及されるモジュールは、いくつかの例示的実施形態では、プロセッサ実装モジュールを備えてもよい。
【0060】
同様に、本明細書に説明される方法は、少なくとも部分的に、プロセッサ実装されてもよい。例えば、方法の動作のうちの少なくともいくつかが、1つ以上のプロセッサまたはプロセッサ実装ハードウェアモジュールによって実施されてもよい。動作のうちのあるものの性能は、1つ以上のプロセッサ間に分散され、単一機械内に常駐するだけではなく、いくつかの機械を横断して展開されてもよい。いくつかの例示的実施形態では、プロセッサまたは複数のプロセッサは、(例えば、家庭環境、オフィス環境内、またはサーバファームとして)単一場所に位置してもよい一方、他の実施形態では、プロセッサは、いくつかの場所を横断して分散されてもよい。
【0061】
1つ以上のプロセッサはまた、「クラウドコンピューティング」環境内の、または「ソフトウェア・アズ・ア・サービス」(SaaS)としての関連動作の性能をサポートするように動作してもよい。例えば、動作のうちの少なくともいくつかは、コンピュータの群(プロセッサを含む、機械の実施例として)によって実施されてもよく、これらの動作は、ネットワーク(例えば、インターネット)を介して、および1つ以上の適切なインターフェース(例えば、アプリケーションプログラムインターフェース(API))を介して、アクセス可能である。
【0062】
動作のうちのあるものの性能は、1つ以上のプロセッサの中に分散され、単一機械内にのみ常駐するだけではなく、いくつかの機械を横断して展開されてもよい。いくつかの例示的実施形態では、1つ以上のプロセッサまたはプロセッサ実装モジュールは、単一の地理的場所内(例えば、自宅環境、オフィス環境、またはサーバファーム内)に位置してもよい。他の例示的実施形態では、1つ以上のプロセッサまたはプロセッサ実装モジュールは、いくつかの地理的場所を横断して分散されてもよい。
【0063】
本明細書のいくつかの部分は、機械メモリ(例えば、コンピュータメモリ)内にビットまたはバイナリデジタル信号として記憶されたデータ上の動作のアルゴリズムまたは記号表現の観点から提示される。これらのアルゴリズムまたは記号表現は、それらの作業の重要性を他の当業者に伝達するために、データ処理分野における当業者によって使用される技法の実施例である。本明細書に使用されるように、「アルゴリズム」は、所望の結果につながる動作または類似処理の自己一貫シーケンスである。本文脈では、アルゴリズムおよび動作は、物理的数量の物理的操作を伴う。典型的には、必ずしもというわけではないが、そのような数量は、機械によって記憶、アクセス、転送、組み合わせ、比較、または別様に操作されることが可能な電気、磁気、もしくは光学信号の形態をとり得る。時として、主に、一般的使用の理由から、「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「文字」、「項」、「数」、「数値」、または同等物等の用語を使用して、そのような信号を指すことが便宜的である。しかしながら、これらの用語は、便宜的標識にすぎず、適切な物理的数量と関連付けられるものとする。
【0064】
具体的に別様に述べられない限り、「処理する」、「算出する」、「計算する」、「判定する」、「提示する」、「表示する」、または同等物等の用語を使用した本明細書における議論は、1つ以上のメモリ(例えば、揮発性メモリ、不揮発性メモリ、またはそれらの組み合わせ)、レジスタ、または情報を受信、記憶、伝送、もしくは表示する、他の機械コンポーネント内の物理的(例えば、電子、磁気、または光学)数量として表されるデータを操作または変換する、機械(例えば、コンピュータ)のアクションまたはプロセスを指し得る。
【0065】
本明細書に使用されるように、「一実施形態」または「ある実施形態」の任意の言及は、実施形態に関連して説明される特定の要素、特徴、構造、もしくは特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書内の種々の場所における語句「一実施形態では」の表出は、必ずしも全てが同一実施形態を指しているわけではない。
【0066】
いくつかの実施形態は、それらの派生形とともに、表現「結合される」および「接続される」を使用して説明され得る。これらの用語が、相互の同義語として意図されるものではないことを理解されたい。例えば、いくつかの実施形態は、2つ以上の要素が相互と直接物理的または電気的に接続することを示すために用語「接続される」を使用して説明され得る。別の実施例では、いくつかの実施形態は、2つ以上の要素が直接物理的または電気的に接触することを示すために、用語「結合される」を使用して説明され得る。しかしながら、用語「結合される」はまた、2つ以上の要素が、直接相互と接触しないが、さらに依然として、相互と協働または相互作用することを意味し得る。実施形態は、本文脈において制限されない。
【0067】
本明細書に使用されるように、用語「comprises(~を備える)」、「comprising(~を備える)」、「includes、(~を含む)」、「including(~を含む)」、「has(~を有する)」、「having(~を有する)」、またはそれらの任意の他の変形例は、非排他的含有を網羅することを意図する。例えば、要素のリストを備える、プロセス、方法、物品、または装置は、必ずしも、それらの要素のみに制限されず、明示的に列挙されない、もしくはそのようなプロセス、方法、物品、または装置に固有の他の要素を含み得る。さらに、明示的に対照的に述べられない限り、「or(または)」は、含有のorを指し、排他的orを指すわけではない。例えば、条件AまたはBは、Aが真であって(または存在する)、Bが偽である(または存在しない)こと、Aが偽であって(または存在しない)、Bが真である(または存在する)こと、およびAならびにBが両方とも真である(または存在する)ことのいずれか1つによって満たされる。
【0068】
加えて、「a」または「an」の使用は、本明細書の実施形態の要素およびコンポーネントを説明するために採用される。これは、便宜のために行われるにすぎず、本発明の一般的意味を与えるために行われる。本説明は、1つまたは少なくとも1つを含むものとして読まれるべきであって、単数形もまた、別様に意味されることが明白でない限り、複数形を含む。
【0069】
本開示の熟読に応じて、当業者は、本明細書に開示される原理を通して、能力マップを発生させるために機械学習を使用するためのシステムおよびプロセスのためのさらに付加的な代替構造ならびに機能設計を理解するであろう。したがって、特定の実施形態および用途が例証ならびに説明されているが、開示される実施形態が、本明細書に開示される精密な編成およびコンポーネントに制限されないことを理解されたい。種々の修正、変更、および変形例が、添付の請求項において定義される精神ならびに範囲から逸脱することなく、本明細書に開示される方法および装置の配列、動作、ならびに詳細に行われ得ることが当業者に明白となるであろう。
【国際調査報告】