Вот что такое физико-информированные нейронные сети и почему они полезны

ПРИМЕЧАНИЕ. В этой статье физико-информированные нейронные сети рассматриваются с точки зрения физики и ведут читателяот физики к ИИ. Действительно хорошая статья, которая делает противоположное (от ИИ к физике). ) является следующей единицей. Респект за замечательную статью! :)

Начнем с этого:

Мы понимаем, как устроен мир через физику

Используя научный метод, мы формулируем нашу гипотезу о том, как работает определенное явление, ставим контролируемый лабораторный эксперимент и подтверждаем/опровергаем нашу гипотезу данными.

Более конкретно, физика связана с эволюцией природных процессов. Помню, в моем старом университете профессор начинал конференцию следующим образом:

Гераклит говорит, что «все течет». И я в это верю. Но как?

И вот на что пытаются ответить физики:

Как, черт возьми, «все течет»?

То, как все течет, описывается некоторыми специальными типами уравнений, известными как дифференциальные уравнения. Попробуем разобраться, что это такое :)

1. Физика и дифференциальные уравнения

Слово «дифференциальный» предполагает нечто, имеющее отношение к «вычитанию», и это правда. Давайте углубимся.

1.1 Концепция производной

Производная функции играет особую роль в физике.
Например, скорость есть не что иное, как производная пространства по времени. Давайте рассмотрим следующий эксперимент, в котором у нас есть материальная точка, которая движется по одномерному стержню.

Итак, давайте сосредоточимся на синем шаре, который движется вдоль оси x. В частности, допустим, что начальной точкой является наш 0. По мере движения мяча его местоположение будет меняться относительно времени. В частности, допустим, что местоположение График зависимости от времени следующий:

Итак, опишем более подробно:

A. От момента 0 до момента 5 местоположение меняется с 0 на 9: мяч движется вперед
B. От момента 5 до момента 15 местоположение не изменяется. t вообще не меняется: мяч стоит на месте.
C. С момента 15 по момент 17 место меняется с 9 на 3: мяч движется назад.
D. С момента 17 по момент 47 > место меняется с 3 на 6: мяч снова движется вперед.

Теперь, не было бы неплохо иметь количество, которое говорит вам, когда и как мяч меняет свое местоположение? И было бы неплохо знать, насколько меняется местоположение? Эта информация представляет собой скорость и имеет следующее выражение:

Я знаю, это может показаться запутанным, но выслушайте меня.
Скорость есть не что иное, как разность (поэтому уравнение известно как дифференциальное уравнение) местоположения в два очень близких момента времени (поэтому мы имеем предел h, стремящийся к 0), деленный на эту очень близкую разницу (опять же, h). Другими словами, это мгновенная смена местоположения, нормированная на расстояние во времени.

Если в какой-то момент (t_1) у вас есть очень важное увеличение местоположения, это означает, что производная очень большая и положительная. Если в этот момент местоположение не меняется, производная равна нулю. Если изменение отрицательно (уменьшение количества), то производная отрицательна.

В нашем случае местоположение меняется линейно по частям, это означает, что сущность изменения одна и та же от 0 до 5, от 5 до 15, от 15 до 17 и от 17 до 47.

Это потому, что мгновенное изменение для t между 0 и 5 — это то же самое изменение, которое мы имеем от t = 0 до t = 5, и оно составляет 9/5, и те же рассуждения применимы ко всем другим моментам времени, описанным в функции выше.

1.2 Численные решения

Теперь наш случай чрезвычайно прост. Вместо этого рассмотрим следующий процесс:

Теперь эту траекторию гораздо сложнее смоделировать, и, поскольку нет способа вычислить производную аналитическим путем,вместо этого вы делаете это численно. Это означает, что вы просто применяете определение производной, данное в уравнении (1), для всех точек временной области. Кстати, я думаю, вы наконец-то готовы к жестокой правде:

Все дифференциальные уравнения реального мира решаются с помощью численного программного обеспечения.

