計算流体力学における機械学習の使用


9

背景:
コースでは、2d Navier-Stokesの実用的な数値解を1つだけ作成しました。これは、蓋​​駆動のキャビティフローのソリューションでした。ただし、このコースでは、空間的離散化と時間的離散化のスキーマについて説明しました。また、NSに適用されるシンボル操作のコースワークも取り入れました。

PDEから有限差分への分析/記号方程式の変換を処理する数値アプローチには、次のようなものがあります。

  • オイラーFTFS、FTCS、BTCS
  • 緩い
  • ミッドポイントリープフロッグ
  • Lax-Wendroff
  • マコーマック
  • オフセットグリッド(空間拡散により情報が広がる)
  • TVD

当時、私には、これらは「挿入名がスキームを見つけて、たまたま機能する」ように見えました。これらの多くは「豊富なシリコン」の時代以前のものでした。これらはすべて近似値です。限界で彼ら。理論的には、PDEにつながります。

直接数値シミュレーション(DNS)は楽しいものであり、レイノルズ平均ナビエストークス(RANS)も楽しいものですが、これらは計算上扱いやすく、現象を完全に表現する連続体の2つの「エンドポイント」です。これらの内部に住むアプローチには、複数のファミリーがあります。

講義で、CFDの教授に、ほとんどのCFDソルバーはきれいな絵を描くと言われましたが、ほとんどの場合、これらの絵は現実を表していないため、現実を表しています。

(私が理解しているように、網羅的ではない)開発のシーケンスは次のとおりです。

  1. 支配方程式から始める-> PDE
  2. 空間的および時間的離散化を決定->グリッドおよびFDルール
  3. 初期条件と境界条件を含むドメインに適用する
  4. 解く(行列の反転に関する多くのバリエーション)
  5. 全体的なリアリティチェックを実行し、既知のソリューションに適合させるなど。

  6. 分析結果から派生したいくつかのより単純な物理モデルを構築する

  7. それらをテストし、分析し、評価する
  8. 繰り返す(ステップ6、3、または2にジャンプして戻る)

考え:
私は最近、CARTモデル、斜めツリー、ランダムフォレスト、および勾配ブーストツリーで作業しています。それらはより数学的に導き出されたルールに従い、数学は木の形を動かします。彼らは、離散化された形をうまく作るように働きます。

これらの人間が作成した数値アプローチはいくらか機能しますが、その結果をモデル化することを意図している物理現象に関連付けるために必要な広範な「ブードゥー教」があります。多くの場合、シミュレーションは実際のテストと検証に実質的に取って代わりません。間違ったパラメーターを使用したり、実際の世界で経験したジオメトリやアプリケーションパラメーターの変動を考慮に入れたりするのは簡単です。

質問:

  • 問題の性質に
    適切な離散化、空間的および時間的差分スキーム、初期条件、またはソリューションを定義させるためのアプローチはありましたか?
  • 機械学習の手法と組み合わせた高精細ソリューションを使用して、ステップサイズがはるかに大きいが収束、精度などを維持する差分スキームを作成できますか?
  • これらのスキームはすべて、アクセスしやすい「人為的に導き出すのが容易」です-それらにはいくつかの要素があります。より良い仕事をする何千もの要素を持つ差分スキームはありますか?それはどのように導出されますか?

注:別の質問で、(分析的にではなく)経験的に初期化され、経験的に導出されたものをフォローアップします。

更新:

  1. 深層学習を使用して、格子ボルツマンフローを加速します。特定のケースで最大9倍のスピードアップ

    Hennigh、O.(プレスリリース中)Lat-Net:ディープニューラルネットワークを使用した圧縮格子ボルツマンフローシミュレーション。取得元:https : //arxiv.org/pdf/1705.09036.pdf

    コード付きのレポ(私は思う):https :
    //github.com/loliverhennigh/Phy-Net

  2. 同じハードウェアで、GPUよりも約2桁高速、CPUよりも4桁高速、つまり〜O(10,000x)高速です。

    Guo、X.、Li、W.&Ioiro、F. Convolutional Neural Networks for Steady Flow Approximation。取得元:https : //autodeskresearch.com/publications/convolutional-neural-networks-steady-flow-approximation

  3. 約20年前にこのトピックを調べた他の人:

    Muller、S.、Milano、M.&Koumoutsakos P.機械学習アルゴリズムのフローモデリングと最適化への応用。Center for Turbulence Research Annual Research Briefs 1999取得元:https : //web.stanford.edu/group/ctr/ResBriefs99/petros.pdf

