Как нейросеть SIREN кодирует 3D-пространство и графику через синус

Yannic Kilcher 49,6 тыс. 56 мин 10 мин 21.06.2020
Главное

Представьте себе нейросеть, которая не обучается на тысячах изображений для поиска общих закономерностей, а сама становится единичным цифровым сигналом — будь то картинка, звук или трехмерная модель. Популярный ИИ-исследователь Янник Килчер (Yannic Kilcher) разобрал революционную научную работу, посвященную сетям SIREN (Sinusoidal Representation Networks), которые используют синусоидальные функции активации вместо привычных ReLU. Этот подход переворачивает традиционные представления о машинном обучении и открывает новые горизонты в обработке непрерывных сигналов и решении физических уравнений.

🧠 Новый взгляд на представление данных: что такое SIREN? 0:00

Разбор научной работы «Implicit Neural Representations with Periodic Activation Functions» Янник Килчер начинает с предупреждения: этот материал потребует от специалистов по классическому машинному обучению сломать привычные паттерны мышления. В традиционном Deep Learning исследователи привыкли работать с дискретными наборами данных, разделенными на обучающую и тестовую выборки. Однако авторы статьи предлагают принципиально иной подход — неявное нейронное представление (implicit neural representation), где непрерывные сигналы, такие как аудиозаписи, изображения или облака точек, описываются в виде математических функций.

Идея кодировать сигналы через функции не нова, однако до сих пор исследователи сталкивались с серьезными техническими ограничениями. Главная инновация команды ученых заключается в создании архитектуры SIREN — полносвязных нейросетей, в которых в качестве функций нелинейности используются обычные синусоиды ($\sin$) вместо стандартных ReLU или гиперболических тангенсов. По словам Янника Килчера, при условии ювелирно точной инициализации весов, такие сети способны улавливать тончайшие геометрические и текстурные нюансы сложных сигналов. Сам ведущий признается, что не является узким специалистом в области неявных представлений, поэтому его обзор построен как хроника преодоления собственного первоначального недоумения перед этой непривычной математической концепцией.

🖼️ Отрекитесь от классического ML: как закодировать картинку в нейросеть 3:28

Чтобы объяснить суть технологии «на пальцах», Килчер проводит параллель с генеративно-состязательными сетями (GAN). В случае с GAN статический латентный вектор подается на вход нейросети, которая трансформирует его в изображение. Меняя латентный вектор, пользователь получает разные картинки, но сама функция генерации остается неизменной. В концепции SIREN все устроено иначе: здесь создается строго одна нейросеть на одно конкретное изображение, и сама эта сеть фактически и является картинкой.

С математической точки зрения цифровое изображение — это дискретная функция, которая сопоставляет пространственные координаты пикселя с его цветом. Янник Килчер описывает этот процесс следующим образом:

Такая сеть обучается воспроизводить конкретное изображение, подгоняя веса под координаты каждого пикселя. На первый взгляд возникает резонный вопрос: зачем городить сложную нейросетевую структуру там, где можно просто сохранить массив пикселей? Главное преимущество, которое подчеркивает Килчер, — это получение непрерывного (субпиксельного) представления данных. Пользователь может запросить у обученной сети цвет в дробной координате, например (3.2, 4.1), и хорошо оптимизированная сеть выдаст математически обоснованное, плавное промежуточное значение, сглаживая стыки. В этом режиме задача машинного обучения превращается в чистую задачу оптимизации, где датасетом выступает вся совокупность пикселей исходного изображения. Обучение происходит путем случайного сэмплирования мини-батчей пикселей, при этом модель раз за разом прогоняет координаты через оптимизатор до достижения идеального совпадения.

🥊 Великое противостояние: почему ReLU пасует перед синусоидой 8:47

Если попытаться решить описанную задачу оптимизации с помощью стандартной нейросети на базе ReLU, результат окажется удручающим. При обратном восстановлении картинки пиксель за пикселем сеть на ReLU полностью теряет мелкие высокочастотные детали и выдает размытое изображение. Сети с активацией Tanh (гиперболический тангенс) справляются с этой задачей еще хуже, оставляя после себя грубые визуальные артефакты. Некоторого прогресса удается достичь при использовании ReLU в сочетании с позиционным кодированием (positional encoding), похожим на механизмы в архитектуре Transformer, где координаты предварительно раскладываются на синусы и косинусы разной частоты. Это помогает вернуть часть деталей, но все же не решает проблему фундаментально.

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

