Generator a dyskryminator: gra
Poznać dwie konkurujące sieci, które wzajemnie się doskonalą
Generator a dyskryminator: gra to bezpłatna lekcja Deep Learning Academy na CoddyKit. To lekcja 1 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.
Dwie sieci, jedna gra
GAN to dwie sieci neuronowe grające w pewną grę: jedna wymyśla fałszywe dane, a druga próbuje je wykryć. Ich rywalizacja sprawia, że obie się doskonalą. 🎭
Poznaj generator
Generator zaczyna od losowego szumu i przekształca go w coś przypominającego prawdziwe dane, na przykład fałszywą twarz. Nigdy nie widzi bezpośrednio prawdziwych obrazów.
Poznaj dyskryminator
Dyskryminator pełni rolę sędziego. Analizuje próbkę i zwraca jedną liczbę: prawdopodobieństwo, że próbka jest prawdziwa, a nie fałszywa.
Szum na wejściu, obraz na wyjściu
Do generatora przekazujesz wektor losowych liczb nazywany wektorem ukrytym. Różne wektory dają różne wyniki, więc szum staje się zalążkiem kreatywności.
z = torch.randn(1, 100)
fake = generator(z)Fałszerz i detektyw
Wyobraź sobie fałszerza produkującego fałszywe banknoty i detektywa, który je wykrywa. Każdy zmusza drugiego do większej precyzji. Ta rywalizacja jest sercem GAN-a.
Etykieta prawdziwe/fałszywe
Dyskryminator uczy się na etykietach: prawdziwe obrazy otrzymują 1, a wygenerowane obrazy 0. Uczy się pewnie rozróżniać te dwie grupy.
real_label = 1.0
fake_label = 0.0Cel generatora
Generator wygrywa, gdy dyskryminator oznacza jego fałszywe dane jako prawdziwe. Jego celem jest więc oszukanie sędziego, a nie dokładne skopiowanie pojedynczego obrazu.
Adwersarialny znaczy przeciwstawny
Ich cele są przeciwne, dlatego mówimy o uczeniu adwersarialnym. Dyskryminator chce mieć rację, a generator chce go zmylić.
Wspólne doskonalenie
Im bardziej wybredny staje się dyskryminator, tym lepsze fałszywe dane musi tworzyć generator, aby nadal go oszukiwać. Ta pętla sprzężenia zwrotnego z czasem doskonali obie sieci.
Dwa optymalizatory
Ponieważ uczestnicy mają różne cele, każda sieć otrzymuje własny optymalizator i aktualizuje się podczas swojej kolejki w procesie trenowania.
opt_g = torch.optim.Adam(G.parameters())
opt_d = torch.optim.Adam(D.parameters())Cel: nie do odróżnienia
Trenowanie idealnie kończy się, gdy dyskryminator może tylko zgadywać, z trafnością bliską 50 procent. Wtedy fałszywe dane praktycznie nie różnią się od prawdziwych.
Szybkie sprawdzenie
Upewnijmy się, że role są jasne.
Podsumowanie: gra GAN
Poznaliśmy obu uczestników: generator, który tworzy dane z szumu, oraz dyskryminator, który je ocenia. Ich rywalizacja napędza rozwój obu sieci. 🎉
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 „Generator a dyskryminator: gra” jest bezpłatna?
Tak — pełny tekst „Generator a dyskryminator: gra” 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 „Generator a dyskryminator: gra”?
Poznać dwie konkurujące sieci, które wzajemnie się doskonalą Ć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 1 z 4.
Ile czasu zajmuje lekcja „Generator a dyskryminator: gra”?
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
- Generator a dyskryminator: gra
- Strata przeciwstawna
- Zbudować DCGAN
- Zapaść trybów i sztuczki stabilizujące