Einsatz von maschinellem Lernen in der rechnergestützten Fluiddynamik


9

Hintergrund:
Ich habe für einen Kurs nur eine funktionierende numerische Lösung für 2d Navier-Stokes erstellt. Es war eine Lösung für den deckelgetriebenen Hohlraumfluss. Der Kurs diskutierte jedoch eine Reihe von Schemata für räumliche Diskretisierungen und Zeitdiskretisierungen. Ich habe auch mehr Kurse zur Symbolmanipulation für NS absolviert.

Einige der numerischen Ansätze zur Handhabung der Umwandlung der analytischen / symbolischen Gleichung von PDE in endliche Differenz umfassen:

  • Euler FTFS, FTCS, BTCS
  • Lax
  • Midpoint Leapfrog
  • Lax-Wendroff
  • MacCormack
  • versetztes Gitter (räumliche Diffusion ermöglicht die Verbreitung von Informationen)
  • TVD

Zu dieser Zeit schienen diese wie "Insert-Name findet ein Schema und es funktioniert". Viele davon stammten aus der Zeit vor "reichlich Silizium". Sie sind alle Annäherungen. Im Limit sie. theoretisch zu den PDEs führen.

Während Direct Numerical Simulation ( DNS ) Spaß macht und Reynolds Averaged Navier-Stokes ( RANS ) auch Spaß macht, sind sie die beiden "Endpunkte" des Kontinuums zwischen rechnerisch nachvollziehbar und vollständiger Darstellung der Phänomene. Es gibt mehrere Familien von Ansätzen, die in diesen leben.

Ich habe CFD-Professoren in einer Vorlesung sagen lassen, dass die meisten CFD-Löser hübsche Bilder machen, aber zum größten Teil stellen diese Bilder nicht die Realität dar und dass es sehr schwierig sein kann, eine Löser-Lösung zu finden, die viel Arbeit erfordert repräsentiert die Realität.

Die Reihenfolge der Entwicklung (so wie ich es verstehe, nicht erschöpfend) ist:

  1. Beginnen Sie mit den maßgeblichen Gleichungen -> PDEs
  2. Bestimmen Sie Ihre räumliche und zeitliche Diskretisierung -> Gitter- und FD-Regeln
  3. gelten für die Domain einschließlich Anfangsbedingungen und Randbedingungen
  4. lösen (viele Variationen der Matrixinversion)
  5. Führen Sie grobe Realitätsprüfungen durch, passen Sie sie an bekannte Lösungen an.

  6. Erstellen Sie einige einfachere physikalische Modelle, die aus Analyseergebnissen abgeleitet wurden

  7. Testen, analysieren und bewerten
  8. iterieren (zurück zu Schritt 6, 3 oder 2 springen)

Gedanken:
Ich habe kürzlich mit CART-Modellen, schrägen Bäumen, zufälligen Wäldern und gradientenverstärkten Bäumen gearbeitet. Sie folgen mehr mathematisch abgeleiteten Regeln, und die Mathematik bestimmt die Form des Baums. Sie arbeiten daran, diskretisierte Formen gut zu machen.

Obwohl diese vom Menschen geschaffenen numerischen Ansätze etwas funktionieren, ist ein umfangreiches "Voodoo" erforderlich, um ihre Ergebnisse mit den physikalischen Phänomenen zu verbinden, die sie modellieren sollen. Oft ersetzt die Simulation das Testen und Verifizieren in der Praxis nicht wesentlich. Es ist einfach, den falschen Parameter zu verwenden oder Abweichungen in der Geometrie oder den Anwendungsparametern, die in der realen Welt auftreten, nicht zu berücksichtigen.

Fragen:

  • Gab es einen Ansatz, um die Art des Problems
    das geeignete Diskretisierungs-, räumliche und zeitliche Differenzierungsschema, die Anfangsbedingungen oder die Lösung definieren zu lassen?
  • Kann eine hochauflösende Lösung in Verbindung mit den Techniken des maschinellen Lernens verwendet werden, um ein Differenzierungsschema zu erstellen, das viel größere Schrittgrößen aufweist, aber Konvergenz, Genauigkeit und dergleichen beibehält?
  • Alle diese Schemata sind zugänglich "menschlich nachvollziehbar" - sie haben eine Handvoll Elemente. Gibt es ein Differenzierungsschema mit Tausenden von Elementen, das einen besseren Job macht? Wie wird es abgeleitet?

Anmerkung: Ich werde das empirisch intialisierte und empirisch abgeleitete (im Gegensatz zu analytisch) in einer separaten Frage weiterverfolgen.

AKTUALISIEREN:

  1. Einsatz von Deep Learning zur Beschleunigung von Gitter-Boltzmann-Strömungen. Hat ~ 9x Beschleunigung für ihren speziellen Fall gegeben

    Hennigh, O. (im Druck). Lat-Net: Boltzmann-Strömungssimulationen mit komprimiertem Gitter unter Verwendung tiefer neuronaler Netze. Abgerufen von: https://arxiv.org/pdf/1705.09036.pdf

    Repo mit Code (glaube ich):
    https://github.com/loliverhennigh/Phy-Net

  2. Etwa 2 Größenordnungen schneller als die GPU, 4 Größenordnungen oder ~ O (10.000x) schneller als die CPU und dieselbe Hardware.

    Guo, X., Li, W. & Ioiro, F. Faltungsneurale Netze für die stetige Strömungsnäherung. Abgerufen von: https://autodeskresearch.com/publications/convolutional-neural-networks-steady-flow-approximation

  3. Andere, die sich vor etwa 20 Jahren mit dem Thema befasst haben:

    Müller, S., Milano, M. & Koumoutsakos P. Anwendung von Algorithmen für maschinelles Lernen zur Modellierung und Optimierung von Strömungen. Jährliche Forschungsberichte des Zentrums für Turbulenzforschung 1999 Abgerufen von: https://web.stanford.edu/group/ctr/ResBriefs99/petros.pdf

Update (2017):
Dies kennzeichnet die Verwendung von Nicht-Gradienten-Methoden beim Deep Learning, einer Arena, die ausschließlich auf Gradienten basiert. Während die direkte Auswirkung von Aktivität auf tiefes Lernen liegt, deutet dies auch darauf hin, dass GA als Äquivalent zur Lösung eines sehr harten, sehr tiefen, sehr komplexen Problems auf der Ebene verwendet werden kann, die mit Methoden auf der Basis von Gradientenabstieg übereinstimmt oder diesen überlegen ist.

Im Rahmen dieser Frage könnte dies darauf hindeuten, dass ein größerer Angriff auf der Basis von maschinellem Lernen zeitlich und räumlich "Vorlagen" zulässt, die die Konvergenz von Gradientendomänenmethoden erheblich beschleunigen. Der Artikel geht so weit zu sagen, dass sich manchmal in Richtung Gradientenabstieg von der Lösung wegbewegt. Während bei Problemen mit lokalen Optima oder pathologischen Trajektorien (bei den meisten hochwertigen Problemen in der realen Welt gibt es einige davon) erwartet wird, dass der Gradient nicht global informativ ist, ist es dennoch schön, ihn so wie er war empirisch quantifizieren und validieren zu lassen in diesem Artikel und die Fähigkeit, "die Grenze zu überspringen", ohne "Lernreduzierung" zu erfordern, wenn Sie in Schwung kommen oder unterentspannen.

Update (2019):
Es scheint, dass Google jetzt einen Beitrag zum Thema "Wie man einen besseren Löser findet" des KI-Puzzles hat. link Dies ist ein Teil davon, wie die KI den Löser macht.

** Update (2020): ** Und jetzt machen sie es und machen es gut ...
https://arxiv.org/pdf/1911.08655.pdf

Es könnte argumentiert werden, dass sie dann ihre NN dekonstruieren könnten, um die tatsächliche Diskretisierung zu bestimmen. Besonders gut gefällt mir Abbildung 4.


5
Willkommen bei Scicomp.SE! Ihre Frage ist für diese Site etwas philosophischer als gewöhnlich, aber ich konnte nicht widerstehen, meine zwei Cent zu geben. Dennoch denke ich, dass es eine lohnende "schwierige" Frage gibt: Wann lohnen sich Finite-Differenzen-Methoden sehr hoher Ordnung und wie werden sie abgeleitet und in der Praxis implementiert? Ich empfehle, Ihre Frage entweder neu zu schreiben, um sie auf diesen Aspekt zu konzentrieren (in diesem Fall lösche ich meine nicht mehr relevante Antwort gerne), oder sie als neue Frage zu stellen (verwenden Sie das "Stellen Sie Ihre eigene Frage" im gelben Feld unter am Ende der Seite).
Christian Clason

8
Ich denke, das Kernmissverständnis beruht auf der Tatsache, dass Ihre Sequenz zu kurz ist - am Anfang fehlt (zumindest!) Ein Schritt: wie man sich für die maßgeblichen Gleichungen entscheidet. Wenn die Simulationsergebnisse nicht mit physikalischen Phänomenen übereinstimmen (und Ihre numerischen Methoden korrekt sind - dieser Teil ist reine Mathematik, es gibt kein Voodoo, es ist entweder richtig oder falsch), müssen Sie hierher zurückspringen. Keine Menge mathematischer Tricks kann unangemessene Modellannahmen ausgleichen.
Christian Clason

4
Das stimmt einfach nicht (je nachdem, was genau Sie unter "der Antwort" verstehen). Sie erstellen ein Modell (indem Sie von den ersten Prinzipien ausgehen oder ein vorhandenes modifizieren), lösen es mit der gewünschten Genauigkeit und vergleichen die Ausgabe mit experimentellen Beobachtungen. Wenn sie einverstanden sind, schreiben Sie ein Papier; Wenn nicht, gehen Sie zurück und verfeinern Sie Ihr Modell. Spülen, wiederholen. So funktioniert (jede) Wissenschaft (die numerische Lösung ist völlig zufällig).
Christian Clason

3
Genau darüber spreche ich - wenn Sie feststellen, dass Sie die Messungen nur reproduzieren können, wenn Sie auch Wuffles (oder was auch immer) in Ihre Modellkonservierung einbeziehen, dann tun Sie dies. Wie sind Ihrer Meinung nach die fünf Prinzipien, die Sie auflisten, überhaupt entstanden? Es ist nur so, dass die moderne Wissenschaft so kompliziert geworden ist, dass nicht mehr nur eine Person die Messungen durchführt, nach Vorhersagemodellen sucht, ihre mathematischen Eigenschaften untersucht, numerische Methoden für ihre Lösung ableitet und sie mit angemessener Effizienz zum Laufen bringt.
Christian Clason

1
@EngrStudent ist keine direkte Antwort auf Ihre zweite Frage, aber wir haben an der Verbesserung von RANS-Modellen gearbeitet (Sie können gröbere Maschen und große Zeitschritte verwenden), die in komplexen Abläufen furchtbar ungenau sind, aber viel billiger als DNS. Wir verwenden eine Kombination aus inversem Problem und neuronalem Netzwerk, um diese Modelle mithilfe experimenteller Daten zu verbessern. Schauen Sie sich arxiv.org/abs/1608.03990 und Referenzen dort an. Ich denke nicht, dass es möglich ist, die maßgebliche Gleichung vollständig zu ignorieren und ein ähnliches Maß an Genauigkeit beizubehalten (zumindest zum gegenwärtigen Zeitpunkt).
Außenseiter

Antworten:


20

