Идея проекта
Создание ИИ-модели для рисования картин в стиле знаменитого экспрессиониста Хелен Франкенталер.
Абстракции созданные Франкенталер кажутся оживленными невидимой энергией. Новым и действительно замечательным было применение Франкенталер ее масляной среды, которую она разбавляла до консистенции акварели, чтобы она впитывалась и окрашивала холст, а не скапливалась на его поверхности. Она использовала скипидар для разбавления масляной краски. Достигнув желаемой консистенции, она затем осторожно выливала ее на холст. Этот метод разбавления имел эффект смягчения цветов. Кроме того, поскольку ее холсты не были запечатаны грунтовкой, они впитывали цвета, создавая необычные оттенки. В более теоретическом плане техника Хелен представляла собой важный шаг для проекта модернизма в целом. Тема модернизма — это напряжение между присущей холсту плоскостностью и иллюзией глубины в живописи. Плоскость изображения разрушалась с последующими, всё более абстрактными движениями, которые с готовностью признавали реальность их плоскостности. Франкенталер описала свой способ начала картины как «начать с чего-то, а затем посмотреть, что получится в ходе непрерывного акта живописи...».
Это обычная практика для современных художников, особенно абстракционистов. Это очень инстинктивный способ работы, и он отличается от традиционного метода выполнения ряда предварительных рисунков и композиционных исследований для картин. Более спонтанный современный метод допускает неожиданные направления, счастливые случайности и самопознание в искусстве - более «экзистенциальное» мышление, сомнение в предубеждениях и догмах и акцент на важности индивидуального намерения, а не коллективного соответствия. Эта спонтанность никоим образом не подразумевает отсутствие обоснованности. Однако зачастую человеку трудно сформулировать почему то или иное абстрактное произведение выглядит гармонично и красиво.
Цель проекта
Обучить нейросеть работам художника с целью получения инструмента для генерации картин в специфическом стиле. Такая нейросеть может оказаться полезной для понимания того как много и какие из работ художника требуются для обучения нейросети до такой степени, чтобы она могла генерировать объемные цветовые изображения.
Генерация
Технически, был использован код преподавателя, а именно программа предназначенная для точной настройки модели Stable Diffusion XL (SDXL) с использованием методов DreamBooth и LoRA (Low-Rank Adaptation) на бесплатном ноутбуке Google Colab с графическим процессором T4. DreamBooth — это метод персонализации диффузионных моделей путем обучения их новым концепциям (например, определенному художественному стилю) с использованием небольшого набора изображений. Вместо точной настройки всех весов массивной модели SDXL, LoRA замораживает предварительно обученные веса и вводит обучаемые низкоранговые матрицы в слои модели. Это снижает использование памяти и вычислительные затраты, сохраняя при этом исходные знания модели. Модель обрабатывает входные изображения и подписи, генерируя прогнозы. Разница между прогнозируемыми и фактическими выходами (на основе подписей) вычисляется с использованием функции потерь (например, потери с весовым коэффициентом SNR).
Градиенты вычисляются, а матрицы LoRA обновляются с использованием 8-битного оптимизатора Adam. Градиенты накапливаются в нескольких пакетах для моделирования большего размера пакета, что повышает стабильность. Цель состоит в том, чтобы научить модель определенному художественному стилю — в данном случае абстрактному экспрессионистскому стилю Хелен Франкенталер — путем обучения её на тщательно подобранном наборе данных её картин. Код преподавателя был немного модифицирован, а именно был написан небольшой скрипт, который извлекает изображения картин Хелен Франкенталер с указанного URL-адреса, фильтрует их по квадратным пропорциям и сохраняет локально:
Примеры изображений, используемых в обучении
Далее были использованы сервисы BLIP для генерации подписей к рисункам. Данная модель учится связывать уникальный идентификатор («Helen Frankenthaler») со стилем, изображенным на обучающих изображениях. В процессе работы в ноутбуке Google Colab устанавливается необходимые библиотеки: bitsandbytes, transformers, acceler, peft и последние диффузоры из репозитория Hugging Face и загружается обучающий скрипт train_dreambooth_lora_sdxl.py из репозитория Hugging Face GitHub. LoRA применяется к модели для её эффективной тонкой настройки путем обновления только матриц низкого ранга, что значительно сокращает количество обучаемых параметров. Обучающая конфигурация установлена таким образом, что используется 8-битный оптимизатор Adam и обучение со смешанной точностью (fp16) для уменьшения использования памяти, также используются контрольные точки градиента и накопление градиента для обработки большого размера модели и устанавливается скорость обучения 1e-4 с постоянным планировщиком и без шагов разогрева. Обучение происходит за 500 шагов с контрольными точками, сохраняемыми каждые 250 шагов. Подсказка экземпляра установлена на «Хелен Франкенталер», чтобы связать стиль с её именем.
Скрипт запускает процесс обучения с использованием библиотеки ускорения, которая оптимизирует распределенное обучение. Модель обучается на курируемом наборе данных с пользовательскими подписями, обучаясь связывать художественный стиль с предоставленными подсказками. Обученные веса LoRA сохраняются локально и загружаются в Hugging Face Hub для совместного использования и повторного использования. Таким образом загружается тонко настроенная модель, и генерируются образцы изображений с использованием подсказок, описывающих желаемый стиль (например, «Helen Frankenthaler, abstract color field painting...»). Обученная модель была сохранена в: https://huggingface.co/Katrun/Frankenthaler_style_sd1_LoRA
Сгенерированные изображения
В итоговой серии изображений ИИ было предложено показать картины в стиле Хелен Франкенталер. В первых трёх случаях ИИ было предложено сгенерировать изображения на основе описания цветов, форм, положения различных элементов абстрактной картины:
В последующих трёх случаях ИИ было предложено нарисовать объекты реального мира, таких как горы и море, мужчина, женщина. Было интересно узнать, как ИИ передаст объекты реального мира через абстрактное искусство. Результирующая серия изображений, соответственно:
Для улучшения представления несколько экспериментов было проведено с подсказками, например, сделан акцент на определенных цветах, указаны определенные ощущения от картин, сделан акцент на технике. Итерацию можно осуществить, начав с одной из более общих подсказок, изучив результат, а затем добавив или изменив подсказку, чтобы приблизиться к желаемому результату. Например, изначально был использована подсказка:
Результирующая картинка выглядит следующим образом (Рис.7):
Если же добавить технику нанесения краски и текстуру поверхности, то получим следующее изображение (Рис.8):
Если же сделать акцент на счастливых эмоциях, то получается следующая картинка (Рис.9):




