Wasserstein GAN

Wasserstein Generative Adversarial Network (WGAN) är en variant av generative adversarial network (GAN) som föreslogs 2017 som syftar till att "förbättra stabiliteten i inlärningen, bli av med problem som lägeskollaps och tillhandahålla meningsfulla inlärningskurvor användbara för felsökning och hyperparametersökningar ".

Jämfört med den ursprungliga GAN-diskriminatorn ger Wasserstein GAN-diskriminatorn en bättre inlärningssignal till generatorn. Detta gör att träningen blir mer stabil när generatorn lär sig distributioner i mycket högdimensionella utrymmen.

Motivering

GAN-spelet

Den ursprungliga GAN-metoden är baserad på GAN-spelet, ett nollsummespel med 2 spelare: generator och diskriminator. Spelet definieras över ett sannolikhetsutrymme Generatorns strategiuppsättning är uppsättningen av alla sannolikhetsmått och diskriminatorns strategiuppsättning är mängden mätbara funktioner .

Målet med spelet är

Generatorn syftar till att minimera den, och diskriminatorn strävar efter att maximera den.

En grundläggande teorem i GAN-spelet säger att

  Sats (den optimala diskriminatorn beräknar Jensen–Shannon-divergensen) För varje fast generatorstrategi , låt det optimala svaret vara sedan

där derivatan är Radon–Nikodym-derivatan och är Jensen–Shannon-divergensen .

Upprepa GAN-spelet många gånger, varje gång med generatorn i rörelse först och diskriminatorn i rörelse som andra. Varje gång generatorn ändras måste diskriminatorn anpassa sig genom att närma sig idealet

Eftersom vi verkligen är intresserade av , är diskriminatorfunktionen i sig ganska ointressant. Den håller bara reda på sannolikhetsförhållandet mellan generatordistributionen och referensfördelningen. Vid jämvikt matar diskriminatorn bara ut konstant, efter att ha gett upp försöken att uppfatta någon skillnad.

Konkret, i GAN-spelet, låt oss fixa en generator och förbättra diskriminatorn steg för steg, med är diskriminatorn i steg . Då har vi (helst) det

så vi ser att diskriminatorn faktiskt är lägre .

Wasserstein avstånd

Vi ser alltså att poängen med diskriminatorn främst är som kritiker att ge feedback till generatorn, om "hur långt det är från perfektion", där "långt" definieras som Jensen–Shannon-divergens.

Naturligtvis medför detta möjligheten att använda ett annat kriterier för farness. Det finns många möjliga divergenser att välja mellan, till exempel f-divergensfamiljen , som skulle ge f-GAN.

Wasserstein GAN erhålls genom att använda Wasserstein-måttet , som uppfyller ett "dubbel representationssats" som gör det mycket effektivt att beräkna:

  Sats (Kantorovich-Rubenstein-dualitet) När sannolikhetsutrymmet är ett metriskt utrymme, då för varje fast ,

där är Lipschitz-normen .

Ett bevis finns på huvudsidan om Wasserstein metrisk .

Definition

Genom Kantorovich-Rubenstein-dualiteten är definitionen av Wasserstein GAN tydlig:

Ett Wasserstein GAN-spel definieras av ett sannolikhetsutrymme där är ett metriskt utrymme och en konstant .

Det finns 2 spelare: generator och diskriminator (även kallad "kritiker").

Generatorns strategiuppsättning är mängden av alla sannolikhetsmått .

Diskriminatorns strategiuppsättning är uppsättningen av mätbara funktioner av typ med avgränsad Lipschitz-norm: .

Wasserstein GAN-spelet är ett nollsummespel med objektiv funktion

Generatorn går först och diskriminatorn går tvåa. Generatorn syftar till att minimera målet, och diskriminatorn strävar efter att maximera målet:

Genom Kantorovich-Rubenstein-dualiteten, för varje generatorstrategi , är det optimala svaret från diskriminatorn , så att

Följaktligen, om diskriminatorn är bra, skulle generatorn konstant pressas för att minimera , och den optimala strategin för generatorn är bara som den borde.

Jämförelse med GAN

I Wasserstein GAN-spelet ger diskriminatorn en bättre gradient än i GAN-spelet.