Es ist ein langjähriger Witz, dass CFD für "bunte Fluiddynamik" steht. Trotzdem wird es in einer Vielzahl von Anwendungen eingesetzt - und ist nützlich. Ich glaube, Ihre Unzufriedenheit beruht darauf, dass zwei miteinander verbundene, aber unterschiedliche Schritte nicht ausreichend unterschieden werden: ein mathematisches Modell eines physikalischen Prozesses erstellen und numerisch lösen. Lassen Sie mich dies etwas kommentieren:

  1. Kein mathematisches (oder wirklich irgendein) Modell der physischen Realität ist jemals korrekt ; Bestenfalls ist es nützlich, um die Ergebnisse von Messungen unter sehr genau abgegrenzten (aber hoffentlich großen) Umständen vorherzusagen. Dies schließt die Tatsache ein, dass es möglich sein muss, eine solche Vorhersage bei einer bestimmten Konfiguration zu erhalten; Deshalb haben wir eine ganze Hierarchie von Modellen von der Quantenfeldtheorie bis zur Newtonschen Mechanik. Insbesondere beschreiben die Navier-Stokes-Gleichungen nicht den Flüssigkeitsfluss, sondern geben eine Vorhersage spezifischer Aspekte des Verhaltens bestimmter Flüssigkeiten unter bestimmten Bedingungen.

  2. Für die komplizierteren mathematischen Modelle (wie die Navier-Stokes-Gleichungen) können Sie niemals eine genaue Lösung (und damit Vorhersage) erhalten, sondern nur eine numerische Näherung. Dies ist keine so schlechte Sache, wie es sich anhört, da die Messungen, mit denen Sie sie vergleichen möchten, selbst niemals genau sind. Genau wie bei der Auswahl der Modelle gibt es einen Kompromiss zwischen Genauigkeit und Nachvollziehbarkeit - es macht keinen Sinn, Zeit oder Geld für eine genauere Lösung als nötig aufzuwenden. An dieser Stelle stellt sich lediglich die Frage, wie die Lösung (in diesem Fall) einer partiellen Differentialgleichung, die Gegenstand eines ganzen mathematischen Feldes ist, numerisch approximiert werden kann: numerische Analyse. Dieses Feld befasst sich mit dem NachweisFehlerschätzungen für bestimmte numerische Methoden (wiederum unter bestimmten, explizit festgelegten Bedingungen). Ihre Aussage "Einfügungsname findet ein Schema und es funktioniert", ist grob unfair - es sollte "Einfügungsname findet ein Schema und beweist, dass es funktioniert" lauten . Außerdem werden diese Schemata nicht aus dem Nichts gezogen - sie basieren auf gut verstandenen mathematischen Prinzipien.

    (Zum Beispiel können Finite-Differenzen-Schemata unter Verwendung von Taylor-Approximationen einer bestimmten Ordnung abgeleitet werden. Es ist sicherlich möglich - und einige Leute tun dies - Differenzschemata sehr hoher Ordnung zu erhalten und sie zu implementieren, aber es gibt ein Gesetz zur Verringerung der Renditen : Dies kann nur teilweise automatisiert werden und ist daher sehr aufwändig, und bestimmte zunehmend restriktive Bedingungen müssen erfüllt sein, um tatsächlich die entsprechend höhere Genauigkeit zu erzielen. Außerdem ist es irgendwann besser, ein anderes Schema wie z Spektralmethoden.)

Das gemeinsame Thema hierbei ist, dass sowohl Modelle als auch numerische Schemata eine Reihe von Anwendbarkeiten aufweisen und es wichtig ist, die richtige Kombination für einen bestimmten Zweck auszuwählen. Genau aus diesem Grund muss ein Computerwissenschaftler sowohl die Domänenwissenschaft (um zu wissen, welches Modell in welcher Situation gültig ist) als auch die Mathematik (um zu wissen, welche Methode auf welches Modell und mit welcher Genauigkeit anwendbar ist) kennen! Das Ignorieren dieser "Nur bestimmungsgemäße Verwendung" -Labels führt dazu, dass die Art von "Computational Bullshit" (im technischen Sinne von Harry Frankfurt) entsteht, auf die sich Ihre CFD-Professoren beziehen.

Warum ein Rechenmodell verwendet wird, wenn Sie über ein physikalisches Modell (z. B. einen Windkanal) verfügen: Ein Grund dafür ist, dass das Ausführen von Software um Größenordnungen billiger sein kann als das Erstellen eines Modells und das Einfügen in einen Windkanal. Außerdem ist es normalerweise kein Entweder-Oder: Wenn Sie beispielsweise ein Auto oder ein Flugzeug entwerfen, führen Sie Hunderte oder Tausende von Simulationen durch, um die Dinge einzugrenzen, und setzen dann nur für die endgültigen Kandidaten ein Modell in den Wind Tunnel.


Aktualisieren:

Die Verwendung von maschinellem Lernen anstelle einer numerischen Simulation ist wie die Aussage "kein Modell zu haben ist besser als ein ungefähres Modell", was ich bezweifle, dass jemand in der Fluiddynamik (oder einem anderen Bereich) zustimmen würde. Abgesehen davon ist es sicherlich möglich (und tatsächlich möglich), maschinelles Lernen zu verwenden, um unbekannte "Geometrie- oder Anwendungsparameter" basierend auf der Übereinstimmung mit den gemessenen Daten auszuwählen. Aber auch hier sind modellbasierte Methoden wie die Quantifizierung der Unsicherheit oder (Bayes'sche) inverse Probleme in der Regel viel besser (und basieren auf strengen mathematischen Prinzipien). Numerisch auswählen Parameter wie die Schrittgröße oder die Reihenfolge der Methode mit maschinellem Lernen sind im Prinzip ebenfalls möglich, aber ich sehe den Nutzen nicht, da es eine mathematische Theorie gibt, die Ihnen genau sagt, wie Sie diese Parameter basierend auf Ihrem (mathematischen) Modell auswählen.

Update 2:

In dem Artikel, auf den Sie verlinken, geht es um Computergrafik , nicht um Computerwissenschaft : Ihr Ziel ist es nicht, einen physikalischen Prozess genau zu simulieren (dh eine numerische Lösung eines mathematischen Modells), sondern etwas, das mit bloßem Auge nur so aussieht (ein extremer Fall von "bunter Fluiddynamik" ...) - das ist eine ganz andere Sache. Insbesondere gibt es keine Fehlergrenze für die Ausgabe des trainierten Netzwerks im Vergleich zu der entsprechenden Lösung der Navier-Stokes-Gleichungen, die ein unverzichtbarer Bestandteil jeder numerischen Methode ist.


(Und Ihre erste Frage geht von einer falschen Prämisse aus: Bei jedem Ansatz bestimmt das Problem das Modell, das Modell die Diskretisierung, die Diskretisierung den Löser.)


Es gibt eine Projektion in den Raum der Lösungen, aber nicht unbedingt in die "Lösung". Ich bin gerade verrostet. Die Idee ist, das empirisch trainierte System zu verwenden, um den Bereich des Pakets akzeptabler Lösungen, in den die Projektion erfolgt, von seinen ursprünglichen Grenzen bis näher an die physikalische Lösung zu beschränken.
EngrStudent

2
Sie verwechseln wieder die Karte und das Gebiet - ein (gut aufgestelltes) mathematisches Modell hat eine einzigartige Lösung (für bestimmte Daten). Diese Lösung können Sie mit zunehmender (beliebiger) numerischer Methode mit beliebiger Genauigkeit berechnen. Andererseits gibt es keine "physikalische Lösung", es gibt nur Messungen. Wenn diese nicht mit der Simulation hinsichtlich der Genauigkeit von Messung und Numerik übereinstimmen, haben Sie das falsche Modell gelöst , und Ihr Problem liegt nicht in der Computerwissenschaft, sondern in der Grundphysik.
Christian Clason

4
Außerdem ein Kommentar: Ein grundlegender Teil der Wissenschaft (und insbesondere der Mathematik) ist eine sehr präzise Fachsprache mit fester und eindeutiger Bedeutung - nur so kann jeder sicher sein, tatsächlich über dasselbe zu sprechen, wenn kleine interpretationsunterschiede können große auswirkungen haben. Wenn Sie sich nicht an die allgemein akzeptierte Terminologie halten und stattdessen Begriffe wie "Region des Pakets akzeptabler Lösungen" verwenden, ist es sehr schwierig zu wissen, was Sie meinen. (Ich kann nur vermuten, dass Sie über etwas wie Modellkalibrierung, inverse Probleme oder Datenassimilation sprechen.)
Christian Clason

Eine weitere Schwierigkeit bei Experimenten besteht darin, dass sie unweigerlich auf die verwendeten Geräte ausgerichtet sind. Eine Reihe von Experimenten in einer Einrichtung ist nicht unbedingt schlüssig, dh man kann erwarten, dass verschiedene Windkanäle manchmal signifikant unterschiedliche Ergebnisse liefern. Die Internationale Schlepptankkonferenz behandelte dieses Problem mit einer umfangreichen Reihe von Tests in> 50 Schlepptanks auf der ganzen Welt. Siehe: "ITTC Worldwide Series zur Identifizierung von Anlagenverzerrungen - Technische Verfahren". nmri.go.jp/turbulence/group/…
Lysistrata

eine gute Faustregel des Autors:in every approach, the problem determines the model, the model determines the discretization, the discretization determines the solver.
Sascha Gottfried

7

Ich denke, Sie mischen ein paar verschiedene Ideen, die Verwirrung stiften. Ja, es gibt eine Vielzahl von Möglichkeiten, ein bestimmtes Problem zu diskretisieren. Die Wahl eines geeigneten Weges mag wie "Voodoo" aussehen, wenn Sie diese Dinge im Unterricht lernen, aber wenn Forscher sie auswählen, stützen sie sich dabei auf die kombinierten Erfahrungen des Fachgebiets, wie sie in der Literatur veröffentlicht wurden. Daher treffen sie viel fundiertere Entscheidungen als ein Schüler.

Frage 1: Wenn Sie ein Problem lösen und von einem Schema zum anderen wechseln, ändert sich Ihre Laufzeit, die Konvergenzkriterien können sich ändern oder Ihr asymptotisches Verhalten. Ein sehr wichtiger Punkt ist jedoch, dass sich Ihre endgültige konvergierte Lösung NICHT ändern sollte . In diesem Fall müssen Sie entweder Ihre Netze verfeinern, oder es stimmt etwas mit Ihrem numerischen Schema nicht. Vielleicht könnten Sie einen Optimierungsalgorithmus verwenden, um Ihre numerischen Schemata zu erstellen und die Leistung für eine bestimmte Klasse von Problemen zu verbessern, aber oft werden die von Hand abgeleiteten Schemata mit einem mathematisch nachweisbaren optimalen Konvergenz- / asymptotischen Verhalten für die Anzahl der beteiligten Begriffe oder den verwendeten Maschentyp erstellt.

Der obige Absatz berücksichtigt nun keine unterschiedlichen Turbulenzmodelle, bei denen es sich um unterschiedliche mathematische Formulierungen / Approximationen der Physik handelt. Daher wird erwartet, dass sie unterschiedliche Lösungen haben. Diese sind in der Literatur wieder sehr gut untersucht, und ich glaube nicht, dass Programme an dem Punkt angelangt sind, an dem sie physikalische Phänomene untersuchen und ein mathematisches Modell erstellen können, das die Reaktion ähnlicher physikalischer Systeme richtig vorhersagt.

Frage 2: Ja, Sie können ein Schema ableiten, das das gesamte Netz auf einmal verwendet, und dabei einen Computercode verwenden. Ich fühle mich sogar sicher zu sagen, dass für einige Netze solche Codes existieren und Ihnen Ihr Schema in wenigen Stunden geben könnten (sobald Sie den Code gefunden haben, der ist). Das Problem ist, dass Sie Nyquist niemals schlagen werden. Es gibt eine Begrenzung für die Anzahl der Zeitschritte, die Sie ausführen, abhängig von der maximalen Häufigkeit der Reaktion Ihres Systems, und eine Begrenzung für die Anzahl der Netzzellen / -elemente, die Sie abhängig von den räumlichen Frequenzen der Lösung haben können.

Dies erklärt nicht einmal die Tatsache, dass die mit der Verwendung eines komplexeren Schemas verbundene Rechenarbeit häufig nicht linear mit der Komplexität ist. Der Grund, warum die meisten Schüler RK4-Methoden für die Zeitintegration lernen, besteht darin, dass Sie, wenn Sie Methoden mit einer höheren Ordnung aufrufen, schneller mehr Bewertungen Ihres Derivats erhalten als Ordnungen Ihrer Methode. Im räumlichen Bereich erhöhen Methoden höherer Ordnung das Ausfüllen der Matrix erheblich, sodass Sie weniger Netzpunkte benötigen. Die Arbeit, die Sie beim Invertieren der dünn besetzten Matrix ausführen, nimmt jedoch stark zu und gleicht Ihre Gewinne zumindest teilweise aus.

Ich bin mir nicht sicher, worauf Sie sich in Frage drei beziehen. Sprechen Sie darüber, aus engen Problemlösungen bessere Lösungen zu machen? Wenn ja, empfehle ich eine leichte Lektüre auf Multigrid. Wenn Sie fragen, ob Sie anständige numerische Schemata in erstaunliche verwandeln möchten, berührt der Rest meiner Antwort dies zumindest.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.