Inhoud leereenheid 12. Probleemoplossen met kunstmatige intelligentie. Introductie 225. Leerkern 226. Samenvatting 250.

Vergelijkbare documenten
Maak automatisch een geschikte configuratie van een softwaresysteem;

Inhoud. Introductie tot de cursus

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Beknopte uitwerking Examen Neurale Netwerken (2L490) d.d

Inhoud. Introductie tot de cursus

Introductie tot de cursus

Introductie tot de cursus

Tentamen Kunstmatige Intelligentie (INFOB2KI)

In Vlaanderen bestaat er nog geen leerlijn programmeren! Hierdoor baseren wij ons op de leerlijn die men in Nederland toepast voor basisscholen.

Examen HAVO. wiskunde B1

Modulewijzer InfPbs00DT

Inhoud introductie. Introductie tot de cursus

Examen VWO. wiskunde B1 (nieuwe stijl)

Stelling. SAT is NP-compleet.

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding:

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Examen HAVO. Wiskunde B1,2 (nieuwe stijl)

Inhoud leereenheid 1. Inleiding. Introductie 13. Leerkern Wat is logica? Logica en informatica 13

Opgave 2. Binaire informatie

Vereenvoudigen van logische vergelijkingen. formules uit de logische algebra. de methode van Quine en McCluskey KARNAUGH-KAART MET 2 VERANDERLIJKEN

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 6

Inhoud introductie. Introductie tot de cursus

opgaven formele structuren tellen Opgave 1. Zij A een oneindige verzameling en B een eindige. Dat wil zeggen (zie pagina 6 van het dictaat): 2 a 2.

Projectieve Vlakken en Codes

Werken met eenheden. Introductie 275. Leerkern 275

Machinaal leren, neurale netwerken, en deep learning

2 Elementaire bewerkingen

opgaven formele structuren deterministische eindige automaten

AI Kaleidoscoop. College 12: Subsymbolische methoden. Twee scholen. Leeswijzer: Performance cliff (2) Performance cliff

Opgave 2 ( = 12 ptn.)

recursie Hoofdstuk 5 Studeeraanwijzingen De studielast van deze leereenheid bedraagt circa 6 uur. Terminologie

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40

Getallensystemen, verzamelingen en relaties

Propositielogica Het maken van een waarheidstabel

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Eindexamen wiskunde B1 vwo 2004-I

Inhoud. Neuronen. Synapsen. McCulloch-Pitts neuron. Sigmoids. De bouwstenen van het zenuwstelsel: neuronen en synapsen

S u b n e t t e n. t h e t r u e s t o r y

Inleiding elektronica Presentatie 1

Voorbeeld casus mondeling college-examen

EXAMEN INFORMATIETHEORIE I (5JJ40 / 5K020) 25 maart 2004, 9u00 12u00-1 -

Zoek- en sorteeralgoritmen en hashing

Inhoud. Introductie tot de cursus

Examen VWO. wiskunde B1

Thema 3 Techniek om ons heen

Eindexamen wiskunde b 1-2 havo II

Eindexamen wiskunde B1-2 havo 2002-II

Kunstmatige Intelligentie (AI) Hoofdstuk van Russell/Norvig = [RN] Genetische algoritmen. voorjaar 2016 College 11, 3 mei 2016

Samenvatting door Hidde 506 woorden 31 maart keer beoordeeld. Biologie Hoofdstuk 14: Zenuwstelsel Centraal zenuwstelsel

Inhoud. Introductie tot de cursus

De Arduino-microcontroller in de motorvoertuigentechniek (2)

SYSTEMEN 11/3/2009. Deze toets bestaat uit 3 opgaven (28 punten). Gebruik eigen grafische rekenmachine en BINAS toegestaan. Veel succes!

Les A-03 Binaire en hexadecimale getallen

13 Hidden Markov Modellen.

Afbeeldingen in binaire code

-Examen HAVO. Wiskunde B1 (nieuwe stijl)

THEORIE TALSTELSELS. 1 x 10 0 = 1 (een getal tot de macht 0 = 1) 8 x 10 1 = 80 2 x 10 2 = x 10 3 = Opgeteld: 9281d(ecimaal)

Zwart-wit en grijstinten

Examen VWO. wiskunde A1,2. tijdvak 2 woensdag 18 juni uur

