Нейронные сети прошли долгий путь от генерации странных ЧБ-изображений до фантастических фотореалистичных сцен, которые не поддаются воображению. С помощью всего лишь короткой текстовой подсказки диффузионные нейросети могут создавать потрясающие изображения, неотличимые от обычных. Однако, какими бы впечатляющими ни были эти модели, в них отсутствует важнейший элемент — пользовательский контроль. Представьте, что вы можете указать точную форму, положение и позу объекта на изображении, которое вы хотите создать. Что ж, теперь это возможно благодаря новаторской технологии под названием ControlNet!
Эта end-to-end архитектура нейронной сети позволяет вам управлять процессом генерации изображения в диффузионных моделях, добавляя определённые входные условия, такие как форма, глубина или поза объекта. Плавно интегрируя управляющую сеть и диффузионную модель, ControlNet точно настраивает выходные данные большой предварительно обученной модели в соответствии с желаемыми входными условиями. ControlNet даёт вам возможность раскрыть свой творческий потенциал и создавать визуально потрясающие изображения, соответствующие вашему видению мира.
Модель способна эффективно изучать условия, зависящие от конкретной задачи, даже когда обучающий набор данных невелик (< 50k). Кроме того, её также можно обучать даже на персональных компьютерах, если мощные вычислительные кластеры недоступны, и масштабировать для больших наборов данных (миллионы или миллиарды), если таковые имеются. Кроме того, ControlNet также может принимать различные формы входных данных, такие как карты границ и карты сегментации, что ещё больше расширяет её возможности по сравнению с традиционными методами. В этой статье мы обсудим, как работает ControlNet, и рассмотрим её применение в задачах обработки изображений.
girl, masterpiece, best quality, ultradetailed, illustration
▍ Проблема
Актуальные диффузионные text2image модели обладают различными способами, упрощающими пользователю путь к достижению «идеальной картинки», которая была бы больше похожа на желаемое.
Есть инструменты для создания вариаций изображения на основе скрытого представления или вектора CLIP, преобразование image2image и inpainting, но они работают не так хорошо, как хотелось бы.
А потом появился ControlNet.
▍ Image2image
ControlNet позволяет использовать условные входные данные в больших диффузионных моделях, таких как Stable Diffusion, что даёт возможность пользователям больше контролировать сгенерированные результаты, чем когда-либо прежде!
Перевод изображения в изображение — это метод, который изучает сопоставление между изображениями в разных областях, таких как художественные работы, фотографии или эскизы. Для достижения этой цели использовались различные типы алгоритмов, такие как условно порождающие нейронные сети, методы авторегрессии и многомодельные методы. Новейшие методы преобразования изображения в изображение можно найти в Taming Transformer, Palette и PITI. Они используют такие методы, как VIT (Vision Transformers), файнтюнинг и основанные на оптимизации манипуляции процессом диффузии для получения результатов.
Однако ControlNet отличается от этих методов тем, что нацелена на управление диффузионными моделями с учётом конкретных условий задачи, а не на изучение сопоставления между изображениями в разных доменах.
Эта нейронная сеть схожа с HyperNet. HyperNet — это способ обучения небольшой нейронной сети, которая затем может быть использована для изменения весов более крупной. Этот метод был использован при генерации изображений с использованием нейронных сетей и других задач машинного обучения. И ControlNet, и HyperNetwork используют особый тип слоя свёртки — «нулевую свёртку». Это означает, что начальные веса слоёв инициализируются равными нулю. Этот метод манипулирования начальными весами использовался в различных исследованиях для улучшения тренировок и достижения лучших результатов.
В целом ControlNet предоставляет эффективный способ управления диффузионными моделями для различных применений, упрощая пользователям настройку сгенерированных изображений в соответствии со своими потребностями.
a man wearing sunglass near a street corner
▍ Метод
ControlNet — это архитектура нейронной сети, предназначенная для улучшения предварительно обученных моделей диффузии изображений в зависимости от конкретных задач. Она работает путём манипулирования входными условиями блоков нейронной сети, которые представляют собой наборы нейронных слоёв, используемых для построения нейронных сетей, которые обучаются с помощью вектора внешних условий. Это позволяет сохранить исходные веса, избегая каких-либо изменений из-за небольших наборов данных и позволяя проводить файнтюнинг намного быстрее, чем обучение с нуля. ControlNet использует слои «нулевой свёртки» в качестве соединений между своими компонентами, которые имеют как вес, так и смещение, инициализированные нулями, так что на первом этапе обучения они не оказывают никакого влияния на глубокие объекты. Градиенты для этих нулевых свёрток могут быть рассчитаны с использованием уравнений произведения Адамара таким образом, что когда внешний градиент не равен нулю, будут получены ненулевые градиенты, и обучение начнётся без необходимости начинать с нуля каждый раз, когда вводятся новые данные или задачи. ControlNet обычно применяют к Stable Diffusion (модель преобразования текста в изображение), где входные данные сначала должны быть закодированы в свёрнутые карты размером 64 x 64 с использованием небольшой сети из четырёх слоёв свёртки, прежде чем они будут подключены через структуру ControlNet в encoder / decoder.
ControlNet имеет всего четыре слоя свёртки с ядрами 4 x 4 и шагами 2 x 2, наряду с активацией ReLU и гауссовыми весами, которая используется для кодирования условий пространства изображений ci в карты объектов cf = E(ci). С помощью этой сети управления обучение модели Stable Diffusion требует всего 23% дополнительной памяти и 34% дополнительного времени по сравнению с исходной моделью. Архитектура ControlNet также, вероятно, будет использоваться с другими моделями распространения в виде типичной структуры U-net.
Обучение нейросети происходит так же быстро, как файнтюн диффузионной модели. Было обнаружено, что для повышения производительности обучения в экстремальных случаях, когда вычисления на устройстве ограничены, частичный разрыв соединений между сетью управления и стабильной диффузией ускоряет конвергенцию. Когда доступны мощные вычислительные кластеры, для обучения можно использовать большие объёмы (от миллионов до миллиардов) данных. В этом случае можно сначала обучить управляющие сети для достаточно большого числа итераций, прежде чем разблокировать все веса Stable Diffusion и совместно обучать их вместе как одну модель, специфичную для конкретной задачи. Это приводит к более точному управлению моделями распространения изображений, что может дополнительно облегчить смежные приложения, такие как обнаружение чётких границ на изображениях с использованием случайных пороговых значений.
▍ Заключение
ControlNet — это новаторская разработка, которая может произвести революцию в том, как мы создаём изображения. Предоставляя пользователям больший контроль над сгенерированными изображениями, она позволяет создавать визуально привлекательные и точные изображения для различных применений, от художественных произведений до научных исследований. Благодаря способности эффективно изучать специфические условия, ControlNet может гибко адаптироваться к различным сценариям и наборам данных, что делает его универсальным инструментом для задач обработки изображений.
Сходство ControlNet с HyperNet демонстрирует постоянный прогресс в проектировании архитектур нейронных сетей и методах обучения. Устраняя ограничения традиционных методов преобразования изображения в изображение и повышая эффективность и результаты обучения, ControlNet может улучшить наше понимание и использование диффузионных моделей.
Продолжая изучать потенциальные применения ControlNet, мы можем представить себе будущее, в котором пользователи смогут создавать изображения с беспрецедентным контролем и точностью. От кинематографа до медицины и инженерии — возможности безграничны. ControlNet — это захватывающая разработка, которая может раздвинуть границы генеративных моделей и изменить наш подход к задачам обработки изображений.
Попробовать демо
Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх