Fra papiret, der introducerer GANer :

Et afsnit, der nævner Helvetica-scenariet

Det giver mening at kollapser for mange $ \ vec {z} $ -værdier til en enkelt $ \ vec {x} $ -værdi vil give problemer. Jeg var dog lidt forvirret over, hvordan jeg træner $ G $ i en kortere periode, inden jeg kørte $ D $ kan ordne det. Men da jeg googlede “Helvetica-scenariet”, kunne jeg kun finde referencer til et parodishow kaldet Se dig omkring .

Da det ser ud til at dette er en faktisk ting, ikke bare en parodi – hvor kan jeg finde ud af mere om det, og hvordan det kan forhindres? Og hvorfor kaldes det “Helvetica-scenariet”?

Svar

Placering af for meget sandsynlighedsmasse på en enkelt $ x $ er faktisk et stort problem med GANer. Normalt kaldes det tilstandskollaps . De fleste GAN-papirer vil diskutere det.

Jeg var lidt forvirret over, hvordan træning 𝐺 i kortere tid, før jeg kører 𝐷 kan ordne det.

Ideen er at holde diskriminatoren $ D $ opdateret med generatoren $ G $ . Ved at træne $ G $ mindre, træner du $ D $ mere. Normalt udføres en alternerende optimering med GANer, dvs. tog $ D $ til $ n $ iterationer, derefter $ G $ til $ m $ iterationer osv. “Job” for $ D $ er at kunne skelne falske $ G $ output fra reelle data point. Men hvis du ikke træner $ D $ nok (dvs. du træner $ G $ for meget , så $ m > n $ ), derefter $ G $ vil hurtigt “løbe af” og udnytte lokale minima i $ D $ . Fra $ G $ ” s synspunkt, hvis $ D $ “kan lide” noget output $ x = G (z) $ , så er den nemmeste ting at gøre bare kun output, der $ x $ ! Træning $ G $ mindre (og dermed $ D $ mere) gør det muligt for denne minima at bevæge sig og forhindrer $ G $ fra at udnytte dem.

Bemærk, at overtraining $ D $ ikke “t synes at være en dårlig ting a priori . Med mere moderne GAN-tab (f.eks. Wasserstein-tab) vil man faktisk $ n $ at være så stor som muligt. Det betyder bare, at $ D $ konvergerer til at være en stor diskriminator i hvert trin, så det skal være informativt for $ G $ . (Faktisk bevis for konvergens er afhængig af at gøre dette!) Men i praksis for den originale GAN, overtræning $ D $ har tendens til ubrugelige stigninger (se nedenfor): intet $ G $ kan gøre vil behage diskriminatoren, så alle vægtopdateringer er ubrugelige , så GAN bare forgæves slår rundt om parameterrum). Denne flailing kaldes ustabil træning af andre. 🙂

Med andre ord, for vanilje GAN kan undervisning $ D $ føre til tilstandskollaps, mens overtræning kan medføre ustabilitet. Folk har tilsyneladende fokuseret på at mindske ustabilitet, så man simpelthen overtræner $ D $ og undgår kollaps i tilstand.

hvordan det kan forhindres?

En almindelig måde at afbøde den på er at bruge en anden tabsfunktion, såsom et Wasserstein-tab. Et problem med den originale GAN-formulering er, at (ved at minimere JS-divergensen) kan have meget uinformative gradienter, fordi tabet ikke håndterer distributioner med meget lidt overlapning meget godt (dvs. når den delte support er lille). På en eller anden måde er det for hårdt, når generatoren klarer sig dårligt. I modsætning hertil falder et optimalt transporttab glat, selv når de to fordelinger er langt fra hinanden. Se f.eks. Wasserstein GAN-papiret og dets opfølgninger.

Og hvorfor kaldes det “Helvetica-scenariet”?

Det refererer til det show, du nævnte, hvor for meget calcium sættes på ét sted og forårsager en katastrofe. Her opstår en katastrofe, når for meget generatorens sandsynlighedsdensitet placeres i et lille område af dataområdet. 🙂

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *