Comments 33
Если речь идет про neural operators (FNO, SNO, DilResNet, ...), то они получают приближенное решение с достаточной степенью точности. Да, конечно, причем neural operators решают давольно большой спектр PDEs. Советую перейти по ссылкам в посте, чтобы более подробно ознакомиться.
А зачем вам аугментация? Не проще просто фундаментальное решение один раз найти, как по классике, с дельта-функцией в правой части, а потом с любой правой частью проинтегрировать это решение? Сдается, ваша аугментация именно к этому в результате и сведется.
Не всегда известны фундаментальные решения PDEs(например, уравнения Навье-Стокса), а если говорить про применения к прикладным задачам, где нужно решать системы PDEs, то единственным решением есть использования традиционных солверов. Neural operator - это surrogate model, и предложенный способ увеличения datasets хорошо работает в рамках этого подхода.
Тогда я чего-то не понимаю. Вы-же тренируете сеть на экспериментальных данных? В чем смысл тренировать на экспериментальных данных схему, если можно попробовать найти общее решение (очевидно неаналитическое) или численный алгоритм для нахождения частного (как делают при численных решениях ДУ), тем более непонятно где взять столько экспериментальных данных? Просто чтобы сделать какую-то мат.модель уже известного экспериментального процесса, пригодную для каких-то расчетов, но которую нельзя будет потом обобщить на другие варианты начальных условий и непонятны будут границы ее применимости?
Преимущества такого подхода с использованием нейросетевых моделей, обученных на ограниченном числе симуляций или эмпирических данных, можно проиллюстрировать этой работой по расчету траекторий в задаче 3-х тел. Это особенно актуально для задач не имеющих аналитического решения, но с доступными эмпирическими данными. Не исключено, со временем, тот же сопромат ждет нейросетевая революция)
Спасибо за ссылку, интересная работа. Но в той работе решается понятная задача - аппроксимировать результаты численного решения диффура результатами работы нейронной сети. То-есть поиск аппроксимации набора известных численных решений сложной многопараметрической функцией. А что делаете вы? Если я правильно понимаю, с экспериментом тут могут быть неконтроллируемые ошибки - одно дело известный диффур, другое дело реальный эксперимент с его ошибками и неучтенными воздействиями.
А с общей идеей аугментации согласен - если вы учтете симметрию задачи аугментацией (что как я понял вы и делаете), после обучения вы должны получить аппроксимацию, инвариантную по отношению к этой симметрии. В общем для этого аугментация и используется.
Если я правильно понимаю, с экспериментом тут могут быть неконтроллируемые ошибки — одно дело известный диффур, другое дело реальный эксперимент с его ошибками и неучтенными воздействиями.
Конечно, так же как при обучении любых нейросетей могут быть неправильно размеченные данные. Это вопрос контроля и статистики. Симуляции также делают в некоторых предположениях. Та же задача трех тел предполагает, что действием других источников гравитации можно пренебречь. В принципе можно не симулировать эти данные, а записать движение реальных небесных тел в разной конфигурации, если установить их параметры. А затем обучить сеть предсказывать траектории. Трудоемкая задача с учетом медленного движения небесных тел. Тем не менее, подобный подход к решению задач как раз актуален для астрофизических наблюдений, а объем данных от них растет астрономически) Не случайно в этой области просто взрывной рост работ по нейросетевому моделированию, здесь про некоторые проблемы, хотя это несколько другая задача, а эти публикации имеют отношению к расчету траекторий 1, 2.
Задача физики состоит в том, чтобы выявлять закономерности и уменьшать количество неизвестных параметров, а не чтобы увеличивать их. Оккам бы перевернулся в гробу от нейросетевых выкрутасов с физикой.
Это напоминает мне давний спор Птолемеевой схемы мира с Коперниковской. Как показала история, менее точная Коперниковская модель оказалась более правильной для объяснения мира, чем более точная Птолемеевская. И заменять физику на нейронку - делать шаг назад, к Птолемею.
Видимо не в курсе, есть такие системы которые могут выводить законы физики, например, Кеплера из эмпирических данных, см. эту публикацию. Есть целый класс "машинных ученых", которые строят сложные регрессионные модели данных (1, 2, 3 — законы Ньютона и небесной динамики, 4).
В условиях наметившегося застоя в фундаментальной физике все методы хороши, включая новые. В этом коменте подробнее на эту тему, см. также другие коменты там. Вот отличный пример (статья), как нейросетевое моделирование с обучением на эмпирических данных помогает в оценке размерности сложных динамических систем. Не смотря на скепсис в коментах связанный с непривычностью подхода к решению задачи и не понимания специфики работы таких систем.
Что касается уменьшения количества параметров в физических моделях, то как посмотреть. Вот неполный Лагранжиан СМ, как вам?) А теперь представьте его надо точно решить для миллиардов разных взаимодействующих частиц в реальных системах. Никакая автоматизация не поможет в этом, включая перспективные кв. технологии, только приближенные решения. Так в чем дело? Обученные нейросетевые модели как раз могут решать такие задачи, и иногда выдать решение в аналитической форме, пусть и сложных регрессий.
Вы же сами говорите, неполный лагранжиан нужно решать точно, а потом говорите о приближенном решениии. Для приближенных методов известно что нужно оценивать расходимость, вводить критерии, проверить их еще до начала решения и т.д., чего с нейронками не всегда делается (потому-что непонятно как, в отличие от численных методов). В технических задачах - да, применение нейронных сетей полезно. А для физики нейронки - это всего-лишь модели, позволяющие какие-то задачи автоматизировать. Продвижения конекретно в теории по-моему мнению, они не дают (даже несмотря на то, что вы написали про Кеплера, читал эту статью). Экспериментаторам жизнь облегчают, сам постоянно пользуюсь.
С численными решениями математики вроде лет 20-30 назад пробовали, потом перестали большинство численных решений считать за доказательство чего-бы то ни было. В физике просто до этого еще не дошли потому-что поздно начали, но фанарики уже зажигаются.
Застоя в физике особо нет, есть застой с решением задач. А объяснять одну сущность миллиардом - по-моему дело наблагодарное, хотя и модное.
Вы же сами говорите, неполный лагранжиан нужно решать точно, а потом говорите о приближенном решениии.
Как бы написал почему, из-за проблем с вычислительными ресурсами. Слишком сложно точное решение таких задач, поэтому часто применяются приближенные методы. Наглядный пример из кв. хими обсчет фолдинка биомолекул. На хабре статья была по приближенным методам решения. Сейчас это возложили на нейросеть, которая с удовлетворительной точностью решает эту задачу. Возможно и для теории выход будет по мере улучшения архитектуры сети, и набора статистики восстановления.
Минимизация функции ошибки - это и есть МКЭ. В статье по факту рассматриваются ОДУ. Вычислительные затраты растут как О(N), где N - количество узлов расчетной сетки. В МКЭ то же самое. Нейронная сеть - это система линейных уравнений. Ее можно решать обучением, т.е. градиентными методами, не проблема. Тоже никакой разницы с МКЭ, только возможна проблема со сходимостью. В чем все-таки преимущество предлагаемого способа?
Для того, чтобы обучить neural operator нужно иметь некоторую выборку (параметров PDEs, решений), полученную с использование традиционных солверов. Естественно получить (очень)большую выборку теме же традиционными солверами не всегда просто как с точки зрения вычислительных ресурсов, так и с точки зрения времени. Основное преимущество предлагаемого способа заключается в том, чтобы увеличить уже существующую исходную выборку так, чтобы ошибка на тестовой выборки была как можно меньше, причем не съедая большое количество ресурсов. В статье это показана на пример как для 1D, так и для 2D.
Все-таки хочется понять алгоритм. Что Вы понимаете под терминами "выборка параметров PDE" и "выборка решений"?
Для примера из поста. Самый простой пример: генерируем набор {a(x), f(x)} из какого-нибудь распределения, а дальше, используя солвер, получаем решение u(x). Таким образом собираем выборку(набор наблюдений) и обучаем neural operator (FNO, SNO, ...). "Выборка параметров PDE" -- это {a_j(x), f_j(x)}, "выборка решений" -- это {u_j(x)}
И еще вопрос вдогонку. Можете пояснить, что значит "сгенерировать набор " и что за распределение имеется в виду? Можно какой-нибудь пример привести? Дальше логика вроде понятна, а в самом начале проблема.
Кстати хороший вопрос - пусть нам надо решить краевую задачу для уравнения теплопроводности, у нас в идеальном газе коэффициент теплопроводности от температуры не зависит, в идеальной плазме зависит как T^(5/2). А в плазме с резким градиентом температуры поток пропорциональный этому самому градиенту получается больше чем "баллистический поток", то есть чистая беспримесная лажа. Как нам нейронная сеть поможет уравнение теплопроводности в общем виде решить?
Поправьте, пожалуйста, чтобы формулы проявились. Я правильно понимаю, что выборка решений - это множество (упорядоченное) функций с индексом, определяющим номер функции в выборке? Если да, то являются ли все эти функции определенными во всех точках отрезка ? Может быть, даже непрерывными при достаточно гладких (даже непрерывных?) функциях-параметрах, разумеется.
Я правильно понимаю, что выборка решений - это множество (упорядоченное) функций с индексом, определяющим номер функции в выборке -- да. Если да, то являются ли все эти функции определенными во всех точках отрезка -- да, Может быть, даже непрерывными при достаточно гладких (даже непрерывных?) функциях-параметрах -- да, но мы также проверяем на достаточно интересных случаях(например, для эллиптического уравнения -- "ступенька").
Спасибо за ответ. Откуда вы получаете выборку непрерывных (или определенных во всех точках отрезка) решений? Насчет выборки функций - параметров предполагаю, что задаете аналитически.
Тут приведен пример для elliptic equation 2D. Мы генерируем $a(x)$, $b(x)$, как показано выше, а потом используем традиционный солвер, чтобы получить точные решения $u(x)$. Таким образом, набираем выборку.
Такой подход получает решение довольно быстро, но его основная трудность заключается в том, что, чтобы получить хорошую точность решения, обучающих пар наблюдений {aj, uj}Nj=1 должно быть много. В этом случае, как уже было сказано выше, мы используем традиционный солвер, чтобы получить решения uj, со всеми сопутствующими сложностями.
По сути вся эта деятельность сводится к интерполяции / экстраполяции решений, полученных обычными численными методами ("солверами"). А если есть работающие методы - зачем тогда нейронки? Вычислительные мощности экономить и время расчета сокращать? Не факт.
Про Навье-Стокса вообще анекдот, решения сильно нелинейных систем уравнений неустойчиво по малым (и даже бесконечно малым) отклонениям начальных и граничных условий, чтобы погоду предсказывать приходится эти начальные/граничные условия методом Монте-Карло варьировать и потом по полученной выборке решений предсказывать "вероятность осадков в HH часов MM минут XX процентов". А тут вжух и вот вам решение.
А что вы думаете насчёт инвариантных сеток? Допустим, что-то вроде euclidean neural network?
@arudikovНе могли бы вы дать ссылку на репозиторий с кодом и с данными. А то общие слова - красивые, но хотелось бы поиграться с кодом, формулами и цифрами. Спасибо.
Как аугментация помогает нейронным сетям решать уравнения в частных производных