
Нейромант V1.5.2
Нейронные модули с адаптивными нелинейными ограничениями и эффективными регуляризациями (NeuroMancer) представляют собой библиотеку дифференцируемого программирования с открытым исходным кодом (DP) для решения проблем с параметрической ограниченной оптимизацией, физической идентификации системы и параметрического оптимального управления на основе модели. Нейромант написан в Pytorch и позволяет систематическому интеграции машинного обучения с помощью научных вычислений для создания сквозного дифференцируемого моделей и алгоритмов, встроенных с предварительными знаниями и физикой.
Оглавление
- Обзор
- Ключевые функции
- Что нового в v1.5.2
- Установка
- Начиная
- Учебные пособия
- Документация и руководства пользователя
Ключевые функции
- Научитесь моделировать, научитесь контролировать, научитесь оптимизировать : наша библиотека создана, чтобы предоставить конечным пользователям множество инструментов для решения обучения для оптимизации (L2O), обучения моделированию (L2M) и обучения для управления (L2C) задач. Возьмите передовую ограниченную параметрическую оптимизацию, динамику модели жидкости с использованием физических нейронных сетей, или узнайте, как контролировать температуру воздуха в зданиях, чтобы максимизировать эффективность здания.
- Символическое интерфейс программирования позволяет очень легко определить встроенные предварительные знания физики, знания областей и ограничений в эти парадигмы обучения.
- Комплексные инструменты обучения : доступ к широкому спектру учебных пособий и примеров приложений-от базовой идентификации системы до расширенного прогнозирующего контроля-что позволяет пользователям легко изучать и применять нейромантатора к реальным проблемам.
- Современные методы : NeuroMancer актуально с такими методами SOTA, как сети Колгоморов-Арнольд (KANS) для приближения функции, нейронные обычные дифференциальные уравнения (узлы) и редкая идентификация нелинейной динамики (SINDY) для обучения для моделирования динамических систем и дифференцированных выпусков оптимизации для обеспечения для обеспечений в обучении и обучению.
Что нового в v1.5.2
Возможности прогнозирования нагрузки и трансформаторы
Мы расширяем наши примеры домена энергетических систем с прогнозированием нагрузки для зданий. Мы демонстрируем использование моделирования и прогнозирования временных рядов с использованием краткосрочного набора данных о прогнозировании электроэнергии (тематическое исследование). Мы демонстрируем прогнозирование способности с использованием модели трансформатора, нового блока, добавленного к нашим (нервным) блокам. Мы также используем исторические данные о погоде, чтобы помочь в прогнозировании энергии.
Конечный базис Kolgomorov Arnold Networks
Kolmogorov-Arnold Networks (Канс) в последнее время привлекли внимание как альтернативу многослойным персептронам (MLP) для научного машинного обучения. Тем не менее, кансы могут быть дорогими для обучения, даже для относительно небольших сетей. Мы внедрили блок FBKAN (FBPINNS), для метода разложения домена для KAN, который позволяет обучать несколько небольших кансов параллельно, чтобы дать точные решения для множественных задач.
Новые примеры колаба:
Прогнозирование нагрузки
Функция приближения с сети Kolgomorov-Arnold
Установка
Просто беги
Для ручной установки, пожалуйста, обратитесь к инструкциям по установке
Начиная
Обширный набор учебных пособий можно найти в папке «Примеры», а в приведенных ниже учебниках. Интерактивные ноутбуки версии примеров доступны в Google Colab! Проверьте функциональность нейроманта, прежде чем клонировать репозиторий и настройку среды.
В приведенных ниже ноутбуках представлены основные абстракции библиотеки NeuRomancer, в частности, нашего интерфейса символического программирования и классов узлов.
Символические переменные, узлы, ограничения, цели и системные классы
Часть 1: Линейная регрессия у питорха против нейроманта.
Часть 2: Синтаксис Нейроманта: переменные, ограничения и цели.
Часть 3: Синтаксис Нейроманта: Модули, узел и системный класс.
Пример
Быстрый пример того, как решить проблему параметрической ограниченной оптимизации с использованием NeuRomancer, используя наш интерфейс символического программирования, узел и переменную, блоки, тонкие библиотеки и штрафные классы.
# Neuromancer syntax example for constrained optimization
import neuromancer as nm
import torch
# define neural architecture
func = nm . modules . blocks . MLP ( insize = 1 , outsize = 2 ,
linear_map = nm . slim . maps [ 'linear' ],
nonlin = torch . nn . ReLU , hsizes = [ 80 ] * 4 )
# wrap neural net into symbolic representation via the Node class: map(p) -> x
map = nm . system . Node ( func , [ 'p' ], [ 'x' ], name = 'map' )
# define decision variables
x = nm . constraint . variable ( "x" )[:, [ 0 ]]
y = nm . constraint . variable ( "x" )[:, [ 1 ]]
# problem parameters sampled in the dataset
p = nm . constraint . variable ( 'p' )
# define objective function
f = ( 1 - x ) ** 2 + ( y - x ** 2 ) ** 2
obj = f . minimize ( weight = 1.0 )
# define constraints
con_1 = 100. * ( x >= y )
con_2 = 100. * ( x ** 2 + y ** 2 <= p ** 2 )
# create penalty method-based loss function
loss = nm . loss . PenaltyLoss ( objectives = [ obj ], constraints = [ con_1 , con_2 ])
# construct differentiable constrained optimization problem
problem = nm . problem . Problem ( nodes = [ map ], loss = loss )Примеры домена
NeuroMancer создан для решения различных задач моделирования и контроля, специфичных для домена, используя массив методов. Здесь мы показываем, как моделировать и контролировать энергетические системы построения, а также применять методы прогнозирования нагрузки.
Для более глубокого освещения наших методов см. В нашем разделе общих учебных пособий ниже.
Энергетические системы
- Учебное построение термическая динамика с использованием нейронных одов
- Многозонная сеть термической динамики в области тепловой динамики с нейронными Одами
- Динамика уравнения обучения, используя нейронные оды
- Обучение контролю температуры воздуха в зданиях в зданиях
- Прогнозирование энергетической нагрузки для системы обработки воздуха в офисном здании с моделями MLP и CNN
- Прогнозирование энергии для построения с моделью трансформаторов
- Обучение системе гирдоэлектризованности на насосном хранилище
Учебные пособия по методам моделирования, оптимизации и управления
Обучение параметрическому программированию (L2O)
NeuroMancer позволяет сформулировать и решать широкий класс задач параметрической оптимизации, используя машинное обучение для изучения решений таких проблем. Больше информации о параметрическом программировании
Часть 1: Обучение решению проблемы с ограниченной оптимизацией.
Часть 2: Обучение для решения проблемы оптимизации, ограниченной квадратикой.
Часть 3: Обучение решению набора 2D -ограниченных задач оптимизации.
Часть 4: Обучение решению проблемы с ограниченной оптимизацией с прогнозируемым градиентом.
Часть 5: Использование cvxpylayers для дифференцируемой проекции на политопический возможный набор.
Часть 6: Обучение оптимизации с метрическим обучением для слоев разделения оператора.
Обучение контролю (L2C)
NeuroMancer позволяет выучить политику управления для полного спектра динамических систем белого/серых/черных ящиков, с учетом ограничений выбора и объективных функций. Больше информации о дифференциальном прогнозном контроле
- Часть 1: Обучение стабилизации линейной динамической системы.
- Часть 2: Обучение стабилизации нелинейного дифференциального уравнения.
- Часть 3: Обучение контролю нелинейного дифференциального уравнения.
- Часть 4: Обучение модели нейронной оды и политики управления для неизвестной динамической системы.
- Часть 5: Обучение нейронной функции Lyapunov для нелинейной динамической системы.
Функция приближения
Нейромант актуален с современными методами. Здесь мы демонстрируем мощные сети Колгоморов-Арнольд. Дополнительная информация о сети Колгоморов-Арнольд
- Часть 1: Сравнение кансов и фбканов при изучении 1D -функции с помощью шума с шумом
- Часть 2: Сравнение кансов и фбканов в изучении 2D -функции с несколькими краями с шумом
Нейронные операторы
NeuroMancer позволяет использовать машинное обучение, предшествующую физику и знания в области, чтобы построить математические и дифференцированные модели динамических систем, учитывая измеренные наблюдения за поведением системы. Более подробная информация об идентификаторе системы через космические модели нейронного состояния и ODES
- Часть 1: Нейронные обычные дифференциальные уравнения (узлы)
- Часть 2: оценка параметров системы ODE
- Часть 3: универсальные дифференциальные уравнения (UDES)
- Часть 4: узлы с экзогенными входами
- Часть 5: Модели пространства нейронных состояний (NSSM) с экзогенными входами
- Часть 6: Моделирование данных, управляемое данными, сетевых ODES с сопротивлением (RC)
- Часть 7: Оператор Deep Koopman
- Часть 8: ориентированный на контроль оператор Deep Koopman
- Часть 9: Разреженная идентификация нелинейной динамики (Синди)
Физико-информированные нейронные сети (Pinns)
Символический дизайн программирования NeuRomancer идеально подходит для решения Pinns. Больше информации о Pinns
- Часть 1: уравнение диффузии
- Часть 2: Уравнение гамбургеров
- Часть 3: Уравнение гамбургеров с оценкой параметров (обратная проблема)
- Часть 4: Уравнение Лапласа (устойчивое государство)
- Часть 5: затухающий маятник (укладка Pinn)
- Часть 6: Уравнение Навье-Стоукса (поток полости, управляемый крышкой, Steady-State, Kan)
Стохастические дифференциальные уравнения (SDE)
Нейромант был интегрирован с Torchsde для обработки стохастических динамических систем. Более подробная информация о SDES
- LatentsDes: «Идентификация системы» стохастических процессов с использованием NeuRomancer x Tarchsde
Масштабируемость и настройка
Интеграция Lightning Pytorch
Мы интегрировали Pytorch Lightning для оптимизации кода, включили пользовательскую логику обучения, поддержку GPU и настройки мульти-GPU и обрабатываем крупномасштабные, интенсивные память задачи обучения.
- Часть 1: Основы интеграции молнии.
- Часть 2: Молния расширенные функции и автоматическая поддержка GPU.
- Часть 4: Определение пользовательской логики обучения через модульный код Lightning.
Документация и руководства пользователя
Документацию для библиотеки можно найти в Интернете. Существует также введение видео, охватывающее основные функции библиотеки.
Для получения дополнительной информации, в том числе для разработчиков, перейдите в наш разработчик и руководство пользователя
Информация сообщества
Мы приветствуем вклад и отзывы сообщества с открытым исходным кодом!
Вклад, дискуссии и проблемы
Пожалуйста, прочитайте Руководство по развитию сообщества для получения дополнительной информации о вкладах, дискуссиях и вопросах.
Выпуск заметок
Смотрите заметки о выпуске, документирующие новые функции.
Лицензия
Нейромант поставляется с лицензией BSD. Смотрите лицензию для получения дополнительной информации.
Публикации
- Bo Tang, Elias B. Khalil, Ján Drgoňa, Learning для оптимизации для нелинейного программирования смешанного интеллекта, Arxiv: 2410.11061, 2024
- Джон Вилджэн, Вацлао Шоу Кортез, Ян Дргона, Себастьян Ист, Масайоши Томизука, Драгуна Враби, дифференцируемый прогнозирующий контроль для робототехники: подход, основанный на данных, подход к фильтру ARXIV: 2409.13817, 2024
- Ян Дргона, Аарон Туор, Драгуна Враби, обучение ограниченным параметрическим дифференцируемым политикам контроля с гарантиями, транзакции IEEE по системам, человеку и кибернетике: Systems, 2024
- Renukanandan Tumu, Wenceslao Shaw Cortez, Ján Drgoňa, Draguna L. Vrabie, Sonja Glavaski, дифференцируемый предиктивный контроль для крупномасштабных городских дорожных сетей, Arxiv: 2406.10433, 2024
- Этан Кинг, Джеймс Котари, Фердинандо Фиоретто, Ян Дргона, Метрическое обучение для ускорения сходимости методов разделения операторов для дифференцируемого параметрического программирования, arxiv: 2404.00882, 2024
- Джеймс Кох, Мадлен Шапиро, Химаншу Шарма, Драгуна Враби, Ян Дргона, Нейронные дифференциальные алгебраические уравнения, Arxiv: 2403.12938, 2024
- WENCESLAO SHAW CORTEZ, JAN DRGONA, DRAGUNA VRABIE, MAHANTESH HALAPPANAVAR, надежный, эффективный фильтр безопасности, ARXIV: 2311.08496, 2024
- Шриранг Абхьянкар, Ян Дргона, Эндрю Август, Эллиот Скомски, Аарон Туор, Моделирование нейрофизической динамической нагрузки с использованием дифференцируемой параметрической оптимизации, 2023 г. Общее собрание Общества власти и энергетики (PESGM), 2023
- Джеймс Кох, Чжао Чен, Аарон Туор, Ян Дргона, Драгуна Враби, Структурное вывод сетевых динамических систем с универсальными дифференциальными уравнениями, Arxiv: 2207.04962, (2022)
- Ján Drgoňa, Sayak Mukherjee, Aaron Tuor, Mahantesh Halappanavar, Draguna Vrabie, Learning Stochastic Parametric Disticable Prodictive Control, конференция IFAC Rocond (2022)
- Саяк Мукерджи, Джан Дргоя, Аарон Туор, Махантэш Халаппанавар, Драгуна Враби, Нейронный дифференциальный прогнозирующий контроль от Нейронного Ляпунова, Конференция по принятию решений и контроля 2022
- WENCESLAO SHAW CORTEZ, JAN DRGONA, AARON TUOR, MAHANTESH HALAPPANAVAR, Draguna Vrabie, Дифференцируемый прогнозирующий контроль с гарантиями безопасности: подход к управлению барьерной функции, Конференция IEEE по Конференции по решению и контролю 2022
- Этан Кинг, Ян Дргона, Аарон Туор, Шрайранг Абхьянкар, Крейг Баккер, Арнаб Бхаттачарья, Драгуна Враби, Компания Дифференцируемого прогнозируемого контроля динамического дискейного дискейного контроля, базирующаяся в Купмане (ACC).
- Drgoňa, J., Tuor, AR, Chandan, V. & Vrabie, DL, с ограниченным физическим, глубоким изучением мультизональной термической динамики здания. Энергия и здания, 243, 110992, (2021)
- E. Skomski, S. Vasisht, C. Wight, A. Tuor, J. Drgoňa и D. Vrabie, «Нелинейные нелинейные нейронные модели блоков», 2021 Американская конференция по контролю (ACC), 2021, с. 3993-4000, DOI: 10.23919/ACC50511.2021.9482930.
- Skomski, E., Drgoňa, J. & Tuor, A. (2021, май). Автоматизация обнаружения физических информированных моделей нейронного состояния посредством обучения и эволюции. В обучении для динамики и контроля (стр. 980-991). PMLR.
- Drgoňa, J., Tuor, A., Skomski, E., Vasisht, S. & Vrabie, D. (2021). Глубокое обучение явно дифференцируемое прогнозируемое контроль законов для зданий. Ifac-Papersonline, 54 (6), 14-19.
- Tuor, A., Drgona, J. & Vrabie, D. (2020). Ограниченные нейронные обычные дифференциальные уравнения с гарантиями стабильности. Arxiv Preprint arxiv: 2004.10883.
- Drgona, Jan, et al. «Дифференцируемый прогностический контроль: альтернатива MPC для неизвестных нелинейных систем с использованием ограниченного глубокого обучения». Журнал управления процессом Том 116, август 2022 г., страницы 80-92
- Drgona, J., Skomski, E., Vasisht, S., Tuor, A. & Vrabie, D. (2020). Диссипативные глубокие нейронные динамические системы, в IEEE Open Journal of Control Systems, Vol. 1, с. 100-112, 2022
- Drgona, J., Tuor, A. & Vrabie, D., Learning Lentive Adaptive Distictiable Prodictive Control Policies с гарантиями Arxiv Preprint Arxiv: 2004.11184, (2020)
Цитировать как
@article{Neuromancer2023,
title={{NeuroMANCER : Neural Modules with Adaptive Nonlinear Constraints and Efficient Regularizations}},
author={Drgona, Jan and Tuor, Aaron and Koch, James and Shapiro, Madelyn and Jacob, Bruno and Vrabie, Draguna},
Url= {https://github.com/pnnl/neuromancer},
year={2023}
} Команда разработчиков
Активные застройщики : Ян Дргона, Рахул Бирмивал, Бруно Джейкоб
Примечательные участники : Аарон Туор, Мадлен Шапиро, Джеймс Кох, Сет Брини, Бо Тан, Этан Кинг, Эллиот Скомски, Чжао Чен, Кристиан Мёлдруд Легаард
Научные консультанты : Draguna Vrabie, Panos Stinis
Взносы с открытым исходным кодом, внесенные:
Сделано из ouctrib.rocks.
Благодарности
Это исследование было частично поддержано инициативами по математике для искусственных рассуждений в науке (MARS) и инвестициях с конвергенцией данных (DMC) с помощью лабораторных исследований и разработок (LDRD) в Pacific Northwest National National Laboratory (PNNL), посредством Министерства энергетики США, посредством офиса повышенных научных исследований, управляемых данных по борьбе с энергосбережении, ими, управляемыми данными, возобновляемыми программами, возобновляемыми программами. Энергия, строительные технологии в рамках «динамической декарбонизации посредством автономного физического ориентированного глубокого обучения и оптимизации строительных операций» и «продвигаемого рыночного управления зданием, затратным дифференцируемым прогнозирующим контролем». Этот проект также был поддержан от Министерства энергетики США, программы «Передовые научные исследования научных вычислений» в рамках количественной оценки неопределенности для проекта Multifidity Operator Learning (MOLUCQ) (Проект № 81739). PNNL является многопрограммой национальной лаборатории, управляемой для Министерства энергетики США (DOE) Мемориальным институтом Баттелле по контракту № DE-AC05-76RL0-1830.