Для сравнения Килчер иронично упоминает RBF-ядра (радиально-базисные функции), подшучивая над «молодым поколением» разработчиков, которое вряд ли помнит эту концепцию, связанную с отображением данных в бесконечномерное пространство через гауссианы. На фоне старых подходов SIREN выглядит изящным и лаконичным решением.

🛠️ Секреты инициализации и архитектура сети 14:17

Анатомия SIREN (что расшивравано как Sinusoidal Representation Networks) проста, и Янник Килчер подчеркивает, что называть ее «сетью SIREN» — это лингвистическая избыточность. Модель представляет собой классический многослойный перцептрон, где финальный слой является линейным, а все промежуточные слои последовательно рассчитываются по неизменной формуле:

$$y = \sin(Wx + b)$$

В отличие от монотонных функций активации вроде ReLU или сигмоиды, синусоида периодична и немонотонна. По мнению Килчера, именно немонотонность долгое время мешала исследователям использовать синусы в глубоком обучении: если оптимизатор делает слишком размашистый шаг, значение функции срывается «с вершины холма в ущелье» и сбивает обучение. Многие инженеры, включая самого ведущего, когда-то пробовали ради эксперимента заменить нелинейности на синус, терпели неудачу и бросали эту затею. Заслуга авторов SIREN в том, что они проявили колоссальное упорство и разработали строгую схему инициализации весов, которая заставила немонотонную функцию работать стабильно.

Пошаговый алгоритм настройки параметров сети выглядит следующим образом:

  1. Веса промежуточных слоев модели должны случайным образом сэмплироваться из равномерного распределения, масштабированного коэффициентом $C = 6$.
  2. Это жесткое условие гарантирует, что входные данные для каждой синусоидальной активации распределены нормально со стандартным отклонением, равным единице, что предотвращает взрыв частоты в глубоких слоях.
  3. Для самого первого слоя сети авторы вводят специальный частотный множитель $\omega_0 = 30$, который заставляет синусоиду совершать множество полных периодов в диапазоне координат от $-1$ до $1$.

Эта конфигурация обеспечивает быструю и устойчивую сходимость при использовании стандартного оптимизатора Adam для любых типов сигналов. При этом производная синуса — это косинус (сдвинутая по фазе синусоида), а производная косинуса — минус синус. Математическая магия SIREN заключается в том, что производная сети SIREN сама является сетью SIREN. В то же время у ReLU первая производная превращается в кусочно-постоянную ступенчатую функцию, а вторая производная гарантированно обращается в ноль, что делает невозможным дифференциальный анализ классических архитектур.

📐 Эксперименты с производными: реконструкция по градиентам и смешивание изображений 22:04

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

Эксперименты показывают, что обучаясь исключительно на градиентах, SIREN способна с высокой точностью воссоздать исходное визуальное изображение. Однако Янник Килчер обращает внимание на важный математический нюанс: при интегрировании производной всегда возникает неопределенная константа $C$, которая теряется при дифференцировании. Из-за этого при обучении на градиентах цветного изображения могут возникать сильные цветовые искажения, а на черно-белых снимках — локальные искажения яркости (люминофорные аномалии). Тем не менее, сеть безупречно восстанавливает контуры и границы объектов (информацию о краях). Аналогично сеть справляется и с обучением на базе лапласиана (второй производной), что для сетей ReLU является технически невыполнимой задачей.

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

🏢 От облаков точек к 3D-формам: функция знакового расстояния (SDF) 34:10

Еще одна область триумфа SIREN — представление трехмерных геометрических объектов с помощью функций знакового расстояния (Signed Distance Functions, SDF). Функция потерь в данном контексте оперирует набором дифференцируемых ограничений, увязывающих входные координаты с выходными значениями и их производными. Главная цель оптимизации — свести эти ограничения к нулю по всему пространству сигнала.

В качестве практического примера рассматривается обработка ориентированных облаков точек, полученных в результате лазерного сканирования интерьеров комнат. Лазерный сканер хаотично выстреливает лучи, фиксируя лишь разрозненные координаты точек, где луч столкнулся с препятствием. Чтобы превратить эту дискретную «кашу» в непрерывную и гладкую трехмерную модель стены или мебели, применяется SDF. Эта функция сопоставляет любую координату в 3D-пространстве со значением расстояния до ближайшей границы объекта, где знак (плюс или минус) указывает, находится ли точка внутри или снаружи геометрического тела, а на самой границе функция строго равна нулю.

Процесс усложняется необходимостью решения уравнения Эйконала, согласно которому норма пространственного градиента SDF должна быть строго равна единице практически в любой точке. Математическая структура лосс-функции SIREN для этой задачи разделена на три интеграла, разграничивающих пространство на точки на поверхности объекта ($\Omega_0$) и точки за ее пределами:

  1. Для точек вне поверхности применяется экспоненциальный регуляризатор с коэффициентом $\alpha > 1$, который жестко штрафует сеть, если она пытается выдать околонулевые значения SDF вдали от реальных данных. Это гарантирует, что пустое пространство будет иметь высокое расчетное расстояние до стен.
  2. Для точек, лежащих непосредственно на измеряемой поверхности, лосс-функция требует, чтобы итоговое значение SDF было равно нулю.
  3. Градиент функции знакового расстояния на поверхности должен быть строго сонаправлен с вектором нормали этой точки. Это заставляет функцию SDF возрастать строго перпендикулярно плоскости сканирования, а не под случайным углом.

Если запустить этот алгоритм на ReLU, трехмерная модель покроется буграми и волнами, поскольку постоянные разрывные градиенты ReLU принципиально не способны удержать строгие дифференциальные ограничения уравнения Эйконала. SIREN же идеально выдерживает все граничные условия, выдавая безупречно детализированные, гладкие плоскости и углы комнат.

🌊 Решение дифференциальных уравнений и гиперсети для генерации параметров 48:48

Помимо графики, SIREN демонстрирует выдающиеся результаты в физике при численном решении уравнений в частных производных (PDE). В качестве примера Килчер упоминает уравнение Гельмгольца, описывающее волновые поля, где исследователям изначально известны лишь соотношения между искомой функцией волны и оператором Лапласа. Измеряя параметры волны или ее производные в отдельных точках комнаты, ученые могут с помощью SIREN произвести обратный расчет и полностью восстановить физическую структуру исходного волнового поля. По сути, нейросеть превращается в эффективный численный солвер для тяжелых физических задач.

Под занавес обзора Янник возвращает повествование в более привычное русло классического ML, затрагивая тему «обучения пространства неявных функций» через концепцию гиперсетей. До сих пор речь шла о подгонке одной индивидуальной сети под один объект. Но можно ли заставить одну нейросеть генерировать параметры для другой?

Чтобы проверить это, авторы провели эксперимент на датасете CIFAR-10:

Тестирование на скрытых изображениях, которые CNN никогда не видела во время обучения, показало впечатляющие результаты. Даже когда от картинки оставалось всего 10 пикселей, система умудрялась воссоздать общие контуры, а при наличии 100 пикселей результат оказывался максимально близок к оригиналу. Килчер признает, что это пока не дотягивает до безупречного качества современных GAN, но сама концепция неявной параметризации через мета-обучение выглядит крайне многообещающе.

🎭 Иллюзия этики и вердикт автора 54:25

В финале видеоролика Янник Килчер не удерживается от язвительной критики в адрес обязательного раздела статьи, посвященного потенциальному социальному воздействию технологии (Broader Impact Statement). В тексте авторы дежурно предупреждают, что их метод точного воссоздания сигналов может быть использован злоумышленниками для создания реалистичных дипфейков и фальсификации голоса без согласия актеров. По мнению Килчера, подобные разделы в современных научных публикациях обладают «нулевой перплексией» и представляют собой абсолютно бесполезный бюрократический спам, который никого реально не защищает, хотя, шутит блогер, авторов они хотя бы заставили на пару минут задуматься о последствиях своей работы.

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

💬 Цитаты

«Этот материал потребует от специалистов по классическому машинному обучению сломать привычные паттерны мышления.»

Янник Килчер 00:13

«Магия SIREN заключается в том, что производная сети SIREN сама является сетью SIREN.»

Янник Килчер 20:38
👥 Спикер
📖 Термины
Неявное нейронное представление
Способ кодирования сложного физического сигнала (звук, картинка, 3D-модель) в виде весов непрерывной математической функции внутри нейросети.
Функция знакового расстояния (SDF)
Математическая функция, определяющая расстояние от любой точки трехмерного пространства до ближайшей границы геометрического объекта, где знак указывает положение точки.
Уравнение Эйконала
Нелинейное дифференциальное уравнение в частных производных, накладывающее условие равенства единице для нормы градиента функции расстояния.
Гиперсеть (Hypernetwork)
Вспомогательная нейросеть, архитектурная задача которой заключается в генерации весов и параметров для другой, основной нейросети.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Янник Кильхер SIREN MLP Adam