Введение в латентные переменные: путь к глубоким генеративным моделям 0:05
В пятой лекции курса Stanford CS236 преподаватель рассматривает переход от авторегрессионных моделей к моделям с латентными (скрытыми) переменными. Главная идея заключается в использовании ненаблюдаемых факторов для описания сложных распределений данных, таких как изображения, что позволяет эффективно кластеризовать данные и выделять ключевые признаки.
🧠 Зачем нужны латентные переменные? 2:20
Авторегрессионные модели (RNN, CNN, трансформеры) эффективно работают с правдоподобием, но сталкиваются с рядом ограничений:
- Сложность выбора порядка: Необходимо задавать порядок факторов, что не всегда очевидно.
- Медленная генерация: Данные генерируются последовательно, по одной переменной за раз.
- Отсутствие признаков: Авторегрессионные модели не предоставляют удобного способа извлечения скрытых признаков (unsupervised representation learning).
Латентные модели решают эти проблемы, добавляя переменные $z$, которые отражают факторы вариации в данных, такие как возраст, поза или цвет волос на изображениях. По мнению лектора, это делает семейство моделей более гибким и позволяет проводить классификацию на основе признаков, а не «сырых» пикселей.
📊 Простые модели: от смесей Гауссиан к глубоким нейросетям 17:56
В качестве «разогрева» обсуждается модель смеси Гауссиан (GMM) — классическая латентная модель. В GMM переменная $z$ является категориальной и определяет компонент смеси.
При работе с более сложными данными, например, набором изображений MNIST, эксперт отмечает, что использование глубоких нейронных сетей позволяет моделировать параметры распределения ($μ$ и $\sigma$) как функции от $z$. Хотя это делает процесс обучения сложнее (из-за необходимости оценивать правдоподобие данных), это дает преимущество:
- Гибкость: Вместо ограниченного набора компонент $k$, модель использует непрерывное пространство $z$, действуя как «бесконечная смесь» Гауссиан.
- Автоматическое выделение структур: Модель потенциально находит 의미мые закономерности, хотя это не гарантируется целевой функцией.
📉 Проблема «бесплатного обеда нет»: сложность оценки 41:01
Ключевая трудность заключается в оценке маргинальной вероятности данных $p(x)$ при обучении. Поскольку $z$ не наблюдаемы, необходимо интегрировать по всем возможным значениям $z$:
- Для дискретных переменных это сумма по всем комбинациям, что при 30 бинарных переменных дает $2^{30}$ слагаемых.
- Для непрерывных — интеграл, который крайне сложно вычислить точно.
Для решения этой задачи лектор предлагает использовать методы аппроксимации. Прямое случайное сэмплирование (Uniform Monte Carlo) работает плохо из-за высокой дисперсии. Более эффективный подход — Importance Sampling, где сэмплирование происходит из распределения $q(z)$, которое лучше соответствует данным.
🔍 Оптимизация и доказательство через неравенство Йенсена
Так как нас интересует логарифм вероятности (log-likelihood), возникает разрыв между ожиданием и логарифмом. Лектор поясняет применение неравенства Йенсена, которое позволяет получить нижнюю границу (ELBO — Evidence Lower Bound) для log-marginal probability.
Основные выводы по оптимизации:
- Оптимизация ELBO позволяет улучшать истинную целевую функцию, так как граница является нижней.
- Выбор $q(z)$ напрямую влияет на «плотность» (tightness) границы.
- Идеальным вариантом $q(z)$ является истинное апостериорное распределение $p(z|x)$, но его вычисление обычно требует инверсии нейронной сети, что является сложной задачей.