Inleiding Adaptieve Systemen Hoofdstuk 4: Neurale netwerken

Hoofdstuk 6: Digitale signalen

Random-Getallen. Tristan Demont en Mark van der Boor en

Examen HAVO. Wiskunde B (oude stijl)

Goed aan wiskunde doen

Workshop DisWis, De Start 13/06/2007 Bladzijde 1 van 7. Sudoku. Sudoku

Uitleg van de Hough transformatie

Opgave 1b: Toon ook aan dat meer algemeen geldt: Als het lukt met n = a munten in w keer wegen, dan lukt het voor a < n 2a in w + 1 keer wegen.

Cover Page. The handle holds various files of this Leiden University dissertation.

Voorbeeld casus mondeling college-examen

math inside Model orde reductie

Examen VBO-MAVO-D Wiskunde

21st Century Skills - Leerdoelen van de puzzels. X2 Computational thinking - 1. Probleem (her)formuleren

- Denkt zoals een mens (activiteiten die we associëren met menselijk denken.)

Examen VWO - Compex. wiskunde A1

Automaten & Complexiteit (X )

Inhoud. Introductie tot de cursus. Continue wiskunde

Examen HAVO. Wiskunde A1,2

Opdracht 2 Het Multilayer Perceptron

Carol Dweck en andere knappe koppen

Informatica 2. Met uitwerkingen n.a.v. document van Elvire Theelen in Luc bijgewerkt door Peter van Diepen

Examen VWO. Wiskunde A1 (nieuwe stijl)

Je geeft de antwoorden op deze vragen op papier, tenzij anders is aangegeven.

Examen HAVO. wiskunde B (pilot) tijdvak 2 woensdag 20 juni uur. Bij dit examen hoort een uitwerkbijlage.

De eerste ronde Nederlandse Informatica Olympiade

EWMA Control Charts in Statistical Process Monitoring I.M. Zwetsloot

1.1 Lineaire vergelijkingen [1]

Module Limieten van de berekenbaarheid : antwoorden

Referentieniveaus uitgelegd. 1S - rekenen Vaardigheden referentieniveau 1S rekenen. 1F - rekenen Vaardigheden referentieniveau 1F rekenen

Communicatietechnologie: een inleiding. Inhoud eindtoets. Eindtoets. Introductie. Opgaven. Terugkoppeling. Antwoorden op de opgaven

Kunstmatige Intelligentie (AI) Hoofdstuk 18.7 van Russell/Norvig = [RN] Neurale Netwerken (NN s) voorjaar 2016 College 9, 19 april 2016

Logische schakelingen

Verzamelingenleer. Inhoud leereenheid 5. Introductie 9

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

Examen VWO. Wiskunde A1 (nieuwe stijl)

Sinds de jaren 70 zijn wetenschappers bezorgd om de vervuiling van onze oceanen door allerhande plastiek afval. De laatste 10 jaar loopt het echt uit

Introductie. Inhoud introductie

IN2505 II Berekenbaarheidstheorie Tentamen Maandag 2 juli 2007, uur

Hoofdstuk 2: Grafieken en formules

Helden van de wiskunde: L.E.J. Brouwer Brouwers visie vanuit een logica-informatica perspectief

Examen HAVO. wiskunde B (pilot) tijdvak 2 donderdag 18 juni uur. Bij dit examen hoort een uitwerkbijlage.

2 Elementaire bewerkingen

Transcriptie:

Inhoud leereenheid 12 Probleemoplossen met kunstmatige intelligentie Introductie 225 Leerkern 226 1 Neurale netwerken 226 1.1 Neuronen 228 1.1.1 Het biologische neuron 228 1.1.2 Een kunstmatig neuron 228 1.2 Perceptrons 231 1.3 Neuraal netwerk 232 1.4 Construeren of leren 234 1.4.1 Constructie van neurale netwerken 234 1.4.2 Leren met neurale netwerken 235 2 Genetische algoritmen 237 2.1 Overleving en selectie 237 2.2 Toepassing van een genetisch algoritme 238 2.2.1 De representatie 240 2.2.2 Maat voor de fitheid 241 2.2.3 Genetisch algoritme 242 2.2.4 Het eindcriterium 244 3 Kunstmatige intelligentie 246 Samenvatting 250 Zelftoets 251 Terugkoppeling 253 1 Uitwerking van de opgaven 253 2 Uitwerking van de zelftoets 258 224

