

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

Иллюстрации художника Graham Yarrington

Иллюстрации художника Graham Yarrington

Иллюстрации художника Graham Yarrington
Художник использует загадочные образы и яркие цвета на темном фоне, делая акцент на важные детали. В дополнение ко всему картины созданы на бумаге в акварельной технике со смесью графики. Детали на фоне чаще всего имеют округлую обтекаемую форму. Черно-белые объекты выделяются или, наоборот, приглушаются использованием контраста — важные детали, или объекты переднего плана черные, другие же серые, плавно перетекающие в белый.
Перечисленные детали являются выделяющимися в его технике, что важно отметить для того, чтобы сравнить результаты генераций и исходных изображений.
Пробная генерация до обучения модели
Изображение, сгенерированное нейросетью Stable Diffusion
Изображение, сгенерированное нейросетью Stable Diffusion
В изображениях есть частичка стиля художника, но она практически незаметна. Нет акварельной техники; цвета хоть и похожи, но используются совершенно по-другому, нет плавности и градиентов из оригинала. В полученных генерациях нет абстракции, детали сделаны слишком «правильно», практически уходя в реализм. При этом формы объектов довольно простые. Модель очень быстро сделала генерации, но результат получился неудовлетворяющим.
Для наглядного примера разницы в генерациях за основу для ручного обучения будет взята та же модель — Stable Diffusion.
Серия сгенерированных изображений обученной модели


Изображения, сгенерированные обученной моделью
Уже с первых генераций можно увидеть, что обученная модель прекрасно переняла стиль художника, остались его узнаваемые штрихи, цветовые решения и техника. Объекты больше не выбиваются из общей картины, присутствуют акварельные разводы и градиенты цветов, как у оригинальных работ. Генерации выглядят не как компьютерная графика, а как рисунки на бумаге. Разница между результатами обычной и обученной модели видна невооруженным глазом.
Изображение, сгенерированное обученной моделью


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


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


Изображения, сгенерированные обученной моделью
При регуляции силы, с которой применяется стиль для разнообразия итоговых изображений, можно получить как более реалистично детализированную генерацию, представленную справа, так и чисто стилистическое изображение, представленное слева.
Изображение, сгенерированное обученной моделью
Портрет девушки получился в таком же стиле, как и у художника. Далее я решила поэкспериментировать, добавив больше цветов, неприсущих оригинальным изображениям. Этот изменило общий образ генераций, но стиль художника еще оставался узнаваемым


Изображения, сгенерированные обученной моделью


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


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


Изображения, сгенерированные обученной моделью


Изображения, сгенерированные обученной моделью
Помимо хороших генераций, есть также не очень удавшиеся результаты, но они встречаются довольно редко. Стилистика всё еще правильная, но на изображениях много артефактов, косо расположенных объектов и лишних деталей с поплывшей формой. Тем не менее, даже такие генерации намного убедительнее, чем генерации до обучения модели.
Процесс обучения модели
В качестве среды для выполнения обучения нейросети был выбран GoogleColab, так как он более удобен и позволяет работать на GPU.
Перед началом работы нужно было установить необходимые библиотеки, а также собрать больше десяти определенных иллюстраций, на которых модель в дальнейшем будет обучаться.
Таким образом, были подгружены необходимые скрипты и изображения в формате [1:1] в виде датасета для дальнейшего анализа.
Следующим действием было создание префикса. Префикс необходим для того, чтобы нейросеть запомнила определенную стилистику и смогла обучиться. В дальнейшем модель, опираясь на определенные слова из промта, будет генерировать похожие по стилю изображения.
После завершения предыдущих действий можно было приступить к обучению модели. Этот процесс при средних настройках занял около часа. Когда обучение окончилось, необходимо было использовать созданный ранее префикс для генерации последующих изображений в обученном стиле.
Во время генерации изображений можно возвращаться на разные чекпоинты, позволяющие смешивать силу, с которой применяется обученная моделью стилистика для разнообразия итоговых изображений или созданию новых.
Дополнительный пример обучения модели определенному стилю
Для дополнительного примера я сгенерировала изображение с другим стилем с помощью стандартной модели Stable Diffusion.
Изображение, сгенерированное нейросетью Stable Diffusion
Далее я повторила ранее описанные действия, обучив модель этому стилю. С помощью смешения силы применяемой стилистики я сгенерировала новые изображения, оставив три основных цвета, и подкорректировала пикселизацию.


Изображения, сгенерированные обученной моделью


Изображения, сгенерированные обученной моделью


Изображения, сгенерированные обученной моделью
Все изображения получились в одной стилистике и цветовой гамме. Некоторые генерации повторяют сюжет предыдущих, при этом дополняя его. Другие же отличаются по сюжету, но выдержаны в том же стиле. Таких генераций можно сделать бесчисленное множество, и все они не будут выбиваться из общей картины, что еще раз доказывает огромный плюс обучения моделей самостоятельно.
Вывод
В процессе работы стало понятно, что модель можно доучить под определенный стиль благодаря коду. Сравнивая картины автора и генерации, можно сделать вывод, что обучение прошло очень неплохо, генерации адаптировались под определенную стилистику. Изображения стали выглядеть похоже на оригинальные, в отличие от первоначальных генераций модели без предварительного обучения, где стилистика едва считывалась.
Процесс обучения займет больше времени, чем обычные генерации по промту или референсу, но результат окажется более впечатляющий и будет работать в долгосрочной перспективе.