# Курс CS236 в Стэнфорде: как ученые оценивают качество генеративных нейросетей

Источник: https://www.youtube.com/watch?v=MJt_ahtO-to
Канал: Stanford Online
Опубликовано: 06.05.2024

---

Оценка качества генеративных моделей остается одной из самых сложных и дискуссионных тем в области искусственного интеллекта, где до сих пор отсутствует единый консенсус. В рамках лекции курса CS236 в Стэнфордском университете подробно разбираются существующие метрики, их фундаментальные ограничения и практические подходы к измерению эффективности нейросетей — от оценки правдоподобия и теории информации до анализа визуального качества и бенчмарков языковых моделей. Лектор демонстрирует, почему универсального решения этой проблемы не существует, и как исследователи пытаются преодолеть эти барьеры при работе с современными ИИ-архитектурами.

## 🧩 Проблема оценки: почему генеративные модели сложнее дискриминативных
[[JUMP:0:05]]

В области машинного обучения традиционно доминируют дискриминативные модели, предназначенные для решения задач классификации или регрессии. В таких сценариях пространство выходных данных обычно низкоразмерно и просто устроено, а прогресс измеряется понятными инструментами. Исследователи могут легко зафиксировать функцию потерь, отражающую суть решаемой проблемы (например, точность классификации Top-1 или Top-5 в задачах компьютерного зрения), и измерить ее значение на отложенной, невиданной ранее выборке. Это дает четкое представление о том, как модель поведет себя в реальных условиях эксплуатации.

В случае с глубокими генеративными моделями ситуация кардинально меняется, поскольку для них нет единственной, четко определенной задачи. На текущий момент исследователям доступен огромный арсенал архитектур и целевых функций обучения:

* **Авторегрессионные модели и нормализующие потоки**, работающие напрямую с функцией плотности вероятности.
* **Вариационные автокодировщики (VAE)**, использующие аппроксимацию максимального правдоподобия через нижнюю границу обоснованности (ELBO).
* **Энергетические модели (EBM)**, оптимизируемые с помощью контрастивной дивергенции или сопоставления показателей (score matching).
* **Генеративно-состязательные сети (GAN)**, моделирующие непосредственно процедуру сэмплирования и опирающиеся на f-дивергенции и двухвыборочные тесты.
* **Диффузионные и скоринговые модели**, представляющие собой градиент плотности распределения (скор) и обучаемые через дивергенцию Фишера.

Из-за такого разнообразия подходов возникает фундаментальный вопрос: как определить, какая модель лучше справляется с конкретным датасетом? Приоритизация метрик полностью зависит от конечных целей разработчика. По мнению лектора, генеративная модель может обучаться ради точной оценки плотности вероятности, эффективного сжатия данных, извлечения качественных представлений (representation learning) или просто ради генерации эстетически привлекательных, реалистичных изображений. Каждая из этих целей требует принципиально разных подходов к валидации.

## 📦 Плотность вероятности и великая идея сжатия данных
[[JUMP:8:37]]

Если главной целью построения модели является точная оценка плотности распределения, то наиболее естественной метрикой выступает функция правдоподобия. Стандартный протокол оценки в данном случае заключается в разделении данных на обучающую, валидационную и тестовую выборки. Модель обучается на тренировочном наборе, гиперпараметры подбираются на валидационном, а финальное качество измеряется как среднее логарифмическое правдоподобие, приписываемое моделью тестовым данным.

Как подчеркивает лектор, максимизация правдоподобия математически эквивалентна минимизации КЛ-дивергенции, что, в свою очередь, тождественно задаче оптимального сжатия данных. Любую вероятностную модель можно преобразовать в схему сжатия, где длина кодовой строки для конкретной точки данных напрямую зависит от ее вероятности: частые и ожидаемые события получают короткие коды, а редкие — длинные. Историческим примером такого подхода служит азбука Морзе, где наиболее распространенные в английском языке гласные буквы (например, «E» и «A») кодируются кратчайшими сигналами. 

В теории информации средняя длина кода (при отбрасывании требования целочисленности) приблизительно равна отрицательному логарифму правдоподобия. Хотя классические коды Шеннона или Хаффмана вычислительно сложны для больших систем, существуют эффективные алгоритмы, такие как арифметическое кодирование (arithmetic coding), позволяющие создавать практические и высокопроизводительные системы сжатия на базе глубоких нейросетей. Именно поэтому в современных работах по большим языковым моделям (LLM) для сравнения их качества используется метрика перплексии (perplexity), которая представляет собой масштабированную версию логарифмического правдоподобия.

Связь между сжатием и интеллектом носит фундаментальный характер. Единственный способ эффективно сжать информацию — это найти в ней скрытые закономерности, избыточность и структуру. Лектор приводит аналогию с физическими законами: закон Ньютона $F = ma$ можно рассматривать как форму сжатия данных. Вместо того чтобы хранить бесконечную таблицу значений сил и ускорений, достаточно записать лаконичное уравнение и значения одной из переменных, полностью восстанавливая вторую.

В ИТ-сообществе эта гипотеза подкреплена существованием премии Хуттера (Hutter Prize) с призовым фондом в полмиллиона долларов за лучшее сжатие Википедии. Организаторы премии утверждают, что способность к сжатию текста напрямую отражает уровень понимания смыслов и является жизнеспособным путем к созданию сильного искусственного интеллекта (AGI). 

Интересно сравнить успехи нейросетей с человеческими возможностями. В классических экспериментах Клода Шеннона было установлено, что люди, обладая колоссальным жизненным контекстом, предсказывают следующий символ в английском тексте с неопределенностью около 1.2–1.3 бита на символ. По словам лектора, современные большие языковые модели, обученные на текстовых корпусах, уже превзошли этот показатель, достигая уровня сжатия в 0.94 бита на символ на данных Википедии.

Тем не менее, у метрик, основанных на сжатии и правдоподобии, есть два критических изъяна:

1.  **Неравноценность битов информации.** С точки зрения КЛ-дивергенции, бит данных, кодирующий критически важную для выживания ситуацию, весит ровно столько же, сколько бит, описывающий завтрашний дождь. На уровне отдельных пикселей модель может тратить огромный объем своего ресурса на кодирование незначительных шумов фона или едва заметных изменений цвета, полностью игнорируя высокоуровневую семантику и метки объектов.
2.  **Вычислительная несравнимость.** Множество популярных моделей (включая GAN и энергетические модели) вообще не позволяют рассчитать точное аналитическое правдоподобие для заданного объекта.

## 🧮 Оценка неявных моделей: приближение правдоподобия и KDE
[[JUMP:22:16]]

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

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

Более продвинутым и сглаженным методом является оценка плотности ядра (Kernel Density Estimation, KDE). При вычислении плотности для новой тестовой точки $x$ алгоритм проверяет ее сходство со всеми доступными сэмплами модели при помощи специальной функции ядра $K$. Формула учитывает параметр ширины полосы пропускания (bandwidth) $\sigma$, который масштабирует расстояние между точками:

$$\hat{p}(x) = \frac{1}{n \sigma^d} \sum_{i=1}^n K\left(\frac{x - x_i}{\sigma}\right)$$

Чаще всего в качестве ядра используется функция Гаусса. Математически это эквивалентно размещению небольших гауссиан над каждым сэмплом и их последующему суммированию. Значение плотности будет высоким там, где точки расположены близко друг к другу. Ширина полосы $\sigma$ критически важна:

* Если значение $\sigma$ слишком мало, модель недоглажена (under-smoothed) и кривая получается изрезанной, со множеством локальных пиков вокруг сэмплов.
* Если $\sigma$ слишком велико, распределение переглажено (over-smoothed), все детали стираются, и аппроксимация теряет связь с реальной структурой данных.

