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:
- Beginnen Sie mit den maßgeblichen Gleichungen -> PDEs
- Bestimmen Sie Ihre räumliche und zeitliche Diskretisierung -> Gitter- und FD-Regeln
- gelten für die Domain einschließlich Anfangsbedingungen und Randbedingungen
- lösen (viele Variationen der Matrixinversion)
Führen Sie grobe Realitätsprüfungen durch, passen Sie sie an bekannte Lösungen an.
Erstellen Sie einige einfachere physikalische Modelle, die aus Analyseergebnissen abgeleitet wurden
- Testen, analysieren und bewerten
- 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:
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-NetEtwa 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
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.