Funkcje utraty

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:

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ć:

$$E_x[log(D(x))] + E_z[log(1 - D(G(z)))]$$

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.