6.6.9 Машина как художник. Создание изображения по текстовому описанию
Конечно, возможности современных генеративных моделей компьютерного зрения не безграничны. Решать некоторые творческие задачи на уровне, сопоставимом с уровнем людей-профессионалов, машины пока что не умеют. И попытки решения таких сложных задач представляют, как мне кажется, наибольший интерес на данный момент — ведь они демонстрируют то, что в наши дни составляет передовой край искусственного интеллекта. Примером такой сложной задачи является генерация изображения по его текстовому описанию. Качество полученных результатов пока что вызывает вопросы, однако видно, что цель уже близка.
В 2018 г. группа исследователей из университетов США и Китая в статье под названием «StackGAN++: синтез реалистичных изображений при помощи последовательности генеративно-состязательных сетей» (StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks)[1] представила две версии генеративной архитектуры StackGAN.
Архитектура StackGAN-v1 предназначена для генерации изображения на основе текста. Эта архитектура основана на использовании сразу двух моделей, отвечающих за две стадии генерации изображения. Модель, отвечающая за первую стадию, создаёт на основе текста примитивный набросок изображения, обладающий низким качеством и слабым разрешением. На второй стадии другая модель, получив на вход результат работы первой модели, генерирует фотореалистичное изображение высокого разрешения.
Вторая версия архитектуры (StackGAN-v2) может быть использована для генерации изображений как при наличии текстового описания, так и при его отсутствии. StackGAN-v2 состоит из нескольких генераторов и дискриминаторов, организованных в древовидную структуру, при этом изображения различного масштаба, соответствующие одной и той же задаче, генерируются моделями, расположенными в различных ветвях этого дерева.
Обе модели вполне успешно справляются с задачей генерации изображения по тексту — улучшение качества картинок по сравнению с более ранними исследованиями в этой области заметно невооружённым глазом. Однако результаты удалось продемонстрировать только для специализированных наборов данных с искусственно уменьшенным числом классов изображений. Ниже приведены результаты работы обеих версий StackGAN на датасете Caltech‑UCSD Birds 200 (CUB-200), содержащем почти 12 000 изображений 200 видов птиц[2], [3].
Рис. 164. Генерация изображений птиц по тексту (модель StackGAN)
Увеличение изображений — отдельная интересная задача в области компьютерного зрения. Обычно для её обозначения используют термины «повышение разрешения изображения» (Image Super-Resolution, ISR) и «восстановление высокого разрешения» (Super-Resolution Reconstruction, SRR). За последние несколько лет было создано множество нейросетевых архитектур для решения этой задачи. Большая часть из них основана на свёрточных нейронных сетях. На практике существует несколько разновидностей задачи повышения разрешения. Первую называют обычно увеличением разрешения для одиночного изображения (Single Image Super-Resolution, SISR). SISR предполагает, что у нас есть одиночное изображение с низким разрешением, природа которого может быть разной. Возможно, это изображение получено из изображения высокого разрешения при помощи какого-либо известного или неизвестного нам алгоритма для уменьшения размера изображения, а возможно — изначально является продуктом оцифровки с низким разрешением. Быть может, изображение и вовсе является результатом работы некоторого алгоритма (как в случае со StyleGAN). Словом, природа исходного изображения может быть разной, а результатом работы модели SISR должно стать изображение более высокого разрешения, которое, будучи уменьшенным при помощи некоторой функции уменьшения размера, дало бы нам исходное изображение. При этом изображение, являющееся результатом работы модели SISR, должно быть по возможности неотличимым от высококачественного изображения, полученного в результате оцифровки с высоким разрешением. Это означает, что изображение не должно быть размытым, должно содержать реалистичные и неискажённые изображения объектов, текстур и тому подобное. Очевидно, что при уменьшении разрешения изображения некоторая часть информации может быть потеряна безвозвратно. Если бы наши изображения были совершенно хаотичными наборами пикселей, эта затея была бы обречена на провал. Но, к счастью, в огромном количестве прикладных задач речь идёт всё-таки об изображениях каких-либо объектов, встречающихся и на каких-либо других картинках. Если модель для повышения разрешения будет обучена на множестве изображений, содержащих те же или сходные объекты, то «знания», которые модель приобретёт в ходе такого обучения, позволят ей эффективно «домысливать» утраченные при снижении разрешения детали. Важным подвидом SISR является задача, в которой мы можем сами выбирать модель для снижения разрешения исходного изображения. Одновременное обучение двух моделей — для снижения и для повышения разрешения — позволяет добиться более эффективной минимизации потерь при восстановлении исходной картинки. Это происходит благодаря тому, что модель для снижения разрешения будет терять меньше информации, необходимой для успешного восстановления изображения, а также благодаря тому, что модель для повышения разрешения «знает» об особенностях преобразования, породившего картинку с малым разрешением. Именно этот подход реализован в модели, получившей название «Контентно-адаптивный передискретизатор» (Content Adaptive Resampler, CAR)[4]. Задачу увеличения разрешения изображения в CAR выполняет свёрточная сеть с популярной для таких задач архитектурой под названием EDSR (Enhanced Deep Super-Resolution network, Улучшенная глубокая сеть для повышения разрешения)[5], а задачу понижения разрешения — другая свёрточная сеть под названием ResamplerNet. Последняя выбирает индивидуальную операцию для расчёта цвета каждого из пикселей изображения пониженной размерности. Эксперименты показали, что изображения, полученные на выходе ResamplerNet, не уступают по качеству изображениям, полученным при использовании традиционных методов понижения разрешения, в то время как восстановленные изображения высокой размерности заметно превосходят по качеству результаты применения других моделей для решения задачи SISR.
Рис. 165. Примеры увеличения разрешения одиночных изображений моделью CAR
Впрочем, даже без применения CAR современные модели показывают в этой задаче вполне приличные результаты. Ниже приведены примеры из современных работ, посвящённых разработке моделей для решения задачи SISR: «Сохраняющее структуру повышение разрешения с наведением по градиенту» [Structure-Preserving Super Resolution with Gradient Guidance][6] и «Увеличение разрешения для одиночного изображения с помощью сети с холистическим вниманием» [Single Image Super-Resolution via a Holistic Attention Network][7].
Рис. 166. Примеры увеличения разрешения одиночных изображений различными моделями
Вторая разновидность задачи ISR называется, как несложно догадаться, MISR (Multiple Image Super-Resolution, Увеличение разрешения для множества изображений). В случае MISR мы имеем дело с ситуацией, когда у нас есть несколько изображений с низким разрешением, по которым необходимо получить объединяющее изображение высокого разрешения. Одна из основных областей применения MISR — обработка спутниковых снимков. Примером модели, предназначенной для решения задачи MISR, является EvoNet, в которой выходы нескольких свёрточных сетей, решающих задачу SISR для каждого из изображений с низким разрешением, затем специальным образом комбинируются с учётом возможных сдвигов, а после этого подвергаются пошаговой фильтрации[8].
Рис. 167. Пример увеличения разрешения для множества изображений
Весной 2019 г. другая группа исследователей представила в статье «DM-GAN: генеративно-состязательные сети с динамической памятью для синтеза изображения на основе текста» (DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis)[9] архитектуру DM-GAN, которая способна не только «рисовать» более реалистичных птичек, но и производить на свет что-то более или менее правдоподобное при работе с более разнообразным набором данных — COCO (Common Objects in COntext, Обычные объекты в контексте), содержащим более 200 000 размеченных изображений объектов, принадлежащих к одному из 80 классов (самолёты, кошки, собаки, пожарные гидранты и т. д.). На иллюстрации ниже можно наблюдать сравнение результатов DM-GAN с результатами StackGAN и ещё одной более ранней модели — AttnGAN[10].
Рис. 168. Сравнение результатов синтеза изображений на основе текста
для моделей DM-GAN, StackGAN и AttnGAN
Ещё одна архитектура для синтеза изображений на основе текста была описана в статье 2019 г. под названием «CPGAN: генеративно-состязательные сети с анализом полного спектра контента для синтеза изображений на основе текста» (CPGAN: Full-Spectrum Content-Parsing Generative Adversarial Networks for Text-to-Image Synthesis)[11].
Рис. 169. Сравнение результатов синтеза изображений на основе текста
модели CPGAN с другими моделями
На август 2020 г. эта архитектура лидировала по величине Inception score среди подобных моделей и обходила StackGAN и AttnGAN при оценке изображений людьми.
Но в самом начале 2021-го в этой области произошла очередная революция. Она была связана с появлением модели, получившей название DALL·E (в честь Сальвадора Дали и робота WALL-E из одноимённого анимационного фильма компании Pixar). Эта модель была создана исследователями из компании OpenAI. Архитектура генерирующей нейронной сети идентична версии модели GPT-3 с 13 млрд параметров. При этом используется словарь токенов, включающих в себя как элементы текста, так и элементы изображения. При обработке визуальных токенов используются несколько модифицированные матрицы внимания, но в целом перед нами наша старая знакомая, отличившаяся в задаче генерации текстов.
То, что трансформерные модели могут успешно обрабатывать изображения, было известно и ранее — пионерской работой в этом направлении в 2018 г. стала сеть Image Transformer[12]. В 2020 г. на свет появились более совершенные модели — сначала Visual Transformer (Визуальный трансформер), или VT[13], затем Vision Transformer (Зрительный трансформер), или ViT[14], а затем улучшенные версии последнего — DEiT (Data-efficient image Transformer, Эффективный по отношению к данным трансформер изображений)[15] и SWIN (от Shifted WINdow — сдвигающееся окно)[16]. В том же году появились первые гибридные свёрточно-трансформерные архитектуры, например DETR (DEtection TRansformer, Трансформер обнаружения)[17] от исследователей из Facebook, а чуть позже — его улучшенная версия Deformable DETR (Деформируемый DETR)[18]. Созданная в 2021 г. гибридная нейросетевая архитектура — CMT (CNN Meet Transformers, Свёрточные нейронные сети сходятся с трансформерами) — позволила достичь при классификации изображений ImageNet точности top-1, равной 83,5%, что всего на 0,8 процентного пункта меньше, чем у лучшего варианта EfficientNet-B7 при примерно вдвое меньшем числе параметров[19]. Вообще, 2021-й стал годом визуальных трансформеров — одно только перечисление новых вариантов трансформерных или гибридных архитектур для задач компьютерного зрения, созданных в этом году, заняло бы едва ли не целую страницу, поэтому вот лишь некоторые из них: CvT[20], CaiT[21], CeiT[22], AutoFormer[23], TNT[24], DVT[25], Mixer[26], CoAtNet[27], SwinV2[28], MViT[29], PeCo[30], Pale Transformer[31] и так далее.
Очередные рекорды точности решения задач в этой области держались считаные дни, на смену трансформерам в первых строчках таблиц лидеров на paperswithcode.com вновь приходили свёрточные архитектуры (на них, по мнению некоторых исследователей[32], ещё рановато ставить крест), а им на смену — снова трансформеры или гибридные сети. При этом в ряде случаев достичь новой рекордной отметки помогали даже не изменения в архитектурах, а новые способы обучения или аугментации данных. На август 2023 г. первое место по top-1-точности классификации на датасете ImageNet занимает свёрточно-трансформерная архитектура BASIC-L[33] (91,1%), обгоняя всего на 0,1% чисто трансформерную архитектуру CoCa (Contrastive Captioners, Контрастные подписыватели)[34]. Однако к моменту выхода этой книги на верхних строчках таблицы рекордов окажутся уже, скорее всего, какие-то другие модели.
Но вернёмся к DALL·E. Помимо генератора, DALL·E использует специальный ранжировщик, позволяющий отобрать из 512 изображений-кандидатов 32 наиболее удачных примера[35], [36]. Этот ранжировщик оценивает степень соответствия изображения и его текстового описания и является отдельной нейронной сетью, получившей название CLIP (Contrastive Language–Image Pre-training, Контрастное предобучение для пары «язык — изображение»)[37], [38].
Изображения, сгенерированные DALL·E, поражают не только своим реализмом, но и тем, что сеть способна визуализировать довольно сложные описания, включающие в себя сложные отношения между различными частями генерируемого объекта. Это показывает, что сеть не просто запоминает примеры из гигантской обучающей выборки, а способна «понимать» сложные семантические связи между текстовыми и визуальными признаками.
Рис. 170. Изображения, сгенерированные моделью DALL·E по запросу «Кресло в форме авокадо. Кресло, имитирующее авокадо» [an armchair in the shape of an avocado. an armchair imitating an avocado]
Рис. 171. Изображения, сгенерированные моделью DALL·E по запросу «Иллюстрация, на которой изображена редька-ребёнок в юбочке, выгуливающая собаку» [an illustration of a baby daikon radish in a tutu walking a dog]
В 2021 г. моя команда стала одним из участников проекта по созданию русскоязычного аналога модели DALL·E. В начале ноября плодом объединённых усилий Управления экспериментальных систем машинного обучения, наших коллег из Sber AI, а также команды исследователей Самарского университета при деятельной помощи специалистов из SberCloud, обеспечивших нас ресурсами суперкомпьютеров «Кристофари» и «Кристофари Нео», на свет появились модели ruDALL-E XL (Malevich) с 1,3 млрд параметров, ruDALL-E XXL (Kandinsky) с 12 млрд параметров и две версии модели ruCLIP. С возможностями ruDALL-E XL вы можете познакомиться на сайте rudalle.ru или воспользовавшись виртуальными ассистентами семейства «Салют».
Для обучения ruDALL-E мы собрали 130 млн пар «текст — картинка» (на тот момент ещё не существовало таких внушительных публичных датасетов, как LAION-5B[39], содержащий 5 млрд пар «текст — картинка»; даже LAION-400M[40] c 400 млн пар появился лишь в конце 2021 г.). Проект по обучению ruDALL-E потребовал около 30 000 часов вычислений GPU Nvidia Tesla V100 и тем самым стал самым большим нейросетевым вычислительным проектом в России и СНГ.
Тогдашний исполнительный вице-президент, CTO Сбера, руководитель блока «Технологии» Давид Рафаловский так прокомментировал первые результаты этого проекта: «Помимо вклада в прогресс в области ИИ, генерация изображений закрывает две важных потребности современного бизнеса: возможность получить уникальную картинку под собственное описание, а также в любой момент создавать необходимое количество license-free-иллюстраций. При этом создание „мультимодальных“ нейронных сетей, которые обучаются сразу на нескольких видах данных, даже сейчас, в эпоху big data и огромных возможностей поиска, будет очень востребованным, поскольку решает задачи на принципиально ином уровне. Технология пока совсем новая, первые шаги в этом направлении были сделаны только в 2020 году, а ещё в 2018–2019 годах даже постановку такого рода задачи нельзя было себе представить. ruDALL-E можно считать настоящим прорывом для русскоязычной индустрии».
ruDALL-E в действительности является не просто реконструкцией DALL·E на основе разрозненных публикаций OpenAI, а в некотором роде развитием исходной модели. Так, оригинальный автокодировщик dVAE[41] был заменён нами на собственный SBER VQ-GAN[42], обеспечивающий более качественную передачу человеческих лиц и некоторых других элементов изображений. Кроме того, к модели была добавлена ещё одна нейронная сеть на базе архитектуры ESRGAN[43], позволяющая увеличить размер сгенерированного изображения[44], [45]. Младшие версии моделей были опубликованы[46] нами в открытом доступе, что позволяет всем желающим использовать их в качестве компонентов собственных продуктов и сервисов.
20 декабря 2021 г. исследователи из OpenAI представили публике новую модель, получившую название GLIDE (Guided Language to Image Diffusion for Generation and Editing, Управляемая диффузия «язык в изображение» для генерации и редактирования). В ней получили дальнейшее развитие идеи, воплощённые ранее в DALL-E. Модель состоит из двух нейросетей, первая из которых (с 3,5 млрд параметров) генерирует изображение размером 64×64 пикселя, а вторая (с 1,5 млрд параметров) увеличивает его размер до 256×256. GLIDE может быть использована как для создания новых изображений, так и для изменения существующих. Создатели модели обучили также её уменьшенную версию с 300 млн параметров, получившую название GLIDE (filtered), и выложили последнюю в открытый доступ[47].
Ещё одна интересная модель, способная работать одновременно с естественным языком и с изображениями, — сеть GPV-I (General Purpose Vision system, Система общего назначения для задач компьютерного зрения)[48]. Она получает на вход изображение, а также описание задания, которое необходимо выполнить. На выходе сеть генерирует ответы по заданию: набор ограничительных рамок [bounding boxes], степеней уверенности [confidences] и текстовую часть. Авторы приводят примеры работы модели, в которых сеть успешно справляется с заданиями «Какого цвета собака?», «Видны ли на изображении деревья?», «Найди собаку», «Сгенерируй описание картинки» и «Что это?» (с указанием ограничительной рамки вокруг кошки на картинке). Подобные DALL·E и GPV-I модели приближают момент, когда машины смогут решать произвольные интеллектуальные задачи для произвольных наборов входных данных, представленных в произвольных модальностях.
Рис. 172. Пример выполнения сетью GPV-I задачи по изображению
Ещё одна перспективная мультимодальная модель была создана усилиями моего коллеги по «Сберу» Алексея Шоненкова и известного эксперта в области глубокого обучения Михаила Константинова. Эта модель получила название RuDOLPH (Russian Diffusion On Language Picture Hyper-modality, Русская диффузионная [модель] на базе гипермодальности язык/изображения). RuDOLPH — это модель на основе трансформера, построенного из декодирующих блоков (подобного GPT-3), работающая с последовательностями вида «текст — изображение — текст» за счёт особой карты внимания. Это позволяет говорить о наличии у модели гипермодальности[49]. Модель предназначена для быстрого и лёгкого применения, дообучения и open-source-исследований — код модели и веса опубликованы в открытом доступе. В режиме zero-shot (без дообучения под конкретную задачу и без примеров в затравке) RuDOLPH может решать следующие задачи: генерация текста, генерация изображений, ранжирование и классификация изображений, текста или их сочетания на основе их перплексии, построение текстового описания к изображениям, линейный пробинг [Linear Probing или Linear Probe] (т. е. обучение линейных моделей, опирающихся на представление, выученное глубокой моделью). RuDOLPH обладает интересным механизмом оценки качества собственной генерации изображения по тексту и текста по изображению за счёт гипермодальности, что позволяет значительно улучшить генеративные способности без применения сторонних нейронных сетей (в отличие, например, от связки DALL·E и CLIP). Ещё один новаторский механизм RuDOLPH, демонстрирующий силу гипермодальности, — это линейный пробинг в режиме zero-shot. Он состоит в следующем: модель по текстовым описаниям классов генерирует синтетические изображения, оценивает их качество (в роли такой оценки выступает перплексия текстового описания картинки для случая, если бы оно было размещено не до, а после сгенерированного изображения; то есть по сути оценивается степень соответствия описания полученному изображению), после чего состояние модели, возникающее вслед за получением последнего токена изображения, подаётся на вход линейному классификатору для его обучения. Это значительно повышает качество классификации, демонстрируемое моделью в режиме zero-shot.
Для декодирования модель может использовать как декодер на основе VQ-GAN, так и диффузионную модель с более высоким качеством синтеза сгенерированных изображений. В настоящее время опубликована версия модели с 350 млн параметров, а в ближайшем будущем планируется выпустить и более крупные версии[50].
В 2022 г. специалисты OpenAI опубликовали работу[51], посвящённую модели, получившей название DALL·E 2. Ниже приведено несколько примеров картинок, сгенерированных этой моделью по текстовому запросу. DALL·E 2 использует диффузионную генерацию и поражает не только удивительным качеством генерируемых изображений и умением визуализировать сложные абстрактные концепции, но и способностью выполнять широкий спектр задач, связанных с семантической манипуляцией изображениями. В этом смысле новая модель от OpenAI следует последним тенденциям развития фундаментальных моделей.
Рис. 173. Изображения, сгенерированные моделью DALL·E 2 по разным запросам
С этой моделью связана весьма курьёзная история. В июне 2022 г. аспирант из Техасского университета в Остине Яннис Дарас и его научный руководитель Александрос Димакис опубликовали статью под названием «Обнаружение скрытого словаря DALLE-2» [Discovering the Hidden Vocabulary of DALLE-2][52]. Именно это исследование стало источником для очередной шумихи — соцсети и жёлтая онлайн-пресса заполнились заголовками, кричащими о том, что «нейросеть создала свой язык» (никогда не было, и вот опять!).
Во вступительной части статьи Дарас и Димакис пишут буквально следующее: «Мы обнаружили, что DALLE-2, похоже, обладает скрытым словарём, который можно использовать для создания изображений по абсурдным запросам. Например, оказывается, что «Apoploe vesrreaitais» означает птиц, а «Contarra ccetnxniams luryca tanniounons» (в ряде случаев) означает насекомых или вредителей. Мы обнаружили, что эти подсказки обычно консистентны по отдельности, но иногда и в сочетании (авторы имеют в виду, что использование в запросах этих слов по отдельности, а иногда и вместе приводит к появлению на изображении сходных объектов. — С. М.). Мы представляем наш blackbox-метод[53] для обнаружения слов, которые кажутся случайными, но в некоторой мере соответствуют визуальным концепциям. Это порождает важные вызовы в области безопасности и интерпретируемости».
Даже самым современным моделям трудно справиться с генерацией картинок, содержащих достаточно длинные надписи. Если вы попросите сеть изобразить надпись длиннее 4–5 букв, то, скорее всего, получите её с ошибкой, а чаще и вовсе тарабарщину [gibberish text] — вас ждут выглядящие случайными последовательности букв или буквоподобных символов. Большая часть людей на этой стадии просто пожмёт плечами — ну что же, технологии пока несовершенны… Но наши бравые парни из Техаса не таковы! Дарас и Димакис погрузились в анализ генерируемой тарабарщины. Например, на запрос «two farmers talking about vegetables, with subtitles» [два фермера разговаривают об овощах, с субтитрами] DALL·E 2 сгенерировала изображение беседующих фермеров с парой блоков текста, написанного на слегка искажённой латинице. В верхнем блоке можно прочитать частично обрезанное «Vavcopinitegoos vicootes», а в нижнем — немного размытое «Apoploe vesrreaitais». Эти несуществующие слова исследователи затем использовали при составлении новых запросов к модели. Оказалось, что по запросу «vicootes» DALL·E 2 обычно генерирует что-то отдалённо напоминающее овощи, а в ответ на запрос «Apoploe vesrreaitais» чаще всего выдаёт изображения птиц. Дарас и Димакис предположили, что фермеры на созданной нейросетью картинке обсуждают птиц, вредящих овощам.
Аналогичный трюк исследователи проделали с запросом «two whales talking about food, with subtitles» [два кита разговаривают о еде, с субтитрами]. Изображение, сгенерированное нейросетью по этому запросу, действительно содержит изображение двух мирно беседующих китов, а виднеющиеся на картинке тарабарские «субтитры» можно прочитать как «wa ch zod ahaakes rea». Если эту фразу использовать в качестве запроса, то нейросеть генерирует картинки, на которых изображена жареная рыба, приготовленные креветки и моллюски в ракушках.
По утверждению Дараса и Димакиса, комбинация в запросе «выдуманных» нейросетью выражений также приводит к получению вполне определённых результатов. Так, в ответ на «Apoploe vesrreaitais eating Contarra ccetnxniams luryca tanniounons» DALL·E 2 генерирует изображения птиц, поедающих нечто похожее на насекомых.
Впрочем, исследователи достаточно осторожны в своих выводах. Например, в статье они нигде не утверждают, что нейросеть создала новый язык. Речь идёт только о некотором наборе выражений, словаре, каждый элемент которого сеть ассоциирует с определёнными визуальными образами. Также Дарас и Димакис отмечают, что изобретённый ими способ работает не всегда. Иногда использование в качестве запроса сгенерированного моделью текста приводит к появлению случайных изображений. Однако исследователи обнаружили, что «…с помощью некоторых экспериментов (выбора нескольких слов, запуска различных подготовленных текстов и т. д.) мы обычно можем найти слова, которые выглядят как случайные, но коррелируют с некоторой визуальной концепцией (по крайней мере в некоторых контекстах)». Также они отмечают, что воспроизводимость результатов существенно хуже, чем в случае запросов на английском языке, скорее речь идёт о частотной корреляции. К примеру, запрос «Contarra ccetnxniams luryca tanniounons» создаёт изображения насекомых лишь примерно в половине случаев, в прочих же случаях на сгенерированных картинках оказываются чаще всего различные животные. Запрос «Apoploe vesrreaitais» ещё менее устойчив и, помимо птиц, часто приводит к генерации картинок с летающими насекомыми[54].
Вдохновившись этими результатами, исследователи поделились радостью с читателями твиттера. Именно тут Яннис Дарас неосторожно употребил словосочетание «тайный язык»[55]. Журналисты и блогеры тут же развили эту идею — теперь это был уже не просто «тайный язык», а тайный язык, который учёные не могут расшифровать (и на котором нейросети, видимо, уже сговариваются между собой о том, чтобы свергнуть ненавистное ярмо человеческого гнёта).
Отчасти проверке результатов Дараса и Димакиса мешал тот факт, что доступ к DALL·E 2 получило лишь небольшое количество избранных пользователей. Кроме того, сами авторы, по сути, основывали свои утверждения всего на нескольких примерах, и было неясно, насколько масштабным был наблюдаемый эффект. Говоря о частотных корреляциях, авторы не приводили никаких численных оценок, что вызывало ещё больше вопросов. Вскоре появилась критика исследования от других людей, в том числе от тех, кто также получил доступ к модели. Результаты авторов воспроизводились не полностью, например запрос «Apoploe vesrreaitais eating Contarra ccetnxniams luryca tanniounons», кроме птиц с пойманными насекомыми, регулярно приводил к появлению на сгенерированных картинках овощей и пожилых женщин[56]. Подробный разбор выполнил в своём твиттере[57] известный специалист по машинному обучению из Германии Йоша Бах.
Итак, что же произошло на самом деле? В основе DALL·E 2 лежит трансформерная нейросеть, которая в процессе обучения учится сопоставлению изображений текстам. Однако подобно тому, как GPT-сети в силу имеющихся ограничений не могут пока в полной мере справиться со структурой естественного языка, DALL·E 2 не может до конца «постичь» связь между текстом в запросе и визуальным воплощением текста на картинке. Работает это в лучшем случае только со сравнительно короткими текстами и отдельными символами[58], [59]. Не говоря уже о ситуации, когда модель просят не просто изобразить на картинке заданный текст, а ещё и выдумать этот текст. Всё, что мы получаем в итоге, — это галлюцинации: что-то, что напоминает текст с точки зрения представлений модели, но текстом как таковым не является. Всё, что модель смогла выучить о тексте, — что это последовательность зрительных образов, напоминающих буквы. Она даже выучила отдельные буквы, но более высокоуровневые операции с ними ей просто неподвластны. Модель пытается изобразить на картинке текст, но в результате сочетание буквоподобных символов практически каждый раз получается разным (из-за того, что на старте диффузионной генерации используется случайный шум). Если бы Дарас и Димакис повторили генерацию изображений с китами или фермерами сотню раз, то, скорее всего, получили бы сотню разных «текстов». Даже если вы попросите современную генеративную модель нарисовать картинку с определённым текстом, то начиная с некоторой длины этого текста многие генерации будут содержать текст с ошибками — с заменой или исчезновением отдельных букв или даже с добавлением новых, а иногда в тексте будут и вовсе возникать несуществующие буквы.
Интереснее вопрос, а что же рисуют модели, получив на вход несуществующие слова? Увы, у модели нет опции ответить на ваш запрос что-то вроде: «Такой штуки не существует! Я не знаю, как это выглядит!» Текстовый кодировщик применяет к тарабарщине выученные им преобразования, и получается некоторое внутреннее представление, которое остальная часть сети преобразует затем в изображение. Внутреннее представление будет основываться на каких-то случайных отдалённых ассоциациях. Например, бессмысленное слово apoploe похоже на apodidae, латинское название семейства «стрижи» (оба слова начинаются на apo и заканчиваются на «e», с разницей в длине всего в одну букву), contarra ccetnxniams, вероятно, «напомнило» нейросети латинское название каких-то насекомых (coleoptera — это жуки), vicootes, видимо, похоже на английское vegetables [овощи] или на финское vihannes с тем же значением (по крайней мере, все три слова начинаются на v и заканчиваются на es, а финское слово и вовсе имеет ту же длину и совпадает с «тарабарским» по первым двум и последним двум буквам). В целом современные модели, предназначенные для создания изображений по тексту, обычно справляются со своей задачей, даже если в отдельных словах допущены орфографические ошибки. Однако чем больше искажений мы вносим в слова, тем менее стабильными становятся ассоциации модели. В конце концов, если допустить в слове «хлеб» четыре ошибки, то получится «пиво».
Впрочем, в каком-то смысле говорить о наличии у моделей собственного языка можно. В конце концов текстовый кодировщик превращает текст на естественном языке в некоторое внутреннее представление, которое уже определённо не похоже на человеческий язык, хотя и содержит в себе информацию, достаточную для синтеза соответствующего визуального образа. Кроме того, в процессе обучения нейросеть выучивает вполне однозначные преобразования, позволяющие получить это внутреннее представление из текста на естественном языке. И для одного и того же текста мы всегда будем получать одно и то же внутреннее представление (это и придаёт некоторую стабильность изображениям, возникающим по запросам с несуществующими словами). Однако в полной мере называть языком внутренние представления нейросетей, предназначенных для генерации изображений по тексту, нельзя. Ведь они являются специфичными для конкретной сети, а значит, такой «язык» никак не может выполнять одну из основных функций настоящего языка — коммуникативную.
И всё-таки модели, научившиеся в ходе обучения связывать человеческий язык и визуальные образы, — удивительное достижение современных технологий. И диффузионные трансформерные модели стали очень важным шагом вперёд не только с точки зрения улучшения качества генерации изображений, но и с точки зрения развития мультимодальных систем в целом.
Вообще с конца 2021 г. начинается настоящий бум диффузионных моделей для генерации изображений. Именно в ходе него появляются открытая модель StableDiffusion[60] от компании StabilityAI (и множество её клонов), уже упоминавшаяся нами модель GLIDE, а также DALL·E 2[61] и DALL·E 3[62] от OpenAI, Imagen[63] от Google, целых шесть версий (V1, V2, V3, V4, V5, V5.1) Midjourney[64], [65] от Midjourney Inc., Matryoshka от Meta[66], IF[67] от лаборатории DeepFloyd в StabilityAI, наши, сберовские модели Kandinsky 2.0[68], Kandinsky 2.1[69], [70] и Kandinsky 2.2[71]. Именно развитие диффузионных моделей привело к настоящей революции визуального генеративного искусства, серьёзно повлиявшей на креативную индустрию. За 2022 и первую половину 2023 г. при помощи генеративных моделей по текстовым запросам было создано около 15 млрд изображений (для сравнения: с появления первой фотографии в 1826 г. и до 15-миллиардной прошло почти 150 лет) [72]. В результате в наши дни уже трудно найти человека, который не в курсе изобразительных способностей машин. На базе генеративных моделей быстро стали появляться различные инструменты, позволяющие цифровым художникам решать самые разные прикладные задачи, да и сами генеративные сети стали «обрастать» новыми режимами работы. Например, при помощи Stable Diffusion, Midjourney и Kandinsky вы можете не только создать новое изображение, но и дорисовать существующее. Сеть может на основе текстового запроса в режиме «врисовка» [inpainting] дорисовать содержимое вырезанной части изображения, в режиме «обрисовка» [outpainting] продолжить ваше изображение за пределы холста, в режиме «смешивание» [blending] смешать в заданной пропорции два изображения или же существующее изображение со сгенерированным по текстовому описанию. Созданы и более хитрые инструменты, такие как, например, смешивание с сохранением геометрии объектов исходного изображения (для этого используются вспомогательные нейросети из семейства ControlNet[73]). Революция в области генеративной графики не могла не привлечь внимание крупных компаний, разрабатывающих инструменты для работы с изображениями. Так, компания Adobe добавила в свой графический редактор Photoshop новые функции, основанные на нейросетевых моделях (например, функцию генеративной заливки [generative fill])[74].
По мере совершенствования архитектур, роста размера и количества данных, на которых происходит обучение, генеративные сети становятся способны корректно обрабатывать всё более сложные и нестандартные текстовые запросы. Ещё недавно одной из типичных проблем генеративных моделей компьютерного зрения была их неспособность без ошибок нарисовать человеческие руки — с правильным числом и расположением пальцев. Но сегодня наиболее продвинутые модели чаще всего уже справляются с этой задачей. Вообще, как известно, нерекуррентные трансформерные модели не слишком хорошо умеют считать — с задачей подсчёта даже сравнительно небольшого числа объектов на генерируемой картинке (будь то пальцы, концы звезды, люди и т. д.) могут справиться только действительно большие нейросети, обученные на огромном числе соответствующих примеров. Другая проблема — создание сложных и необычных сочетаний объектов. Например, для большинства современных моделей уже не является проблемой изобразить астронавта на лошади, но если попросить модель нарисовать лошадь верхом на астронавте, то уже возникают большие трудности[75]. Придумавший этот пример Гэри Маркус, профессор кафедры психологии Нью-Йоркского университета и специалист по ИИ, считает это одной из ярких иллюстраций того, что нейросетевые модели ограничены в постижении так называемой композициональности — свойства естественного языка, в соответствии с которым значение сложного выражения функционально зависит от значений отдельных его частей и способа, которым эти части комбинируются друг с другом, то есть по сути синтаксиса. По мнению Маркуса, композициональность сама собой не может быть постигнута современными нейросетевыми моделями за счёт увеличения количества обучающих данных. Для того чтобы решить эту проблему, по мнению Маркуса нужны специальные архитектуры[76].
Впрочем, сегодня некоторые модели научились рисовать и лошадей на астронавтах, хотя такие примеры до сих пор плохо работают «из коробки» — для того чтобы получить требуемый результат, требуются усилия промпт-инженеров[77]. Исследователь из Microsoft Джеймс Маккаммон придумал для обозначения такого типа запросов специальный термин «антагонистические запросы» [antagonistic prompts]; в своей статье он предлагает развёрнутую классификацию таких запросов и оценивает способность Midjourney 5.1 справляться с ними[78]. В наши дни исследователи активно ищут способы улучшения работы моделей, генерирующих изображения, в том числе и в таких сложных случаях[79].
Помимо обработки антагонистических запросов, сегодня на повестке дня стоит умение моделей воспринимать максимально детализированные описания (например, не просто нарисовать лицо человека, а воспроизвести его облик по подробному описанию, включающему форму носа, цвет и форму глаз, губ и т. д.). Кроме того, сегодня исследователи опробуют нейросетевые модели в задачах генерации зрительных образов, обладающих большей размерностью: например в задачах генерации видео (о них мы подробнее поговорим в следующем разделе) и в задачах генерации трёхмерных объектов. К числу последних относятся модели для таких задач, как генерации полигональных сеток [mesh] трёхмерных объектов (например, модель TextMesh[80]), нейросетевой рендеринг (обычно при помощи моделей из семейства NeRF (Neural radiance field, Нейронное поле яркости)[81] — RegNeRF[82], DreamFusion[83], Instant NeRF[84] и т. д.), генерация изображений вместе с картами глубин (например, LDM3D[85]), построение карт глубин на основе имеющихся (в том числе сгенерированных) изображений — например MiDaS (Mixed Data Sampling, Смешанное семплирование данных)[86], и так далее. В марте 2023 г. был опубликован[87] датасет под названием Objaverse-XL, включающий в себя более 10 млн трёхмерных объектов, снабжённых текстовыми описаниями (при этом в предыдущей версии Objaverse, вышедшей в декабре 2022 г., их было лишь чуть больше 800 тысяч[88]), что открыло дверь для создания новых, более совершенных моделей для 3D-генерации.
Успехи графических генеративных нейросетей вызвали нешуточную полемику в сообществе профессиональных дизайнеров и художников[89], едва ли не более ожесточённую, чем споры времён появления фотографии. Впрочем, возможно, и на авторегрессионных моделях генерации изображений пока рано ставить крест: по крайней мере Parti[90] от Google и Craiyon (бывшая DALL-E Mini, переименованная по требованию OpenAI) [91] от Craiyon LLC также порой демонстрируют интересные результаты.
Рис. 174. Изображение, сгенерированное моделью Kandinsky 2.1 по запросу «"Обворожительная хозяйка медной горы" , стиль: 4k»
Рис. 175. Изображение, сгенерированное моделью Kandinsky 2.1 по запросу
«"Ктулху в дыму", стиль: 4k»
Вообще, успех фундаментальных моделей в области обработки естественного языка, а также генерации изображений по тексту подтолкнул специалистов из области компьютерного зрения к активным экспериментам в области этой парадигмы — действительно, почему бы не сделать предобученную модель, которую затем можно будет использовать для решения самых разных задач в области обработки изображений? В результате вслед за CLIP и DALL·E на свет появились такие модели, как FLORENCE[92] и NÜWA (Visual Synthesis Pre-training for Neural visUal World creAtion, Предобучение визуального синтеза для нейросетевого создания визуальных миров)[93] от исследователей из Microsoft, ALIGN от Google Research[94], а также основанные на MoE-подходе V-MoE от Google Brain[95] и WuDao 2.0 от Пекинской академии искусственного интеллекта[96].
Не остались в долгу и специалисты от DeepMind, представившие публике собственную модель под названием Flamingo, предназначенную для решения примерно того же спектра задач. Для обозначения этого класса моделей специалисты предлагают использовать термин «визуальные языковые модели» (Visual Language Models, VLMs). Flamingo имеет 80 млрд параметров и состоит из двух частей (отвечающих за текстовое и графическое представление соответственно), а также отдельной нейронной сети, обеспечивающей связь этих двух представлений[97], [98]. Фактически роль первой части играет языковая модель Chinchilla с 70 млрд параметров, обученная специалистами DeepMind в ходе одного из предыдущих исследований. Напомним, что эта модель знаменита тем, что при существенно меньшем числе параметров в ряде тестов побеждает более «тяжёлые» аналоги, такие, например, как GPT-3 со 175 млрд параметров, Gopher (280 млрд параметров) и даже Megatron-Turing NLG (530 млрд параметров)[99], [100].
В начале 2023 г. исследователи из Meta представили[101] публике проект SA (Segment Anything, Сегментируй всё): новую задачу, модель SAM (Segment Anything Model) и набор данных SA-1B для сегментации изображений (то есть по сути генерации масок, выделяющих на изображении фрагменты, обладающие заданными свойствами, например содержащие объекты определённого типа), включающий более чем 1 млрд масок и 11 млн изображений. Фактически SAM способна для любого изображения сгенерировать маску на основе текстового запроса. Это позволяет решать множество задач компьютерного зрения в режиме zero-shot.
- ↑ Zhang H., Xu T., Li H., Zhang S., Wang X., Huang X., Metaxas D. (2018). StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks // https://arxiv.org/abs/1710.10916
- ↑ Wah C., Branson S., Welinder P., Perona P., Belongie S. (2011). The Caltech-UCSD Birds-200-2011 Dataset. Technical Report CNS-TR2011-001, California Institute of Technology // http://www.vision.caltech.edu/visipedia/papers/CUB_200_2011.pdf
- ↑ Zhang H., Xu T., Li H., Zhang S., Wang X., Huang X., Metaxas D. (2017). StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks // https://arxiv.org/abs/1710.10916
- ↑ Sun W., Chen Z. (2019). Learned Image Downscaling for Upscaling using Content Adaptive Resampler // https://arxiv.org/abs/1907.12904
- ↑ Lim B., Son S., Kim H., Nah S., Lee K. M. (2017). Enhanced Deep Residual Networks for Single Image Super-Resolution // https://arxiv.org/abs/1707.02921
- ↑ Ma C., Rao Y., Cheng Y., Chen C., Lu J., Zhou J. (2020). Structure-Preserving Super Resolution with Gradient Guidance // https://arxiv.org/abs/2003.13081
- ↑ Niu B., Wen W., Ren W., Zhang X., Yang L., Wang S., Zhang K., Cao X., Shen H. (2020). Single Image Super-Resolution via a Holistic Attention Network // https://arxiv.org/abs/2008.08767
- ↑ Kawulok M., Benecki P., Piechaczek S., Hrynczenko K., Kostrzewa D., Nalepa J. (2019). Deep Learning for Multiple-Image Super-Resolution // https://arxiv.org/abs/1903.00440
- ↑ Zhu M., Pan P., Chen W., Yang Y. (2019). DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis // https://arxiv.org/abs/1904.01310
- ↑ Xu T., Zhang P., Huang Q., Zhang H., Gan Z., Huang X., He X. (2017). AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks // https://arxiv.org/abs/1711.10485
- ↑ Liang J., Pei W., Lu F. (2019). CPGAN: Full-Spectrum Content-Parsing Generative Adversarial Networks for Text-to-Image Synthesis // https://paperswithcode.com/paper/cpgan-full-spectrum-content-parsing
- ↑ Parmar N., Vaswani A., Uszkoreit J., Kaiser Ł., Shazeer N., Ku A., Tran D. (2018). Image Transformer // https://arxiv.org/abs/1802.05751
- ↑ Wu B., Xu C., Dai X., Wan A., Zhang P., Yan Z., Tomizuka M., Gonzalez J., Keutzer K., Vajda P. (2020). Visual Transformers: Token-based Image Representation and Processing for Computer Vision // https://arxiv.org/abs/2006.03677
- ↑ Dosovitskiy A., Beyer L., Kolesnikov A., Weissenborn D., Zhai X., Unterthiner T., Dehghani M., Minderer M., Heigold G., Gelly S., Uszkoreit J., Houlsby N. (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale // https://arxiv.org/abs/2010.11929
- ↑ Touvron H., Cord M., Douze M., Massa F., Sablayrolles A., Jégou H. (2020). Training data-efficient image transformers & distillation through attention // https://arxiv.org/abs/2012.12877
- ↑ Liu Z., Lin Y., Cao Y., Hu H., Wei Y., Zhang Z., Lin S., Guo B. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows // https://arxiv.org/abs/2103.14030
- ↑ Carion N., Massa F., Synnaeve G., Usunier N., Kirillov A., Zagoruyko S. (2020). End-to-end Object Detection with Transformers // https://ai.facebook.com/research/publications/end-to-end-object-detection-with-transformers
- ↑ Zhu X., Su W., Lu L., Li B., Wang X., Dai J. (2020). Deformable DETR: Deformable Transformers for End-to-End Object Detection // https://arxiv.org/abs/2010.04159
- ↑ Guo J., Han K., Wu H., Xu C., Tang Y., Xu C., Wang Y. (2021). CMT: Convolutional Neural Networks Meet Vision Transformers // https://arxiv.org/abs/2107.06263
- ↑ Wu H., Xiao B., Codella N., Liu M., Dai X., Yuan L., Zhang L. (2021). CvT: Introducing Convolutions to Vision Transformers // https://arxiv.org/abs/2103.15808
- ↑ Touvron H., Cord M., Sablayrolles A., Synnaeve G., Jégou H. (2021). Going deeper with Image Transformers // https://arxiv.org/abs/2103.17239
- ↑ Yuan K., Guo S., Liu Z., Zhou A., Yu F., Wu W. (2021). Incorporating Convolution Designs into Visual Transformers // https://arxiv.org/abs/2103.11816
- ↑ Chen M., Peng H., Fu J., Ling H. (2021). AutoFormer: Searching Transformers for Visual Recognition // https://arxiv.org/abs/2107.00651
- ↑ Han K., Xiao A., Wu E., Guo J., Xu C., Wang Y. (2021). Transformer in Transformer // https://arxiv.org/abs/2103.00112
- ↑ Wang Y., Huang R., Song S., Huang Z., Huang G. (2021). Not All Images are Worth 16x16 Words: Dynamic Transformers for Efficient Image Recognition // https://arxiv.org/abs/2105.15075
- ↑ Chen X., Hsieh C.-J., Gong B. (2021). When Vision Transformers Outperform ResNets without Pre-training or Strong Data Augmentations // https://arxiv.org/abs/2106.01548
- ↑ Dai Z., Liu H., Le Q. V., Tan M. (2021). CoAtNet: Marrying Convolution and Attention for All Data Sizes // https://arxiv.org/abs/2106.04803
- ↑ Liu Z., Hu H., Lin Y., Yao Z., Xie Z., Wei Y., Ning J., Cao Y., Zhang Z., Dong L., Wei F., Guo B. (2021). Swin Transformer V2: Scaling Up Capacity and Resolution // https://arxiv.org/abs/2111.09883
- ↑ Li Y., Wu C.-Y., Fan H., Mangalam K., Xiong B., Malik J., Feichtenhofer C. (2021). Improved Multiscale Vision Transformers for Classification and Detection // https://arxiv.org/abs/2112.01526
- ↑ Dong X., Bao J., Zhang T., Chen D., Zhang W., Yuan L., Chen D., Wen F., Yu N. (2021). PeCo: Perceptual Codebook for BERT Pre-training of Vision Transformers // https://arxiv.org/abs/2111.12710
- ↑ Wu S., Wu T., Tan H., Guo G. (2021). Pale Transformer: A General Vision Transformer Backbone with Pale-Shaped Attention // https://arxiv.org/abs/2112.14000
- ↑ Liu Z., Mao H., Wu C.-Y., Feichtenhofer C., Darrell T., Xie S. (2022). A ConvNet for the 2020s // https://arxiv.org/abs/2201.03545
- ↑ Chen X., Liang C., Huang D., Real E., Wang K., Liu Y., Pham H., Dong X., Luong T., Hsieh C.-J., Lu Y., Le Q. V. (2023). BASIC-L: Symbolic Discovery of Optimization Algorithms // https://arxiv.org/abs/2302.06675
- ↑ CoCa: Chen X., Liang C., Huang D., Real E., Wang K., Liu Y., Pham H., Dong X., Luong T., Hsieh C.-J., Lu Y., Le Q. V. (2022). Symbolic Discovery of Optimization Algorithms // https://arxiv.org/abs/2302.06675
- ↑ Ramesh A., Pavlov M., Goh G., Gray S., Chen M., Child R., Misra V., Mishkin P, Krueger G., Agarwal S., Sutskever I. (2021). DALL·E: Creating Images from Text / OpenAI Blog, January 5, 2021 // https://openai.com/blog/dall-e/
- ↑ Radford A., Sutskever I., Kim J. W., Krueger G., Agarwal S. (2021). CLIP: Connecting Text and Images / OpenAI Blog, January 5, 2021 // https://openai.com/blog/clip/
- ↑ Radford A., Sutskever I., Kim J. W., Krueger G., Agarwal S. (2021). CLIP: Connecting Text and Images / OpenAI Blog, January 5, 2021 // https://openai.com/blog/clip/
- ↑ Radford A., Kim J. W., Hallacy C., Ramesh A., Goh G., Agarwal S., Sastry G., Askell A., Mishkin P., Clark J., Krueger G., Sutskever I. (2021). Learning Transferable Visual Models From Natural Language Supervision // https://arxiv.org/abs/2103.00020
- ↑ Schuhmann C., Beaumont R., Vencu R., Gordon C., Wightman R., Cherti M., Coombes T., Katta A., Mullis C., Wortsman M., Schramowski P., Kundurthy S., Crowson K., Schmidt L., Kaczmarczyk R., Jitsev J. (2022). LAION-5B: An open large-scale dataset for training next generation image-text models // https://arxiv.org/abs/2210.08402
- ↑ Schuhmann C., Vencu R., Beaumont R., Kaczmarczyk R., Mullis C., Katta A., Coombes T., Jitsev J., Komatsuzaki A. (2021). LAION-400M: Open Dataset of CLIP-Filtered 400 Million Image-Text Pairs // https://arxiv.org/abs/2111.02114
- ↑ Ramesh A., Pavlov M., Goh G., Gray S., Voss C., Radford A., Chen M., Sutskever I. (2021). Zero-Shot Text-to-Image Generation // https://arxiv.org/abs/2102.12092
- ↑ https://github.com/sberbank-ai/sber-vq-gan
- ↑ Wang X., Yu K., Wu S., Gu J., Liu Y., Dong C., Loy C. C., Qiao Y., Tang X. (2018). ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks // https://arxiv.org/abs/1809.00219
- ↑ Сбер создал первую мультимодальную нейросеть ruDALL-E, которая генерирует картинки по описанию на русском языке (2021) / Sber Press, 2 ноября 2021 // https://press.sber.ru/publications/sber-sozdal-pervuiu-multimodalnuiu-neiroset-rudall-e-kotoraia-generiruet-kartinki-po-opisaniiu-na-russkom-iazyke
- ↑ Димитров Д. (2021). ruDALL-E: генерируем изображения по текстовому описанию, или Самый большой вычислительный проект в России / Хабр, 2 ноября // https://habr.com/ru/company/sberbank/blog/586926/
- ↑ https://github.com/sberbank-ai/ru-dalle
- ↑ Nichol A., Dhariwal P., Ramesh A., Shyam P., Mishkin P., McGrew B., Sutskever I., Chen M. (2021). GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models // https://arxiv.org/abs/2112.10741
- ↑ Gupta T., Kamath A., Kembhavi A., Hoiem D. (2021). Towards General Purpose Vision Systems // https://arxiv.org/abs/2104.00743
- ↑ * Гипермодальность — свойство мультимодальной модели, позволяющее ей использовать как на входе, так и на выходе данные, представленные любым подмножеством поддерживаемых модальностей, а не только какой-либо одной. В случае ruDOLPH это означает, что как на входе, так и на выходе модели могут быть либо только текст, либо только изображение, либо последовательности вида «изображение — текст» или «текст — изображение».
- ↑ Shonenkov A., Konstantinov M. (2021). RuDOLPH: One Hyper-Modal Transformer can be creative as DALL-E and smart as CLIP // https://github.com/sberbank-ai/ru-dolph
- ↑ Ramesh A., Dhariwal P., Nichol A., Chu C., Chen M. (2022). Hierarchical Text-Conditional Image Generation with CLIP Latents // https://arxiv.org/pdf/2204.06125.pdf
- ↑ Daras G., Dimakis A. G. (2022). Discovering the Hidden Vocabulary of DALLE-2 // https://arxiv.org/abs/2206.00169
- ↑ * Blackbox-методы или методы «чёрного ящика» — обобщённое название методов, которые анализируют тот или иной объект лишь через взаимодействие с ним, не заглядывая в его внутреннее устройство.
- ↑ Костенков А. (2022). Нейросеть DALL-E 2 создала собственный язык: правда, не совсем, и совсем не? / Habr, 18 июня 2022 // https://habr.com/ru/companies/ruvds/articles/672046/
- ↑ Daras G. (2022). / Twitter, 31 мая 2022 // https://twitter.com/giannis_daras/status/1531693093040230402
- ↑ Quach K. (2022). No, OpenAI's image-making DALL·E 2 doesn't understand some secret language / The Register, 7 Jun 2022 // https://www.theregister.com/2022/06/07/in_brief_ai/
- ↑ Bach J. (2022). / Twitter, 31 мая 2022 // https://twitter.com/Plinz/status/1531711345585860609
- ↑ * Создатели моделей для генерации изображений стремятся улучшить эту ситуацию: например, запущенный в августе 2023 г. сервис Ideogram способен справиться с визуализацией небольших предложений. В основе сервиса лежит диффузионная генеративная модель, в создании которой принимали участие разработчики нейросети Imagen. Появившаяся в октябре 2023 г. DALL·E 3 также продемонстрировала весьма значительный прогресс в задаче визуализации текстов.
- ↑ Norouzi M., Chan W., Ho J., Saharia C., Abdullah S., Lei J., Lu J. (2023). Announcing Ideogram AI // https://ideogram.ai/launch
- ↑ Rombach R., Blattmann A., Lorenz D., Esser P., Ommer B. (2021). High-Resolution Image Synthesis with Latent Diffusion Models // https://arxiv.org/abs/2112.10752
- ↑ Quach K. (2022). No, OpenAI's image-making DALL·E 2 doesn't understand some secret language / The Register, 7 Jun 2022 // https://www.theregister.com/2022/06/07/in_brief_ai/
- ↑ OpenAI (2023). DALL·E 3 system card // https://openai.com/research/dall-e-3-system-card
- ↑ Saharia C., Chan W., Saxena S., Li L., Whang J., Denton E., Ghasemipour S. K. S., Ayan B. K., Mahdavi S. S., Lopes R. G., Salimans T., Ho J., Fleet D. J., Norouzi N. (2022). Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding // https://arxiv.org/abs/2205.11487
- ↑ Midjourney LLC (2022). Midjourney Documentation // https://docs.midjourney.com/v1/en
- ↑ Vincent J. (2022). ‘An engine for the imagination’: the rise of AI image generators. An interview with Midjourney founder David Holz. / The Verge, Aug 2, 2022 // https://www.theverge.com/2022/8/2/23287173/ai-image-generation-art-midjourney-multiverse-interview-david-holz
- ↑ Gu J., Zhai S., Zhang Y., Susskind J., Jaitly N. (2023). Matryoshka Diffusion Models // https://arxiv.org/abs/2310.15111
- ↑ Shonenkov A., Konstantinov M., Bakshandaeva D., Schuhmann C., Ivanova K., Klokova N. (2023). IF by DeepFloyd Lab at StabilityAI // https://github.com/deep-floyd/IF
- ↑ Разжигаев А. (2022). Kandinsky 2.0 — первая мультиязычная диффузия для генерации изображений по тексту. / Habr, 23 ноя 2022 // https://habr.com/ru/companies/sberbank/articles/701162/
- ↑ Razzhigaev A., Shakhmatov A., Maltseva A., Arkhipkin V., Pavlov I., Ryabov I., Kuts A., Panchenko A., Kuznetsov A., Dimitrov D. (2023). Kandinsky: an Improved Text-to-Image Synthesis with Image Prior and Latent Diffusion // https://arxiv.org/abs/2310.03502
- ↑ Кузнецов А. (2022). Kandinsky 2.1, или Когда +0,1 значит очень много. / Habr, 4 апр 2023 // https://habr.com/ru/companies/sberbank/articles/725282/
- ↑ Димитров Д. (2023). Kandinsky 2.2 — новый шаг в направлении фотореализма / Habr, 12 июля 2023. // https://habr.com/ru/companies/sberbank/articles/747446/
- ↑ Valyaeva A. (2023). AI Has Already Created As Many Images As Photographers Have Taken in 150 Years. Statistics for 2023 / Everypixel Journal, 15.08.2023 // https://journal.everypixel.com/ai-image-statistics
- ↑ Zhang L., Agrawala M. (2023). Adding Conditional Control to Text-to-Image Diffusion Models // https://arxiv.org/abs/2302.05543
- ↑ Adobe (2023). Generative Fill // https://www.adobe.com/products/photoshop/generative-fill.html
- ↑ Marcus G. (2022). Horse rides astronaut / The Road to AI We Can Trust, 28.05.2022 // https://garymarcus.substack.com/p/horse-rides-astronaut
- ↑ Marcus G. (2022). Compositionality and Natural Language Understanding [slides] / The Challenge of Compositionality for AI / June 29-30, 2022 // https://compositionalintelligence.github.io/pdfs/Marcus.pdf
- ↑ * Промпт-инженер — специалист по составлению запросов (затравок, промптов) [prompts] для генеративных нейронных сетей; промпт-инжиниринг — дисциплина, занимающаяся вопросами сочинения или оптимизации промптов; по сути промпт-инжиниринг является развитием идеи «затравочного программирования», знакомого нам по цитировавшимся ранее высказываниям Андрея Карпатого и Гверна Бренуэна.
- ↑ McCammon J. (2023). Can a horse ride an astronaut? A taxonomy of antagonistic Midjourney prompts / 96 layers, 12 июня 2023 // https://www.96layers.ai/p/can-a-horse-ride-an-astronaut
- ↑ Lovering C., Pavlick E. (2023). Training Priors Predict Text-To-Image Model Performance // https://arxiv.org/abs/2306.01755
- ↑ Tsalicoglou C., Manhardt F., Tonioni A., Niemeyer M., Tombari F. (2023). TextMesh: Generation of Realistic 3D Meshes From Text Prompts // https://arxiv.org/abs/2304.12439
- ↑ Mildenhall B., Srinivasan P. P., Tancik M., Barron J. T., Ramamoorthi R., Ng R. (2020). NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis // https://arxiv.org/abs/2003.08934
- ↑ Niemeyer M., Barron J. T., Mildenhall B., Sajjadi M. S. M., Geiger A., Radwan N. (2023). RegNeRF: Regularizing Neural Radiance Fields for View Synthesis from Sparse Inputs // https://arxiv.org/abs/2112.00724
- ↑ Poole B., Jain A., Barron J. T., Mildenhall B. (2022). DreamFusion: Text-to-3D using 2D Diffusion // https://arxiv.org/abs/2209.14988
- ↑ Müller T., Evans A., Schied C., Keller A. (2022). Instant Neural Graphics Primitives with a Multiresolution Hash Encoding // https://arxiv.org/abs/2201.05989
- ↑ Ben Melech Stan G., Wofk D., Fox S., Redden A., Saxton W., Yu J., Aflalo E., Tseng S.-Y., Nonato F., Muller M., Lal V. (2023). LDM3D: Latent Diffusion Model for 3D // https://arxiv.org/abs/2305.10853
- ↑ Ranftl R., Lasinger K., Hafner D., Schindler K., Koltun V. (2019). Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer // https://arxiv.org/abs/1907.01341
- ↑ Deitke M., Liu R., Wallingford M., Ngo H., Michel O., Kusupati A., Fan A., Laforte C., Voleti V., Gadre S. Y., VanderBilt E., Kembhavi A., Vondrick C., Gkioxari G., Ehsani K., Schmidt L., Farhadi A. (2023). Objaverse-XL: A Universe of 10M+ 3D Objects // https://arxiv.org/abs/2307.05663
- ↑ Deitke M., Schwenk D., Salvador J., Weihs L., Michel O., VanderBilt E., Schmidt L., Ehsani K., Kembhavi A., Farhadi A. (2022). Objaverse: A Universe of Annotated 3D Objects // https://arxiv.org/abs/2212.08051
- ↑ Cheung R. (2023). Is the Panic Over AI Art Overblown? We Speak With Artists and Experts. / Vice, February 22, 2023 // https://www.vice.com/en/article/ake53e/ai-art-lawsuits-midjourney-dalle-chatgpt
- ↑ Yu J., Xu Y., Koh J. Y., Luong T., Baid G., Wang Z., Vasudevan V., Ku A., Yang Y., Ayan B. K., Hutchinson B., Han W., Parekh Z., Li X., Zhang H., Baldridge J., Wu Y. (2022). Scaling Autoregressive Models for Content-Rich Text-to-Image Generation // https://arxiv.org/abs/2206.10789
- ↑ Craiyon LLC (2023). Frequently asked questions // https://www.craiyon.com/#faq
- ↑ Yuan L., Chen D., Chen Y.-L., Codella N., Dai X., Gao J., Hu H., Huang X., Li B., Li C., Liu C., Liu M., Liu Z., Lu Y., Shi Y., Wang L., Wang J., Xiao B., Xiao Z., Yang J., Zeng M., Zhou L., Zhang P. (2021). Florence: A New Foundation Model for Computer Vision // https://arxiv.org/abs/2111.11432
- ↑ Wu C., Liang J., Ji L., Yang F., Fang Y., Jiang D., Duan N. (2021). NÜWA: Visual Synthesis Pre-training for Neural visUal World creAtion // https://arxiv.org/abs/2111.12417
- ↑ Jia C., Yang Y., Xia Y., Chen Y.-T., Parekh Z., Pham H., Le Q. V., Sung Y., Li Z., Duerig T. (2021). Scaling Up Visual and Vision-Language Representation Learning With Noisy Text Supervision // https://arxiv.org/abs/2102.05918
- ↑ Riquelme C., Puigcerver J., Mustafa B., Neumann M., Jenatton R., Pinto A. S., Keysers D., Houlsby N. (2021). Scaling Vision with Sparse Mixture of Experts // https://arxiv.org/abs/2106.05974
- ↑ Romero A. (2021). GPT-3 Scared You? Meet Wu Dao 2.0: A Monster of 1.75 Trillion Parameters / towards data science, Jun 6, 2021 // https://towardsdatascience.com/gpt-3-scared-you-meet-wu-dao-2-0-a-monster-of-1-75-trillion-parameters-832cd83db484
- ↑ Alayrac J.-B., Donahue J., Luc P., Miech A. (2022). Tackling multiple tasks with a single visual language model / DeepMind blog, April 28, 2022 // https://www.deepmind.com/blog/tackling-multiple-tasks-with-a-single-visual-language-model
- ↑ Alayrac J.-B., Donahue J., Luc P., Miech A., Barr I., Hasson Y., Lenc K., Mensch A., Millican K., Reynolds M., Ring R., Rutherford E., Cabi S., Han T., Gong Z., Samangooei S., Monteiro M., Menick J., Borgeaud S., Brock A., Nematzadeh A., Sharifzadeh S., Binkowski M., Barreira R., Vinyals O., Zisserman A., Simonyan K. (2022). Flamingo: a Visual Language Model for Few-Shot Learning // https://storage.googleapis.com/deepmind-media/DeepMind.com/Blog/tackling-multiple-tasks-with-a-single-visual-language-model/flamingo.pdf
- ↑ Hoffmann J., Borgeaud S., Mensch A., Sifre L. (2022). An empirical analysis of compute-optimal large language model training / DeepMind blog, April 12, 2022 // https://www.deepmind.com/publications/an-empirical-analysis-of-compute-optimal-large-language-model-training
- ↑ Hoffmann J., Borgeaud S., Mensch A., Buchatskaya E., Cai T., Rutherford E., de Las Casas D., Hendricks L. A., Welbl J., Clark A., Hennigan T., Noland E., Millican K., van den Driessche G., Damoc B., Guy A., Osindero S., Simonyan K., Elsen E., Rae J. W., Vinyals O., Sifre L. (2022). Training Compute-Optimal Large Language Models // https://arxiv.org/abs/2203.15556
- ↑ Kirillov A., Mintun E., Ravi N., Mao H., Rolland C., Gustafson L., Xiao T., Whitehead S., Berg A. C., Lo W.-Y., Dollár P., Girshick R. (2023). Segment Anything // https://arxiv.org/abs/2304.02643