深層学習とメッシュ †数値流体解析に深層学習を適用する場合、使用されるメッシュの種類は重要です。 構造格子 †構造格子(直交格子)は、画像データとよく似ているので、通常の畳み込み層を使用できるなど、既存の画像に対する深層学習と親和性が高いです。そのため、構造格子は、深層学習において、もっともよく利用されています。 一方、流通している数値流体解析では、境界に沿うように生成された境界適合格子を使用することが多く、構造格子に対する深層学習はあまり役に立っていません。 非構造格子 †非構造格子は、任意の形状を表現できるので、現在の数値流体解析での主流となっています。 深層学習を非構造格子に適用する場合は、深層学習の手法をグラフ構造に拡張した、グラフニューラルネットワーク(GNN, Graph Neural Networks)が使用される場合が多いです。 ただし、GNNはグラフのノード間でメッセージパッシングが必要で、実装がかなり複雑になります。通常、このメッセージパッシングには、畳み込み層の代わりに完全連結層が使用されます。 メッシュレス・粒子ベース †メッシュレス・粒子ベースの場合は、明示的なメッシュ構造はなく、サンプリング点の周囲の空間的な近傍から定義される距離メトリックを介して接続性が暗黙的に定義されます。 メッシュレス・粒子ベースシミュレーションに対する深層学習は、構造格子に対する深層学習に似ています。 すなわち、ある位置での速度なのどデータを保存し、畳み込みを繰り返して各位置での潜在空間を作成します。各畳込みでは、潜在空間の内容を読み込んで結果を生成し、それをReLUなどの非線形関数で活性させます。これを複数回平行して行います。数層にわたって潜在空間を拡大した後、再び収縮させて、目的の結果(例えば加速度)を得ます。 |