Achtergrond: Wat is een generatief model?

Wat betekent “generatief” in de naam “Generative Adversarial Network”? “Generatief” beschrijft een klasse van statistische modellen die contrasteert met discriminatieve modellen.

Informeel:

  • Generatieve modellen kunnen nieuwe gegevensincidenten genereren.
  • Discriminatieve modellen maken onderscheid tussen verschillende soorten gegevensinstanties.

Een generatief model kan nieuwe foto’s genereren van dieren die op echte dieren lijken, terwijl een discriminerend model een hond van een kat kan onderscheiden. GAN’s zijn slechts één soort generatieve modellen.

Meer formeel, gegeven een reeks gegevensinstanties X en een reeks labels Y:

  • Generatieve modellen leggen de gezamenlijke waarschijnlijkheid p(X, Y) vast, of gewoonp(X) als er geen labels zijn.
  • Discriminatieve modellen leggen de voorwaardelijke waarschijnlijkheid p(Y | X) vast.

Een generatief model omvat de verdeling van de gegevens zelf, en vertelt u hoe waarschijnlijk een gegeven voorbeeld is. Modellen die bijvoorbeeld het volgende woord in een reeks voorspellen, zijn typisch generatieve modellen (gewoonlijk veel eenvoudiger dan GAN’s)omdat zij een waarschijnlijkheid kunnen toekennen aan een reeks woorden.

Een discriminerend model negeert de vraag of een bepaalde instantie waarschijnlijk is, en vertelt u alleen hoe waarschijnlijk het is dat een label op de instantie van toepassing is.

Merk op dat dit een zeer algemene definitie is. Er zijn vele soorten generativemodellen. GANs zijn slechts één soort generatieve modellen.

Modeling Probabilities

Geen van beide soorten modellen hoeft een getal terug te geven dat een waarschijnlijkheid weergeeft. U kunt de verdeling van gegevens modelleren door die verdeling na te bootsen.

Zo kan een discriminerende classificator als een beslisboom een instantie een label geven zonder een waarschijnlijkheid aan dat label toe te kennen. Een dergelijke classificator zou nog steeds een model zijn, omdat de verdeling van alle voorspelde labels de werkelijke verdeling van labels in de gegevens zou modelleren.

Op vergelijkbare wijze kan een generatief model een verdeling modelleren door overtuigende “nep”-gegevens te produceren die eruit zien alsof ze uit die verdeling zijn getrokken.

Generatieve modellen zijn moeilijk

Generatieve modellen hebben een moeilijkere taak dan analoge discriminativemodellen. Generatieve modellen moeten meer modelleren.

Een generatief model voor afbeeldingen kan correlaties vastleggen als “dingen die op boten lijken zullen waarschijnlijk verschijnen in de buurt van dingen die op water lijken” en “het is onwaarschijnlijk dat ogen op voorhoofden verschijnen”. Dit zijn zeer gecompliceerde verdelingen.

In tegenstelling daarmee zou een discriminerend model het verschil kunnen leren tussen “zeilboot” of “geen zeilboot” door alleen maar te zoeken naar een paar veelzeggende patronen. Het zou veel van de correlaties kunnen negeren die het generatieve model juist moet zien te krijgen.

Discriminatieve modellen proberen grenzen in de dataruimte te trekken, terwijl generatieve modellen proberen te modelleren hoe de gegevens in de gehele ruimte zijn geplaatst. Het volgende diagram toont bijvoorbeeld discriminatieve en generatieve modellen van handgeschreven cijfers:

Twee grafieken, de ene met het label

Figuur 1: Discriminatief en generatief model van handgeschreven cijfers.

Het discriminatieve model probeert het verschil te zien tussen handgeschreven 0’s en 1’s door een lijn te trekken in de dataruimte. Als het de lijn juist heeft, kan het 0’s van 1’s onderscheiden zonder ooit precies te hoeven modelleren waar de omstandigheden aan weerszijden van de lijn in de gegevensruimte zijn geplaatst.

Het generatieve model daarentegen probeert overtuigende 1’s en 0’s te produceren door cijfers te genereren die dicht bij hun echte tegenhangers in de gegevensruimte liggen. Het moet de verdeling over de hele dataruimte modelleren.

GAN’s bieden een effectieve manier om zulke rijke modellen te trainen zodat ze op een echte verdeling lijken. Om te begrijpen hoe ze werken, moeten we de basisstructuur van een GAN begrijpen.

Check Your Understanding: Generatieve vs. Discriminatieve modellen

Je hebt IQ-scores van 1000 mensen. Je modelleert de verdeling van IQ-scores met de volgende procedure:

  1. Rol drie zeszijdige dobbelstenen.
  2. Vermenigvuldig de worp met een constante w.
  3. Herhaal dit 100 keer en neem het gemiddelde van alle resultaten.

Je probeert verschillende waarden voor w totdat het resultaat van je procedure gelijk is aan het gemiddelde van de echte IQ-scores. Is je model een generatief model of een discriminerend model?

Generatief model
Correct: met elke worp genereert u in feite het IQ van een denkbeeldig persoon. Bovendien houdt uw generatieve model rekening met het feit dat IQ-scores normaal verdeeld zijn (dat wil zeggen, op een bell curve).

Discriminatief model
Onjuist: een analoog discriminerend model zou proberen te discrimineren tussen verschillende soorten IQ-scores. Een discriminerend model zou bijvoorbeeld kunnen proberen een IQ te classificeren als nep of echt.

Niet genoeg informatie om dat te kunnen zeggen.
Dit model voldoet inderdaad aan de definitie van een van onze twee soorten modellen.

Een model geeft een waarschijnlijkheid terug als je het een data-instantie geeft. Is dit model een generatief model of een discriminerend model?
Generatief model
Een generatief model kan de waarschijnlijkheid van de instantie schatten, en ook de waarschijnlijkheid van een klassenlabel.

Discriminatief model
Een discriminatief model kan de waarschijnlijkheid schatten dat een instantie tot een klasse behoort.

Niet genoeg informatie om dat te kunnen zeggen.
Zowel generatieve als discriminatieve modellen kunnen waarschijnlijkheden schatten (maar dat hoeft niet).

Leave a Reply