Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:
Когда говорят о семантической манипуляции, то обычно имеют в виду, что каждому изображению сопоставлены одна или несколько семантических меток: например, фотографии человека сопоставлены метки возраста, пола, цвета кожи, типа причёски, наличия бороды и так далее. Алгоритм семантической манипуляции позволяет сгенерировать изображение, соответствующее исходному, но с другим значением семантических меток. Например, изменив признак наличия бороды для моей фотографии, можно взглянуть на то, как я мог бы выглядеть без бороды.
CycleGAN использовала некоторые решения, предложенные в более ранних исследованиях по GAN’ам. Например, вслед за авторами статьи 2016 г. «Обучение на основе симулированных и неразмеченных изображений при помощи состязательного подхода» (Learning from Simulated and Unsupervised Images through Adversarial Training) [2768] для исключения сильных колебаний при обучении модели создатели CycleGAN передавали в дискриминаторы не одно, а 50 последних сгенерированных изображений. Архитектура самих дискриминаторов была позаимствована у более ранней архитектуры [2769] , созданной командой Эфроса, под названием PatchGAN.
2768
Shrivastava A., Pfister T., Tuzel O., Susskind J., Wang W., Webb R. (2016). Learning from Simulated and Unsupervised Images through Adversarial Training // https://arxiv.org/abs/1612.07828
2769
Isola P., Zhu J.-Y., Zhou T., Efros A. A. (2016). Image-to-Image Translation with Conditional Adversarial Networks // https://arxiv.org/abs/1611.07004
Спустя несколько месяцев после появления CycleGAN была опубликована другая популярная в наши дни архитектура — StarGAN. Статья, в которой она была описана, так и называлась «StarGAN: унифицированные генеративно-состязательные сети для мультидоменного преобразования изображения в изображение» (StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation) [2770] .
Создателями новой архитектуры стали Юньдзей Чхве и его коллеги из Университета Корё (?????) в Сеуле и исследовательского центра компании Clova AI (NAVER Clova AI Research). StarGAN стала ответом исследователей на проблему преобразования изображений в случае наличия множества доменов. В примере с лошадьми и зебрами из работы авторов CycleGAN необходимо использование двух генераторов. Однако если мы добавим к лошадям и зебрам, допустим, пони, единорогов и жирафов, то нам потребуется уже целых 5 x 4 = 20 генераторов (из каждого домена мы должны уметь преобразовывать изображение во все домены, кроме исходного). При 10 доменах это будет уже 10 x 9 = 90 генераторов и так далее. Быстрый рост числа необходимых генераторов с увеличением числа доменов ведёт к пропорциональному росту вычислительных затрат на обучение модели. Чтобы решить эту проблему, создатели StarGAN предложили возложить на дискриминатор StarGAN сразу две задачи классификации. Первая из них — это обычная для дискриминаторов оценка степени правдоподобия того факта, что изображение, поданное на вход дискриминатора, является сгенерированным. Вторая задача — определение домена, к которому относится изображение. Генератор в StarGAN получает на вход, помимо исходного изображения, указание на целевой домен (кого мы хотим получить в результате: лошадь, зебру, жирафа и т. п.?). При этом, так же как и в CycleGAN, оценивается качество обратного преобразования (для этого генератор получает на вход сгенерированное изображение и указание на оригинальный домен изображения как на целевой).
2770
Choi Y., Choi M., Kim M., Ha J.-W., Kim S., Choo J. (2017). StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation // https://arxiv.org/abs/1711.09020
Модели, подобные StarGAN и CycleGAN, лежат в основе популярных в наши дни фильтров для семантической манипуляции фотографиями, позволяющих превратить безбородого человека в бородача (и наоборот), юношу в старика (и наоборот) и тому подобное.
Модель на базе GAN, предложенная [2771] в 2017 г. исследователями из японского Университета Васэда (?????), использует в качестве обусловливающего изображения для генератора изображение с закрашенными фрагментами. Благодаря применению GAN исследователям удалось добиться локальной и глобальной согласованности при заполнении недостающих частей картинки.
2771
Iizuka S., Simo-Serra E., Ishikawa H. (2017). Globally and Locally Consistent Image Completion / ACM Transactions on Graphics, Vol. 36, Iss. 4, Article 107, July 2017 // http://dx.doi.org/10.1145/3072959.3073659
Ту же задачу успешно решают более современные модели (2019 г.), такие как PEPSI [2772] и PEPSI++ (Diet-PEPSI) [2773] .
2772
Sagong M.-C., Shin Y.-G., Kim S.-W., Park S., Ko S.-J. (2019). PEPSI: Fast Image Inpainting With Parallel Decoding Network / 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) // https://doi.org/10.1109/CVPR.2019.01162
2773
Shin Y.-G., Sagong M.-C., Yeo Y.-J., Kim S.-W., Ko S.-J. (2019). PEPSI++: Fast and Lightweight Network for Image Inpainting // https://arxiv.org/abs/1905.09010
Используя модель PEPSI, энтузиасты быстро соорудили инструмент [2774] под названием DeepCreamPy, предназначенный для удаления цензуры с изображений, относящихся к жанру хентай (жанр японских комиксов и анимации, отличающийся наличием элементов эротики и/или порнографии).
Различных моделей GAN и их модификаций в наши дни создано превеликое множество: DCGAN [2775] , InfoGAN [2776] , DiscoGAN [2777] , ProGAN [2778] , WGAN [2779] , ImprovedWGAN [2780] , StyleGAN [2781] , StyleGAN2 [2782] , StyleGAN3 [2783] , StarGAN v2 [2784] и так далее.
2774
DeepCreamPy: Decensoring Hentai with Deep Neural Networks // https://github.com/deeppomf/DeepCreamPy
2775
Radford A., Metz L., Chintala S. (2015). Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks // https://arxiv.org/abs/1511.06434
2776
Chen X., Duan Y., Houthooft R., Schulman J., Sutskever I., Abbeel P. (2016). InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets // https://arxiv.org/abs/1606.03657
2777
Kim T., Cha M., Kim H., Lee J. K., Kim J. (2017). Learning to Discover Cross-Domain Relations with Generative Adversarial Networks // https://arxiv.org/abs/1703.05192
2778
Karras T., Aila T., Laine S., Lehtinen J. (2017). Progressive Growing of GANs for Improved Quality, Stability, and Variation // https://arxiv.org/abs/1710.10196
2779
Arjovsky M., Chintala S., Bottou L. (2017). Wasserstein GAN // https://arxiv.org/abs/1701.07875
2780
Gulrajani I., Ahmed F., Arjovsky M., Dumoulin V., Courville A. (2017). Improved Training of Wasserstein GANs // https://arxiv.org/abs/1704.00028
2781
Karras T., Laine S., Aila T. (2018). A Style-Based Generator Architecture for Generative Adversarial Networks // https://arxiv.org/abs/1812.04948
2782
Karras T., Laine S., Aittala M., Hellsten J., Lehtinen J., Aila T. (2019). Analyzing and Improving the Image Quality of StyleGAN // https://arxiv.org/abs/1912.04958
2783
Karras T., Aittala M., Laine S., Harkonen E., Hellsten J., Lehtinen J., Aila T. (2021). Alias-Free Generative Adversarial Networks // https://arxiv.org/abs/2106.12423
2784
Choi Y., Uh Y., Yoo J., Ha J.-W. (2019). StarGAN v2: Diverse Image Synthesis for Multiple Domains // https://arxiv.org/abs/1912.01865
Вот пример работы модели (StarGAN v2) для трансляции изображений между доменами:
А вот фотографии несуществующих людей, созданные при помощи модели StyleGAN2 от компании Nvidia:
В 2022 г. исследователи из Google Research продемонстрировали [2785] , как при помощи специальной техники, получившей название «самодистилляция» [self-distillation], можно обучать StyleGAN на неразмеченных изображениях, собранных в интернете. При этом модель успешно генерирует картинки высокого качества во многих доменах (в работе приводятся примеры генерации изображений львов, жирафов, слонов, попугаев и т. д.).
2785
Mokady R., Yarom M., Tov O., Lang O., Cohen-Or D., Dekel T., Irani M., Mosseri I. (2022). Self-Distilled StyleGAN: Towards Generation from Internet Photos // https://arxiv.org/abs/2202.12211
На сайте thisxdoesnotexist.com можно найти коллекцию GAN’ов для генерации изображений самых разных объектов: человеческих лиц, котиков, интерьеров, посуды, еды и даже несуществующих членов британского парламента.
Ниже приведено изображение из стэнфордского ежегодного доклада Artificial Intelligence Index Report за 2021 г. (AIIR-2021) [2786] , которое наглядно показывает прогресс в области генерации лиц.
Рис. 163. Прогресс в области генерации лиц
2786
Stanford Human-Centered Artificial Intelligence (HAI) (2021). Artificial Intelligence Index Report 2021 // https://aiindex.stanford.edu/wp-content/uploads/2021/03/2021-AI-Index-Report_Master.pdf
Тема генеративно-состязательных моделей заслуживает, бесспорно, отдельной книги. Но создание такой книги является довольно непростой задачей, поскольку новые архитектуры появляются так быстро, что автору книги будет непросто поспевать за исследователями.
В последнее время появляются модели, работающие более чем с двумя модальностями. Например, модель VATT (Video-Audio-Text Transformer, Видеоаудиотекстовый трансформер), созданная совместными усилиями исследователей Google, Корнеллского и Колумбийского университетов [2787] , а также модель data2vec от Meta (бывшей Facebook) [2788] , помимо текста и изображений, умеют оперировать со звуковыми данными.
2787
Akbari H., Yuan L., Qian R., Chuang W.-H., Chang S.-F., Cui Y., Gong B. (2021). VATT: Transformers for Multimodal Self-Supervised Learning from Raw Video, Audio and Text // https://arxiv.org/abs/2104.11178
2788
Baevski A., Hsu W.-N., Xu Q., Babu A., Gu J., Auli M. (2022). The first high-performance self-supervised algorithm that works for speech, vision, and text / Meta AI, January 20, 2022
Исследователи из DeepMind развивают технологию, получившую название ReLIC (Representation Learning via Invariant Causal Mechanisms, Обучение представлениям через инвариантные причинные механизмы), позволяющую обучать большие свёрточные сети с архитектурной ResNet в режиме самообучения [self-supervised learning], чтобы затем использовать выученные ими представления в решении самых разных задач, в которых востребовано компьютерное зрение, — от классификации картинок до создания систем искусственного интеллекта для аркадных игр [2789] , [2790] .
2789
Mitrovic J., McWilliams B., Walker J., Buesing L., Blundell C. (2020). Representation Learning via Invariant Causal Mechanisms // https://arxiv.org/abs/2010.07922
2790
Tomasev N., Bica I., McWilliams B., Buesing L., Pascanu R., Blundell C., Mitrovic J. (2022). Pushing the limits of self-supervised ResNets: Can we outperform supervised learning without labels on ImageNet? // https://arxiv.org/abs/2201.05119
Несмотря на популярность генеративно-состязательного подхода при создании изображений, он обладает и некоторыми недостатками. Из-за сложных нелинейных эффектов, которые возникают при совместном обучении двух моделей, процесс обучения может растягиваться на длительное время или вовсе не приводить к желаемому результату. Часто бывает сложно найти обеспечивающее успех обучения соотношение архитектур моделей, структур функций потерь и различных гиперпараметров, что делает эксперименты в области генеративно-состязательных систем вычислительно затратными и довольно плохо предсказуемыми. Поэтому параллельно с генеративно-состязательной парадигмой развиваются и альтернативные подходы, например авторегрессионные модели [2791] . Наверное, самыми известными моделями такого рода в середине 2010-х гг. стали PixelRNN [2792] и PixelCNN [2793] . Эти модели в явном виде эксплуатируют зависимости между пикселями изображения, пытаясь предсказать очередной пиксель, опираясь на уже сгенерированные. При этом PixelRNN — это рекуррентная архитектура на базе LSTM, которая рассматривает изображения в качестве последовательностей пикселей, а PixelCNN — свёрточная архитектура, получающая на вход уже сгенерированную часть картинки. Дополнительно на вход сети можно подавать различного рода обусловливающие векторы, например содержащие информацию о классе генерируемого объекта или о наборе его признаков. Этот набор признаков можно получить в результате подачи эталонной картинки на вход свёрточной нейронной сети, обученной решению задачи классификации. В таком случае при помощи генеративной модели можно создавать альтернативные изображения объекта на эталонной картинке.
2791
* В машинном обучении авторегрессионными обычно называют модели для предсказания следующего элемента последовательности на основе предыдущих её элементов.
2792
van den Oord A., Kalchbrenner N., Kavukcuoglu K. (2016). Pixel Recurrent Neural Networks // https://arxiv.org/abs/1601.06759
2793
van den Oord A., Kalchbrenner N., Vinyals O., Espeholt L., Graves A., Kavukcuoglu K. (2016). Conditional Image Generation with PixelCNN Decoders // https://arxiv.org/abs/1606.05328