更新(2017):
これは、勾配のみに基づいているアリーナであるディープラーニングでの非勾配法の使用を特徴付けます。活動の直接的な影響はディープラーニングにありますが、GAは勾配降下法に基づく方法と一致またはそれ以上のレベルで非常に難しい、非常に深く、非常に複雑な問題を同等の方法で解決できることも示唆しています。

この質問の範囲内では、大規模な機械学習ベースの攻撃が、勾配領域法の収束を大幅に加速する「テンプレート」を時間と空間で許可する可能性があることを示唆している可能性があります。この記事は、勾配降下の方向に向かうことが、解から離れることがあると言っています。ローカルオプティマまたは病理学的軌跡の問題(ほとんどの高価値の現実世界の問題にはこれらの一部が含まれます)では、勾配は全体的に有益ではないことが予想されますが、それを以前のように経験的に定量化および検証するとよいでしょう。このホワイトペーパーでは、勢いやリラックス不足に陥ったときに「学習を減らす」ことなく、「限界に飛びつく」ことができます。

更新(2019):
GoogleはAIパズルの「より良いソルバーを見つける方法」の一部に貢献しているようです。 linkこれはAIにソルバーを作成させることの一部です。

**更新(2020):**そして現在、彼らはそれをやっていて、うまくやっています...
https://arxiv.org/pdf/1911.08655.pdf

その後、NNを分解して実際の離散化を決定できると主張できます。私は特に図4が好きです。


5
Scicomp.SEへようこそ!あなたの質問は、このサイトでは通常より少し哲学的ですが、私の2セントを与えることに抵抗することができませんでした。それにもかかわらず、そこには価値のある「難しい」質問があると思います。非常に高次の有限差分法はいつ価値があり、実際にどのように導出および実装されるのですか?この側面に焦点を当てるように質問を書き直すか(この場合、私は関係のなくなった回答を喜んで削除します)、または新しい質問として質問することをお勧めします(次のURLにある黄色のボックスの「質問する」を使用してください)ページの下部)。
クリスチャンクラソン

8
コアとなる誤解は、シーケンスが短すぎるという事実に起因すると思います-(少なくとも!)最初に欠けているステップが1つあります。それは、支配方程式の決定方法です。シミュレーション結果が物理現象と一致しない場合(そして数値手法が正しい場合-この部分は純粋な数学であり、ブードゥー教はなく、それは正しいか間違っています)、ここに戻る必要があります。不適切なモデリングの仮定を補うことができる数学的トリックはありません。
クリスチャンクラソン

4
それは真実ではありません(「答え」が正確に何を意味するかによって異なります)。モデルを作成し(第1原則から移行するか、既存の原則を変更して)、それを望ましい精度で解決し、出力を実験的観察と比較します。彼らが同意すれば、結構です、論文を書いてください。そうでない場合は、戻ってモデルを調整します。すすぎ、繰り返します。それがまさに(あらゆる)科学が機能する方法です(数値解は完全にそれに付随しています)。
クリスチャンクラソン

3
それがまさに私が話していることです-ワッフル(または何でも)の保存もモデルに含めない限り、測定値を再現できないことがわかった場合は、それを実行します。最初に挙げた5つの原則がどのようにして生まれたと思いますか?現代の科学が非常に複雑になり、一人で測定を行ったり、予測モデルを見つけたり、数学的特性を調査したり、数値解法を導き出して合理的な効率で実行したりすることができなくなっただけです。
Christian Clason、2015

1
@EngrStudentは2番目の質問に対する直接の回答ではありませんが、複雑なフローでは非常に不正確ですが、DNSよりもはるかに安価なRANSモデル(粗いメッシュと大きなタイムステップを使用できます)の改善に取り組んでいます。実験データを使用してこれらのモデルを改善するために、逆問題とニューラルネットワークの組み合わせを使用します。arxiv.org/abs/1608.03990とその参照をご覧ください。(少なくとも現時点では)支配方程式を完全に無視して、同様のレベルの精度を維持することは不可能だと思います。
異端者2016年

回答:


20

