Архитектура GPT-PINN
Семинар DDPS в Ливерморской лаборатории Лоуренса
Групповой семинар Brown CRUNCH
Семинар «Численный анализ галеркинских ПЗУ»
Нейронная сеть, основанная на физике (PINN), зарекомендовала себя как мощный инструмент для получения численных решений нелинейных уравнений в частных производных (PDE), используя выразительность глубоких нейронных сетей и вычислительную мощность современного гетерогенного оборудования. Однако его обучение по-прежнему требует много времени, особенно в условиях многозапросного моделирования и моделирования в реальном времени, а его параметризация часто бывает чрезмерно чрезмерной. В этой статье мы предлагаем генеративный предварительно обученный PINN (GPT-PINN) для смягчения обеих проблем при настройке параметрических PDE. GPT-PINN представляет собой совершенно новую парадигму метаобучения для параметрических систем. Будучи сетью сетей, ее внешняя/метасеть гиперсокращена, и только один скрытый слой имеет значительно уменьшенное количество нейронов. Более того, его функция активации на каждом скрытом нейроне представляет собой (полный) PINN, предварительно обученный в разумно выбранной конфигурации системы. Метасеть адаптивно «узнает» параметрическую зависимость системы и «выращивает» этот скрытый слой по одному нейрону за раз. В конце концов, охватывая очень небольшое количество сетей, обученных на этом наборе адаптивно выбранных значений параметров, метасеть способна точно и эффективно генерировать суррогатные решения для параметрической системы во всей области параметров.
1 Массачусетский университет, Дартмут, факультет математики, Норт-Дартмут, Массачусетс
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
Комбинации различных версий пакета, скорее всего, будут запускать код практически без изменений.
Код был реализован с намерением выполнять вычисления в основном на графическом процессоре. Вычисления ЦП можно выполнить, однако это займет гораздо больше времени.
В настоящее время доступны файлы уравнений Кляйна-Гордона, Аллена-Кана и Бюргерса. Запуск KG_main.py
, B_main.py
или AC_main.py
(с другими файлами в папке, расположенной в соответствующем каталоге) начнет обучение полного PINN и GPT-PINN, увеличивая размер скрытого слоя GPT-PINN с От 1 до 15 (Кляйн-Гордон) или 9 (Бюргерс и Аллен-Кан). Окончательный GPT-PINN затем тестируется по различным параметрам, и результаты обучения и тестирования можно визуализировать с помощью файлов графиков ( KG_plotting.py
, B_plotting.py
или AC_plotting.py
). Различные параметры PINN или GPT-PINN можно легко изменить в основных файлах. По умолчанию, как только общее количество нейронов достигнуто, GPT-PINN обучается еще раз, чтобы найти наибольшую полученную потерю, используя окончательное количество нейронов. Это сделано для того, чтобы предоставить больше информации об окончательном состоянии GPT-PINN.
Время выполнения Кляйна-Гордона
Время работы бургеров
Время работы Аллена-Кана
Ниже вы можете найти цитату 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}
}