Baggrund: Hvad er en generativ model?

Hvad betyder “generativ” i navnet “Generative Adversarial Network”? “Generativ” beskriver en klasse af statistiske modeller, der står i modsætning til diskriminative modeller.

Informelt:

  • Generative modeller kan generere nye datainstanser.
  • Diskriminative modeller kan skelne mellem forskellige slags datainstanser.

En generativ model kan generere nye fotos af dyr, der ligner rigtige dyr, mens en diskriminativ model kan skelne en hund fra en kat. GAN’er er blot en slags generativ model.

Mere formelt set, givet et sæt datainstanser X og et sæt etiketter Y:

  • Generative modeller indfanger den fælles sandsynlighed p(X, Y), eller blotp(X), hvis der ikke er nogen etiketter.
  • Diskriminative modeller indfanger den betingede sandsynlighed p(Y | X).

En generativ model omfatter fordelingen af selve dataene og fortæller, hvor sandsynligt et givet eksempel er. For eksempel er modeller, der forudsiger det næste ord i en sekvens, typisk generative modeller (normalt meget enklere end GAN’er)fordi de kan tildele en sandsynlighed til en sekvens af ord.

En diskriminativ model ignorerer spørgsmålet om, hvorvidt et givet eksempel er sandsynligt, og fortæller blot, hvor sandsynligt det er, at en etiket gælder for det pågældende eksempel.

Bemærk, at dette er en meget generel definition. Der findes mange former for generativemodeller. GAN’er er blot en slags generativ model.

Modellering af sandsynligheder

Ingen af de to slags modeller behøver at returnere et tal, der repræsenterer en sandsynlighed. Du kan modellere fordelingen af data ved at efterligne denne fordeling.

En diskriminativ klassifikator som f.eks. en decisiontree kan f.eks. mærke en forekomst uden at tildele en sandsynlighed til denne mærkning. En sådan klassifikator vil stadig være en model, fordi fordelingen af alle forudsagte etiketter vil modellere den reelle fordeling af etiketter i dataene.

På samme måde kan en generativ model modellere en fordeling ved at producere overbevisende “falske” data, der ser ud som om de er trukket fra den pågældende fordeling.

Generative modeller er svære

Generative modeller løser en vanskeligere opgave end analoge diskriminative modeller. Generative modeller skal modellere mere.

En generativ model for billeder kan fange korrelationer som “ting, der ligner både, vil sandsynligvis optræde i nærheden af ting, der ligner vand” og “det er usandsynligt, at øjne optræder på pandehoveder”. Det er meget komplicerede fordelinger.

Den diskriminative model kan derimod lære at kende forskellen mellem “sejlbåd” og “ikke sejlbåd” ved blot at kigge efter nogle få afslørende mønstre. Den kan ignorere mange af de korrelationer, som den generative model skal have styr på.

Diskriminative modeller forsøger at trække grænser i datarummet, mens generative modeller forsøger at modellere, hvordan data er placeret i hele rummet. Følgende diagram viser f.eks. diskriminative og generative modeller af håndskrevne cifre:

To grafer, den ene med betegnelsen

Figur 1: Diskriminativ og generativ model af håndskrevne cifre.

Den diskriminative model forsøger at skelne mellem håndskrevne 0’er og 1’er ved at trække en linje i datarummet. Hvis den får linjen korrekt, kan den skelne 0’er fra 1’er uden nogensinde at skulle modellere nøjagtigt, hvor de enkelte tilfælde er placeret i datarummet på hver side af linjen.

Den generative model forsøger derimod at producere overbevisende 1’er og 0’er ved at generere cifre, der ligger tæt på deres virkelige modstykker i datarummet. Den skal modellere fordelingen i hele datarummet.

GAN’er er en effektiv måde at træne sådanne rige modeller på, så de ligner en reel fordeling. For at forstå, hvordan de fungerer, er vi nødt til at forstå den grundlæggende struktur af en GAN.

Tjek din forståelse: Generative vs. diskriminative modeller

Du har IQ-scoringer for 1000 personer. Du modellerer fordelingen af IQ-scoringer med følgende procedure:

  1. Rulle tre sekssidede terninger.
  2. Multiplicer kastet med en konstant w.
  3. Gentag 100 gange og tag gennemsnittet af alle resultaterne.

Du prøver forskellige værdier for w, indtil resultatet af din procedure er lig med gennemsnittet af de virkelige IQ-scores. Er din model en generativ model eller en diskriminativ model?

Generativ model
Korrekt: med hvert kast genererer du effektivt IQ’en for en imaginær person. Desuden indfanger din generative model det faktum, at IQ-scoringer er normalt fordelt (dvs. på en klokkekurve).

Diskriminativ model
Ukorrekt: En analog diskriminativ model ville forsøge at skelne mellem forskellige former for IQ-scoringer. En diskriminativ model kunne f.eks. forsøge at klassificere en IQ som falsk eller ægte.

Ikke nok information til at sige det.
Denne model passer faktisk til definitionen af en af vores to slags modeller.

En model returnerer en sandsynlighed, når du giver den en datainstans. Er denne model en generativ model eller en diskriminativ model?
Generativ model
En generativ model kan estimere sandsynligheden for instansen og også sandsynligheden for en klasselabel.

Diskriminativ model
En diskriminativ model kan estimere sandsynligheden for, at en instans hører til en klasse.

Ingen tilstrækkelig information til at sige det.
Både generative og diskriminative modeller kan estimere sandsynligheder (men de behøver ikke at gøre det).

Leave a Reply