Содержание курса 21 / 33

21 / 33 · Оценка качества

Оценка генеративных моделей людьми

Как спрашивать людей о сгенерированных сэмплах, чтобы ответы что-то значили: тесты «настоящее или сгенерированное» и протокол HYPE, попарные предпочтения и модель Брэдли–Терри (Эло), абсолютные оценки и соответствие запросу — со статистикой, которая говорит, сколько суждений нужно для вывода.

На этой странице 11

IS, FID, точность и полнота заменяют человека, смотрящего на изображения, сетью, смотрящей на признаки. Они дёшевы и воспроизводимы и наследуют слепые пятна сети: экстрактор признаков, обученный классифицировать ImageNet, видит не всё, что видит человек. На этом закончилась предыдущая заметка. Эта возвращается к человеку. Качество сгенерированного изображения в конечном счёте — то, что воспринимают люди, поэтому человеческое суждение — эталон, по которому проверяют автоматические метрики. Оно же шумно, дорого и легко собирается плохо. Заметка разбирает, что спрашивать, как превращать ответы в числа и сколько ответов нужно для вывода.

Обозначения. nn суждений, kk из них — определённого рода (например, ошибки), наблюдаемая доля p^=k/n\hat p = k / n. В попарном сравнении A≻BA \succ B означает, что A предпочли B, а sAs_A — оценка варианта A.

Что можно спросить#

Четыре вопроса покрывают большинство оценок генеративных моделей людьми:

ВопросЧто видит оценщикКакое число сообщаютЧто измеряет
Настоящее или сгенерированное?одно изображение или настоящее и сгенерированноедоля обманутых или доля ошибок на сбалансированном наборереалистичность
Какое из двух лучше?выходы двух моделей на один и тот же входдоля побед, оценки Брэдли–Терри или Элоотносительное предпочтение
Насколько хорошо?один выходсредняя оценка по фиксированной шкале (MOS)абсолютное качество
Соответствует ли входу?запрос и выходдоля соответствующих выходов или доля победсоответствие условию

Первый вопрос просит оценщика что-то обнаружить, остальные — высказать мнение. У обнаружения в каждом испытании есть правильный ответ, поэтому его проще проверить и откалибровать.

Настоящее или сгенерированное#

Показать изображение и спросить, настоящее ли оно. Доля обманутых (fool rate) — доля сгенерированных изображений, признанных настоящими. Если люди не могут различить и угадывают с равными шансами, она приближается к 50%. Но она учитывает только сгенерированные изображения и потому зависит ещё и от того, насколько охотно оценщик отвечает «настоящее»: оценщик, который называет настоящим каждое изображение, получает долю обманутых 100%, даже не глядя. Сравнение с 50% только по сгенерированным изображениям поэтому предполагает несмещённое угадывание. Если добавить столько же настоящих изображений и считать долю ошибок (error rate) по всем, это смещение ответов уходит: оценщик, всегда отвечающий «настоящее», ошибается на каждом сгенерированном и прав на каждом настоящем — ровно 50% ошибок. Это два разных числа, и смешивать их нельзя. Ранний пример — LAPGAN (Denton et al., 2015): его сэмплы CIFAR-10 принимали за настоящие примерно в 40% случаев, а сэмплы базового GAN — примерно в 10%.

HYPE (Zhou et al., 2019) стандартизирует протокол. Каждый оценщик видит 100 изображений, 50 настоящих и 50 сгенерированных, в случайном порядке и помечает каждое. HYPE∞ — доля ошибок по всем им при неограниченном времени просмотра: неверно оценённые сгенерированные плюс неверно оценённые настоящие, делённые на 100. 50% означает, что оценщик угадывает наугад; выше 50% сгенерированные изображения выглядят реалистичнее настоящих. HYPE time показывает каждое изображение лишь мгновение, от 100 до 1000 мс, и подстраивает экспозицию лестницей: верные ответы её укорачивают, неверные удлиняют; оценка — время экспозиции, которое нужно оценщикам, чтобы отличить сгенерированное от настоящего, так что чем дольше, тем реалистичнее. Один запуск использует 30 оценщиков. В статье StyleGAN на FFHQ, сэмплируемый с трюком усечения, получает HYPE∞ 27.6% против 19.0% без усечения: усечение меняет разнообразие на типичные, реалистичные лица — это сторона точности в компромиссе из предыдущей заметки.

Разобранный пример: отличаются ли 38% от случайности?#

В сбалансированном тесте, 100 настоящих и 100 сгенерированных изображений, оценщики делают 76 ошибок в 200 суждениях, так что доля ошибок p^=0.38\hat p = 0.38. Обычный интервал p^±1.96p^(1−p^)/n\hat p \pm 1.96\sqrt{\hat p(1 - \hat p)/n} ведёт себя плохо около 0 и 1 и при малых nn; интервал Уилсона (Wilson, 1927) вместо этого обращает score-тест:

p^+z22n1+z2n  ±  z1+z2np^(1−p^)n+z24n2,z=1.96.\frac{\hat p + \frac{z^2}{2n}}{1 + \frac{z^2}{n}} \;\pm\; \frac{z}{1 + \frac{z^2}{n}} \sqrt{\frac{\hat p(1 - \hat p)}{n} + \frac{z^2}{4n^2}}, \qquad z = 1.96 .

Здесь центр равен (0.38+0.0096)/1.0192=0.382(0.38 + 0.0096)/1.0192 = 0.382, а полуширина — 1.923⋅0.001178+0.000024=0.0671.923 \cdot \sqrt{0.001178 + 0.000024} = 0.067, так что 95%-й интервал — [0.316,0.449][0.316, 0.449]. Он не содержит 0.5: оценщики способны отличить эти изображения от настоящих. Точный биномиальный тест 76 из 200 против p=0.5p = 0.5 даёт p≈0.0008p \approx 0.0008. Оба расчёта считают 200 суждений независимыми испытаниями с одной общей вероятностью ошибки. Суждения одного оценщика или об одном изображении коррелированы, поэтому в реальном исследовании интервал шире: его следует получать перевыборкой оценщиков и изображений как кластеров или из модели с эффектами оценщиков и изображений. Числа здесь — идеализированный ориентир. Ширина важна не меньше центра. Она убывает как 1/n1/\sqrt n:

Рисунок

Сколько суждений нужно для точности ±0.05

Ширина доверительного интервала и число сужденийУбывающая кривая от ±0.26 при 10 суждениях до ±0.018 при 3000. Отмечены 100 суждений (±0.096), 200 (±0.069) и 783 (±0.035).00.10.20.3103010030010003000число суждений n (логарифмическая шкала)± полуширина 95% интервала100 суждений, ±0.096200: пример в тексте, ±0.069783: 0.45 против 0.5, ±0.035Ширина доверительного интервала и число сужденийУбывающая кривая от ±0.26 при 10 суждениях до ±0.018 при 3000. Отмечены 100 суждений (±0.096), 200 (±0.069) и 783 (±0.035).00.10.20.3103010030010003000число суждений n (логарифмическая шкала)± полуширина 95% интервалаn = 100, ±0.096n = 200, ±0.069n = 783, ±0.035
Полуширина 95%-го интервала Уилсона для доли ошибок около 0.5 в зависимости от числа суждений. Она убывает как 1/√n: 200 суждений дают ±0.069, чтобы сократить её вдвое, нужно вчетверо больше. Отличить модель с долей ошибок 45% на сбалансированном наборе от неотличимой от данных (50%) с мощностью 0.8 позволяют лишь около 783 независимых суждений.

Сколько суждений нужно для сравнения#

Чтобы отличить модель с истинной долей ошибок 0.45 на сбалансированном наборе от модели, неотличимой от данных (0.5), двусторонним тестом на уровне 5% и с вероятностью 0.8 обнаружить разницу, нужен объём выборки

n=(z0.975p0q0+z0.8p1q1)2(p1−p0)2=(1.96⋅0.5+0.842⋅0.497)20.052≈783,n = \frac{\big(z_{0.975}\sqrt{p_0 q_0} + z_{0.8}\sqrt{p_1 q_1}\big)^2}{(p_1 - p_0)^2} = \frac{\big(1.96 \cdot 0.5 + 0.842 \cdot 0.497\big)^2}{0.05^2} \approx 783,

где p0=0.5p_0 = 0.5, p1=0.45p_1 = 0.45 и q=1−pq = 1 - p. Исследование со 100 суждениями на модель может обнаружить лишь большие различия; малые требуют сотен и тысяч. Формула снова предполагает независимые суждения; суждения одного оценщика или об одном изображении не независимы, что увеличивает это число ещё больше. Поэтому 783 — идеализированный ориентир, а не гарантированный объём исследования.

