Hesaplamalı akışkanlar dinamiğinde makine öğrenmesinin kullanımı


9

Arka plan:
Bir kurs için 2d Navier-Stokes'e yalnızca bir çalışma sayısal çözümü oluşturdum. Kapak tahrikli boşluk akışı için bir çözümdü. Bununla birlikte, ders, mekânsal takdir ve zaman takdirine ilişkin bir dizi şema üzerinde tartışmıştır. NS'ye uygulanan daha fazla sembol manipülasyon dersi aldım.

Analitik / sembolik denklemin PDE'den sonlu farka dönüşümünü ele alan sayısal yaklaşımlardan bazıları şunlardır:

  • Euler FTFS, FTCS, BTCS
  • Gevşek
  • Orta Nokta Birdirbir
  • Lax- Wendroff
  • MacCormack
  • ofset ızgara (uzamsal difüzyon, bilginin yayılmasını sağlar)
  • TVD

O zamanlar, bunlar "insert-name bir şema bulur ve işe yarar" gibi görünüyordu. Bunların birçoğu "bol silikon" zamanından önceydi. Hepsi yaklaşık değerlerdir. Sınırda onlar. teoride PDE'lere yol açar.

Doğrudan Sayısal Simülasyon ( DNS ) eğlenceli olsa da, Reynolds Ortalamalamalı Navier-Stokes ( RANS ) da eğlenceli olsa da, bunlar hesaplanabilir olarak izlenebilir ve fenomeni tam olarak temsil eden sürekliliğin iki "uç noktası" dır . Bunların içinde yaşayan birçok yaklaşım ailesi vardır.

CFD profesörlerinin derste, çoğu CFD çözücüsünün güzel resimler çektiğini söyledim, ancak çoğunlukla bu resimler gerçeği temsil etmiyor ve bir çözücü çözüm elde etmek için çok zor olabileceğini ve çok iş alabileceğini söyledi. gerçeği temsil eder.

Gelişim sırası (anladığım kadarıyla, kapsamlı değil):

  1. yönetim denklemleriyle başlayın -> PDE'ler
  2. uzamsal ve zamansal takdir yetkinizi belirleme -> ızgara ve FD kuralları
  3. başlangıç ​​koşulları ve sınır koşulları dahil olmak üzere alan için geçerli
  4. çözmek (matris inversiyonunda birçok varyasyon)
  5. kaba gerçeklik kontrolleri yapın, bilinen çözümlere uyun vb.

  6. analitik sonuçlardan elde edilen bazı basit fiziksel modeller oluşturmak

  7. onları test et, analiz et ve değerlendir
  8. yineleme (adım 6, 3 veya 2'ye geri dönme)

Düşünceler:
Son zamanlarda CART modelleri, eğik ağaçlar, rastgele ormanlar ve gradyan takviyeli ağaçlar ile çalışıyorum. Daha matematiksel olarak türetilmiş kuralları takip ederler ve matematik ağacın şeklini alır. Ayrıklaştırılmış formları iyi yapmak için çalışırlar.

Bu insan tarafından oluşturulan sayısal yaklaşımlar bir şekilde işe yarıyor olsa da, sonuçlarını modellemek istedikleri fiziksel fenomenlere bağlamak için kapsamlı bir "vudu" vardır. Genellikle simülasyon gerçek dünyadaki test ve doğrulamanın yerini almaz. Yanlış parametreyi kullanmak kolaydır veya gerçek dünyada yaşanan geometri veya uygulama parametrelerindeki farklılıkları hesaba katmaz.

Sorular:

  • Sorunun niteliğinin
    uygun takdir yetkisini, mekansal ve zamansal fark şemasını, başlangıç ​​koşullarını veya çözümü tanımlamasına izin veren herhangi bir yaklaşım var mı?
  • Makine öğrenimi teknikleri ile birleştirilmiş yüksek tanımlı bir çözüm, çok daha büyük adım boyutlarına sahip, ancak yakınsama, doğruluk ve benzerliğini koruyan bir farklandırma şeması oluşturmak için kullanılabilir mi?
  • Tüm bu şemalar erişilebilir bir şekilde "türetmek için insanca izlenebilir" dir - bir avuç unsurları vardır. Daha iyi bir iş çıkaran binlerce unsurdan oluşan bir farklılık şeması var mı? Nasıl türetilir?

Not: Ampirik olarak başlatılmış ve ampirik olarak türetilmiş (analitik olarak aksine) ayrı bir soruda takip edeceğim.

GÜNCELLEME:

  1. Boltzmann akışını hızlandırmak için derin öğrenmenin kullanımı. Özel durumları için ~ 9x hız kazandı

    Hennigh, O. (baskıda). Lat-Net: Derin Sinir Ağları Kullanılarak Sıkıştırılmış Kafes Boltzmann Akış Simülasyonları. Erişim tarihi: https://arxiv.org/pdf/1705.09036.pdf

    Kodla repo (sanırım):
    https://github.com/loliverhennigh/Phy-Net

  2. GPU'dan daha hızlı yaklaşık 2 sipariş, CPU'dan 4 büyüklük sırası veya ~ O (10.000x) daha hızlı ve aynı donanım.

    Guo, X., Li, W. & Ioiro, F. Sabit Akış Yaklaşımı için Evrimsel Sinir Ağları. Erişim tarihi: https://autodeskresearch.com/publications/convolutional-neural-networks-steady-flow-approximation

  3. Konuya yaklaşık 20 yıl önce bakan diğerleri:

    Muller, S., Milano, M. & Koumoutsakos P. Makine öğrenme algoritmalarının akış modellemesi ve optimizasyonuna uygulanması. Türbülans Araştırmaları Merkezi Yıllık Araştırma Brifingleri 1999 https://web.stanford.edu/group/ctr/ResBriefs99/petros.pdf

Güncelleme (2017):
Bu, özellikle degrade tabanlı bir arena olan derin öğrenmede degrade olmayan yöntemlerin kullanımını karakterize eder. Etkinliğin doğrudan etkisi derin öğrenmede olmakla birlikte, GA'nın gradyan iniş temelli yöntemlerle tutarlı veya ondan daha üst düzeyde çok zor, çok derin, çok karmaşık bir problemin çözümünde eşdeğer olarak kullanılabileceğini önermektedir.

Bu soru kapsamında, daha büyük ölçekli, makine öğrenimi tabanlı bir saldırının, zaman ve mekanda degrade-alan yöntemlerinin yakınsamasını büyük ölçüde hızlandıran "şablonlara" izin verebileceği önerilebilir. Makale, bazen degrade iniş yönünde gitmenin çözümden uzaklaştığını söyleyecek kadar ileri gider. Yerel optima veya patolojik yörüngelerle ilgili herhangi bir problemde (en yüksek değerli gerçek dünya problemlerinin bazıları bunlardan bazılarına sahip olsa da), gradyanın küresel olarak bilgilendirici olmaması beklenirken, ampirik olarak nicel ve doğrulanmış olması hala güzel Bu makalede ve momentumda veya gevşemede "öğrenmenin azaltılması" gerekmeksizin "sınırda atlama" yeteneği.

Güncelleme (2019):
Görünüşe göre google'ın AI bulmacasının "daha iyi bir çözücü nasıl bulunur" parçası olduğu görülüyor. link Bu, AI'nin çözücü yapmasının bir parçasıdır.

** Güncelleme (2020): ** Ve şimdi yapıyorlar ve iyi yapıyorlar ...
https://arxiv.org/pdf/1911.08655.pdf

Daha sonra gerçek takdir yetkisini belirlemek için NN'lerini yapılandırabilecekleri söylenebilir. Özellikle şekil 4'ü seviyorum.


5
Scicomp.SE'ye hoş geldiniz! Sorunuz bu site için normalden biraz daha felsefi, ancak iki sentimi veremedim. Yine de, orada değerli bir "zor" soru olduğunu düşünüyorum: Çok yüksek dereceli sonlu fark yöntemleri ne zaman değerlidir ve pratikte nasıl türetilir ve uygulanır? Sorunuzu bu konuya odaklanmak için yeniden yazmanızı (bu durumda artık alakalı olmayan cevabımı mutlu bir şekilde silerim) veya yeni bir soru olarak sormanızı (adresindeki sarı kutuda "kendi sorunuzu sor" seçeneğini kullanın sayfanın alt kısmına).
Christian Clason

8
Temel yanlış anlama dizinizin çok kısa olmasından kaynaklanıyor - başlangıçta (en azından!) Bir adım eksik: yönetim denklemlerine nasıl karar verileceği. Simülasyon sonuçları fiziksel fenomenlerle uyuşmuyorsa (ve sayısal yöntemleriniz doğruysa - bu bölüm saf matematiktir, vudu yoktur, doğru veya yanlıştır), o zaman geri atlamak zorundasınız. Uygunsuz modelleme varsayımlarını hiçbir matematiksel hile yapamaz.
Christian Clason

4
Bu doğru değil ("cevap" ile tam olarak ne demek istediğinize bağlı olarak). Bir model yaparsınız (ilk ilkelerden yola çıkarak veya mevcut bir modeli değiştirerek), istenen bir doğrulukla çözer ve çıktıyı deneysel gözlemlerle karşılaştırırsınız. Kabul ederlerse, iyi, bir makale yazın; değilse, geri dönün ve modelinizi hassaslaştırın. Durulayın, tekrarlayın. Bilim böyle çalışır (sayısal çözüm tamamen tesadüfi).
Christian Clason

3
Tam olarak bahsettiğim şey budur - modelinizde wuffles'ın (veya her ne olursa olsun) korunmasına dahil olmadıkça ölçümleri çoğaltamayacağınızı fark ederseniz, yaptığınız şey budur. Sizce listelediğiniz beş prensibi en başta nasıl buldunuz? Sadece modern bilim o kadar karmaşık hale geldi ki, artık ölçümleri yapan, tahmini modelleri bulmaya çalışan, matematiksel özelliklerini inceleyen, çözümleri için sayısal yöntemler elde eden ve makul verimlilikte çalışmalarını sağlayan tek bir kişi değil.
Christian Clason

1
@EngrStudent, ikinci sorunuza doğrudan bir cevap değil, ancak karmaşık akışlarda çok yanlış olan ancak DNS'den çok daha ucuz olan RANS modellerini (daha kaba ağ ve büyük zaman adımı kullanabilirsiniz) geliştirmeye çalışıyoruz. Deneysel veriler kullanarak bu modelleri geliştirmek için ters problem ve sinir ağının bir kombinasyonunu kullanıyoruz. Arxiv.org/abs/1608.03990 ve oradaki kaynaklara bir göz atın . Yönetim denklemini tamamen görmezden gelmenin ve benzer bir doğruluk seviyesini (en azından şu anda) korumanın mümkün olduğunu düşünmüyorum.
maverick

Yanıtlar:


20

CFD'nin "renkli sıvı dinamikleri" anlamına geldiği uzun süredir devam eden bir şaka. Bununla birlikte, çok çeşitli uygulamalarda kullanılır ve yararlıdır. Hoşnutsuzluğunuzun birbirine bağlı iki ama farklı adım arasında yeterince ayrım yapmaktan kaynaklandığına inanıyorum: fiziksel bir sürecin matematiksel bir modelini oluşturmak ve sayısal olarak çözmek. Bunlara biraz yorum yapmama izin verin:

  1. Hiçbir matematiksel (veya gerçekte herhangi bir) fiziksel gerçeklik modeli doğru değildir ; en iyi ihtimalle çok kesin olarak belirlenmiş (ancak umarım büyük) bir dizi koşulda ölçüm sonuçlarını tahmin etmek için yararlıdır . Bu, belirli bir konfigürasyon verildiğinde böyle bir tahmin elde etmenin mümkün olması gerçeğini içerir; bu yüzden kuantum alan teorisinden Newton mekaniğine kadar bütün bir model hiyerarşisine sahibiz. Özellikle, Navier-Stokes denklemleri sıvı akışını tanımlamaz, belirli koşullar altında belirli sıvıların davranışının belirli yönlerini tahmin ederler.

  2. Daha karmaşık matematiksel modeller için (Navier-Stokes denklemleri gibi) asla kesin bir çözüm (ve dolayısıyla tahmin) elde edemezsiniz, ancak sadece sayısal bir yaklaşım elde edersiniz. Bu, göründüğü kadar kötü bir şey değildir, çünkü bunları karşılaştırmak istediğiniz ölçümler asla tam değildir. Modellerin seçiminde olduğu gibi, doğruluk ve izlenebilirlik arasında bir denge var - gerekenden daha doğru bir çözüm elde etmek için zaman veya para harcamak mantıklı değil. Bu noktada, tamamen bütün bir matematiksel alanın konusu olan kısmi diferansiyel denklemin (sayısal analiz) çözümünün sayısal olarak nasıl tahmin edileceği sorusu haline gelir. Bu alan kanıtlamakla ilgilidirbelirli sayısal yöntemler için hata tahminleri (yine, belirli, açıkça belirtilmiş koşullar altında). İfadeniz "insert-name bir şema bulur ve işe yarar", son derece haksızdır - "insert-name bir şema bulur ve çalıştığını kanıtlar " olmalıdır. Ayrıca, bu şemalar ince havadan çekilmez - iyi anlaşılmış matematiksel prensiplerden türetilir.

    (Örneğin, belirli bir siparişin Taylor yaklaşımları kullanılarak sonlu fark şemaları türetilebilir. Çok yüksek dereceli fark şemaları elde etmek ve uygulamak kesinlikle mümkündür - ancak geri dönüşlerin azalması yasası vardır : bu sadece kısmen otomatikleştirilebilir ve bu nedenle çok çaba gerektirir ve bunlardan karşılık gelen daha yüksek doğruluğu elde etmek için giderek artan kısıtlayıcı koşulların yerine getirilmesi gerekir.Ayrıca, bir noktada tamamen farklı bir şema kullanmak daha iyidir. spektral yöntemler.)

Buradaki ortak tema, hem modellerin hem de sayısal şemaların bir dizi uygulanabilirlikle birlikte gelmesi ve belirli bir amaç için doğru kombinasyonu seçmek önemlidir. İşte tam da bu yüzden bir hesaplama bilimcisi hem alan bilimini (hangi modelin hangi durumda geçerli olduğunu bilmek için) hem de matematiği (hangi yöntemin hangi modele ve hangi doğruluğa uygulanabilir olduğunu bilmek) bilmelidir. Bu "yalnızca belirtilen şekilde" etiketleri göz ardı etmek, CFD profesörlerinizin bahsettiği türden "hesaplama saçmalığı" (Harry Frankfurt'un teknik anlamında) üretilmesine yol açar.

Fiziksel bir modeliniz (rüzgar tüneli gibi) varken neden bir hesaplama modeli kullanmayla ilgili olarak: Bunun nedeni, çalışan yazılımın, bir model oluşturmaktan ve bir rüzgar tüneline yerleştirmekten daha ucuz büyüklük emirleri olabilmesidir. Ayrıca, genellikle bir ya da değildir: Örneğin, bir araba veya uçak tasarlarken, şeyleri daraltmak için yüzlerce veya binlerce simülasyon çalıştırırsınız ve daha sonra sadece son aday (lar) bir rüzgâra model koyarsınız tünel.


Güncelleme:

Sayısal simülasyon yerine makine öğrenimini kullanmak, akışkan dinamiğindeki (veya başka bir alandaki) herkesin hemfikir olacağından şüphe duyduğum "hiçbir modele sahip olmak yaklaşık bir modele sahip olmaktan daha iyidir" demek gibidir. Bununla birlikte, ölçülen verilerle anlaşmaya dayanarak bilinmeyen "geometri veya uygulama parametrelerini" seçmek için makine öğrenimini kullanmak kesinlikle mümkündür (ve aslında yapılır); bununla birlikte burada, belirsizlik ölçümü veya (Bayes) ters problemleri gibi model tabanlı yöntemler genellikle çok daha iyi performans gösterir (ve titiz matematiksel prensiplere dayanır). Sayısal seçme prensip olarak makine öğrenimini kullanarak adım boyutu veya yöntemin sırası gibi parametreler de mümkündür, ancak faydayı göremiyorum, çünkü (matematiksel) modelinize göre bu parametreleri tam olarak nasıl seçeceğinizi anlatan bir matematik teorisi var.

Güncelleme 2:

Bağlanmak kağıt hakkındadır bilgisayar grafikleri , değil bilgisayar bilimleri : hedeflerinin doğru bir simülasyon olması değil (yani sayısal bir matematiksel modelin çözelti) fiziksel bir sürecin, ama bir şey böyle bir çıplak gözle sadece görünüm ("renkli sıvı dinamiği" nin aşırı bir örneği ...) - bu çok farklı bir konudur. Özellikle, herhangi bir sayısal yöntemin vazgeçilmez bir parçası olan Navier-Stokes denklemlerine karşılık gelen çözümle karşılaştırıldığında, eğitimli ağın çıkışı için herhangi bir hata bağlı değildir.


(Ve ilk sorunuz yanlış bir önermeden başlar: her yaklaşımda, sorun modeli belirler, model takdir yetkisini belirler, takdir yetkisi çözücüyü belirler.)


Çözeltilerin uzamında izdüşüm vardır, fakat zorunlu olarak “çözüme” yönelik değildir. Şu anda paslıyım. Fikir, ampirik olarak eğitilmiş sistemi, projeksiyonun orijinal sınırlarından fiziksel çözüme daha yakın olduğu kabul edilebilir çözümlerin parselinin bölgesini sınırlamak için kullanmaktır.
EngrStudent

2
Haritayı ve bölgeyi tekrar karıştırıyorsunuz - (iyi pozlanmış) bir matematiksel modelin benzersiz bir çözümü var (herhangi bir veri için). Bu çözüm, (uygun) bir sayısal yöntem kullanarak (artan çaba ile) keyfi doğrulukta hesaplayabilirsiniz. Öte yandan, orada hiçbir "Fiziksel çözüm", sadece ölçümler vardır. Bunlar, ölçüm ve sayısal doğruluk içindeki simülasyon ile uyuşmuyorsa, yanlış modeli çözüyordunuz ve probleminiz hesaplama bilimi değil, temel fiziktir.
Christian Clason

4
Ayrıca, bir yorum: Bilimin (ve özellikle matematiğin) temel bir parçası, sabit ve açık anlamı olan çok kesin bir teknik dildir - bu, herkesin aynı şey hakkında konuştuğundan emin olmanın tek yolu budur. yorumdaki küçük farklılıkların büyük bir etkisi olabilir. Yaygın olarak kabul edilen terminolojiye bağlı kalmamak ve bunun yerine "kabul edilebilir çözümlerin parseli bölgesi" gibi terimleri kullanmamak ne demek istediğinizi bilmenizi zorlaştırır. (Sadece model kalibrasyonu, ters problemler veya veri asimilasyonu gibi bir şeyden bahsediyor olabileceğinizi tahmin edebilirim.)
Christian Clason

Deneylerle ilgili bir başka zorluk da, kaçınılmaz olarak kullanılan ekipmana önyargılı olmalarıdır. Bir tesisteki bir dizi deney mutlaka kesin değildir, yani farklı rüzgar tünellerinin bazen önemli ölçüde farklı sonuçlar vermesini bekleyebiliriz. Uluslararası Çekme Tankı Konferansı, dünya çapında 50'den fazla çekme tankında kapsamlı bir dizi test ile bu sorunu ele aldı. Bkz. "Tesis Önyargılarını Belirlemek için Dünya Çapında ITTC Serisi - Teknik Prosedürler". nmri.go.jp/turbulence/group/…
Lysistrata

yazardan iyi bir kural:in every approach, the problem determines the model, the model determines the discretization, the discretization determines the solver.
Sascha Gottfried

7

Sanırım karışıklığa neden olan birkaç farklı fikri karıştırıyorsunuz. Evet, belirli bir sorunu takdir etmenin çok çeşitli yolları vardır. Sınıfta bu şeyleri öğrenirken uygun bir yol seçmek "vudu" gibi görünebilir, ancak araştırmacılar bunları seçtiğinde, bunu literatürde yayınlandığı gibi alanın birleşik deneyiminden yararlanarak yaparlar. Bu nedenle, bir öğrencinin yapabileceğinden çok daha bilinçli seçimler yaparlar.

Soru 1: Bir sorunu çözüyorsanız ve bir şemadan diğerine geçerseniz, çalışma süreniz değişecek, yakınsama kriterleri değişebilir veya asimptotik davranışınız olabilir, ancak çok önemli bir nokta, nihai yakınsak çözümünüzün DEĞİŞMEMESİ gerektiğidir. . Eğer öyleyse, kafeslerinizi hassaslaştırmanız gerekir veya sayısal şemanızla ilgili bir sorun var. Belki de sayısal şemalarınızı oluşturmak ve belirli bir sorun sınıfı için performansı artırmak için bazı optimizasyon algoritması kullanabilirsiniz, ancak çoğu kez elle türlenen şemalar, kullanılan terimlerin sayısı veya kullanılan kafes türü için matematiksel olarak kanıtlanabilir optimal yakınsama / asimptotik davranışla oluşturulur.

Şimdi yukarıdaki paragraf, farklı türbülans modelleri gibi, fiziğin farklı matematiksel formülasyonları / yaklaşımları olan şeyleri açıklamamaktadır, bu yüzden farklı çözümlere sahip olması beklenmektedir. Bunlar yine literatürde çok çalışılmıştır ve programların fiziksel olaylara bakabilecekleri ve benzer fiziksel sistemlerin tepkisini doğru bir şekilde tahmin eden bir matematiksel model üretebilecekleri noktada olduğunu düşünmüyorum.

Soru 2: Evet, bunu yapmak için bazı bilgisayar kodlarını kullanarak tüm mesh'i bir kerede kullanan bir şema türetebilirsiniz. Hatta bazı kafesler için bu tür kodların var olduğunu ve birkaç saat içinde (ki kodu bulduğunuzda) planınızı verebileceğini söyleyebilirim. Sorun, Nyquist'i asla yenemeyeceksin. Sisteminizin yanıtının maksimum frekansına bağlı olarak ne kadar zaman alacağınız konusunda bir sınır ve çözümün uzamsal frekanslarına bağlı olarak ne kadar büyük kafes hücresi / elemanı olabileceğine dair bir sınır vardır.

Bu, daha karmaşık bir şemanın kullanılmasında yer alan hesaplama çalışmalarının çoğu zaman karmaşıklıkla doğrusal olmadığı gerçeğini bile hesaba katmaz. Çoğu öğrencinin zaman entegrasyonu için RK4 yöntemlerini öğrenmesinin nedeni, bundan daha yüksek bir sıraya sahip yöntemlere gitmeye başladığınızda, türevinizin yöntemlerini sipariş ettiğinizden daha hızlı olarak daha fazla değerlendirme kazanmanızdır. Uzamsal alanda, daha yüksek dereceli yöntemler matris dolumunu büyük ölçüde artırır, bu nedenle daha az örgü noktasına ihtiyacınız vardır, ancak seyrek matrisi ters çevirdiğinizde yapılan iş büyük ölçüde artar, en azından kazancınızı kısmen telafi eder.

Üçüncü soruda neyi kastettiğinizden emin değilim. Bir soruna yakın çözümleri daha iyi çözümlere dönüştürmekten mi bahsediyorsunuz? Eğer öyleyse multigrid üzerinde hafif okumalar öneririm. Eğer iyi nümerik şemaları şaşırtıcı şemalara dönüştürmek istiyorsanız, cevabımın geri kalanının en azından buna değdiğini düşünüyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.