Как нейросети генерируют изображения

“Создай реалистичное изображение кошки, которая выглядит как робот, с элементами высокотехнологичного дизайна и футуристическими чертами, включая металлические компоненты и светящиеся элементы, на фоне московского городского пейзажа” - запросила я нейросети Dell-i и MidJourney.

Сгенерированные по одному и тому же промту изображения в нейросетях Dell-i и MidJourney
Сгенерированные по одному и тому же промту изображения в нейросетях Dell-i и MidJourney

Как и когда нейросети научились делать то, что научились?!

Ведь это восхитительно, если задуматься.

Давайте кратенько пробежимся по теме.

Ян Гудфеллоу - известный ученый в области искусственного интеллекта, особенно известный своим вкладом в разработку генеративно-состязательных сетей (GANs, Генератор и Дискриминатор).

Генеративно-состязательные сети (GANs) - это класс алгоритмов машинного обучения, который Гудфеллоу и его коллеги представили в 2014 году. Они состоят из двух ключевых компонентов:

  • Генератор: Этот элемент сети создает новые данные, которые напоминают реальные. Например, он может генерировать изображения, которые выглядят как реальные фотографии людей, хотя на самом деле они сгенерированы машиной.
  • Дискриминатор: Эта часть сети пытается отличить реальные данные от созданных генератором. Она обучается определять, является ли входное изображение подлинным (из реального набора данных) или сгенерированным генератором.

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

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

Эта как в художке строгий учитель и его ученик: “Это не похоже на кота! Это не похоже на кота! Это не похоже на кота!” и так несколько миллионов раз))

Такие сети были очень популярны в 2014-2017 годах и работали только на генерацию какого-то одного типа объектов - лица людей, кошки, и тд.

А вы баловались в то время генерацией изображений лиц несуществующих людей?

Но надо идти дальше и попробовать научить сеть распознать, что задано в текстовом запросе и реализовать данный запрос.

В 2018 году была создана компания Open AI, а уже в 2019 году она получает грант от Microsoft в размере 1 миллиард долларов. А в 2021 году появилась нейросеть Dell-i

Open Ai на деньги гранта должна была создать нейросеть, которая умеет распознавать текст и выделять из него главное. Как вы понимаете, была создана нейросеть ChatGPT.

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

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

Таким образом нейросеть постепенно обучается.

Кстати, когда вы видите генерацию изображения в MidJourney вы частично видите обратный диффузионный процесс, как из шума постепенно вырисовывается ваше изображение.

Вот для такого обучения нейросети требуется огромное количество пар данных - изображение+описание.

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

Кстати, здесь есть глобальное отличие нейросети от человеческого мозга. Нашему мозгу свойственно в первую очередь доставать из памяти объекты, их свойства и события, лежащие, условно говоря, близко от заданного. Что в этом смысле означает “близко”? Это некоторое облако ассоциаций человека с объектом или событием.

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

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

Два варианта изображения "Гриб и предвзятость", сгенерированные в нейросети Dell-i
Два варианта изображения "Гриб и предвзятость", сгенерированные в нейросети Dell-i

Кстати, после дифуззионной модели работа нейросетей не заканчивается! Далее вступает в работу нейросеть CLIP (Contrastive Language–Image Pretraining) — это новаторская нейросеть, разработанная OpenAI.

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

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

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

Я закончила мех-мат МГУ и отлично знаю, как работает подъемная сила крыла самолета. И все равно каждый раз в самолете я не перестаю удивляться этому волшебству: как такая огромная и тяжеленная махина с сотнями людей на борту поднимается в воздух на высоту 10 000 метров и садится обратно на землю.

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

А вы уже пользуетесь нейросетями, генерирующими изображения?

Если нет, изучите программу курса нашей академии Business Connect Turkiye по внедрению Искусственного Интеллекта в маркетинг, продажи и управление бизнесом:

Начать дискуссию