Вариационные автоэнкодеры и латентное пространство
Создавайте новые данные из изученного распределения
«Вариационные автоэнкодеры и латентное пространство» — бесплатный урок Deep Learning Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Deep Learning Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Deep Learning Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Beyond Plain Codes
A variational autoencoder, or VAE, does not store one fixed code per input. Instead it learns a smooth, organized latent space you can actually sample from.
Encode to a Distribution
The VAE encoder outputs a mean and a variance instead of a single point. Each input becomes a little cloud of likely latent codes.
mu, logvar = encoder(x)Sample From the Cloud
To get a code, you sample from that cloud using its mean and variance. Sampling adds the randomness that makes the space generative.
The Reparameterization Trick
Random sampling blocks gradients, so the reparameterization trick moves the randomness aside. Now you can still backpropagate through the sample.
std = torch.exp(0.5 * logvar)
z = mu + std * torch.randn_like(std)Two Losses, Not One
A VAE balances two goals: reconstruction loss for accurate rebuilds, plus a term that shapes the latent space. They pull against each other.
The KL Divergence Term
The second loss is the KL divergence. It nudges each cloud toward a standard normal, keeping the latent space tidy and continuous.
kl = -0.5 * torch.sum(1 + logvar - mu**2 - logvar.exp())A Smooth Latent Space
Thanks to the KL term, nearby codes decode to similar outputs. This smoothness means you can walk between points and get sensible results. ✨
Generate Brand-New Data
Because the space is organized, you can sample new codes from a normal distribution and decode them into fresh, never-seen samples.
z = torch.randn(1, latent_dim)
new_sample = decoder(z)Interpolate Between Inputs
Blend two latent codes and decode the mix to morph one input into another. This smooth interpolation is a signature VAE trick.
z = 0.5 * z_a + 0.5 * z_bVAE vs Plain Autoencoder
A plain autoencoder compresses; a VAE compresses and becomes generative. The extra KL term is what unlocks sampling new data.
Tune the Balance
Weighting the KL term, often called beta, controls the tradeoff. Higher beta gives a cleaner space but slightly blurrier reconstructions.
Quick Check
What gives a VAE its generative power?
Recap
A VAE encodes inputs as distributions, samples with the reparameterization trick, and adds a KL term for a smooth space you can sample and interpolate. 🎉
Часто задаваемые вопросы
Урок «Вариационные автоэнкодеры и латентное пространство» бесплатный?
Да — полный текст урока «Вариационные автоэнкодеры и латентное пространство» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Deep Learning Academy, подпишись на CoddyKit PRO. Курс Deep Learning Academy содержит 4 уроков всего.
Чему я научусь в уроке «Вариационные автоэнкодеры и латентное пространство»?
Создавайте новые данные из изученного распределения Ты практикуешь Deep Learning Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Deep Learning Academy?
Предыдущий опыт не требуется. Deep Learning Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Вариационные автоэнкодеры и латентное пространство»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Deep Learning Academy?
Да. Каждый урок Deep Learning Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Энкодер, узкое место и декодер
- Автоэнкодеры для устранения шума
- Вариационные автоэнкодеры и латентное пространство
- Обнаружение аномалий по ошибке реконструкции