(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-19
(54)【発明の名称】計算シミュレーションデータからの機械学習モデルの自動生成
(51)【国際特許分類】
G06N 20/00 20190101AFI20231012BHJP
【FI】
G06N20/00 130
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023519644
(86)(22)【出願日】2021-09-30
(85)【翻訳文提出日】2023-05-24
(86)【国際出願番号】 US2021052800
(87)【国際公開番号】W WO2022072593
(87)【国際公開日】2022-04-07
(32)【優先日】2020-09-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521060822
【氏名又は名称】オンスケール,インコーポレイテッド
(74)【代理人】
【識別番号】100092783
【氏名又は名称】小林 浩
(74)【代理人】
【識別番号】100120134
【氏名又は名称】大森 規雄
(74)【代理人】
【識別番号】100221327
【氏名又は名称】大川 亮
(72)【発明者】
【氏名】フリード,デイビッド エム.
(72)【発明者】
【氏名】キャンベル,イアン
(57)【要約】
機械学習モデルを自動的に訓練するためのシステム及び方法が本明細書に記載される。例示的な方法は、計算シミュレーションのセットを実行することと、計算シミュレーションのセットに関連付けられたデータセットをアセンブルすることと、を含む。データセットは、計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション結果に関連付けられたデータを含む。本方法はまた、データセットを用いて機械学習モデルを訓練することを含む。機械学習モデルに対する少なくとも1つの特徴及び少なくとも1つのターゲットは、データセットの一部である。
【選択図】
図4
【特許請求の範囲】
【請求項1】
機械学習モデルを自動的に訓練するための方法であって、
計算シミュレーションのセットを実行することと、
前記計算シミュレーションのセットに関連付けられたデータセットをアセンブルすることであって、前記データセットが、前記計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション結果に関連付けられたデータを含む、アセンブルすることと、
前記データセットを用いて機械学習モデルを訓練することであって、前記機械学習モデルに対する少なくとも1つの特徴及び少なくとも1つのターゲットが、前記データセットの一部である、訓練することと、を含む、方法。
【請求項2】
前記データセットが、前記計算シミュレーションのセットにおける前記少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション入力に関連付けられたデータを更に含む、請求項1に記載の方法。
【請求項3】
ユーザから、前記少なくとも1つのシミュレーション入力に関連する入力仕様を受信することを更に含む、請求項2に記載の方法。
【請求項4】
ユーザから、前記少なくとも1つのシミュレーション結果に関連する結果仕様を受信することを更に含む、請求項2又は3に記載の方法。
【請求項5】
前記計算シミュレーションのセットにおける前記少なくとも1つの計算シミュレーションに対する前記少なくとも1つのシミュレーション入力が、パラメータ化された変数を含む、請求項2に記載の方法。
【請求項6】
前記パラメータ化された変数が、シミュレーションモデル上のある場所におけるパラメータ化された条件である、請求項5に記載の方法。
【請求項7】
前記パラメータ化された変数が、シミュレーションモデルのパラメータ化された特質である、請求項5に記載の方法。
【請求項8】
前記計算シミュレーションのセットにおける前記少なくとも1つの計算シミュレーションに対する前記少なくとも1つのシミュレーション結果が、シミュレーションモデル上のある場所における算出された特性を含む、請求項1~5のいずれか一項に記載の方法。
【請求項9】
前記算出された特性が、測定デバイスの出力を表す、請求項8に記載の方法。
【請求項10】
ユーザから、前記機械学習モデルに対する前記少なくとも1つのターゲットに関連するターゲット仕様を受信することを更に含む、請求項1~9のいずれか一項に記載の方法。
【請求項11】
前記少なくとも1つのターゲットが、シミュレーション入力である、請求項10に記載の方法。
【請求項12】
前記少なくとも1つのターゲットが、シミュレーション結果である、請求項10に記載の方法。
【請求項13】
ユーザから、前記機械学習モデルに対する前記少なくとも1つの特徴に関連する特徴仕様を受信することを更に含む、請求項1~12のいずれか一項に記載の方法。
【請求項14】
前記少なくとも1つの特徴が、シミュレーション入力である、請求項13に記載の方法。
【請求項15】
前記少なくとも1つの特徴が、シミュレーション結果である、請求項13に記載の方法。
【請求項16】
前記データセットを用いて前記機械学習モデルを訓練するステップが、前記データセットを用いて複数の機械学習モデルを訓練することを含む、請求項1~15のいずれか一項に記載の方法。
【請求項17】
前記機械学習モデルが、並列に訓練される、請求項16に記載の方法。
【請求項18】
前記訓練された機械学習モデルの各々の性能を評価することを更に含む、請求項16又は17に記載の方法。
【請求項19】
前記訓練された機械学習モデルが、物理システムの測定デバイスによって取得された少なくとも1つの測定値に基づいて、前記物理システムの状態、特性、又は挙動を予測するように構成されている、請求項1~18のいずれか一項に記載の方法。
【請求項20】
前記機械学習モデルが、教師あり学習モデル、半教師あり学習モデル、又は教師なし学習モデルである、請求項1~19のいずれか一項に記載の方法。
【請求項21】
前記機械学習モデルが、深層学習モデルである、請求項1~19のいずれか一項に記載の方法。
【請求項22】
前記機械学習モデルが、人工ニューラルネットワークである、請求項1~19のいずれか一項に記載の方法。
【請求項23】
前記計算シミュレーションのセット及び前記機械学習モデルの訓練が、停止基準に達するまで実行される、請求項1~22のいずれか一項に記載の方法。
【請求項24】
前記停止基準が、前記訓練された機械学習モデルの所定の性能レベル、所定の数のシミュレーション、所定の数の計算コア時間、又は所定のコストである、請求項23に記載の方法。
【請求項25】
ユーザに、前記訓練された機械学習モデルを提供することを更に含む、請求項1~24のいずれか一項に記載の方法。
【請求項26】
ユーザに、前記訓練された機械学習モデルを提供するステップが、前記ユーザに、前記訓練された機械学習モデルのアーキテクチャ、ハイパーパラメータ値、及び/又はパラメータ値を送信することを含む、請求項25に記載の方法。
【請求項27】
前記データセットが、物理システムに関連付けられた実データを更に含む、請求項1~26のいずれか一項に記載の方法。
【請求項28】
前記実データが、前記物理システムの少なくとも1つの測定デバイスによって測定される、請求項27に記載の方法。
【請求項29】
システムであって、
測定デバイスのネットワークを備えるデバイスと、
機械学習モジュールであって、前記機械学習モジュールが、データセットを用いて訓練され、前記データセットが、計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション結果に関連付けられたデータを含み、前記機械学習モジュールの少なくとも1つの特徴及び少なくとも1つのターゲットが、前記データセットの一部である、機械学習モジュールと、
プロセッサ及びメモリを備えるコントローラであって、前記メモリが、前記メモリに記憶されるコンピュータ実行可能命令を有し、前記命令が、前記プロセッサによって実行されると、前記プロセッサが、
前記測定デバイスのネットワークからそれぞれの測定値を受信すること、
前記それぞれの測定値を前記機械学習モジュールに入力すること、
前記機械学習モジュールによって予測される出力を受信することであって、前記出力が、前記デバイスの状態、特性、又は挙動である、受信することを行う、コントローラと、を備える、システム。
【請求項30】
前記データセットが、前記計算シミュレーションのセットにおける前記少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション入力に関連付けられたデータを更に含む、請求項29に記載のシステム。
【請求項31】
前記計算シミュレーションのセットにおける前記少なくとも1つの計算シミュレーションに対する前記少なくとも1つのシミュレーション入力が、パラメータ化された変数を含む、請求項30に記載のシステム。
【請求項32】
前記パラメータ化された変数が、シミュレーションモデル上のある場所におけるパラメータ化された状態である、請求項31に記載のシステム。
【請求項33】
前記パラメータ化された変数が、シミュレーションモデルのパラメータ化された特質である、請求項31に記載のシステム。
【請求項34】
前記計算シミュレーションのセットにおける前記少なくとも1つの計算シミュレーションに対する前記少なくとも1つのシミュレーション結果が、シミュレーションモデル上のある場所における算出された特性を含む、請求項29~33のいずれか一項に記載のシステム。
【請求項35】
前記算出された特性が、前記測定デバイスのネットワークの少なくとも1つの測定デバイスの出力を表す、請求項34に記載のシステム。
【請求項36】
前記訓練された機械学習モデルが、前記測定デバイスのネットワークによって取得された少なくとも1つの測定値に基づいて、前記デバイスの状態、特性、又は挙動を予測するように構成されている、請求項29~35のいずれか一項に記載のシステム。
【請求項37】
前記機械学習モデルが、教師あり学習モデル、半教師あり学習モデル、又は教師なし学習モデルである、請求項29~36のいずれか一項に記載のシステム。
【請求項38】
前記機械学習モデルが、深層学習モデルである、請求項29~36のいずれか一項に記載のシステム。
【請求項39】
前記機械学習モデルが、人工ニューラルネットワークである、請求項29~36のいずれか一項に記載のシステム。
【請求項40】
前記データセットが、前記デバイスに関連付けられた実データを更に含む、請求項29~39のいずれか一項に記載のシステム。
【請求項41】
前記実データが、前記測定デバイスのネットワークによって測定される、請求項40に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
コンピュータ支援工学(CAE)は、有限要素法(FEM)及び有限差分法(FDM)を含むがこれらに限定されない計算方法を使用して物理的オブジェクトの表現をシミュレートする実施である。FEM及び/又はFDMを使用してシミュレーションを実行するには、ドメインをメッシュと呼ばれる有限の数の要素に離散化する必要がある。FEM及びFDMは、微分方程式(例えば、偏微分方程式(PDE))を数値的に解くことができる方程式のシステムに変換するための技術である。
【0002】
人工知能の一分野である機械学習は、経験から自動的に「学習する」システムの能力を促進する。いくつかのケースでは、システムは人間の介入なしに学習することができる。機械学習は、アルゴリズムを訓練するために大量のデータを必要とする。
【発明の概要】
【0003】
計算シミュレーションデータから機械学習モデルを自動的に生成するためのシステム及び方法が本明細書に記載される。
【0004】
機械学習モデルを自動的に訓練するための例示的な方法が本明細書に記載される。方法は、計算シミュレーションのセットを実行することと、計算シミュレーションのセットに関連付けられたデータセットをアセンブルすることと、を含む。データセットは、計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション結果に関連付けられたデータを含む。本方法はまた、データセットを用いて機械学習モデルを訓練することを含む。機械学習モデルに対する少なくとも1つの特徴及び少なくとも1つのターゲットは、データセットの一部である。
【0005】
追加的に、データセットは、計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション入力に関連付けられたデータを更に含む。
【0006】
いくつかの実装形態では、本方法は、ユーザから、少なくとも1つのシミュレーション入力に関連する入力仕様を受信することを更に含む。
【0007】
いくつかの実装形態では、本方法は、ユーザから、少なくとも1つのシミュレーション結果に関連する結果仕様を受信することを更に含む。
【0008】
代替的又は追加的に、計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション入力は、パラメータ化された変数を含む。任意選択的に、パラメータ化された変数は、シミュレーションモデル上のある場所におけるパラメータ化された条件である。代替的又は追加的に、パラメータ化された変数は、任意選択的に、シミュレーションモデルのパラメータ化された特質である。
【0009】
代替的又は追加的に、計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション結果は、シミュレーションモデル上のある場所における算出された特性を含む。任意選択的に、算出された特性は、測定デバイスの出力を表す。
【0010】
いくつかの実装形態では、本方法は、ユーザから、機械学習モデルに対する少なくとも1つのターゲットに関連するターゲット仕様を更に受信する。任意選択的に、少なくとも1つのターゲットは、シミュレーション入力又はシミュレーション結果である。
【0011】
いくつかの実装形態では、本方法は、ユーザから、機械学習モデルに対する少なくとも1つの特徴に関連する特徴仕様を受信することを更に含む。任意選択的に、少なくとも1つの特徴は、シミュレーション入力又はシミュレーション結果である。
【0012】
いくつかの実装形態では、データセットを用いて機械学習モデルを訓練するステップは、データセットを用いて複数の機械学習モデルを訓練することを含む。任意選択的に、機械学習モデルは、並行に訓練される。代替的又は追加的に、本方法は、訓練された機械学習モデルの各々の性能を評価することを更に含む。
【0013】
代替的又は追加的に、訓練された機械学習モデルは、物理システムの測定デバイスによって取得された少なくとも1つの測定値に基づいて、物理システムの状態、特性、又は挙動を予測するように構成される。
【0014】
代替的又は追加的に、機械学習モデルは、教師あり学習モデル、半教師あり学習モデル、又は教師なし学習モデルである。任意選択的に、機械学習モデルは、深層学習モデルである。任意選択的に、機械学習モデルは、人工ニューラルネットワークである。
【0015】
いくつかの実装形態では、計算シミュレーションのセット及び機械学習モデル訓練は、停止基準に達するまで実行される。任意選択的に、停止基準は、訓練された機械学習モデルの所定の性能レベル、所定の数のシミュレーション、所定の数の計算コア時間、又は所定のコストである。
【0016】
いくつかの実装形態では、本方法は、ユーザに、訓練された機械学習モデルを提供することを更に含む。例えば、本方法は、ユーザに、任意選択的に、訓練された機械学習モデルのアーキテクチャ、ハイパーパラメータ値、及び/又はパラメータ値を送信することを含む。
【0017】
代替的又は追加的に、データセットは、物理システムに関連付けられた実データを更に含む。任意選択的に、実データは、物理システムの少なくとも1つの測定デバイスによって測定される。
【0018】
例示的なシステムが、本明細書に記載される。システムは、測定デバイスのネットワーク、機械学習モジュール、及びコントローラを含むデバイスを含む。機械学習モジュールは、データセットを用いて訓練され、データセットは、計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション結果に関連付けられたデータを含み、機械学習モデルに対する少なくとも1つの特徴及び少なくとも1つのターゲットがデータセットの一部である。コントローラは、プロセッサと、メモリに記憶されるコンピュータ実行可能命令を有するメモリと、を含む。コントローラは、測定デバイスのネットワークからそれぞれの測定値を受信し、それぞれの測定値を機械学習モジュールに入力し、機械学習モジュールによって予測された出力を受信するように構成されており、出力は、デバイスの状態、特性、又は挙動である。
【0019】
追加的に、データセットは、計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション入力に関連付けられたデータを更に含む。
【0020】
代替的又は追加的に、計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション入力は、パラメータ化された変数を含む。任意選択的に、パラメータ化された変数は、シミュレーションモデル上のある場所におけるパラメータ化された条件である。代替的又は追加的に、パラメータ化された変数は、任意選択的に、シミュレーションモデルのパラメータ化された特質である。
【0021】
代替的又は追加的に、計算シミュレーションのセットにおける少なくとも1つの計算シミュレーションに対する少なくとも1つのシミュレーション結果は、シミュレーションモデル上のある場所における算出された特性を含む。任意選択的に、算出された特性は、測定デバイスのネットワークの少なくとも1つの測定デバイスの出力を表す。
【0022】
代替的又は追加的に、訓練された機械学習モデルは、測定デバイスのネットワークによって取得された、によって取得された少なくとも1つの測定値に基づいて、物理システムの状態、特性、又は挙動を予測するように構成される。
【0023】
代替的又は追加的に、機械学習モデルは、教師あり学習モデル、半教師あり学習モデル、又は教師なし学習モデルである。任意選択的に、機械学習モデルは、深層学習モデルである。任意選択的に、機械学習モデルは、人工ニューラルネットワークである。
【0024】
代替的又は追加的に、データセットは、デバイスに関連付けられた実データを更に含む。任意選択的に、実データは、少なくとも測定デバイスのネットワークによって測定される。
【0025】
上記の主題が、コンピュータ制御装置、コンピュータプロセス、コンピューティングシステム、又はコンピュータ可読記憶媒体などの製品として実装され得ることを理解されたい。
【0026】
他のシステム、方法、特徴、及び/又は利点は、以下の図面及び詳細な説明を検討すると、当業者に明らかになるか、又は明らかになり得る。そのような追加のシステム、方法、特徴、及び/又は利点は全て、説明に含まれ、添付の特許請求の範囲によって保護されることが意図されている。
【図面の簡単な説明】
【0027】
図面中の構成要素は、互いに対して一定の縮尺である必要はない。同様の参照番号は、複数のビュー全体で対応する部分を指定する。
【0028】
【
図1】本明細書に記載される実装形態に従って機械学習モデルを自動的に訓練するための例示的な動作を例解するフローチャートである。
【
図3】本明細書に記載される実装形態に従った合成データセットを例解する表である。
【
図4】本明細書に記載される実装形態に従った機械学習モデルを自動的に訓練するための例示的な環境を例解するブロック図である。
【発明を実施するための形態】
【0029】
別途定義されない限り、本明細書で使用される全ての技術用語及び科学用語は、当業者に一般に理解される意味と同じ意味を有する。本明細書に記載されるものと同様又は同等の方法及び材料は、本開示の実施又は試験において使用され得る。本明細書及び添付の特許請求の範囲で使用される場合、単数形「a」、「an」、「the」は、文脈が明示的に別様に示さない限り、複数参照を含む。本明細書で使用される場合、「comprising(含む、備える)」という用語及びその変形は、「including(含む)」という用語及びその変形と同義に使用され、開放的で非限定的な用語である。本明細書で使用される「任意選択的な」又は「任意選択的に」という用語は、続いて記載される特徴、事象、又は状況が生じる場合又は生じない場合があり、その記載が、当該特徴、事象、又は状況が生じる場合及び生じない場合を含む。範囲は、本明細書において「約」1つの特定の値から、及び/又は「約」別の特定の値までとして表され得る。このような範囲が表される場合、態様は1つの特定の値から、及び/又は他の特定の値までを含む。同様に、値が「約」という先行詞の使用により近似として表される場合、特定の値は別の態様を形成することが理解される。範囲の各々の終点は、他の終点と関連して、及び他の終点とは独立して、両方とも重要であることが更に理解されよう。
【0030】
計算シミュレーションデータから機械学習モデルを自動的に生成するためのシステム及び方法が本明細書に記載される。従来、計算シミュレーションの性能は、機械学習訓練プロセスと統合されていなかった。上に記載されるように、機械学習は、訓練のために大きなデータセット(本明細書では「データセット」と称されることもある)を必要とする。計算シミュレーションのセットを実行し、結果の計算シミュレーションデータセット(しばしば「合成データ」と称される)を手動でアセンブルし、機械学習モデルを訓練するのは時間がかかり、エラーが発生しやすい。生の計算シミュレーションデータは、信頼性が低く、それゆえ、モデル訓練には不適である可能性がある。例えば、生の計算シミュレーションデータは、バイアスされ、不正確で、信頼性が低く、及び/又は曖昧であり得る。したがって、訓練データセット(及び任意選択的に検証及びテストデータセット)は、モデルの特定の目的を果たすために、計算シミュレーションデータから意図的に組み立てられなければならない。これにより、ゴミ入れ、ゴミ出しの問題が回避され得る。従来のシステムでは、データセットのアセンブリは手動のプロセスである。対照的に、本明細書に記載される自動化されたシステム及び方法は、効率的に計算シミュレーションデータを処理し、学習データセットをアセンブルして、次に、ユーザの介入なしに同じものを使用して機械学習モデルを訓練することができる。このような処理は、限定するものではないが、複数のソースからのデータをマージすること、データを整理すること、データをフォーマットすること、データをクリーニング(例えば、不要なデータ及び/又は問題のあるデータの除去)すること、データ及び/又はデータからの特徴の抽出、並びにデータのラベル付け(例えば、監視モデルに対して特徴及びターゲットをタグ付けすること)を含むことができる。上述したように、計算シミュレーションが大量のデータを生成することを理解されたい。本明細書に記載される自動化されたシステム及び方法は、他の特徴の中でも、シミュレーション入力及び結果のサブセットを識別し、このサブセットを訓練データセットにアセンブルし、次に、ユーザの介入なしに機械学習モデルを訓練するように構成される。したがって、本明細書に記載されるシステム及び方法は、計算シミュレーション、合成データ準備、及び機械学習モデル訓練を完全に自動化されたプロセスに統合することによって、従来のシステム及びプロセスに存在する問題を解決する。
【0031】
シミュレーションのセットによって生成された合成データを使用して、機械学習モデル、例えば、センサネットワークを含むデバイス上で作用する1つ以上の条件を予測するように構成された訓練された機械学習モデルを訓練することができる。例えば、デバイスに埋め込まれたセンサのネットワークを考慮する。デバイスは、任意の種類の構造であり得、センサは、様々なタイプであり得、例えば、センサネットワークは、様々なタイプの測定値(温度、圧力、ひずみなど)の混合を含むことができる。機械学習モデルに対する1つの目標は、リアルタイムで、センサネットワークの現在の測定された出力に基づいてデバイスに作用する1つ以上の条件を予測することであり得る。例えば、タッチスクリーンの場合、スクリーンはデバイスであり、デバイスは、スクリーンの下に配置された、分散されたひずみセンサのセットを含む。機械学習モデルに対する目標は、ひずみセンサの分散セットの実際の測定された出力に基づいて、スクリーン上の(タッチに起因する)力負荷場所を予測することであり得る。以下に説明するように、機械学習モデルは、計算シミュレーションデータ(例えば、合成データセット)を使用して訓練される。次いで、訓練された機械学習モデルを推論モードで使用して、力負荷場所を予測することができる。スクリーンに作用する条件のリアルタイム予測は、機械学習モデルの例示的な目標に過ぎないことを理解されたい。本開示は、機械学習モデルの他の目標を企図する。例えば、機械学習モデルに対する目標は、センサネットワークの測定された出力に基づいて、特定の結果(構造的障害又は過熱など)を予測することであり得る。
【0032】
デバイスに作用する1つ以上の条件を予測する目標に関して、デバイスのシミュレーションのセットは、例えば、幾何学的形状、材料、負荷/境界条件、出力などを指定することによって、通常の方法で設定することができる。出力は、センサネットワークにおける各センサの測定された特性及び場所を含むことができる。機械学習モデルが予測するように構成されている各条件(例えば、デバイスの表面上の圧力又は温度)に対して、その条件に対する値の分散が指定されている。次に、シミュレーションのセットを実行して、条件のセットに対するパラメータ空間を調べる。シミュレーションが完了すると、シミュレーション結果がデータセットに含まれる。任意選択的に、データセットを訓練データセット及び検証データセットに分割することができる。その後、機械学習モデルは、データセットを用いて訓練される(及び任意選択的に検証及び/又は調整される)。任意選択的に、機械学習モデルの分析により、更なるシミュレーション及び訓練に対して、パラメータ空間のどの領域を強調するかをプロセスに通知することができる。代替的又は追加的に、シミュレーションのセットは、停止基準に達するまで、任意選択的に継続することができる。例示的な停止基準は、機械学習モデル性能が許容される閾値に達し、シミュレーションの数が閾値を超え、金銭的コストが閾値を超え、及び/又は使用される計算コア時間の数が閾値を超えることを含むことができるが、これらに限定されない。
【0033】
ここで
図1を参照すると、機械学習モデルを自動的に訓練するための例示的な動作を例解するフローチャートが示されている。本開示は、
図1に示される動作のうちの1つ以上が、例えば、ユーザの入力及び/又は介入なしに、自動的に実行され得ることを企図する。例えば、シミュレーションのセットが始まると(例えば、
図1のステップ102)、計算シミュレーションデータセットがアセンブルされ(例えば、
図1のステップ104)、機械学習モデルが、ユーザの入力又は介入を必要とせずに訓練される(例えば、
図1のステップ106)。任意選択的に、いくつかの実装形態では、
図1に示される動作の全ては、例えば、任意のステップ間のユーザ入力及び/又はユーザ介入なしに、自動的に実行され得る。
【0034】
ステップ102において、計算シミュレーションのセットが実行される。計算シミュレーションのセットは、機械学習モデルを訓練するために使用することができる信頼できる合成データを生成するために必要なものを含む。シミュレーションのセットの数、タイプ、及び/又はサイズが、訓練された機械学習モデルの性質及び目的に依存することを理解されたい。本開示は、
図2のコンピューティングデバイスなどの1つ以上のコンピューティングデバイスを用いて計算シミュレーションを実行することを企図する。本明細書で使用される場合、計算シミュレーションのセットは、1つ以上の計算シミュレーションを含む。いくつかの実装形態では、計算シミュレーションのセットは、複数の計算シミュレーションである。本開示は、計算シミュレーションのセットが、物理システム、例えば、埋め込まれたセンサネットワークを有するデバイスに関連することを企図する。シミュレーションでは、物理システムは、シミュレーションモデル(例えば、物理システムの二次元仮想表現又は三次元仮想表現)によって表される。センサネットワークが埋め込まれた例示的なデバイスは、ひずみセンサの分散セットを用いるタッチ感知電子デバイス(例えば、実施例2を参照)又は熱電対の分散セットを用いるデバイス(例えば、実施例1を参照)である。これらの物理システムは、例としてのみ提供されることを理解されたい。本開示は、物理システムが任意の種類の構造であり得、様々なタイプのセンサ(例えば、温度、圧力、ひずみ、電流、光学、流れ、化学、音響などのセンサ)を含むことを企図する。
【0035】
いくつかの実装形態では、計算シミュレーションのセットは、任意選択的に、クラウドベースのコンピューティングクラスタによって実行され得る。クラウドベースのコンピューティングクラスタを使用してシミュレーションを実行するための例示的なシステム及び方法は、出願人OnScale、Inc.、により、2020年10月29日に発行された、「SYSTEMS AND METHODS FOR RUNNING A SIMULATION」と題された、米国特許出願公開第2020/0342148号に記載されている。本明細書に記載されるシステム及び方法が、クラウドベースのコンピューティング実装形態に限定されることを意図しないことを理解されたい。FEM及びFDMなどの計算シミュレーションは、当該技術分野で既知であり、したがって、本明細書においては更に詳細には説明されない。
【0036】
シミュレーションのセットを実行する前に、少なくとも1つのシミュレーション入力(以下に詳細に記載される)に関連する入力仕様は、例えば、計算シミュレーション及び機械学習モデル訓練を統合するコンピューティングデバイスにて、ユーザから受信される。例えば、ユーザは、機械学習モデルを訓練するためにどのシミュレーション入力を使用すべきかを指定し、そのような情報をコンピューティングデバイスに提供することができる。指定されたシミュレーション入力は、任意選択的に、計算シミュレーションのセットを実行するために使用されるシミュレーション入力のサブセット(すなわち、全てではない)であり得る。本開示は、入力仕様(指定されたシミュレーション入力を含む)が、任意選択的に、メッセージ、ウェブベースポータル、モバイルアプリケーションなどを介してコンピューティングデバイスに提供され得ることを企図する。追加的に、少なくとも1つのシミュレーション結果(以下で詳細に説明される)に関する結果仕様は、ユーザから、例えば、計算シミュレーション及び機械学習モデル訓練を統合するコンピューティングデバイスにて受信される。例えば、ユーザは、機械学習モデルを訓練するためにどのシミュレーション結果を使用すべきかを指定し、そのような情報をコンピューティングデバイスに提供することができる。指定されたシミュレーション結果は、任意選択的に、計算シミュレーションのセットを実行することによって生成されるシミュレーション結果のサブセット(すなわち、全てではない)であり得る。本開示は、結果仕様(指定されたシミュレーション結果を含む)が、メッセージ、ウェブベースポータル、モバイルアプリケーションなどを介してコンピューティングデバイスに任意選択的に提供され得ることを企図する。言い換えれば、ユーザが物理システムに関連する計算シミュレーションのセットを要求すると、ユーザは、機械学習モデルを訓練する目的で、シミュレーション入力及び/又はシミュレーション結果のうちのどれがユーザにとって関心のあるものであるかを指定する(例えば、
図3の表を参照)。これらのシミュレーション入力及び/又はシミュレーション結果(及び関連するデータ)は、機械学習モジュールを訓練するために使用されるデータセットを形成する。以下に説明するように、機械学習モデルに対する少なくとも1つのターゲット及び少なくとも1つの特徴が、このデータセットに含まれる。
【0037】
ステップ104において、計算シミュレーションのセットに関連付けられたデータセットがアセンブルされる。ステップ104においてアセンブルされたデータセットは、訓練データセット、すなわち、機械学習モデルを訓練するために使用されるデータセットとして機能することができる(ステップ106を参照)。任意選択的に、ステップ104においてアセンブルされたデータセットは、訓練データセット及び検証データセットに分割され得る。検証データセットは、モデル訓練からさし戻され、その後、訓練中にモデルの性能を測定するためにのみ使用されるデータを含むことを理解されたい。本開示は、
図2のコンピューティングデバイスなどの1つ以上のコンピューティングデバイスを用いてデータセットをアセンブルすることを企図する。例えば、データセットは、計算シミュレーション及び機械学習モデル訓練を統合するコンピューティングデバイスのメモリに任意選択的に記憶され得るか、又はハードドライブに記憶され得る。本開示は、データセットが、コンピューティングデバイスに関してローカルで又はリモートで(例えば、ネットワークを介してアクセス可能に)記憶され得ることを企図する。データセットをアセンブルすることは、複数の計算シミュレーションからそれぞれの計算シミュレーションデータを収集、マージ、及び/又は組み合わせることを含むことができる。追加的に、データセットをアセンブルすることは、限定されないが、機械学習モデルを訓練するために使用されるデータセットを準備するために、データセットにおいて、データを、選択、再配置、修正、低減、正規化、符号化、分類、拡張、ラベル付け、及び/又は記憶するためのデータ処理ステップを含み得る。その目的は、機械学習モデル訓練に対する信頼性の高いデータセットをアセンブルすることである(ステップ106を参照)。データセットをアセンブルすることは、例としてのみ提供される、上記のデータ処理ステップのうちの1つ以上を含むことができることを理解されたい。本開示は、データセットをアセンブルするために当技術分野で既知の技法を使用することを企図する。
【0038】
上述したように、ステップ104は、ユーザの入力又は介入なしに実行することができる。すなわち、ステップ102と104との間のワークフローを自動化することができる。データセットは、計算シミュレーションのセットにおける各計算シミュレーションに対して、少なくとも1つのシミュレーション結果に関連付けられたデータを含む。追加的に、データセットは、計算シミュレーションのセットにおける各計算シミュレーションに対して、少なくとも1つのシミュレーション入力に関連付けられたデータを任意選択的に含む。シミュレーションへの入力は、幾何学的形状、材料、及びシミュレーションモデルに作用する初期/負荷/境界条件(例えば、力、熱、電流及び/又は電圧、磁場、光など)を含むことができるが、これらに限定されないことを理解されたい。FEM及び/又はFDMなどの方法は、シミュレーションモデルのドメインを有限数の要素に離散化し、微分方程式を、1つ以上の出力を生成するために数値的に解くことができる方程式のシステムに変換するために使用される。したがって、少なくとも1つのシミュレーション結果に関連付けられたデータは、少なくとも1つのシミュレーション入力に関連付けられたデータに基づいて計算シミュレーションのセットを実行することによって生成することができる。シミュレーション入力及びシミュレーション結果に関連付けられたデータは、物理実験によってではなく、コンピュータシミュレーションによって生成されるため、本明細書では「合成」データと称されることがある。以下に記載されるように、1つ以上の機械学習モデルは、合成データを用いて訓練され得る。
【0039】
本明細書で使用される場合、関連データが合成データセットに含まれるためのシミュレーション入力は、パラメータ化された変数を含む。パラメータ化された変数は、シミュレーションごとに値が異なるパラメータである。任意選択的に、パラメータ化された変数は、シミュレーションモデルのある場所(例えば、モデルの点、縁、表面、又は体積)におけるパラメータ化された条件である。条件には、力、変位、圧力、牽引、速度、質量流束、運動量、動的圧力、温度、熱流束、電力、電流、電圧、及び磁場強度が含まれ得るが、これらに限定されない。上記の条件は、例としてのみ提供されることを理解されたい。例えば、本開示は、一般に実施例に由来する他の条件が可能であることを企図する。追加的に、条件は、負荷条件、境界条件、初期条件の3つのタイプのうちの1つであり得る。代替的に、パラメータ化された変数は、任意選択的に、シミュレーションモデルのパラメータ化された特質である。特質は、材料又は幾何学的特性などの条件ではないシミュレーションモデルの特性を含むことができる。上記の特質は、例としてのみ提供されることを理解されたい。いくつかの実装形態では、各計算シミュレーションに対する少なくとも1つのシミュレーション入力は、単一のパラメータ化された変数を含む。他の実装形態では、各計算シミュレーションに対する少なくとも1つのシミュレーション入力は、複数のパラメータ化された変数を含む。
【0040】
本明細書で使用される場合、関連するデータが合成データセットに含まれるシミュレーション結果は、シミュレーションモデルのある場所(例えば、モデルの点、縁、表面、又は体積)における算出された特性を含む。特性は、応力、ひずみ、変位、温度、熱流束、速度、静的圧力、動的圧力、電流、電圧、及び電力を含むことができるが、これらに限定されない。上記の特性は、例としてのみ提供されることを理解されたい。本開示は、他の特性が、シミュレーションのセットによって出力され得ることを企図する。いくつかの実装形態では、算出された特性は、測定デバイスの出力を表す。センサ(例えば、ひずみセンサ、温度センサ)は、例示的な測定デバイスである。いくつかの実装形態では、少なくとも1つのシミュレーション結果は、単一の算出された特性を含む。他の実装形態では、少なくとも1つのシミュレーション結果は、複数の算出された特性を含む。
【0041】
ここで
図3を参照すると、例示的な合成データセットを例解する表が示される。シミュレーション入力には、表面Aに適用される力の大きさ(条件1)と表面Bに適用される熱流束(条件2)が含まれる。上で考察されるように、これらのシミュレーション入力は、機械学習モデルを訓練するためにユーザによって指定されている。テーブルにおけるシミュレーション入力の数及び/又はタイプは、例としてのみ提供されることを理解されたい。例えば、2つ以上又は2つ未満のシミュレーション入力は、ユーザによって指定され得る。条件1及び2は、パラメータ化された変数であり、例えば、それらの値は、シミュレーションごとに変化し得る。表中のシミュレーションの数は、例としてのみ提供されることを理解されたい。シミュレーション結果は、点Xにおいて測定されたひずみ(センサ1)、点Yにおいて測定された温度(センサ2)、及び点Zにおいて測定された温度(センサ3)を含む。上で考察されるように、これらのシミュレーション結果は、機械学習モデルを訓練するためにユーザによって指定されている。表におけるシミュレーション結果の数及び/又はタイプは、例としてのみ提供されることを理解されたい。例えば、3つ以上又は3つ未満のシミュレーション結果は、ユーザによって指定され得る。シミュレーション結果は、シミュレーションモデルの場所において算出された特性である。
【0042】
再び
図1を参照すると、ステップ106において、機械学習モデルは、計算シミュレーションのセットに関連付けられたデータセットで訓練される。本開示は、機械学習モデルが、
図2のコンピューティングデバイスなどの1つ以上のコンピューティングデバイスを用いて実装され得ることを企図する。上述したように、ステップ106は、ユーザの入力又は介入なしに実行することができる。すなわち、ステップ104と106との間のワークフローを自動化することができる。機械学習モデルは、ステップ104においてアセンブルされたデータセットなどのデータセットで訓練される。訓練中、機械学習モデルに関連付けられた重み、バイアス、パラメータ、リワード(例えば、Q値)などは、コスト関数を最小化するように調整される。完了すると、訓練された機械学習モデルは、推論モードに対して構成され、例えば、訓練された機械学習モデルは、新しいデータに基づいて予測を行うことができる。例えば、訓練された機械学習モデルは、物理システムの測定デバイスによって取得された少なくとも1つの測定値に基づいて、物理システムの状態、特性、又は挙動(例えば、構造的障害又は過熱などの結果)を予測するように構成され得る。いくつかの実装形態では、機械学習モデルは、例えば、モデル入力を「n」カテゴリの1つに分類するように構成された分類子モデルである。他の実装形態では、機械学習モデルは、例えば、モデル入力に基づいて値を推定するように構成された回帰モデルである。
【0043】
いくつかの実装形態では、機械学習モデルは、任意選択的に、ニューラルネットワークであり得る。人工ニューラルネットワーク(ANN)は、複数の相互接続されたニューロン(例えば、「ノード」とも称される)を含むコンピューティングシステムである。本開示は、ノードが、コンピューティングデバイス(例えば、本明細書に記載される処理ユニット及びメモリ)を使用して実装され得ることを企図する。ノードは、任意選択的に、入力層、出力層、及び1つ以上の隠れ層などの複数の層に配置することができる。各ノードは、ANNにおける1つ以上の他のノードに接続されている。例えば、各層は複数のノードで構成され、各ノードは前の層の全てのノードに接続される。所与の層内のノードは、互いに相互に接続されておらず、すなわち、所与の層内のノードは、互いに独立して機能する。本明細書で使用されるように、入力層内のノードは、ANNの外側からデータを受信し、隠れ層内のノードは、入力層と出力層との間のデータを修正し、出力層におけるノードは、結果を提供する。各ノードは、入力を受信し、n活性化関数(例えば、バイナリステップ、線形、シグモイド、tanH、又は調整された線形単位(ReLU)関数)を実装し、活性化関数に従って出力を提供するように構成される。追加的に、各ノードは、それぞれの重みに関連付けられる。ANNは、ANNの性能の尺度であるコスト関数を最小化するために、データセット(例えば、本明細書に記載される計算シミュレーションデータセット)で訓練される。訓練アルゴリズムとしては、逆伝播が挙げられるが、これらに限定されない。訓練アルゴリズムは、コスト関数を最小化するために、ノードの重み及び/又はバイアスを調整する。コスト関数の最小値を求める任意のアルゴリズムは、ANNを訓練するために使用することができることを理解されたい。ニューラルネットワークは、例示的な機械学習モデルとしてのみ提供されることを理解されたい。本開示は、機械学習モデルが、任意の教師あり学習モデル、半教師あり学習モデル、又は教師なし学習モデルであり得ることを企図する。任意選択的に、機械学習モデルは、深層学習モデルである。機械学習モデルは当該技術分野で既知であり、したがって、本明細書で更に詳細に説明されない。
【0044】
いくつかの実装形態では、機械学習モデルは、合成データ(例えば、上に記載されるようなシミュレーション入力及び/又は結果に関連付けられたデータ)を用いて訓練される。任意選択的に、他の実装形態では、データセットは、物理システムに関連付けられた実データを更に含む。任意選択的に、そのような実データは、物理システムの少なくとも1つの測定デバイスによって測定される。言い換えると、合成データを含むデータセットは、実データで補完することができる。本開示は、実データ(例えば、実際の現実世界の測定値)でデータセットを補完することが、機械学習モデルの性能を改善し得ることを企図する。
【0045】
訓練の前に、少なくとも1つのターゲットに関連するターゲット仕様及び機械学習モデルに対する少なくとも1つの特徴に関連する特徴仕様は、ユーザから、例えば、計算シミュレーション及び機械学習モデル訓練を統合するコンピューティングデバイスで受信される。以下で説明されるように、少なくとも1つのターゲット及び少なくとも1つの特徴は、ステップ104においてアセンブルされたデータセットの一部である。例えば、ユーザは、ステップ104においてアセンブルされたデータセットにおけるシミュレーション入力及び/又はシミュレーション結果のうちのどれが機械学習モデルターゲット(又はターゲット)であるかを指定し、そのような情報をコンピューティングデバイスに提供することができる。追加的に、ユーザは、ステップ104においてアセンブルされたデータセットにおけるシミュレーション入力及び/又はシミュレーション結果のうちのどれが機械学習モデル特徴(又は複数の特徴)であるかを指定し、そのような情報をコンピューティングデバイスに提供することができる。本開示は、ターゲット及び特徴仕様が、任意選択的に、メッセージ、ウェブベースポータル、モバイルアプリケーションなどを介してコンピューティングデバイスに提供され得ることを企図する。任意選択的に、ターゲット及び特徴仕様は、ユーザが、物理システムに関連する計算シミュレーションのセットを要求すると、例えば、同時に、ユーザが、シミュレーション入力及び結果仕様をコンピューティングデバイスに提供する。少なくとも1つのターゲット及び少なくとも1つの特徴は、計算シミュレーションのセットに関連付けられたデータセットの一部である。特に、少なくとも1つのターゲット及び少なくとも1つの特徴の各々は、データセットにおけるシミュレーション入力又はシミュレーション結果である(例えば、
図3の表を参照)。言い換えれば、ユーザが、物理システムに関連する計算シミュレーションのセットを要求すると、ユーザは、シミュレーション入力の各1つを指定し、機械学習モデルを訓練する目的で、データセット(例えば、ステップ104においてアセンブルされたデータセット)をターゲット又は特徴としての結果にする(例えば、
図3の表を参照)。少なくとも1つのターゲットが、ステップ106において機械学習モデルが予測するように訓練されるデータセットの一部であることを理解されたい。例えば、機械学習モデルは、パターンを学習し、データセットにおける少なくとも1つのターゲットと少なくとも1つの特徴との間の関係を明らかにするように訓練することができる。訓練後、すなわち、新しいデータを分析するために推論モードで動作するとき、「ターゲット」は訓練されたモデルの出力であり、「特徴」は訓練されたモデルへの入力である。
【0046】
再び
図3を参照すると、例示的な合成データセットを例解する表が示されている。シミュレーション入力(条件1、条件2)及びシミュレーション結果(センサ1、センサ2、及びセンサ3)の各々は、機械学習モデルに対するターゲット又は機能のいずれかとして指定されている。MLモデル1では、ユーザは、条件2をターゲットとして指定し、条件1、センサ1、センサ2、及びセンサ3を特徴として指定した。したがって、MLモデル1は、条件1、センサ1、センサ2、及びセンサ3に対して(例えば、関数の)値が与えられると、条件2を予測するためのパターンを学習し、関係を明らかにするように訓練される。MLモデル2では、ユーザは、条件1をターゲットとして、条件2、センサ1、センサ2、及びセンサ3を特徴として指定した。したがって、MLモデル2は、条件2、センサ1、センサ2、及びセンサ3に対して(例えば、関数の)値が与えられると、条件1を予測するためのパターンを学習し、関係を明らかにするように訓練される。本明細書で説明されるように、少なくとも1つのターゲット及び少なくとも1つの特徴の各々は、データセットからのシミュレーション入力又はシミュレーション結果である。少なくとも1つのターゲット及び少なくとも1つの特徴が、テーブル内のものに限定されないことを理解されたい。ユーザが、訓練された機械学習モデルを使用して実際の測定値に基づいて状態を予測したい場合、実際の測定値が訓練された機械学習モデルに入力されるため、特徴は、測定デバイスの出力(例えば、表におけるセンサ1、センサ2、センサ3などのシミュレーションからの算出された特性)であることを理解されたい。
図3のターゲット、特徴、及び/又はMLモデルの数及び/又はタイプが、例としてのみ提供されることを理解されたい。例えば、2つ以上又は未満の機械学習モデルを訓練することができる。代替的又は追加的に、機械学習モデルの4つ以上又は未満の特徴を指定することができる。代替的又は追加的に、機械学習モデルの1つ以上のターゲットを指定することができる(実際には、1つの機械学習モデルに対して複数のターゲットを指定することは、それらが高度に相関している場合に有益であることを理解されたい)。
【0047】
いくつかの実装形態では、単一の機械学習モデルが訓練される。他の実装形態では、複数の機械学習モデルが訓練される。任意選択的に、機械学習モデルは並行して訓練される。代替的又は追加的に、訓練された機械学習モデルの各々の性能を評価することができる。
【0048】
いくつかの実装形態では、計算シミュレーションのセット及び機械学習モデル訓練は、停止基準に達するまで実行される。任意選択的に、停止基準は、訓練された機械学習モデルの所定の性能レベルである。いくつかの実装形態では、訓練された機械学習モデルの性能レベルは、検証データセット、例えば、訓練データセットは別としてデータセットを使用して測定される。他の実装形態では、訓練された機械学習モデルの性能レベルは、テストデータセット、例えば、訓練データセットから独立したデータセットを使用して測定される。本開示は、測定された性能レベルを閾値(すなわち、所定の性能レベル)と比較することを企図する。
【0049】
本開示は、平均絶対誤差、平均二乗誤差、分類精度、対数損失、及び曲線下面積を含むが、これらに限定されない、当技術分野で知られている技術を使用して、機械学習モデルの性能を測定することを企図する。本明細書に記載されるように、機械学習モデルは、分類子モデル又は回帰モデルであり得る。分類子モデルの性能は、当業者に既知の1つ以上のメトリックを使用して測定することができ、これには、正確率、適合率、感度/再現率、及び特異性メトリックが含まれるが、これらに限定されない。例えば、分類子モデルの性能は、真陽性(TP)、真陰性(TN)、偽陰性(FN)、及び偽陽性(FP)の数を測定することによって評価することができる。本開示のいくつかの実装形態では、正解率は、(TN+TP)/(TP+FP+TN+FN)として測定することができる。適合率の測定値も、いくつかの実装形態では停止基準として使用され得る。いくつかの実装形態で使用することができる適合率の尺度の非限定的な例は、TP/(TP+FP)である。同様に、真陽性率(再現率又は感度とも称され得る)も停止基準として使用することができる。いくつかの実装形態では、真陽性率は、TP/(TP+FN)として定義することができる。特異性は、いくつかの実装形態では、停止基準としても使用され得る。特異性の例示的な尺度は、TN/(TN+FP)である。本開示はまた、停止基準を、例えば、混同行列、ROC (受信機動作特質)、又はPR(適合率-再現率)曲線として、ユーザに表示視覚化又はグラフ化及び表示することができることを企図する。分類子モデルに対する上記の例示的なメトリックは、非限定的な例としてのみ意図され、追加の性能メトリックは、当業者には明らかであることが理解されるべきである。
【0050】
回帰モデルの性能は、当業者に既知の1つ以上のメトリックを使用して測定することができ、これには、平均二乗誤差(MSE)、根平均二乗誤差(RSME)、及び平均絶対誤差(MAE)が含まれるが、これらに限定されない。本開示はまた、停止基準を視覚化又はグラフ化して、例えばエラー曲線としてユーザに表示することができることを企図する。回帰モデルの上記の例示的なメトリックは、非限定的な例としてのみ意図され、追加の性能メトリックは、当業者には明らかであることが理解されるべきである。
【0051】
代替的又は追加的に、停止基準は、訓練された機械学習アルゴリズムの性能レベルとは無関係であり得る。例えば、停止基準は、所定の数のシミュレーション、所定の金銭的コスト、所定の数の計算コア時間、又は他の所定の計算コストであり得る。上記の例示的な停止基準は、非限定的な例としてのみ意図され、追加の停止基準が当業者には明らかであることを理解されたい。
【0052】
いくつかの実装形態では、訓練された機械学習モデルをユーザに提供することができる。例えば、訓練された機械学習モデルのアーキテクチャ、ハイパーパラメータ値、及び/又はパラメータ値をユーザに送信することができる。
【0053】
様々な形態に関して本明細書に記載される論理演算は、(1)コンピューティングデバイス(例えば、
図2に記載されるコンピューティングデバイス)上で実行される一連のコンピュータ実装された動作又はプログラムモジュール(すなわち、ソフトウェア)として、(2)コンピューティングデバイス内の相互接続された機械論理回路又は回路モジュール(すなわち、ハードウェア)として、及び/又は(3)コンピューティングデバイスのソフトウェア及びハードウェアの組み合わせとして、実装され得ることを理解されたい。したがって、本明細書で考察される論理演算は、ハードウェア及びソフトウェアの任意の特定の組み合わせに限定されない。実装形態は、コンピューティングデバイスの性能及び他の要件に依存する選択の事態である。したがって、本明細書で説明される論理演算は、演算、構造デバイス、動作、又はモジュールとして様々に言及される。これらの演算、構造デバイス、動作、及びモジュールは、ソフトウェア、ファームウェア、特殊目的デジタル論理、及びそれらの任意の組み合わせにおいて実装され得る。また、図に示され、本明細書に記載されるよりも、より多く又はより少ない演算が実行され得ることも理解されたい。これらの演算はまた、本明細書に記載されるものとは異なる順序で実行され得る。
【0054】
図2を参照すると、本明細書に記載される方法が実装され得る例示的なコンピューティングデバイス200が例解される。例示的なコンピューティングデバイス200は、本明細書に記載される方法が実装され得る好適なコンピューティング環境の一例に過ぎないことを理解されたい。任意選択的に、コンピューティングデバイス200は、パーソナルコンピュータ、サーバ、ハンドヘルド若しくはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ネットワークパーソナルコンピュータ(PC)、ミニコンピュータ、メインフレームコンピュータ、組み込みシステム、及び/又は上記の複数のシステム若しくはデバイスのうちのいずれかを含む分散コンピューティング環境を含むが、これらに限定されない、周知のコンピューティングシステムであり得る。分散コンピューティング環境は、通信ネットワーク又は他のデータ伝送媒体に接続されたリモートコンピューティングデバイスが様々なタスクを実行することを可能にする。分散コンピューティング環境では、プログラムモジュール、アプリケーション、及び他のデータは、ローカル及び/又はリモートコンピュータストレージメディアに記憶され得る。
【0055】
その最も基本的な構成では、コンピューティングデバイス200は、典型的には、少なくとも1つの処理ユニット206及びシステムメモリ204を含む。コンピューティングデバイスの正確な構成及びタイプに応じて、システムメモリ204は、揮発性(ランダムアクセスメモリ(RAM)など)、不揮発性(読み取り専用メモリ(ROM)、フラッシュメモリなど)、又はそれら2つのいくつかの組み合わせであり得る。この最も基本的な構成は、破線202によって
図2に例解される。処理ユニット206は、コンピューティングデバイス200の動作に必要な算術演算及び論理演算を実行する標準的なプログラマブルプロセッサであり得る。コンピューティングデバイス200はまた、コンピューティングデバイス200の様々な構成要素間で情報を通信するためのバス又は他の通信機構を含み得る。
【0056】
コンピューティングデバイス200は、追加の特徴/機能を有し得る。例えば、コンピューティングデバイス200は、限定されるものではないが、磁気又は光学ディスク又はテープを含む、取り外し可能なストレージ208及び取り外し不可能なストレージ210などの追加のストレージを含み得る。コンピューティングデバイス200はまた、デバイスが他のデバイスと通信することを可能にするネットワーク接続部216を含み得る。コンピューティングデバイス200はまた、キーボード、マウス、タッチスクリーンなどの入力デバイス214を有し得る。ディスプレイ、スピーカ、プリンタなどの出力デバイス212も含まれ得る。追加のデバイスは、コンピューティングデバイス200の構成要素間のデータの通信を容易にするためにバスに接続され得る。これらのデバイスは全て当該技術分野で周知であり、ここで詳細に考察する必要はない。
【0057】
処理ユニット206は、有形のコンピュータ可読媒体において符号化されたプログラムコードを実行するように構成され得る。有形のコンピュータ可読媒体は、コンピューティングデバイス200(すなわち、機械)を特定の様式で動作させるデータを提供することができる任意の媒体を指す。様々なコンピュータ可読媒体を利用して、実行のために処理ユニット206に命令を提供し得る。例示的な有形のコンピュータ可読媒体としては、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を記憶するための任意の方法又は技術で実装される揮発性媒体、不揮発性媒体、取り外し可能な媒体、及び取り外し不可能な媒体が挙げられ得るが、これらに限定されない。システムメモリ204、取り外し可能なストレージ208、及び取り外し不可能なストレージ210は全て、有形のコンピュータ記憶媒体の例である。例示的な有形のコンピュータ可読記録媒体としては、集積回路(例えば、フィールドプログラマブルゲートアレイ又はアプリケーション固有のIC)、ハードディスク、光ディスク、磁気光学ディスク、フロッピーディスク、磁気テープ、ホログラフィックストレージ媒体、ソリッドステートデバイス、RAM、ROM、電気的に消去可能なプログラム読み取り専用メモリ(EEPROM)、フラッシュメモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)又は他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又は他の磁気ストレージデバイスが挙げられるが、これらに限定されない。
【0058】
例示的な実装形態では、処理ユニット206は、システムメモリ204に記憶されたプログラムコードを実行し得る。例えば、バスは、処理ユニット206が命令を受信して実行するシステムメモリ204にデータを搬送し得る。システムメモリ204によって受信されたデータは、任意選択的に、処理ユニット206による実行の前又は後に、取り外し可能なストレージ208又は取り外し不可能なストレージ210に記憶され得る。
【0059】
本明細書に記載される様々な技術が、ハードウェア又はソフトウェアに関連して、又は適切な場合、それらの組み合わせと共に実装され得ることを理解されたい。したがって、本開示の主題の方法及び装置、又はその特定の態様又は部分は、フロッピーディスケット、CD-ROM、ハードドライブ、又は任意の他の機械可読記憶媒体などの有形媒体に具体化されたプログラムコード(すなわち、命令)の形態を採り得、プログラムコードがコンピューティングデバイスなどの機械にロード及び実行されると、機械は、本開示の主題を実施するための装置となる。プログラム可能なコンピュータ上でプログラムコードを実行する場合、コンピューティングデバイスは、一般に、プロセッサ、プロセッサによって読み取り可能な記憶媒体(揮発性及び不揮発性メモリ及び/又はストレージ要素を含む)、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスを含む。1つ以上のプログラムは、例えば、アプリケーションプログラミングインターフェース(API)、再利用可能な制御などの使用を通じて、本明細書に開示される主題に関連して説明されるプロセスを実装又は利用し得る。そのようなプログラムは、コンピュータシステムと通信するために、高レベルの手続き型又はオブジェクト指向プログラミング言語で実装され得る。しかしながら、必要に応じて、プログラムをアセンブリ又は機械語で実装することができる。いずれにしても、言語は、コンパイルされた又は解釈された言語であり得、それは、ハードウェア実装形態と組み合わされ得る。
【0060】
ここで
図4を参照すると、機械学習モデルを自動的に訓練するための例示的な環境400を例解するブロック図が示されている。本明細書に記載されるように、1つ以上の計算シミュレーション410が環境400内で実行される。計算シミュレーション410は、物理システムに関連し、物理システムに作用する1つ以上のタイプの物理学(例えば、機械的、電気機械的、電磁的、及び熱物理学)をシミュレートする。
【0061】
シミュレーション入力402及びシミュレーション結果404を
図4に示す。シミュレーション入力には、物理システムの幾何学的形状、材料、初期条件、負荷条件、及び境界条件が含まれるが、これらに限定されない。例示的なシミュレーション入力も
図3に示す。シミュレーション結果には、シミュレーションモデルのある場所(例えば、モデルのある点、縁、表面、又は体積)で算出された特性が含まれる。特性は、応力、ひずみ、変位、温度、熱流束、速度、静的圧力、動的圧力、電流、電圧、及び電力を含むことができるが、これらに限定されない。例示的なシミュレーション結果も
図3に示す。計算シミュレーション410は、シミュレーション入力402を指定し、シミュレーション結果404を算出することにより実行される。
【0062】
追加的に、本明細書に記載されるように、1つ以上の機械学習モデル420は、環境400で訓練される。機械学習モデル420は、1つ以上の計算シミュレーション410(例えば、合成データ)に関連付けられたデータセット430を使用して訓練される。例えば、機械学習モデルは、任意の教師あり学習モデル、半教師あり学習モデル、又は教師なし学習モデル、任意選択的に深層学習モデルなどの教師あり学習モデルであり得る。合成データで訓練した後、機械学習モデルは、物理システムによって取得された実際の測定値に基づいて、物理システムの状態、特性、又は挙動を予測するように構成される。
【0063】
本明細書に記載されるように、入力仕様403は、シミュレーション入力402からのどのデータが、機械学習モデル420を訓練するために使用されるデータセット430に含まれるかを指定又は指示する。追加的に、結果仕様405は、機械学習モデル420を訓練するために使用されるデータセット430に、シミュレーション結果404からどのデータが含まれるかを指定する。指示されたデータは、データセット430を形成する。指示されたシミュレーション入力及び指示されたシミュレーション結果は、任意選択的に、1つ以上の計算シミュレーション410からのシミュレーション入力及び結果のサブセット(例えば、全てではない)であり得ることを理解されたい。追加的に、データセットは、いくつかの実装形態において、又は指示されたシミュレーション入力の両方において、指示されたシミュレーション結果のみを含むことができ、他の実装形態において結果を含むことができることを理解されたい。
【0064】
本明細書に記載されるように、特徴及びターゲット仕様は、ユーザによって提供され得る。特徴及びターゲット仕様は、データセット430に含まれるどのデータが機械学習モデル特徴406であり、データセット430に含まれるどのデータが機械学習モデルターゲット408であるかを指定又は指示する。2つの機械学習モデルの例示的な特徴及びターゲット仕様を
図3に示す。
【実施例】
【0065】
以下の実施例は、本明細書で請求される化合物、組成物、物品、デバイス、及び/又は方法が、どのように作られ、評価されるかについての完全な開示及び説明を当業者に提供するために提示されるものであり、純粋に例示的であることを意図しており、開示を限定することを意図するものではない。数値(例えば、量、温度など)に関して精度を保証するように努力がなされてはいるが、いくらかの誤差及び偏差が考慮されるべきである。
【0066】
実施例1
【0067】
本開示の例示的な実装形態を以下に説明する。この実施例では、デバイス(例えば、物理システム)は、デバイスの外部の周りに分散された複数の熱電対(例えば、測定デバイス)を含む。各熱電対は、サンプリングレート、例えば、毎秒10回の測定で、デバイスのその外部の場所におけるそれぞれの温度を測定する。本デバイスはまた、一定の温度未満を維持するために必要な内部構成要素を含む。しかしながら、デバイスの設計に起因して、デバイスの内部の温度を測定することは不可能である。したがって、例えば、熱電対を使用して、内部構成要素の温度を監視し、高温状態を回避することは不可能である。代わりに、機械学習モデルを訓練して、外部熱電対測定値に基づいて内部構成要素の温度を予測することができる。一度訓練されると、機械学習モデルは、内部構成要素の予測される温度が高温閾値を超えるときにデバイスの動作を調整する制御システムの一部として推論モードで使用され得る。本明細書に記載されるように、機械学習モデルは、計算シミュレーションのセットを通じて得られた合成データを使用して訓練することができる。
【0068】
この実施例では、自動化された方法を使用して、計算シミュレーションのセットを実行することができる(例えば、
図1のステップ102、
図4の計算シミュレーション410)。この実施例では、計算シミュレーションのセットは、「スタディ」と称され、スタディを構成する計算シミュレーションのセットを実行することは、任意選択的に、バッチとして(例えば、次々に、又は同時に)実行され得る。
【0069】
計算シミュレーションのセットは、ユーザによって指定されたシミュレーション入力(例えば、
図4のシミュレーション入力402)に基づいている。この実施例では、シミュレーション入力は、デバイスのCAD(コンピュータ支援設計)モデル、デバイスの構成要素の材料特性に関する情報、及び初期条件、負荷条件、及び/又は境界条件などの適用条件の特性及び場所に関する情報を含む。計算シミュレーションのセットは、シミュレーション入力に基づいて実行されて、シミュレーション結果を算出することができる(例えば、
図4のシミュレーション結果404)。
【0070】
この実施例では、適用された条件は、デバイスの構成要素のサイズ、形状、及び配置に関する情報を含む、CADモデルに適用される物理的効果を表すことができる。各適用条件は、適用条件が作用する位置(又は場所)と、適用条件の1つ以上の特性と、によって、定義することができる。例えば、適用条件は、周囲温度及びデバイスの構成要素の電力出力を含むことができる。周囲温度適用条件は、デバイスの外側の位置(すなわち、デバイスに対する「周囲」)を有するように定義することができ、周囲温度の特性は、温度値とすることができる。デバイスの構成要素の電力出力の印加条件は、デバイスの構成要素に関連付けられたある場所を有することができ、電力出力は、熱放散に関連するエネルギー変換速度(すなわち、その電力出力)を表す特性を有することができる。
【0071】
追加的に、この実施例では、適用された条件の特性をパラメータ化することができる。例えば、デバイスの構成要素の電力出力は、50個の指定された値でパラメータ化することができ、周囲温度も20個の指定された値でパラメータ化することができる。
【0072】
上で考察されるように、計算シミュレーションのセットは、シミュレーション結果を算出することができる(例えば、
図4のシミュレーション結果404)。この実施例では、シミュレーション結果は、各熱電対場所の温度及びデバイスの内部構成要素の温度を含むことができる。したがって、この実施例では、パラメータ化された変数値の組み合わせごとにシミュレーションを実行し、パラメータ化された変数値の組み合わせごとにシミュレーション結果を算出することができる。したがって、この実施例では、構成要素の出力を表すパラメータ化された値と、周囲温度を表すパラメータ化された値(すなわち、50×20=1000)の1000の組み合わせの各々について、計算シミュレーションを実行することができる。各計算シミュレーションに対して、デバイス上に位置する熱電対の各々の温度、及びデバイスの内部構成要素の温度をシミュレートすることができる。熱電対の温度は、
図1を参照して上に記載される「算出された特性」に対応する。したがって、実行された1000の計算シミュレーションは、パラメータ化された値の組み合わせの各々に対して、熱電対の各々の温度及びデバイスの内部構成要素の温度の算出をもたらす。各熱電対場所の温度及び内部構成要素の温度は、シミュレーションのシミュレーション結果として記述することができる。
【0073】
この実施例では、1000のシミュレーションのシミュレーション結果は、データセット(例えば、
図4のデータセット430)にアセンブルすることができる(例えば、
図1のステップ104)。本明細書で考察されるように、データセットは、シミュレーション入力及び/又はシミュレーション結果のサブセットのみを含み得る。例えば、ユーザは、シミュレーション入力及び/又はシミュレーション結果(例えば、
図4の入力仕様403、及び結果仕様405)からのどのデータをデータセットに含めるべきかを指定することができ、次いで、データセットは、機械学習モデルを訓練するために使用される。この実施例では、データセットをアセンブルすることは、各シミュレーションのシミュレーション結果をデータセットに組み合わせることを含むことができる。したがって、データセットは、1000のシミュレーションの各々からの熱電対場所温度及び内部構成要素温度を含むことができる。この実施例では、データセットにはシミュレーション結果のみが含まれ、シミュレーション入力は含まれない。この実施例では、次いで、データセットを使用して、機械学習モデルを訓練することができる(例えば、
図1のステップ106、
図4の機械学習モデル420)。この実施例では、各熱電対場所における温度を表すシミュレーション結果は、機械学習モデルの特徴(例えば、
図4のモデル特徴406)であり得、内部構成要素温度を表すシミュレーション結果は、機械学習モデルのターゲット(例えば、
図4のモデルターゲット408)であり得る。
【0074】
本実施例は、訓練された機械学習モデルの性能が、訓練中に判定され得ることを企図する。本明細書に記載されるように、性能は、分類子モデルの正解率、適合率、感度/再現率、及び特異性又は回帰モデルの誤差などの既知のメトリックを使用して測定することができる。機械学習モデルの性能を反復的に改善することが可能である。例えば、以下に説明するように、ユーザの入力/コマンドに応答して(例えば、モデルをチューニングすることによって)、又はモデルの性能が所定の閾値未満であると判定することに応答して、モデルの性能を改善するためのステップを取ることができる。機械学習モデルがデータセットを使用して訓練されると、機械学習モデルは、推論モードで使用され得る訓練された機械学習モデルと見なされる。訓練された学習モデルは、ファイル(例えば、コンピュータファイル)に格納され、及び/又はユーザに送信され得る。
【0075】
モデルの性能を改善するために、
図1に例解されるステップ102、104、及び106のいずれか1つ以上を繰り返すことができる。
図1のステップ102を繰り返すために、パラメータ化された変数値の追加の組み合わせを選択することができ、パラメータ化された変数値の追加の組み合わせに対応する追加のシミュレーションを実行することができる。追加のシミュレーションは、初期シミュレーションと同じCADモデルに基づくことができる。同様に、追加のシミュレーションは、パラメータ化された値の追加の組み合わせの各々に対して、熱電対の各々の温度及びデバイスの内部構成要素の温度を算出する。
【0076】
図1のステップ104を繰り返すために、追加のシミュレーションの結果(「追加のシミュレーション結果」)をデータセットに追加して、既存のデータセット及び新しいシミュレーション結果(「増加したデータセット」)から組み立てられた新しい又は拡張されたデータセットを形成することができる。
【0077】
図1のステップ106を繰り返すために、機械学習モデルは、増加したデータセットを使用して再訓練することができる。再訓練された機械学習モデルの性能を再評価することができる。代替的又は追加的に、機械学習モデルは、例えば、モデルのハイパーパラメータを修正することによって、ステップ106において、任意選択的に調整又は改良することができることを理解されたい。
【0078】
新しいパラメータ値を選択し、新しいパラメータ値に基づいて新しいシミュレーションを実行し、より大きなデータセットを用いて機械学習モデルを再訓練し、再訓練されたモデルの性能を測定し、モデルの性能が十分であるかどうかを決定するこれらのステップは、複数回実行することができる。例えば、これらのステップは、性能値が閾値に達するまで繰り返し実行され得る。代替的又は追加的に、これらのステップは、ステップのコスト(例えば、金銭的、シミュレーション又はコア時間の数などのコンピューティング)がコスト閾値を超えるまで繰り返すことができる。
【0079】
実施例2
【0080】
本開示の別の例示的な実装形態が、以下に説明される。この実施例では、デバイス(例えば、物理システム)は、複数のひずみセンサを備えたパネル(例えば、測定デバイス)を含む電子デバイスであり、複数のひずみセンサは、パネルの下側に取り付けられ、パネルの周りに分散される。各ひずみセンサは、パネルのユーザに面する表面に接触するオブジェクト(例えば、器具又はユーザの指)に起因して、その場所でそれぞれのひずみを測定する。機械学習モデルは、ひずみセンサの測定値に基づいてオブジェクトの場所及び圧力を予測するように訓練することができる。一度訓練されると、機械学習モデルは、例えば、制御システムの一部として推論モードで使用されて、デバイスへのユーザ入力を受け入れ、それに応じて反応することができる。本明細書に記載されるように、機械学習モデルは、計算シミュレーションのセットを通じて得られた合成データを使用して訓練することができる。
【0081】
上記の実施例と同様に、自動化された方法を使用して、計算シミュレーションのセットを実行することができる(例えば、
図1のステップ102、
図4の計算シミュレーション410)。計算シミュレーションのセットは、「スタディ」と称され、スタディを構成する計算シミュレーションのセットを実行することは、任意選択的に、バッチとして(例えば、次々に、又は同時に)実行され得る。計算シミュレーションのセットは、ユーザによって指定されたシミュレーション入力(例えば、
図4のシミュレーション入力402)に基づいている。この実施例では、シミュレーション入力は、デバイスのCAD(コンピュータ支援設計)モデル、デバイスの構成要素の材料特性に関する情報、及び初期条件、負荷条件、及び/又は境界条件などの適用条件の特性及び場所に関する情報を含む。計算シミュレーションのセットは、シミュレーション入力に基づいて実行されて、シミュレーション結果を算出することができる(例えば、
図4のシミュレーション結果404)。
【0082】
上記の実施例と同様に、適用された条件は、デバイスの構成要素のサイズ、形状、及び配置に関する情報を含む、CADモデルに適用される物理的効果を表すことができる。各適用条件は、適用条件が作用する位置(又は場所)と、適用条件の1つ以上の特性と、によって、定義することができる。例えば、適用条件は、デバイスのパネル上の第1のタッチ場所、デバイスのパネル上の第2のタッチ場所、第1のタッチ圧力、及び第2のタッチ圧力を含むことができる。第1のタッチ場所は、100の可能な値を有するパラメータ化された変数であり得、第2のタッチ場所は、100の可能な値を有するパラメータ化された変数であり得る。第1のタッチ圧力は、最小値及び最大値を有するパラメータ化変数であり得、第2のタッチ圧力は、最小値及び最大値を有するパラメータ化変数であり得る。
【0083】
上で考察されるように、計算シミュレーションのセットは、シミュレーション結果を算出することができる(例えば、
図4のシミュレーション結果404)。この実施例では、シミュレーション結果は、デバイスの各ひずみセンサにおけるひずみを含むことができる。したがって、この実施例では、適用条件(例えば、第1及び第2のタッチ場所並びに第1及び第2のタッチ圧力)の組み合わせに対してシミュレーションを実行し、各組み合わせに対してシミュレーション結果を算出することができる。例えば、パラメータ化された変数値は、適用条件の組み合わせに対して選択されて、シミュレーション結果を生成することができる。任意選択的に、この実施例では、適用条件(例えば、N=50,000)のNのランダムな組み合わせの各々について計算シミュレーションを実行することができる。N=50,000が、例としてのみ提供されることを理解されたい。各計算シミュレーションに対して、デバイスの各ひずみセンサにおけるひずみをシミュレートすることができる。各ひずみセンサのひずみは、
図1を参照して上で説明した「算出された特性」に対応する。
【0084】
上記の実施例と同様に、50,000のシミュレーションのシミュレーション結果は、データセット(例えば、
図4のデータセット430)にアセンブルすることができる(例えば、
図1のステップ104)。本明細書で考察されるように、データセットは、シミュレーション入力及び/又はシミュレーション結果のサブセットのみを含み得る。例えば、ユーザは、シミュレーション入力及び/又はシミュレーション結果(例えば、
図4の入力仕様403、及び結果仕様405)からのどのデータをデータセットに含めるべきかを指定することができ、次いで、データセットは、機械学習モデルを訓練するために使用される。この実施例では、データセットをアセンブルすることは、シミュレーション入力と各シミュレーションの結果の両方をデータセットに組み合わせることを含むことができる。したがって、データセットは、4つの適用条件(例えば、タッチ場所及びタッチ圧力のランダムに選択された組み合わせのパラメータ化された変数値)、並びに50,000のシミュレーションの各々から算出されたひずみ値を含むことができる。任意選択的に、データセットを分析及びクリーンして、例えば、ひずみセンサの動作範囲を超える算出されたひずみ値を検出及び除去(又は現実的な値に修正)することができる。
【0085】
この実施例では、次いで、データセットを使用して、機械学習モデルを訓練することができる(例えば、
図1のステップ106、
図4の機械学習モデル420)。この実施例では、ひずみセンサの各々におけるステインを表すシミュレーション結果は、機械学習モデル(例えば、
図4のモデル特徴406)の特徴であり得、4つの適用条件を表すシミュレーション入力は、機械学習モデル(例えば、
図4のモデルターゲット408)のターゲットであり得る。これは、実施例2において、機械学習モデルのターゲット(すなわち、モデルが予測するもの)が、シミュレーションに対するシミュレーション入力(すなわち、適用された条件)であるため、上記の実施例1とは異なる。
【0086】
上記の実施例と同様に、本実施例は、訓練された機械学習モデルの性能が、訓練中に、例えば、分類子モデルの正解率、適合率、感度/再現率、及び特異性などのメトリック又は回帰モデルの誤差を使用して判定され得ることを企図する。また、機械学習モデルがデータセットを使用して訓練されると、機械学習モデルは、推論モードで使用され得る訓練された機械学習モデルと見なされる。訓練された学習モデルは、ファイル(例えば、コンピュータファイル)に格納され、及び/又はユーザに送信され得る。
【0087】
上記の実施例と同様に、モデルの性能を改善するために、
図1に例解されるステップ102、104、及び106のうちのいずれか1つ以上を、実施例1に記載されるものと同じ方法で繰り返すことができる。追加的に、新しいパラメータ値を選択し、新しいパラメータ値に基づいて新しいシミュレーションを実行し、より大きなデータセットを用いて機械学習モデルを再訓練し、再訓練されたモデルの性能を測定し、モデルの性能が十分であるかどうかを決定するこれらのステップは、2回以上実行することができる。例えば、これらのステップは、性能値が閾値に達するまで繰り返し実行され得る。代替的又は追加的に、これらのステップは、ステップのコスト(例えば、金銭的、シミュレーション又はコア時間の数などのコンピューティング)がコスト閾値を超えるまで繰り返すことができる。
【0088】
主題は、構造的特徴及び/又は方法論的行為に特有の言語で記載されてきたが、添付の特許請求の範囲で定義される主題が、必ずしも上記に記載された特定の特徴又は行為に限定されないことを理解されたい。むしろ、上記の具体的な特徴及び行為は、特許請求の範囲を実装する例示的な形態として開示される。
【国際調査報告】