CFDが「カラフルな流体力学」の略であるのは、長期にわたるジョークです。それにもかかわらず、それは幅広いアプリケーションで使用され、そして有用です。あなたの不満は、相互に関連しているが異なる2つのステップを十分に区別していないことに起因していると思います。物理プロセスの数学モデルを作成し、それを数値的に解決します。これらについて少しコメントさせてください:

  1. 物理的現実の数学的(または実際には)モデルがこれまでに正しいことはありません。せいぜい、非常に正確に区切られた(できれば大きな)一連の状況での測定結果を予測するのに役立ちます。これには、特定の構成でこのような予測を取得できる必要があるという事実が含まれます。これが、場の量子論からニュートン力学までのモデル全体の階層がある理由です。特に、ナビエ・ストークスの方程式は流体の流れを記述しておらず、特定の条件下での特定の流体の挙動の特定の側面を予測します。

  2. より複雑な数学的モデル(Navier-Stokes方程式など)の場合、正確な解(したがって予測)を得ることができず、数値近似しか得られません。比較したい測定自体が正確ではないので、これは聞こえるほど悪いことではありません。モデルの選択と同様に、精度と扱いやすさの間にはトレードオフがあります。必要以上に正確なソリューションを取得するために時間やお金を費やすことは意味がありません。この時点で、それは純粋に(この場合)偏微分方程式の解を数値的に近似する方法に関する問題になります。偏微分方程式は、数学分野全体の主題である数値解析です。この分野は証明に関係しています特定の数値手法のエラー推定値(ここでも、特定の明示的に指定された条件の下で)。あなたのステートメント「挿入名はスキームを見つけ、それはたまたま機能する」は、かなり不公平です-それは「挿入名がスキームを見つけて、それが機能すること証明する」であるべきです。また、これらのスキームは薄い空気から引き出されたものではなく、よく理解された数学的原理に基づいています。

    (たとえば、有限差分スキームは、特定の次数のテイラー近似を使用して導出できます。非常に高次の差分スキームを取得して実装することは確かに可能であり、そうする人もいますが、リターンを減少させる法則があります。 :これは部分的にしか自動化できないため、多大な労力を要し、特定のますます厳しくなる条件を満たして、対応するより高い精度を実際に得る必要があります。また、ある時点では、スペクトル法。)

ここでの共通のテーマは、モデルと数値スキームの両方に適用範囲があることであり、特定の目的に適した組み合わせを選択することが重要です。これがまさに、計算科学者がドメインサイエンス(どのモデルがどの状況で有効であるかを知る)と数学(どのメソッドがどのモデルにどの精度に適用できるかを知る)の両方を知る必要がある理由です!これらの「指示どおりにのみ使用する」ラベルを無視すると、CFD教授が言及したような「計算上のでたらめ」(ハリーフランクフルトの技術的な意味で)が生成されます。

物理モデル(風洞など)があるときに計算モデルを使用する理由について:1つの理由は、ソフトウェアを実行すると、モデルを作成して風洞に配置するよりも桁違いに安価になる可能性があるためです。また、通常はどちらでもありません。たとえば、車や飛行機を設計する場合、数百または数千のシミュレーションを実行して物事を絞り込み、最終的な候補者のみがモデルを風に乗せます。トンネル。


更新:

数値シミュレーションの代わりに機械学習を使用することは、「モデルがないことは近似モデルよりも優れている」と言っているようなものです。とはいえ、機械学習を使用して、測定データとの一致に基づいて未知の「ジオメトリまたはアプリケーションパラメータ」を選択することは確かに可能です(実際に行われます)。ただし、ここでも、不確実性の定量化や(ベイズの)逆問題などのモデルベースの方法は通常、はるかに優れたパフォーマンスを発揮します(厳密な数学的原理に基づいています)。数値の選択 機械学習を使用する方法のステップサイズや順序などのパラメーターも原理的には可能ですが、(数学)モデルに基づいてこれらのパラメーターを正確に選択する方法を説明する数学的理論があるため、利点はわかりません。

アップデート2:

リンクしている論文はコンピュータサイエンスに関するものであり、計算科学に関するものではありません。それらの目標は、物理プロセスの正確なシミュレーション(つまり、数学モデルの数値解)を持つことではなく、肉眼で見えるものです。 (「カラフルな流体力学」の極端なケース...)-それは非常に異なる問題です。特に、数値法の不可欠な部分であるナビエ・ストークス方程式の対応する解と比較して、訓練されたネットワークの出力にエラー限界はありません


(そして、最初の質問は誤った前提から始まります。どのアプローチでも、問題はモデルを決定し、モデルは離散化を決定し、離散化はソルバーを決定します。)


解の空間への投影がありますが、必ずしも「その」解への投影ではありません。さびたです。アイデアは、経験的に訓練されたシステムを使用して、投影が発生する許容可能な解の小包の領域を、元の境界から物理的解に近くなるように制限することです。
EngrStudent、2015

