ЖАНРЫ

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

Вскоре после появления оригинальной PixelCNN (и предложенной в оригинальной работе её модифицированной версии — Gated PixelCNN) был создан и её усовершенствованный вариант — PixelCNN++ [2794] . Сама по себе идея авторегрессионного моделирования многомерных дискретных данных при помощи глубоких нейронных сетей появилась задолго до PixelRNN и PixelCNN, но популярность в области генерации изображений она обрела только в середине 2010-х гг., под влиянием возросшего интереса к этой области.

2794

Salimans T., Karpathy A., Chen X., Kingma D. P. (2017). PixelCNN++: Improving the PixelCNN with Discretized Logistic Mixture Likelihood and Other Modifications // https://arxiv.org/abs/1701.05517

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

Ещё одной альтернативой генеративно-состязательным сетям являются так называемые диффузионные модели [Diffusion Model], создатели которых черпали своё вдохновение в неравновесной термодинамике. Обычно диффузионные модели учатся выполнять шаги, восстанавливающие изображение по его зашумлённой версии, для чего в обучающую выборку включаются пары картинок, в которых одна картинка была создана из другой путём диффузии, то есть добавления шума. Научившись обращать процесс диффузии вспять, модель затем может быть использована для того, чтобы в ходе цепочки последовательных шагов создавать картинки вообще из случайного шума. В качестве примеров диффузионных моделей можно назвать «Диффузионные вероятностные модели» [Diffusion probabilistic models] [2795] и «Диффузионные вероятностные модели, устраняющие шум» [Denoising diffusion probabilistic models] [2796] , [2797] . Исследования последних лет демонстрируют способность диффузионных моделей превзойти генеративно-состязательные сети в качестве генерации изображений [2798] , но сам процесс синтеза у диффузионных моделей вычислительно более затратен, так как требует выполнения большого количества шагов.

2795

Sohl-Dickstein J., Weiss E. A., Maheswaranathan N., Ganguli S. (2015). Deep Unsupervised Learning using Nonequilibrium Thermodynamics // https://arxiv.org/abs/1503.03585

2796

Ho J., Jain A., Abbeel P. (2020). Denoising Diffusion Probabilistic Models // https://arxiv.org/abs/2006.11239

2797

Nichol A., Dhariwal P. (2021). Improved denoising diffusion probabilistic models // https://arxiv.org/abs/2102.09672

2798

Dhariwal P., Nichol A. (2021). Diffusion Models Beat GANs on Image Synthesis // https://arxiv.org/abs/2105.05233

В принципе, в рамках GAN роль генератора вполне может выполнять авторегрессионная или даже диффузионная модель, однако в реальных генеративно-состязательных сетях в качестве генераторов обычно используются относительно легковесные модели (например, развёрточные [deconvolutional] сети, а в последнее время даже и трансформеры [2799] ), в противном случае и без того затратный и плохо предсказуемый процесс обучения GAN грозит стать непомерно дорогим и рискованным. Если же исключить из обучения состязательную часть, то можно позволить себе использование более сложной модели, в том числе такой, которая будет генерировать изображение при помощи многошагового процесса. Выбор конкретного подхода, как всегда, зависит во многом от специфики задачи — требований к скорости генерации и к её качеству, объёма обучающей выборки, наличия и типа разметки и так далее.

2799

Jiang Y., Chang S., Wang Z. (2021). TransGAN: Two Pure Transformers Can Make One Strong GAN, and That Can Scale Up // https://arxiv.org/abs/2102.07074

6.6.9 Машина как художник. Создание изображения по текстовому описанию

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

В 2018 г. группа исследователей из университетов США и Китая в статье под названием «StackGAN++: синтез реалистичных изображений при помощи последовательности генеративно-состязательных сетей» (StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks) [2800] представила две версии генеративной архитектуры StackGAN.

Архитектура StackGAN-v1 предназначена для генерации изображения на основе текста. Эта архитектура основана на использовании сразу двух моделей, отвечающих за две стадии генерации изображения. Модель, отвечающая за первую стадию, создаёт на основе текста примитивный набросок изображения, обладающий низким качеством и слабым разрешением. На второй стадии другая модель, получив на вход результат работы первой модели, генерирует фотореалистичное изображение высокого разрешения.

2800

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

Вторая версия архитектуры (StackGAN-v2) может быть использована для генерации изображений как при наличии текстового описания, так и при его отсутствии. StackGAN-v2 состоит из нескольких генераторов и дискриминаторов, организованных в древовидную структуру, при этом изображения различного масштаба, соответствующие одной и той же задаче, генерируются моделями, расположенными в различных ветвях этого дерева.

Обе модели вполне успешно справляются с задачей генерации изображения по тексту — улучшение качества картинок по сравнению с более ранними исследованиями в этой области заметно невооружённым глазом. Однако результаты удалось продемонстрировать только для специализированных наборов данных с искусственно уменьшенным числом классов изображений. Ниже приведены результаты работы обеих версий StackGAN на датасете Caltech-UCSD Birds 200 (CUB-200), содержащем почти 12 000 изображений 200 видов птиц [2801] , [2802] .

2801

 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

2802

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

Рис. 164. Генерация изображений птиц по тексту (модель StackGAN)

Увеличение изображений — отдельная интересная задача в области компьютерного зрения. Обычно для её обозначения используют термины «повышение разрешения изображения» (Image Super-Resolution, ISR) и «восстановление высокого разрешения» (Super-Resolution Reconstruction, SRR). За последние несколько лет было создано множество нейросетевых архитектур для решения этой задачи. Большая часть из них основана на свёрточных нейронных сетях. На практике существует несколько разновидностей задачи повышения разрешения. Первую называют обычно увеличением разрешения для одиночного изображения (Single Image Super-Resolution, SISR). SISR предполагает, что у нас есть одиночное изображение с низким разрешением, природа которого может быть разной. Возможно, это изображение получено из изображения высокого разрешения при помощи какого-либо известного или неизвестного нам алгоритма для уменьшения размера изображения, а возможно — изначально является продуктом оцифровки с низким разрешением. Быть может, изображение и вовсе является результатом работы некоторого алгоритма (как в случае со StyleGAN). Словом, природа исходного изображения может быть разной, а результатом работы модели SISR должно стать изображение более высокого разрешения, которое, будучи уменьшенным при помощи некоторой функции уменьшения размера, дало бы нам исходное изображение. При этом изображение, являющееся результатом работы модели SISR, должно быть по возможности неотличимым от высококачественного изображения, полученного в результате оцифровки с высоким разрешением. Это означает, что изображение не должно быть размытым, должно содержать реалистичные и неискажённые изображения объектов, текстур и тому подобное. Очевидно, что при уменьшении разрешения изображения некоторая часть информации может быть потеряна безвозвратно. Если бы наши изображения были совершенно хаотичными наборами пикселей, эта затея была бы обречена на провал. Но, к счастью, в огромном количестве прикладных задач речь идёт всё-таки об изображениях каких-либо объектов, встречающихся и на каких-либо других картинках. Если модель для повышения разрешения будет обучена на множестве изображений, содержащих те же или сходные объекты, то «знания», которые модель приобретёт в ходе такого обучения, позволят ей эффективно «домысливать» утраченные при снижении разрешения детали. Важным подвидом SISR является задача, в которой мы можем сами выбирать модель для снижения разрешения исходного изображения. Одновременное обучение двух моделей — для снижения и для повышения разрешения — позволяет добиться более эффективной минимизации потерь при восстановлении исходной картинки. Это происходит благодаря тому, что модель для снижения разрешения будет терять меньше информации, необходимой для успешного восстановления изображения, а также благодаря тому, что модель для повышения разрешения «знает» об особенностях преобразования, породившего картинку с малым разрешением. Именно этот подход реализован в модели, получившей название «Контентно-адаптивный передискретизатор» (Content Adaptive Resampler, CAR) [2803] . Задачу увеличения разрешения изображения в CAR выполняет свёрточная сеть с популярной для таких задач архитектурой под названием EDSR (Enhanced Deep Super-Resolution network, Улучшенная глубокая сеть для повышения разрешения) [2804] , а задачу понижения разрешения — другая свёрточная сеть под названием ResamplerNet. Последняя выбирает индивидуальную операцию для расчёта цвета каждого из пикселей изображения пониженной размерности. Эксперименты показали, что изображения, полученные на выходе ResamplerNet, не уступают по качеству изображениям, полученным при использовании традиционных методов понижения разрешения, в то время как восстановленные изображения высокой размерности заметно превосходят по качеству результаты применения других моделей для решения задачи SISR.

2803

Sun W., Chen Z. (2019). Learned Image Downscaling for Upscaling using Content Adaptive Resampler // https://arxiv.org/abs/1907.12904

2804

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

Рис. 165. Примеры увеличения разрешения одиночных изображений моделью CAR

Впрочем, даже без применения CAR современные модели показывают в этой задаче вполне приличные результаты. Ниже приведены примеры из современных работ, посвящённых разработке моделей для решения задачи SISR: «Сохраняющее структуру повышение разрешения с наведением по градиенту» [Structure-Preserving Super Resolution with Gradient Guidance] [2805] и «Увеличение разрешения для одиночного изображения с помощью сети с холистическим вниманием» [Single Image Super-Resolution via a Holistic Attention Network] [2806] .

2805

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

2806

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

Рис. 166. Примеры увеличения разрешения одиночных изображений различными моделями

Вторая разновидность задачи ISR называется, как несложно догадаться, MISR (Multiple Image Super-Resolution, Увеличение разрешения для множества изображений). В случае MISR мы имеем дело с ситуацией, когда у нас есть несколько изображений с низким разрешением, по которым необходимо получить объединяющее изображение высокого разрешения. Одна из основных областей применения MISR — обработка спутниковых снимков. Примером модели, предназначенной для решения задачи MISR, является EvoNet, в которой выходы нескольких свёрточных сетей, решающих задачу SISR для каждого из изображений с низким разрешением, затем специальным образом комбинируются с учётом возможных сдвигов, а после этого подвергаются пошаговой фильтрации [2807] .

2807

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

Рис. 167. Пример увеличения разрешения для множества изображений

Весной 2019 г. другая группа исследователей представила в статье «DM-GAN: генеративно-состязательные сети с динамической памятью для синтеза изображения на основе текста» (DM-GAN: Dynamic Memory Generative Adversarial Networks for Text-to-Image Synthesis) [2808] архитектуру DM-GAN, которая способна не только «рисовать» более реалистичных птичек, но и производить на свет что-то более или менее правдоподобное при работе с более разнообразным набором данных — COCO (Common Objects in COntext, Обычные объекты в контексте), содержащим более 200 000 размеченных изображений объектов, принадлежащих к одному из 80 классов (самолёты, кошки, собаки, пожарные гидранты и т. д.). На иллюстрации ниже можно наблюдать сравнение результатов DM-GAN с результатами StackGAN и ещё одной более ранней модели — AttnGAN [2809] .

2808

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

2809

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

Рис. 168. Сравнение результатов синтеза изображений на основе текста для моделей DM-GAN, StackGAN и AttnGAN

Ещё одна архитектура для синтеза изображений на основе текста была описана в статье 2019 г. под названием «CPGAN: генеративно-состязательные сети с анализом полного спектра контента для синтеза изображений на основе текста» (CPGAN: Full-Spectrum Content-Parsing Generative Adversarial Networks for Text-to-Image Synthesis) [2810] .

2810

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

Поделиться с друзьями: