Este repositorio contiene material sobre redes neuronales informadas por la física (PINNs, del inglés Physics-Informed Neural Newtorks) y está pensado para un minicurso en el marco del tercer Congreso Colombiano de Matemáticas Aplicadas e Industriales (MAPI-3).
Diapositivas: https://speakerdeck.com/manubastidas/curso-pinns-mapi3-2024.
La modelación de fenómenos físicos mediante ecuaciones diferenciales parciales (EDP) es esencial en varias áreas de las matemáticas puras y aplicadas. Estos modelos describen cómo cambian ciertas cantidades físicas en el espacio y el tiempo, permitiendo abordar problemas cruciales como: predecir comportamientos, optimizar procesos y diseñar soluciones en campos como la química, la biología, la economía y la ingeniería. Dada la complejidad de muchos de estos problemas, encontrar soluciones exactas es a menudo imposible, lo que subraya la necesidad de métodos numéricos efectivos para aproximar las soluciones.
Aunque el análisis numérico clásico ofrece numerosas herramientas para aproximar soluciones de EDP, los recientes avances en la computación científica destacan la importancia de explorar nuevos métodos numéricos que amplíen las aplicaciones. Y además, como matemáticos, es crucial investigar y fortalecer la fundamentación de estos nuevos desarrollos. Por ejemplo, el teorema de aproximación universal establece que las redes neuronales pueden aproximar funciones continuas con gran precisión, abriendo nuevas posibilidades para la modelación matemática. Por otro lado, avances como la diferenciación automática (autodiff) permiten calcular derivadas de funciones complejas de manera precisa y eficiente, facilitando la integración de estos métodos en procesos de optimización y entrenamiento de modelos.
Las Physics-Informed Neural Networks (PINNs) son una clase emergente de redes neuronales que incorporan directamente las leyes físicas expresadas mediante EDP en el proceso de aprendizaje. A diferencia de las redes neuronales tradicionales, las PINN utilizan información física para guiar el entrenamiento, imponiendo las EDP como restricciones en la función de pérdida, lo que permite que las redes aprendan soluciones que respeten las leyes físicas subyacentes.
Este curso de teoría e implementación de PINN está diseñado para matemáticos interesados en desarrollar y aplicar métodos numéricos avanzados para resolver problemas descritos por EDP. Durante las dos sesiones, se introducirán los conceptos matemáticos y algorítmicos fundamentales para entender y utilizar PINN, combinando principios físicos con técnicas de aprendizaje automático para resolver problemas clásicos. Los participantes aprenderán a implementar estas metodologías utilizando software de código abierto, facilitando así la extensión del conocimiento adquirido a otros problemas en sus respectivas áreas de estudio. El curso estará organizado en dos partes, cada una compuesta por dos sesiones. En la primera parte, se cubrirán la formulación de problemas físicos mediante EDP y los fundamentos teóricos de las PINN. La segunda parte estará enfocada en la implementación práctica, utilizando herramientas de software y trabajando en ejemplos y ejercicios prácticos.
Recomendamos usar conda
para instalar los paquetes necesarios para
este tutorial.
Tenga en cuenta también que este tutorial está escrito para Python 3.X.
Cree un entorno conda usando el archivo pinn-tutorial.yml
en la ruta
del repositorio usando
conda env create -f environment.yml
Esto creará un entorno conda llamado "pinn-tutorial" con todos los paquetes requeridos.
Puedes activar el entorno con
conda activate pinn-tutorial
Después de la instalación puedes comprobar si todo está instalado.
python probar_instalacion.py
Para comprobar si todo funciona, ejecute las demostraciones con
python demo.py
Existen muchos artículos científicos relacionados con PINNs. A continuación, compartimos 4 que pueden servir como punto de partida para el tópico.
-
Raissi, Maziar, Paris Perdikaris, and George E. Karniadakis. "Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations." Journal of Computational physics 378 (2019): 686-707.
-
Karniadakis, George Em, et al. "Physics-informed machine learning." Nature Reviews Physics 3.6 (2021): 422-440.
-
Chuang, Pi-Yueh, and Lorena A. Barba. ["Predictive limitations of physics-informed neural networks in vortex shedding."] (https://arxiv.org/abs/2306.00230) arXiv preprint arXiv:2306.00230 (2023).
-
Krishnapriyan, Aditi, et al. "Characterizing possible failure modes in physics-informed neural networks." Advances in Neural Information Processing Systems 34 (2021): 26548-26560.
Para citar este tutorial en publicaciones utilice
Manuela Bastidas Olivares, Nicolás Guarín-Zapata. (2024). nicoguaro/pinns_mapi-3: Tutorial de PINNs MAPI-3 v1.0 (v1.0). Zenodo. https://doi.org/10.5281/zenodo.11974585
Para citar en LaTex, puede utilizar:
@software{pinns_mapi-3,
title = {Introducción a las redes neuronales informadas por la
física},
version = {1.0},
author = {Bastidas Olivares, Manuela and Guarín-Zapata, Nicolás},
year = 2024,
keywords = {redes neuronales informadas por la física,
ecuaciones diferenciales parciales, aprendizaje automático,
physics-informed neural networks, partial differential equations,
machine learning},
abstract = {Este repositorio contiene materiasl sobre redes neuronales
informadas por la física (PINNs, del inglés Physics-Informed Neural Newtorks)
y está pensado para un minicurso en el marco del tercer Congreso Colombiano
de Matemáticas Aplicadas e Industriales (MAPI-3).},
url = {https://github.com/nicoguaro/pinns_mapi-3},
doi = {https://doi.org/10.5281/zenodo.11974585}
}
Todo el código está bajo licencia MIT y el contenido bajo licencia Creative Commons Attribute.
El contenido de este repositorio está bajo licencia bajo la Licencia Creative Commons Attribution 4.0, y el código fuente que acompaña al contenido tiene Licencia MIT.