Deep Learning Academy · Lekcja

Wariacyjne autoenkodery i przestrzeń latentna

Próbkować nowe dane z nauczonego rozkładu

Lekcja 3 z 413 kroki

Wariacyjne autoenkodery i przestrzeń latentna to bezpłatna lekcja Deep Learning Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Deep Learning Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.

Poza prostymi kodami

Wariacyjny autoenkoder, czyli VAE, nie przechowuje jednego stałego kodu dla każdego wejścia. Zamiast tego uczy się gładkiej, uporządkowanej przestrzeni ukrytej, z której można faktycznie losować.

Kodowanie do rozkładu

Enkoder VAE zwraca średnią i wariancję zamiast pojedynczego punktu. Każde wejście staje się niewielką chmurą prawdopodobnych kodów ukrytych.

mu, logvar = encoder(x)

Losowanie z chmury

Aby uzyskać kod, losujesz go z tej chmury na podstawie jej średniej i wariancji. Losowość nadaje przestrzeni generatywny charakter.

Sztuczka reparametryzacji

Losowanie blokuje gradienty, dlatego sztuczka reparametryzacji oddziela od niego losowość. Dzięki temu nadal można propagować wstecz przez wylosowaną próbkę.

std = torch.exp(0.5 * logvar)
z = mu + std * torch.randn_like(std)

Dwie funkcje straty zamiast jednej

VAE równoważy dwa cele: stratę rekonstrukcji zapewniającą dokładne odtworzenia oraz składnik kształtujący przestrzeń ukrytą. Cele te działają w przeciwnych kierunkach.

Składnik dywergencji KL

Druga funkcja straty to dywergencja KL. Przesuwa każdą chmurę w stronę standardowego rozkładu normalnego, dzięki czemu przestrzeń ukryta pozostaje uporządkowana i ciągła.

kl = -0.5 * torch.sum(1 + logvar - mu**2 - logvar.exp())

Gładka przestrzeń ukryta

Dzięki składnikowi KL kody znajdujące się blisko siebie są dekodowane do podobnych wyników. Ta gładkość pozwala przechodzić między punktami i uzyskiwać sensowne rezultaty. ✨

Generowanie zupełnie nowych danych

Uporządkowanie przestrzeni pozwala losować nowe kody z rozkładu normalnego i dekodować je do świeżych, wcześniej niewidzianych próbek.

z = torch.randn(1, latent_dim)
new_sample = decoder(z)

Interpolacja między wejściami

Połącz dwa kody ukryte i zdekoduj ich mieszankę, aby płynnie przekształcić jedno wejście w drugie. Taka gładka interpolacja jest charakterystyczną sztuczką VAE.

z = 0.5 * z_a + 0.5 * z_b

VAE a prosty autoenkoder

Prosty autoenkoder kompresuje dane, a VAE je kompresuje i staje się generatywny. To dodatkowy składnik KL umożliwia losowanie nowych danych.

Dostrajanie równowagi

Waga składnika KL, często nazywana parametrem beta, steruje kompromisem. Większa wartość beta daje czystszą przestrzeń, ale nieco bardziej rozmyte rekonstrukcje.

Szybkie sprawdzenie

Co nadaje VAE możliwości generatywne?

Podsumowanie

VAE koduje wejścia jako rozkłady, losuje próbki za pomocą sztuczki reparametryzacji i dodaje składnik KL, aby uzyskać gładką przestrzeń, z której można losować i interpolować. 🎉

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Wariacyjne autoenkodery i przestrzeń latentna” jest bezpłatna?

Tak — pełny tekst „Wariacyjne autoenkodery i przestrzeń latentna” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Deep Learning Academy, przejdź na CoddyKit PRO. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Wariacyjne autoenkodery i przestrzeń latentna”?

Próbkować nowe dane z nauczonego rozkładu Ćwiczysz Deep Learning Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Deep Learning Academy?

Nie wymagamy żadnego doświadczenia. Deep Learning Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Wariacyjne autoenkodery i przestrzeń latentna”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Deep Learning Academy?

Tak. Każda lekcja Deep Learning Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Enkoder, wąskie gardło i dekoder
  2. Autoenkodery odszumiające
  3. Wariacyjne autoenkodery i przestrzeń latentna
  4. Wykrywanie anomalii na podstawie błędu rekonstrukcji
← Powrót do Deep Learning Academy