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

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

▶ オンスケール,インコーポレイテッドの特許一覧

特表2022-553866シミュレーションの計算コストの推定のための方法およびシステム
<>
  • 特表-シミュレーションの計算コストの推定のための方法およびシステム 図1
  • 特表-シミュレーションの計算コストの推定のための方法およびシステム 図2
  • 特表-シミュレーションの計算コストの推定のための方法およびシステム 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-26
(54)【発明の名称】シミュレーションの計算コストの推定のための方法およびシステム
(51)【国際特許分類】
   G06F 30/27 20200101AFI20221219BHJP
   G06F 30/23 20200101ALI20221219BHJP
   G06N 3/08 20060101ALI20221219BHJP
   G16Z 99/00 20190101ALI20221219BHJP
【FI】
G06F30/27
G06F30/23
G06N3/08
G16Z99/00
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022526232
(86)(22)【出願日】2020-11-06
(85)【翻訳文提出日】2022-07-01
(86)【国際出願番号】 US2020059393
(87)【国際公開番号】W WO2021092366
(87)【国際公開日】2021-05-14
(31)【優先権主張番号】62/931,299
(32)【優先日】2019-11-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521060822
【氏名又は名称】オンスケール,インコーポレイテッド
(74)【代理人】
【識別番号】100092783
【弁理士】
【氏名又は名称】小林 浩
(74)【代理人】
【識別番号】100120134
【弁理士】
【氏名又は名称】大森 規雄
(74)【代理人】
【識別番号】100147762
【弁理士】
【氏名又は名称】藤 拓也
(72)【発明者】
【氏名】コシック,カイル
(72)【発明者】
【氏名】シガール,アニル
(72)【発明者】
【氏名】マクレナン,スコット
(72)【発明者】
【氏名】オスター-モリス,ジョシュア
(72)【発明者】
【氏名】ディーステルホルスト,ライアン
(72)【発明者】
【氏名】フリード,デイビッド エム.
(72)【発明者】
【氏名】キャンベル,イアン
【テーマコード(参考)】
5B146
5L049
【Fターム(参考)】
5B146DA03
5B146DC03
5B146DJ07
5B146DJ14
5L049AA04
(57)【要約】
本明細書において説明されるのは、機械学習モデルを用いたシミュレーションの計算コストの推定のための方法およびシステムである。例示的な方法は、特徴データセットを機械学習モデルに入力することを含む。特徴データセットはモデルジオメトリメタデータおよびシミュレーションメタデータを含む。本方法は、機械学習モデルを用いて、シミュレーションプロセスのための計算コスト特性を予測することをさらに含む。
【特許請求の範囲】
【請求項1】
シミュレーションの計算コストを推定するためのコンピュータにより実行される方法であって、
特徴データセットを機械学習モデルに入力することであって、前記特徴データセットがモデルジオメトリメタデータおよびシミュレーションメタデータを含む、入力することと、
前記機械学習モデルを用いて、シミュレーションプロセスのための計算コスト特性を予測することと、
を含むコンピュータにより実行される方法。
【請求項2】
前記計算コスト特性が、前記シミュレーションプロセスを遂行する前に予測される、請求項1に記載のコンピュータにより実行される方法。
【請求項3】
前記モデルジオメトリメタデータが、メッシュ内の要素の数、前記メッシュ内の頂点の数、モデルの表面積対体積比、最小要素サイズ、メッシュ品質メトリック、要素の種類および要素の順序、前記モデルのアスペクト比、前記モデル内の辺の数、前記モデル内のサーフェスの数、前記モデル内の有限ボリュームの数、あるいは前記モデル内の制御点の数のうちの少なくとも1つを含む、請求項1または2に記載のコンピュータにより実行される方法。
【請求項4】
前記モデルがコンピュータ支援設計(CAD)モデルである、請求項3に記載のコンピュータにより実行される方法。
【請求項5】
前記CADモデルから前記モデルジオメトリメタデータを抽出することをさらに含む、請求項4に記載のコンピュータにより実行される方法。
【請求項6】
前記シミュレーションメタデータが、解析の種類、解領域、線形ソルバの種類、プレコンディショナ、時間積分法、空間積分法、非線形度、非線形ソルバオプション、適合格子細分化法の種類およびレベル数、時間ステップサイズ、または周波数の数、境界条件の自由度、境界条件の種類、材料モデルの種類、材料特性、コア数、あるいは物理現象固有パラメータのうちの少なくとも1つを含む、請求項1から5のいずれか一項に記載のコンピュータにより実行される方法。
【請求項7】
前記計算コスト特性が、前記シミュレーションプロセスのためのメモリ使用または時間のうちの少なくとも一方である、請求項1から6のいずれか一項に記載のコンピュータにより実行される方法。
【請求項8】
前記計算コスト特性が前記シミュレーションプロセスの部分のための時間である、請求項7に記載のコンピュータにより実行される方法。
【請求項9】
前記シミュレーションプロセスのための前記時間に少なくとも部分的に基づいてコア時間数を推定することをさらに含む、請求項7に記載のコンピュータにより実行される方法。
【請求項10】
前記計算コスト特性が、メッシュ生成のために必要とされる時間、前処理のために必要とされる時間、求解のために必要とされる時間、後処理のために必要とされる時間、または前記シミュレーションプロセスのために必要とされる時間のうちの少なくとも1つである、請求項1から6のいずれか一項に記載のコンピュータにより実行される方法。
【請求項11】
前記機械学習モデルを用いて、シミュレーションプロセスのための計算コスト特性を予測することが前記シミュレーションプロセスのための複数の計算コスト特性を含み、前記シミュレーションプロセスのための各々のそれぞれの計算コスト特性が、計算リソースおよび/またはソルバオプションの異なるセットに基づく、請求項1から10のいずれか一項に記載のコンピュータにより実行される方法。
【請求項12】
前記機械学習モデルが、ディープニューラルネットワーク、畳み込みニューラルネットワーク、勾配ブースティング決定木、またはガウス過程回帰である、請求項1から11のいずれか一項に記載のコンピュータにより実行される方法。
【請求項13】
前記特徴データセットがコンピューティング環境メタデータをさらに含む、請求項1から12のいずれか一項に記載のコンピュータにより実行される方法。
【請求項14】
前記特徴データセットを決定することをさらに含む、請求項1から13のいずれか一項に記載のコンピュータにより実行される方法。
【請求項15】
前記特徴データセットを決定することが、
複数のシミュレーションを遂行して、初期シミュレーションデータセットを得ること、
前記初期シミュレーションデータセットから1つまたは複数の種類のメタデータを選択して、モデル特徴データセットを作成することであって、前記1つまたは複数の種類のメタデータが、モデルジオメトリメタデータ、シミュレーションメタデータ、コンピューティング環境メタデータ、またはこれらの組み合わせを含む、作成すること、ならびに
前記モデル特徴データセットを用いて前記機械学習モデルを訓練および試験すること、
を含む、請求項14に記載のコンピュータにより実行される方法。
【請求項16】
1つまたは複数の追加のシミュレーションを遂行することと、
前記モデル特徴データセットを前記1つまたは複数の追加のシミュレーションからのメタデータで補完することと、
前記補完されたモデル特徴データセットを用いて前記機械学習モデルを訓練および試験することと、
をさらに含む、請求項15に記載のコンピュータにより実行される方法。
【請求項17】
前記機械学習モデルを訓練および試験する前記ステップが反復的に遂行される、請求項15または16に記載のコンピュータにより実行される方法。
【請求項18】
前記特徴データセットを機械学習モデルに入力する前記ステップが、
前記モデルジオメトリメタデータを第1の機械学習モデルに入力すること、および
前記シミュレーションメタデータを第2の機械学習モデルに入力すること、
を含む、請求項1から17のいずれか一項に記載のコンピュータにより実行される方法。
【請求項19】
前記第1および第2の機械学習モデルのそれぞれの出力から固定次元表現ベクトルを作成することと、
前記シミュレーションプロセスのための前記計算コスト特性を予測するために、前記固定次元表現ベクトルを解析することと、
をさらに含む、請求項18に記載のコンピュータにより実行される方法。
【請求項20】
前記シミュレーションプロセスのための前記計算コスト特性を予測するために、前記固定次元表現ベクトルを解析する前記ステップが、回帰解析を遂行することを含む、請求項19に記載のコンピュータにより実行される方法。
【請求項21】
シミュレーションの計算コストを推定するためのシステムであって、
機械学習モデルと、
プロセッサおよびメモリを含むコンピューティングデバイスと、を備え、前記メモリが、前記プロセッサによって実行されたときに、前記プロセッサに、
特徴データセットを機械学習モデルに入力することであって、前記特徴データセットがモデルジオメトリメタデータおよびシミュレーションメタデータを含む、入力することと、
前記機械学習モデルを用いて、シミュレーションプロセスのための計算コスト特性を予測することと、
を行わせるコンピュータ実行可能命令を記憶している、システム。
【請求項22】
前記計算コスト特性が、前記シミュレーションプロセスを遂行する前に予測される、請求項21に記載のシステム。
【請求項23】
前記モデルジオメトリメタデータが、メッシュ内の要素の数、前記メッシュ内の頂点の数、モデルの表面積対体積比、最小要素サイズ、メッシュ品質メトリック、要素の種類および要素の順序、前記モデルのアスペクト比、前記モデル内の辺の数、前記モデル内のサーフェスの数、前記モデル内の有限ボリュームの数、あるいは前記モデル内の制御点の数のうちの少なくとも1つを含む、請求項21または22に記載のシステム。
【請求項24】
前記モデルがコンピュータ支援設計(CAD)モデルである、請求項23に記載のシステム。
【請求項25】
前記メモリが、前記プロセッサによって実行されたときに、前記プロセッサに、前記CADモデルから前記モデルジオメトリメタデータを抽出させるさらなるコンピュータ実行可能命令を記憶している、請求項24に記載のシステム。
【請求項26】
前記シミュレーションメタデータが、解析の種類、解領域、線形ソルバの種類、プレコンディショナ、時間積分法、空間積分法、非線形度、非線形ソルバオプション、適合格子細分化法の種類およびレベル数、時間ステップサイズ、または周波数の数、境界条件の自由度、境界条件の種類、材料モデルの種類、材料特性、コア数、あるいは物理現象固有パラメータのうちの少なくとも1つを含む、請求項21から25のいずれか一項に記載のシステム。
【請求項27】
前記計算コスト特性が、前記シミュレーションプロセスのためのメモリ使用または時間のうちの少なくとも一方である、請求項21から26のいずれか一項に記載のシステム。
【請求項28】
前記計算コスト特性が前記シミュレーションプロセスの部分のための時間である、請求項27に記載のシステム。
【請求項29】
前記メモリが、前記プロセッサによって実行されたときに、前記プロセッサに、前記シミュレーションプロセスのための前記時間に少なくとも部分的に基づいてコア時間数を推定させるさらなるコンピュータ実行可能命令を記憶している、請求項27に記載のシステム。
【請求項30】
前記計算コスト特性が、メッシュ生成のために必要とされる時間、前処理のために必要とされる時間、求解のために必要とされる時間、後処理のために必要とされる時間、または前記シミュレーションプロセスのために必要とされる時間のうちの少なくとも1つである、請求項21から26のいずれか一項に記載のシステム。
【請求項31】
前記機械学習モデルを用いて、シミュレーションプロセスのための計算コスト特性を予測することが前記シミュレーションプロセスのための複数の計算コスト特性を含み、前記シミュレーションプロセスのための各々のそれぞれの計算コスト特性が、計算リソースおよび/またはソルバオプションの異なるセットに基づく、請求項21から30のいずれか一項に記載のシステム。
【請求項32】
前記機械学習モデルが、ディープニューラルネットワーク、畳み込みニューラルネットワーク、勾配ブースティング決定木、またはガウス過程回帰である、請求項21から31のいずれか一項に記載のシステム。
【請求項33】
前記特徴データセットがコンピューティング環境メタデータをさらに含む、請求項21から32のいずれか一項に記載のシステム。
【請求項34】
前記メモリが、前記プロセッサによって実行されたときに、前記プロセッサに前記特徴データセットを決定させるさらなるコンピュータ実行可能命令を記憶している、請求項21から33のいずれか一項に記載のシステム。
【請求項35】
前記特徴データセットを決定することが、
複数のシミュレーションを遂行して、初期シミュレーションデータセットを得ること、
前記初期シミュレーションデータセットから1つまたは複数の種類のメタデータを選択して、モデル特徴データセットを作成することであって、前記1つまたは複数の種類のメタデータが、モデルジオメトリメタデータ、シミュレーションメタデータ、コンピューティング環境メタデータ、またはこれらの組み合わせを含む、作成すること、ならびに
前記モデル特徴データセットを用いて前記機械学習モデルを訓練および試験すること、
を含む、請求項34に記載のシステム。
【請求項36】
前記メモリが、前記プロセッサによって実行されたときに、前記プロセッサに、
1つまたは複数の追加のシミュレーションを遂行することと、
前記モデル特徴データセットを前記1つまたは複数の追加のシミュレーションからのメタデータで補完することと、
前記補完されたモデル特徴データセットを用いて前記機械学習モデルを訓練および試験することと、
を行わせるさらなるコンピュータ実行可能命令を記憶している、請求項35に記載のシステム。
【請求項37】
前記機械学習モデルを訓練および試験する前記ステップが反復的に遂行される、請求項35または36に記載のシステム。
【請求項38】
前記特徴データセットを機械学習モデルに入力する前記ステップが、
前記モデルジオメトリメタデータを第1の機械学習モデルに入力すること、および
前記シミュレーションメタデータを第2の機械学習モデルに入力すること、
を含む、請求項21から37のいずれか一項に記載のシステム。
【請求項39】
前記メモリが、前記プロセッサによって実行されたときに、前記プロセッサに、
前記第1および第2の機械学習モデルのそれぞれの出力から固定次元表現ベクトルを作成することと、
前記シミュレーションプロセスのための前記計算コスト特性を予測するために、前記固定次元表現ベクトルを解析することと、
を行わせるさらなるコンピュータ実行可能命令を記憶している、請求項38に記載のシステム。
【請求項40】
前記シミュレーションプロセスのための前記計算コスト特性を予測するために、前記固定次元表現ベクトルを解析する前記ステップが、回帰解析を遂行することを含む、請求項39に記載のシステム。
【請求項41】
有限要素解析(FEA)シミュレーションの計算コストを推定するためのコンピュータにより実行される方法であって、
コンピュータ支援設計(CAD)モデルを含む第1のデータセットを受信することと、
前記第1のデータセットを第1の機械学習モデルに入力することと、
前記第1の機械学習モデルを用いて前記第1のデータセットを処理することによって、モデルジオメトリデータセットを抽出することと、
前記CADモデルに関連付けられたメタデータを含む第2のデータセットを受信することと、
前記第2のデータセットを第2の機械学習モデルに入力することと、
前記第2の機械学習モデルを用いて前記第2のデータセットを処理することによって、シミュレーションメタデータセットを抽出することと、
前記モデルジオメトリおよびシミュレーションメタデータセットから固定次元表現ベクトルを作成することと、
FEAシミュレーションのためのターゲットパラメータを決定するために、前記固定次元表現ベクトルを解析することと、
を含むコンピュータにより実行される方法。
【請求項42】
前記固定次元表現ベクトルを解析する前記ステップが、
前記固定次元表現ベクトルをヘッドネットワークに入力すること、および
前記ヘッドネットワークを用いて前記固定次元表現ベクトルを処理することによって、前記FEAシミュレーションのための前記ターゲットパラメータを抽出すること、
を含む、請求項41に記載のコンピュータにより実行される方法。
【請求項43】
前記ヘッドネットワークが、FEAシミュレーションのための前記ターゲットパラメータを決定するために回帰を遂行するように構成されている、請求項42に記載のコンピュータにより実行される方法。
【請求項44】
前記ターゲットパラメータが、前記FEAシミュレーションのためのメモリ使用またはシミュレーション実行時間のうちの少なくとも一方である、請求項41から43のいずれか一項に記載のコンピュータにより実行される方法。
【請求項45】
前記シミュレーション実行時間に少なくとも部分的に基づいてコア時間数を推定することをさらに含む、請求項44に記載のコンピュータにより実行される方法。
【請求項46】
前記CADモデルに関連付けられた前記メタデータが、時間反復、材料特性、コア数、物理現象固有パラメータ、または前記CADモデルのメッシュ内の要素数のうちの少なくとも1つを含む、請求項41から45のいずれか一項に記載のコンピュータにより実行される方法。
【請求項47】
前記CADモデルに関連付けられた前記メタデータが離散的または連続的である、請求項41から46のいずれか一項に記載のコンピュータにより実行される方法。
【請求項48】
前記第1の機械学習モデルが畳み込みニューラルネットワークである、請求項41から47のいずれか一項に記載のコンピュータにより実行される方法。
【請求項49】
前記第2の機械学習モデルが、ニューラル忘却決定木および全結合ニューラルネットワークの組み合わせである、請求項41から48のいずれか一項に記載のコンピュータにより実行される方法。
【請求項50】
前記CADモデルが空間モデルジオメトリを含む、請求項41から49のいずれか一項に記載のコンピュータにより実行される方法。
【請求項51】
前記空間モデルジオメトリが複数の離散セルに分割される、請求項50に記載のコンピュータにより実行される方法。
【請求項52】
前記空間モデルジオメトリを点群として抽出することをさらに含み、前記第1のデータセットを第1の機械学習モデルに入力する前記ステップが、前記点群を前記第1の機械学習モデルに入力することを含む、請求項50に記載のコンピュータにより実行される方法。
【請求項53】
前記点群が前記離散セルのそれぞれの頂点を含む、請求項52に記載のコンピュータにより実行される方法。
【請求項54】
前記点群が、少なくとも、補間された物理的値、再サンプリングされた物理的値、または境界条件を含む、請求項52または53に記載のコンピュータにより実行される方法。
【請求項55】
有限要素解析(FEA)シミュレーションの計算コストを推定するためのコンピュータにより実行される方法であって、
コンピュータ支援設計(CAD)モデルおよびメタデータを含むデータセットを受信することと、
前記データセットを機械学習モデルに入力することと、
前記機械学習モデルを用いて前記データセットを処理することによって、モデルジオメトリおよびシミュレーションメタデータセットを抽出することと、
前記特徴セットから固定次元表現ベクトルを作成することと、
FEAシミュレーションのためのターゲットパラメータを決定するために、前記固定次元表現ベクトルを解析することと、
を含むコンピュータにより実行される方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年11月6日に出願され、「Method for the Estimation of the Computational Cost of Simulation」と題する、米国仮特許出願第62/931,299号の利益を主張する。同出願の開示は全体が本明細書において参照により明示的に組み込まれる。
【0002】
本開示はマルチフィジックスシミュレーションツールに関し、特に、機械学習方法論を用いて実行前にシミュレーションの計算コストを正確に推定する能力に焦点を合わせる。
【背景技術】
【0003】
コンピュータ支援エンジニアリング(CAE:Computer-aided engineering)は、有限要素法(FEM:finite element method)および有限差分法(FDM:finite difference method)などの計算方法を用いて物理的物体の表現をシミュレートする手法である。場合によっては何十億もの自由度を有する、多様な複雑さのシステムのための計算コストの正確な推定は、解そのものと同じほど算出に時間がかかり得るため、現代の数値解析ツールは、通例、シミュレーションが完了するのに要することになる時間に関するフィードバックをユーザに提供することができない。新たなサービスベースのシミュレーションツールが有効に展開されることを可能にするために、シミュレーションの実行前にコストフィードバックを高速に正確に提供するための方法が関連技術分野において必要とされている。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示は、数値シミュレーションの計算コストを推定するための方法およびシステムに関する。一実装形態では、本方法は、形式および目的が異なる多数のシミュレーションから収集された特定の初期設定および得られた性能メトリックを包含するデータベースの構築を含む。このデータセットから、機械学習モデルが訓練および試験され、これにより、訓練された機械学習モデルは、モデルを訓練するために用いられた設定の同じセットに基づいて新たなシミュレーションの解を計算するためにどれぐらいのコア時間が必要とされることになるのかを推定することができる。得られた推定は、実行前にシミュレーションのおおよそのコストをユーザに知らせ、必要とされる場合には、モデルをあらかじめ最適化する機会を提供するために用いられる。
【0005】
シミュレーションの計算コストを推定するための例示的な方法が本明細書において説明される。本方法は、特徴データセットを機械学習モデルに入力することを含む。特徴データセットはモデルジオメトリメタデータおよびシミュレーションメタデータを含む。本方法は、機械学習モデルを用いて、シミュレーションプロセスのための計算コスト特性を予測することをさらに含む。
【0006】
加えて、モデルジオメトリメタデータは、メッシュ内の要素の数、メッシュ内の頂点の数、モデルの表面積対体積比、最小要素サイズ、メッシュ品質メトリック、要素の種類および要素の順序、モデルのアスペクト比、モデル内の辺の数、モデル内のサーフェスの数、モデル内の有限ボリュームの数、あるいはモデル内の制御点の数のうちの少なくとも1つを含む。
【0007】
任意選択的に、モデルはコンピュータ支援設計(CAD:computer-aided design)モデルである。実装形態によっては、本方法は、CADモデルからモデルジオメトリメタデータを抽出することをさらに含む。
【0008】
代替的に、または加えて、シミュレーションメタデータは、解析の種類、解領域、線形ソルバの種類、プレコンディショナ、時間積分法、空間積分法、非線形度、非線形ソルバオプション、適合格子細分化法の種類およびレベル数、時間ステップサイズ、または周波数の数、境界条件の自由度、境界条件の種類、材料モデルの種類、材料特性、コア数、あるいは物理現象固有パラメータを含む。
【0009】
代替的に、または加えて、計算コスト特性は、シミュレーションプロセスのためのメモリ使用または時間のうちの少なくとも一方である。任意選択的に、計算コスト特性はシミュレーションプロセスの部分のための時間である。任意選択的に、本方法は、シミュレーションプロセスのための時間に少なくとも部分的に基づいてコア時間数を推定することをさらに含む。
【0010】
代替的に、または加えて、計算コスト特性は、メッシュ生成のために必要とされる時間、前処理のために必要とされる時間、求解のために必要とされる時間、後処理のために必要とされる時間、またはシミュレーションプロセスのために必要とされる時間のうちの少なくとも1つである。
【0011】
代替的に、または加えて、機械学習モデルを用いて、シミュレーションプロセスのための計算コスト特性を予測するステップはシミュレーションプロセスのための複数の計算コスト特性を含み、シミュレーションプロセスのための各々のそれぞれの計算コスト特性は、計算リソースおよび/またはソルバオプションの異なるセットに基づく。
【0012】
代替的に、または加えて、機械学習モデルは、ディープニューラルネットワーク、畳み込みニューラルネットワーク、勾配ブースティング決定木、またはガウス過程回帰である。
【0013】
代替的に、または加えて、特徴データセットは、任意選択的に、コンピューティング環境メタデータをさらに含む。
【0014】
代替的に、または加えて、本方法は、特徴データセットを決定することをさらに含む。実装形態によっては、特徴データセットを決定するステップは、複数のシミュレーションを遂行して、初期シミュレーションデータセットを得ること、初期シミュレーションデータセットから1つまたは複数の種類のメタデータを選択して、モデル特徴データセットを作成すること、ならびにモデル特徴データセットを用いて機械学習モデルを訓練および試験すること、を含む。1つまたは複数の種類のメタデータは、モデルジオメトリメタデータ、シミュレーションメタデータ、コンピューティング環境メタデータ、またはこれらの組み合わせを含む。任意選択的に、本方法は、1つまたは複数の追加のシミュレーションを遂行することと、モデル特徴データセットを1つまたは複数の追加のシミュレーションからのメタデータで補完することと、補完されたモデル特徴データセットを用いて機械学習モデルを訓練および試験することと、をさらに含む。任意選択的に、機械学習モデルを訓練および試験する1つのステップ又は複数のステップは反復的に遂行される。
【0015】
任意選択的に、実装形態によっては、特徴データセットを機械学習モデルに入力するステップは、モデルジオメトリメタデータを第1の機械学習モデルに入力すること、およびシミュレーションメタデータを第2の機械学習モデルに入力すること、を含む。これらの実装形態では、本方法は、任意選択的に、第1および第2の機械学習モデルのそれぞれの出力から固定次元表現ベクトルを作成することと、シミュレーションプロセスのための計算コスト特性を予測するために、固定次元表現ベクトルを解析することと、をさらに含む。任意選択的に、シミュレーションプロセスのための計算コスト特性を予測するために、固定次元表現ベクトルを解析するステップは、回帰解析を遂行することを含む。
【0016】
また、シミュレーションの計算コストを推定するための例示的なシステムも本明細書において説明される。システムは、機械学習モデルと、プロセッサおよびメモリを含むコンピューティングデバイスと、を含む。メモリは、プロセッサによって実行されたときに、プロセッサに、特徴データセットを機械学習モデルに入力することと、機械学習モデルを用いて、シミュレーションプロセスのための計算コスト特性を予測することと、を行わせるコンピュータ実行可能命令を記憶している。特徴データセットはモデルジオメトリメタデータおよびシミュレーションメタデータを含む。
【0017】
また、有限要素解析(FEA:finite element analysis)シミュレーションの計算コストを推定するための例示的な方法も本明細書において説明される。本方法は、コンピュータ支援設計(CAD)モデルを含む第1のデータセットを受信することと、第1のデータセットを第1の機械学習モデルに入力することと、第1の機械学習モデルを用いて第1のデータセットを処理することによって、モデルジオメトリデータセットを抽出することと、を含む。本方法はまた、CADモデルに関連付けられたメタデータを含む第2のデータセットを受信することと、第2のデータセットを第2の機械学習モデルに入力することと、第2の機械学習モデルを用いて第2のデータセットを処理することによって、シミュレーションメタデータセットを抽出することと、を含む。本方法は、モデルジオメトリおよびシミュレーションメタデータセットから固定次元表現ベクトルを作成することと、FEAシミュレーションのためのターゲットパラメータを決定するために、固定次元表現ベクトルを解析することと、をさらに含む。
【0018】
加えて、固定次元表現ベクトルを解析するステップは、任意選択的に、固定次元表現ベクトルをヘッドネットワークに入力すること、およびヘッドネットワークを用いて固定次元表現ベクトルを処理することによって、FEAシミュレーションのためのターゲットパラメータを抽出すること、を含む。代替的に、または加えて、ヘッドネットワークは、FEAシミュレーションのためのターゲットパラメータを決定するために回帰を遂行するように構成されている。
【0019】
代替的に、または加えて、ターゲットパラメータは、メモリ使用、またはFEAシミュレーションのためのシミュレーション実行時間のうちの少なくとも一方である。実装形態によっては、本方法は、シミュレーション実行時間に少なくとも部分的に基づいてコア時間数を推定することをさらに含む。
【0020】
代替的に、または加えて、CADモデルに関連付けられたメタデータは、時間反復、材料特性、コア数、物理現象固有パラメータ、またはCADモデルのメッシュ内の要素数のうちの少なくとも1つを含む。
【0021】
代替的に、または加えて、CADモデルに関連付けられたメタデータは離散的または連続的である。
【0022】
代替的に、または加えて、第1の機械学習モデルは畳み込みニューラルネットワークである。
【0023】
代替的に、または加えて、第2の機械学習モデルは、ニューラル忘却決定木および全結合ニューラルネットワークの組み合わせである。
【0024】
代替的に、または加えて、CADモデルは空間モデルジオメトリを含む。任意選択的に、空間モデルジオメトリは複数の離散セルに分割される。任意選択的に、本方法は、空間モデルジオメトリを点群として抽出することをさらに含み、第1のデータセットを第1の機械学習モデルに入力するステップは、点群を第1の機械学習モデルに入力することを含む。加えて、点群は離散セルのそれぞれの頂点を含む。代替的に、または加えて、点群は、少なくとも、補間された物理的値、再サンプリングされた物理的値、または境界条件を含む。
【0025】
FEAシミュレーションの計算コストを推定するための別の例示的な方法が本明細書において説明される。本方法は、コンピュータ支援設計(CAD)モデルおよびメタデータを含むデータセットを受信することと、データセットを機械学習モデルに入力することと、機械学習モデルを用いてデータセットを処理することによって、モデルジオメトリおよびシミュレーションメタデータセットを抽出することと、を含む。本方法はまた、特徴セットから固定次元表現ベクトルを作成することと、FEAシミュレーションのためのターゲットパラメータを決定するために、固定次元表現ベクトルを解析することと、を含む。
【0026】
上述の主題はまた、コンピュータ制御式装置、コンピュータプロセス、コンピューティングシステム、またはコンピュータ可読記憶媒体などの、製造品として実施され得ることを理解されたい。添付の図面および詳細な説明を精査することで、他のシステム、方法、特徴、および/または利点が当業者に明らかになるであろう、または明らかになり得る。全てのこのようなさらなるシステム、方法、特徴、および/または利点は本説明に含まれ、添付の請求項によって保護されることが意図される。
【0027】
図面内の構成要素は必ずしも互いに対して原寸に比例しているとは限らない。同様の参照符号は、いくつかの図全体を通じて、対応する部分を示す。本願発明のこれらおよび他の特徴は、添付の図面が参照される詳細な説明においてより明らかになるであろう。
【図面の簡単な説明】
【0028】
図1】本明細書において説明される実装形態に係る、シミュレーションモデルデータおよびシミュレーションメタデータのための別個のニューラルネットワークを用いた機械学習推定プロセスのブロック図である。
図2】本明細書において説明される実装形態に係る別の機械学習推定プロセスのブロック図である。
図3】例示的なコンピューティングデバイスの図である。
【発明を実施するための形態】
【0029】
本開示は、以下の詳細な説明、実施例、図面、ならびにそれらの以上および以下の説明を参照することによって、より容易に理解することができる。しかし、本デバイス、システム、および/または方法が開示され、説明される前に、本開示は、別途記載のない限り、開示される特定のデバイス、システム、および/または方法に限定されず、それゆえ、無論、異なり得ることを理解されたい。また、本明細書において用いられる用語法は、特定の態様を説明することのみを目的としており、限定を意図されてはいないことも理解されたい。
【0030】
以下の説明は、実施を可能にする教示として提供される。この目的を達成するために、当業者は、有益な結果を依然として得つつ、多くの変更を行うことができることを認識し、理解するであろう。望ましい便益のうちのいくつかは、他の特徴を利用することなく特徴の一部を選択することによって得ることができることも明らかになるであろう。したがって、当業者は、多くの変更および適合が可能であり得、特定の状況では望ましくなることさえあり得、本開示によって企図されることを認識するであろう。それゆえ、以下の説明は原理の例示として提供されており、それらの限定のために提供されていない。
【0031】
全体を通じて使用するとき、単数形「a」、「an」、および「the」は、文脈が別途明確に指示しない限り、複数の指示対象を含む。それゆえ、例えば、「a 3D model(3Dモデル)」への言及は、文脈が別途指示しない限り、2つ以上のこのような3Dモデルを含むことができる。
【0032】
範囲は、本明細書において、「約(about)」1つの特定の値から、および/または「約」別の特定の値までと表され得る。このような範囲が表されるとき、別の態様は、1つの特定の値から、および/または別の特定の値までを含む。同様に、値が近似値として表されるとき、先行語「約」の使用によって、特定の値は別の態様を成すことは理解されるであろう。範囲の各々の端点は、他方の端点と関連した形でも、他方の端点とは独立した形でも意味があることはさらに理解されるであろう。
【0033】
本明細書で使用するとき、「任意選択的な(optional)」または「任意選択的に(optionally)」は、続いて説明される事象または状況が生じてもよいか、または生じなくてもよいこと、ならびに説明は、該事象または状況が生じる場合、およびそれが生じない場合を含むことを意味する。
【0034】
本開示は、機械学習技法を用いたシミュレーション(例えば、有限要素解析(FEA)シミュレーション)の計算コストの推定のための方法およびシステムに関する。本明細書において説明される計算コストの推定は、所望のシミュレーションが開始する前に、すなわち、所望のシミュレーションの先験的知識に基づいて遂行される。所望のシミュレーションが始められる前に予測を提供することによって、関係者(例えば、ユーザ、顧客等)は、所望のシミュレーションのコスト(例えば、時間、コンピューティングリソース、金銭的コスト等)の理解を与えられる。このような情報は、関係者が、限定するものではないが、所望のシミュレーションを進めるべきかどうか、所望のシミュレーションをどのように進めるべきか、および/またはいかなるコンピューティングリソースを用いるべきかを含む、決定を行うことを可能にする。このような情報が当技術分野において必要とされているが、このような情報は、特に、機械学習方法を用いて、従来のシステムおよび方法によって提供されないことを理解されたい。例えば、メモリおよびコア時間の形のコストを推定するために機械学習技法が用いられる。ここで、コア時間は、単一の計算コアによって1時間で遂行され得る計算量である。実装形態によっては、本明細書において説明される機械学習技法は、シミュレーションプロセスのための複数の計算コスト特性を予測するために用いられる。ここで、シミュレーションプロセスのための各々のそれぞれの計算コスト特性は計算リソースおよび/またはソルバオプションの異なるセットに基づく。これは関係者にさらなる情報およびオプションを提供し、任意選択的に、このような情報は、次に、関係者のリソースおよび状況を所与としてシミュレーションを完了するために必要とされるコンピューティングリソース(例えば、メモリ、コア数等)の最適セットを選択するために用いることができることを理解されたい。コンピュータプロセッサは複数の計算コアを含み得ることを理解されたい。機械学習技法の利用は、特に、時間領域解析において、推定の効率および精度を大きく改善することができる。ここで、現行技術では、初期時間ステップが解かれ、その後、外挿されなければならず、収束までの時間が未知であるときには、誤差の大幅な余地を残す。シミュレーションへの潜在的入力の膨大な複雑性のゆえに、機械学習はこの種の問題によく適している。
【0035】
次に図1を参照すると、シミュレーションモデルデータおよびシミュレーションメタデータのための別個のニューラルネットワークを用いた機械学習推定プロセスのブロック図が示されている。機械学習推定器の機能は、シミュレーションが負うことになるメモリ量および総実行時間に関する回帰を遂行することが企図される。実行時間、および利用される計算コアの数から、シミュレーションのコア時間コストの量が機械学習推定器によって算出され得る。換言すれば、機械学習推定器はコア時間コスト量を出力することができる。推定器への2つの主要な入力ソースは、コンピュータ支援設計(CAD)ジオメトリおよびシミュレーションメタデータである。任意選択的に、推定器への他の入力ソースは、限定するものではないが、計算ハードウェアのデータおよびメトリックの後処理などの動作をサポートすることに関連するメタデータを含むことができる。CADジオメトリは、問題の解を計算するために用いられる有限要素方程式の構築を助ける、メッシュと呼ばれる離散要素に分割される。メタデータは、限定するものではないが、以下のものを含むことができる:
● (動的求解のための)時間反復
● 材料特性
● 用いられるコア
● 物理現象固有パラメータ(解方程式、負荷の種類、境界条件の種類)
● 物理現象ごとの要素数
● メッシュ内の総要素数
● 解析の種類(例えば、静的、準静的、動的)
● 解領域(例えば、時間または周波数)
● 線形ソルバの種類(例えば、直接的または反復的方法)
● 行列プレコンディショナの種類
● 非線形度
● 非線形ソルバオプション
● 適合格子細分化法のレベル
以上において概説された特定のメタデータは単なる一例として提供されているにすぎないことを理解されたい。本開示は、他のシミュレーションメタデータが、本明細書において説明される機械学習モデルと共に用いられ得ることを企図する。モデルへの入力として考慮され、新たなシミュレーションのために推定されるべきターゲットパラメータは以下のものである:
● メモリ使用
● シミュレーション実行時間
以上において概説された特定のターゲットパラメータは単なる一例として提供されているにすぎないことを理解されたい。本開示は、他のターゲットパラメータが、本明細書において説明される機械学習モデルと共に用いられ得ることを企図する。
【0036】
本方法の一実装形態では、推定は、シミュレーションを、異なるニューラルネットワークによって別個に処理されることになるデータの2つのセットに分割する方略を用いて達成される。データの第1のセットは空間モデルジオメトリ(例えば、CADモデル)に関連する。空間モデルジオメトリはSTEPファイルなどのCADファイル内に包含される。STEPファイル形式は当技術分野において周知である。本開示は、空間モデルジオメトリは他の種類のCADファイル内に包含され得ることを企図する。問題のジオメトリは、例えば、2019年8月9日に出願され、「HYBRID MESHING METHOD FOR FINITE ELEMENT ANALYSIS」と題する、米国特許出願公開第2020/0050722号に記載されるものなどのアルゴリズムを用いて、シミュレーション前処理のメッシュ生成段階の間に、セルに分割され得ることが企図される。これらのセルの頂点は、シミュレーションセットアップからの、任意の補間もしくは再サンプリングされた物理的値、および境界条件を保持する、点群101として直接エクスポートされ得る。分解能調整も、ネットワークアーキテクチャとの適合性を確実にするために再サンプリングの間に行われることになり、ジオメトリのあらゆる変化がメタデータとして点群101内に保持されることを確実にする。加えて、(モデル範囲、セルの数等などの)推定器の結果に関連する統計を外部メタデータとして保持し、畳み込みネットワークの外部の最終モデルへの独立入力として用いることができる。
【0037】
第1の機械学習モデルが作成され、点群101を処理するために事前訓練される。例えば、畳み込みニューラルネットワーク102が作成され、PrincetonのモデルNet40(http://modelnet.cs.princeton.edu)、またはStanfordのShapeNet(https://shapenet.cs.stanford.edu/)などの3Dデータベンチマークで事前訓練されることが企図される。畳み込みニューラルネットワーク102は、点群101の処理構成要素、およびモジュール構成要素103を含む。畳み込みニューラルネットワークの設計(または「アーキテクチャ」)は、入力3D点群(例えば、点群101)を処理し、固定長ベクトル105の表現を生成するように互いに配列したモジュール構成要素103によって規定される。ここで用いられるモジュール構成要素103は、必ずしも限定するものではないが、畳み込みフィルタ(「畳み込み」層)、アフィン変換(「緻密(dense)」層)、適応的正規化およびスケーリング変換、プーリング、ならびに様々な非線形関数を含む。畳み込みニューラルネットワークは単なる例示的な第1の機械学習モデルとして提供されているにすぎないことを理解されたい。本開示は、勾配ブースティング決定木およびガウス過程回帰を含む、他の機械学習モデルが訓練され、本明細書において説明されるシステムおよび方法と共に用いられ得ることを企図する。
【0038】
ニューラルネットワークは、ベンチマークの分類と、セマンティックセグメンテーションタスクと、現行技術のエラーメトリクス近くまでの訓練(「事前訓練」)とで実験的に実証された強度を有する標準化モデルアーキテクチャを含む。既存のタスク上で低い誤り率を達成するための方法は広く知られており、オープンソースおよびオープンライセンスチャネルを介して公開されている。標準化モデルが選択されると、次に、ニューラルネットワークは、所望の変数を回帰するために独自のシミュレーションデータを使って微調整される。微調整のプロセスは、訓練されたネットワークの最終分類およびセマンティックセグメンテーション重み層を除去し、所望の関数値域内で値を出力するように設計された、重み層121(または「ヘッドネットワーク121」)の新たなセットを作成することを含む。
【0039】
ModelNet40またはShapeNetから提供されたニューラルネットワーク102の先行層が、3Dジオメトリ内のパターンの認識に有用な事前訓練されたプライアを保持することで、学習率を低減することができ、所望のターゲット変数に対して訓練を再開することができる(「微調整」)。ニューラルネットワークアーキテクチャは、種々の異なる物理現象解析の下でシミュレーション実行時間と強く相関する、局所モデルトポロジの階層表現を強調する。点群101は、ジオメトリの固定次元ベクトル表現105を作成するために、訓練されたニューラルネットワーク102によって処理される。
【0040】
処理されるべきデータの第2のセットは、幾何モデルから集められたメタデータ111、およびシミュレーション実行の構成から記録された、パースされたパラメータから生成されたシミュレーションメタデータを含む。一部の特徴は、静的解析対過渡解析などの、シミュレーション物理現象の種類に依存する。これらの特徴の例としては、求解される物理現象ごとの、メッシュ分解能、材料特性、用いられるCPUコア、またはメッシュ要素などのものが挙げられるであろう。これらの特徴は、カテゴリー変数として、または連続的な浮動小数点値として離散化される。次に、メタデータ111は第2の機械学習モデルによって処理される。例えば、ニューラル忘却決定木(neural oblivious decision tree)および全結合ニューラルネットワーク106の組み合わせを、メタデータ111を処理するために用いることができる。従来のワイドディープ(wide-deep)(https://arxiv.org/abs/1606.07792)モデルはこれらの特徴の固定次元の埋め込みを作成することができる。ニューラル忘却決定木および全結合ニューラルネットワークの組み合わせは単なる例示的な第2の機械学習モデルとして提供されているにすぎないことを理解されたい。本開示は、他の機械学習モデルが訓練され、本明細書において説明されるシステムおよび方法と共に用いられ得ることを企図する。
【0041】
最後に、これらの2つのニューラルネットワーク(ジオメトリおよびメタデータ)の組み合わせから得られた固定次元ベクトル表現105は、次に、特定の回帰ターゲット、概して、総メモリ使用または総実行時間のどちらかを各々担当するヘッドネットワーク121に加えられることが企図される。ヘッドネットワーク121は、各メトリックに関連するエラーバーなどの統計的推定を含むこともできる。得られる出力は、ジオメトリベクトル表現およびメタデータが収集され得る同じプラットフォーム上で実行された他のシミュレーションから収集された訓練データに基づく総メモリ使用または総実行時間の推定である。
【0042】
次に図2を参照すると、シミュレーションプロセスの計算コストを推定するための例示的な方法が示されている。本明細書で使用するとき、シミュレーションプロセスは、シミュレーション(例えば、FEAシミュレーション)、ならびに任意選択的に、ファイルのアップロード/ダウンロード、モデルジオメトリのメッシュ生成、シミュレーションデータの前処理、および/またはシミュレーション結果の後処理を含む。ブロック202に、例示的な特徴データセットが示されている。後述されるように、特徴データセットは機械学習モデル204への入力になる。したがって、特徴データセットは、予測を行うために参照モードで動作する訓練済みの機械学習モデルによって解析されるデータである(機械学習モデルの「ターゲット」または「ターゲット群」とも称される)。本開示は、特徴データセットはコンピューティングデバイス(例えば、図3に示されるコンピューティングデバイス300)によって記憶され得ることを企図する。実装形態によっては、特徴データセットは、コンピューティングデバイスによって、またはクラウドストレージ環境内に維持される。代替的に、または加えて、実装形態によっては、特徴データセットは、例えば、ネットワークを通じて、コンピューティングデバイスによってアクセスされる。
【0043】
代替的に、または加えて、実装形態によっては、特徴データセットは、任意選択的に、より大きいデータセット、例えば、訓練データ、検証データ、および/または試験データを含むことができるモデル特徴データセットから決定される。本明細書において説明されるように、特徴データセットの決定は、自動システムおよび方法を用いて遂行することができる。例えば、機械学習モデル204が予測を行う特徴データセット(すなわち、いずれかの特定のメタデータ)を決定するための自動プロセスを実行することができる。このプロセスは、例えば、シミュレーションの代表サンプルを識別すること、幅広い可能な特徴(例えば、モデルジオメトリメタデータ、シミュレーションメタデータ、コンピューティング環境メタデータ等)を選択すること、シミュレーションを実行し、特徴値を抽出すること、およびデータサイエンス方法を用いて、重要である特徴を決定することを含むことができる。訓練および試験、ならびに任意選択的に、検証のために用いられる、モデル特徴データセットは、重要な特徴を用いて作成される。その後、データ点(シミュレーション)の大きなセットを収集することができ、それらのシミュレーションのための特徴を抽出することができ、データを解析し、所望の信頼レベルに達するべく、反復的に訓練し、データを追加する前に、十分な被覆を確実にすることができる。これは初期機械学習モデルの作成を可能にする。本開示は、初期機械学習モデルを保持および更新するために、クラウドベースのシミュレーションからデータを継続的に収集し、モデル特徴データセットを更新するための自動システムおよび方法を実行することができることを企図する。自動システムおよび方法は機械学習モデル204を生成することができる。機械学習モデル204は、新たなデータ点を用いた精度を改善するため、および新たに開発されたシミュレーション能力を扱うために、更新することができることを理解されたい。
【0044】
また、モデル特徴データセットは、任意選択的に、頻繁に更新することができ、機械学習モデルは、新たに開発されたシミュレーション能力およびコンピューティング環境の変換に対応するために再訓練することができることも企図される。本明細書において説明されるように、これは、自動システムおよび方法を用いて達成することができる。例えば、クラウドコンピューティング環境において、特徴セットは、実際の、場合によっては、独自の、CADまたはシミュレーションファイルを収集することなく、システム上で実行されたシミュレーションによって生成された匿名のCADおよびシミュレーションメタデータを収集することによって継続的に更新される。システム上における各シミュレーション実行からのメタデータは記録され、データベースに追加される。機械学習モデルは頻繁に再訓練され、増大するモデル特徴データセットを利用し、予測精度を改善し、新たな特徴に基づく予測を可能にする。さらに、シミュレーションソフトウェアが更新され、アップグレードされるのに従って、シミュレーション時間およびメモリは影響を受け得る。サードパーティソフトウェアを含む、ソフトウェアの様々な構成要素のバージョン数が入力特徴セットの部分として記憶され、含められる。ソフトウェアが進化するのに従って推定は進化することになる。
【0045】
特徴データセットは少なくとも2つの種類のデータ、例えば、モデルジオメトリメタデータ202aおよびシミュレーションメタデータ202bを含む。任意選択的に、特徴データセットはコンピューティング環境メタデータ202cをさらに含む。特徴データセットは、モデルジオメトリ、シミュレーション、およびコンピューティング環境メタデータに限定されず、他の特徴を含み得ることを理解されたい。モデルジオメトリメタデータ202aは、メッシュ内の要素の数、メッシュ内の頂点の数、モデルの表面積対体積比、最小要素サイズ、メッシュ品質メトリック、要素の種類および要素の順序、モデルのアスペクト比、モデル内の辺の数、モデル内のサーフェスの数、モデル内の有限ボリュームの数、あるいはモデル内の制御点の数のうちの少なくとも1つを含むことができる。上述されたように、モデルジオメトリメタデータ202aは、ジオメトリ、メッシュ、またはその両方に関連するメタデータを含み得る。以上において提供されたモデルジオメトリメタデータの例は単なる例示的なモデルジオメトリメタデータ202aとして提供されているにすぎないことを理解されたい。本開示は、他の種類のモデルジオメトリメタデータを、本明細書において説明される技法と共に用いることを企図する。任意選択的に、モデルは、コンピュータ支援設計(CAD)モデル、例えば、STEP形式で記憶されたモデルである。STEPファイルは単なる例示的なCADファイルの種類として提供されているにすぎないことを理解されたい。本開示は、他のファイルの種類が用いられ得ることを企図する。実装形態によっては、モデルジオメトリメタデータはCADモデルから抽出される。メタデータは、限定するものではないが、幾何特徴検出を含む技法を用いて、ジオメトリを含むNURBS(Non-Uniform Rational B-Spline(非一様有理Bスプライン))曲線および曲面、あるいは、場合によっては、点、辺、ファセット、およびボリュームで構成された離散ジオメトリを解析し、最も小さい特徴サイズ、最も短い辺長、パーツの数、面の数、およびモデルの体積を含むメトリックを得ることによって、ジオメトリから抽出することができる。メタデータはまた、メッシュを解析し、頂点数、要素数、要素サイズのヒストグラム、ならびに最小および平均要素品質を含むメトリックを得ることを通じて、メッシュ化されたモデルから抽出することもできる。ジオメトリおよび/またはメッシュからメタデータを抽出するための技法は当技術分野において周知であり、したがって、本明細書においてさらに詳細に説明されない。
【0046】
上述されたように、特徴データセットはまた、シミュレーションメタデータ202bを含む。シミュレーションメタデータは、解析の種類、解領域、線形ソルバの種類、プレコンディショナ、時間積分法、空間積分法、非線形度、非線形ソルバオプション、適合格子細分化法の種類およびレベル数、時間ステップサイズ、または周波数の数、境界条件の自由度、境界条件の種類、材料モデルの種類、材料特性、コア数、ならびに/あるいは物理現象固有パラメータを含むことができる。上述のシミュレーションメタデータの例は単なる例示的なシミュレーションメタデータ202bとして提供されているにすぎないことを理解されたい。本開示は、他の種類のシミュレーションメタデータを、本明細書において説明される技法と共に用いることを企図する。
【0047】
上述されたように、特徴データセットは、任意選択的に、コンピューティング環境メタデータ202cをさらに含む。コンピューティング環境メタデータは、ハードウェア情報、プロセッサ数、および/または帯域幅を含むことができる。上述のコンピューティング環境メタデータの例は単なる例示的なコンピューティング環境メタデータ202cとして提供されているにすぎないことを理解されたい。本開示は、他の種類のコンピューティング環境メタデータを、本明細書において説明される技法と共に用いることを企図する。
【0048】
上述されたように、特徴データセット(例えば、モデルジオメトリメタデータ202aおよびシミュレーションメタデータ202b、ならびに任意選択的に、コンピューティング環境メタデータ202c)は機械学習モデル204に入力される。機械学習モデル204は、ディープニューラルネットワーク、畳み込みニューラルネットワーク、勾配ブースティング決定木、またはガウス過程回帰であることができる。上述の機械学習モデルの例は単なる例として提供されているにすぎないことを理解されたい。本開示は、他の種類の機械学習モデルを、本明細書において説明される技法と共に用いることを企図する。本開示は、当技術分野において周知の訓練方法を用いて、モデルジオメトリおよびシミュレーションメタデータを包含する大きな訓練データセットを用いて、機械学習モデル204を選択し、訓練し、試験することができることを企図する。訓練されると、機械学習モデル204は、新たな特徴データセットに基づいて予測を行うために参照モードで用いることができる。
【0049】
例えば、実装形態によっては、機械学習モデル204はニューラルネットワークである。人工ニューラルネットワーク(ANN:artificial neural network)は、複数の相互接続されたニューロン(例えば、「ノード」とも称される)を含むコンピューティングシステムである。本開示は、ノードは、コンピューティングデバイス(例えば、本明細書において説明されるとおりの処理ユニットおよびメモリ)を用いて実行することができることを企図する。ノードは、任意選択的に、入力層、出力層、および1つまたは複数の隠れ層などの複数の層内に配置され得る。各ノードはANN内の1つまたは複数の他のノードに接続されている。例えば、各層は複数のノードで作られており、各ノードは以前の層内の全てのノードに接続されている。所与の層内のノードは互いに相互接続されていない。すなわち、所与の層内のノードは互いに独立して機能する。本明細書で使用するとき、入力層内のノードはANNの外部からデータを受信し、隠れ層内のノードは入力層と出力層との間でデータを変更し、出力層内のノードは結果を提供する。各ノードは、入力を受信し、活性化関数(例えば、バイナリステップ、線形、シグモイド、tanH、または正規化線形ユニット(ReLU:rectified linear unit)関数)を実行し、活性化関数に従って出力を提供するように構成されている。加えて、各ノードはそれぞれの重みに関連付けられる。ANNは、データセットを用いて、ANNの性能の尺度である、費用関数を最小化するように訓練される。訓練アルゴリズムは、限定するものではないが、逆伝搬を含む。訓練アルゴリズムは、費用関数を最小化するためにノードの重みおよび/またはバイアスを調節する。費用関数の最小を見出す任意のアルゴリズムを、ANNを訓練するために用いることができることを理解されたい。
【0050】
ニューラルネットワークは単なる例示的な機械学習モデルとして提供されているにすぎないことを理解されたい。本開示は、機械学習モデルは任意の教師あり学習モデル、半教師あり学習モデル、または教師なし学習モデルであることができることを企図する。任意選択的に、機械学習モデルは、深層学習モデル、例えば、畳み込みニューラルネットワーク(CNN:convolutional neural network)である。CNNは、例えば、画像解析アプリケーションに適用されている種類のディープニューラルネットワークである。伝統的なニューラルネットワークとは異なり、CNN内の各層は、3次元(幅、高さ、深さ)に配置された複数のノードを有する。CNNは、異なる種類の層、例えば、畳み込み、プーリング、および全結合(本明細書において「緻密」とも称される)層を含むことができる。畳み込み層はフィルタのセットを含み、計算の大部分を遂行する。プーリング層は、計算パワーを低減し、および/または(例えば、ダウンサンプリングによって)過剰適合を制御するために、畳み込み層の間に任意選択的に挿入される。全結合層はニューロンを含み、各ニューロンは以前の層内のニューロンのうちの全てに接続されている。層は伝統的なニューラルネットワークと同様に積層される。機械学習モデルは当技術分野において周知であり、したがって、本明細書においてさらに詳細に説明されない。
【0051】
ブロック206において、機械学習モデル204を用いてシミュレーションプロセスのための計算コスト特性206aが予測される。換言すれば、計算コスト特性206aは機械学習モデル204のターゲットである。機械学習モデル204は、シミュレーションプロセスが開始する前に、すなわち、シミュレーションプロセスの先験的知識に基づいて計算コスト特性206aを予測する。実装形態によっては、計算コスト特性206aは、シミュレーションプロセスのためのメモリ使用および/または時間である。任意選択的に、シミュレーションプロセスのための時間に少なくとも部分的に基づいてコア時間数が推定される。代替的に、または加えて、計算コスト特性206aは、メッシュ生成のために必要とされる時間、前処理のために必要とされる時間、求解のために必要とされる時間、後処理のために必要とされる時間、および/またはシミュレーションプロセスのために必要とされる時間である。実装形態によっては、計算コスト特性206aはシミュレーションプロセス全体のための時間であり、その一方で、他の実装形態では、計算コスト特性206aはシミュレーションプロセスの部分のための時間である。例えば、シミュレーションプロセスは、前処理、メッシュ生成、シミュレーション、および後処理ステップを含み得る。前処理、メッシュ生成、シミュレーション、およびお後処理ステップはシミュレーションプロセスの単なる例示的な部分またはステップとして提供されているにすぎないことを理解されたい。本開示は、シミュレーションプロセスは他の部分またはステップを含むことができることを企図する。したがって、機械学習モデル204によって推定される計算コスト特性206aは、前処理演算のために必要とされる時間、メッシュ生成演算のために必要とされる時間、シミュレーション実行時間、後処理演算のために必要とされる時間、またはシミュレーションプロセスの2つ以上のステップのための時間の合計であり得る。上述の特徴は単なる例示的な計算コスト特性206aとして提供されているにすぎないことを理解されたい。本開示は、本明細書において説明される技法を用いて他の種類の計算コスト特性を予測することを企図する。
【0052】
任意選択的に、機械学習モデル204は、シミュレーションプロセスのための複数の計算コスト特性を予測する。ここで、シミュレーションプロセスのための各々のそれぞれの計算コスト特性は計算リソースおよび/またはソルバオプションの異なるセットに基づく。計算コスト特性は、コンピューティングリソースおよび/またはソルバオプションに応じて変化すると予想されることを理解されたい。機械学習モデル204によって予測された複数の計算コスト特性は、任意選択的に、関係者(例えば、ユーザ、顧客等)へ伝送され、および/または関係者によって表示され得る。複数の予測を提供することは、有用な情報、例えば、意思決定を知らせるために用いられる情報を関係者に提供することも理解されたい。例えば、ブロック206における予測は、プロセッサ数を増大させると、最初は、得られる便益が増大するが、その後、便益は横ばい状態に達し始めること(例えば、便益曲線は漸近的である)を示し得る。本例では、関係者は、望ましい便益を提供するコンピューティングリソースをアプリケーションのために選択し得る。
【0053】
任意選択的に、実装形態によっては、特徴データセットを機械学習モデルに入力するステップは、モデルジオメトリメタデータを第1の機械学習モデル(例えば、図1に示されるCNN102)に入力すること、およびシミュレーションメタデータを第2の機械学習モデル(例えば、図1に示されるニューラル忘却決定木および全結合ニューラルネットワーク106)に入力すること、を含む。これらの実装形態では、第1および第2の機械学習モデルのそれぞれの出力から固定次元表現ベクトル(例えば、図1に示されるベクトル105)を作成し、次に、固定次元表現ベクトルを解析し、シミュレーションのための計算コスト特性を予測する。任意選択的に、固定次元表現ベクトルを解析し、シミュレーションのための計算コスト特性を予測するステップは、回帰解析を遂行することを含む。
【0054】
本明細書において様々な図に関して説明される論理演算は、(1)コンピューティングデバイス(例えば、図3に説明されるコンピューティングデバイス)上で実行する一連のコンピュータにより実行される行為またはプログラムモジュール(すなわち、ソフトウェア)として、(2)コンピューティングデバイス内の相互接続された機械論理回路または回路モジュール(すなわち、ハードウェア)として、ならびに/あるいは(3)ソフトウェア、およびコンピューティングデバイスのハードウェアの組み合わせとして実行され得ることを理解されたい。それゆえ、本明細書において説明される論理演算はハードウェアおよびソフトウェアのいかなる特定の組み合わせにも限定されない。実装形態は、コンピューティングデバイスの性能および他の要件に依存した選択の問題である。したがって、本明細書において説明される論理演算は、動作、構造デバイス、行為、またはモジュールと様々に称される。これらの動作、構造デバイス、行為、およびモジュールは、ソフトウェアの形で、ファームウェアの形で、専用デジタル論理の形で、およびこれらの任意の組み合わせの形で実行され得る。また、図に示され、本明細書において説明されるのよりも多数または少数の動作が遂行されてもよいことも理解されたい。これらの動作はまた、本明細書において説明されるものとは異なる順序で遂行されてもよい。
【0055】
図3を参照すると、本明細書において説明される方法が実行され得る例示的なコンピューティングデバイス300が示されている。例示的なコンピューティングデバイス300は、本明細書において説明される方法が実行され得る好適なコンピューティング環境の単なる一例にすぎないことを理解されたい。任意選択的に、コンピューティングデバイス300は、限定するものではないが、パーソナルコンピュータ、サーバ、ハンドヘルドもしくはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ネットワークパーソナルコンピュータ(PC:personal computer)、ミニコンピュータ、メインフレームコンピュータ、組み込みシステム、および/または上述のシステムのうちの任意のものを複数含む分散コンピューティング環境もしくはデバイスを含む、周知のコンピューティングシステムであることができる。分散コンピューティング環境は、通信ネットワークまたは他のデータ伝送媒体に接続された、遠隔のコンピューティングデバイスが様々なタスクを遂行することを可能にする。分散コンピューティング環境内において、プログラムモジュール、アプリケーション、および他のデータはローカルおよび/またはリモートコンピュータ記憶媒体上に記憶され得る。
【0056】
その最も基本的な構成において、コンピューティングデバイス300は、通例、少なくとも1つの処理ユニット306およびシステムメモリ304を含む。コンピューティングデバイスの実際の構成および種類に応じて、システムメモリ304は、揮発性(ランダムアクセスメモリ(RAM:random access memory)など)、不揮発性(リードオンリーメモリ(ROM:read-only memory)、フラッシュメモリ等など)、または両者の何らかの組み合わせであり得る。この最も基本的な構成が図3において破線302によって示されている。処理ユニット306は、コンピューティングデバイス300の動作のために必要な算術および論理演算を遂行する標準的なプログラマブルプロセッサであり得る。コンピューティングデバイス300はまた、コンピューティングデバイス300の様々な構成要素の間で情報を通信するためのバスまたは他の通信機構を含み得る。
【0057】
コンピューティングデバイス300は追加の特徴/機能性を有し得る。例えば、コンピューティングデバイス300は、限定するものではないが、磁気または光ディスクまたはテープを含む、着脱式ストレージ308および非着脱式ストレージ310などの追加のストレージを含み得る。コンピューティングデバイス300はまた、デバイスが他のデバイスと通信することを可能にするネットワーク接続316も包含し得る。コンピューティングデバイス300はまた、キーボード、マウス、タッチスクリーン等などの入力デバイス314も有し得る。また、ディスプレイ、スピーカ、プリンタ等などの出力デバイス312も含まれ得る。追加のデバイスは、コンピューティングデバイス300の構成要素の間のデータの通信を容易にするためにバスに接続され得る。全てのこれらのデバイスは当技術分野において周知であり、ここで詳細に説明される必要はない。
【0058】
処理ユニット306は、有形コンピュータ可読媒体内に符号化されたプログラムコードを実行するように構成され得る。有形コンピュータ可読媒体は、コンピューティングデバイス300(すなわち、機械)に特定の仕方で動作させるデータを提供する能力を有する任意の媒体を指す。様々なコンピュータ可読媒体が、命令を実行のために処理ユニット306に提供するために利用され得る。例示的な有形コンピュータ可読媒体としては、限定するものではないが、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶のための任意の方法または技術で実施される、揮発性媒体、不揮発性媒体、着脱式媒体、および非着脱式媒体を挙げることができる。システムメモリ304、着脱式ストレージ308、および非着脱式ストレージ310は全て、有形コンピュータ記憶媒体の例である。例示的な有形コンピュータ可読記録媒体としては、限定するものではないが、集積回路(例えば、フィールドプログラマブルゲートアレイもしくは特定用途向けIC)、ハードディスク、光ディスク、光磁気ディスク、フロッピーディスク、磁気テープ、ホログラフィック記憶媒体、固体デバイス、RAM、ROM、電気的消去可能プログラムリードオンリーメモリ(EEPROM:electrically erasable program read-only memory)、フラッシュメモリ、または他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD:digital versatile disk)、または他の光学式ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶デバイスが挙げられる。
【0059】
例示的な実装形態では、処理ユニット306は、システムメモリ304内に記憶されたプログラムコードを実行し得る。例えば、バスがデータをシステムメモリ304へ搬送し得、処理ユニット306はメモリ304から命令を受信し、実行する。システムメモリ304によって受信されたデータは、任意選択的に、処理ユニット306による実行前または後に着脱式ストレージ308または非着脱式ストレージ310上に記憶され得る。
【0060】
本明細書において説明される様々な技法は、ハードウェアまたはソフトウェア、あるいは、適切な場合には、これらの組み合わせに関連して実施され得ることを理解されたい。それゆえ、本開示の主題の方法および装置、あるいはそれらの特定の態様または部分は、フロッピーディスケット、CD-ROM、ハードドライブ、または任意の他の機械可読記憶媒体などの、有形媒体内に具現されたプログラムコード(すなわち、命令)の形態を取り得、プログラムコードが、コンピューティングデバイスなどの、機械内にロードされ、それによって実行されたとき、機械は、本開示の主題を実施するための装置になる。プログラマブルコンピュータ上におけるプログラムコードの実行の場合には、コンピューティングデバイスは、概して、プロセッサ、プロセッサによって可読の記憶媒体(揮発性および不揮発性メモリおよび/または記憶要素を含む)、少なくとも1つの入力デバイス、ならびに少なくとも1つの出力デバイスを含む。1つまたは複数のプログラムは、例えば、アプリケーションプログラミングインターフェース(API:application programming interface)、再利用可能な制御装置(reusable control)、または同様のものの使用を通じて、本開示の主題に関連して説明されるプロセスを実施または利用し得る。このようなプログラムは、コンピュータシステムと対話するために高レベル手続き型またはオブジェクト指向プログラミング言語で実施され得る。しかし、プログラムは、必要に応じて、アセンブリまたは機械言語で実施することができる。いずれの場合でも、言語はコンパイラ型またはインタープリタ型言語であり得、それはハードウェアの実装形態と組み合わせられ得る。
【0061】
本主題は、構造的特徴および/または方法論的動作に特定的な文言で説明されたが、添付の請求項において定義された本主題は、上述された特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、上述された特定の特徴および動作は、請求項を実施する例示的形態として開示されている。
【符号の説明】
【0062】
101 点群
102 畳み込みニューラルネットワーク
103 モジュール構成要素
105 固定長ベクトル、固定次元ベクトル表現
106 ニューラル忘却決定木および全結合ニューラルネットワーク
111 メタデータ
121 重み層、ヘッドネットワーク
202a モデルジオメトリメタデータ
202b シミュレーションメタデータ
202c コンピューティング環境メタデータ
204 機械学習モデル
206a 計算コスト特性
300 コンピューティングデバイス
304 システムメモリ
306 処理ユニット
308 着脱式ストレージ
310 非着脱式ストレージ
312 出力デバイス
314 入力デバイス
316 ネットワーク接続
図1
図2
図3
【国際調査報告】