Оптимальное значение $\sigma$ подбирается с помощью кросс-валидации (метод исключения части сэмплов). К сожалению, лектор констатирует, что метод KDE становится абсолютно ненадежным в пространствах высокой размерности. Из-за проклятия размерности требуется экспоненциально большое количество сэмплов, чтобы покрыть все пространство, поэтому для оценки качества генерации изображений KDE неприменим.

Для вариационных автокодировщиков (VAE) существуют свои методы точной оценки правдоподобия, такие как многошаговая выборка по значимости (Annealed Importance Sampling, AIS). Этот алгоритм строит последовательность промежуточных распределений, плавно интерполируя между простым априорным распределением $p(z)$ и сложным истинным апостериорным распределением, что позволяет существенно снизить дисперсию оценки логарифмического правдоподобия.

## 👥 Человеческий фактор: золото и проклятие визуальной оценки
[[JUMP:34:25]]

Когда речь заходит об оценке качества генерации изображений или звука, вовлечение людей-экспертов традиционно считается «золотым стандартом». Ни одна автоматическая метрика не способна уловить мелкие артефакты (например, некорректно прорисованные пальцы на руках) так, как это делает человеческий глаз.

В научном сообществе ведутся активные поиски методологически строгих подходов к сбору обратной связи от людей. Исследователи из Стэнфордского университета предложили оригинальный протокол перцептивной оценки, основанный на когнитивной психологии. Вместо простого вопроса «нравится ли вам картинка», они измеряют время, которое требуется человеку для того, чтобы гарантированно отличить сгенерированное изображение от реального.

Процесс устроен следующим образом:

1.  Оценщику демонстрируют изображение в течение жестко ограниченного времени, начиная, например, с 500 миллисекунд. При таком тайминге люди обычно безошибочно находят подвох.
2.  Время демонстрации постепенно сокращают. На отметке около 300 миллисекунд фиксации взгляда люди начинают путаться и перестают четко отличать фейк от оригинала.
3.  Временной порог, при котором точность распознавания падает, фиксируется как специфическая метрика качества модели (Hype Time Score). Чем дольше человеку приходится всматриваться в картинку для выявления обмана, тем выше качество работы генеративной сети.

Второй классический метод — это подсчет чистого процента сэмплов, которые успешно обманывают аудиторию, даже если людям предоставлено неограниченное время на изучение деталей.

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

## 🤖 Автоматические метрики качества изображений: IS, FID и KID
[[JUMP:40:15]]

Чтобы преодолеть ограничения человеческого фактора, разработчики создали ряд автоматических прокси-метрик, ставших стандартом в академической литературе.

### Inception Score (IS)
Эта метрика применяется для размеченных датасетов, где у каждого изображения есть класс. Метод опирается на использование сторонней предобученной сети-классификатора (как правило, Inception Net на ImageNet) для анализа распределения предсказанных меток на синтетических изображениях. 

Inception Score оценивает два ортогональных параметра:

1.  **Четкость (Sharpness).** Метрика проверяет, насколько классификатор уверен в своих предсказаниях для каждого конкретного сгенерированного изображения. Если энтропия предсказания низкая (модель четко говорит: «это собака» с вероятностью 99%), значит, изображение получилось резким и узнаваемым. Напротив, размытые и некачественные сэмплы вызывают у классификатора замешательство и высокую энтропию.
2.  **Разнообразие (Diversity).** Оценивается маргинальное распределение классов по всей выборке сгенерированных картинок. Разработчики стремятся к тому, чтобы это распределение имело высокую энтропию и стремилось к равномерному. Если модель страдает от коллапса мод (mode collapse) и генерирует, к примеру, только единицы из всего датасета MNIST, маргинальная энтропия упадет, сигнализируя о проблеме.

Итоговый Inception Score рассчитывается как экспонента от среднего расстояния Кульбака — Лейблера между условным и маргинальным распределениями (фактически, перемножение показателей четкости и разнообразия). Главная слабость IS заключается в том, что он оценивает только синтетическую выборку и вообще никогда не сравнивает ее напрямую с реальными историческими данными. Модель также может демонстрировать высокий балл, если она генерирует лишь по одному идеальному представителю каждого класса, полностью упуская внутреннее разнообразие внутри самих кластеров.

### Fréchet Inception Distance (FID)
Для устранения недостатков IS был разработан индекс FID, который напрямую сопоставляет характеристики реальной (тестовой) выборки и сгенерированных сэмплов. Схема расчета выглядит следующим образом:

1.  Обе группы картинок пропускаются через промежуточный слой предобученной сети Inception Net, где из них извлекаются высокоуровневые векторы признаков. На этом уровне фиксируются абстрактные свойства: наличие объектов, их взаимное расположение, текстуры и геометрия.
2.  К полученным массивам признаков реальных и фейковых данных принудительно подгоняются многомерные гауссианы. Каждое распределение описывается своими векторами средних значений ($\mu_r, \mu_g$) и матрицами ковариации ($\Sigma_r, \Sigma_g$).
3.  Между этими двумя абстрактными гауссианами вычисляется расстояние Вассерштейна-2 (также известное как расстояние Фреше), которое имеет изящный закрытый математический вид:

$$d^2 = \|\mu_r - \mu_g\|^2 + \text{Tr}(\Sigma_r + \Sigma_g - 2(\Sigma_r\Sigma_g)^{1/2})$$

Чем ниже значение FID, тем ближе синтетическое распределение к реальному, что свидетельствует о высоком качестве модели. Лектор замечает, что использование многомерного Гаусса — это скорее вычислительный компромисс ради получения замкнутой формулы, нежели строгое математическое требование к природе признаков. Стоит помнить о законе Гудхарта: как только FID начинают внедрять непосредственно в функцию потерь при обучении в качестве вспомогательного лосса, метрика мгновенно теряет свою объективность как независимый инструмент оценки.

### Kernel Inception Distance (KID)
Метрика KID представляет собой более строгое развитие идей FID. Вместо сомнительного предположения о гауссовости распределения признаков, KID применяет классический двухвыборочный тест на основе максимального среднего отклонения (Maximum Mean Discrepancy, MMD) в гильбертовом пространстве. Посредством ядерного трюка (kernel trick) KID попарно сопоставляет среднее сходство между реальными объектами, среднее сходство между фейковыми объектами и сравнивает их со средним перекрестным сходством реального и фейкового сэмплов. Если распределения идентичны, итоговое значение MMD обращается в ноль. KID математически более состоятелен, однако его расчет обходится значительно дороже: он имеет квадратичную вычислительную сложность $O(n^2)$ от размера выборки против линейной сложности у FID.

При оценке современных комплексных систем вроде Text-to-Image (генерация картинок по текстовому описанию) базовых метрик FID/KID уже недостаточно. Исследователям приходится отслеживать семантическое соответствие картинки текстовому промпту, пространственное мышление (spatial reasoning) модели, уровень токсичности, заложенные социальные предвзятости (biases) и оригинальность контента. Для этих целей в Стэнфорде был разработан комплексный открытый бенчмарк HEIM (Holistic Evaluation of Text2Image Models), предлагающий наиболее всестороннее тестирование существующих коммерческих и академических диффузионных систем по десяткам метрик одновременно.

## 🔍 Оценка скрытого пространства: кластеризация, сжатие и распутывание
[[JUMP:58:56]]

В задачах обучения без учителя (unsupervised learning) генеративные модели часто строятся ради получения качественных низкоразмерных латентных представлений данных. Если у разработчика есть конкретная прикладная задача (например, классификация), то качество признаков измеряется просто — по качеству работы финального классификатора, обученного на этих скрытых векторах. Но если явной задачи нет, оценка превращается в тернистый путь, лишенный объективных ориентиров.

В таких сценариях исследователи обращают внимание на три аспекта:

### 1. Качество кластеризации
Точки данных проецируются в скрытое пространство модели, после чего к ним применяется простой алгоритм группировки, например, K-Means. На размеченных датасетах (вроде MNIST) можно временно «спрятать» метки классов от модели, построить латентное пространство, провести кластеризацию, а затем с помощью реальных меток оценить структуру получившихся групп через метрики полноты (completeness), однородности (homogeneity) и V-меру (V-measure). Визуальный анализ латентного пространства разных моделей (например, сравнение условных моделей «B» и «D» на MNIST) часто показывает, что обе структуры выглядят репрезентативно, и выбор лучшей из них неочевиден без жестких математических тестов.

### 2. Сохранение информации и реконструкция
Модель оценивается по тому, насколько успешно она способна упаковать объект в латентный код, а затем восстановить его обратно без критической потери качества. Это сфера применения так называемого сжатия с потерями (lossy compression). Генеративные модели демонстрируют здесь феноменальные результаты. В то время как классический алгоритм JPEG при сжатии изображения в 17 раз начинает демонстрировать заметные визуальные артефакты, латентные векторы продвинутых генеративных моделей обеспечивают сжатие данных в 90 раз, сохраняя при этом высокое качество реконструкции, измеряемое через метрики MSE, PSNR или SSIM.

### 3. Распутывание представлений (Disentanglement)
Идеальное скрытое пространство должно быть «распутанным» — это значит, что отдельные внутренние переменные латентного вектора должны отвечать за независимые, интерпретируемые человеком физические факторы вариации данных. В модели генерации лиц изменение переменной $z_1$ должно строго менять только цвет кожи, переменная $z_2$ — отвечать за возраст, а $z_3$ — регулировать размер объектов или угол поворота головы. Для измерения этого свойства созданы специализированные библиотеки и метрики (например, точность линейного классификатора факторов).

> **Важное теоретическое ограничение:** Лектор особо подчеркивает доказанный математический факт — в строгом смысле невозможно гарантированно обучить полностью распутанную генеративную модель, имея в распоряжении исключительно неразмеченные данные. Любые эмпирические успехи в этой области до сих пор остаются сомнительными с точки зрения чистой теории и не имеют под собой жесткого фундаментального обоснования.

## 💬 Эра языковых моделей: промптинг против файн-тюнинга
[[JUMP:1:08:31]]

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

Использовать этот потенциал напрямую для решения прикладных задач (например, анализа тональности отзывов на фильмы) можно двумя путями:

1.  **Промптинг и prompt-engineering.** Контекст задачи формулируется на естественном языке. Модели подается инструкция, несколько примеров (few-shot prompting) и целевой текст, оканчивающийся двоеточием и пустым местом. Модель, продолжая текст согласно своей базовой логике, генерирует слово «положительный» или «отрицательный», тем самым решая задачу классификации без изменения внутренних весов. Главный плюс промптинга — абсолютная доступность для пользователя. Это «черный ящик», не требующий навыков программирования и вычислительных мощностей.
2.  **Тонкая настройка (Fine-tuning).** Модель дообучается на специфическом наборе данных с изменением весовых коэффициентов. Этот путь обеспечивает более высокую точность на узких доменах, однако барьер входа здесь значительно выше — требуются серьезные инженерные компетенции, доступ к GPU и подготовленные датасеты.

Для глобальной оценки текстовых моделей индустрия перешла от перплексии к масштабным комплексным бенчмаркам. Среди них выделяются стэнфордский проект HELM (Holistic Evaluation of Language Models) и глобальный краудсорсинговый бенчмарк BIG-bench от компании Google, содержащий более 200 разноплановых задач — от решения математических уравнений до разгадывания логических загадок.

В завершение лекции спикер отмечает, что аналогичные подходы начинают проникать и в мир генерации изображений. Чтобы заставить диффузионную модель выдавать не просто среднестатистические картинки из интернета, а эстетически безупречные, безопасные и этически корректные кадры, исследователи активно собирают данные о человеческих предпочтениях (preference data). Пользователям демонстрируют два варианта генерации на один промпт и фиксируют их выбор. На основе этих парных сравнений диффузионные модели дообучаются, подстраиваясь под внутренние стандарты человеческого восприятия.