Leereenheid 12 Probleemoplossen met kunstmatige intelligentie I N T R O D U C T I E In vroegere tijden moesten bij het postbedrijf alle binnenkomende brieven door medewerkers worden bekeken om te worden gesorteerd. Op basis van de adressen werden de brieven of andere poststukken gerouteerd, om uiteindelijk op het juiste adres te kunnen worden bezorgd. Lange tijd is eraan gewerkt om het lezen van de adressen en de routering te automatiseren. Eén van de belangrijke problemen daarbij was de herkenning van de handgeschreven adressen. Alle mensen schrijven verschillend, groot en klein, krom en scheef, slordig en netjes, alles komt door elkaar voor. Voor een menselijke waarnemer is dat over het algemeen wel te ontcijferen, maar voor een automatische verwerking van de binnenkomende post was het noodzakelijk daarvoor technische systemen te ontwikkelen die dat ook zouden kunnen. Uiteindelijk zijn er diverse technieken ontwikkeld die inderdaad in staat zijn automatisch handschriften te herkennen. Een van die technieken heet neurale netwerken en is gebaseerd op ideeën ontleend aan de werking van hersenen en zenuwen. Neurale netwerken maken deel uit van een verzameling technieken die gebruikt worden in de kunstmatige intelligentie. Met behulp daarvan is het nu mogelijk om apparaten werkzaamheden uit te laten voeren die voorheen alleen mogelijk waren door mensen in te zetten die hun intelligentie moesten gebruiken. Omdat die werkzaamheden nu uitgevoerd worden door kunstmatige systemen, wordt er gesproken over kunstmatige intelligentie. Kunstmatige intelligentie wordt dus ingezet bij problemen waar voorheen menselijke intelligentie nodig was om ze op te lossen. Een andere techniek uit de kunstmatige intelligentie heet genetische algoritmen en is gebaseerd op ideeën rondom de evolutieleer, waarin genetische selectie en overerving bepalende factoren zijn. In deze leereenheid gaan we deze twee technieken nader bekijken en zullen we als afsluiting nader ingaan op het begrip kunstmatige intelligentie. LEERDOELEN Na het bestuderen van deze leereenheid wordt verwacht dat u kunt uitleggen waar de verschillende behandelde methoden uit de kunstmatige intelligentie hun oorsprong vinden de werking van een neuron, perceptron en neuraal netwerk uiteen kunt zetten het verschil in werking en gebruik van een neuron en neuraal netwerk kunt uitleggen eenvoudige berekeningen met een neuron, perceptron en neuraal netwerk kunt uitvoeren OU 225

Inleiding informatica kunt uiteenzetten hoe een genetisch algoritme nieuwe, betere oplossingen uit bestaande oplossingen genereert reproductie, kruising en mutatie toe kunt passen binnen het genetische algoritme de positie van het vakgebied kunstmatige intelligentie historisch en in relatie tot andere vakgebieden kunt schetsen. Studeeraanwijzing De studielast van deze leereenheid bedraagt ongeveer 6 uur. L E E R K E R N 1 Neurale netwerken In de introductie is het probleem geschetst van het geautomatiseerd herkennen van handschriften. In het algemeen gaat het erom dat er een apparaat geconstrueerd moet worden dat een handgeschreven letter kan herkennen en aan kan geven: wat voor letter uit het alfabet het is, of het een hoofdletter of een kleine letter is, een cijfer of een leesteken. In figuur 12.1 is een rijtje a s gepresenteerd, waarvan de automaat steeds moet vermelden dat het een a is, bijvoorbeeld door er de bijbehorende code uit de ASCII-tabel aan toe te kennen. Hetzelfde geldt voor de overige handgeschreven letters, die allemaal aan een andere code moeten worden toegewezen. Als de codes bekend zijn, is verdere automatische verwerking mogelijk. FIGUUR 12.1 Aan alle verschillende a s moet door een automaat dezelfde code worden toegekend, aan alle b s een andere code, enzovoort Om de techniek van neurale netwerken uiteen te zetten, kijken we niet verder naar alle letters van het alfabet, maar naar een eenvoudiger voorbeeld. We gaan een methode ontwikkelen die geautomatiseerd kan herkennen of we met een rondje of een kruisje te maken hebben. We gaan er verder van uit dat we een optische lezer hebben. Die lezer werkt zodanig dat als er een symbool wordt aangeboden, de lezer het symbool verdeelt over een raster van drie bij drie vakjes en per vakje bekijkt of het voornamelijk zwart of voornamelijk wit is. Is het vakje voornamelijk zwart, dan wordt er aan het betreffende vakje een 1 toegekend en is het vakje voornamelijk wit, dan wordt er een 0 aan 226 OU

