Нормализующие потоки: Инвертируемые модели для генерации данных 34:45
В рамках курса Stanford CS236 лектор рассматривает концепцию Normalizing Flows (нормализующих потоков) как альтернативу вариационным автокодировщикам (VAE). Основная проблема классических генеративных моделей с латентными переменными, таких как VAE, заключается в невозможности напрямую вычислить маргинальную вероятность данных $p(x)$ из-за необходимости интегрирования по всем латентным переменным. Модели на основе потоков решают эту задачу, предлагая инвертируемые преобразования, которые позволяют точно вычислять вероятность и эффективно обучать модель с помощью метода максимального правдоподобия.
🔄 Концепция инвертируемых преобразований 36:35
Главная идея Normalizing Flows заключается в том, чтобы трансформировать простое распределение (например, стандартное нормальное распределение) в сложное распределение данных с помощью последовательности детерминированных и обратимых функций.
- Отличие от VAE: В отличие от VAE, где отображение из латентного пространства в пространство данных является вероятностным и требует энкодера для оценки латентных переменных, в потоковых моделях отображение детерминировано и инвертируемо.
- Следствие размерности: Необходимость обратимости требует, чтобы латентные переменные $z$ и наблюдаемые данные $x$ имели одинаковую размерность. Это означает отказ от идеи сжатого представления данных, характерной для классических автокодировщиков.
🧮 Математический аппарат: Замена переменных 46:41
Для вычисления плотности вероятности данных после трансформации $x = f(z)$ используется классическая формула замены переменных:
$$p_x(x) = p_z(h(x)) \cdot \left| \det \left( \frac{\partial h}{\partial x} \right) \right|$$
Где $h = f^{-1}$ — обратная функция, а $\det(\partial h / \partial x)$ — определитель матрицы Якоби (Якобиан) обратного отображения, отвечающий за изменение объема пространства.
- Линейный случай: Если трансформация линейна ($x = Az$), изменение объема определяется определителем матрицы $A$. В этом случае плотность распределения $x$ вычисляется как плотность $z$, деленная на абсолютное значение определителя матрицы $A$.
- Нелинейный случай: При использовании нейронных сетей для аппроксимации $f$, необходимо вычислять Якобиан и его определитель. Это позволяет локально линеаризовать функцию и применять ту же логику для контроля нормализации.
🧠 Практическое применение и ограничения 1:17:13
По словам лектора, нормализующие потоки представляют собой мощный инструмент, который сегодня тесно связан с современными генеративными архитектурами.
- Диффузионные модели: Лектор отмечает, что современные диффузионные модели можно интерпретировать как «бесконечно глубокие» потоковые модели, что позволяет использовать аппарат вычисления правдоподобия из теории потоков для анализа диффузионных процессов.
- Вычислительная сложность: Вычисление определителя Якобиана для матриц размерности $n \times n$ требует $O(n^3)$ операций, что накладывает требования к архитектуре нейронных сетей. Исследователи проектируют функции, которые легко инвертировать и для которых легко вычислять определители Якобиана.
- Смена перспективы: Лектор подчеркивает, что такие модели не столько «сжимают» данные, сколько меняют систему координат. Переход в пространство, где данные выглядят как Гауссово распределение, делает процесс моделирования значительно проще.