Tło:
Zbudowałem tylko jedno działające rozwiązanie numeryczne dla 2d Navier-Stokes na kurs. Było to rozwiązanie dla przepływu wnęki napędzanej pokrywką. Kurs omawiał jednak szereg schematów dyskretyzacji przestrzennych i dyskretyzacji czasowych. Wziąłem też więcej zajęć z manipulowaniem symbolami w stosunku do NS.
Niektóre z podejść numerycznych do obsługi konwersji równania analitycznego / symbolicznego z PDE na różnicę skończoną obejmują:
- Euler FTFS, FTCS, BTCS
- Niedbały
- Leapfrog Midpoint
- Lax-Wendroff
- MacCormack
- siatka offsetowa (dyfuzja przestrzenna umożliwia rozprzestrzenianie się informacji)
- TVD
Wydawało mi się wtedy, że „insert-name znajduje schemat i zdarza się, że działa”. Wiele z nich pochodziło z czasów „obfitego krzemu”. Wszystkie są przybliżeniami. W limicie oni. teoretycznie prowadzić do PDE.
Podczas gdy bezpośrednia symulacja numeryczna ( DNS ) jest zabawna, a Reynolds Averaged Navier-Stokes ( RANS ) jest również zabawny, są to dwa „punkty końcowe” kontinuum między obliczeniowo wykonalnymi i w pełni reprezentującymi zjawiska. Istnieje wiele rodzin podejść do nich.
Podczas wykładu powiedziałem profesorom CFD, że większość solverów CFD robi ładne zdjęcia, ale w większości te zdjęcia nie przedstawiają rzeczywistości i że może być bardzo trudne i wymaga dużo pracy, aby uzyskać rozwiązanie solvera, które reprezentuje rzeczywistość.
Sekwencja rozwoju (jak rozumiem, nie wyczerpująca) to:
- zacznij od równań rządzących -> PDE
- określ swoją dyskretyzację przestrzenną i czasową -> reguły siatki i FD
- dotyczą domeny, w tym warunków początkowych i warunków brzegowych
- rozwiązać (wiele odmian inwersji macierzy)
przeprowadzać kontrole rzeczywistości rzeczywistej, dopasowywać do znanych rozwiązań itp.
zbudować kilka prostszych modeli fizycznych pochodzących z wyników analitycznych
- testuj je, analizuj i oceniaj
- iteracja (powrót do kroku 6, 3 lub 2)
Myśli:
Ostatnio pracowałem z modelami CART, drzewami ukośnymi, losowymi lasami i drzewami z podwyższoną gradientem. Kierują się bardziej matematycznymi regułami, a matematyka steruje kształtem drzewa. Pracują, aby dobrze zdywersyfikować formy.
Chociaż te podejścia numeryczne stworzone przez człowieka działają nieco, istnieje szerokie „voodoo” potrzebne do połączenia ich wyników ze zjawiskami fizycznymi, które mają być modelowane. Często symulacja zasadniczo nie zastępuje rzeczywistych testów i weryfikacji. Łatwo jest użyć niewłaściwego parametru lub nie uwzględniać zmienności geometrii lub parametrów aplikacji występujących w prawdziwym świecie.
Pytania:
- Czy istnieje podejście pozwalające, aby natura problemu określała
odpowiednią dyskretyzację, schemat różnicowania przestrzennego i czasowego, warunki początkowe lub rozwiązanie? - Czy można zastosować rozwiązanie wysokiej rozdzielczości w połączeniu z technikami uczenia maszynowego do stworzenia schematu różnicowania, który ma znacznie większe rozmiary kroków, ale zachowuje zbieżność, dokładność i tym podobne?
- Wszystkie te schematy są dostępne w sposób „ludzki możliwy do uzyskania” - zawierają garść elementów. Czy istnieje schemat różnicowania z tysiącami elementów, który lepiej sobie radzi? Jak powstaje?
Uwaga: w osobnym pytaniu zajmę się tym, co empirycznie zinicjalizowane i empirycznie wyprowadzone (w przeciwieństwie do analitycznego).
AKTUALIZACJA:
Wykorzystanie uczenia głębokiego w celu przyspieszenia przepływów sieci Boltzmanna. Przyspieszono ~ 9-krotnie dla ich konkretnego przypadku
Hennigh, O. (w druku). Lat-Net: Symulacje przepływu skompresowanej kraty Boltzmanna z wykorzystaniem głębokich sieci neuronowych. Źródło: https://arxiv.org/pdf/1705.09036.pdf
Repo z kodem (myślę):
https://github.com/loliverhennigh/Phy-NetO 2 rzędy wielkości szybsze niż GPU, 4 rzędy wielkości lub ~ O (10.000x) szybsze niż procesor i ten sam sprzęt.
Guo, X., Li, W. i Ioiro, F. Konwolucyjne sieci neuronowe dla aproksymacji o stałym przepływie. Źródło: https://autodeskresearch.com/publications/convolutional-neural-networks-steady-flow-approximation
Inni, którzy analizowali ten temat około 20 lat temu:
Muller, S., Milano, M. & Koumoutsakos P. Zastosowanie algorytmów uczenia maszynowego do modelowania i optymalizacji przepływu. Center for Turbulence Research Coroczne podsumowania badań 1999 Źródło: https://web.stanford.edu/group/ctr/ResBriefs99/petros.pdf
Update (2017):
Ten charakteryzuje wykorzystanie metod non-gradient głębokiego uczenia się areną, która została wyłącznie na podstawie gradientu. Chociaż bezpośrednią implikacją aktywności jest głębokie uczenie się, sugeruje ona również, że GA może być stosowana jako równoważnik w rozwiązywaniu bardzo trudnego, bardzo głębokiego, bardzo złożonego problemu na poziomie zgodnym lub przewyższającym metody oparte na spadku.
W ramach tego pytania może sugerować, że atak oparty na uczeniu maszynowym na większą skalę może pozwolić na „szablony” w czasie i przestrzeni, które znacznie przyspieszają konwergencję metod w domenie gradientowej. Artykuł dochodzi nawet do stwierdzenia, że czasem podążanie w kierunku spadku gradientu oddala się od rozwiązania. Podczas gdy w jakimkolwiek problemie z lokalnymi optymami lub trajektoriami patologicznymi (większość rzeczywistych problemów o wysokiej wartości ma niektóre z nich), oczekuje się, że gradient nie jest globalnie informacyjny, nadal dobrze jest go skwantyfikować i zweryfikować empirycznie tak, jak był w tym artykule oraz zdolność do „przeskoczenia granicy” bez konieczności „zmniejszania uczenia się” w miarę rozpędu lub niedostatecznego relaksu.
Aktualizacja (2019):
Wygląda na to, że Google ma teraz wkład „jak znaleźć lepszy solver” układanki AI. link Jest to część tworzenia sztucznej inteligencji przez AI.
** Aktualizacja (2020): ** A teraz robią to i robią to dobrze ...
https://arxiv.org/pdf/1911.08655.pdf
Można argumentować, że mogliby następnie zdekonstruować swój NN w celu ustalenia faktycznej dyskretyzacji. Szczególnie podoba mi się rysunek 4.