AI Kaleidoscoop College 12 Subsymbolische methoden Neurale Netwerken
AI Kaleidoscoop College 12: Subsymbolische methoden èNeurale Netwerken èGenetische Algorithmen Leeswijzer: 11. 0 -11. 3 + 12. 1 AI 12 1
Twee scholen • Physical Symbol systems = formele operaties op symbool-structuren, alle colleges tot nu toe – geïnspireerd op de logica • Subsymbolische systemen = collectief gedrag van veel eenvoudige interacterende onderdelen vandaag – geïnspireerd op de biologie – Voordeel: geen “performance cliff”, ðniet “brittle” (breekbaar) • Latere colleges in de opleiding veel meer over dit onderwerp AI 12 2
Performance cliff kwaliteit van antwoorden AI 12 afstand tot kern-expertise 3
Performance cliff (2) kwaliteit van antwoorden AI 12 schade aan het systeem 4
Neurale Netwerken • losse inspiratie op menselijk brein: AI 12 5
Neurale Netwerken: Achtergrond • • • Inspiratie: menselijk brein Veel eenvoudige neuronen Veel verbindingen Parallelisme Niet symbolisch (“sub-symbolisch”) Leren, niet programmeren • Menselijk brein » 1012 neuronen (» 1 miljoen megabyte) 1015 verbindingen (» 1000 verbindingen/neuron) AI 12 6
Letter herkenning AI 12 7
Neurale Netwerken: Componenten • Neuron x 1 w 1 x 2 w 2 x 3 w 3 S O • Input xi en output O zijn 1 of 0 • Gewicht wi • Reëel getal • Waarde geeft “sterkte” van verbinding aan • Instelbaar via leeralgorithme • Drempelwaarde T: AI 12 8
Neurale Netwerken, Voorbeeld (boek blz 484) credit history Low risk debt Medium risk collateral High risk income AI 12 Perceptron: 2 lagen, N inputs, M outputs 9 N´M gewichten
Intuitie over leren in Neurale Netwerken • Geef het systeem een trainingsverzameling • • • – gegeven zijn de inputs – gegeven zijn de juiste outputs Het systeem gaat kijken met de huidige gewichten of bij die inputs de juiste outputs berekend worden Als niet, dan worden de gewichten aangepast, zodat wel de juiste outputs berekend worden Herhaal dit voor alle outputs Uiteindelijk berekent het systeem bij alle gegeven inputs de juiste output Maar. . . AI 12 10
Intuitie over leren in Neurale Netwerken • Uiteindelijk berekent het systeem bij alle gegeven inputs de juiste output • Maar. . . • Berekent het systeem ook de juiste outputs bij inputs die het nog niet gezien heeft? • Dit moet getest worden op nieuwe inputs (de testverzameling) AI 12 11
Neurale Netwerken: Leren Œ Kies willekeurige startgewichten Kies een trainingsverzameling FOR (in, out) Î trainingsverzameling DO • Bereken Output(in) • Bepaal Error = out - Output(in) • Pas gewicht aan: ð ðals als. Error><0: 0: verlaaggewichtenvan vanactieveinputs, verlaag ww(new) wi(oud)- - i(nieuw)==w(oud) -regel ð ðals als. Error<>0: 0: verhooggewichtenvan vanactieveinputs, verhoog ww(new) wi(oud)+ + i(nieuw)==w(oud) Herhaal tot Error-rate voldoende laag (of constant) Test m. b. v. van andere test-verzameling AI 12 12
Neurale netwerken, voorbeeld • • • W(a, p) W(b, p) W(c, p) W(d, p) W(a, q) W(b, q) W(c, q) W(d, q) 0. 9 0. 8 0. 5 -0. 2 0. 7 -0. 6 0. 3 -0. 3 Uitvoer van het netwerk: De gewogen som van de inputs voor p is 0. 9+0. 5 -0. 2=1. 2 Dit is > drempelwaarde voor p, dus de output van p is 1. De gewogen som van de inputs voor q is 0. 7+0. 3 -0. 3=0. 7 Dit is <de drempelwaarde voor q, dus de output van q is 0 AI 12 13
Neurale netwerken, voorbeeld • • • W(a, p) W(b, p) W(c, p) W(d, p) W(a, q) W(b, q) W(c, q) W(d, q) 0. 9 0. 8 0. 5 -0. 2 0. 7 -0. 6 0. 3 -0. 3 Uitvoer is: P=1, Q=0; gewenste is P=0, Q=1. Aanpassingen met =0. 1? De output van p is te hoog, dus we trekken delta af van alle actieve links: W(a, p) = 0. 8 w(b, p) = 0. 8 (onveranderd, want niet actief) W(c, p) = 0. 4 W(d, p) = -0. 3 De output van q is te laag, dus we tellen delta op bij alle actieve links: W(a, q) = 0. 8 w(b, q) = -0. 6 (onveranderd, want niet actief) W(c, q) = 0. 4 W(d, q) = -0. 2 AI 12 14
Neurale Netwerken: d-regel wi(nieuw) = wi(oud) ± • VOORDEEL: Convergeert naar correcte wi langs kortste pad • NADEEL: Echter, keuze van : – te laag: langzame convergentie – te hoog: schiet langs correcte waarde • Mogelijke tussenvorm: – begin met hoge , verminder tijdens het leren – Optimale waarde van is onberekenbaar AI 12 15
Perceptron: beperkingen Perceptron = 2 lagen, N inputs, M outputs, N´M gewichten Kan alleen lineair separabele classificaties leren » klassen scheidbaar door 1 lijn (2 dimensies) 1 vlak (3 dimensies) Voorbeeld X or Y 1 Y 0 X Y AI 12 X xor Y 1 Y 0 w=1 T=0. 5 w=1 X 1 XÚY 0 niet scheidbaar door rechte lijn 0 1 X ? 16
Multi-layer Neurale Netwerken N inputs H hidden (mogelijk meerdere lagen) M outputs Vraag: hoe gaat leren in multi-layers, want: wat is “error” van de tussenlaag? ð Backpropagation AI 12 17
Backpropagation: Eigenschappen • Niet gegarandeerd convergent • Als convergent, dan mogelijk lokaal maximum • Convergentie is vaak langzaam (ðveel trainings voorbeelden nodig) AI 12 20
Neurale Netwerken: toepassingen • • • Handschrift-herkenning (postcode van de PTT) Robot-besturing NETtalk: leren uitspreken van Engelse woorden vingerafdrukken herkennen. . . AI 12 21
Liplezen • Input: coordinaten van delen van de mond/lippen • output: gesproken klanken AI 12 22
Coordinatie • Input: huidige positie van benen + vorm van terrein • output: volgende positie van benen AI 12 23
Doen van voorspellingen • Input: gevolgde pad van een persoon • output: voorspelling over vervolg pad • geleerd op basis van eerder observaties AI 12 24
Neurale Netwerken: Problemen • Welke netwerk architectuur? (bijv: aantal lagen) • Welk leeralgorithme? • Samenstelling van de trainingsverzameling Neurale Netwerken: Voordelen • “Graceful degradation” (i. t. t. “brittleness”) • Robuust na beschadiging • Parallel AI 12 25
Het tentamen is over 210 uur AI 12 26
Evolutie = “leren van een oplossing” • competitie in een populatie van kandidaat oplossingen • beste kandidaten mogen zich vermenigvuldigen/combineren • slechtste kandidaten worden verwijderd ðpopulatie convergeert naar de beste oplossing Genetisch algorithme: de metafoor • Individu • Fitness • Omgeving AI 12 • Kandidaat oplossing • Kwaliteit van de oplossing • Probleem 27
De evolutie-leer in 1 minuut • • individu met “genetisch” vastgelegde eigenschappen overlevingskans op basis van fitness voortplantings/combinatie-kans op basis van fitness creëer nieuwe “genen” d. m. v. genetische operatoren (bijv. cross-over, mutatie) • geheel vindt plaats in een voldoende diverse populatie van individuen AI 12 28
Genetische Algorithmen: componenten • Individuën, bijv: – bitstrings – logische formules – kennis-netwerken • Fitness functie – getalsmatige evaluatie van kwaliteit van individu • Genetische operatoren: – cross-over =combineer informatie van 2 individuen – mutatie =verander informatie van 1 individu AI 12 29
Genetische Algorithmen: te maken keuzes • • Omvang van de populatie Relatie tussen voortplanting & fitness Relatie overlevingskans & fitness Frequentie van mutaties aantal kinderen per generatie aantal generaties. . . AI 12 30
The Evolutionary Cycle Selection Parents Recombination Population Replacement AI 12 Mutation Offspring 31
Genetisch Algorithme: process • WHILE stopconditie niet vervuld DO Œevalueer individuën op fitness selecteer paren van individuën produceer nakomelingen (met gebruik van genetische operatoren) vervang zwakste individuën door de nakomelingen • - zijn probabilistisch: gewogen door fitness (niet: bepaald door fitness) 150 generatie 0 AI 12 400 generatie 0 + kinderen 150 generatie 1 400 generatie 1 + kinderen 150 generatie 2 32
Genetisch Algorithme: Voorbeeld (1) • Domein: bitstrings van lengte 5 (positie nrs. 1 t/m 5) • Fitness: • Opdracht: vind ideale individu ( 0 0 x 1 1 ) • Populatie-grootte: • Aantal nakomelingen: • Mutatiefrequentie: • Cross-over: AI 12 5 2 50% kans op 1 mutatie enkelvoudig op willekeurige plaats 33
Genetisch Algorithme: Voorbeeld (2) Individuen Generatie 0: (random) 0 1 1 1 0 0 1 0 1 1 gemiddeld: Selecteer ouders 1 0 0 0 1 (kans gewogen 0 1 1 door fitness) • Wel cross-over, geen mutatie • Selecteer 5 van de 7 individuen AI 12 (kans gewogen door fitness) Fitness -1 0 0 1 2 0. 4 0 0 1 1 1 34
Genetisch Algorithme: Voorbeeld (3) Individuen Generatie 1: 0 1 0 1 1 0 0 1 0 1 0 1 1 1 1 gemiddeld: Selecteer ouders 0 1 1 (kans gewogen 0 0 1 door fitness) • Wel cross-over, ook mutatie • Selecteer 5 van de 7 individuen AI 12 (kans gewogen door fitness) Fitness -1 0 2 1 2 0. 8 0 0 1 1 1 0 1 35
Genetisch Algorithme: Voorbeeld (4) Individuen Generatie 2: 0 1 0 0 1 1 1 1 gemiddeld: Fitness 1 1 2 2 3 1. 8 Etc. • Eén van de twee optimale strings al gevonden • Gemiddelde steeg van 0. 4 via 0. 8 naar 1. 8 AI 12 36
Genetisch Algorithme: Evaluatie • GA = parallel hill-climbing: – meerdere goede oplospaden tegelijkertijd (populatie > 1) – elimineer veel slechte oplospaden tegelijk Eerste populatie ne populatie AI 12 37
Genetische Algorithmen: Evaluatie • Algemeen toepasbaar op optimalisatie-problemen • Geen garantie voor beste oplossing, wel vaak goede oplossing Problemen • Vertalen van domein naar bitstrings? • Zijn alle bitstrings geldige representaties na cross-over en mutatie? • Instellingen van alle parameters? • Keuze van de genetische operatoren? AI 12 38
Voorbeeld van een GA: Kunst Kweken • • De computer genereert een populatie quasi-Mondriaans Jullie zijn de fitness functie De computer genereert hiermee de volgende generatie Onstaat er een echte Mondriaan? AI 12 39
Dit was het laatste college! AI 12 40
- Slides: 38