Генерация против распознавания
Урок объясняет ключевое деление в машинном обучении: распознавать данные и создавать данные — две разные задачи.
Генеративный AI — это модели, которые не отвечают «что изображено», а создают новые данные: картинки, тексты, звук, видео, которых раньше не существовало.
Две большие задачи
Долгое время главным успехом нейросетей было распознавание: показать модели фотографию и получить ответ «это кошка». Такая модель отображает сложный вход в простой выход — из миллиона пикселей в одну метку класса. Если вы проходили наш курс «Компьютерное зрение», вы именно этим и занимались: классификацией и детекцией.
Генерация устроена наоборот. Здесь вход простой (короткий текст или вектор случайных чисел), а выход — сложный: целое изображение из миллионов пикселей. Модель должна не сжать информацию до метки, а наоборот, развернуть короткое описание в богатую, детальную картинку, которой раньше не существовало.
| Свойство | Распознавание | Генерация |
| Вход | картинка | текст или шум |
| Выход | метка / число | новая картинка |
| Направление | сложное → простое | простое → сложное |
| Правильный ответ | один | много допустимых |
Почему «правильных ответов» много
У задачи распознавания обычно один верный ответ: на фото либо кошка, либо нет. У генерации верных ответов бесконечно много. По запросу «рыжий кот на подоконнике» можно нарисовать миллионы разных, но одинаково подходящих картинок. Это меняет всё: модель учится не «угадать единственный ответ», а моделировать распределение всех правдоподобных изображений и доставать из него образцы.
Как работает под капотом
Генеративная модель во время обучения смотрит на огромное количество примеров (например, картинок) и пытается уловить их статистику: какие сочетания пикселей встречаются, а какие — нет. Фотографий реального неба много, а картинок с фиолетовым шахматным небом почти нет, поэтому модель считает первое «вероятным», а второе — «маловероятным».
После обучения мы просим модель сэмплировать — выдать случайный, но правдоподобный образец из выученного распределения. Случайность нужна, чтобы каждый раз получалась новая картинка, а не одна и та же. Именно поэтому при одинаковом промпте, но разном случайном зерне (seed), вы видите разные изображения.
Частые ошибки
- «Модель просто копирует картинки из интернета.» Нет: она хранит не картинки, а статистические закономерности. Прямое копирование возможно лишь как редкий дефект, и его специально стараются устранять.
- «Раз ответов много, любой сойдёт.» Допустимых ответов много, но недопустимых — ещё больше. Шесть пальцев на руке — пример того, как модель выходит за пределы правдоподобного.
- Путать генерацию с поиском. Генератор не ищет похожую картинку в базе — он создаёт новую с нуля.
Где это уже встречалось
Если вы видели, как ChatGPT пишет текст, вы уже наблюдали генеративную модель в действии — просто для другой модальности. Та же логика «учим распределение и сэмплируем» работает и для слов, и для пикселей. Разница лишь в том, что текст рождается по одному токену, а изображение — постепенным расшумлением целиком. Понимание этого общего принципа полезнее, чем запоминание конкретных архитектур: меняются модели, но идея распределения остаётся.
Ещё одно практическое следствие — оценка качества. У распознавания есть точность: совпал ответ с истиной или нет. У генерации «единственной истины» нет, поэтому качество оценивают косвенно: насколько картинки реалистичны и насколько они разнообразны. Эти две метрики иногда конфликтуют — можно сделать очень реалистичные, но однотипные картинки, и наоборот. Хороший генератор силён в обоих измерениях сразу.
Итог
- Распознавание сворачивает сложный вход в простой ответ; генерация разворачивает простой вход в сложный результат.
- У генерации множество правильных ответов, поэтому модель учит распределение и сэмплирует из него.
- Случайность (seed) обеспечивает разнообразие результатов.