Рис. 10.8.
Выборка из латентного
пространства VAE после обучения. На этом
рисунке приведена таблица 20
×
20
выходных сигналов декодировщика,
соответствующая равномерной
координатной сетке 20
×
20 двумерных
латентных векторов, значения измерений
которых входят в интервал [–4, 4]
408
Часть III • Продвинутые возможности глубокого обучения с TensorFlow.js
Рис. 10.9.
Избранные примеры изображений человеческих лиц с сайта
https://thispersondoesnotexist.com (апрель 2019 года); сгенерированы StyleGAN
компании NVIDIA
Помимо генерации убедительно выглядящих изображений «с потолка», мож
но генерировать с помощью GAN изображения, соответствующие определенным
входным данным или параметрам, что ведет к множеству интересных приложений
для конкретных задач. Например, GAN можно использовать для генерации изо
бражений в высоком разрешении на основе входных сигналов низкого разрешения
(технология повышения разрешения (image superresolution)), заполнения отсут
ствующих частей изображений (ретуширование изображений (image inpainting)),
преобразования чернобелого изображения в цветное (колоризация изображений
(image colorization)), генерации изображений по текстовому описанию и генерации
человека в заданной позе по входному изображению того же человека в другой позе.
Кроме того, были разработаны новые типы GAN для генерации других выходных
сигналов, кроме изображений, например музыки
1
. Помимо очевидной пользы ге
нерации неограниченных объемов правдоподобных изображений для различных
областей искусства и дизайна компьютерных игр, у GAN есть и другие приложения,
например генерация обучающих примеров данных для глубокого обучения в случае,
когда получение настоящих примеров связано с большими затратами. Например,
GAN используются при генерации правдоподобных уличных пейзажей для обучения
нейронных сетей беспилотных автомобилей
2
.
Хотя VAE и GAN — генеративные модели, в их основе лежат различные идеи.
В то время как вариационные автокодировщики обеспечивают качество сгенери
рованных изображений, используя среднеквадратичное расхождение исходного
входного сигнала и выходного сигнала декодировщика в качестве функции потерь,
GAN применяет
дискриминатор
(discriminator), как мы скоро расскажем. Кроме
того, входными данными во многих вариантах GAN могут быть не только векторы
из латентных пространств, но и условные входные сигналы, например желаемый
класс изображения. Хороший пример этого — ACGAN, который мы обсудим далее.
1
См. проект MuseGAN, созданный ХаоВен Дуном и др.: https://salu133445.github.io/
musegan/.
2
Vincent J.
Nvidia Uses AI to Make it Snow on Streets that Are Always Sunny // The Verge,
5 Dec. 2017. http://mng.bz/Q0oQ.
Do'stlaringiz bilan baham: |