Architecture GPT-PINN
Séminaire DDPS au Lawrence Livermore Lab
Séminaire du Groupe Brown CRUNCH
Séminaire Analyse numérique des ROM Galerkin
Le réseau neuronal fondé sur la physique (PINN) s'est révélé être un outil puissant pour obtenir des solutions numériques d'équations aux dérivées partielles (PDE) non linéaires en tirant parti de l'expressivité des réseaux neuronaux profonds et de la puissance de calcul du matériel hétérogène moderne. Cependant, sa formation reste encore chronophage, notamment dans les paramètres multi-requêtes et de simulation temps réel, et son paramétrage est souvent trop excessif. Dans cet article, nous proposons le PINN génératif pré-entraîné (GPT-PINN) pour atténuer les deux défis dans la configuration des PDE paramétriques. GPT-PINN représente un tout nouveau paradigme de méta-apprentissage pour les systèmes paramétriques. En tant que réseau de réseaux, son réseau externe/méta-réseau est hyper-réduit avec une seule couche cachée ayant un nombre de neurones considérablement réduit. De plus, sa fonction d'activation au niveau de chaque neurone caché est un PINN (complet) pré-entraîné selon une configuration système judicieusement sélectionnée. Le méta-réseau « apprend » de manière adaptative la dépendance paramétrique du système et « développe » cette couche cachée, un neurone à la fois. En fin de compte, en englobant un très petit nombre de réseaux formés sur cet ensemble de valeurs de paramètres sélectionnées de manière adaptative, le méta-réseau est capable de générer des solutions de substitution pour le système paramétrique dans l'ensemble du domaine de paramètres avec précision et efficacité.
1 Université du Massachusetts à Dartmouth, Département de mathématiques, North Dartmouth, MA
KG/B:
Python = 3.11.4
NumPy = 1.24.3
PyTorch = 2.1.2+cu121
Matplotlib = 3.7.1
AC:
Python = 3.9.12
NumPy = 1.24.3
PyTorch = 2.3.1+cu118
TensorFlow = 2.10.0
Matplotlib = 3.9.0
Les combinaisons de différentes versions de packages exécuteront probablement le code avec peu ou pas de changement.
Le code a été implémenté dans le but que le calcul soit principalement effectué sur le GPU. Le calcul du processeur peut être effectué, mais cela prendra beaucoup plus de temps.
Les fichiers d'équations de Klein-Gordon, Allen-Cahn et Burgers sont actuellement disponibles. L'exécution de KG_main.py
, B_main.py
ou AC_main.py
(avec les autres fichiers du dossier situé dans le répertoire respectif) commencera la formation du PINN complet et du GPT-PINN, augmentant ainsi la taille de la couche cachée GPT-PINN de 1 à 15 (Klein-Gordon) ou 9 (Burgers' et Allen-Cahn). Le GPT-PINN final est ensuite testé sur divers paramètres et les résultats de la formation et des tests peuvent être visualisés à l'aide des fichiers de traçage ( KG_plotting.py
, B_plotting.py
ou AC_plotting.py
). Divers paramètres du PINN ou du GPT-PINN peuvent facilement être modifiés dans les fichiers principaux. Par défaut, une fois le nombre total de neurones atteint, le GPT-PINN est à nouveau entraîné afin de trouver la plus grande perte obtenue en utilisant le nombre final de neurones. Ceci est fait pour donner plus d'informations sur l'état final du GPT-PINN.
Horaires d’exécution de Klein-Gordon
Temps de cuisson des hamburgers
Temps d'exécution d'Allen-Cahn
Vous trouverez ci-dessous la citation Bibtex :
@article{chen2024gpt,
title={GPT-PINN: Generative Pre-Trained Physics-Informed Neural Networks toward non-intrusive Meta-learning of parametric PDEs},
author={Chen, Yanlai and Koohy, Shawn},
journal={Finite Elements in Analysis and Design},
volume={228},
pages={104047},
year={2024},
publisher={Elsevier}
}