Informacje ogólne: czym jest model generatywny?

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:

2 wykresy: jeden z nazwą „Model dyskryminacyjny”, a drugi z nazwą „Model generatywny”. Oba wykresy zawierają te same 4 punkty danych. Każdy punkt jest oznaczony obrazem odręcznego zapisu danej cyfry. Na wykresie dyskryminacyjnym widoczna jest przerywana linia oddzielająca 2 punkty danych od pozostałych 2 punktów. Obszar powyżej linii przerywanej jest oznaczony jako „y=0”, a obszar poniżej linii jako „y=1”. Na generatywnym wykresie wokół 2 par punktów narysowane są 2 kółka z kropkowaną linią. Górne koło ma etykietę „y=0”, a dolne „y=1”.

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

Masz wyniki testu IQ dla 1000 osób. Rozkład wyników testu IQ modelujesz w ten sposób:
  1. Rzuć 3 kostkami sześcierzościedmowymi.
  2. Pomnóż losowy wynik przez stałą w.
  3. Powtórz to 100 razy i oblicz średnią z wszystkich wyników.
Wypróbuj różne wartości w przypadku w, aż wynik procedury będzie równy średniej z rzeczywistych wyników IQ. Czy Twój model jest modelem generatywnym czy dyskryminacyjnym?
Model dyskryminacyjny
Model generatywny
Nie mamy wystarczających informacji, aby udzielić odpowiedzi.
Gdy podasz modelowi instancję danych, zwróci on prawdopodobieństwo. Czy ten model jest modelem generatywnym czy dyskryminacyjnym?
Model dyskryminacyjny
Model generatywny
Nie mamy wystarczających informacji, aby udzielić odpowiedzi.