Antecedentes:
solo he creado una solución numérica de trabajo para 2d Navier-Stokes, para un curso. Era una solución para el flujo de la cavidad impulsada por la tapa. Sin embargo, el curso discutió una serie de esquemas para discretizaciones espaciales y discretizaciones de tiempo. También he tomado más cursos de manipulación de símbolos aplicados a NS.
Algunos de los enfoques numéricos para manejar la conversión de la ecuación analítica / simbólica de PDE a diferencia finita incluyen:
- Euler FTFS, FTCS, BTCS
- Flojo
- Midpoint Leapfrog
- Lax-Wendroff
- MacCormack
- cuadrícula compensada (la difusión espacial permite que la información se extienda)
- TVD
Para mí, en ese momento, parecían "insert-name encuentra un esquema y funciona". Muchos de estos eran anteriores a la época del "silicio abundante". Todas son aproximaciones. En el límite ellos. En teoría, conducir a los PDE.
Si bien la simulación numérica directa ( DNS ) es divertida, y el Navier-Stokes promediado de Reynolds ( RANS ) también es divertido, son los dos "puntos finales" del continuo entre el procesamiento computacional y la representación total de los fenómenos. Hay múltiples familias de enfoques que viven en el interior de estos.
Los profesores de CFD han dicho, en conferencia, que la mayoría de los solucionadores de CFD hacen imágenes bonitas, pero en su mayor parte, esas imágenes no representan la realidad y que puede ser muy difícil y requiere mucho trabajo obtener una solución de solución que representa la realidad
La secuencia de desarrollo (según tengo entendido, no exhaustiva) es:
- Comience con las ecuaciones de gobierno -> PDE
- determine su discretización espacial y temporal -> reglas de cuadrícula y FD
- se aplica al dominio, incluidas las condiciones iniciales y las condiciones de contorno
- resolver (muchas variaciones en la inversión de matriz)
realizar verificaciones de la realidad bruta, ajustar las soluciones conocidas, etc.
construir algunos modelos físicos más simples derivados de resultados analíticos
- probarlos, analizarlos y evaluarlos
- iterar (volver a los pasos 6, 3 o 2)
Pensamientos:
Recientemente he estado trabajando con modelos CART, árboles oblicuos, bosques aleatorios y árboles impulsados por gradientes. Siguen más reglas derivadas matemáticamente, y las matemáticas manejan la forma del árbol. Trabajan para hacer bien formularios discretos.
Aunque estos enfoques numéricos creados por el hombre funcionan de alguna manera, se necesita un amplio "vudú" para conectar sus resultados con los fenómenos físicos que deben modelar. A menudo, la simulación no reemplaza sustancialmente las pruebas y verificaciones del mundo real. Es fácil usar el parámetro incorrecto, o no tener en cuenta la variación en la geometría o los parámetros de aplicación experimentados en el mundo real.
Preguntas:
- ¿Ha habido algún enfoque para permitir que la naturaleza del problema defina
la discretización apropiada, el esquema de diferenciación espacial y temporal, las condiciones iniciales o la solución? - ¿Se puede utilizar una solución de alta definición junto con las técnicas de aprendizaje automático para hacer un esquema de diferenciación que tenga tamaños de paso mucho más grandes pero que conserve la convergencia, la precisión y demás?
- Todos estos esquemas son accesibles "humanamente manejables para derivar", tienen un puñado de elementos. ¿Existe un esquema de diferenciación con miles de elementos que haga un mejor trabajo? ¿Cómo se deriva?
Nota: Voy a seguir con el empíricamente inicializado y empíricamente derivado (en oposición a analíticamente) en una pregunta separada.
ACTUALIZAR:
Uso del aprendizaje profundo para acelerar los flujos reticulares de Boltzmann. Dio ~ 9x de aceleración para su caso particular
Hennigh, O. (en prensa). Lat-Net: Simulaciones de flujo de Boltzmann de celosía comprimida utilizando redes neuronales profundas. Recuperado de: https://arxiv.org/pdf/1705.09036.pdf
Repo con código (creo):
https://github.com/loliverhennigh/Phy-NetAproximadamente 2 órdenes de magnitud más rápido que la GPU, 4 órdenes de magnitud, o ~ O (10,000x) más rápido que la CPU, y el mismo hardware.
Guo, X., Li, W. e Ioiro, F. Redes neuronales convolucionales para la aproximación de flujo constante. Recuperado de: https://autodeskresearch.com/publications/convolutional-neural-networks-steady-flow-approximation
Otros que han estudiado el tema hace unos 20 años:
Muller, S., Milano, M. y Koumoutsakos P. Aplicación de algoritmos de aprendizaje automático para modelar y optimizar flujos. Center for Turbulence Research Briefs anuales de investigación 1999 Recuperado de: https://web.stanford.edu/group/ctr/ResBriefs99/petros.pdf
Actualización (2017):
Esto caracteriza el uso de métodos sin gradiente en el aprendizaje profundo, un ámbito que se ha basado exclusivamente en gradientes. Si bien la implicación directa de la actividad está en el aprendizaje profundo, también sugiere que GA puede usarse como equivalente para resolver un problema muy difícil, muy profundo y muy complejo a un nivel consistente o superior a los métodos basados en el descenso de gradiente.
Dentro del alcance de esta pregunta, podría sugerir que un ataque basado en el aprendizaje automático a gran escala podría permitir "plantillas" en el tiempo y el espacio que aceleren sustancialmente la convergencia de los métodos de dominio de gradiente. El artículo llega a decir que a veces ir en la dirección del descenso del gradiente se aleja de la solución. Si bien en cualquier problema con los óptimos locales o las trayectorias patológicas (la mayoría de los problemas del mundo real de alto valor tienen algunos de estos), se espera que el gradiente no sea globalmente informativo, aún es bueno tenerlo cuantificado y validado empíricamente como era en este documento y la capacidad de "saltar el límite" sin requerir una "reducción del aprendizaje" a medida que avanza o se relaja.
Actualización (2019):
Parece que Google ahora tiene una contribución "cómo encontrar un mejor solucionador" pieza del rompecabezas AI. link Esto es parte de hacer que la IA sea el solucionador.
** Actualización (2020): ** Y ahora lo están haciendo, y lo están haciendo bien ...
https://arxiv.org/pdf/1911.08655.pdf
Se podría argumentar que luego podrían deconstruir su NN para determinar la discretización real. Me gusta especialmente la figura 4.