Нужно было лишь научиться работать не с точками, а с непрерывной реальностью.
<div class="articl-text-cover" style="position:relative;width:100%;max-width:800px;margin-left:auto;margin-right:auto;aspect-ratio:1200/676;margin-bottom:2rem;overflow:hidden">
<div itemprop="articleBody">У современных нейросетей есть проблема с физическим миром: реальность не разбита на аккуратные клетки. Температура меняется между метеостанциями, вода движется между точками расчётной сетки, а атмосфера существует не только там, куда в конкретный момент смотрит спутник. Поэтому модель, которая хорошо распознаёт изображения или работает с текстом, нельзя просто перенести в физику и ждать от неё столь же надёжных результатов. Исследователи показали, как перестроить привычные нейросети, чтобы вместо фиксированного набора точек они учились описывать непрерывные процессы .
В её основе лежат нейронные операторы , предложенные в 2020 году специально для работы с функциями. Обычная нейросеть получает конечный набор чисел и ищет связи между ними. Нейронный оператор решает другую задачу: учится преобразовывать одну функцию в другую. Благодаря этому модель можно обучить на данных одного разрешения, а затем использовать на более подробной или, наоборот, более грубой сетке.
Погода хорошо показывает, зачем вообще понадобился новый подход. Температура, давление, влажность и скорость ветра непрерывно меняются в пространстве и времени. Измерительные приборы дают лишь отдельные значения. Между двумя метеостанциями могут находиться десятки или сотни километров территории, однако температура и ветер внутри этого промежутка никуда не исчезают. Чтобы прогнозировать состояние атмосферы, модели приходится восстанавливать физические зависимости между доступными измерениями.
С текстом или изображением задача устроена проще. Предложение можно разбить на последовательность токенов, фотографию — на конечное число пикселей. Многие нейросетевые архитектуры изначально создавались именно для таких дискретных данных. В физике подобная привязка к отдельным элементам быстро превращается в ограничение.
Представим температурную карту Калифорнии. Территорию можно разделить на сетку 128 на 128 и получить 16 384 значений. Более подробная сетка 256 на 256 содержит уже 65 536 точек. Если подробности не нужны, хватит 64 на 64 и 4096 значений. Во всех трёх случаях температура над Калифорнией остаётся одним и тем же непрерывным полем. Меняется только количество точек, которыми компьютер описывает его.
Обычная нейросеть не обязательно воспринимает три сетки как разные представления одного процесса. Особенно хорошо проблема заметна у свёрточных сетей. Фильтр анализирует несколько соседних ячеек. На грубой сетке соседние ячейки соответствуют большой территории, на подробной сетке покрывают гораздо меньший участок. Число ячеек осталось прежним, но реальный размер области изменился. В результате операция, которую сеть выучила при одном разрешении, получает другой физический смысл после смены сетки.
Нейронный оператор старается избавиться от этой привязки. Вместо номеров ячеек модель учитывает координаты в физическом пространстве и учится работать с функцией целиком. В математической записи привычное суммирование по соседним элементам заменяют операцией над непрерывной областью, например интегралом. Компьютер, конечно, не может просчитать бесконечное число точек и снова использует конечную сетку, но плотность этой сетки уже не должна определять смысл вычисления.
Авторы новой работы предложили не очередную отдельную архитектуру, а общий способ переделывать уже знакомые нейросети для работы с функциями. Полносвязные слои можно превратить в интегральные операторы. В свёрточных сетях область действия фильтра можно привязать к реальным координатам вместо количества ячеек. Графовые нейросети получают возможность учитывать положение точек в пространстве и правильно складывать их вклад. Тот же принцип применим к трансформерам.
Один из наиболее известных вариантов называется нейронным оператором Фурье, или FNO. Часть вычислений модель переносит в частотную область с помощью преобразования Фурье . Благодаря этому сеть может учитывать связи между удалёнными участками физического поля и меньше зависит от конкретной сетки, на которой получила данные.
Нейронные операторы уже использовали в задачах, где обычные численные симуляции требуют серьёзных вычислительных ресурсов. Среди примеров есть квантовая химия, моделирование чёрных дыр, движение углекислого газа после закачки в подземные породы и поведение плазмы в термоядерных реакторах. В последнем случае модель рассчитывает моменты, когда плазма резко теряет тепло или утрачивает устойчивость. Для некоторых симуляций разработчики получали ускорение до миллиона раз по сравнению с традиционными численными расчётами.
В новой работе подход проверили на движении жидкостей. Первая задача использовала уравнения Навье-Стокса, которыми описывают течение жидкостей и газов. Модель получала внешнее воздействие на жидкость и рассчитывала, как со временем распределится завихренность потока. Иными словами, нейросети нужно было предсказать не несколько отдельных чисел, а целое поле, меняющееся в пространстве.
Вторая задача опиралась на закон Дарси и касалась движения жидкости через пористую среду. Подобные расчёты нужны, например, для понимания того, как вода проходит через грунт или как жидкость распространяется внутри породы. Снова возникает непрерывное поле, которое компьютер вынужден хранить в виде конечного числа точек.
Самая интересная проверка началась после обучения. Нейронные операторы тренировали на сетке 128 на 128, а затем давали им сетки 64 на 64 и 256 на 256. Дополнительно под новые размеры модели не обучали. Несмотря на смену разрешения, нейронные операторы сохраняли точность заметно лучше обычных нейросетей.
Для физического моделирования разница существенна. Если алгоритм действительно выучил зависимость между физическими полями, количество точек не должно полностью менять результат. Сетка служит способом передать компьютеру функцию, а не самой функцией.
Обычным нейросетям можно показать во время обучения сразу несколько разрешений, но эксперимент выявил ограничение такого приёма. Сеть училась работать с уже знакомыми размерами, однако точность снова падала при переходе к разрешению, которого в обучающей выборке не было. Модель запоминала несколько вариантов сетки вместо единого правила, которое продолжает работать независимо от числа точек.
Можно попробовать ещё один обходной путь: сначала привести любые входные данные к фиксированному размеру. Например, уменьшить сетку 256 на 256 до привычных 128 на 128, выполнить расчёт, а затем увеличить результат обратно. Технически нейросеть сможет принимать данные разных размеров, но часть подробностей исчезнет ещё при первом уменьшении. Модель их даже не увидит.
Нейронный оператор устроен иначе. Число обучаемых параметров не должно расти или уменьшаться вместе с разрешением. Один набор параметров описывает преобразование между функциями, а сетка определяет лишь точки, в которых компьютер получает входные значения и рассчитывает результат.
У такого свойства есть практическая польза. Чем подробнее физическая симуляция, тем больше вычислений она обычно требует. Исследователь может располагать тысячами относительно дешёвых расчётов на грубой сетке и лишь небольшим количеством очень подробных. Нейронные операторы позволяют объединять данные разного разрешения при обучении одной модели.
Обучение можно проводить и поэтапно. Сначала модель получает более дешёвые расчёты низкого разрешения, затем переходит к подробным данным. Такой порядок позволяет не тратить самые дорогие вычисления на ранние этапы, когда сеть ещё осваивает основные закономерности.
После обучения нейронный оператор способен работать даже с разрешением, которого раньше не встречал. Для этого свойства используют термин zero-shot super-resolution, который можно передать как повышение разрешения без дополнительного обучения. С обычным увеличением фотографии его лучше не путать. Алгоритм не пытается дорисовать правдоподобные детали между пикселями, а рассчитывает одну физическую функцию в большем количестве точек.
Полностью отказаться от традиционной вычислительной физики новый метод не позволяет. Компьютеру всё равно приходится заменять непрерывное пространство конечной сеткой, поэтому ошибки численного приближения сохраняются. Дополнительные сложности возникают со сложной геометрией, сетками с неодинаковой плотностью точек и симуляциями очень высокого разрешения. Трудной остаётся и ситуация, когда модели одновременно нужно учитывать процессы в ближайшей окрестности каждой точки и влияние удалённых областей.
Главный результат работы проще всего увидеть на тех же трёх температурных картах. Обычная сеть может воспринимать сетки 64 на 64, 128 на 128 и 256 на 256 как три разных формата данных. Нейронный оператор учат воспринимать их как три способа измерить одно температурное поле. Поэтому модель можно обучить на одной плотности точек, а расчёт затем провести на другой, не заставляя нейросеть заново осваивать физику процесса.
<div class="articl-text-cover" style="position:relative;width:100%;max-width:800px;margin-left:auto;margin-right:auto;aspect-ratio:1200/676;margin-bottom:2rem;overflow:hidden">
<div itemprop="articleBody">У современных нейросетей есть проблема с физическим миром: реальность не разбита на аккуратные клетки. Температура меняется между метеостанциями, вода движется между точками расчётной сетки, а атмосфера существует не только там, куда в конкретный момент смотрит спутник. Поэтому модель, которая хорошо распознаёт изображения или работает с текстом, нельзя просто перенести в физику и ждать от неё столь же надёжных результатов. Исследователи показали, как перестроить привычные нейросети, чтобы вместо фиксированного набора точек они учились описывать непрерывные процессы .
В её основе лежат нейронные операторы , предложенные в 2020 году специально для работы с функциями. Обычная нейросеть получает конечный набор чисел и ищет связи между ними. Нейронный оператор решает другую задачу: учится преобразовывать одну функцию в другую. Благодаря этому модель можно обучить на данных одного разрешения, а затем использовать на более подробной или, наоборот, более грубой сетке.
Погода хорошо показывает, зачем вообще понадобился новый подход. Температура, давление, влажность и скорость ветра непрерывно меняются в пространстве и времени. Измерительные приборы дают лишь отдельные значения. Между двумя метеостанциями могут находиться десятки или сотни километров территории, однако температура и ветер внутри этого промежутка никуда не исчезают. Чтобы прогнозировать состояние атмосферы, модели приходится восстанавливать физические зависимости между доступными измерениями.
С текстом или изображением задача устроена проще. Предложение можно разбить на последовательность токенов, фотографию — на конечное число пикселей. Многие нейросетевые архитектуры изначально создавались именно для таких дискретных данных. В физике подобная привязка к отдельным элементам быстро превращается в ограничение.
Представим температурную карту Калифорнии. Территорию можно разделить на сетку 128 на 128 и получить 16 384 значений. Более подробная сетка 256 на 256 содержит уже 65 536 точек. Если подробности не нужны, хватит 64 на 64 и 4096 значений. Во всех трёх случаях температура над Калифорнией остаётся одним и тем же непрерывным полем. Меняется только количество точек, которыми компьютер описывает его.
Обычная нейросеть не обязательно воспринимает три сетки как разные представления одного процесса. Особенно хорошо проблема заметна у свёрточных сетей. Фильтр анализирует несколько соседних ячеек. На грубой сетке соседние ячейки соответствуют большой территории, на подробной сетке покрывают гораздо меньший участок. Число ячеек осталось прежним, но реальный размер области изменился. В результате операция, которую сеть выучила при одном разрешении, получает другой физический смысл после смены сетки.
Нейронный оператор старается избавиться от этой привязки. Вместо номеров ячеек модель учитывает координаты в физическом пространстве и учится работать с функцией целиком. В математической записи привычное суммирование по соседним элементам заменяют операцией над непрерывной областью, например интегралом. Компьютер, конечно, не может просчитать бесконечное число точек и снова использует конечную сетку, но плотность этой сетки уже не должна определять смысл вычисления.
Авторы новой работы предложили не очередную отдельную архитектуру, а общий способ переделывать уже знакомые нейросети для работы с функциями. Полносвязные слои можно превратить в интегральные операторы. В свёрточных сетях область действия фильтра можно привязать к реальным координатам вместо количества ячеек. Графовые нейросети получают возможность учитывать положение точек в пространстве и правильно складывать их вклад. Тот же принцип применим к трансформерам.
Один из наиболее известных вариантов называется нейронным оператором Фурье, или FNO. Часть вычислений модель переносит в частотную область с помощью преобразования Фурье . Благодаря этому сеть может учитывать связи между удалёнными участками физического поля и меньше зависит от конкретной сетки, на которой получила данные.
Нейронные операторы уже использовали в задачах, где обычные численные симуляции требуют серьёзных вычислительных ресурсов. Среди примеров есть квантовая химия, моделирование чёрных дыр, движение углекислого газа после закачки в подземные породы и поведение плазмы в термоядерных реакторах. В последнем случае модель рассчитывает моменты, когда плазма резко теряет тепло или утрачивает устойчивость. Для некоторых симуляций разработчики получали ускорение до миллиона раз по сравнению с традиционными численными расчётами.
В новой работе подход проверили на движении жидкостей. Первая задача использовала уравнения Навье-Стокса, которыми описывают течение жидкостей и газов. Модель получала внешнее воздействие на жидкость и рассчитывала, как со временем распределится завихренность потока. Иными словами, нейросети нужно было предсказать не несколько отдельных чисел, а целое поле, меняющееся в пространстве.
Вторая задача опиралась на закон Дарси и касалась движения жидкости через пористую среду. Подобные расчёты нужны, например, для понимания того, как вода проходит через грунт или как жидкость распространяется внутри породы. Снова возникает непрерывное поле, которое компьютер вынужден хранить в виде конечного числа точек.
Самая интересная проверка началась после обучения. Нейронные операторы тренировали на сетке 128 на 128, а затем давали им сетки 64 на 64 и 256 на 256. Дополнительно под новые размеры модели не обучали. Несмотря на смену разрешения, нейронные операторы сохраняли точность заметно лучше обычных нейросетей.
Для физического моделирования разница существенна. Если алгоритм действительно выучил зависимость между физическими полями, количество точек не должно полностью менять результат. Сетка служит способом передать компьютеру функцию, а не самой функцией.
Обычным нейросетям можно показать во время обучения сразу несколько разрешений, но эксперимент выявил ограничение такого приёма. Сеть училась работать с уже знакомыми размерами, однако точность снова падала при переходе к разрешению, которого в обучающей выборке не было. Модель запоминала несколько вариантов сетки вместо единого правила, которое продолжает работать независимо от числа точек.
Можно попробовать ещё один обходной путь: сначала привести любые входные данные к фиксированному размеру. Например, уменьшить сетку 256 на 256 до привычных 128 на 128, выполнить расчёт, а затем увеличить результат обратно. Технически нейросеть сможет принимать данные разных размеров, но часть подробностей исчезнет ещё при первом уменьшении. Модель их даже не увидит.
Нейронный оператор устроен иначе. Число обучаемых параметров не должно расти или уменьшаться вместе с разрешением. Один набор параметров описывает преобразование между функциями, а сетка определяет лишь точки, в которых компьютер получает входные значения и рассчитывает результат.
У такого свойства есть практическая польза. Чем подробнее физическая симуляция, тем больше вычислений она обычно требует. Исследователь может располагать тысячами относительно дешёвых расчётов на грубой сетке и лишь небольшим количеством очень подробных. Нейронные операторы позволяют объединять данные разного разрешения при обучении одной модели.
Обучение можно проводить и поэтапно. Сначала модель получает более дешёвые расчёты низкого разрешения, затем переходит к подробным данным. Такой порядок позволяет не тратить самые дорогие вычисления на ранние этапы, когда сеть ещё осваивает основные закономерности.
После обучения нейронный оператор способен работать даже с разрешением, которого раньше не встречал. Для этого свойства используют термин zero-shot super-resolution, который можно передать как повышение разрешения без дополнительного обучения. С обычным увеличением фотографии его лучше не путать. Алгоритм не пытается дорисовать правдоподобные детали между пикселями, а рассчитывает одну физическую функцию в большем количестве точек.
Полностью отказаться от традиционной вычислительной физики новый метод не позволяет. Компьютеру всё равно приходится заменять непрерывное пространство конечной сеткой, поэтому ошибки численного приближения сохраняются. Дополнительные сложности возникают со сложной геометрией, сетками с неодинаковой плотностью точек и симуляциями очень высокого разрешения. Трудной остаётся и ситуация, когда модели одновременно нужно учитывать процессы в ближайшей окрестности каждой точки и влияние удалённых областей.
Главный результат работы проще всего увидеть на тех же трёх температурных картах. Обычная сеть может воспринимать сетки 64 на 64, 128 на 128 и 256 на 256 как три разных формата данных. Нейронный оператор учат воспринимать их как три способа измерить одно температурное поле. Поэтому модель можно обучить на одной плотности точек, а расчёт затем провести на другой, не заставляя нейросеть заново осваивать физику процесса.
- Источник новости
- www.securitylab.ru