Проблема в том, что численные решения могут потребовать выполнения тысяч и тысяч итераций. Более того, они требуют умного способа решения дифференциального уравнения (очень известный метод называется Рунге-Кутта), который часто интегрируется в более сложное программное обеспечение (например, POGO). > используется для методов конечных элементов). Эти программы:

  1. вычислительно дороги.
  2. (деньги) дорогие :)
  3. Требуется знание предметной области
  4. Часто требуется длительный прогон (сильно варьируется, но от минут до часов на моделирование для примеров FEM).

1.3 Некорректные задачи

И это еще не самое худшее. Известно, что некоторые проблемы неправильны. Позвольте мне показать вам, что это значит.

Допустим, задача состоит в том, чтобы «найти x и y».

Ну, это вроде легко, правда?

  • x+y=4 , so x+2y=x+y+y=8
  • 4+y=8 , so y=4
  • x=0

Решение (x, y) = (0,4). Теперь эта проблема не поставлена ​​некорректно. Для этого набора условий существует только одно решение (то, которое мы нашли), которое удовлетворяет задаче.

Теперь давайте рассмотрим эту проблему:

Первое и второе уравнения в основном одинаковы! Таким образом, (x,y) = (0,4) по-прежнему является решением, но (1,3) также является решением, и на самом деле существует бесконечное количество решений. Это означает, что проблема неверно поставлена. Для одного определения проблемы существует более одного решения (на самом деле их бесконечное множество!).

Если я дам вам следующую задачу:

Так называемая проблема инверсии приводит вас от смещения к карте скорости. Эта обратная задача используется для характеристики коррозионного дефекта в материале с помощью ультразвукового измерения (читайте, например, алгоритм HARBUT здесь). Теперь было показано, что даже при идеальной экспериментальной установке (бесконечное количество датчиков) проблема по-прежнему неправильно поставлена. Это означает, что информации все равно будет недостаточно, чтобы дать вам уникальную и стабильную карта скорости (v).

2. Искусственный интеллект и нейронные сети

Давайте поговорим об ИИ.
Самый простой способ представить ИИ — это сказать следующее:

Алгоритм ИИ выполняет определенную задачу, не будучи явно запрограммирован для этого.

Самоуправляемые автомобили математически и явно не обучены останавливаться, когда все люди мира идут перед ними, но они останавливаются. И он останавливается, потому что уже видел миллионы людей и «обучен» останавливаться, когда видит людей, идущих перед ним.

В частности, все алгоритмы ИИ основаны на функции потерь.
Это означает, что они оптимизированы для вычисления минимума определенной функции, которая является разницей между целью (желаемым результатом). и результат алгоритма.

Представьте, что по некоторым характеристикам дома вы хотите спрогнозировать его стоимость (кстати, это очень известная задача набора данных о жилье). Это задача на регрессию (от входного пространства к непрерывному пространству).

Если вы прогнозируете, что стоимость составляет 130, а реальная стоимость составляет 160, то средняя абсолютная ошибка (MAE) определяется как:

is 30.

В нашем случае наша модель представляет собой нейронную сеть, а именно F, обрабатывает ввод, а именно x, и выводит прогнозируемое значение y=F(х). В этом примере y=130k, а целевое значение t=160k.

В более общем случае у нас будет множество домов x_1,x_2,…,x_N, и будет набор значений t_1, t_2, …, t_N для прогнозирования. Это означает, что глобальная функция потерь будет примерно такой:

Эта функция потерь зависит от набора параметров W вашей модели. Конечно, чем самая низкая функция потерь, тем лучше ваша модель.
По этой причине функция потерь оптимизирована в том смысле, что она должна быть как можно меньше. Таким образом, параметры итеративно изменяются, чтобы дать вам наименьшую возможную функцию потерь (т. е. попадание в локальный минимум функции потерь).

3. ИИ + Физика = Нейронная сеть, основанная на физике

Вот если бы вы все это прочитали:

  1. Вы заслуживаете аплодисментов :)
  2. Вы можете спросить, как, черт возьми, две разные вещи, такие как ИИ (нейронные сети) и дифференциальное уравнение (физика), взаимодействуют друг с другом.

Чтобы ответить на этот вопрос, нам нужно добавить еще одно понятие — регуляризация.

3.1 Урегулирование проблемы

В главе 2 мы видели, что каждый алгоритм машинного обучения в самом конце является проблемой оптимизации. Это означает, что вы хотите найти оптимальный набор параметров W_opt, который минимизирует функцию потерь.

Проблема в том, что вы можете сойтись к решению, оптимальному для вашего тренировочного набора, но недостаточно обобщаемому и плохо работающему на тестовом наборе (переобучение). Другими словами, оптимальное значение может быть локальным оптимумом.

Позвольте мне объяснить это лучше:

Представьте, что ваша детская модель сделана по двум параметрам (w_1 и w_2). Вы исследуете следующее пространство в поисках решения:

Используя функцию потерь на тренировочном наборе, вы получаете значение потерь, близкое к 0.

Представьте, что при использовании этой комбинации параметров на тестовом наборе (наборе новых данных) функция потерь становится невероятно большой. Это означает, что функция Loss не совсем точно определена для вашей проблемы и что, учитывая эту модель, лучшим способом ее решения будет следующий:

Теперь, как мы можем попасть в зеленую точку вместо того, чтобы попасть в красную? За счет ограничения области поиска алгоритма. Что-то вроде этого:

Теперь, если алгоритм может только «заглянуть» в зеленый кружок, невозможно, чтобы он попал в красный локальный оптимум :)

Это концепция регуляризации: манипулирование функцией потерь таким образом, чтобы пространство решения было ограничено, и вы с большей вероятностью попадете в глобальный оптимум, а не в локальный.

3.2. Нейронные сети, основанные на физике = регуляризация!

Помните задачу обращения из уравнения (2)?
Что ж, эти ребята пытались ее решить :)

По сути, у них есть смещение (u) в каком-то определенном месте, и они хотят узнать v путем интерполяции u во всех местах, где алгоритм не работает. не знаю. Другими словами, при новых t, y и x они хотят найти новое смещение, а затем новую карту скоростей.

Сейчас существует много споров о решениях, потому что, как мы уже говорили ранее, проблема неправильно поставлена ​​(или неправильно поставлена). Это означает, что даже если мы найдем решение, мы понятия не имеем, уникально ли оно. Плюс есть некоторые физические ограничения, которые просто так не решить (подробнее об этом здесь). Давайте проигнорируем все это и перейдем к нашей сути.

Они хотят создать смещение, а смещение должно удовлетворять волновому уравнению (уравнение 2). Они включают эту информацию в функцию Loss:

Где:

И:

Сейчас:

A. MSE_u — это просто среднеквадратическая ошибка прогнозируемого и целевого смещения
B. MSE_f — это величина, которая должна быть как можно ближе к 0.

Короче, что они делают? Ничего, кроме регуляризации:

Они помогают алгоритму найти лучшее решение, ограничивая их пространство (наказывая решения, которые не подчиняются дифференциальному уравнению).

Почему нейронная сеть «информирована о физике»? Поскольку бит регуляризации — это дифференциальное уравнение. :)

4. Выводы

В самом конце этой статьи я надеюсь, что одна вещь ясна:

Физически информированные нейронные сети — это не что иное, как нейронная сеть с дифференциальным уравнением в качестве члена регуляризации в функции потерь

И, если вы потратили 9 минут на чтение этой статьи (примите поздравления и спасибо ❤ ), вы должны знать:

А. Что такое функция потерь (глава 2)

B. Что такое термин регуляризации (глава 3.1)

C. Что такое дифференциальное уравнение (Глава 1.)

D. Почему это связано с физикой (глава 3.2)

Если вам понравилась статья и вы хотите узнать больше о машинном обучении или просто хотите задать мне вопрос, вы можете:

A. Подпишитесь на меня в Linkedin, где я публикую все свои истории
B. Подпишитесь на мою новостную рассылку. Это будет держать вас в курсе новых историй и даст вам возможность написать мне, чтобы получить все исправления или сомнения, которые могут у вас возникнуть.
C. Станьте приглашенным участником, чтобы выиграть у меня нет максимального количества статей в месяц, и вы можете прочитать все, что я (и тысячи других ведущих авторов по машинному обучению и науке о данных) пишу о новейших доступных технологиях.