Нормализующие потоки: Лекция Stanford CS236 об инвертируемых моделях

Stanford Online 24,9 тыс. 1 ч 22 мин 2 мин 06.05.2024
Главное

Нормализующие потоки: Инвертируемые модели для генерации данных 34:45

В рамках курса Stanford CS236 лектор рассматривает концепцию Normalizing Flows (нормализующих потоков) как альтернативу вариационным автокодировщикам (VAE). Основная проблема классических генеративных моделей с латентными переменными, таких как VAE, заключается в невозможности напрямую вычислить маргинальную вероятность данных $p(x)$ из-за необходимости интегрирования по всем латентным переменным. Модели на основе потоков решают эту задачу, предлагая инвертируемые преобразования, которые позволяют точно вычислять вероятность и эффективно обучать модель с помощью метода максимального правдоподобия.

🔄 Концепция инвертируемых преобразований 36:35

Главная идея Normalizing Flows заключается в том, чтобы трансформировать простое распределение (например, стандартное нормальное распределение) в сложное распределение данных с помощью последовательности детерминированных и обратимых функций.

🧮 Математический аппарат: Замена переменных 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)$ — определитель матрицы Якоби (Якобиан) обратного отображения, отвечающий за изменение объема пространства.

  1. Линейный случай: Если трансформация линейна ($x = Az$), изменение объема определяется определителем матрицы $A$. В этом случае плотность распределения $x$ вычисляется как плотность $z$, деленная на абсолютное значение определителя матрицы $A$.
  2. Нелинейный случай: При использовании нейронных сетей для аппроксимации $f$, необходимо вычислять Якобиан и его определитель. Это позволяет локально линеаризовать функцию и применять ту же логику для контроля нормализации.

🧠 Практическое применение и ограничения 1:17:13

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

💬 Цитаты

«Normalizing Flows — это VAE, где отображение из z в x является детерминированным и инвертируемым.»

Лектор Stanford CS236 41:04

«Диффузионные модели можно интерпретировать как бесконечно глубокие потоковые модели.»

Лектор Stanford CS236 1:17:41
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Normalizing Flows
Класс генеративных моделей, использующих инвертируемые преобразования для трансформации простых распределений в сложные.
Якобиан
Матрица частных производных вектор-функции, используемая для изменения объема при замене переменных.
VAE
Вариационный автокодировщик, использующий латентные переменные и аппроксимацию апостериорного распределения.
Замена переменных
Математический метод изменения плотности вероятности при переходе от одной случайной величины к другой через инвертируемую функцию.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Normalizing Flows Stanford CS236 Deep Generative Models Якобиан