Omówienie struktury GAN

Generatywne sieci współzawodniczące (GAN) składają się z 2 części:

  • Generator uczy się generować wiarygodne dane. Wygenerowane instancje stają się negatywnymi przykładami treningowymi dla dyskryminatora.
  • Dyskriminator uczy się odróżniać fałszywe dane generatora od prawdziwych. Dyskryminator penalizuje generator za generowanie nieprawdopodobnych wyników.

Gdy rozpoczyna się trenowanie, generator generuje wyraźnie fałszywe dane, a dyskryminator szybko uczy się, że są one fałszywe:

3 kolumny mają etykiety „Dane wygenerowane”, „Dyskryminator” i „Dane rzeczywiste”. W sekcji „Wygenerowane dane” niebieski prostokąt zawiera zawijas i koło. Prostokąt to pierwszy, nieudany próba generatora do narysowania banknotu o wartości 1 dolara. W sekcji „Dane rzeczywiste” znajduje się zdjęcie prawdziwego banknotu 10-dolarowego. W sekcji „Wyróżnik” znajdują się słowa „FAKE” i „REAL”. Strzałka wskazuje od słowa „FAKE” (fałsz) do zdjęcia pod nagłówkiem „Generated Data” (wygenerowane dane). Kolejna strzałka wskazuje od słowa „REAL” do zdjęcia w sekcji „Real Data” (Rzeczywiste dane).

W miarę postępów w treningu generator coraz lepiej tworzy dane wyjściowe, które mogą oszukać dyskryminator:

Na tym obrazie widać nowy wiersz pod nagłówkami „Dane wygenerowane”, „Dyskriminator” i „Dane rzeczywiste” z poprzedniego rysunku. W sekcji „Wygenerowane dane”
          znajduje się zielony prostokąt z liczbą 10 w lewym górnym rogu
          oraz prosty rysunek twarzy. W sekcji „Real Data” znajduje się zdjęcie prawdziwego banknotu 100-dolarowego. W sekcji „Dyskryminator” znajduje się słowo „FAKE” (fałsz) ze strzałką wskazującą na zdjęcie w sekcji „Generated Data” (wygenerowane dane) oraz słowo „REAL” (prawdziwe) ze strzałką wskazującą na zdjęcie w sekcji „Real Data” (prawdziwe dane).

Na koniec, jeśli szkolenie generatora przebiega dobrze, funkcja dyskryminacyjna coraz gorzej odróżnia prawdziwe obrazy od fałszywych. Zaczyna klasyfikować fałszywe dane jako prawdziwe, przez co jego dokładność spada.

Na tym obrazie widać nowy wiersz pod nagłówkami „Dane wygenerowane”, „Dyskriminator” i „Dane rzeczywiste” w pierwszym poprzednim obrazie. W sekcji „Wygenerowane dane” znajduje się zdjęcie banknotu 20-dolarowego. W sekcji „Real Data” znajduje się zdjęcie banknotu 20-dolarowego. W sekcji „Dyskryminator” znajduje się słowo „REAL” z strzałką wskazującą na obraz w sekcji „Wygenerowane dane” oraz słowo „REAL” ze strzałką wskazującą na obraz w sekcji „Prawdziwe dane”.

Oto zdjęcie całego systemu:

Schemat sieci generatywnej antagonistycznej Pośrodku diagramu znajduje się pole o nazwie „discriminator”. Z lewej strony do tego pola wpływają 2 gałęzie.  Gałąź górna zaczyna się w lewym górnym rogu diagramu od cylindra z nazwą „zdjęcia w rzeczywistych warunkach”. Strzałka z cylindra prowadzi do pudełka z etykietą „Sample”. Strzałka z pola „Sample” (Próbka) prowadzi do pola „Discriminator” (Dyskryminator). Gałąź dolna prowadzi do pola „Dyskretna”, które zaczyna się od pola „Losowe wejście”. Strzałka prowadzi z pola „Losowe dane wejściowe” do pola „Generator”. Strzałka prowadzi z pola „Generator” do drugiego pola „Przykład”. Strzałka prowadzi z pola „Próbka” do pola „Dyskryptory”. Po prawej stronie pola „Dyskryminator” znajduje się strzałka prowadząca do pola z zielonym i czerwonym kółkiem. Nad polem pojawi się zielone słowo „Real”, a pod nim czerwone słowo „False”. Z tego pola wychodzą 2 strzałki do 2 pól po prawej stronie diagramu. Jedna strzałka prowadzi do pola o nazwie „Utrata dyskryminacyjna”. Druga strzałka prowadzi do pola o nazwie „Utrata generatora”.

Zarówno generator, jak i dyskryminator to sieci neuronowe. Wyjście generatora jest połączone bezpośrednio z wejściami dyskryminatora. Dzięki propagacji wstecznej klasyfikacja dyskryminatora dostarcza sygnału, którego generator używa do aktualizowania wag.

Przyjrzyjmy się teraz bliżej poszczególnym elementom tego systemu.