Typowe problemy

GAN ma wiele typowych trybów awarii. Wszystkie te typowe problemy to obszary aktywnego badania. Żaden z tych problemów nie został całkowicie rozwiązany, ale opisujemy tu kilka sprawdzonych metod.

Znikające gradienty

Badania wykazały, że jeśli dyskryminacja jest zbyt dobra, generator może nie zadziałać z powodu zniknięcia gradientów. Optymalna dyskryminacja nie wystarcza, aby generator mógł osiągnąć postępy.

Próby rozwiązania problemu

Zwiń tryb

Zazwyczaj chcesz, aby sieć GAN generowała różne dane wyjściowe. Załóżmy na przykład, że chcesz używać innej twarzy dla każdego losowego wprowadzania danych do generatora.

Jeśli jednak generator generuje szczególnie wiarygodne dane, generator może się nauczyć generować tylko dane wyjściowe. Generator zawsze stara się znaleźć rozwiązanie, które jest najbardziej prawdopodobne z powodu dyskryminatora.

Jeśli generator zaczyna powtarzać te same dane wyjściowe (lub niewielką ich liczbę), dyskryminatorem zawsze jest nauczenie się zawsze odrzucania tych danych wyjściowych. Jeśli jednak następne pokolenie dyskryminacji utknie w lokalnym minimum i nie znajdzie najlepszej strategii, to będzie zbyt trudne dla następnego iteracji, aby znaleźć najbardziej wiarygodne wyniki dla bieżącego dyskryminatora.

Każda iteracja generatora polega na nadmiernych optymalizacji pod kątem konkretnego dyskryminatora, a dyskryminator nigdy nie wydobywa się z pułapki. W rezultacie generatory rotują przez niewielki zestaw typów danych wyjściowych. Ta forma błędu GAN nazywa się zwinięciem trybu.

Próby rozwiązania problemu

Poniższe metody wymuszają poszerzenie zakresu generatora, zapobiegając optymalizacji go pod kątem pojedynczej dyskryminacji:

  • Utrata Wassersteina: strata Wasserstein złagodzi tryb rozładowywania, umożliwiając wytrenowanie dyskryminatora do optymalizacji bez obaw o zniknięcie gradientów. Jeśli dyskryminator nie utknął w lokalnej minydzie, uczy się odrzucać wyniki, na których stabilizuje się generator. Generator musi spróbować czegoś nowego.
  • Niewprowadzone GAN: niewprowadzone GAN korzystają z funkcji utraty generatora, która uwzględnia nie tylko obecną klasyfikację dyskryminatora, ale też dane wyjściowe przyszłych dyskryminacji. Dlatego generator nie może optymalizować zbyt jednej dyskryminacji.

Niepowodzenie

Omówienie GAN często się nie kończy, jak opisano w module na temat trenowania.

Próby rozwiązania problemu

Badacze próbowali wykorzystać różne formy normalizacji do poprawy spójności GAN, między innymi: