Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить курсы бесплатно
ГлавнаяБлогЧто такое вариационный автоэнкодер
Что такое вариационный автоэнкодер
22.09.2023
1 715
Время чтения: 14 минут

Что такое вариационный автоэнкодер

22.09.2023
1 715
Время чтения: 14 минут
Сохранить статью:
Сохранить статью:

О чем речь? Вариационный автоэнкодер – модель, состоящая из двух нейросетей. Одна является кодировщиком, а другая – декодировщиком. Если простыми словами, то первая анализирует данные, а вторая на основе полученного массива выдает нечто похожее.

На что обратить внимание? Вариационный автоэнкодер используют для любых данных: последовательных и непоследовательных, текстовых, изображений. По сути, он придумывает новый вариант, которого еще никто не видел.

В статье рассказывается:

  1. Что такое вариационный автоэнкодер
  2. Отличия вариационного автоэнкодера от классического
  3. Часто задаваемые вопросы о вариационном автоэнкодере
  4. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

Что такое вариационный автоэнкодер

Вариационный автоэнкодер (Variational Autoencoder – VAE) представляет собой генеративную модель, используемую в разных исследованиях: от создания новых лиц до написания искусственной музыки. В этом его отличие от нейросетей, которые работают как регрессоры или классификаторы.

Что такое вариационный автоэнкодер
Что такое вариационный автоэнкодер

Генеративные модели применяют для создания произвольных входных данных, имеющих сходство с базовым массивом сведений. Эту же операцию можно выполнить при помощи VAEs. Вместе с тем, в большинстве случаев необходимо изменить или исследовать вариации существующих данных заранее определенным образом. Здесь вариационный автоэнкодер VAE показывает лучшие результаты, чем любой из ранее созданных методов.

Нейросеть автоэнкодера представляет собой две соединённые сети – декодер и энкодер. Второй выполняет прием входной информации и трансформирует ее, делая представление более компактным и удобным. Эти преобразованные сведения энкодер преобразует для вывода их обратно в оригинальный вид.

Принцип работы автоэнкодера проще понять, если есть представление о свёрточных нейронных сетях (Convolutional Neural Networks — CNNs), которые выполняют сходные операции. Они принимают большое изображение (в частности, тензор третьего ранга размером 299х299х3), трансформируя его в сжатый формат (тензор первого ранга размером 1 000). Этот вид в дальнейшем применяется в нейросети для классификации изображений.

Энкодер работает сходным образом. Он представляет собой нейросеть, принимающую вводные сведения и отправляющую их обратно в компактном виде, при этом данные имеют достаточно информации для преобразования их другим программным/аппаратным воплощением данной математической модели в требуемый формат. Как правило, энкодер проходит обучение вместе с иными элементами нейросети на базе обратного распространения. Это дает возможность выполнять кодирование для определённой задачи. Так, в CNN шифрование графики в массив из 1 000 блоков выполняется так, чтобы полученный массив мог использоваться для классификации.

Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 27968 pdf иконка

Работа вариационного автоэнкодера основана на том же принципе, но в нем генерируются зашифрованные данные, которые могут использоваться для восстановления исходной информации. Как правило, нейросеть обучается как единое целое. Функция потерь подбирается как среднеквадратичная ошибка или кросс-энтропия между входными и выдаваемыми сведениями. Эта ошибка – потери восстановления (reconstruction loss), препятствующие созданию нейросетью получаемого массива, который в значительной мере отличен от исходного.

Так как зашифрованная информация как выходные данные скрытого слоя в середине, значительно меньше входной, оказывается, что часть их энкодер утрачивает. Вместе с тем, он обучается корректно обрабатывать зашифрованную информацию и восстанавливать из нее исходные изображения. Совместно эти нейросети образуют автоэнкодер.

Отличия вариационного автоэнкодера от классического

У традиционных вариационных автоэнкодеров архитектура такова, что они обучаются кодировать исходные данные и восстанавливать их, но сфера их использования обычно исчерпывается созданием шумоподавляющих кодеров.

Существенная проблема автоэнкодеров в том, что шифрование, происходящее в скрытом пространстве, включающем в себя обработанные векторы, не всегда является непрерывным. Это препятствует выполнению интерполяции. В частности, обучение автоэнкодера на основе датасета MNIST и визуализация закодированной информации из двухмерного скрытого слоя позволяют увидеть создание отдельных кластеров. Это целесообразно, так как каждый вектор шифрования для определенного вида изображения упрощает восстановление информации, сгенерированной энкодером.

Отличия вариационного автоэнкодера от классического
Отличия вариационного автоэнкодера от классического

Проблем с вариационным автоэнкодером не возникает, если требуется только воссоздать исходные изображения. Если же надо сформировать генеративную модель, то нужно не просто скопировать данные, а получить именно новую картинку из непрерывно скрытого слоя.

Если в пространстве есть разрывы (в частности, между кластерами), и пользователь создает изображение на базе закодированной информации, на выходе получит нереалистичную картинку, ведь декодер «не знает», как работать с соответствующей частью скрытого пространства.

Вариационный автоэнкодер (VAE) обладает признаком, которого нет у традиционных. Скрытое пространство у него непрерывное, благодаря чему могут выполняться случайные трансформации и интерполяции.

Энкодер генерирует не единственный вектор размера n, а два – векторы средних значений µ и типовых отклонений σ. Благодаря этому и обеспечивается непрерывность скрытого слоя.

Вариационные автоэнкодеры образуют вектор длины n на основе произвольных величин Xi, при этом i-е элементы векторов µ и σ составляют среднее и типовое отклонение i-й и произвольной величины Xi.. Совместно они формируют n-мерный произвольный вектор, отправляемый декодеру для восстановления информации.

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

От средней величины вектора зависит точка, рядом с которой будет определен его пик, а от типового отклонения – допустимое расстояние его от среднего. Соответственно, вершина вектора кодирования оказывается в пределах n-мерного круга.

При этом входному значению теперь уже соответствует определённое непрерывное пространство. В итоге декодер может обрабатывать не единственный вектор, определенный исходными сведениями, а совокупность таковых, что позволяет восстановить даже единичное изображение в несколько видоизмененном виде.

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

Но в реальности отсутствие ограничении на значения векторов µ и σ делает возможным обучение энкодера генерации значительно разнящихся µ для образцов исходной информации. В результате их представление значительно удаляется друг от друга в скрытой области. Боле того, вариационный автоэнкодер по определению сводит к минимуму σ, чтобы ограничить различия векторов шифрования от исходного образца. В результате формируется информация с небольшой степенью неопределенности, что дает возможность корректно восстанавливать сведения из базовых сетов. В то же время допускается отсутствие непрерывной области.

Нам необходимо, чтобы расположение областей в скрытой зоне оставалось по возможности наиболее близким и, в то же время, чтобы они сохраняли отличные друг от друга элементы. Это позволяет выполнять гладкую интерполяцию и формировать результат с новыми данными. Чтобы обеспечить выполнение этого условия, в функции потерь используют Kullback–Leibler-расходимость (KL divergence). Эта дивергенция показывает величину отличий разных функций друг от друга. Сведение ее к минимальному значению оптимизирует значения распределения µ и σ так, чтобы они оказались приближены к величинам целевого распределения.

Для вариационных автоэнкодеров KL эти потери равнозначны совокупности всех KL-расходимостей между распределением элементов Xi~N(μi, σi²) в векторе Х и типовым распределением. Когда µi = 0 и σi = 1, достигается минимум. Соответственно, помещение энкодером каждой изолированной области шифрования рядом с произвольной точкой в скрытой области обусловлено учётом KL-потерь. Если они применяются, то пространства кодирования размещаются произвольно рядом с выделенной точкой в скрытой области с незначительным учетом похожести входных сведений. Поэтому декодер не может получить существенную информацию из данного пространства.

Дарим скидку от 60%
на курсы от GeekBrains до 05 мая
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

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

В итоге: если надо восстановить исходные данные, достаточно всего лишь установить необходимое распределение и отправить его в декодер. Когда нужна интерполяция – проблемы нет: область выглядит как гладкое распределение особенностей, которые декодер может легко обработать.

Часто задаваемые вопросы о вариационном автоэнкодере

В какой сфере может применяться вариационный энкодер?

По сравнению с GAN, VAE отличаются большей гибкостью, позволяя использовать его для создания произведений искусства. В частности, Карл Дёрш предлагает использовать эту нейросеть для создания трехмерных моделей растений в видеоиграх, а блог Machine Learning Insights разработал собственный алгоритм для формирования в них пиксельных образов героев.

Часто задаваемые вопросы о вариационном автоэнкодере
Часто задаваемые вопросы о вариационном автоэнкодере

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

Какие изображения генерирует вариационный автоэнкодер?

Традиционно GAN формирует картинки лучше исходных, так как эта нейросеть обучается пониманию того, что для человека считается реалистичным, а что нет. Вместе с тем, необходимо принимать во внимание этический аспект, когда VAE/GAN используется для создания фейковых новостей и видео.

Только до 6.05
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

Какие данные подходят для обработки вариационным энкодером?

Вариационный энкодер можно использовать для разных типов данных, как логически выстроенных, так и непоследовательных, как дискретных, так и непрерывных. Эта особенность делает данный инструмент одним из наиболее популярных для машинного обучения.

Теперь вы знаете, что такое вариационный автоэнкодер простыми словами. Не исключено, что в будущем VAE сможет оказать реальную конкуренцию обычным художникам, дизайнерам, людям иных творческих профессий.
Оцените статью
Рейтинг: 2.67
( голосов 3 )
Поделиться статьей
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
До конца акции осталось
0 дней 00:00:00
Получите бесплатно 3 курса для лёгкого старта работы в IT
  • Начни зарабатывать от 210 000 ₽ в ИТ-сфере
  • Работай там, где ты хочешь: дома, на море, и даже на концерте
Получить бесплатно
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...