Авторегрессионные модели: от рекуррентных сетей к трансформерам и MLE

Stanford Online 32,3 тыс. 1 ч 23 мин 3 мин 06.05.2024
Главное

В рамках курса CS236 Стэнфордского университета (Stanford University) прошла лекция, посвященная принципам обучения глубоких генеративных моделей. Основное внимание было уделено переходу от рекуррентных архитектур к трансформерам, а также фундаментальному методу обучения — максимизации правдоподобия (Maximum Likelihood Learning).

🧠 От RNN к механизмам внимания в авторегрессионных моделях 0:05

В начале лекции спикер напомнил о базовом принципе авторегрессионных моделей: последовательном предсказании каждого следующего элемента на основе предыдущего контекста. Рекуррентные нейронные сети (RNN) долгое время были стандартом, используя скрытый вектор $H$ для суммирования всей истории. Однако RNN обладают критическими недостатками :

Решением стал механизм внимания (Attention), используемый в современных LLM вроде GPT-4 и Llama. Вместо сжатия истории в один вектор, модель напрямую «смотрит» на все предыдущие скрытые состояния .

Ключевые концепции внимания:

🖼️ Авторегрессия в мире изображений 10:35

Авторегрессионный подход применим не только к тексту, но и к изображениям, если рассматривать их как последовательность пикселей (обычно слева направо, сверху вниз) .

В моделях типа PixelCNN обучение строится на предсказании каналов RGB. Для этого используется маскирование: при предсказании красного (R) канала модель не должна «видеть» зеленый (G) и синий (B) текущего пикселя. Маскирование реализуется через обнуление определенных весов в сверточных ядрах .

Интересным применением таких моделей является детекция аномалий и защита от состязательных атак (adversarial attacks). Было показано, что PixelCNN присваивает оригинальным изображениям высокую вероятность, а изображениям с едва заметным «состязательным шумом» — значительно более низкую . Это доказывает, что модель действительно понимает тонкую структуру данных, а не просто копирует их.

📏 Обучение через максимизацию правдоподобия 30:38

Основная задача обучения — найти параметры нейросети $\theta$, которые сделают модельную дистрибуцию $P_\theta$ максимально близкой к реальному распределению данных $P_{data}$.

Главная проблема здесь — колоссальная размерность . Спикер привел пример с изображениями из датасета MNIST (28x28 пикселей). Даже при работе с бинарными пикселями существует $2^{784}$ возможных комбинаций. Это число ($10^{236}$) на много порядков превышает количество атомов во вселенной. Покрытие данных всегда будет разреженным, что делает задачу оценки плотности фундаментально сложной.

В качестве критерия близости распределений используется дивергенция Кульбака — Лейблера (KL-divergence). Она имеет информационно-теоретическую интерпретацию: KL-дивергенция показывает, насколько неэффективным будет сжатие данных, если мы используем код, оптимизированный под ошибочное распределение $Q$ вместо истинного $P$ .

Математически минимизация KL-дивергенции эквивалентна методу максимального правдоподобия (Maximum Likelihood Estimation, MLE) . На практике это означает:

  1. Мы берем обучающий датасет.
  2. Считаем логарифм вероятности, которую наша модель присваивает этим данным.
  3. Меняем веса сети так, чтобы эта вероятность росла.

🎲 Метод Монте-Карло и оптимизация 1:00:21

Поскольку мы не знаем истинного распределения $P_{data}$, мы заменяем теоретическое ожидание эмпирическим средним по выборке. Это классическая оценка Монте-Карло :

Для масштабирования на огромные датасеты используется стохастический градиентный спуск (SGD) или мини-батчи: градиенты вычисляются не по всей базе данных сразу, а по небольшим случайным подгруппам образцов .

⚖️ Проблема переобучения: смещение и дисперсия 1:18:01

В завершение лекции спикер затронул проблему обобщающей способности (generalization). Если модель слишком сложная, она может просто «запомнить» датасет (overfitting), что приведет к плохим результатам на новых данных.

Два полюса ошибок :

  1. Bias (Смещение): Модель слишком проста (например, линейная функция для сложных данных) и не может уловить закономерность.
  2. Variance (Дисперсия): Модель слишком гибкая (полином высокой степени) и начинает реагировать на шум в данных.

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

💬 Цитаты

«Знание распределения, которое генерирует данные, крайне полезно для сжатия.»

Лектор Стэнфорда 43:01

«Если существует X, возможный в реальности, но ваша модель присваивает ему нулевую вероятность, вы получите бесконечные потери.»

Лектор Стэнфорда 53:45
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Авторегрессионная модель
Модель, которая предсказывает будущие значения на основе предыдущих значений в последовательности.
KL-дивергенция
Математическая мера того, насколько одно распределение вероятностей отличается от другого.
Метод Монте-Карло
Численный метод решения задач с помощью моделирования случайных величин.
Состязательная атака (Adversarial attack)
Внесение минимальных, незаметных для человека изменений в входные данные, которые заставляют модель ошибаться.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Stanford University Maximum Likelihood Estimation Transformer Recurrent Neural Networks PixelCNN