(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023178778
(43)【公開日】2023-12-18
(54)【発明の名称】物理場予測モデル学習装置、物理場予測モデル学習方法および物理場予測モデル学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20231211BHJP
G06F 30/27 20200101ALI20231211BHJP
G06F 30/10 20200101ALI20231211BHJP
【FI】
G06N20/00 130
G06F30/27
G06F30/10 200
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022091668
(22)【出願日】2022-06-06
(71)【出願人】
【識別番号】000000099
【氏名又は名称】株式会社IHI
(74)【代理人】
【識別番号】100088155
【弁理士】
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100113435
【弁理士】
【氏名又は名称】黒木 義樹
(74)【代理人】
【識別番号】100170818
【弁理士】
【氏名又は名称】小松 秀輝
(72)【発明者】
【氏名】斉藤 弘樹
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146DC03
5B146DJ01
(57)【要約】
【課題】物理場の予測精度を高める。
【解決手段】学習装置2は、物理場X、Y、Pの初期状態を示す学習データD1と、物理場X、Y、Pを支配する支配方程式Eに学習データD1を適用した結果として得られる正解データD3と、を含む教師データD4を受け入れる入力部21と、学習データD1を物理場X、Y、Pを予測するための学習モデルMに適用することによって、複数のノードNごとに定義される物理量の予測値を得る予測部22と、正解データD3を用いて物理量の予測値を評価する評価部23と、評価部23の結果を受けて学習モデルMのパラメータを調整する調整部24と、を備える。評価部23は、損失関数Lを用いて物理量の予測値を評価する。損失関数Lは、第1のノードNに定義される物理量の予測値と、第1のノードとは異なる第2のノードNに定義される物理量の予測値と、により表現される勾配に関する項を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のノードによって表現された領域において、前記複数のノードごとに定義される物理量によって構成された物理場を予測するための物理場予測モデル学習装置であって、
前記物理場の初期状態を示す学習データと、前記物理場を支配する支配方程式に前記学習データを適用した結果として得られる正解データと、を含む教師データを受け入れる入力部と、
前記物理場を予測するための学習モデルに前記学習データを適用することによって、前記複数のノードごとに定義される物理量の予測値を得る予測部と、
前記正解データを用いて前記物理量の予測値を評価する評価部と、
前記評価部の結果を受けて前記学習モデルのパラメータを調整する調整部と、を備え、
前記評価部は、損失関数を用いて前記物理量の予測値を評価し、
前記損失関数は、第1の前記ノードに定義される前記物理量の前記予測値と、第1の前記ノードとは異なる第2の前記ノードに定義される前記物理量の前記予測値と、により表現される勾配に関する項を含む、物理場予測モデル学習装置。
【請求項2】
前記損失関数は、第1項と、第2項と、第3項と、を含み、
前記第1項は、前記正解データとして与えられる前記物理量の真値と、前記予測部が出力する前記物理量の前記予測値と、の差分を含み、
前記第2項は、前記勾配に関する項としての前記物理量を微分する要素を含む前記支配方程式を含み、
前記第3項は、ディリクレ境界条件として与えられる境界条件を含む、請求項1に記載の物理場予測モデル学習装置。
【請求項3】
前記損失関数は、第1項と、第2項と、第3項と、を含み、
前記第1項は、前記正解データとして与えられる前記物理量の真値と、前記予測部が出力する前記物理量の前記予測値と、の差分を含み、
前記第2項は、前記勾配に関する項としての前記物理量を微分する要素を含まない前記支配方程式を含み、
前記第3項は、前記勾配に関する項としてのノイマン境界条件として与えられる境界条件を含む、請求項1に記載の物理場予測モデル学習装置。
【請求項4】
前記損失関数は、少なくとも第1項を含み、
前記第1項は、前記物理量の前記勾配に関する真値と、前記物理量の前記勾配に関する予測値を含む、請求項1に記載の物理場予測モデル学習装置。
【請求項5】
前記損失関数は、第1項と、第2項と、第3項と、を加重平均する演算を含む、請求項2~4の何れか一項に記載の物理場予測モデル学習装置。
【請求項6】
複数のノードによって表現された領域において、前記複数のノードごとに定義される物理量によって構成された物理場を予測するための物理場予測モデル学習方法であって、
前記物理場の初期状態を示す学習データと、前記物理場を支配する支配方程式に前記学習データを適用した結果として得られる正解データと、を含む教師データを受け入れるステップと、
前記物理場を予測するための学習モデルに前記学習データを適用することによって、前記複数のノードごとに定義される物理量の予測値を得るステップと、
前記正解データを用いて前記物理量の予測値を評価するステップと、
前記評価するステップの結果を受けて前記学習モデルのパラメータを調整するステップと、を有し、
前記評価するステップは、損失関数を用いて前記物理量の予測値を評価し、
前記損失関数は、第1の前記ノードに定義される前記物理量の前記予測値と、第1の前記ノードに隣接する第2の前記ノードに定義される前記物理量の前記予測値と、により表現される勾配に関する項を含む、物理場予測モデル学習方法。
【請求項7】
複数のノードによって表現された領域において、前記複数のノードごとに定義される物理量によって構成された物理場を予測するための物理場予測モデル学習プログラムであって、
前記物理場の初期状態を示す学習データと、前記物理場を支配する支配方程式に前記学習データを適用した結果として得られる正解データと、を含む教師データを受け入れるステップと、
前記物理場を予測するための学習モデルに前記学習データを適用することによって、前記複数のノードごとに定義される物理量の予測値を得るステップと、
前記正解データを用いて前記物理量の予測値を評価するステップと、
前記評価するステップの結果を受けて前記学習モデルのパラメータを調整するステップと、をコンピュータに実行させ、
前記評価するステップは、損失関数を用いて前記物理量の予測値を評価し、
前記損失関数は、第1の前記ノードに定義される前記物理量の前記予測値と、第1の前記ノードに隣接する第2の前記ノードに定義される前記物理量の前記予測値と、により表現される勾配に関する項を含む、物理場予測モデル学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物理場予測モデル学習装置、物理場予測モデル学習方法および物理場予測モデル学習プログラムに関する。
【背景技術】
【0002】
工業製品の開発では、コンピュータ上で対象となる製品を仮想的なモデルとして構築すると共にコンピュータ上で仮想的な試験を行うことがある。例えば、仮想的な試験の結果は、いくつかの条件が与えられた支配方程式を数値計算によって数値解として得ることができる。近年、機械学習技術を利用して、同様の仮想的な試験を行う手法が検討されている。例えば、特許文献1~3は、支配方程式を数値的に解く手法に代えて、機械学習を用いて物理場を予測する手法を開示する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-191096号公報
【特許文献2】特開2021-135775号公報
【特許文献3】特開2021-157682号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
物理場を予測するための学習モデルを得るとき、教師あり学習を用いることがある。教師あり学習では、学習装置には、問題となるデータ(学習データ)と問題に対して正解であるデータ(正解データ)とを与える。そして、学習装置は、学習データを受けて予測した結果が正解データに近づくように、学習モデルを更新する。
【0005】
このとき、正解であるデータは、空間が複数のノードによって表現されていて、その複数のノードごとに定義される物理量によって構成されている。つまり、学習モデルは、空間に含まれるノードごとの物理量を予測する。このような学習モデルは、ノードごとの物理量を予測することはできても、あるノードに定義される物理量と別のノードに定義される物理量との関係まで精度よく予測できるとは限らない。
【0006】
本発明は、物理場の予測精度を高めることができる物理場予測モデル学習装置、物理場予測モデル学習方法および物理場予測モデル学習プログラムを提供する。
【課題を解決するための手段】
【0007】
本発明の一形態である物理場予測モデル学習装置は、複数のノードによって表現された領域において、複数のノードごとに定義される物理量によって構成された物理場を予測するための物理場予測モデル学習装置であって、物理場の初期状態を示す学習データと、物理場を支配する支配方程式に学習データを適用した結果として得られる正解データと、を含む教師データを受け入れる入力部と、物理場を予測するための学習モデルに学習データを適用することによって、複数のノードごとに定義される物理量の予測値を得る予測部と、正解データを用いて物理量の予測値を評価する評価部と、評価部の結果を受けて学習モデルのパラメータを調整する調整部と、を備える。評価部は、損失関数を用いて物理量の予測値を評価する。損失関数は、第1のノードに定義される物理量の予測値と、第1のノードとは異なる第2のノードに定義される物理量の予測値と、により表現される勾配に関する項を含む。
【0008】
物理場予測モデル学習装置は、勾配を示す項を含んだ損失関数を用いる。このような損失関数を用いた評価によれば、ノードごとに得られる物理量を精度よく予測できるだけでなく、ノードごとに得られた物理量同士の関係(勾配)も精度よく予測できるように学習モデルのパラメータを調整できる。その結果、物理場の予測精度を高めることができる。
【0009】
上記の物理場予測モデル学習装置における損失関数は、第1項と、第2項と、第3項と、を含み、第1項は、正解データとして与えられる物理量の真値と、予測部が出力する物理量の予測値と、の差分を含み、第2項は、勾配に関する項としての物理量を微分する要素を含む支配方程式を含み、第3項は、ディリクレ境界条件として与えられる境界条件を含んでもよい。このような損失関数の評価によっても、物理量の勾配を精度よく予測できるように学習モデルのパラメータを調整できる。
【0010】
上記の物理場予測モデル学習装置における損失関数は、第1項と、第2項と、第3項と、を含み、第1項は、正解データとして与えられる物理量の真値と、予測部が出力する物理量の予測値と、の差分を含み、第2項は、勾配に関する項としての物理量を微分する要素を含まない支配方程式を含み、第3項は、勾配に関する項としてのノイマン境界条件として与えられる境界条件を含んでもよい。このような損失関数の評価によっても、物理量の勾配を精度よく予測できるように学習モデルのパラメータを調整できる。
【0011】
上記の物理場予測モデル学習装置における損失関数は、少なくとも第1項を含み、第1項は、物理量の勾配に関する真値と、物理量の勾配に関する予測値を含んでもよい。このような損失関数の評価によっても、物理量の勾配を精度よく予測できるように学習モデルのパラメータを調整できる。
【0012】
上記の物理場予測モデル学習装置における損失関数は、第1項と、第2項と、第3項と、を加重平均する演算を含んでもよい。このような損失関数の評価によっても、物理量の勾配を精度よく予測できるように学習モデルのパラメータを調整できる。
【0013】
本発明の別の形態である物理場予測モデル学習方法は、複数のノードによって表現された領域において、複数のノードごとに定義される物理量によって構成された物理場を予測するための物理場予測モデル学習方法であって、物理場の初期状態を示す学習データと、物理場を支配する支配方程式に学習データを適用した結果として得られる正解データと、を含む教師データを受け入れるステップと、物理場を予測するための学習モデルに学習データを適用することによって、複数のノードごとに定義される物理量の予測値を得るステップと、正解データを用いて物理量の予測値を評価するステップと、評価するステップの結果を受けて学習モデルのパラメータを調整するステップと、を有する。評価するステップは、損失関数を用いて物理量の予測値を評価する。損失関数は、第1のノードに定義される物理量の予測値と、第1のノードに隣接する第2のノードに定義される物理量の予測値と、により表現される勾配に関する項を含む。
【0014】
本発明のさらに別の形態である物理場予測モデル学習プログラムは、複数のノードによって表現された領域において、複数のノードごとに定義される物理量によって構成された物理場を予測するための物理場予測モデル学習プログラムであって、物理場の初期状態を示す学習データと、物理場を支配する支配方程式に学習データを適用した結果として得られる正解データと、を含む教師データを受け入れるステップと、物理場を予測するための学習モデルに学習データを適用することによって、複数のノードごとに定義される物理量の予測値を得るステップと、正解データを用いて物理量の予測値を評価するステップと、評価するステップの結果を受けて学習モデルのパラメータを調整するステップと、をコンピュータに実行させる。評価するステップは、損失関数を用いて物理量の予測値を評価する。損失関数は、第1のノードに定義される物理量の予測値と、第1のノードに隣接する第2のノードに定義される物理量の予測値と、により表現される勾配に関する項を含む。
【0015】
物理場予測モデル学習方法および物理場予測モデル学習プログラムによっても、物理場の予測精度を高めることができる。
【発明の効果】
【0016】
本発明によれば、物理場の予測精度を高めることができる物理場予測モデル学習装置、物理場予測モデル学習方法および物理場予測モデル学習プログラムが提供される。
【図面の簡単な説明】
【0017】
【
図1】
図1は、物理場予測モデル学習装置を含む物理場予測装置の機能ブロック図である。
【
図2】
図2(a)は、物理場予測装置を説明する概念図である。
図2(b)は、数値解析装置を説明する概念図である。
【
図3】
図3は、物理場予測モデル学習装置に定義されるデータの例示である。
【
図4】
図4(a)、
図4(b)及び
図4(c)は、勾配を得る数値計算の手法の一例を示す図である。
【
図5】
図5は、物理場予測装置を実現するコンピュータの構成図である。
【
図6】
図6は、物理場予測方法のフローチャートである。
【
図7】
図7(a)および
図7(b)は、物理場予測装置の効果を説明するための図である。
【
図8】
図8(a)および
図8(c)は、比較例の学習モデルを用いた物理場の予測結果である。
図8(b)および
図8(d)は、実施例の学習モデルを用いた物理場の予測結果である。
【
図9】
図9は、実施例の学習モデルを用いた予測結果を評価するためのグラフである。
【発明を実施するための形態】
【0018】
以下、添付図面を参照して、実施形態に係る物理場予測モデル学習装置、物理場予測モデル学習方法および物理場予測モデル学習プログラムを詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【0019】
図1は、物理場予測装置1を説明するための機能ブロック図である。物理場予測装置1は、物理場を予測するための物理場予測モデルを用いて物理場を予測する。物理場予測モデルは、物理場予測装置1が備える物理場予測モデル学習装置(以下、学習装置2と称する)が生成する学習モデルMである。
【0020】
本実施形態でいう物理場X、Y、Pとは、
図2(a)に示すように、二次元領域又は三次元領域が複数のノードNによって規定されており、それらの複数のノードNに対してそれぞれ定義される物理量によって構成されている。
【0021】
例えば、二次元の予測領域は、複数のノードNによって分割されている。予測領域を複数のノードNに分割することをメッシュ化ともいう。予測領域のノードNのそれぞれには、例えば、X方向速度が与えられる。つまり、予測領域は、X方向速度を予測するための物理場Xであるといえる。ノードNにY方向速度が定義された場合には、予測領域は、Y方向速度を予測するための物理場Yであるといえる。ノードNに圧力が定義された場合には、予測領域は、圧力を予測するための物理場Pであるといえる。
【0022】
例えば、物理場予測装置1は、予測領域のノードNに対して定義される初期条件を受けるである問題データDPを受ける。初期条件は、X方向速度、Y方向速度及び圧力などである。また、予測領域の境界を規定する境界ノードBNには、いわゆる境界条件が与えられる。例えば、境界ノードBNでは、流れが生じていないという状態を示すために、境界条件としてX方向速度の値およびY方向速度の値がゼロとしてもよい。
【0023】
次に、物理場予測装置1は、初期条件および境界条件を学習モデルMに適用する。その結果、物理場予測装置1は、例えば、初期条件が示す状態の時刻を基準時(t=0)として、所望の時刻が経過したのち(t=n)の各ノードNにおける物理量を予測データD2として得る。
【0024】
このような動作は、入力情報(初期条件、境界条件)と出力情報(予測物理場)とだけに注目すると、
図2(b)に示すような、いわゆる数値解析装置4を用いたコンピュータシミュレーションと類似する。一般にいうコンピュータシミレーションは、プリプロセッサ41を用いて解析領域を分割(メッシュ化)する。次に、メッシュに対する初期条件および境界条件の設定などを行った後に、ソルバー42を用いてシミュレーションを実行する。ここで、ソルバー42が実行する計算は、初期条件および境界条件が適用された支配方程式Eを数値解析によって解く。つまり、数値解析装置4は、入力情報から出力情報を得るために、支配方程式Eを数値解析によって解くという処理を実行している。そして、ポストプロセッサ43を用いて、ソルバー42が出力する結果を可視化する。
【0025】
これに対して、物理場予測装置1は、入力情報から出力情報を得るために、支配方程式Eを数値的に解くという処理は実行しない。物理場予測装置1は、入力情報を学習モデルMに適用することによって、出力情報を得る。
【0026】
一般に支配方程式Eを数値的に解く処理は、計算負荷が高い。つまり、一つの入力情報に対応する一つ出力情報を得るための時間は、長くなる傾向にある。一方、学習モデルMを用いる処理は、支配方程式Eを数値的に解く処理よりも計算負荷が低い傾向にある。つまり、一つの入力情報に対応する一つ出力情報を得るための時間は、上述の場合によりも短くてよい。コンピュータシミュレーションを用いた製品開発では、入力情報を設定し出力情報を得てその結果に応じてさらに入力情報を変更するといった、フィードバックを繰り返すことがある。物理場予測装置1は、入力情報から出力情報を得るまでの負荷が軽いので、所定の時間内においてこのフィードバックを複数回繰り返すことができる。その結果、より精度の高い設計の結果を得ることが可能になる。
【0027】
以下、物理場予測装置1について詳細に説明する。
【0028】
図1に示すように、物理場予測装置1は、いくつかの機能構成要素を含む。これらの機能構成要素は、後述するコンピュータ500が物理場予測モデル学習プログラムPGを実行することによってそれぞれ実現される。
【0029】
物理場予測装置1は、学習装置2と、推論装置3と、を有する。なお、
図1には、数値解析装置4が図示されているが、数値解析装置4は、物理場予測装置1の構成要素に含まれない。
【0030】
数値解析装置4は、学習データD1を受けて、正解データD3を出力する。数値解析装置4は、学習データD1に示される初期条件が適用された支配方程式Eを数値解析によって解く。例えば、物理場予測装置1が流れ場である物理場を予測するものであるとき、流れ場を支配する方程式は、ナビエ・ストークスの式である。したがって、数値解析装置4も初期速度及び初期圧力を含む初期条件が設定されたナビエ・ストークスの式を数値解析によって解く。
【0031】
学習装置2は、物理場X、Y、Pを予測するための学習モデルMを生成する。学習装置2は、学習モデルMを得る学習のために教師データD4を利用する。つまり、学習装置2は、いわゆる教師あり学習を行う。推論装置3は、学習モデルMを用いて物理場X、Y、Pを予測する。推論装置3は、物理場X、Y、Pを予測するために学習データD1と学習モデルMとを利用する。
【0032】
学習装置2は、入力部21と、予測部22と、評価部23と、調整部24と、出力部25と、を有する。
【0033】
入力部21は、学習のための教師データD4を受ける。教師データD4は、推論装置3の推論処理に用いられる入力情報に対応する学習データD1と、推論装置3の予測が目指すべき結果である正解データD3と、を含む。学習データD1は、物理場予測装置1を用いるユーザなどによって予め設定されてもよい。正解データD3は、学習データD1を数値解析装置4に入力することによって得てもよい。つまり、正解データD3は、一般のコンピュータシミュレーションによって得る。正解データD3も、学習データD1と同様に、予測領域を規定する複数のノードNと、ノードNごとに定義される物理量と、によって構成される。
【0034】
予測部22は、学習モデルMに学習データD1を入力することによって、物理場X、Y、Pを予測した結果である予測データD2を得る。
【0035】
評価部23は、予測部22が予測した物理場X、Y、Pを評価する。評価は、損失関数Lの値として得られる。
【0036】
式(1)は、損失関数Lを示す。
【数1】
式(1)の左辺(L)は、評価値として得られる値である。この値(L)は、評価の結果として、調整部24および出力部25の処理に用いられる。
【0037】
式(1)の右辺は、予測値と真値との絶対誤差(第1項)と、予測値を支配方程式Eに代入したときの誤差(第2項)と、予測値を境界条件に代入したときの誤差(第3項)と、を含む。評価部23は、これら3つの項にそれぞれ重み(ωL1、ωNS、ωBC)を乗算する。そして、評価部23は、重み(ωL1、ωNS、ωBC)が乗算された結果を足し合わせる。つまり、評価部23は、3つの項を加重平均処理する。
【0038】
式(1)の右辺の第1項は、ノードNに対応する物理量の真値と、ノードNに対応する物理量の予測値と、の差分を評価するものである。変数(ω
L1)は、重みである。変数(L
L1)は、真値と予測値との差分に関する値である。変数(L
L1)は、式(2)に示すとおりである。
【数2】
N:教師データの数(
図3参照)。
H:予想領域におけるメッシュの分割数(縦:
図3参照)。
W:予想領域におけるメッシュの分割数(横:
図3参照)。
c:物理場の数(X方向速度、Y方向速度、圧力:
図3参照)。
y
True:正解データに含まれる真値。
y
Pred:予測データに含まれる予測値。
【0039】
なお、上述した損失関数Lの第1項は、絶対誤差を用いていた。損失関数Lの第1項としては、絶対誤差に代えて、二乗誤差や、後述するSSIM(Structural Similarity)の評価値を用いてもよい。また、損失関数Lの第1項は、絶対誤差、二乗誤差及びSSIMの評価値の組み合わせであってもよい。
【0040】
式(1)の右辺の第2項は、ノードNに対応する予測値を支配方程式Eに代入した場合の値を評価するものである。変数(ω
L2)は、重みである。変数(L
NS)は、ノードNに対応する予測値を支配方程式Eに代入した場合の値である。変数(L
NS)は、式(3)に示すとおりである。
【数3】
N:教師データの数(
図3参照)。
H:予想領域におけるメッシュの分割数(縦:
図3参照)。
W:予想領域におけるメッシュの分割数(横:
図3参照)。
f
NS(y
Pred):予測値を支配方程式に代入したときに得られる値。
f
BC(y
Pred):予測値を境界条件に代入したときに得られる値。
【0041】
ここで、f
NSとは、物理場を支配する支配方程式Eである。例えば、予測領域が流れ場である場合に、流れ場を支配する方程式は、式(4)に示すナビエ・ストークスの式である。
【数4】
u:速度ベクトル。
p:圧力。
Re:レイノルズ数。
∇:空間微分項。
式(4)に示すナビエ・ストークスの式を変形することによって、式(5)を得る。
【数5】
速度の予測値(u)および圧力の予測値(p)を代入すると、値(f
NS)が得られる。例えば、速度の予測値(u)および圧力の予測値(p)がそれぞれ真値と等しい場合には、値(f
NS)はゼロとみなせるほどの十分に小さい値となる。この場合には、予測値は、支配方程式Eを満足すると言える。
【0042】
ここで、式(5)は、物理量を微分する要素を含む。具体的には、式(5)は、空間微分項(∇)を含む。空間微分項(∇)は、勾配を意味するものであるから、式(5)は、速度の勾配に対応する項と、圧力の勾配に対応する項と、を含むものともいえる。つまり、損失関数Lが、空間微分項(∇)を含む式(5)を含むということは、損失関数Lが速度の勾配に対応する項と、圧力の勾配に対応する項とを含むものである。したがって、損失関数(L:式(1))は、単に、ノードNごとの真値と予測値との差分に基づいて予測値を評価するものではない。損失関数(L:式(1))は、ノードNごとの真値と予測値との差分に加えて、さらに、ノードNごとに定義される値の勾配(速度の勾配及び圧力の勾配)も評価するものである。
【0043】
なお、物理量を微分する要素は、空間微分項であった。物理量を微分する要素は、空間微分項に限定されない。例えば、物理量を微分する要素は、距離微分項であってもよいし、時間微分項であってもよい。
【0044】
ノードNごとの真値と予測値との差分に基づいて学習モデルMのパラメータを調整することは、ローカルなフィッティングを行っているものともいえる。これに対して、あるノードNに定義される値とあるノードNに隣接する別のノードNに定義される値との勾配に基づいて学習モデルMのパラメータを調整することは、グローバルなフィッティングを行っているものともいえる。したがって、評価部23は、ローカルなフィッティングと、グローバルなフィッティングと、を合わせて行うものである。
【0045】
図4を参照しながら、空間微分の計算方法の一例について説明する。空間微分の項は、差分法を用いて計算する。この例では、X方向速度の計算例を示す。Y方向速度及び圧力についても同様の計算により勾配の計算を行うことができる。例えば、
図4(a)および
図4(b)の領域A1に示すように、境界ノードBNを含まない場合には、式(6)および式(7)によって、勾配を得ることができる。式(6)および式(7)に示された微分計算は、二次精度の中心差分である。
【数6】
【数7】
u:速度の値。
i:ノード番号。
【0046】
例えば、
図4(a)および
図4(c)の領域A2に示すように、境界ノードBNを含む場合には、式(8)および式(9)によって、勾配を得ることができる。式(8)および式(9)に示された微分計算は、二次精度の片側差分である。
【数8】
【数9】
【0047】
式(1)の右辺の第3項は、境界ノードBNに対応する物理量の予測値を境界条件に代入した場合の値を評価するものである。変数(ω
L3)は、重みである。変数(L
BC)は、物理量の予測値を境界条件に代入した場合の値である。変数(L
BC)は、式(10)に示すとおりである。また、境界条件は、式(11)に示すとおりである。式(11)に示す境界条件は、ノードNごとに定義される所定の数値である。つまり、境界条件は、勾配に関する情報を含まない。このような勾配に関する情報を含まない境界条件を、ディリクレ境界条件とも称する。
【数10】
【数11】
N:教師データの数(
図3参照)。
H’:予想領域の境界におけるメッシュの分割数(縦:
図3参照)。
W’:予想領域の境界におけるメッシュの分割数(横:
図3参照)。
f
BC(y
Pred):予測値を境界条件に代入したときに得られる値。
【0048】
損失関数L(式(1))は、加重平均を行うと述べた。予測値と真値との絶対誤差(第1項)、予測値を支配方程式に代入したときの誤差(第2項)、予測値を境界条件に代入したときの誤差(第3項)を足し合わせるとき、それぞれの項をどの程度重要視するかを決定する要素が、重み(ω
L1、ω
NS、ω
BC)である。例えば、重み(ω
L1、ω
NS、ω
BC)をすべて1にすると、全ての項を等しく考慮することになる、重み(ω
L1、ω
NS、ω
BC)は、式(12)~式(15)に示される。
【数12】
【数13】
【数14】
【数15】
【0049】
調整部24は、評価部23の結果を利用して学習モデルMのパラメータを調整する。調整後の学習モデルMは、再び予測部22における物理場X、Y、Pの予測に用いられる。
【0050】
出力部25は、評価部23の結果を利用して学習モデルMを推論装置3に出力する。例えば、評価部23が出力した損失関数Lの値が所定の条件を満たす場合に、学習が終了したと判定できる。その場合には、出力部25は、学習が終了した学習モデルMを推論装置3に出力する。
【0051】
推論装置3は、学習データD1を受ける。推論装置3は、学習データD1を学習モデルMに当てはめることによって、物理場X、Y、Pを予測した結果を得る。具体的には、推論装置3は、ノードNごとにX方向速度、Y方向速度又は圧力といった物理量を算出する。
【0052】
図5を参照して、物理場予測装置1のハードウェア構成について説明する。物理場予測装置1は、例えば、コンピュータ500によって物理場予測モデル学習プログラムPGが実行されることによって実現される。物理場予測モデル学習プログラムPGは、コンピュータ500に物理場予測モデル学習方法を実行させるためのものである。
【0053】
物理場予測装置1は、1又は複数のコンピュータ500を含む。コンピュータ500は、プロセッサであるCPU(Central Processing Unit)501と、主記憶部502と、補助記憶部503と、通信制御部504と、入力装置505と、出力装置506とを有する。物理場予測装置1は、これらのハードウェアと、プログラム等のソフトウェアとにより構成された1又は複数のコンピュータ500によって構成される。
【0054】
物理場予測装置1が複数のコンピュータ500によって構成される場合には、これらのコンピュータ500はローカルで接続されてもよいし、インターネット又はイントラネットなどの通信ネットワークを介して接続されてもよい。この接続によって、論理的に1つの物理場予測装置1が構築される。
【0055】
CPU501は、オペレーティングシステムやアプリケーション・プログラムなどを実行する。主記憶部502は、ROM(Read Only Memory)およびRAM(Random Access Memory)により構成される。補助記憶部503は、ハードディスクおよびフラッシュメモリなどにより構成される記憶媒体である。補助記憶部503は、一般的に主記憶部502よりも大量のデータを記憶する。通信制御部504は、ネットワークカード又は無線通信モジュールにより構成される。入力装置505は、キーボード、マウス、タッチパネル、および、音声入力用マイクなどにより構成される。出力装置506は、ディスプレイおよびプリンタなどにより構成される。
【0056】
補助記憶部503は、予め、物理場予測モデル学習プログラムPGおよび処理に必要なデータを格納している。物理場予測モデル学習プログラムPGは、物理場予測装置1の各機能要素をコンピュータ500に実行させる。例えば、物理場予測モデル学習プログラムPGは、CPU501又は主記憶部502によって読み込まれ、CPU501、主記憶部502、補助記憶部503、通信制御部504、入力装置505、および出力装置506の少なくとも1つを動作させる。例えば、物理場予測モデル学習プログラムPGは、主記憶部502および補助記憶部503におけるデータの読み出しおよび書き込みを行う。
【0057】
物理場予測モデル学習プログラムPGは、例えば、CD-ROM、DVD-ROM、半導体メモリなどの有形の記録媒体に記録された上で提供されてもよい。物理場予測モデル学習プログラムPGは、データ信号として通信ネットワークを介して提供されてもよい。
【0058】
次に、
図6に示すフローチャートを参照しながら、物理場予測モデル学習方法を含む物理場予測方法についてについて説明する。
【0059】
物理場予測方法は、教師データD4を準備するステップ(ステップS10)と、学習ステップ(ステップS20)と、推論ステップ(ステップS30)と、を含む。学習ステップ(ステップS20)は、物理場予測モデル学習方法に対応する。
【0060】
教師データD4を準備するステップ(ステップS10)では、まず、学習データD1を準備する(ステップS11)。学習データD1は、物理場予測装置1を利用するユーザが入力装置505を用いて入力してもよい。また、学習データD1は、外部記憶装置から読み込まれるものであってもよい。学習データD1は、通信制御部504を介して外部から受信したものであってもよい。次に、正解データD3を準備する(ステップS12)。ステップS12は、数値解析装置4が実行してもよい。また、学習データD1と同様に、外部記憶装置から読み込まれるものであってもよい。正解データD3は、通信制御部504を介して外部から受信したものであってもよい。上述したステップS11、S12によって、学習データD1と正解データD3とが得られる。つまり、教師データD4が得られる。
【0061】
物理場予測モデル学習方法である学習ステップ(ステップS20)では、まず、教師データD4を受ける(ステップS21)。ステップS21は、入力部21が実行する。次に、予測データD2を得る(ステップS22)。ステップS22は、予測部22が実行する。次に、損失関数Lを計算する(ステップS23)。ステップS23は、評価部23が実行する。次に、損失関数Lが条件を満たすか否かを判定する(ステップS24)。損失関数Lが所定の条件を満たさない場合(ステップS24:NO)には、学習を終了しないとの判定がなされる。その結果、調整部24によって、学習モデルMのパラメータが調整される。そして、再びステップS22からの処理が行われる。一方、損失関数Lが所定の条件を満たす場合(ステップS24:YES)には、学習を終了するとの判定がなされる。その結果、出力部25によって、学習済みのモデルとして学習モデルMが推論装置3に出力される(ステップS26)。
【0062】
推論ステップ(ステップS30)では、まず、問題データDPを受ける(ステップS31)。次に、予測データD2を得る(ステップS32)。ステップS32は、推論装置3が実行する。そして、得られた予測データD2を出力する(ステップS33)。
【0063】
<作用効果>
本実施形態の物理場予測モデル学習装置の作用効果を説明する前に、比較例として損失関数が絶対誤差の項のみを含む場合に生じ得る2つの参考結果を例示する。
【0064】
図7(a)は、第1の参考結果を示す。符号(TV1、TV2、TV3)を付した点は、それぞれのノードN1、N2、N3における真値を示す。符号(PR1、PR2、PR3)を付した点は、それぞれのノードN1、N2、N3における予測値を示す。
【0065】
まず、ノードN1、N2、N3ごとに与えられた物理量の差分の絶対値に注目する。第1のノードN1の予測値PR1は、真値TV1よりΔxだけ大きい。第2のノードN2の予測値PR2は、真値TV2よりΔxだけ大きい。第3のノードN3の予測値PR3は、真値TV3よりΔxだけ大きい。これらの差異を、差分の絶対値の平均として示すと、Δxとなる。
【0066】
次に、ノードN1、N2の間における勾配に注目する。第1の参考結果において、第1のノードN1と第2のノードN2との間の勾配は、真値TV1、TV2において右肩上がりの勾配を有する。予測値PR1、PR2においては、第1のノードN1の予測値PR1は真値よりΔxだけ大きく、第2のノードN2の予測値PR2は真値よりΔxだけ大きい。つまり、予測値PR1、PR2の間の勾配は、右肩上がりであるという点において、真値TV1、TV2の間の勾配と同じである。
【0067】
図7(b)は、第2の参考結果を示す。第1のノードN1の予測値PR1は、真値TV1よりΔxだけ大きい。第2のノードN2の予測値PR2は、真値TV2よりΔxだけ小さい。第3のノードN3の予測値PR3は、真値TV3よりΔxだけ大きい。これらの差異を、差分の絶対値の平均として示すと、Δxとなる。
【0068】
次に、ノードN1、N2の間における勾配に注目する。第2の参考結果において、第1のノードN1と第2のノードN2との間の勾配は、真値TV1、TV2において右肩上がりの勾配を有する。一方、予測値PR1、PR2においては、第1のノードN1の予測値PR1は真値TV1よりΔxだけ大きく、第2のノードN2の予測値PR2は真値TV2よりΔxだけ小さい。この場合には、予測値PR1、PR2の間の勾配は、ゼロである。
【0069】
つまり、差分の絶対値の平均で見たとき、第1の参考結果も第2の参考結果も同じであると評価される。しかし、勾配で見たとき、第1の参考結果では予測値PR1、PR2間の勾配は、右肩上がりであるという点において、真値TV1、TV2の間の勾配と同じであるといえる。しかし、第2の参考結果では真値TV1、TV2の間の勾配が右肩上がりであるのに対して、予測値PR1、PR2の間の勾配はゼロである。つまり、第2の参考結果では、予測値PR1、PR2,PR3は、勾配を適切に予測できているとはいえない。さらには、支配方程式Eが空間微分項などを含む場合には、予測値は、支配方程式Eを満たすものとは言えない。
【0070】
そこで、本実施形態の物理場予測モデル学習装置である学習装置2は、複数のノードNによって表現された領域において、複数のノードNごとに定義される物理量によって構成された物理場X、Y、Pを予測する。学習装置2は、物理場X、Y、Pの初期状態を示す学習データD1と、物理場X、Y、Pを支配する支配方程式Eに学習データD1を適用した結果として得られる正解データD3と、を含む教師データD4を受け入れる入力部21と、学習データD1を物理場X、Y、Pを予測するための学習モデルMに適用することによって、複数のノードNごとに定義される物理量の予測値を得る予測部22と、正解データD3を用いて物理量の予測値を評価する評価部23と、評価部23の結果を受けて学習モデルMのパラメータを調整する調整部24と、を備える。評価部23は、損失関数Lを用いて物理量の予測値を評価する。損失関数Lは、第1のノードNに定義される物理量の予測値と、第1のノードNとは異なる第2のノードNに定義される物理量の予測値と、により表現される勾配に関する項を含む。
【0071】
本実施形態の物理場予測モデル学習装置2は、学習モデルMの生成に勾配を示す項を含んだ損失関数Lを用いている。具体的には、損失関数Lは、速度及び圧力の勾配を示す項として空間微分項を含む支配方程式E(ナビエ・ストークスの式)を含む。このような損失関数Lを用いた評価によれば、ノードNごとに得られる速度及び圧力を精度よく予測できるだけでなく、ノードNごとに得られた速度同士及び圧力同士の関係(勾配)も精度よく予測できるように学習モデルMのパラメータを調整できる。ひいては、物理場予測モデル学習装置2は、支配方程式Eを満たす速度及び圧力の予測値を得ることができる。
【0072】
損失関数Lは、式(2)に示す第1項と、式(3)に示す第2項と、式(10)に示す第3項と、を含む。第1項は、正解データとして与えられる物理量の真値と、予測部が出力する物理量の予測値と、の差分を含む。第2項は、勾配に関する項としての物理量の空間微分を含む支配方程式を含む。第3項は、ディリクレ境界条件として与えられる境界条件を含む。このような損失関数Lを用いた評価によっても、物理量の勾配を精度よく予測できるように学習モデルMのパラメータを調整できる。
【0073】
損失関数Lは、式(2)に示す第1項と、式(3)に示す第2項と、式(10)に示す第3項と、を加重平均する演算を含む。このような損失関数Lを用いた評価によっても、物理量の勾配を精度よく予測できるように学習モデルMのパラメータを調整できる。
【0074】
本発明の物理場予測モデル学習装置、物理場予測モデル学習方法および物理場予測モデル学習プログラムは、上述した実施形態に限定されない。
【0075】
実施形態の損失関数Lは、空間微分項を含む支配方程式を要素として含んでいた。損失関数Lは、支配方程式Eとは別の要素として勾配に関する項を含んでもよい。
【0076】
<変形例1>
例えば、境界条件が勾配に関する要素を含んでいてもよい。このような境界条件は、いわゆるノイマン境界条件と呼ばれる。境界条件が勾配に関する要素を含む場合には、支配方程式Eは、空間微分項を含んでいてもよいし、空間微分項を含んでいなくてもよい。要するに、変形例1における損失関数は、第1項と、第2項と、第3項と、を含む。第1項は、正解データとして与えられる物理量の真値と、予測部が出力する物理量の予測値と、の差分を含む。第2項は、勾配に関する項としての物理量の距離微分又は空間微分を含まない支配方程式であってもよい。第3項は、勾配に関する項としてのノイマン境界条件として与えられる境界条件を含む。このような損失関数の評価によっても、物理量の勾配を精度よく予測できるように学習モデルMのパラメータを調整できる。
【0077】
<変形例2>
例えば、教師データD4は、正解データD3として、ノードNごとに定義される物理量に加えて、正解とされる勾配の値を含んでもよい。要するに、変形例2における損失関数は、少なくとも第1項を含む。第1項は、物理量の勾配に関する真値と、物理量の勾配に関する予測値を含む。このような損失関数の評価によっても、物理量の勾配を精度よく予測できるように学習モデルMのパラメータを調整できる。
【0078】
以下、本実施形態の物理場予測装置1が予測する物理場について評価を行った2つの結果を例示する。
【0079】
<実施例1>
実施例1では、実施形態の物理場予測装置1を用いて圧力に関する物理場Pを予測した。また、実施例1では比較対象として勾配を示す項を含まない損失関数を用いて得た学習モデルを用いて圧力に関する物理場Pを予測した。つまり、実施例1では、勾配を示す項を含む損失関数Lを用いて得た学習モデルによる予測(実施形態)と、勾配を示す項を含まない損失関数を用いて得た学習モデルによる予測(比較例)と、を比較した。
【0080】
計算の主な条件は以下のとおりである。
・同じ学習データで10回の学習を実施させた。
・学習モデルのパラメータの更新回数は100000回に統一した。
・レイノルズ数 Re=2000。
・重み LL1:LNS=3:1。
【0081】
図8(a)~
図8(d)は、正解データを可視化したコンター図と予測値を可視化したコンター図とがどの程度似ているかを評価した結果を示す。
図8(a)及び
図8(b)は、いわゆるMAPE(Mean Absolute Precentage error)を用いて評価した結果である。
図8(c)及び
図8(d)は、いわゆるSSIM(Structural Similarity)を用いて評価した結果である。
【0082】
式(16)に示すMAPEは、正解データに対する予測データの誤差率である。誤差率が小さいほど、予測データが正解データに近いことを示す。さらに、
図8(a)、
図8(b)のコンター図において、白色に近い部分がMAPEの値がゼロに近いことを示し、黒色に近い部分がMAPEの値が100に近いことを示す。
【数16】
【0083】
式(17)に示すSSIMは、設定されるウインドウ内に含まれたピクセルの平均、分散、共分散を得ることにより、ピクセル周辺の相関を評価するものである。SSIMの値は、最大値が1であり、最小値が0である。SSIMの値が1に近いほど、2つの画像が似ていることを示す。この実施例でいえば、予測データのコンター図が正解データのコンター図に似ていることを示す。つまり、予測の精度が高いことを示す。さらに、
図8(c)、
図8(d)のコンター図において、白色に近い部分がSSIMの値が1に近いことを示し、黒色に近い部分がSSIMの値が0に近いことを示す。
【数17】
【0084】
比較例の結果である
図8(a)を参照すると、灰色から黒色の部分が不規則に存在することがわかった。換言するとMAPEの値が、およそ40から100の間に分布していることがわかった。
図8(c)を参照すると、灰色から黒色の部分が不規則に存在することがわかった。換言するとSSIMの値が、およそ0から0.6の間に分布していることがわかった。
【0085】
実施例1の結果である
図8(b)を参照すると、角部の領域を除いて白色の部分が大部分を占めていることがわかった。換言するとMAPEの値が、0から20である部分が大部分を占めていることがわかった。
図8(d)を参照すると、全体にわたって白色の部分が占めていることがわかった。換言するとSSIMの値が、およそ0.9から1.0の間に分布していることがわかった。
【0086】
つまり、勾配を示す項を含む損失関数Lを用いて得た学習モデルMによる予測(実施形態)と、勾配を示す項を含まない損失関数を用いて得た学習モデルによる予測(比較例)と、を比較した結果、勾配を示す項を含む損失関数Lを用いて得た学習モデルMによる予測は、正解データに近い予測値と、予測値に基づく勾配と、を得られていることがわかった。
【0087】
<実施例2>
実施例2では、重みの効果について確認した。より詳細には、損失関数Lでは、重みを用いた加重平均を行っている。この加重平均において、絶対誤差を評価する項(式(2))と、勾配を含んだ項(式(3))と、の考慮の度合い(重みの大きさ)が、予測結果に影響を与えるか否かを検討した。
【0088】
計算の主な条件は以下のとおりである。
・同じ学習データで10回の学習を実施させた。
・学習モデルのパラメータの更新回数は100000回に統一した。
・レイノルズ数:Re=2000。
【0089】
また、重みの影響を評価するために、以下の3つの条件を設定した。
・第1条件 LL1:LNS=1:1。
・第2条件 LL1:LNS=3:1。
・第3条件 LL1:LNS=10:1。
第1条件は、絶対誤差を評価する項と、勾配を含んだ項と、を等しく考慮するとの意味である。第2条件は、絶対誤差を評価する項を勾配を含んだ項の3倍重く考慮するとの意味である。第3条件は、絶対誤差を評価する項を勾配を含んだ項の10倍重く考慮するとの意味である。
【0090】
図9は、実施例2の結果を示すグラフである。横軸は、学習データ(トレーニングデータ)の数である。縦軸は、SSIMの値である。つまり、縦軸に示す1に近いほど、予測の精度が高いことを示す。
【0091】
グラフG9aは、第1条件の結果を示す。グラフG9bは、第2条件の結果を示す。グラフG9cは、第3条件の結果を示す。グラフG9dは、比較条件の結果を示す。参考条件は、実施例1でも用いたように、勾配を示す項を含まない損失関数を用いて得た学習モデルによる予測(比較例)である。
【0092】
グラフG9a、G9bおよびG9cと、グラフG9dとを比較すると、実施例1の結果と同様に、勾配を示す項を含む損失関数Lを用いて得た学習モデルMによる予測は、勾配を示す項を含まない損失関数を用いて得た学習モデルよりも、予測の精度が高いことがわかった。また、グラフG9a、G9bおよびG9cを比較すると、絶対誤差を評価する項と勾配を含んだ項とを等しく考慮する条件(第1条件:G9a)よりも、絶対誤差を評価する項を勾配を含んだ項よりも重視する条件(第2条件:G9b、第3条件;G9c)のほうが、予測の精度が高まる傾向が見受けられた。つまり、絶対誤差を評価する項の重みは、勾配を含んだ項の重みよりも、大きくするほうがよりよい予測値を得られる可能性があることが示唆された。
【符号の説明】
【0093】
1 物理場予測装置
2 学習装置(物理場予測モデル学習装置)
3 推論装置
4 数値解析装置
21 入力部
22 予測部
23 評価部
24 調整部
25 出力部