Leereenheid 12 Probleemoplossen met kunstmatige intelligentie toegekend. De toegekende enen en nullen worden op een rijtje gezet en vormt de uitvoer van de optische lezer. Deze uitvoer van de optische lezer is de invoer voor het systeem dat moet gaan vaststellen of we met een rondje of een kruisje te maken hebben, zie figuur 12.2. FIGUUR 12.2 Een optische lezer leest een handgeschreven symbool en produceert een rijtje nullen en enen. Voor ieder mogelijk handgeschreven kruisje of rondje kan deze methode worden toegepast. Over het handgeschreven symbool wordt een raster van 3 bij 3 gelegd, per vakje wordt gekeken of er een 0 of een 1 aan moet worden toegekend en rij na rij worden de nullen en enen van het raster uitgelezen. OPGAVE 12.1 In figuur 12.3 zijn enkele kruisjes en rondjes geschetst met rasters daaroverheen. FIGUUR 12.3 Kruisjes en rondjes lezen a Construeer de rijtjes nullen en enen die de optische lezer zal produceren. b Hoeveel verschillende outputrijtjes kan de optische lezer in theorie produceren en dus, hoeveel verschillende inputrijtjes zijn er mogelijk voor het te ontwikkelen systeem voor het herkennen van rondjes en kruisjes? c Welk resultaat zal het door ons te ontwikkelen systeem moeten opleveren? De activiteiten in de optische lezer zijn slechts de voorbereidingen voor het intelligente werk dat we ons systeem willen laten doen, namelijk het bepalen of een bepaald rijtje nullen en enen dat door de optische lezer wordt geproduceerd, een rondje of een kruisje voorstelt. Voor die activiteit kunnen neurale netwerken worden ingezet. OU 227

Inleiding informatica 1.1 NEURONEN Neurale netwerken Neurale netwerken zijn ontworpen naar analogie van de netwerken van neuronen in onze hersenen. Deze netwerken van neuronen stellen ons in staat dingen te leren en te onthouden. Neurale netwerken zijn dus geïnspireerd door de biologische kenmerken van de mens. 1.1.1 Het biologische neuron (Biologisch) neuron Elk neuron in de hersenen is samengesteld uit een cellichaam, een axon en een aantal dendrieten (zie figuur 12.4). FIGUUR 12.4 Een biologisch neuron De dendrieten vormen de ingangen van het cellichaam. Signalen van andere neuronen komen op deze dendrieten binnen. De mate waarin signalen van andere neuronen bijdragen, wordt bepaald door de synaps. Dit is een spleetvormige overgang van axon naar dendriet. De elektrochemische wisselwerking in deze spleet bepaalt de sterkte waarmee het signaal wordt doorgegeven. Deze sterkte kan variëren. De signalen in de dendrieten planten zich voort naar het cellichaam en worden daar samengevoegd. Als het resultaat een drempelwaarde overschrijdt, dan vuurt het neuron. Dat betekent dat er een signaal naar de axon gaat. Dat signaal plant zich voort over de axon naar een volgend neuron. Het eerste model van een biologisch neuron is door biologen ontwikkeld met het doel de werking van de hersenen te kunnen modelleren en begrijpen. Pas in een later stadium zijn wiskundigen, informatici en technici hier mee verdergegaan en zijn toepassingen mogelijk geworden van neurale netwerken zoals we die nu kennen. 1.1.2 Een kunstmatig neuron (Kunstmatig) neuron Naar analogie van het biologische neuron is een kunstmatig neuron ontworpen. De eerste ideeën daarvoor stammen al uit 1943 (McCulloch en Pitts, A logical calculus of the ideas immanent in nervous activity, Bulletin of Mathematical Biophysics, 5, 115-137). Daarna heeft het nog vele jaren onderzoek en ontwikkeling gekost voordat ze op een zinnige en efficiënte wijze konden worden ingezet. 228 OU

Leereenheid 12 Probleemoplossen met kunstmatige intelligentie In figuur 12.5 staat een vereenvoudigd model voor een kunstmatig neuron. Input(signaal) Gewicht Drempel Output(signaal) Aan de linkerkant komen inputsignalen of kortweg inputs x 1, x 2,... het neuron binnen. De inputsignalen worden vermenigvuldigd met gewichten w 1, w 2,... en vervolgens gesommeerd. Als de waarde van de som groter dan of gelijk aan een bepaalde drempel(waarde) is, dan wordt het outputsignaal of kortweg de output y gelijk aan 1; is de waarde lager dan de drempel, dan is de output 0. FIGUUR 12.5 Model voor een kunstmatig neuron De waarden die gekozen worden voor de gewichten en de drempelwaarde bepalen het gedrag van het neuron. Worden er andere waarden gekozen, dan resulteert een ander gedrag. De gewichten en de drempelwaarden vormen als het ware het geheugen van het neuron. Activatiefunctie In het algemeen wordt de som die wordt berekend, omgezet in een ander getal, volgens een te kiezen wiskundige functie. Die functie wordt de activatiefunctie genoemd. We hebben die hier verder niet nodig en gaan er niet verder op in, maar de keuze van de functie is wel belangrijk voor het ontwerp van neurale netwerken. Als er een bepaald soort functies wordt gekozen, dan kunnen de neurale netwerken leren. Dat leren bestaat eruit dat op een geautomatiseerde wijze de gewichten en drempelwaarden worden ingesteld, zodat uiteindelijk het neuron het gewenste gedrag vertoond. We komen daar later nog op terug. Voorbeeld In leereenheid 11 hebben we gezien dat logische redeneringen via een elektrische schakeling kunnen worden geïmplementeerd. In dit voorbeeld zullen we de logische functie p EN q implementeren met behulp van een neuron. We gebruiken daarvoor een neuron met twee inputs: x 1 en x 2. Als p waar is, krijgt x 1 de waarde 1, en anders krijgt x 1 de waarde 0. Als q waar is, krijgt x 2 de waarde 1, en anders krijgt x 2 de waarde 0. De output y moet de waarde 1 krijgen als p en q beide waar zijn, dus als x 1 en x 2 beide de waarde 1 hebben. In de andere gevallen moet y de waarde 0 krijgen. We kiezen nu voor de gewichten in het neuron w 1 = 1 en w 2 = 1. Vervolgens kan de som S worden berekend: S = x 1 w 1 + x 2 w 2 = x 1 + x 2 Als drempelwaarde kiezen we 1,5. Als de waarde van de som S groter dan of gelijk aan 1,5 is, dan wordt de output van het neuron 1; in het andere geval is de output van het neuron 0. Het is nu eenvoudig na te gaan dat alleen in het geval dat x 1 en x 2 beide 1 zijn, de output van het neuron 1 zal zijn en in alle andere gevallen is de output 0. Daarmee wordt dus op een correcte wijze een neuron gebruikt voor het beslissen over het al dan niet waar zijn van de formule p EN q. OU 229

Inleiding informatica OPGAVE 12.2 Construeer een neuron dat de waarde van de formule p OF q bepaalt. Kies daartoe geschikte waarden van de gewichten en de drempel. OPGAVE 12.3 a Hoeveel inputs hebben we nodig als we de logische NIET willen implementeren met behulp van een neuron? b Construeer een neuron voor het implementeren van de logische NIET. Kies daartoe geschikte waarden van de gewichten en de drempel. OPGAVE 12.4 Als eerste benadering voor het herkennen van een handgeschreven rondje of een kruisje kiezen we een neuron met 9 inputsignalen. Stel dat we als eerste idee hebben dat we met een kruisje te maken hebben als er minstens vijf vakjes voornamelijk zwart zijn. Is dat niet het geval, dan besluiten we dat we met een rondje te maken hebben. a Als de gewichten w 1 tot en met w 9 allemaal 1 zijn, wat moet dan de drempelwaarde zijn om bij vijf of meer voornamelijk zwarte vakjes te besluiten dat we met een kruisje te maken hebben en in de andere gevallen dat we met een rondje te maken hebben? b Waarom is het onzinnig om op deze manier een neuron te gebruiken voor het herkennen van kruisjes of rondjes? Hoewel neuronen in sommige situaties correct kunnen worden ingezet, hebben ze een belangrijke beperking. We leggen dit uit aan de hand van neuronen die logische operaties implementeren. In figuur 12.6 hebben we de waarheidstabellen van de operaties EN, OF, NIET en XOF afgebeeld in een grafiek in het platte vlak. Een open rondje stelt de waarde onwaar voor en een dicht rondje de waarde waar. Voor de operaties EN, OF en NIET geldt dat het mogelijk is een rechte lijn ( scheidingslijn ) te tekenen waarvoor geldt dat alle open rondjes aan de ene kant van de lijn liggen en alle dichte rondjes aan de andere kant. De scheidingslijn scheidt dus de punten waarvoor de expressie waar en onwaar is. In de grafiek is steeds een voorbeeld van zo n lijn getekend. Maar voor de operatie XOF geldt dat niet. Er is géén rechte scheidingslijn te trekken, zodanig dat de beide open rondjes aan de ene kant liggen en de beide dichte rondjes aan de andere. FIGUUR 12.6 Afbeelding van waarheidstabellen in het platte vlak met scheidingslijnen voor EN, OF, NIET en XOF 230 OU

Leereenheid 12 Probleemoplossen met kunstmatige intelligentie Lineair separabel Problemen waarvoor wel rechte lijnen zijn te vinden om onderscheid te maken tussen de punten die wel en niet waar zijn, zijn lineair separabele problemen; de andere problemen zijn niet lineair separabel. Neuronen zijn alleen te gebruiken voor lineair separabele problemen. 1.2 PERCEPTRONS Tot dusver hebben we gekeken naar problemen waarbij sprake was van precies één output. Om ook problemen met meer dan één output te kunnen beschrijven, gaan we neuronen met elkaar combineren. Figuur 12.7 bevat een voorbeeld van een combinatie van neuronen. In dit geval zijn er drie neuronen gecombineerd, die samen op basis van vijf inputsignalen (x 1, x 2, x 3, x 4, x 5 ) drie outputsignalen (y 1, y 2, y 3 ) bepalen. Het gewicht tussen x 1 en y 1 noemen we w 1,1, het gewicht tussen x 1 en y 2 noemen we w 1,2, enzovoort. FIGUUR 12.7 Een combinatie van neuronen vormt een perceptron Perceptron Zo n combinatie wordt een perceptron genoemd. In een perceptron wordt op basis van een rij inputsignalen dus een rij outputsignalen berekend. Voorbeeld Als ik het voetgangerslicht op groen zie springen (signaal x 1 ) en ik zie een auto naderen (signaal x 2 ) en ik schat dat de snelheid van die auto hoog is (signaal x 3 ) en ik zie ander mensen gaan lopen (signaal x 4 ) dan besluit ik stil om te blijven staan (signaal y 1 ) en de andere mensen te waarschuwen (signaal y 2 ). Elk inputsignaal wordt gewogen en meegeteld om te bepalen of ik stil blijf staan (de som overschrijdt de drempelwaarde, met als gevolg y 1 = 1) of begin over te steken (de gewogen som blijft onder de drempelwaarde en y 1 = 0) en onafhankelijk daarvan of ik de andere mensen waarschuw (y 2 = 1) of niet waarschuw (y 2 = 0). OU 231

