Co oznacza słowo „generatywne” w nazwie „Generative Adversarial Network”? Termin „generatywny” odnosi się do klasy modeli statystycznych, które są przeciwieństwem modeli dyskryminacyjnych.
Nieformalnie:
- Modele generatywne mogą generować nowe instancje danych.
- Modele dyskryminacyjne rozróżniają różne typy instancji danych.
Model generatywny może generować nowe zdjęcia zwierząt, które wyglądają jak prawdziwe zwierzęta, a model dyskryminacyjny może odróżnić psa od kota. GAN to tylko jeden rodzaj modelu generatywnego.
Bardziej formalnie, jeśli mamy zbiór wystąpień danych X i zbiór etykiet Y:
- Modele generatywne odzwierciedlają prawdopodobieństwo wspólne p(X, Y) lub tylko p(X), jeśli nie ma etykiet.
- Modele dyskryminacyjne uwzględniają prawdopodobieństwo warunkowe p(Y | X).
Model generatywny zawiera rozkład samych danych i mówi, jak prawdopodobny jest dany przykład. Na przykład modele, które przewidują następne słowo w sekwencji, są zwykle modelami generatywnymi (zwykle znacznie prostszymi niż GAN-y), ponieważ mogą przypisać prawdopodobieństwo sekwencji słów.
Model dyskryminacyjny ignoruje pytanie, czy dana instancja jest prawdopodobna, i tylko informuje, jak prawdopodobne jest zastosowanie etykiety do tej instancji.
Pamiętaj, że jest to bardzo ogólna definicja. Istnieją różne rodzaje modeli generatywnych. GAN to tylko jeden rodzaj modelu generatywnego.
Modelowanie prawdopodobieństw
Żaden z tych modeli nie musi zwracać liczby odpowiadającej prawdopodobieństwu. Możesz modelować rozkład danych, naśladując ten rozkład.
Na przykład klasyfikator dyskryminacyjny, taki jak drzewo decyzyjne, może przypisać etykietę instancji bez przypisywania prawdopodobieństwa do tej etykiety. Taki klasyfikator nadal byłby modelem, ponieważ rozkład wszystkich przewidzianych etykiet odzwierciedlałby rzeczywisty rozkład etykiet w danych.
Podobnie model generatywny może modelować rozkład, generując przekonujące „fałszywe” dane, które wyglądają tak, jakby pochodziły z tego rozkładu.
Modele generatywne są trudne
Modele generatywne rozwiązują trudniejsze zadania niż analogiczne modele dyskryminacyjne. Modele generatywne muszą bardziej modelować.
Model generatywny dla obrazów może uchwycić korelacje takie jak „rzeczy, które wyglądają jak łodzie, prawdopodobnie pojawią się w pobliżu rzeczy, które wyglądają jak woda” oraz „oczy rzadko pojawiają się na czole”. Są to bardzo skomplikowane rozkłady.
Model dyskryminacyjny może natomiast nauczyć się różnicy między „żaglówka” a „nie żaglówka” tylko na podstawie kilku charakterystycznych wzorców. Może on ignorować wiele korelacji, które model generatywny musi poprawnie określić.
Modele dyskryminacyjne starają się wyznaczać granice w przestrzeni danych, a modele generatywne próbują modelować sposób rozmieszczania danych w tej przestrzeni. Na przykład diagram poniżej przedstawia modele dyskryminacyjne i generacyjne ręcznie pisanych cyfr:
Rysunek 1.Modele dyskryminacyjne i generacyjne cyfry odręcznej
Model dyskryminacyjny próbuje odróżnić od siebie ręcznie napisane „0” i „1” przez wyznaczenie granicy w przestrzeni danych. Jeśli linia jest prawidłowo zdefiniowana, model może odróżnić wartości 0 od 1 bez konieczności modelowania dokładnego położenia instancji w przestrzeni danych po obu stronach linii.
Model generatywny próbuje natomiast wygenerować przekonujące 1 i 0, generując cyfry, które są zbliżone do ich rzeczywistych odpowiedników w przestrzeni danych. Musi ona odzwierciedlać rozkład w przestrzeni danych.
GAN to skuteczny sposób na trenowanie takich bogatych modeli, aby przypominały rzeczywistą dystrybucję. Aby zrozumieć, jak działają, musimy poznać podstawową strukturę GAN.
Sprawdź swoje zrozumienie: modele generatywne a dyskryminacyjne
- Rzuć 3 kostkami sześcierzościedmowymi.
- Pomnóż losowy wynik przez stałą w.
- Powtórz to 100 razy i oblicz średnią z wszystkich wyników.