Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
На август 2020 г. эта архитектура лидировала по величине Inception score среди подобных моделей и обходила StackGAN и AttnGAN при оценке изображений людьми.
Но в самом начале 2021-го в этой области произошла очередная революция. Она была связана с появлением модели, получившей название DALL·E (в честь Сальвадора Дали и робота WALL-E из одноимённого анимационного фильма компании Pixar). Эта модель была создана исследователями из компании OpenAI. Архитектура генерирующей нейронной сети идентична версии модели GPT-3 с 13 млрд параметров. При этом используется словарь токенов, включающих в себя как элементы текста, так и элементы изображения. При обработке визуальных токенов используются несколько модифицированные матрицы внимания, но в целом перед нами наша старая знакомая, отличившаяся в задаче генерации текстов.
То, что трансформерные модели могут успешно обрабатывать изображения, было известно и ранее — пионерской работой в этом направлении в 2018 г. стала сеть Image Transformer [2811] . В 2020 г. на свет появились более совершенные модели — сначала Visual Transformer (Визуальный трансформер), или VT [2812] , затем Vision Transformer (Зрительный трансформер), или ViT [2813] , а затем улучшенные версии последнего — DEiT (Data-efficient image Transformer, Эффективный по отношению к данным трансформер изображений) [2814] и SWIN (от Shifted WINdow — сдвигающееся окно) [2815] . В том же году появились первые гибридные свёрточно-трансформерные архитектуры, например DETR (DEtection TRansformer, Трансформер обнаружения) [2816] от исследователей из Facebook, а чуть позже — его улучшенная версия Deformable DETR (Деформируемый DETR) [2817] . Созданная в 2021 г. гибридная нейросетевая архитектура — CMT (CNN Meet Transformers, Свёрточные нейронные сети сходятся с трансформерами) — позволила достичь при классификации изображений ImageNet точности top-1, равной 83,5%, что всего на 0,8 процентного пункта меньше, чем у лучшего варианта EfficientNet-B7 при примерно вдвое меньшем числе параметров [2818] . Вообще, 2021-й стал годом визуальных трансформеров — одно только перечисление новых вариантов трансформерных или гибридных архитектур для задач компьютерного зрения, созданных в этом году, заняло бы едва ли не целую страницу, поэтому вот лишь некоторые из них: CvT [2819] , CaiT [2820] , CeiT [2821] , AutoFormer [2822] , TNT [2823] , DVT [2824] , Mixer [2825] , CoAtNet [2826] , SwinV2 [2827] , MViT [2828] , PeCo [2829] , Pale Transformer [2830] и так далее.
2811
Parmar N., Vaswani A., Uszkoreit J., Kaiser L., Shazeer N., Ku A., Tran D. (2018). Image Transformer // https://arxiv.org/abs/1802.05751
2812
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
2813
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
2814
Touvron H., Cord M., Douze M., Massa F., Sablayrolles A., Jegou H. (2020). Training data-efficient image transformers & distillation through attention // https://arxiv.org/abs/2012.12877
2815
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
2816
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
2817
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
2818
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
2819
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
2820
Touvron H., Cord M., Sablayrolles A., Synnaeve G., Jegou H. (2021). Going deeper with Image Transformers // https://arxiv.org/abs/2103.17239
2821
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
2822
Chen M., Peng H., Fu J., Ling H. (2021). AutoFormer: Searching Transformers for Visual Recognition // https://arxiv.org/abs/2107.00651
2823
Han K., Xiao A., Wu E., Guo J., Xu C., Wang Y. (2021). Transformer in Transformer // https://arxiv.org/abs/2103.00112
2824
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
2825
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
2826
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
2827
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
2828
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
2829
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
2830
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
Очередные рекорды точности решения задач в этой области держались считаные дни, на смену трансформерам в первых строчках таблиц лидеров на paperswithcode.com вновь приходили свёрточные архитектуры (на них, по мнению некоторых исследователей [2831] , ещё рановато ставить крест), а им на смену — снова трансформеры или гибридные сети. При этом в ряде случаев достичь новой рекордной отметки помогали даже не изменения в архитектурах, а новые способы обучения или аугментации данных. На август 2023 г. первое место по top-1-точности классификации на датасете ImageNet занимает свёрточно-трансформерная архитектура BASIC-L [2832] (91,1%), обгоняя всего на 0,1% чисто трансформерную архитектуру CoCa (Contrastive Captioners, Контрастные подписыватели) [2833] . Однако к моменту выхода этой книги на верхних строчках таблицы рекордов окажутся уже, скорее всего, какие-то другие модели.
2831
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
2832
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
2833
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
Но вернёмся к DALL·E. Помимо генератора, DALL·E использует специальный ранжировщик, позволяющий отобрать из 512 изображений-кандидатов 32 наиболее удачных примера [2834] , [2835] . Этот ранжировщик оценивает степень соответствия изображения и его текстового описания и является отдельной нейронной сетью, получившей название CLIP (Contrastive Language–Image Pre-training, Контрастное предобучение для пары «язык — изображение») [2836] , [2837] .
2834
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/
2835
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/
2836
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/
2837
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
Изображения, сгенерированные DALL·E, поражают не только своим реализмом, но и тем, что сеть способна визуализировать довольно сложные описания, включающие в себя сложные отношения между различными частями генерируемого объекта. Это показывает, что сеть не просто запоминает примеры из гигантской обучающей выборки, а способна «понимать» сложные семантические связи между текстовыми и визуальными признаками.
В 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 [2838] , содержащий 5 млрд пар «текст — картинка»; даже LAION-400M [2839] c 400 млн пар появился лишь в конце 2021 г.). Проект по обучению ruDALL-E потребовал около 30 000 часов вычислений GPU Nvidia Tesla V100 и тем самым стал самым большим нейросетевым вычислительным проектом в России и СНГ.
2838
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
2839
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
Тогдашний исполнительный вице-президент, CTO Сбера, руководитель блока «Технологии» Давид Рафаловский так прокомментировал первые результаты этого проекта: «Помимо вклада в прогресс в области ИИ, генерация изображений закрывает две важных потребности современного бизнеса: возможность получить уникальную картинку под собственное описание, а также в любой момент создавать необходимое количество license-free-иллюстраций. При этом создание „мультимодальных“ нейронных сетей, которые обучаются сразу на нескольких видах данных, даже сейчас, в эпоху big data и огромных возможностей поиска, будет очень востребованным, поскольку решает задачи на принципиально ином уровне. Технология пока совсем новая, первые шаги в этом направлении были сделаны только в 2020 году, а ещё в 2018–2019 годах даже постановку такого рода задачи нельзя было себе представить. ruDALL-E можно считать настоящим прорывом для русскоязычной индустрии».
ruDALL-E в действительности является не просто реконструкцией DALL·E на основе разрозненных публикаций OpenAI, а в некотором роде развитием исходной модели. Так, оригинальный автокодировщик dVAE [2840] был заменён нами на собственный SBER VQ-GAN [2841] , обеспечивающий более качественную передачу человеческих лиц и некоторых других элементов изображений. Кроме того, к модели была добавлена ещё одна нейронная сеть на базе архитектуры ESRGAN [2842] , позволяющая увеличить размер сгенерированного изображения [2843] , [2844] . Младшие версии моделей были опубликованы [2845] нами в открытом доступе, что позволяет всем желающим использовать их в качестве компонентов собственных продуктов и сервисов.
2840
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
2841
https://github.com/sberbank-ai/sber-vq-gan
2842
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
2843
Сбер создал первую мультимодальную нейросеть 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
2844
Димитров Д. (2021). ruDALL-E: генерируем изображения по текстовому описанию, или Самый большой вычислительный проект в России / Хабр, 2 ноября // https://habr.com/ru/company/sberbank/blog/586926/
2845
https://github.com/sberbank-ai/ru-dalle
20 декабря 2021 г. исследователи из OpenAI представили публике новую модель, получившую название GLIDE (Guided Language to Image Diffusion for Generation and Editing, Управляемая диффузия «язык в изображение» для генерации и редактирования). В ней получили дальнейшее развитие идеи, воплощённые ранее в DALL-E. Модель состоит из двух нейросетей, первая из которых (с 3,5 млрд параметров) генерирует изображение размером 64x64 пикселя, а вторая (с 1,5 млрд параметров) увеличивает его размер до 256x256. GLIDE может быть использована как для создания новых изображений, так и для изменения существующих. Создатели модели обучили также её уменьшенную версию с 300 млн параметров, получившую название GLIDE (filtered), и выложили последнюю в открытый доступ [2846] .
2846
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
Ещё одна интересная модель, способная работать одновременно с естественным языком и с изображениями, — сеть GPV-I (General Purpose Vision system, Система общего назначения для задач компьютерного зрения) [2847] . Она получает на вход изображение, а также описание задания, которое необходимо выполнить. На выходе сеть генерирует ответы по заданию: набор ограничительных рамок [bounding boxes], степеней уверенности [confidences] и текстовую часть. Авторы приводят примеры работы модели, в которых сеть успешно справляется с заданиями «Какого цвета собака?», «Видны ли на изображении деревья?», «Найди собаку», «Сгенерируй описание картинки» и «Что это?» (с указанием ограничительной рамки вокруг кошки на картинке). Подобные DALL·E и GPV-I модели приближают момент, когда машины смогут решать произвольные интеллектуальные задачи для произвольных наборов входных данных, представленных в произвольных модальностях.
2847
Gupta T., Kamath A., Kembhavi A., Hoiem D. (2021). Towards General Purpose Vision Systems // https://arxiv.org/abs/2104.00743