Dyskryminator w GAN jest po prostu klasyfikatorem. Staramy się odróżnić prawdziwe dane od tych utworzonych przez generator. Może ona wykorzystywać dowolną architekturę sieci odpowiednią do rodzaju klasyfikowanych danych.
Rysunek 1: Propagacja w ramach szkoleń dotyczących dyskryminacji.
Dane treningowe dotyczące dyskryminacji
Dane szkoleniowe o dyskryminacji pochodzą z 2 źródeł:
- Rzeczywiste dane, np. rzeczywiste zdjęcia ludzi. Kryminał wykorzystuje te przypadki jako przykłady.
- Fałszywe dane utworzone przez generator. Dyskryminator wykorzystuje te przypadki jako przykłady negatywne podczas trenowania.
Na rysunku 1 oba pola „Sample"” przedstawiają te 2 źródła danych dotyczące dyskryminatora. Podczas trenowania dyskryminacji generator nie jest trenowany. Jego wagi pozostają stałe, a przykłady uczą się dyskryminacji.
Wskazywanie dyskryminacji
dyskryminator łączy się z 2 funkcjami utraty. W czasie trenowania dyskryminacji dyskryminator ignoruje stratę generatora i jedynie stosuje dyskryminację. Podczas generatora korzystamy z utraty generatora zgodnie z opisem w następnej sekcji.
Podczas szkolenia dotyczącego dyskryminacji:
- Dyskryminator klasyfikuje zarówno rzeczywiste, jak i fałszywe dane z generatora.
- Strata dyskryminatora wiąże się z nałożeniem kary za sklasyfikowanie prawdziwej instancji jako fałszywej lub fałszywej jako prawdziwej.
- Platforma dyskryminująca aktualizuje wagi przy użyciu propagacji dyskryminacji poprzez sieć dyskryminatora.
W następnej sekcji dowiesz się, dlaczego strata generatora łączy się z dyskryminacją.