Глава 10. Генеративное глубокое обучение
397
полнительной информации. Сжатое представление посередине автокодировщика
называется
латентным вектором
(latent vector) или
z-вектором
(zvector). Мы бу
дем использовать попеременно оба термина. Векторное пространство, к которому
относятся эти векторы, называется
латентным пространством
(latent space) или
z-пространством
(zspace). Часть автокодировщика, преобразующая входное изобра
жение в латентный вектор, называется
кодировщиком
; вторая часть, преобразующая
латентный вектор обратно в изображение, называется
декодировщиком
.
Латентный вектор может быть в сотни раз меньше самого изображения, как
мы покажем вскоре на конкретном примере. Таким образом, кодировщик обучен
ного автокодировщика — весьма эффективное средство понижения размерности.
Создаваемая им сжатая версия входного изображения весьма лаконична, но все же
содержит достаточно существенной информации для адекватного воспроизведе
ния декодировщиком входного изображения без использования дополнительных
битов информации. То, что декодировщик на это способен, также весьма приме
чательно.
Можно также взглянуть на автокодировщик с точки зрения теории информации.
Пусть входное и выходное изображения содержат по
N
бит информации. При «наив
ном» подсчете
N
равно числу пикселов, умноженному на глубину цвета пикселов.
Напротив, латентный вектор изза его малого размера (скажем,
m
бит) из середины
автокодировщика может содержать лишь малую долю этой информации. Если
m
меньше
N
, теоретически восстановить изображение из латентного вектора будет
невозможно. Однако пикселы в изображении не абсолютно случайны (состоящее
из совершенно случайных пикселов изображение напоминает статический шум),
а следуют определенным закономерностям, например, демонстрируют однородность
цветопередачи и отражают характеристики изображенных на них объектов реаль
ного мира. Так что настоящее значение
N
намного меньше значения, полученного
в результате «наивных» вычислений, основанных на количестве и цветовой глубине
пикселов. Задача автокодировщика как раз и состоит в усвоении этих закономер
ностей; и как раз поэтому автокодировщик способен работать.
После обучения автокодировщика можно использовать его декодировщик без
кодировщика, чтобы сгенерировать по заданному латентному вектору изобра
жения, соответствующие закономерностям и стилям обучающих изображений.
Это отлично согласуется с определением генеративной модели. Более того, при
некотором везении латентное пространство будет включать удобные для интерпре
тации структуры. В частности, все отдельные измерения латентного пространства
могут соответствовать осмысленным аспектам изображения. Например, представьте
себе, что мы обучили автокодировщик на изображениях человеческих лиц; тогда
одно из измерений может отражать степень выраженности улыбки на лице. Если
зафиксировать значения во всех прочих измерениях латентного вектора и менять
только значение «измерения улыбки», декодировщик будет генерировать изобра
жения, отличающиеся лишь широтой улыбки (см., например, рис. 10.5). Это откры
вает дорогу для интересных приложений, например изменения широты улыбки во
входном изображении лица без изменений всего остального. Пошаговый алгоритм
таков: сначала необходимо применить кодировщик и получить латентный вектор
398
Do'stlaringiz bilan baham: |