Inleiding informatica OPGAVE 12.5 In het begin van de leereenheid hebben we voorgesteld een apparaat met één outputsignaal te maken dat bepaalt of we met een handgeschreven rondje of kruisje te maken hebben. We kijken nu naar hetzelfde probleem, maar we gebruiken nu een perceptron, met twee mogelijke outputs. Het aantal inputsignalen blijft hetzelfde: 9. Aan de inputs worden de signalen van de optische lezer ingevoerd. De eerste output moet 1 worden als er een rondje wordt herkend en 0 als dat niet zo is. De tweede output moet 1 worden als er een kruisje wordt herkend en 0 als dat niet zo is. a Hoeveel gewichten moeten in dit perceptron worden gedefinieerd? b Hoeveel verschillende combinaties van waarden kunnen in theorie bij de outputsignalen voorkomen? c Welke daarvan zijn problematisch en welke niet? d Welke betekenis zou kunnen worden gehecht aan een problematische output? OPGAVE 12.6 Er wordt een perceptron gemaakt voor het herkennen van vogels. Het herkennen van vogels bestaat eruit dat vastgesteld wordt of een vogel een aantal kenmerken heeft, zoals: kleur van de romp is wit, kleur van de romp is zwart, kleur van de vleugels is bruin, vorm van de snavel is krom, kleur van de snavel is rood, vogel is groter dan 35 centimeter, vogel is kleiner dan 20 centimeter, vorm van de staart is wigvormig en vorm van de staart is stomp. Voor ieder kenmerk wordt een inputsignaal gecreëerd dat de waarde 1 krijgt als de vogel het kenmerk heeft. Met die kenmerken kunnen de volgende vogels worden herkend: buizerd, stern, meeuw, rode wouw, zilvermeeuw en scholekster. Voor iedere vogel wordt een outputsignaal gecreëerd dat de waarde 1 krijgt als de betreffende vogel wordt herkend. Hoeveel inputs en outputs moeten worden gekozen om een perceptron in te kunnen zetten in deze situatie? Het voordeel van een perceptron is dat meer dan één outputsignaal mogelijk is. Maar het perceptron heeft hetzelfde belangrijke nadeel als het neuron: het kan alleen lineair separabele problemen aan. Om toch ingewikkeldere problemen op te kunnen lossen, worden daarom neuronen niet alleen naast elkaar gecombineerd, zoals in perceptrons, maar ook achter elkaar. Dergelijke combinaties worden neurale netwerken genoemd. 1.3 NEURAAL NETWERK Neuraal netwerk Multi-layer perceptron (MLP) Door veel neuronen aan elkaar te koppelen, kunnen we schakelingen maken die in veel ingewikkeldere situaties kunnen worden ingezet. Als we meerdere neuronen in verschillende lagen met elkaar verbinden, dan spreken we van een neuraal netwerk. Ze worden ook wel multi-layer perceptron of kortweg een MLP-netwerk genoemd. In figuur 12.8 is zo'n MLP-netwerk weergegeven. 232 OU

Leereenheid 12 Probleemoplossen met kunstmatige intelligentie FIGUUR 12.8 Multi-layer perceptron We zien in figuur 12.8 van links naar rechts de lagen i, j en k met neuronen. Tussen i en j zien we de gewichten w ij en tussen j en k de gewichten w jk. Deze zijn als kleine bolletjes in de verbindingen tussen de neuronen in de lagen weergegeven. We zien dat er nu ook een netwerkstructuur aanwezig is, in overeenstemming met de netwerkstructuur tussen de neuronen in de hersenen. De output van een neuron is steeds verbonden met een aantal inputs van andere neuronen in de volgende laag, behalve bij de neuronen in laag k. Een MLP-netwerk bestaat minimaal uit drie lagen (zie figuur 12.8): 1 een inputlaag (i) 2 een verborgen laag (j) 3 een outputlaag (k). Inputlaag Verborgen laag (hidden layer) Outputlaag De inputlaag ontvangt de signalen vanuit de buitenwereld. Formeel is dit geen echte laag. Hier zitten geen echte neuronen, maar vaak komt men in de literatuur deze laag toch tegen. Het enige wat het neuron in de inputlaag doet, is de inputwaarde ongewijzigd doorgeven. De verborgen laag (hidden layer) is in het algemeen van buitenaf (via de input of output) niet direct te benaderen en wordt daarom de verborgen laag genoemd. Er kunnen ook meerdere verborgen lagen zijn. De outputlaag geeft de resultaten door aan de buitenwereld. Neurale netwerken worden vaak niet als fysiek netwerk geïmplementeerd. Pas als een neuraal netwerk helemaal uitontwikkeld is, wordt het soms hardwarematig (met elektronische componenten) als netwerkstructuur gebouwd. Maar meestal zal het als een computerprogramma (software) toegepast worden. Wij zullen het hier alleen in gedachten als netwerk beschouwen en het verder uitdrukken in algoritmen die door een computer verwerkt kunnen worden. OU 233