GAN próbują odtworzyć rozkład prawdopodobieństwa. Powinny one wykorzystywać funkcje utraty danych określające odległość między rozkładem danych wygenerowanych przez GAN a rozkładem rzeczywistych danych.
Jak rozróżniać rozkłady 2 funkcji utraty GAN? To pytanie to obszar, w którym aktywnie prowadzone są badania. Omówimy tu 2 najczęściej używane funkcje utraty GAN – obie są wdrożone w TF-GAN:
- Minimalna strata: funkcja utraty działająca w publikacji, która wprowadziła GAN.
- Utrata Wasserstein: domyślna funkcja utraty danych na potrzeby szacunków TF-GAN. Po raz pierwszy opisano w publikacji z 2017 roku.
TF-GAN wdraża też wiele innych funkcji związanych z utratą.
Jedna czy jedna funkcja przegrana?
GAN może mieć 2 funkcje utraty: jedną do trenowania generatora i jedną do trenowania dyskryminacji. Jak dwie funkcje związane ze stratą mogą wpływać na pomiar odległości między rozkładami prawdopodobieństwa?
W schematach strat straty wynikające z generatora i dyskryminacji wynikają z jednego pomiaru odległości między rozkładami prawdopodobieństwa. W obu schematach generator może jednak mieć wpływ tylko na jeden termin w odniesieniu do odległości, który odnosi się do dystrybucji fałszywych danych. Podczas trenowania generatora odrzucamy drugi termin, który odzwierciedla rozkład rzeczywistych danych.
Strata generatora i straty dyskryminacji są w rzeczywistości różne, choć pochodzą z jednej formuły.
Przegrana w minimax
W raporcie z wprowadzeniem GAN generator stara się zminimalizować tę funkcję, podczas gdy dyskryminator chce ją zmaksymalizować:
W tej funkcji:
D(x)
to szacunek prawdopodobieństwa dyskryminacji, gdy istnieje prawdziwe wystąpienie danych.- Ex to oczekiwana wartość we wszystkich rzeczywistych instancjach danych.
G(z)
to wyjście dla generatora, gdy występuje szum.D(G(z))
to szacunek prawdopodobieństwa dyskryminacji,- Ez to oczekiwana wartość w stosunku do wszystkich losowych danych wejściowych w generatorze (w rzeczywistości wartość oczekiwana we wszystkich wygenerowanych instancjach G(z).
- Ta formuła pochodzi z entropii krzyżowej między rozkładami rzeczywistymi i generowanymi.
Generator nie może bezpośrednio wpłynąć na warunki funkcji log(D(x))
, więc w przypadku generatora zminimalizowanie strat jest równoważne z minimalizowaniem ilości log(1 -
D(G(z)))
.
Aby wdrożyć funkcję TF-GAN, zapoznaj się z informacjami na temat minimax_discriminator_loss i minmini_generator_loss.
Zmodyfikowana min. utrata wagi
W oryginalnym dokumencie GAN wspomniano, że powyższa funkcja utraty wagi może powodować utknięcie sieci GAN na wczesnych etapach szkolenia GAN, gdy praca dyskryminatora jest bardzo łatwa. W publikacji zaleca się zmodyfikowanie utraty generatora, tak aby generator mógł zmaksymalizować log D(G(z))
.
Więcej informacji o wdrożeniu tej modyfikacji znajdziesz w tagu TF-GAN (zobacz modified_generator_loss).
Strata Wasserstein
Domyślnie TF-GAN używa strat Wasserstein.
Ta funkcja utraty zależy od modyfikacji schematu GAN (nazywanego &&tt;Wasserstein GAN" &&tt;WGAN"), w którym dyskryminator nie klasyfikuje instancji. Dla każdej instancji zwraca liczbę. Ta wartość nie może być mniejsza niż 0 ani większa niż 0, dlatego nie możemy używać wartości 0,5 jako progu, aby określić, czy instancja jest prawdziwa, czy fałszywa. Trenowanie dyskryminacji polega na poszerzeniu danych wyjściowych w przypadku rzeczywistych instancji niż w przypadku fałszywych instancji.
Ponieważ tak naprawdę nie można odróżnić go od prawdziwych, jest to tzw. „dyskryminacja”, a nie „dyskryminacja”. To rozróżnienie teoretyczne ma znaczenie, ale w praktyce możemy je potraktować jako potwierdzenie, że dane wejściowe funkcji utraty nie muszą być prawdopodobne.
Same funkcje utraty danych są nieuczciwe:
Utrata krytyki: D(x) - D(G(z))
Dyskryminator próbuje zmaksymalizować tę funkcję. Inaczej mówiąc, próbuje on zmaksymalizować różnicę między danymi wyjściowymi w rzeczywistych instancjach i tymi w fałszywych instancjach.
Utrata generatora: D(G(z))
Generator próbuje zmaksymalizować tę funkcję. Inaczej mówiąc, stara się maksymalnie wykorzystać dyskryminację w fałszywych wynikach.
Funkcje te:
D(x)
to wynik krytyka dla rzeczywistej instancji.G(z)
to wyjście dla generatora, gdy występuje szum.D(G(z))
to wynik krytyka w przypadku fałszywej instancji.- Wynik krytyka D nie musi wynosić od 1 do 0.
- Wzory pochodzą z odległości między ruchomymi Ziemiami między rzeczywistymi a wygenerowanymi rozkładami.
W implementacji TF-GAN znajdziesz implementacje wasserstein_generator_loss i wasserstein_discriminator_loss.
Wymagania
Teoretyczne uzasadnienie wag Wasserstein GAN (lub WGAN) wymaga przycinania wag w GAN, aby mieściły się w ograniczonym zakresie.
Zalety
Reklamy GAN w sieci Wasserstein są mniej podatne na utknięcie niż rozwiązania GAN oparte na minimaxach i uniknąć problemów związanych z znikaniem gradientów. Rzeczywista odległość w terenie kosmicznym ma tę zaletę, że jest to miara prawdziwej odległości w przedziale prawdopodobieństwa. Energia międzykulturowa w tym sensie nie jest tym wskaźnikiem.