# Янник Кильчер: «SIREN — это революция в представлении сигналов»

Источник: https://www.youtube.com/watch?v=Q5g3p9Zwjrk
Канал: Yannic Kilcher
Опубликовано: 21.06.2020

---

# SIREN: Новый взгляд на представление данных через нейронные сети

[[JUMP:0:00]]

Исследователь в области машинного обучения Янник Кильчер (Yannic Kilcher) детально разбирает работу нейросетевой архитектуры SIREN (Sinusoidal Representation Networks), представленную командой исследователей, включая Винсента Ситцмана (Vincent Sitzmann) и Гордона Ветштейна (Gordon Wetzstein). В отличие от классических подходов, где данные хранятся как дискретные массивы (пиксели, аудиосэмплы), SIREN предлагает представлять сигналы как непрерывные функции, отображающие координаты в значения. Ключевой особенностью модели является использование синусоид в качестве функций активации, что позволяет нейросети не только идеально восстанавливать данные, но и точно аппроксимировать их производные.

## 🧠 Концепция нейронных представлений
[[JUMP:0:28]]

В классическом машинном обучении мы привыкли к задачам «вход — метка» или генеративным моделям типа GAN, где нейросеть обучается отображать латентный вектор в изображение. Авторы SIREN предлагают другой подход:

*   **Функция как данные:** Нейросеть сама по себе становится «представлением» сигнала. Если мы подаем на вход координаты (например, x и y для пикселя), сеть возвращает значение сигнала (например, RGB-цвет) в этой точке.
*   **Непрерывность:** Поскольку мы работаем с непрерывной функцией, мы можем запросить значение в любой промежуточной точке, а не только в тех, что были в исходных данных.
*   **Оптимизация, а не обучение:** В стандартных задачах мы имеем обучающую и тестовую выборки. Здесь же всё изображение (или 3D-сцена) является единственным датасетом. Цель — оптимизировать веса одной нейросети так, чтобы она «выучила» этот конкретный объект наизусть.

## 🌊 Почему именно синусоиды?
[[JUMP:14:31]]

По словам Кильчера, попытки просто заменить ReLU или другие функции активации на синус часто заканчивались неудачей. Секрет SIREN заключается в специфической схеме инициализации весов.

*   **Производные — это тоже SIREN:** В отличие от ReLU, производная синуса — это косинус (сдвинутая синусоида). Это означает, что производные нейросети SIREN сохраняют те же свойства, что и сама сеть. Это позволяет эффективно решать задачи, где важна не только сама величина сигнала, но и его градиенты.
*   **Сравнение с ReLU:** Модели на базе ReLU часто выдают «мыльные» результаты или теряют детали. Использование ReLU с позиционным кодированием (как в трансформерах) улучшает результат, но всё же уступает SIREN в способности моделировать производные сигнала.

## 📐 Прикладные возможности и задачи
[[JUMP:28:28]]

Кильчер отмечает несколько впечатляющих способов применения этой архитектуры:

1.  **Композиция изображений:** Можно смешивать изображения, складывая их градиентные карты. Сеть, обученная на сумме градиентов, способна реконструировать изображение, объединяя детали обоих источников.
2.  **Работа с 3D (SDF):** SIREN отлично справляются с представлением знаковых функций расстояния (Signed Distance Functions — SDF) для 3D-облаков точек. Сеть учится предсказывать расстояние до поверхности: нули на поверхности, плюс снаружи, минус внутри.
3.  **Решение дифференциальных уравнений:** Благодаря способности работать с производными, SIREN могут использоваться для численного решения уравнений в частных производных (PDE), например, уравнения Гельмгольца.

## ⚙️ Масштабируемость и обобщение
[[JUMP:50:49]]

Несмотря на успех в представлении отдельных объектов, архитектура сталкивается с вопросом: как обучать такие модели на целых классах данных? В статье описывается решение, где используется CNN-энкодер. Сначала CNN обрабатывает изображение с пропущенными пикселями, а затем выдает параметры (веса) для нейросети SIREN, которая восстанавливает исходную картину. По мнению автора видео, это возвращает нас в классическое поле машинного обучения, но с более мощным инструментом «непрерывного представления» на выходе.