C27 · Нейросетевые методы
Генерация и нейросетевое восстановление
Откуда берётся рисунок, когда исходника нет? Разделим семейство допустимых изображений, добавление шума, предсказание и шаг к более чистому состоянию.
Теория
Декодер задаёт семейство возможных изображений
Чтобы построить рисунок, надо задать, какие рисунки вообще допускаются. Наш декодер получает два числа, a и b, и складывает горизонтальный и вертикальный узоры. Получается 256 выходных значений, но независимых направлений изменения всего два. Попробуй получить круг: никакими a и b его не собрать, потому что нужной формы нет в этом семействе.
Такой небольшой управляющий код называют латентным представлением. В обученной системе способ превращения кода в изображение подбирается по данным и обычно нелинеен. Автоэнкодер сначала получает код из известного изображения, а затем восстанавливает его декодером. Генератор может начать с выбранного или случайного кода, без известного оригинала. Сжатие, восстановление и генерация — разные задачи даже при похожем устройстве декодера.
Два числа вместо целого рисунка
Меняй a и b: декодер складывает два заданных узора с этими коэффициентами. Попробуй получить только горизонтальные, только вертикальные и смешанные полосы.
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -2…2
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -2…2
Разобрать выбранную точку
Что показывает график
Малый код ограничивает семейство результатов. Такой декодер не умеет восстановить детали, которых нет в его базисе.
- Латентных координат
- 2
- Значений изображения
- 256
Параметры и подробности
Два числа управляют 256 значениями, но только внутри линейной плоскости из двух заданных рисунков. Это авторский линейный декодер, не VAE/GAN/диффузия. Он не может породить произвольную фотографию.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Зашумление известно; обратное предсказание надо выучить
Прямой диффузионный процесс постепенно добавляет гауссов шум. В стандартной записи задаёт долю нового шума, — произведение . Маргинальный образец можно вычислить прямо из известного и ε. Коэффициенты берутся с квадратными корнями, чтобы согласовать дисперсии.
В этом первом примере чистый рисунок уже известен: ползунок только показывает, как он смешивается с шумом. График отвечает на один вопрос — какими коэффициентами сейчас взвешены сигнал и шум. Отметки t связывают кривые с текущей картинкой. Движение ползунка назад здесь просто пересчитывает известную смесь: это ещё не генерация и не найденный неизвестный исходник.
Прямой путь: добавляем шум
Выбери шаг t. В точке видно, какая часть известного изображения сохранилась и сколько добавил фиксированный гауссов шум.
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -4…4
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -4…4
Разобрать выбранную точку
Что показывает график
Отметки на выбранном шаге t показывают именно те множители, которыми сейчас взвешены известное изображение и шум. Это расписание зашумления, не качество восстановления.
- Сигнал
- Шум
- Сигнал сейчас: 6; 0.8982
- Шум сейчас: 6; 0.4396
На нулевом шаге xₜ=x₀. Далее растёт доля шума. Здесь нет предсказанного шума и обратной генерации: это только математически заданное зашумление.
- Шаг t
- 6
- ᾱₜ
- 0.8068
Параметры и подробности
β растёт линейно от 0,01 до 0,12 за 12 шагов; ᾱ — произведение (1−β). Для сравнения t используем один фиксированный гауссов образец: каждый кадр имеет нужное условное распределение, но это не пошаговая марковская траектория. Обратной обученной модели здесь нет.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Как идти обратно без известного оригинала
В генерации неизвестно, какой рисунок скрывается в шуме: заранее правильного исходника нет. Нужен предсказатель, который использует изученные закономерности и оценивает чистый сигнал или шум. Отдельный сэмплер использует эту оценку для одного шага. Новый шаг даёт новое состояние, на котором предсказатель запускается снова. Поэтому нельзя заменить всю процедуру одним вычитанием заранее известного шума.
Здесь вместо большой сети полностью открытый словарь из двух рисунков. Формула Байеса вычисляет, насколько каждый совместим с текущим состоянием; их взвешенная смесь даёт оценку чистого рисунка. Косинусное расписание начинает с чистого шума и за 12 детерминированных шагов уменьшает его долю. Это отдельное расписание, не продолжение короткой прямой смеси выше. Все оценки пересчитываются из текущего состояния, а скрытого правильного ответа в коде нет.
Из шума: предсказание и обратный шаг
Увеличивай число шагов. Слева состояние перед последним шагом, справа его результат. Три видимых этапа раскрывают предсказанный чистый рисунок, оценённый шум и их новую смесь. Нажми клетку: два вклада в центре должны дать её значение справа. Начальный шум доступен отдельно и остаётся тем же при одном варианте.
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -4…4
- Из текущего значения оценить остаточный шум
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -4…4
Разобрать выбранную точку
Что показывает график
На первых шагах оценки могут быть неопределённой смесью. По мере уменьшения шума один кандидат начинает преобладать. Смена начального шума может поменять результат. Предсказатель знает словарь, но не знает скрытый правильный оригинал; это генерация внутри объявленного маленького семейства, а не восстановление реального снимка.
- Выполнено шагов
- 4
- Оставшийся t
- 8
- Вес рисунка A
- 0
- Вес рисунка B
- 1
Параметры и подробности
Здесь известен только словарь из двух рисунков, а не скрытый правильный оригинал. По формуле Байеса вычисляем их веса для текущего зашумлённого состояния и оцениваем чистый рисунок. Детерминированный шаг переносит оценённый сигнал и остаточный шум на меньшее t. Это открытая двухобразная учебная модель с косинусным расписанием, не обученная сеть и не генерация фотографий. Двенадцать конечных шагов не доказывают точное воспроизведение заданного распределения.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Как это связано с настоящими генераторами
Справка и следующие методы
Latent diffusion зашумляет сжатое представление и затем декодирует его. U-Net и DiT — разные архитектуры предсказателя, а не два названия расписания шума: DiT обрабатывает латентные патчи трансформером. Авторегрессионная модель, напротив, предсказывает следующий элемент или токен по предыдущим. Эти семейства не надо смешивать в один «магический фильтр».
Условие — например, текст, класс или известная часть изображения — меняет предпочтение возможных результатов. Guidance усиливает влияние условия, но может менять разнообразие и артефакты. VAE обучает распределение сжатого кода; GAN обучает генератор с обратной связью от различителя. Эти семейства нужны для дальнейшего чтения: примеры выше показывают ограниченное семейство и шаг сэмплера, но не имитируют обучение этих моделей.
Восстановление должно согласоваться с измерением
При восстановлении, в отличие от свободной генерации, есть наблюдение, которому ответ обязан соответствовать. Но одному размытому или уменьшенному измерению могут соответствовать разные подробные исходники. Предположение модели, prior, выбирает среди них правдоподобные варианты. Ни это слово, ни высокая резкость не превращают непроверенную деталь в факт: ниже разные клетчатые рисунки дают буквально одинаковые средние блоков.
Два разных исходника — одно измерение
Камера сохранила только среднее каждого блока 2×2: это измерение слева. Сдвигай ползунок детали от −1 к +1. Рисунок справа изменится, но измеренное среднее каждого блока останется прежним. Разбор выбранного блока позволяет проверить это численно.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Разобрать выбранную точку
Что показывает график
Одинаковое согласие с измерением не делает подробный результат единственно верным. Если данные не различают кандидаты, деталь выбирается предположением модели. Для проверки нужен независимый более подробный снимок, а не ещё одна оценка резкости.
Параметры и подробности
Все показанные детальные кандидаты дают одно и то же измерение 8×8 после усреднения 2×2. Ползунок меняет только непроверяемую мелкую деталь: он не получает новых данных. Ни резкость рисунка, ни согласие с этим измерением не доказывает, какой кандидат был настоящим исходником.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Как обучают и подключают денойзер
Справка и следующие методы
При обучении noisy→clean повреждённое наблюдение сравнивают с известным чистым эталоном. Noise2Noise вместо чистого эталона использует другую повреждённую версию: для простой квадратичной ошибки важны подходящее условное среднее и независимость помех. Общий шум или смещение нарушают этот аргумент. Blind-spot методы скрывают центральное значение от предсказателя; это другой способ задать обучающую задачу, со своими предположениями о шуме и структуре.
Deep Image Prior подбирает параметры сети под один снимок; ранняя остановка может отделить структуру от позднего подгона шума, но не даёт универсальной гарантии. Unrolling превращает шаги известного алгоритма в настраиваемые этапы. Plug-and-play чередует согласование с измерениями и денойзер; произвольный денойзер не обязан минимизировать одну энергию или обеспечивать сходимость. Это направления дальнейшего изучения: открытый контрпример выше устанавливает неоднозначность измерения, а не реализует эти методы.
Практика
Проверь идею на другом условии. Следуй задаче над изображениями; разбор точки поможет объяснить результат. Эта практика не оценивается.
Что изменилось: начальный шум или предсказатель?
Здесь показан завершённый путь с другим начальным шумом. Вернись к нулю шагов и увеличивай их по одному. Сравни состояние перед последним шагом и результат; этапы предсказания и шума объясняют каждый переход. Затем поменяй только вариант шума: когда получится другой полосатый рисунок, а когда прежний? Два одинаковых результата не означают, что скрытый исходник был известен.
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -4…4
- Из текущего значения оценить остаточный шум
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -4…4
Разобрать выбранную точку
Что показывает график
На первых шагах оценки могут быть неопределённой смесью. По мере уменьшения шума один кандидат начинает преобладать. Смена начального шума может поменять результат. Предсказатель знает словарь, но не знает скрытый правильный оригинал; это генерация внутри объявленного маленького семейства, а не восстановление реального снимка.
- Выполнено шагов
- 12
- Оставшийся t
- 0
- Вес рисунка A
- 0
- Вес рисунка B
- 1
Параметры и подробности
Здесь известен только словарь из двух рисунков, а не скрытый правильный оригинал. По формуле Байеса вычисляем их веса для текущего зашумлённого состояния и оцениваем чистый рисунок. Детерминированный шаг переносит оценённый сигнал и остаточный шум на меньшее t. Это открытая двухобразная учебная модель с косинусным расписанием, не обученная сеть и не генерация фотографий. Двенадцать конечных шагов не доказывают точное воспроизведение заданного распределения.
Выбери точку на изображении. Стрелки перемещают её; Home и End — к краям строки. Просмотр не изменяет вычисление.
Для изменения примера нужен JavaScript и Canvas. Рассчитанные изображения доступны выше.
Игры
Проверь объяснение
Вопрос 1 из 5
В примере известны x₀ и ε. Что вычисляет ползунок t?
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Точные значения — в разборе точки
Серая шкала 0…1: от чёрного к белому.
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -4…4
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -4…4
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -4…4
Точные значения — в разборе точки
Синий − · белый 0 · красный +; шкала -4…4
Выбери один ответ. Он проверится сразу.
Ограничения и материалы
Границы этого примера
Выполняются линейный декодер, прямое зашумление и 12-шаговый детерминированный сэмплер с точным байесовским предсказателем для двух авторских рисунков. Это не обученный денойзер, GAN, VAE или генератор фотографий; точность распределения такого конечного сэмплера не заявляется. Контрпример измерений показывает неоднозначность, а не восстановление настоящей сцены.
Математическая справка
Источники и дальнейшее чтение
- Kingma and Welling: Auto-Encoding Variational Bayes
- Ho et al.: Denoising Diffusion Probabilistic Models
- Song et al.: Denoising Diffusion Implicit Models
- Rombach et al.: High-Resolution Image Synthesis with Latent Diffusion Models
- Peebles and Xie: DiT
- Lehtinen et al.: Noise2Noise
- Ulyanov et al.: Deep Image Prior