Какое из двух лучше#

На абсолютные вопросы трудно отвечать последовательно; сравнения проще. Показывают два выхода на один вход, по одному от каждой модели, и спрашивают, какой лучше. Множество таких голосов по многим парам моделей сводит модель Брэдли–Терри (Bradley and Terry, 1952): у каждого варианта есть оценка, и

P(A≻B)=11+e−(sA−sB).P(A \succ B) = \frac{1}{1 + e^{-(s_A - s_B)}} .

Оценки подбираются максимизацией правдоподобия по всем наблюдённым голосам, так что модели, которые напрямую не сравнивались, ставятся на одну шкалу через общих соперников. Шкала Эло — та же модель в других единицах: с рейтингами R=400 s/ln⁡10R = 400\, s / \ln 10

P(A≻B)=11+10−(RA−RB)/400.P(A \succ B) = \frac{1}{1 + 10^{-(R_A - R_B)/400}} .

Разобранный пример. Модель A выигрывает 60% сравнений с B. Тогда 10d/400=0.6/0.4=1.510^{d/400} = 0.6 / 0.4 = 1.5 и d=400log⁡101.5=70.4d = 400 \log_{10} 1.5 = 70.4 пункта Эло. Если B так же выигрывает у C, то A на 140.9140.9 пункта выше C, и модель предсказывает, что A выиграет у C с вероятностью 1.52/(1.52+1)=0.6921.5^2/(1.5^2 + 1) = 0.692, хотя их никто не сравнивал. Эта транзитивность — предположение модели: если голоса ей противоречат, как предпочтения в «камень–ножницы–бумаге», подгонка плоха, и оценки вводят в заблуждение.

Рисунок

Модель Брэдли–Терри на шкале Эло

Вероятность выигрыша и разность рейтинговS-образная кривая от 0.09 при d = −400 до 0.91 при d = 400, равная 0.5 при d = 0. Отмечены d = 70.4 с вероятностью 0.60 и d = 140.9 с вероятностью 0.69.00.250.50.751-400-2000200400разность рейтингов dP(A лучше B)A против B: 0.60A против C: 0.69Вероятность выигрыша и разность рейтинговS-образная кривая от 0.09 при d = −400 до 0.91 при d = 400, равная 0.5 при d = 0. Отмечены d = 70.4 с вероятностью 0.60 и d = 140.9 с вероятностью 0.69.00.250.50.751-400-2000200400разность рейтингов dP(A лучше B)A против B: 0.60A против C: 0.69
Вероятность того, что вариант A предпочтут варианту B, как функция разности их рейтингов: 1 / (1 + 10^(−d/400)). Модель A, выигрывающая у B в 60% сравнений, на 70.4 пункта выше. Если B так же выигрывает у C, то A на 140.9 пункта выше C, и модель предсказывает, что A выиграет у C в 69% сравнений, хотя эту пару никто не сравнивал.

Публичные арены применяют это в масштабе: пользователь отправляет запрос, видит два анонимных выхода, голосует, и оценки пересчитываются. Chiang et al. (2024) описывают Chatbot Arena для языковых моделей; GenAI-Arena (Jiang et al., 2024) делает то же для генерации изображений и видео. Та же модель, подогнанная к предпочтениям разметчиков, — модель вознаграждения в RLHF, а заметка об оценке LLM разбирает арены для текста.

Насколько хорошо и соответствует ли#

Абсолютные оценки. Оценщик ставит одному выходу балл по фиксированной шкале, обычно от 1 до 5, а средняя экспертная оценка (mean opinion score, MOS) усредняет баллы. Протокол пришёл из тестирования качества речи (ITU-T P.800) и стандартен для синтеза речи. Его слабость — сама шкала: оценщики пользуются ею по-разному, некоторые никогда не ставят 5, а ориентиры дрейфуют в течение сессии, так что значения MOS сравнимы только внутри одного исследования с теми же оценщиками и инструкциями.

Соответствие условию. Для условных моделей вопрос не только в том, хорошо ли выглядит выход, но и в том, то ли это, что просили. Бенчмарки для генерации изображений по тексту фиксируют набор запросов, бьющих по известным слабостям, и просят оценщиков сравнить две модели отдельно по качеству изображения и по соответствию запросу: в DrawBench 200 запросов в 11 категориях (Saharia et al., 2022), в PartiPrompts — больше 1600 (Yu et al., 2022). Подсчёт объектов, пространственные отношения и текст на изображении — то, в чём модели чаще всего расходятся с запросом.