2
マップとテリトリーを再び混乱させています-(適切に配置された)数学モデルには(任意のデータに対して)一意のソリューションがあります。このソリューションでは、(適切な)数値的手法を使用して、(努力を重ねながら)任意の精度で計算できます。一方、存在しないない「物理的溶液」、唯一の測定値があります。測定と数値の精度の範囲内でこれらがシミュレーションと一致しない場合は、間違ったモデルを解いていたため、問題は計算科学の問題ではなく、基本物理学の問題です。
クリスチャンクラソン2015

4
また、コメント:科学(特に、数学)の基本的な部分は、固定された明確な意味を持つ非常に正確な技術言語です-これは、誰もが実際に同じことについて話していることを確認できる唯一の方法です解釈のわずかな違いが大きな影響を与える可能性があります。一般的に受け入れられている用語に固執せず、代わりに「受け入れ可能なソリューションの範囲」のような用語を使用すると、あなたが何を意味するのかを知ることが非常に難しくなります。(モデルのキャリブレーション、逆問題、データ同化などについて話している可能性があります。)
Christian Clason

実験のもう1つの問題は、使用する機器に偏ってしまうことです。1つの施設での一連の実験は必ずしも決定的なものではありません。つまり、さまざまな風洞によって時には大幅に異なる結果が得られることが期待できます。国際曳航戦車会議はこの問題に対処し、世界中の50隻を超える牽引戦車を対象とした広範な一連のテストを実施しました。参照:「施設のバイアスを特定するためのITTCワールドワイドシリーズ-技術手順」。nmri.go.jp/turbulence/group/...
女の平和

著者からのin every approach, the problem determines the model, the model determines the discretization, the discretization determines the solver.
Sascha Gottfried

7

混乱を引き起こしているいくつかの異なるアイデアを混ぜていると思います。はい、特定の問題を離散化するにはさまざまな方法があります。クラスでこれらを学ぶ場合、適切な方法を選択することは「ブードゥー教」のように見えるかもしれませんが、研究者がそれらを選択するときは、文献で発表されているように、フィールドの結合された経験を利用して行います。したがって、彼らは学生よりもはるかに多くの情報に基づいた選択を行います。

質問1: 問題を解決していて、あるスキームから別のスキームに切り替えると、実行時間が変化するか、収束基準が変化するか、または漸近的な動作になるかもしれませんが、非常に重要な点は、最終的な収束ソリューションが変化しないことです。 。その場合は、メッシュをリファインする必要があるか、数値スキームに問題があります。おそらく、いくつかの最適化アルゴリズムを使用して数値スキームを作成し、特定のクラスの問題のパフォーマンスを向上させることができますが、多くの場合、関連する項の数または使用するメッシュタイプに対して数学的に証明可能な最適な収束/漸近的振る舞いを使って、手動で導出したスキームが作成されます。

さて、上記の段落は、物理学の異なる数式/近似である異なる乱流モデルのようなものを考慮していないため、異なる解決策があると予想されます。これらは再び文献で高度に研究されており、プログラムが物理現象を調べて、類似の物理システムの応答を適切に予測する数学モデルを生成できるようになったとは思いません。

質問2: はい、いくつかのコンピューターコードを使用して、メッシュ全体を一度に使用するスキームを導出できます。一部のメッシュにはそのようなコードが存在し、数時間以内にスキームが得られると言っても安心です(コードが見つかってから)。問題は、ナイキストに勝てないことです。システムの応答の最大周波数に応じて、実行するタイムステップの大きさに制限があり、ソリューションの空間周波数に応じて、メッシュセル/要素の最大数に制限があります。

これは、より複雑なスキームの使用に伴う計算作業が非線形で複雑になることが多いという事実を説明していません。ほとんどの学生が時間積分のためのRK4メソッドを学ぶ理由は、それよりも高次のメソッドに取り掛かると、メソッドの次数を取得するよりも早く派生物のより多くの評価を取得するためです。空間領域では、高次のメソッドは行列の塗りつぶしを大幅に増やすため、必要なメッシュポイントは少なくなりますが、疎行列を反転する作業は大幅に増加し、少なくとも部分的にゲインが相殺されます。

質問3で何を指しているのかわかりません。問題の近い解決策をより良い解決策に変えることについて話しているのですか?もしそうなら、私はマルチグリッドについて少し読むことをお勧めします。まともな数値スキームを驚くべきものに変換することについて質問している場合、私の答えの残りの部分では少なくともそれに触れていると思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.