Вариационный автоэнкодер: должен ли кодер иметь такое же количество слоев, что и декодер?

Должен ли кодер иметь такое же количество слоев, как и декодер, в Variational Autoencoder? Я получил немного лучший результат с кодером (Dense): 54-10-5-3 и Decoder (Dense): 3-5-10-25-35-45-54

2 ответа

Решение

Нет, нередко иметь асимметричные архитектуры, например, [1, 2, 3 и т. Д.].

  1. Tang, Shuai, et al. "Изучение асимметричной структуры кодера-декодера для обучения представлению предложений на основе контекста". Препринт arXiv arXiv:1710.10380 (2017). PDF

  2. ЛиНалисник, Эрик и Падрейк Смит. "Разбиваемые вариационные автоэнкодеры". Международная конференция по обучению представительств (ICLR). 2017. pdf

  3. Нэш, Чарли и Крис К.И. Уильямс. "Вариационный автоэнкодер формы: глубокая генеративная модель частично сегментированных трехмерных объектов". Форум компьютерной графики. Том 36. № 5. 2017. pdf

Вы задали отличный вопрос, и ответ - нет.

Поскольку Aldream уже указал несколько работ, в которых используется асимметричная архитектура, я хотел бы указать на теоретическую работу, связанную с вашим вопросом.

Я полагаю, что лучшее объяснение можно найти в документе конференции ICLR 2017: "Вариационный кодер с потерями", Си Чен и др.

Раздел 2 является обязательным для чтения разделом. Автор связывает вариационный автоэнкодер с кодированием с обратной связью и показывает, что средняя длина кода (которая эквивалентна вариационной нижней границе) всегда имеет дополнительную длину кода при использовании приближенного апостериорного распределения. Когда декодер VAE (который является логарифмической вероятностью p(x|z)) может моделировать данные без необходимости q(z|x), VAE игнорирует скрытую переменную!

Это означает, что если у нас очень сильный декодер (например, такое же количество слоев, как у кодера), то существует риск того, что VAE может полностью игнорировать изучение q (z | x), просто установив q (z | x) в значение следовательно, p(z) сохраняет потери KL равными 0.

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

Другие вопросы по тегам