Deep Learning Academy · Lekcja

Generator a dyskryminator: gra

Poznać dwie konkurujące sieci, które wzajemnie się doskonalą

Lekcja 1 z 413 kroki

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.0

Cel 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. 🎉

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 „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

  1. Generator a dyskryminator: gra
  2. Strata przeciwstawna
  3. Zbudować DCGAN
  4. Zapaść trybów i sztuczki stabilizujące
← Powrót do Deep Learning Academy