Original size 2480x3500

Обучение генеративной нейросети Stable Diffusion

PROTECT STATUS: not protected
6

Обучение модели Stable Diffusion (через LoRA-адаптацию) на изображениях горных и сельских пейзажей для генерации реалистичных природных сцен

Проект направлен на изучение способности нейросети воспроизводить особенности природных пейзажей: освещение, глубину перспективы, цветовую палитру и фактуру поверхности.

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

Таким образом, проект исследует взаимодействие технологий генеративного ИИ с художественными принципами передачи пространства, света и природных форм.

Для обучения использовались фотографии горных ландшафтов, долин и т. д.

Этап 1. Установка зависимостей и подготовка окружения

На этом этапе были установлены все необходимые библиотеки для работы с диффузионными моделями (Stable Diffusion), LoRA-адаптацией и PyTorch. Также монтируется Google Drive, чтобы сохранять результаты обучения и веса модели. Этот шаг подготавливает среду для дальнейшего обучения и генерации.

big
Original size 2088x284

Colab сообщает о подключении диска:

big
Original size 518x36

Это значит, что доступ к папкам проекта на Google Drive активирован.

Этап 2. Настройка конфигурации обучения

Создан dataclass LoraTrainConfig, который задаёт все параметры обучения: путь к данным, директории для сохранения весов, количество шагов, размер изображений и параметры LoRA (r, alpha, dropout). Эта структура — ядро проекта: она делает обучение воспроизводимым и управляемым.

0

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

Этап 3. Подготовка датасета

Создан класс FolderImagesWithCaptions, который сканирует папку с тренировочными изображениями, масштабирует их до 512×512 и сопоставляет с описаниями (prompt). В качестве подписей использовались нейтральные описания пейзажей — чтобы нейросеть улавливала стиль без привязки к конкретным местам.

0

Это позволяет использовать собственные изображения (например, пейзажи Петербурга) как обучающий материал для fine-tuning Stable Diffusion.

Этап 4. Обучение модели LoRA

Класс LoraLandscapeTrainer реализует цикл обучения: Кодирование изображений в латенты (через VAE); Кодирование подписей в эмбеддинги (через text encoder); Добавление шума (Diffusion process); Обучение UNet с LoRA-адаптацией на восстановление исходного сигнала.

0

5. Генерация изображений

После обучения LoRA-веса были подключены к базовой модели и запущена генерация 15 изображений. Каждый промт создавал вариации природных пейзажей — с мягким светом, естественной цветовой палитрой и глубиной пространства. В ходе эксперимента наблюдалось, что LoRA усиливает реалистичность деталей, делает небо и свет более «живыми».

Original size 1280x444

Сгенерированные изображения представляют серию реалистичных горных пейзажей. Каждое изображение создавалось по отдельному текстовому промпту с описанием сцены и условий освещения.

Общее наблюдение:

Модель корректно передаёт глубину пространства, структуру горных массивов и естественное освещение. В большинстве изображений наблюдается мягкое рассеянное освещение, реалистичная цветовая температура и достоверное распределение тонов.

Удачные аспекты:

— детализированные текстуры травы, камней и неба;

— естественные переходы света и тени;

— убедительная перспектива и воздушная глубина;

— стабильное качество цвета — преобладают зелёно-голубые и тёплые пастельные тона.

Недочеты и артефакты:

В ряде случаев нейросеть допустила неестественные формы склонов или искажения строений — результат неправильной интерпретации рельефа или света. Иногда встречались «размытия» деталей вблизи горизонта и дублирующиеся текстуры, что характерно для LoRA-обучения на ограниченной выборке.

Ноутбук с кодом обучения:

Использование GenAI

Для подготовки текста экспликации и описания методики использовался генеративный текстовый инструмент (ChatGPT) — только как вспомогательный редактор идей и структуры.

Результаты обучения и финальные изображения были сгенерированы рассчитанной мной LoRA-адаптацией Stable Diffusion.

Обучение генеративной нейросети Stable Diffusion
6
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more