Охота на электроовец. Большая книга искусственного интеллекта - Марков Сергей Николаевич
Вскоре после появления оригинальной PixelCNN (и предложенной в оригинальной работе её модифицированной версии — Gated PixelCNN) был создан и её усовершенствованный вариант — PixelCNN++ [2794]. Сама по себе идея авторегрессионного моделирования многомерных дискретных данных при помощи глубоких нейронных сетей появилась задолго до PixelRNN и PixelCNN, но популярность в области генерации изображений она обрела только в середине 2010-х гг., под влиянием возросшего интереса к этой области.
Авторегрессионные модели можно рассматривать в качестве декодеров, роль латентного пространства в которых выполняет обусловливающий вектор.
Ещё одной альтернативой генеративно-состязательным сетям являются так называемые диффузионные модели [Diffusion Model], создатели которых черпали своё вдохновение в неравновесной термодинамике. Обычно диффузионные модели учатся выполнять шаги, восстанавливающие изображение по его зашумлённой версии, для чего в обучающую выборку включаются пары картинок, в которых одна картинка была создана из другой путём диффузии, то есть добавления шума. Научившись обращать процесс диффузии вспять, модель затем может быть использована для того, чтобы в ходе цепочки последовательных шагов создавать картинки вообще из случайного шума. В качестве примеров диффузионных моделей можно назвать «Диффузионные вероятностные модели» [Diffusion probabilistic models] [2795] и «Диффузионные вероятностные модели, устраняющие шум» [Denoising diffusion probabilistic models] [2796], [2797]. Исследования последних лет демонстрируют способность диффузионных моделей превзойти генеративно-состязательные сети в качестве генерации изображений [2798], но сам процесс синтеза у диффузионных моделей вычислительно более затратен, так как требует выполнения большого количества шагов.
В принципе, в рамках GAN роль генератора вполне может выполнять авторегрессионная или даже диффузионная модель, однако в реальных генеративно-состязательных сетях в качестве генераторов обычно используются относительно легковесные модели (например, развёрточные [deconvolutional] сети, а в последнее время даже и трансформеры [2799]), в противном случае и без того затратный и плохо предсказуемый процесс обучения GAN грозит стать непомерно дорогим и рискованным. Если же исключить из обучения состязательную часть, то можно позволить себе использование более сложной модели, в том числе такой, которая будет генерировать изображение при помощи многошагового процесса. Выбор конкретного подхода, как всегда, зависит во многом от специфики задачи — требований к скорости генерации и к её качеству, объёма обучающей выборки, наличия и типа разметки и так далее.
6.6.9 Машина как художник. Создание изображения по текстовому описанию
Конечно, возможности современных генеративных моделей компьютерного зрения не безграничны. Решать некоторые творческие задачи на уровне, сопоставимом с уровнем людей-профессионалов, машины пока что не умеют. И попытки решения таких сложных задач представляют, как мне кажется, наибольший интерес на данный момент — ведь они демонстрируют то, что в наши дни составляет передовой край искусственного интеллекта. Примером такой сложной задачи является генерация изображения по его текстовому описанию. Качество полученных результатов пока что вызывает вопросы, однако видно, что цель уже близка.
В 2018 г. группа исследователей из университетов США и Китая в статье под названием «StackGAN++: синтез реалистичных изображений при помощи последовательности генеративно-состязательных сетей» (StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks) [2800] представила две версии генеративной архитектуры StackGAN.
Архитектура StackGAN-v1 предназначена для генерации изображения на основе текста. Эта архитектура основана на использовании сразу двух моделей, отвечающих за две стадии генерации изображения. Модель, отвечающая за первую стадию, создаёт на основе текста примитивный набросок изображения, обладающий низким качеством и слабым разрешением. На второй стадии другая модель, получив на вход результат работы первой модели, генерирует фотореалистичное изображение высокого разрешения.
Вторая версия архитектуры (StackGAN-v2) может быть использована для генерации изображений как при наличии текстового описания, так и при его отсутствии. StackGAN-v2 состоит из нескольких генераторов и дискриминаторов, организованных в древовидную структуру, при этом изображения различного масштаба, соответствующие одной и той же задаче, генерируются моделями, расположенными в различных ветвях этого дерева.
Обе модели вполне успешно справляются с задачей генерации изображения по тексту — улучшение качества картинок по сравнению с более ранними исследованиями в этой области заметно невооружённым глазом. Однако результаты удалось продемонстрировать только для специализированных наборов данных с искусственно уменьшенным числом классов изображений. Ниже приведены результаты работы обеих версий StackGAN на датасете Caltech‑UCSD Birds 200 (CUB-200), содержащем почти 12 000 изображений 200 видов птиц [2801], [2802].

Увеличение изображений — отдельная интересная задача в области компьютерного зрения. Обычно для её обозначения используют термины «повышение разрешения изображения» (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.
Похожие книги на "Охота на электроовец. Большая книга искусственного интеллекта", Марков Сергей Николаевич
Марков Сергей Николаевич читать все книги автора по порядку
Марков Сергей Николаевич - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mir-knigi.info.