Original size 1723x2560

Дообучение генеративной нейросети под мой собственный стиль

PROTECT STATUS: not protected

В прошлом году я работала над созданием мультипликационного ролика для известной сети пекарен. В процессе работы сформировался уникальный визуальный стиль: особая манера работы с линией, цветовая палитра, передача зимнего новогоднего колорита.

Генеративные нейросети сегодня открывают удивительные возможности: они могут не просто создавать изображения по текстовому описанию, но и обучаться новым стилям на небольшом количестве примеров. Мне стало интересно: сможет ли нейросеть освоить мой стиль и воспроизводить новые сцены в той же манере? И насколько точно она передаст атмосферу, детали и характерные элементы?

В этом проекте я проверю на практике, как нейросети справятся генерацией изображений в моем уникальном стиле.

У меня есть 21 фоновый кадр из анимации — зимние московские улицы, новогодние пейзажи, дома и помещения. Объема датасета должно быть достаточно для дообучения, так как стиль консистентен. Вот несколько изображений из датасета:

Для обучения недостаточно просто загрузить модель — каждый файл в датасете должен сопровождаться текстовым описанием (капшеном). Вручную подписывать 21 кадр — процесс утомительный, к тому же описание должно быть достаточно нейтральным, чтобы модель не выучивала лишние смысловые привязки.

Вместо ручной работы я использовала BLIP (Bootstrapping Language-Image Pre-training) — модель от Salesforce, которая умеет генерировать текстовые описания для изображений. BLIP работает быстро и даёт достаточно точные формулировки, которые в дальнейшем можно использовать как основу для промптов.

Я загрузила BLIP с Hugging Face, перевела его в режим fp16 для экономии видеопамяти и написала небольшую функцию-обёртку, которая принимает изображение и возвращает готовый текст. Каждый сгенерированный капшен я дополняла префиксом «image in PODKORITNIKOVA Style», — так модель понимает, что все эти изображения объединены одним визуальным языком.

В результате для каждого из 21 кадра был сформирован файл metadata.jsonl, где в одной строке хранятся имя файла и соответствующий ему промпт. Это позволило полностью автоматизировать подготовку датасета и сосредоточиться на самом обучении.

Original size 841x366

С подготовленным датасетом и капшенами можно переходить к обучению. Я использовала метод LoRA (Low-Rank Adaptation) — он идеально подходит для малых датасетов и позволяет дообучить модель, не меняя её основные веса. Вместо полного переобучения огромной нейросети LoRA добавляет небольшие корректирующие слои, которые «вшивают» новый стиль поверх базовой модели. Это экономит память, ускоряет процесс и снижает риск переобучения.

Обучение запускалось через скрипт train_dreambooth_lora_sdxl.py с параметрами, подобранными под мой кейс: разрешение 1024×1024, 800 шагов обучения, 8-битный оптимизатор Adam для экономии видеопамяти. Каждые 200 шагов модель сохраняла чекпоинты, а по завершении сформировался итоговый файл pytorch_lora_weights.safetensors — именно он хранит весь «выученный» стиль.

Чтобы не потерять результат и иметь возможность делиться им, я загрузила обученные веса на Hugging Face Hub. После загрузки модель стала доступна по ссылке https://huggingface.co/bubidla/podkoritnikova_style_LoRA — теперь её можно подключать к любому пайплайну Stable Diffusion, просто указав этот репозиторий.

Original size 552x341
Original size 511x417

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

Следующим шагом стало определение архитектуры, поверх которой мы будем дообучать свой стиль. В качестве базовой модели я выбрала Stable Diffusion XL (SDXL) — на момент работы это одна из самых стабильных и гибких моделей, которая хорошо держит композицию и детализацию даже при работе с нестандартными стилями. Для ускорения и экономии памяти я использовала версию VAE madebyollin/sdxl-vae-fp16-fix — это модифицированный автоэнкодер, который работает в 16-битной точности и даёт более чистые цвета на выходе.

Original size 825x188

Чтобы проверить, насколько глубоко модель усвоила мой стиль, я составила 21 промт, охватывающий разные сюжеты: детские площадки, городские пространства, природные сцены, интерьеры, необычные локации, уютные уголки и динамичные городские сцены. Все промпты начинались с ключевой фразы image in PODKORITNIKOVA Style, — именно она «включала» обученный стиль.

Для каждого промта модель выполняла 30 шагов удаления шума при значении guidance_scale = 7.5 — это баланс между следованием тексту и творческой свободой. Все изображения генерировались в разрешении 1024×1024, чтобы сохранить детализацию, характерную для исходных анимационных кадров.

Original size 583x342
Original size 744x562

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

Ниже приведены несколько примеров полученных изображений:

Сгенерированная серия из 21 изображения показала, что модель успешно усвоила ключевые черты моего стиля. Очертания объектов, пластика линий и манера построения композиции сохранились, что говорит о корректной работе LoRA-дообучения даже на относительно небольшом датасете.

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

В целом результат можно признать успешным: нейросеть не скопировала исходные изображения, а адаптировала мой визуальный язык к новым сценам, сохранив при этом узнаваемость стиля.

Дообучение генеративной нейросети под мой собственный стиль
Project created at 22.03.2026
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