Диффузионная модель (Diffusion Model)
Диффузионная модель — это тип генеративной модели в машинном обучении, который используется для создания новых данных (изображений, текста, звука и др.) на основе изучения распределения данных в обучающей выборке.
Принцип работы диффузионных моделей заключается в постепенном «зашумлении» исходных данных и последующем обучении модели восстанавливать исходные данные из зашумлённых. Этот процесс имитирует диффузию (распространение) информации, отсюда и название.
Факты:
- диффузионные модели стали популярны в последние годы, особенно после успешных экспериментов в области генерации изображений;
- одна из известных реализаций диффузионных моделей — это DALL-E 2, модель, которая генерирует изображения по текстовому описанию;
- разработка и усовершенствование диффузионных моделей активно ведутся с начала 2010-х годов, и они продолжают совершенствоваться благодаря новым исследованиям в области глубокого обучения.
Примеры использования:
- генерация реалистичных изображений по текстовому описанию (например, создание иллюстраций для книг или игр);
- улучшение качества изображений, восстановление повреждённых или низкокачественных изображений;
- генерация аудиоданных, например, создание музыкальных фрагментов или озвучивание текста;
- создание новых молекулярных структур в химии для разработки лекарств.
Примеры терминов:
- DDPM (Denoising Diffusion Probabilistic Models) — одна из популярных архитектур диффузионных моделей;
- Score-based models — модели, основанные на оценке градиента плотности распределения данных, тесно связанные с диффузионными моделями.
Аналогия из бытового мира:
Представьте, что вы пытаетесь восстановить первоначальный вид чашки чая, в которую кто-то постепенно добавлял молоко, пока она не стала полностью белой. Вы знаете конечное состояние (белый напиток) и процесс (добавление молока), и ваша задача — «откатить» процесс назад, чтобы понять, сколько и когда было добавлено молока, и в итоге восстановить исходный вид чая. Это похоже на то, как диффузионная модель учится восстанавливать исходные данные из зашумлённых.
Различия с похожими терминами:
- GAN (Generative Adversarial Networks) — генеративно-состязательные сети, которые также используются для генерации данных, но работают по другому принципу: в GAN есть две сети — генератор и дискриминатор, которые «состязаются» друг с другом. В отличие от диффузионных моделей, где процесс генерации происходит через постепенное уменьшение шума, в GAN генерация происходит в результате обучения двух моделей, стремящихся превзойти друг друга.
- VAE (Variational Autoencoders) — вариационные автоэнкодеры, которые тоже генерируют данные, но используют другой подход, основанный на кодировании и декодировании данных с учётом вероятностного распределения. В отличие от диффузионных моделей, VAE фокусируются на обучении компактного представления данных (латентного пространства) и генерации новых данных на основе этого представления.
