(←) предыдущая запись ; следующая запись (→)
машинное_обучение, размышления
Кто о чём, а я снова о нейросетях. Если вы не в теме машинного обучения, можете ткнуть сюда и прочитать тот же пост, но с вводной частью и расшифровкой непонятных слов.
У меня возник не очень чётко сформулированный вопрос: «Может ли нейросеть вывести закон сохранения энергии», и я этим постом пытаюсь его перевести в googleable и actionable вид. Меня интересуют два аспекта.
Во-первых, нейросеть — это просто функция в очень дикой параметризации с линейными слоями, сигмоидами и ReLu. Стандартные слои нейросети не похожи на привычные физикам экспоненты с логарифмами и даже арифметические операции в нейросети тяжело сделать. Нейросеть может сколь угодно хорошо аппроксимировать зависимость, но можем ли мы «сконденсировать» эту аппроксимацию в вид «по-человечески» записанных формул? Ну там «энергия маятника = квадрат угловой скорости плюс синус угла отклонения» (E=m×(ω² + glsin ϕ)).
Во-вторых, может ли нейросеть выявить разумные интегралы движения и параметризацию системы. Вот возьмём маятник и измерим его движение в четырёхмерном фазовом пространстве декартовых координат и скоростей. Если теперь взять автоэнкодер и сжать описание состояния системы до двух компонент, мы получим какие-то параметры, полноценно описывающие систему. Но как нам теперь организовать архитектуру, если мы хотим получить не абы какое внутреннее представление, а пару: интегралы движения (энергию маятника) + хорошее фазовое пространство (угол или хотя бы угловую скорость)?
Чтобы найти интегралы движения логично учиться определять по двум точкам в фазовом пространстве, лежат ли они на одной траектории или нет. Кажется, что техники metric learning должны подходить для этой цели. А далее можно прицепить какой-нибудь loss на постоянство интеграла вдоль траектории и молиться.
А вот что делать с фазовыми координатами? Боюсь, что вместо угла будет какая-то дикая комбинация угла и скорости, и как в функцию потерь зашить требование адекватности координат, я вообще не представляю.
Есть, кстати, один плюс системы: её легко визуализировать и изучать. Мы можем сгенерировать точек вдоль траектории маятника и смотреть на изменение параметров внутреннего представления от времени. Графики должны быть показательны. Все интегралы движения должны быть просто горизонтальными линиями, а фаза, если она хорошая, будет вести себя как синусоида. Надо бы практикум такой замутить…