Betrakta till exempel ett spel på den verkliga linjen där både och är gaussiska. Sedan ritas den optimala Wasserstein-kritikern och den optimala GAN-diskriminatorn enligt nedan:

Den optimala Wasserstein-kritikern och den optimala GAN-diskriminatorn för en fast referensfördelning och generatorfördelning . Både Wasserstein-kritikern och GAN-diskriminatorn är nedskalade för att passa handlingen.

För fast diskriminator måste generatorn minimera följande mål:

  • För GAN, .
  • För Wasserstein GAN, .

Låt parametriseras med , då kan vi utföra stokastisk gradientnedstigning genom att använda två opartiska estimatorer av gradienten:

där vi använde omparametriseringstricket.
Samma plot, men med GAN-diskriminatorn ersatt av och nedskalad för att passa plottet).

Som visas är generatorn i GAN motiverad att låta sin "glida nerför toppen" av . Likadant för generatorn i Wasserstein GAN.

För Wasserstein GAN har gradient 1 nästan överallt, medan för GAN har platt gradient i mitten och brant lutning på andra håll. Som ett resultat är variansen för estimatorn i GAN vanligtvis mycket större än den i Wasserstein GAN. Se även figur 3 av.

Problemet med är mycket allvarligare i verkliga maskininlärningssituationer. Överväg att utbilda en GAN för att skapa ImageNet , en samling foton i storleken 256 x 256. Utrymmet för alla sådana foton är och distributionen av ImageNet-bilder, , koncentrerar sig på ett grenrör av mycket lägre dimension i den. Följaktligen skulle varje generatorstrategi nästan säkert vara helt osammanhängande från , vilket gör . Således kan en bra diskriminator nästan perfekt skilja från , såväl som alla nära . Gradienten skapar alltså ingen inlärningssignal för generatorn.

Detaljerade satser finns i.

Utbildning Wasserstein GANs

Att träna generatorn i Wasserstein GAN är bara gradient descent , samma som i GAN (eller de flesta djupinlärningsmetoder), men att träna diskriminatorn är annorlunda, eftersom diskriminatorn nu är begränsad till att ha begränsat Lipschitz-normen. Det finns flera metoder för detta.

Övergränsar Lipschitz-normen

Låt diskriminatorfunktionen implementeras av en flerskiktsperceptron :

där och är en fast aktiveringsfunktion med . Till exempel, den hyperboliska tangentfunktionen uppfyller kravet.

Sedan, för valfri , låt , vi har av kedjeregeln :

Således är Lipschitz-normen för övre gränsad av
där är operatornormen för matrisen, det vill säga det största singularvärdet för matrisen, det vill säga matrisens spektralradie (dessa begrepp är samma för matriser, men olika för allmänna linjära operatorer ).

Sedan , vi har , och följaktligen den övre gränsen:

Således, om vi kan övergränsa operatornormer för varje matris, kan vi övergränsa Lipschitz-normen för .

Viktklippning

Eftersom för valfri matris , låt vi har

genom att klippa alla poster i till inom ett visst intervall , kan vi binda .

Detta är viktklippningsmetoden, föreslagen av originaltidningen.

Spektral normalisering

Spektralradien kan effektivt beräknas med följande algoritm:

INPUT- matris och initial gissning

Iterera till konvergens . Detta är egenvektorn för med egenvärdet .

RETURN

Genom att omtilldela efter varje uppdatering av diskriminatorn kan vi övre gränsen och därmed övre gränsen .

Algoritmen kan accelereras ytterligare genom memoisering : I steg , lagra . Sedan i steg , använd som initial gissning för algoritmen. Eftersom är mycket nära , så är nära , så detta tillåter snabb konvergens.

Detta är den spektrala normaliseringsmetoden.

Gradientstraff

Istället för att strikt begränsa , kan vi helt enkelt lägga till en "gradient penalty"-term för diskriminatorn, av form

där är en fast fördelning som används för att uppskatta hur mycket diskriminatorn har brutit mot Lipschitz-normens krav. Diskriminatorn, i ett försök att minimera den nya förlustfunktionen, skulle naturligtvis bringa nära överallt, vilket gör .

Detta är metoden för gradientstraff.

Vidare läsning

Se även

Anteckningar