Как сделать суждения надёжными#

Основная работа — в дизайне, а не в статистике:

  • Слепота и рандомизация. Оценщики не знают, какая модель породила выход; порядок испытаний и положение слева или справа в парах случайны.
  • Случайные сэмплы. Выходы берутся со случайными сидами, а не отбираются авторами. Отобранные вручную сэмплы измеряют вкус авторов.
  • Проверки. Испытания с известным ответом (очевидный артефакт, настоящее изображение, показанное дважды) ловят невнимательных оценщиков.
  • Несколько оценщиков на объект и измеренное согласие между ними, например каппа Коэна κ для двух оценщиков (см. заметку об оценке LLM); низкое согласие означает, что вопрос неоднозначен.
  • Фиксированные инструкции и экспозиция. Что значит «реалистично» или «соответствует запросу», определяется на примерах, а время просмотра контролируется, когда это важно, как в HYPE time.
  • Интервалы, а не только средние. Каждая доля или вероятность выигрыша сообщается с доверительным интервалом и числом суждений за ней.

Что изменилось#

Автоматические метрики (IS, FID, точность, полнота)Оценка людьми
Эталонпризнаки предобученной сетичеловеческое восприятие
Стоимость на модельминуты вычисленийчасы оплачиваемой работы
Воспроизводимостьточная, при тех же коде и сэмплахстатистическая, при том же протоколе
Видитто, что кодируют признакито, что замечают люди, включая артефакты, пропущенные признаками
Шумвыборка изображенийвыборка изображений и оценщиков, расхождения оценщиков
Типичное применениекаждый запуск обученияитоговые сравнения, проверка метрик

Ограничения#

  • Дорого и медленно. Она не может сопровождать каждый запуск обучения; она проверяет автоматические метрики и делает итоговые сравнения.
  • Зависит от протокола. Числа, полученные при разных инструкциях, интерфейсах или пулах оценщиков, несравнимы.
  • Оценщики различаются и дрейфуют. Опыт, усталость и порядок испытаний меняют ответы; согласие нужно измерять, а не предполагать.
  • Реалистичность — не всё. Доля ошибок около 50% ничего не говорит о разнообразии: модель, идеально воспроизводящую обучающие изображения, невозможно отличить от данных.
  • Попарные модели предполагают транзитивность. Оценки Брэдли–Терри осмысленны, только если предпочтения примерно согласованы между парами.

Итоги#

  • Четыре вопроса: настоящее или сгенерированное, какое из двух лучше, насколько хорошо и соответствует ли входу.
  • Тесты «настоящее или сгенерированное» сообщают долю обманутых по сгенерированным изображениям, которая зависит от склонности оценщика отвечать «настоящее», или долю ошибок на сбалансированном наборе, где 50% — случайность при любой склонности. HYPE фиксирует протокол: 50 настоящих и 50 сгенерированных изображений на оценщика, неограниченное время (HYPE∞) или адаптивная экспозиция (HYPE time).
  • Доле нужен интервал: 200 независимых суждений дают примерно ±0.07, а отличить 0.45 от 0.5 позволяют около 783; коррелированным суждениям одних и тех же оценщиков нужно больше.
  • Попарные голоса сводит модель Брэдли–Терри; доля побед 60% — это 70.4 пункта Эло.
  • Надёжность даёт дизайн: слепота, рандомизация, случайные сэмплы, проверки, несколько оценщиков и измеренное согласие.

Код#

Ни один ноутбук курса оценку людьми не разбирает. Два вычисления из разобранных примеров:

import math

def wilson(k, n, z=1.96):
    p = k / n
    d = 1 + z * z / n
    centre = (p + z * z / (2 * n)) / d
    half = z / d * math.sqrt(p * (1 - p) / n + z * z / (4 * n * n))
    return centre - half, centre + half

print(wilson(76, 200))                   # (0.316, 0.449)
print(400 * math.log10(0.6 / 0.4))       # 70.4 Elo points for a 60% win rate

Дальше#

Блок об оценке качества на этом заканчивается. Рассмотренные до сих пор модели либо оценивают правдоподобие снизу (VAE), либо обходятся без него (GAN). Нормализующие потоки вычисляют его точно.

Литература#