Нужно плавно перейти от одного лица к другому: зачем VAE две головы
Вы просите модель показать промежуточный портрет между двумя похожими фотографиями. У обычного автоэнкодера такого перехода может не быть: на его карте отмечены города, но дорог между ними нет.
VAE меняет саму карту. Энкодер в нём выдаёт не одну точку, а облако: одна голова предсказывает среднее μ — «где центр», вторая — логарифм дисперсии log σ² — «насколько облако размыто». По этим двум числам можно взять точку внутри облака и передать её декодеру.
Учебный пример: два похожих фото дают два перекрывающихся облака. Точка посередине между их центрами декодируется в осмысленный промежуточный портрет, а не в случайный шум — именно потому, что области перекрываются.
За перекрытие отвечает KL-член. Это штраф за то, что облако конкретного входа слишком уходит от стандартного нормального распределения: штраф прижимает все облака к нулю и заставляет их пересекаться. Так между соседними «городами» появляются дороги.
Плата за это — размытие. Плотное перекрытие не даёт декодеру провести резкие границы, и на стыках появляются усреднённые образцы. Поэтому непрерывная карта хороша для плавных переходов, но не бесплатна по детализации.
Разбор