Kunstmatig Leven & Kunstmatige Neurale Netwerken!

Maat: px
Weergave met pagina beginnen:

Download "Kunstmatig Leven & Kunstmatige Neurale Netwerken!"

Transcriptie

1 Kunstmatig Leven & Kunstmatige Neurale Netwerken Tim Trussner

2

3 Inhoudsopgave Inhoudsopgave 1 Voorwoord 4 Introductie 5 Onderzoeksvragen 6 Brein 8 Neuronen 8 Actiepotentialen 9 Hebbian learning 10 Kunstmatige Neurale Netwerken 11 McCulloch en Pitts neuronen 11 De Perceptron 12 Feedforward Neurale Netwerken 14 Werking van een multilayer perceptron 14 Backpropagation 15 Trainen van het netwerk 16 Gradient descent 18 Verklaren backpropagation en feedforward neural networks de werking van biologische breinen? 19 Zijn onderdelen van feedforward neural networks en backpropagation te gebruiken om kunstmatig leven te maken? 20 Conclusie 21 Kunstmatige Evolutie 22 Natuurlijke evolutie 22 Evolutionaire algoritmes 23 Het genotype 23 De uitvoering 25 Nadelen 25

4 Toepassingen 26 Bestaande simulaties van kunstmatig leven 27 Karl Sims, Evolving Virtual Creatures (1994) 27 Larry Yaeger, Polyworld (1994) 28 Experiment : Evolutie Feedforward netwerk 29 Omschrijving simulatie 29 Verwachtingen 31 Experiment 31 Waarnemingen 31 Hopfield Netwerken 33 Hopfield netwerken 33 Leerregel 34 Natuurkundig model 38 Verklaart het Hopfield netwerk de werking van het brein? 38 Zijn onderdelen van Hopfield netwerken te gebruiken om kunstmatig leven te maken? 39 Experiment: Kunstmatig Leven 40 De wereld 40 Zintuigen 41 Lichamen 41 Hersenen 42 Lichaam genotype 42 Brein genotype 43 Inputs 43 Metabolisme 44 Voortplanting 44 Verwachtingen 44 Parameters 44

5 Waarnemingen 45 Verdere uitbreidingen 48 Waarnemingen 48 Leerregel 49 Verdere toevoegingen 50 Is dit leven? 50 Conclusie 52 Hoe maak je kunstmatig leven met kunstmatige neurale netwerken? 52 Appendix A 54 Appendix B 60 Bronvermelding 62

6 Voorwoord Het onderwerp van dit PWS, Kunstmatige Neurale Netwerken en Kunstmatig Leven, is geen direct voor de hand liggend onderwerp. Het is ook niet het eerste onderwerp waar ik aan dacht. Het onderwerp zou eerst Kunstmatige Intelligentie in het algemeen zijn. Ik was al langer bezig met programmeren en vond het altijd leuk als een programma iets deed dat ik niet expliciet geprogrammeerd had. Het maken van een machine die net zoals een mens echt bewustzijn heeft leek me fantastisch. Ik begon daarom steeds meer te experimenteren met kunstmatige intelligentie. Rond deze tijd moest ik ook het onderwerp voor het PWS weten dus die keuze was snel gemaakt. Ik begon met traditionele methoden die vooral te maken hadden met zoekmachines, het vinden van het snelste pad van A naar B en taal analyseren met logica. Dit was wel interessant, maar ik had gehoopt dat Kunstmatige Intelligentie meer over het namaken van menselijke intelligentie ging. Het ging tot nu toe meer over het oplossen van een specifiek probleem met computers. Het werd een stuk interessanter toen ik begon met Neurale Netwerken. Deze aanpak probeerde problemen op te lossen met netwerken die op biologische breinen leken. Het eerste programma gebruikte een combinatie van evolutie en deze netwerken om robots te simuleren die naar bolletjes moesten bewegen om ze te verzamelen. Dit was precies wat me in het begin tot kunstmatige intelligentie aantrok. Dit was nog veel leuker om naar te kijken omdat ze zichzelf probeerden aan te leren hoe ze naar de bolletjes toe moesten bewegen, zonder dat iemand ze had verteld hoe dit moest. De principes van evolutie gebruiken om programma s te laten evolueren vond ik ook een erg interessant idee. Evolutie vindt plaats over miljoenen jaren, het was daarom heel apart om evolutie voor mijn ogen te zien gebeuren. Andere takken van Kunstmatige Intelligentie zoals machinaal leren worden in de praktijk vaker gebruikt dan neurale netwerken, maar deze technieken hebben zeer weinig te maken met biologische breinen of de achterliggende principes van intelligentie, terwijl dat juist het meest interessante aspect van kunstmatige intelligentie is. Ik vond neurale netwerken vele malen leuker dan de andere takken van kunstmatige intelligentie, dus besloot ik om het PWS vooral over kunstmatig leven, neurale netwerken en evolutie te houden. 4

7 Introductie In dit PWS zullen een aantal soorten kunstmatige neurale netwerken besproken worden. Er wordt bij ieder netwerk gekeken of dit netwerk een bepaalde breinfunctie verklaard, dus of het biologisch gezien realistisch is. Ook wordt er gekeken of het te gebruiken is om kunstmatig leven te maken. Dat is het voornaamste doel. Als eerste wordt er een introductie gegeven over hoe het brein er in de natuur uit ziet. Het is een hele korte samenvatting van een aantal belangrijke onderdelen waar de meeste modellen op gebaseerd zijn. Hier hoort geen deelvraag bij. Hierna volgt een introductie en een kort stuk geschiedenis van kunstmatige neurale netwerken. Het eerste onderzoek gaat over de meestgebruikte soort van neurale netwerken. Een netwerk met zogenaamde sum and squash neuronen en een feedforward architectuur. Het bijbehorende leeralgoritme hiervoor is backpropagation. Om de werking van backpropagation te illustreren heb ik een programma voor handschriftherkenning geschreven. Er wordt gekeken of de feedforward architectuur of backpropagation terug te vinden is in de natuur. Het tweede onderzoek zal over een netwerk met een andere structuur en leeralgoritme gaan. Het Hopfield netwerk. Ik heb voor dit netwerk gekozen omdat het volgens totaal verschillende principes werkt dan de feedforward neural networks, terwijl beide op het brein gebaseerd zijn. Zowel de leeralgoritmes, de neuronen en de opbouw verschillen. Ook voor deze soort wordt er gekeken of er gelijkenissen zijn met biologische hersenen en of sommige aspecten hiervan te gebruiken zijn om kunstmatig leven te maken. Het hoofdstuk hierna gaat over kunstmatige evolutie, een belangrijk gereedschap om kunstmatig leven te maken. Hierbij wordt niet de vraag gesteld of het terug te vinden is in de natuur aangezien het hier volledig op gebaseerd is. Er komen ook een aantal computersimulaties van kunstmatig leven aan bod, waarop het uiteindelijke programma is gebaseerd. Op basis van de algoritmes die in dit hoofdstuk worden omschreven, wordt het tweede experiment uitgevoerd. Er wordt een computersimulatie geschreven die gebruik maakt van de principes besproken in de hoofdstukken over evolutie en feedforward neural networks. Dit is een simpele simulatie om te kijken of evolutionaire algoritmes gebruikt kunnen worden om een neuraal netwerk te vinden dat het kunstmatige leven kan besturen. Het laatste experiment combineert alles wat in vorige onderzoeken is geleerd en probeert een simulatie te maken waarbij robotlichamen en breinen tegelijk evolueren. Van elk tot nu toe besproken neurale netwerk wordt gekeken welke architectuur (opbouw), leerregel (backpropagation, hebbian learning of evolutionaire algoritmes), en neuronsoort (sum and squash of Hopfield) het meest geschikt is om dit doel te bereiken. Hierbij wordt dan ook de hoofdvraag beantwoord: Hoe kunnen neurale netwerken gebruikt worden om kunstmatig 5

8 leven te maken. Er wordt ook verder onderzoek gedaan naar evolutionaire algoritmes. In plaats van een evolutionair algoritme wordt ook vrije evolutie gebruikt. Tot slot wordt er gekeken of het programma daadwerkelijk leeft volgens verschillende definities van leven. In de conclusie wordt gekeken of de hoofdvraag hiermee is beantwoord. Ook een aantal ideeën over hoe al deze bevindingen gebruikt kunnen worden in computerprogramma s en robotica worden voorgesteld. Het uiteindelijke doel is kunstmatig leven maken met kunstmatige neurale netwerken. Om het juiste netwerk te vinden worden de eigenschappen van twee bekende netwerken en de bijbehorende leeralgoritmes onderzocht. Voor de simulatie zelf probeer ik, met de kennis opgedaan uit het onderzoek naar deze twee netwerken, zelf een netwerk met eventueel leerregels te ontwerpen. Voor de twee netwerken waar onderzoek naar gedaan wordt, wordt dus twee keer dezelfde vraag gesteld. De eerste vraag, of het netwerk biologisch gezien realistisch is, wordt gesteld omdat ik kunstmatig leven probeer te maken dat enigszins op leven op aarde lijkt. Ik probeer hierbij, voor zover dat mogelijk is met de beschikbare computerkracht, natuurlijke principes aan te houden. De reden voor de tweede vraag, zijn onderdelen van dit netwerk te gebruiken voor kunstmatig leven te gebruiken?, spreekt voor zich. Met een onderdeel wordt bijvoorbeeld de structuur van het netwerk of het bijbehorende algoritme bedoeld. Om te bepalen of een onderdeel te gebruiken is, wordt onder andere het volgende in beschouwing genomen : - Hoeveel rekenkracht kost dit onderdeel? Als een onderdeel van een netwerk te veel rekenkracht vereist, zal de simulatie te langzaam worden en zal het niet gebruikt worden. - Kan dit onderdeel ontstaan door evolutie? Zo niet, dan is het mogelijk om gedeeltelijk vals te spelen en het van tevoren met de hand te implementeren. Maar een leerregel die niet zonder een supervisor werkt komt niet in aanmerking. - Is de vorm van input/output geschikt? Het neurale netwerk moet de gegevens die een organisme binnenkrijgt verwerken en de organismen besturen. Het netwerk moet dus geschikt zijn om alle soorten informatie te verwerken en te transformeren in een output. Onderzoeksvragen De vragen zijn nu : Hoe kunnen kunstmatige neurale netwerken gebruikt worden om kunstmatig leven te maken? -Verklaren backpropagation en feedforward neural networks de werking van biologische breinen? -Zijn onderdelen van feedforward neural networks en backpropagation te gebruiken om kunstmatig leven te maken? -Hoe kunnen evolutionaire algoritmes gebruikt worden om feedforward neural networks te trainen? -Verklaart het Hopfield netwerk de werking van het brein? 6

9 -Zijn onderdelen van Hopfield netwerken te gebruiken om kunstmatig leven te maken? -Is kunstmatig leven ook echt levend? In het laatste hoofdstuk worden er aan de hand van observaties in de simulatie ook nog een aantal vragen gesteld. Alle simulaties zijn geschreven in Java. De gebruikte methoden worden besproken, maar niet de code zelf, aangezien dat niet de focus van dit PWS is. Voor het renderen wordt in elk programma, behalve het laatste experiment, de ingebouwde renderfunctionaliteit van Java gebruikt (Java2D en Swing). Het laatste experiment maakt gebruikt van OpenGL en Libgdx voor het renderen. De gecombineerde code van alle programma s telt bij elkaar meer dan 6000 lijnen, wat ongeveer overeenkomt met 200 pagina s. Vandaar dat het niet bij dit PWS is inbegrepen. De programma s zijn te downloaden op de volgende links: Getalherkenning : Feedforward evolutie : Eindsimulatie : 7

10 Brein De neurale netwerken die in dit PWS worden besproken zijn allemaal gebaseerd op de natuur. Het brein is een waanzinnig complex geheel dat uit duizenden verschillende soorten onderdelen bestaat, vandaar dat in deze modellen niet elk onderdeel gebruikt wordt. Alles wat niet (of minder) van invloed is op het eindresultaat wordt weggelaten. Zo blijft er een model over dat eenvoudiger is om mee te rekenen en te begrijpen. Door een vereenvoudigd model van een bepaalde hersenfunctie te maken, wordt het ook makkelijker om de werking van biologische breinen te begrijpen. Neuronen Al het levend weefsel is opgebouwd uit cellen. De cellen in je lichaam zijn georganiseerd, cellen in je lever zijn opgebouwd uit gespecialiseerde levercellen, cellen in je brein uit breincellen. De twee meest voorkomende cellen in het brein zijn de neuronen en de gliacellen 1. Neuronen zijn vooral verantwoordelijk voor het verwerken van informatie. Voor zover bekend is de communicatie tussen neuronen hetgeen wij ervaren als denken. De gliacellen zijn meer voor het onderhoud van het brein. Ze functioneren als een soort lijm tussen de neuronen om ze op hun plaats te houden en van elkaar te isoleren. Ook zorgen ze er voor dat neuronen voorzien worden van zuurstof en voedingsstoffen en dat dode hersencellen afgebroken worden. Er werd tot voor kort gedacht dat deze cellen geen invloed hadden op het denkproces. Ze spelen echter wel een rol in het vormen en onderhouden van verbindingen tussen neuronen. Omdat de gliacellen eigenlijk meer een verzorgende functie hebben, zal de focus op de eigenschappen van neuronen liggen. Overige cellen die minder invloed op het verwerken van informatie hebben worden buiten beschouwing gelaten. Figuur 1. Twee neuronen. Links is presynaptisch, rechts is postsynaptisch. 1 Neuroglia : 8

11 Er zijn meerdere soorten neuronen, de meest voorkomende is de piramidecel 2 (Figuur 1). Deze cellen zijn het grootst en komen het meeste voor in het zenuwstelsel, vandaar dat ze als de belangrijkste cellen van het zenuwstelsel worden gezien. Het centrale punt van deze cel (1) is de soma. Dit is het cellichaam van een neuron. Aan het cellichaam zitten dendrieten in alle richtingen (2). Dendrieten zijn de ontvangers voor signalen van andere neuronen. Een neuron stuurt zijn signalen over de axon (3). Om de axon zit een laagje Myeline, afkomstig van de gliacellen. Dit is een vettige stof die de axon beschermt en er voor zorgt dat de axon beter geleidt, waardoor de impulsen sneller door worden gegeven. De axon is vele malen langer dan de soma, soms wel tot een meter lang. Axonen komen vaak in bundels voor als zenuwen. Verbindingen tussen de axonen en dendrieten van een andere neuron zijn synapsen (4). Synapsen zijn de doorgevers voor neurale signalen. De mate waarin ze een signaal doorgeven kan variëren, ze hebben een bepaalde sterkte. Het brein kan leren door nieuwe synapsen te vormen of verwijderen, of door de sterkte van synapsen te veranderen. Actiepotentialen Actiepotentialen zijn de impulsen die tussen neuronen verzonden worden. Neuronen bevinden zich in een vloeistof met ionen. Deze ionen hebben een lading. Door poriën in het celmembraan van een neuron kunnen positieve en negatieve ionen doorgelaten worden, waardoor er een verschil in lading tussen de binnenkant en de buitenkant van de cel ontstaat. De lading van een neuron in rust is ongeveer -70 millivolt, het rustpotentiaal. Een neuron lekt via zijn celmembraan ionen en zal na een tijd altijd het rustpotentiaal aannemen. Als de lading van het celmembraan boven een bepaalde waarde komt zal er een actiepotentiaal gegenereerd worden. Deze waarde, de drempelwaarde of grenswaarde, ligt rond de -50 millivolt. Als dit potentiaal wordt bereikt, komt er een stof vrij bij het begin van de axon. Dit is de neurotransmitter, een stof die er voor zorgt dat impulsen worden overgedragen tussen neuronen. De impuls wordt doorgegeven door de axon en zal bij andere neuronen binnenkomen die hierdoor zelf ook weer een actiepotentiaal kunnen genereren. De patronen van vurende neuronen die hierdoor ontstaan zijn gedachten. De termen presynaptisch en postsynaptisch worden vaak gebruikt om de richting van een impuls aan te geven. De presynaptische neuron vuurt en de impuls die het stuurt komt aan bij de postsynaptische neuron. Een impuls die bij een andere neuron aankomt zorgt voor een verandering van het potentiaal. Als deze positief is spreken we over een EPSP (Excitatory Post Synaptic Potential), maar het kan ook negatief zijn. Een gedeelte van de neuronen geeft een negatief signaal (Inhibitory). Dan is het een IPSP (Inhibitory Post Synaptic Potential). De negatieve (Inhibitory) signalen verlagen het potentiaal van het celmembraan. De Inhibitory neuronen zorgen ervoor dat de signalen in het brein elkaar niet eindeloos versterken. Het brein berust juist op het feit dat er niet teveel neuronen tegelijkertijd actief zijn. 2 Neuron 9

12 Hebbian learning Het brein kan leren door de sterkte van de synapsen aan te passen. Als een synaps sterker wordt, zal de presynaptische neuron meer invloed uitoefenen op het membraanpotentiaal van de postsynaptische neuron. De presynaptische neuron zal de postsynaptische neuron dus eerder laten vuren. De manier waarop synapsen hun sterkte aanpassen, werkt waarschijnlijk volgens een theorie genaamd Hebbian learning, vernoemd naar de psycholoog Donald Hebb. Hebbian learning wordt vaak samengevat als : Neurons that fire together, wire together 3. Dit betekent dat bij twee neuronen die vaak tegelijk vuren, de synaps die deze twee neuronen verbindt versterkt zal worden. Door deze regel zullen neuronen die vaak tegelijk actief zijn elkaar activeren. Hierdoor kunnen groepen van neuronen gevormd worden. Tegenover de versterking, staat de afzwakking als neuronen afzonderlijk vuren. Neurons that fire apart, wire apart. Neuronen die afzonderlijk vuren zullen uiteindelijk geen invloed op elkaar meer hebben. Deze regels zorgen ervoor dat het brein associaties kan maken. Een voorbeeld hiervan is het leren van een woord. Als je iets ziet of hoort, worden via je gehoor en zicht bepaalde neuronen in het brein geactiveerd. Als je nu het woord banaan hoort terwijl je een banaan ziet, zullen deze neuronen tegelijk actief zijn. Volgens Hebb s regel zullen de verbindingen tussen deze neuronen versterkt worden. De neuronen die normaal gesproken alleen door het zien van een banaan geactiveerd werden, zullen nu ook actief worden wanneer je het woord banaan hoort en omgekeerd. Het brein heeft het horen en het zien van een banaan met elkaar geassocieerd, waardoor je een banaan voor je ziet als het woord banaan gezegd wordt. Hetzelfde geldt voor smaak, reuk en gevoel. 3 Hebbian Learning : 10

13 Kunstmatige Neurale Netwerken McCulloch en Pitts neuronen Een van de eerst voorgestelde modellen van neuronen was het model van Warren S. McCulloch en Walter H. Pitts in Ze probeerden in een artikel genaamd A logical calculus of the ideas immanent in nervous activity te verklaren hoe het brein ingewikkelde patronen kon produceren door simpele aan elkaar verbonden cellen. McCulloch en Pitts waren niet de eersten die de werking van neuronen probeerden te verklaren, maar wel de eersten om eigenschappen van aan elkaar verbonden neuronen te analyseren. De McCulloch Pitts Neuron (MCP neuron) is een zeer versimpeld model van hoe echte neuronen werken. De MCP neuronen zijn aan elkaar verbonden in een netwerk, dat een neuraal netwerk wordt genoemd. McCulloch en Pitts lieten zien dat deze netwerken elke logische stelling konden implementeren. Er werd gedacht dat het brein volgens deze principes zou werken. De MCP netwerken zijn echter zo ver vereenvoudigd ten opzichte van biologische breinen dat je hierover geen conclusies kan trekken. Het model was ook niet bedoeld om de natuur na te maken. De MCP neuron is een abstract model van een echte neuron. Alle irrelevante details zijn weggelaten, zodat alleen de elementen die nodig zijn om berekeningen te doen overblijven. Een MCP neuron is daarom ook erg handig om de principes van de werking van het brein te begrijpen. Als biologisch model zat de MCP neuron er op de meeste vlakken naast. Als model om berekeningen mee te doen was het wel geslaagd. De meeste moderne kunstmatige neuronmodellen werken nog steeds volgens de principes van MCP neuronen, op een paar aanpassingen na. Het artikel van McCulloch en Pitts was gebaseerd op een paar bekende eigenschappen van neuronen, maar was meer wiskundig dan biologisch. Het was bekend dat neuronen met elkaar communiceerden door middel van korte signalen, ook wel spikes genoemd. De MCP neuron kan een output van twee waarden hebben. De neuron kan een spike geven, weergegeven door een 1, of geen spike : 0. De neuronen rekenen dus, net als computers, met binaire waarden. Verder hebben de neuronen onderlinge verbindingen, die signalen doorgeven tussen de neuronen. Deze verbindingen hebben elk een positief (ook wel excitatory genoemd) of negatief (inhibitory) gewicht. Om te bepalen of een neuron een 1 of een 0 zal geven kijkt hij naar de staat van alle neuronen waarmee hij is verbonden via verbindingen met positieve gewichten. Hij telt alle binnenkomende spikes bij elkaar op en als deze waarde boven een drempelwaarde komt, is zijn output 1 (spike). Als een gewicht negatief is en de neuron vòòr de verbinding heeft als output 1, dan zal een neuron nooit een spike geven, ongeacht van alle positieve binnenkomende signalen. Dit wordt veto inhibition genoemd. 11

14 Figuur 1. MCP neuronen kunnen aan elkaar geschakeld worden om een soort van logisch circuit te maken. We kunnen bijvoorbeeld de gedachten van een vogel die een bes ziet in MCP neuronen weergeven. Er is een sensor die aangeeft of wat de vogel ziet rond is en een sensor die aangeeft of hij iets paars ziet. Daarnaast een bes-neuron met twee binnenkomende verbindingen met een positief gewicht. Als de waarde van deze neuron gelijk is aan 2, geeft hij een output van 1 en besluit de vogel om wat hij ziet op te eten. De waarde 2 is hierbij dus de drempelwaarde. Dit is een voorbeeld van een netwerk met alleen maar positieve gewichten en maar één taak. Negatieve gewichten kunnen bijvoorbeeld gebruikt worden om een actie te voorkomen. Je zou bijvoorbeeld een sensor toe kunnen voegen die aangeeft of de vogel vol is of niet (Figuur 1). Het gewicht van deze sensor naar de eet op neuron heeft een waarde van -1 (of inhibitory) zodat de waarde van de neuron, door veto inhibition, niet meer groter is dan 1 zodra hij een bes ziet. Deze bes zal dus gespaard worden voor de eetlust van de vogel. De Perceptron De McCulloch en Pitts netwerken hadden een aantal beperkingen. Eén van die beperkingen is het feit dat de gewichten en de outputs maar twee waarden aan kunnen nemen. Dit beperkt het aantal mogelijke oplossingen. Toen Donald Hebb in 1941 met het idee kwam dat synapsen van sterkte kunnen veranderen, werd het concept van gewichten met reële waarden geïntroduceerd. Het gewicht komt overeen met de sterkte van de synaps. Het eerste netwerk dat deze gewichten wist te gebruiken, was de perceptron van Frank Rosenblatt. In plaats van een binaire input, kan de input nu alle waarden aannemen. Daarnaast beschikt elke input over een gewicht dat ook alle waarden aan kan nemen. Het gewicht is ook te zien als een mate waarin de perceptron afhankelijk is van deze input. De gewichten worden meestal tussen de 0 en 1 gehouden. Net als bij de MCP neuron is de activatie van een neuron gelijk aan de som van alle gewichten vermenigvuldigd met de bijbehorende inputs. Hier wordt alleen nog een bias bij opgeteld. De bias is een waarde die de drempelwaarde vervangt. Er wordt nu niet gekeken of de 12

15 gesommeerde input groter is dan de drempelwaarde, maar of de gesommeerde input min de drempelwaarde groter is dan nul. Dit is dus eigenlijk hetzelfde. De output van een perceptron kan op dezelfde manier als bij de MCP neuron bepaald worden, door te kijken of de activatie van de perceptron groter is dan nul. Maar het is ook mogelijk om de gesommeerde input te nemen en door een activatiefunctie te laten gaan. Deze functie zorgt er onder andere voor dat de output van de perceptron binnen bepaalde grenzen blijft. De MCP neuron heeft een zogenaamde threshold step functie (3), die een hoge waarde geeft bij een drempelwaarde. Veel gebruikte activatiefuncties zijn 4 : 1. Sigmoid : σ(x) = 1/(1+e -x ) 2. Piecewise Linear : σ(x) = { -1 x 1, x -1 < x < 1, 1 x 1 } 3. Threshold step : σ(x) = {-1 x 0, 1 x > 0 } 4 Gaussian : σ(x) = e -x 2 Figuur 2 Een perceptron kan leren door supervised learning. Er is een supervisor nodig die een aantal voorbeelden van correcte input-output paren geeft. Dit wordt gedaan door de outputs te vergelijken met de verwachte waarden en de gewichten zo aan te passen dat deze meer met de verwachte waarden overeenkomen. De perceptron is niet echt een netwerk, maar meer een enkele neuron, bestaande uit één laag. De input van een neuron is niet de output van een andere neuron, vandaar dat dit model ook wel de single layer perceptron wordt genoemd. Ondanks al deze veranderingen ten opzichte van de McCulloch-Pitts neuron, kon de perceptron maar een paar problemen oplossen. Rosenblatt was erg enthousiast over de perceptron en dacht dat alle classificatieproblemen met de perceptron en zijn leeralgoritme in een bepaalde tijd op te lossen waren. In 1969 schreven Marvin Minsky en Seymour Papert een artikel genaamd Perceptrons: An Introduction to Computational Geometry. Hierin werd de nadruk op de gebreken van de perceptron gelegd. Ze lieten zien dat de perceptron alleen een bepaald soort problemen op kon lossen. De perceptron werd ook nauwelijks in de praktijk gebruikt. Hierdoor werd tot en met 1980 zeer weinig onderzoek naar kunstmatige neuronen gedaan. 4 Performance Analysis of Various Activation Functions in Generalized MLP Architectures of Neural Networks 13

16 Feedforward Neurale Netwerken Een feedforward neuraal netwerk, ook wel multilayer perceptron genoemd, is een neuronmodel dat gebruik maakt van meerdere lagen om berekeningen te doen. Omdat er meerdere lagen tussen de input en output zitten, kan de multilayer perceptron veel meer soorten berekeningen doen dan bijvoorbeeld een McCulloch-Pitts neuron of een enkele perceptron. Onderzoek naar neurale netwerken lag voor een lange tijd stil nadat Marvin Minsky en Seymour Papert een aantal problemen met de neurale netwerken van toen aan het licht brachten. De multilayer perceptron lost veel van deze problemen op, maar het is een stuk lastiger om handmatig de juiste gewichten te kiezen. De meerdere lagen maken het al snel een stuk complexer omdat voor elk gewicht in een laag rekening gehouden moet worden met alle gewichten in de vorige lagen. Werking van een multilayer perceptron De neuron van een multilayer perceptron wijkt niet veel af van de normale perceptron. De input, die afkomstig kan zijn van sensoren of een vorige laag, wordt vermenigvuldigd met de gewichten en bij elkaar opgeteld 5. Deze waarde noemen we de activatie. Een belangrijke eigenschap van de perceptron is de activatie functie, die ook in het vorige hoofdstuk was besproken. De activatie gaat door deze functie en het resultaat hiervan is de output van een neuron. Door deze functie kan een netwerk niet-lineaire berekeningen uitvoeren. Als deze functie niet wordt gebruikt kan een heel netwerk van neuronen door enkele neuronen worden vervangen. Deze activatiefunctie is vaak continu, wat wil zeggen dat de output van een neuron alle waardes op een bepaald interval aan kunnen nemen. Er is nu ook geen drempelwaarde maar een zogenaamde bias. De bias is gewoon een waarde die bij alle inputs van de neuron op wordt geteld, net zoals bij de perceptron. Dit wordt vaak gezien als een verbinding met een neuron die altijd een 1 als output geeft. Als je het op deze manier bekijkt, is dit gewicht op dezelfde manier als andere gewichten te trainen. De bias is ook te zien als horizontale translatie van de activatiefunctie. Het belangrijkste verschil tussen een mutilayer perceptron en een enkele (single-layer) perceptron is dat het uit meerdere lagen bestaat. Elke neuron is verbonden met elke neuron in de vorige laag en een bias. De informatie die via de input binnenkomt wordt doorgevoerd naar de volgende lagen, totdat de outputlaag bereikt is. Deze kan dan afgelezen worden. Neuronen in de inputlaag zijn meer enkele getallen dan neuronen. Ze maken geen gebruik van de activatiefunctie en hebben ook geen bias. Toch worden ze voor het gemak vaak gezien als neuronen. 5 Multilayer Perceptrons 14

17 De multilayer perceptron heeft een input laag, een aantal verborgen lagen en een output laag. De verborgen lagen doen het meeste rekenwerk, hoe ingewikkelder het patroon dat ontdekt of voorspeld moet worden hoe meer lagen nodig zijn. Meerdere neuronen in de verborgen lagen zorgen er voor dat een netwerk meerdere patronen kan ontdekken en onthouden voordat zijn geheugen vol raakt. Meerdere lagen maken het helaas ook veel moeilijker om de juiste gewichten te vinden. Gelukkig is er voor de multilayer perceptron een manier om een juiste verdeling van gewichten te vinden zonder al te veel handwerk. Backpropagation In 1985 werd een algoritme (her)ontdekt om neurale netwerken met meerdere lagen te trainen zonder zelf de gewichten te zetten 6. Omdat er meerdere schakels zitten tussen de input en de output is het moeilijker om te bepalen hoeveel je een gewicht moet veranderen om de juiste output te krijgen. Backpropagation werkt de afwijking in de output als het ware terug door het netwerk, vandaar de naam. Backpropagation valt onder de supervised learning algoritmes. Het heeft een aantal voorbeelden met juiste antwoorden nodig om patronen te leren. Een multilayer perceptron kan op deze manier leren zoals een mens ook leert: je hoeft het alleen maar een paar keer voor te doen. Er werd voor een tijd ook gedacht dat backpropagation een goed model was voor de werking van hersenen. Rond dezelfde tijd dat backpropagation ontwikkeld werd, bleek uit onderzoek dat een grote portie van de signalen in hersenen tegen de richting van het breinnetwerk in lopen 7. Dit zou een signaal kunnen zijn om de gewichten terug in het netwerk aan te passen volgens eenzelfde soort principe als backpropagation. Figuur 1 Handschriftherkenning met de Multilayer Perceptron Eén van de toepassingen van de multilayer perceptron (en veel andere soorten netwerken) is beeldherkenning. Open het programma handschriftherkenning om hiermee 6 The Backpropagation Algorithm 7 From Computer to Brain 15

18 te experimenteren. Het doel is om het programma je eigen handschrift te leren herkennen voor de getallen 0 tot en met 9. Teken in het witte vlak een getal en druk op ok. Het programma verandert dit plaatje nu in een array van nullen en enen die rechts van het tekenveld te zien is. Deze input kan nu gelezen worden door de multilayer perceptron die een output genereert. De outputlaag bestaat uit het aantal patronen dat het netwerk uiteindelijk moet leren. Deze neuronen hebben een doelwaarde voor elk teken. Door de output te vergelijken met alle doelwaarden kan worden bepaald om welke letter het gaat volgens het netwerk. Na het tekenen wordt de tekening omgezet in een plaatje van nullen en enen met een lagere resolutie dan het tekenveld. Dit wordt gedaan omdat het netwerk anders veel te groot en ingewikkeld wordt. Het tekenveld is 300x400 pixels, een netwerk met een inputlaag van neuronen is voor het herkennen van enkele tekens overbodig, dus wordt een verkleind plaatje van 9 bij 12 gebruikt. Het totale netwerk in dit voorbeeld bestaat dus uit 108 inputneuronen, een nog onbepaald aantal verborgen lagen met een onbepaald aantal neuronen en een outputlaag van 10 neuronen (het aantal tekens). Als het programma een waarde geeft die niet overeenkomt met het getekende getal corrigeer je hem door in het veld onderin de juiste waarde in te typen en op enter te drukken. Het programma slaat alle patronen met de juiste waarde op om te gebruiken tijdens het trainen. Het duurt te lang om steeds nieuwe tekens te tekenen, daarom kan je het netwerk met de knop train automatisch trainen op de gegeven patronen. Iteraties geeft aan voor hoe veel voorbeelden het netwerk getraind wordt en learning rate is een waarde die bepaald hoe snel het netwerk leert. Het lijkt logisch om deze waarde groot te maken zodat het netwerk snel leert, maar grote waarden leiden niet tot betere resultaten zoals je kan merken door het te proberen. De beste waarde voor de learning rate ligt rond de 0.01 maar dit verschilt per netwerk en is eigenlijk alleen te bepalen door proberen. Als laatste is onder de learning rate het percentage van juist geraden getallen te zien na de laatste keer trainen. Trainen van het netwerk De gewichten van het netwerk worden bepaald door middel van het al eerder besproken backpropagation. Backpropagation werkt door eerst de error (of afwijking) van de output uit te rekenen. Vervolgens wordt uitgerekend hoe veel de gewichten aangepast moeten worden om deze error zo klein mogelijk te maken. Bij een netwerk van 2 neuronen, één inputneuron en één outputneuron, zonder verborgen lagen is dit heel makkelijk. Je kijkt naar de output, vergelijkt dit met de verwachte output die hoort bij deze input en past het gewicht aan zodat de verwachtte output overeenkomt met de output die bij deze input hoort. Ofwel : Error = t-o. Waarbij t de doelwaarde is (t 16

19 voor target) en O de output. Als bij een input van 0.5 de waarde 0.7 hoort ziet dat er als volgt uit: Figuur 2 De waarde van het gewicht is hier 0.3. De mate waarin de verwachte output verschilt met de werkelijke output noemen we de error. Voor dit simpele netwerk is de error het verschil tussen de verwachte output en de output op dit moment. In dit voorbeeld = Het gewicht moet aangepast worden zodat 0.5*w=0.7. Hieruit volgt dat het nieuwe gewicht een waarde van 1.4 heeft. Bij dit netwerk bestaande uit twee elementen is dit makkelijk te zien. Het wordt lastiger bij een netwerk van meer elementen Zoals hieronder: figuur 3 Dit is een voorbeeld van een perceptron. Dit netwerk heeft twee inputs en 1 output neuron met een squashing functie. Je kan niet op dezelfde manier als hierboven de gewichten aanpassen. Er is maar 1 output dus de berekening voor de error blijft gewoon hetzelfde als in het voorbeeld met twee elementen. Deze keer worden de gewichten niet in één keer berekend, maar in kleine stappen. Op deze manier kan het netwerk ook op meerdere voorbeelden getraind worden. Stel dat de output 0.5 is en de verwachte waarde hiervoor is 0.7. Dan is de error 0.2. Nu kunnen we elk gewicht verhogen met een bepaalde factor proportioneel aan de error. Als we voor deze factor 0.1 nemen, dan wordt elk gewicht verhoogt met De leerregel wordt nu wnieuw = woud + η*error. Waar bij η de factor 0.1 is. Het probleem met deze regel is dat elk gewicht altijd met dezelfde hoeveelheid veranderd wordt. Ongeacht van de mate waarin hij voor de error verantwoordelijk is. Een input die een lage waarde geeft zal minder voor deze error verantwoordelijk zijn dan één 17

20 met een hoge waarde. We kunnen daarom de Error ook nog eens met de bijbehorende input voor dit gewicht vermenigvuldigen om dit probleem op te lossen. De volledige regel is nu : wnieuw = woud + η*error*s. Waarbij s gelijk is aan de input die bij het gewicht hoort. Dit is de leerregel die toe werd gepast voor de single-layer perceptron. Door deze regel een aantal keer op verschillende patronen te trainen, kunnen veel inputs naar de verwachte outputs vertaald worden. Het wordt al iets lastiger als je in plaats van een directe verbinding een verborgen laag toevoegt. Dit is het geval bij het feedforward netwerk dat het handschriftherkenning programma gebruikt, maar dan voor honderden neuronen en 3 verborgen lagen. Uitrekenen hoe veel elk gewicht verantwoordelijk is voor de error en hoe veel dit gewicht veranderd moet worden om de error te minimaliseren is het probleem dat backpropagation oplost. Gradient descent Om de error te minimaliseren wordt een methode genaamd gradient descent gebruikt. Als de error wordt geplot met de gewichten als assen krijg je een soort landschap. Gradient descent gebruikt de helling op elk punt om te bepalen in welke richting het minimum ligt. Een manier om je dit voor te stellen is een wandelaar in de bergen die het dal moet vinden op een mistige dag. Hij wil naar het laagste punt maar kan niet meer dan een meter voor zich uit kijken. Hij kan nu bepalen waar hij naartoe moet door de helling op het punt waar hij staat te bepalen en in de tegengestelde richting te bewegen. Als hij dit blijft doen voor elk punt waar hij terecht komt, zal hij uiteindelijk een dal bereiken zoals in het plaatje hieronder te zien is. Dit zou een grafiek zijn van een netwerk met 2 gewichten, W1,1 (gewicht van neuron 1 in laag 1 naar neuron 1 in laag 2) en W1,2 zoals op de assen te zien is. De error op elk punt is de hoogte. 18 Figuur 5. Gradient descent met twee gewichten en een error. De rode pijl is de helling op het punt waar de wandelaar staat en de blauwe stippellijn is het pad dat hij zal volgen om het dal te bereiken.

21 Dit voorbeeld van een netwerk met twee gewichten vormt een 3-dimensionaal errorlandschap. Dit landschap krijgt meer dimensies naarmate je meer gewichten toevoegt. Het netwerk in het programma heeft standaard 3 verborgen lagen met elk 108 neuronen (even veel als de inputlaag) en een outputlaag van 10 neuronen. Dat zijn gewichten en dus vormt de error-functie een dimensionaal landschap. Dit valt niet goed te tekenen. Een volledige afleiding van het backpropagation algoritme is te vinden in Appendix A. Verklaren backpropagation en feedforward neural networks de werking van biologische breinen? Neuronen De individuele neuronen zijn gedeeltelijk op de natuur gebaseerd. De output van biologische neuronen bestaat uit een spike die geen bepaalde waarde heeft. Een neuron kan hierbij een spike geven, of geen spike geven. Het kan geen tussenwaarden aannemen. De in dit hoofdstuk besproken sum and squash neuronen gebruiken waarde tussen de nul en één als output. Dat aspect lijkt dus niet realistisch. Er zijn echter mensen die denken dat de specifieke tijd dat een neuron vuurt niet uitmaakt, maar dat de gemiddelde hoeveelheid spikes over een bepaalde tijd belangrijk is. Als je de output van een neuron interpreteert als een maat waarin deze neuron vuurt, is de output wel realistisch. Je kan zelfs zo ver gaan om de output te interpreteren als de gemiddelde activiteit in een heel gebied in het brein. De output van de neuron is dus niet direct realistisch, maar kan als gedeeltelijk realistisch geïnterpreteerd worden. Het is een soort versimpeld model. Ook zijn er organismen waarbij de neuronen geen gebruik maken van korte impulsen, zoals de caenorhabditis elegans 8, het eenvoudigste organisme dat een zenuwstelsel heeft. Structuur De synapsen (gewichten) zijn redelijk realistisch. Ze hebben een variabel gewicht en zijn asymmetrisch. De verbindingen tussen neuronen in het brein hebben vaak nog een vertraging en hebben terugkoppelingen. Er zijn wel voorbeelden in de natuur te vinden van breingebieden die voornamelijk een feedforward structuur hebben. Ook impulsen, zoals het wegtrekken van je hand als je iets heets aanraakt maakt hier gebruik van. De algemene structuur van het hele netwerk is dus niet helemaal realistisch

22 Backpropagation Zoals aan het begin van dit hoofdstuk werd opgemerkt, was het backpropagation algoritme ooit genoemd als verklaring voor het grote aantal koppelingen dat tegen de richting van het breinnetwerk in liep. Backpropagation is hier echter niet de verklaring voor 9. Aangezien neuronen spikes geven, en geen directe waarde, is het niet aannemelijk dat het brein backpropagation gebruikt. Zijn onderdelen van feedforward neural networks en backpropagation te gebruiken om kunstmatig leven te maken? Neuronen Als de output van de neuronen als vuurgemiddelde van een enkele of een aantal neuronen wordt geïnterpreteerd, zullen de neuronen zeer geschikt zijn voor gebruik in kunstmatig leven. Het berekenen van de lading van een enkele realistische neuron kost een groot aantal berekeningen, de output van een sum and squash neuron is in twee bewerkingen te berekenen. De sum and squash neuron is een stuk simpeler. Hierdoor wordt de simulatie sneller, of kan er gekozen worden om de breinen groter te maken. Structuur De structuur van dit netwerk is geschikt voor sommige taken. Er zijn geen terugkoppelingen en geen tijdsvertragingen. Hierdoor kan het netwerk alleen maar op de input reageren die hij op dat moment binnenkrijgt. Alle inputs van vorige tijdstappen zullen vergeten worden. Een organisme dat een feedforward netwerk gebruikt als brein zal dus niet over een geheugen beschikken en kan geen acties vooruit in de tijd plannen. Deze structuur is wel geschikt voor simpele organismen die niet vooruit hoeven te plannen en geen ingewikkelde taken uit hoeven te voeren. Backpropagation Backpropagation is een supervised learning algorithm. Het zal een aantal voorbeelden nodig hebben om te kunnen functioneren. Ik heb geen goede manier gevonden om dit te gebruiken in de simulatie. Als dit gebruikt zou worden, zou dit inhouden dat de vereiste output van een netwerk al bekend is. Aangezien het de bedoeling is dat de organismen autonoom zijn, zal backpropagation niet gebruikt worden. Input/Output De input en output van een feedforward neural network zijn zeer handig voor de simulatie. Beide bestaan uit reële waarden tussen de 0 en 1. Dit is handig omdat er goed valt te rekenen met begrensde waarden. Een voorbeeld hiervan is de snelheid waarmee een organisme vooruit beweegt. De output ligt ergens tussen de 0 en 1, dus kan de output van het netwerk vermenigvuldigd worden met een snelheidsfactor om de uiteindelijke snelheid te verkrijgen. Deze zal tussen de 0 en de snelheidsfactor liggen. Dit is ook beter dan een 9 From Computer to Brain 20

23 model met spikes (0 of 1) omdat het organisme dan alleen maar één snelheid kan hebben, of het gemiddelde aantal enen over de laatste paar tijdstappen moet berekend worden. Conclusie De feedforward architectuur met backpropagation blijkt biologisch gezien dus geen realistisch model te zijn. Het is een goed voorbeeld van een netwerk dat heel losjes op de biologie gebaseerd is. Het heeft qua vorm een aantal overeenkomsten, maar de werking is totaal verschillend. Toch zullen de sum and squash neuronen wel gebruikt worden in de uiteindelijke simulatie, aangezien het weinig berekeningen kost en redelijk eenvoudig is. 21

24 Kunstmatige Evolutie Het netwerk van het vorige programma was een standaard feedforward neural network. Dit netwerk reageert direct op de input die wordt gegeven en houdt daarbij geen rekening met de inputs van vorige tijdstappen. Het netwerk heeft, tenzij de gewichten veranderen, geen veranderende interne staat. De regels van dit netwerk zijn redelijk simpel, de enige parameters die veranderen zijn de gewichten en met tijd hoeft geen rekening gehouden te worden. In recurrent neural networks, waarbij een signaal bijvoorbeeld in loops in het netwerk rond kan cirkelen, moet daar wel rekening mee worden gehouden. Het is dan ook een stuk lastiger om deze netwerken te trainen. Er bestaan leerregels voor de meeste recurrente netwerken, maar ze zijn nog een stuk ingewikkelder dan voor een feedforward netwerk. Voor netwerken met veel variabelen, of andere problemen die geen exacte oplossing hebben of waarbij het vinden van een oplossing lastig is, kunnen de principes van evolutie gebruikt worden om een oplossing te vinden. Deze aanpak wordt een evolutionair algoritme genoemd. Natuurlijke evolutie Evolutie is het proces waarmee alle levende organismen op aarde van hun voorouders afstammen. Het idee is dat een organisme zich voortplant met een aantal fouten bij elke voortplanting. Deze fouten, ook wel mutaties genoemd, zorgen er voor dat dit organisme afwijkt van zijn soortgenoten. Als deze afwijking een positievector invloed heeft op zijn overlevingskansen, zal dit organisme zich meer voort kunnen planten en zal deze positieve eigenschap doorgegeven worden aan zijn nakomelingen. Hierdoor wordt deze eigenschap prominenter in de populatie van de hele soort. Een bekend voorbeeld hiervan waarbij natuurlijke selectie in een korte periode waar werd genomen, is de evolutie van de berkenspanner. De berkenspanner is een mottensoort die in Groot-Brittanie voorkomt 10. De mot had een lichte kleur en was daarmee goed gecamoufleerd op witte berkenstammen. Toen de omgeving in een korte periode industrialiseerde, kleurde de berkenstam zwart door de vervuiling en viel de lichte mot ineens een stuk meer op. Ongeveer 1% van de mottenpopulatie was zwart door een genetische afwijking en werd normaal gesproken opgegeten door vijanden. Nu in de nieuwe omgeving werden de lichte motten opgegeten en konden de zwarte motten hun eigenschap doorgeven. In een korte tijd was bijna de gehele populatie zwart. Dit is een voorbeeld van natuurlijke selectie over een korte tijdsperiode binnen een soort. Evolutie van een soort naar een andere soort, het proces waarmee bacteriën uiteindelijk in mensen en alle andere wezens die nu leven zijn veranderd, is natuurlijke selectie over miljoenen jaren en is zeer geleidelijk. Informatie over de bouw van een organisme wordt doorgegeven door genen. Dit wordt het genotype genoemd. Het is als het ware de blauwdruk voor het organisme en bevat alle erfelijke informatie. De drager van deze informatie is DNA. In het DNA komen vier soorten 10 Evidence for Evolution : The Evolution of the Peppered Moth 22

25 moleculen voor in paren, vaak aangegeven met de letters A, T en G, C 11. De volgorde van deze vier letters wordt de sequentie genoemd. Hiermee wordt de volledige erfelijke informatie van een organisme gerepresenteerd. De mutaties in een organisme zijn fouten in het kopiëren van deze informatie. Deze fouten, in combinatie met natuurlijke selectie, zijn de drijfveer van evolutie. Bij ongeslachtelijke voortplanting is er maar één ouder. Dit gebeurt bijvoorbeeld bij bacteriën. Een bacterie splitst zichzelf in tweeën, waarbij er twee, op mutaties na, identieke bacteriën ontstaan. Evolutie vind bij dit soort organismen vooral plaats door mutaties. Een andere manier om genmateriaal te mengen is geslachtelijke voortplanting. Bij geslachtelijke voortplanting zijn er twee ouders nodig. Delen van het DNA van beide ouders worden gemengd, waardoor het kind eigenschappen van beide ouders zal erven. Het precieze nut van geslachtelijke voortplanting is nog steeds niet bekend. Het voortplanten en het kiezen van een partner kost veel energie en is zeer inefficiënt, maar is toch de meest gekozen strategie voor bijna alle meercellige organismen. Evolutionaire algoritmes Een evolutionair algoritme is eigenlijk een abstracte vorm van natuurlijke evolutie. De principes, zoals natuurlijke selectie, reproductie en het muteren en mengen van genen, worden allemaal gebruikt. Alleen de implementatie is anders. De eerste stap in een genetisch algoritme is beginnen met een willekeurige populatie oplossingen voor het probleem, of individuen zoals ze ook wel worden genoemd. Deze populatie is over het algemeen volstrekt willekeurig en zal dus niet heel succesvol zijn in het oplossen van het probleem. Elk individu krijgt een waarde die aangeeft hoe goed hij het probleem oplost. Deze waarde is de fitness en de functie die deze waarde berekent wordt de fitness functie genoemd. De fitness functie is voor elk probleem anders. Vervolgens worden de genen van de populatie gemuteerd en gecombineerd tot een nieuw individu in de volgende generatie. Om natuurlijke selectie te simuleren, hebben succesvolle oplossingen hierbij een grotere kans om geselecteerd te worden dan onsuccesvolle. Dit proces wordt herhaald voor een bepaalde tijd, of totdat er een oplossing gevonden is die goed genoeg is. Het genotype Een belangrijk onderdeel van het algoritme zijn de genen. De kandidaten voor een oplossing moeten op één of andere manier gerepresenteerd worden zodat de genen gemengd en gemuteerd kunnen worden. Dit noemt men, net zoals in de biologie, de genen of het genotype van het individu. Net zoals bij de fitness functie, is de implementatie voor elk probleem anders. Een veelgebruikte manier is een rij van enen en nullen, een zogenaamde bit string. Een bit string is dan het DNA van de oplossing en de volgorde van nullen en enen vervangen zijn een sequentie.voor bijvoorbeeld een 11 DNA 23

26 feedforward neural network kan het genotype ook een rij van reele getallen zijn, waarbij elk getal voor een gewicht staat. Er kan ook gekozen worden om geen genotype te implementeren, maar het volledige fenotype te kopiëren met mutaties. Net zoals bij alle andere onderdelen van het algoritme is het belangrijk dat de principes van evolutie aangehouden worden. De genen hoeven dus niet op echt DNA te lijken. Een evolutionair algoritme maakt gebruik van twee genetische operatoren: mutatie en crossover. Crossover is het mengen van de genen, wat in de natuur overeenkomt met geslachtelijke voortplanting 12. In een bit string komt mutatie overeen met het veranderen van een 1 in een nul en omgekeerd, een bit flip. De mate waarin deze mutaties voorkomen is de mutatiesnelheid. Dit is een laag getal om te voorkomen dat er nooit een oplossing wordt gevonden, maar de precieze waarde verschilt per probleem. Het vinden van de juiste parameters van de fitness functie en de mutatiesnelheid is een kwestie van proberen en goed inschatten. Je moet ervoor zorgen dat de veranderingen, net zoals met evolutie, zeer geleidelijk zijn. Crossover zorgt ervoor dat nuttige delen van het genoom van twee ouders over worden gedragen. In een bit string wordt er voor crossover op een willekeurige plaats in het genoom een crossoverpoint gekozen. Vanaf de linkerkant van dit punt worden de nullen en enen van de ene ouder gekopieerd en rechts die van de andere ouder. Dit staat bekend als single point crossover. Er bestaan talloze manieren om crossover uit te voeren. Je kan ook meerdere crossover punten kiezen, bijvoorbeeld two point crossover zodat het middelste gedeelte van het genoom van een andere ouder afkomstig is. Ook kan je er voor zorgen dat het grootste gedeelte in het nieuwe genoom van de meest succesvolle ouder afkomstig is. Sommige algoritmes mengen de twee genen volstrekt willekeurig, ze kiezen dus voor elke bit of ze de genen van de ene of de andere ouder kiezen. Dit is meestal niet zo effectief omdat de succesvolle delen in het DNA dan ook door elkaar gehusseld worden. Dit heeft wel zin als de volgorde van het genoom niet uitmaakt en delen die naast elkaar staan niets met elkaar te maken hebben. Ook de mate waarin crossover voorkomt is een parameter die per situatie zal verschillen. Meestal ligt het rond de 70%, dit betekent dat 70% van de volgende generatie een product is van crossover. De rest is alleen gemuteerd of een identieke kopie van een individu uit de vorige generatie. Als de meest succesvolle individuen onveranderd naar de volgende generatie gaat heet dit elitisme of eliteselectie. Dit zorgt er voor dat de kwaliteit niet daalt. Figuur 1 : Links mutatie, Rechts crossover 12 Genetic Algorithm : 24

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

Inhoud leereenheid 12. Probleemoplossen met kunstmatige intelligentie. Introductie 225. Leerkern 226. Samenvatting 250. 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

Nadere informatie

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

Kunstmatige Intelligentie (AI) Hoofdstuk 18.7 van Russell/Norvig = [RN] Neurale Netwerken (NN s) voorjaar 2016 College 9, 19 april 2016 AI Kunstmatige Intelligentie (AI) Hoofdstuk 18.7 van Russell/Norvig = [RN] Neurale Netwerken (NN s) voorjaar 2016 College 9, 19 april 2016 www.liacs.leidenuniv.nl/ kosterswa/ai/ 1 Hersenen De menselijke

Nadere informatie

Inleiding Adaptieve Systemen Hoofdstuk 4: Neurale netwerken

Inleiding Adaptieve Systemen Hoofdstuk 4: Neurale netwerken Inleiding Adaptieve Systemen Hoofdstuk 4: Neurale netwerken Cursusjaar 2012-2013 Gerard Vreeswijk β-faculteit, Departement Informatica en Informatiekunde, Leerstoelgroep Intelligente Systemen 12 Juni 2015

Nadere informatie

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

Inhoud. Neuronen. Synapsen. McCulloch-Pitts neuron. Sigmoids. De bouwstenen van het zenuwstelsel: neuronen en synapsen Tom Heskes IRIS, NIII Inhoud De bouwstenen van het zenuwstelsel: neuronen en synapsen Complex gedrag uit eenvoudige elementen McCulloch-Pitts neuronen Hopfield netwerken Computational neuroscience Lerende

Nadere informatie

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

Programmeren A. Genetisch Programma voor het Partitie Probleem. begeleiding: Programmeren A Genetisch Programma voor het Partitie Probleem begeleiding: Inleiding Het Partitie Probleem luidt als volgt: Gegeven een verzameling van n positieve integers, vindt twee disjuncte deelverzamelingen

Nadere informatie

Machinaal leren, neurale netwerken, en deep learning

Machinaal leren, neurale netwerken, en deep learning Machinaal leren, neurale netwerken, en deep learning Prof. dr. Tom Heskes KNAW-symposium Go en machinale intelligentie 11 oktober, 2016 Inhoud Inleiding - Supervised, reinforcement, unsupervised leren

Nadere informatie

Tentamen Kunstmatige Intelligentie (INFOB2KI)

Tentamen Kunstmatige Intelligentie (INFOB2KI) Tentamen Kunstmatige Intelligentie (INFOB2KI) 30 januari 2014 10:30-12:30 Vooraf Mobiele telefoons dienen uitgeschakeld te zijn. Het tentamen bestaat uit 7 opgaven; in totaal kunnen er 100 punten behaald

Nadere informatie

Beide helften van de hersenen zijn met elkaar verbonden door de hersenbalk. De hersenstam en de kleine hersenen omvatten de rest.

Beide helften van de hersenen zijn met elkaar verbonden door de hersenbalk. De hersenstam en de kleine hersenen omvatten de rest. Biologie SE4 Hoofdstuk 14 Paragraaf 1 Het zenuwstelsel kent twee delen: 1. Het centraal zenuwstelsel bevindt zich in het centrum van het lichaam en bestaat uit de neuronen van de hersenen en het ruggenmerg

Nadere informatie

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

Kunstmatige Intelligentie (AI) Hoofdstuk van Russell/Norvig = [RN] Genetische algoritmen. voorjaar 2016 College 11, 3 mei 2016 AI Kunstmatige Intelligentie (AI) Hoofdstuk 4.1.4 van Russell/Norvig = [RN] Genetische algoritmen voorjaar 2016 College 11, 3 mei 2016 www.liacs.leidenuniv.nl/ kosterswa/ai/ 1 Introductie Er zijn allerlei

Nadere informatie

Opdracht 2 Het Multilayer Perceptron

Opdracht 2 Het Multilayer Perceptron Opdracht 2 Het Multilayer Perceptron Doel: - Inzicht verkrijgen in een neuraal netwerk (het multilayer perceptron). - Begrijpen van het backpropagation algoritme. - Een toepassing van een neuraal netwerk

Nadere informatie

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

AI Kaleidoscoop. College 12: Subsymbolische methoden. Twee scholen. Leeswijzer: Performance cliff (2) Performance cliff AI Kaleidoscoop College 2: Subsymbolische methoden Neurale Netwerken Genetische Algorithmen Leeswijzer:.-.3 + 2. AI2 Twee scholen Physical Symbol systems = formele operaties op symbool-structuren, geïnspireerd

Nadere informatie

Opgave 2 ( = 12 ptn.)

Opgave 2 ( = 12 ptn.) Deel II Opgave 1 (4 + 2 + 6 = 12 ptn.) a) Beschouw bovenstaande game tree waarin cirkels je eigen zet representeren en vierkanten die van je tegenstander. Welke waarde van de evaluatiefunctie komt uiteindelijk

Nadere informatie

heten excitatory. heten inhibitory.

heten excitatory. heten inhibitory. Transparanten bij het vak Inleiding Adaptieve Systemen: Neurale Netwerken. M. Wiering Nucleus Synapse Axon van andere neuron Neurale netwerken Dendriet Axon Synapse Leerdoelen: Soma Weten wanneer neurale

Nadere informatie

94 Samenvatting te vervormen, wordt de huid bijzonder stijf bij grotere vervormingen. Uit onderzoek is gebleken dat deze eigenschap deels toe te schri

94 Samenvatting te vervormen, wordt de huid bijzonder stijf bij grotere vervormingen. Uit onderzoek is gebleken dat deze eigenschap deels toe te schri Samenvatting De biofysica kan worden beschouwd als het grensgebied tussen de natuurkunde en de biologie. In dit vakgebied worden natuurkundige methoden gebruikt om biologische systemen te analyseren en

Nadere informatie

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Combinatorische Algoritmen: Binary Decision Diagrams, Deel III Sjoerd van Egmond LIACS, Leiden University, The Netherlands svegmond@liacs.nl 2 juni 2010 Samenvatting Deze notitie beschrijft een nederlandse

Nadere informatie

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

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

Nadere informatie

3. Structuren in de taal

3. Structuren in de taal 3. Structuren in de taal In dit hoofdstuk behandelen we de belangrijkst econtrolestructuren die in de algoritmiek gebruikt worden. Dit zijn o.a. de opeenvolging, selectie en lussen (herhaling). Vóór we

Nadere informatie

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl Excel reader Beginner Gemiddeld Auteur Bas Meijerink E-mail bas@excel-programmeur.nl Versie 01D00 Datum 01-03-2014 Inhoudsopgave Introductie... - 3 - Hoofdstuk 1 - Databewerking - 4-1. Inleiding... - 5-2.

Nadere informatie

Hopfield-Netwerken, Neurale Datastructuren en het Nine Flies Probleem

Hopfield-Netwerken, Neurale Datastructuren en het Nine Flies Probleem Hopfield-Netwerken, Neurale Datastructuren en het Nine Flies Probleem Giso Dal (0752975) 13 april 2010 Samenvatting In [Kea93] worden twee neuraal netwerk programmeerprojecten beschreven, bedoeld om studenten

Nadere informatie

MACHINES. ... en kralenkettingen. Onderzoeksprogramma Vierkant voor Wiskunde. Wiskundeclubs. Tristan Cranendonk & Joost Langeveld

MACHINES. ... en kralenkettingen. Onderzoeksprogramma Vierkant voor Wiskunde. Wiskundeclubs. Tristan Cranendonk & Joost Langeveld MACHINES... en kralenkettingen. Onderzoeksprogramma Vierkant voor Wiskunde Wiskundeclubs Tristan Cranendonk & Joost Langeveld Kralenketting machines 1 Uitleg van de gebruikte symbolen: In de kantlijn staan

Nadere informatie

H5 Begrippenlijst Zenuwstelsel

H5 Begrippenlijst Zenuwstelsel H5 Begrippenlijst Zenuwstelsel acetylcholine Vaak voorkomende neurotransmitter, bindt aan receptoren en verandert de permeabiliteit van het postsynaptische membraan voor specifieke ionen. animatie synaps

Nadere informatie

Hoofdstuk 26: Modelleren in Excel

Hoofdstuk 26: Modelleren in Excel Hoofdstuk 26: Modelleren in Excel 26.0 Inleiding In dit hoofdstuk leer je een aantal technieken die je kunnen helpen bij het voorbereiden van bedrijfsmodellen in Excel (zie hoofdstuk 25 voor wat bedoeld

Nadere informatie

AI introductie voor testers

AI introductie voor testers AI introductie voor testers De basis van deep learning TestNet werkgroep Testen met AI Martin van Helden Sander Mol Introductie Artificial Intelligence (AI) is anders dan traditioneel programmeren. Traditioneel

Nadere informatie

Eerst even een testje

Eerst even een testje Frans Bleumer Frans Bleumer Eerst even een testje Een krant is beter dan een weekblad. Het strand is beter dan de straat. In het begin kun je beter rennen dan wandelen. Je zult het vaker moeten proberen.

Nadere informatie

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

Random-Getallen. Tristan Demont en Mark van der Boor en Random-Getallen Tristan Demont en Mark van der Boor 0768931 en 0772942 18 januari 2013 Begeleider: Relinde Jurrius Opdrachtgever: Berry Schoenmakers Modelleren B, 2WH02 Technische Universiteit Eindhoven

Nadere informatie

Neurale Netwerken en Deep Learning. Tijmen Blankevoort

Neurale Netwerken en Deep Learning. Tijmen Blankevoort Neurale Netwerken en Deep Learning Tijmen Blankevoort De toekomst - Internet of Things De toekomst - sluiertipje Je gezondheid wordt continue gemonitored Je dieet wordt voor je afgestemd -> Stroomversnelling

Nadere informatie

infprg03dt practicumopdracht 4

infprg03dt practicumopdracht 4 infprg03dt practicumopdracht 4 W. Oele 31 augustus 2008 1 Evolutie Het volgende citaat komt letterlijk van Wikipedia: Met evolutietheorie (soms ook wel evolutieleer genoemd) wordt de wetenschappelijke

Nadere informatie

Carol Dweck en andere knappe koppen

Carol Dweck en andere knappe koppen Carol Dweck en andere knappe koppen in de (plus)klas 2011 www.lesmateriaalvoorhoogbegaafden.com 2 http://hoogbegaafdheid.slo.nl/hoogbegaafdheid/ theorie/heller/ 3 http://www.youtube.com/watch?v=dg5lamqotok

Nadere informatie

Profielwerkstuk Biologie Invloed van kou op het concentratievermogen

Profielwerkstuk Biologie Invloed van kou op het concentratievermogen Profielwerkstuk Biologie Invloed van kou op het concentratievermogen Profielwerkstuk door R. 1428 woorden 20 februari 2013 7,2 19 keer beoordeeld Vak Methode Biologie Biologie voor jou Voorwoord Wij hebben

Nadere informatie

Hoofdstuk 20: Wiskundige functies

Hoofdstuk 20: Wiskundige functies Hoofdstuk 20: Wiskundige functies 20.0 Introductie Er is een uitgebreid aanbod aan wiskundige functies in Excel, variërend van het simpele + teken tot de esoterische statistiek functies voor een correlatie

Nadere informatie

Continuous Learning in Computer Vision S.L. Pintea

Continuous Learning in Computer Vision S.L. Pintea Continuous Learning in Computer Vision S.L. Pintea Continuous Learning in Computer Vision Natura non facit saltus. Gottfried Leibniz Silvia-Laura Pintea Intelligent Sensory Information Systems University

Nadere informatie

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Uitleg Welkom bij de Beverwedstrijd 2006 Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Je krijgt 5 vragen van niveau A, 5 vragen van niveau B en 5 vragen van niveau C. Wij denken

Nadere informatie

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens

Algoritmes in ons dagelijks leven. Leve de Wiskunde! 7 April 2017 Jacobien Carstens Algoritmes in ons dagelijks leven Leve de Wiskunde! 7 April 2017 Jacobien Carstens Wat is een algoritme? Een algoritme is een eindige reeks instructies die vanuit een gegeven begintoestand naar een beoogd

Nadere informatie

Hoofdstuk 21: Gegevens samenvatten

Hoofdstuk 21: Gegevens samenvatten Hoofdstuk 21: Gegevens samenvatten 21.0 Inleiding In Excel kunnen grote (en zelfs ook niet zo grote) tabellen met getallen en tekst er nogal intimiderend uitzien. Echter, Excel komt helemaal tot haar recht

Nadere informatie

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

Recursion. Introductie 37. Leerkern 37. Terugkoppeling 40. Uitwerking van de opgaven 40 Recursion Introductie 37 Leerkern 37 5.1 Foundations of recursion 37 5.2 Recursive analysis 37 5.3 Applications of recursion 38 Terugkoppeling 40 Uitwerking van de opgaven 40 Hoofdstuk 5 Recursion I N

Nadere informatie

Nederlandse samenvatting voor geïnteresseerden buiten het vakgebied

Nederlandse samenvatting voor geïnteresseerden buiten het vakgebied Nederlandse samenvatting voor geïnteresseerden buiten het vakgebied Met dit proefschrift ga ik promoveren in de biochemie. In dit vakgebied wordt de biologie bestudeerd vanuit chemisch perspectief. Het

Nadere informatie

Samenvatting Biologie Hoofdstuk 14 Zenuwstelsel

Samenvatting Biologie Hoofdstuk 14 Zenuwstelsel Samenvatting Biologie Hoofdstuk 14 Zenuwstelsel Samenvatting door Elin 1218 woorden 9 april 2018 7,9 8 keer beoordeeld Vak Methode Biologie Nectar Biologie Hoofdstuk 14 14.1 * Het zenuwstelsel bestaat

Nadere informatie

Sensornetwerk controleert omgeving

Sensornetwerk controleert omgeving Sensornetwerk controleert omgeving Wiskunde repareert imperfectie van een sensornetwerk en spoort zo indringers op. Een draadloos sensornetwerk kan gebruikt worden om een omgeving in de gaten te houden,

Nadere informatie

Geldwisselprobleem van Frobenius

Geldwisselprobleem van Frobenius Geldwisselprobleem van Frobenius Karin van de Meeberg en Dieuwertje Ewalts 12 december 2001 1 Inhoudsopgave 1 Inleiding 3 2 Afspraken 3 3 Is er wel zo n g? 3 4 Eén waarde 4 5 Twee waarden 4 6 Lampenalgoritme

Nadere informatie

Een spoedcursus python

Een spoedcursus python Een spoedcursus python Zoals je in de titel misschien al gezien hebt, geven wij een spoedcursus Python. Door deze cursus leer je alle basics, zoals het rekenen met Python en het gebruik van strings. Het

Nadere informatie

Getal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429)

Getal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429) Getal en Ruimte wi 1 havo/vwo deel 1 hoofdstuk 4 Didactische analyse door Lennaert van den Brink (1310429) - een lijst met operationele en concrete doelen van de lessenserie, indien mogelijk gerelateerd

Nadere informatie

Informatie voor de leerkracht Introductie nieuw concept (pagina 1) Programmeren met Bomberbot (pagina 1)

Informatie voor de leerkracht Introductie nieuw concept (pagina 1) Programmeren met Bomberbot (pagina 1) Leerlingen herkennen dat de moderne technologie om ons heen geprogrammeerd is door mensen. Leerlingen begrijpen dat een computer-programma bestaat uit een set instructies die een computer uitvoert en dat

Nadere informatie

Klein Project Genetische Algoritmen. Door Nanne Wams en Henderikus Top

Klein Project Genetische Algoritmen. Door Nanne Wams en Henderikus Top Klein Project Genetische Algoritmen Door Nanne Wams en Henderikus Top 4 september 2003 Inleiding Dit is het verslag van ons klein project Genetische Algoritmen. Onze opdracht was een programma of een verzameling

Nadere informatie

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms Giso Dal (0752975) Pagina s 5 7 1 Deelverzameling Representatie

Nadere informatie

Het XOR-Netwerk heeft lokale Minima

Het XOR-Netwerk heeft lokale Minima Het 2-3- XOR-Netwerk heet lokale Minima Ida G. Sprinkhuizen-Kuyper Egbert J.W. Boers Vakgroep Inormatica RijksUniversiteit Leiden Postbus 952 2300 RA Leiden {kuyper,boers}@wi.leidenuniv.nl Samenvatting

Nadere informatie

Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen.

Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen. Netwerkdiagram voor een project. AOA: Activities On Arrows - activiteiten op de pijlen. Opmerking vooraf. Een netwerk is een structuur die is opgebouwd met pijlen en knooppunten. Bij het opstellen van

Nadere informatie

DOEL, DENKEN, DADEN EN DE ESSENTIAL 5 De verklaring voor menselijk gedrag en het antwoord op levensvragen ARJEN MEIJER

DOEL, DENKEN, DADEN EN DE ESSENTIAL 5 De verklaring voor menselijk gedrag en het antwoord op levensvragen ARJEN MEIJER DOEL, DENKEN, DADEN EN DE ESSENTIAL 5 De verklaring voor menselijk gedrag en het antwoord op levensvragen ARJEN MEIJER 1 STARTPUNT: 3D Essential 5 Ande dere e theorieë eën 3D Doel, Denken, Daden Lichaam,

Nadere informatie

2 Voortplanten met organen Bouw en werking van geslachtsorganen Werking van geslachtshormonen Afsluiting 31

2 Voortplanten met organen Bouw en werking van geslachtsorganen Werking van geslachtshormonen Afsluiting 31 Inhoud Voorwoord 5 Inleiding 6 1 Voortplanten van genen 9 1.1 Genetica 9 1.2 Kruisingen 13 1.3 Crossing-over en mutatie 16 1.4 Erfelijkheid en praktijk 17 1.5 Inteelt en inteeltdepressie 21 1.6 Afsluiting

Nadere informatie

Het leven duurt niet eeuwig

Het leven duurt niet eeuwig Het leven duurt niet eeuwig Alle levende wezens verouderen en vroeg of laat sterven ze. Sterven kan door een natuurlijke dood, opgegeten worden of een andere gebeurtenis. Doorheen de evolutie hebben alle

Nadere informatie

Exponentiële Functie: Toepassingen

Exponentiële Functie: Toepassingen Exponentiële Functie: Toepassingen 1 Overgang tussen exponentiële functies en lineaire functies Wanneer we werken met de exponentiële functie is deze niet altijd gemakkelijk te herkennen. Daarom proberen

Nadere informatie

math inside Model orde reductie

math inside Model orde reductie math inside Model orde reductie Model orde reductie Met het voortschrijden van de rekenkracht van computers en numerieke algoritmen is het mogelijk om steeds complexere problemen op te lossen. Was het

Nadere informatie

De overeenkomsten tussen de ziekte van Parkinson en de ziekte van Huntington

De overeenkomsten tussen de ziekte van Parkinson en de ziekte van Huntington Wetenschappelijk nieuws over de Ziekte van Huntington. In eenvoudige taal. Geschreven door wetenschappers. Voor de hele ZvH gemeenschap. Succesvolle gentherapiestudie bij de ziekte van Parkinson geeft

Nadere informatie

Samenvatting Biologie Inleiding in de biologie

Samenvatting Biologie Inleiding in de biologie Samenvatting Biologie Inleiding in de biologie Samenvatting door C. 1469 woorden 27 september 2016 4,5 6 keer beoordeeld Vak Biologie H1 - Inleiding in de Biologie 1. Wat is Biologie? Doel Je moet in een

Nadere informatie

1. Reductie van error variantie en dus verhogen van power op F-test

1. Reductie van error variantie en dus verhogen van power op F-test Werkboek 2013-2014 ANCOVA Covariantie analyse bestaat uit regressieanalyse en variantieanalyse. Er wordt een afhankelijke variabele (intervalniveau) voorspeld uit meerdere onafhankelijke variabelen. De

Nadere informatie

Transparanten bij het vak Inleiding Adaptieve Systemen: Evolutionary Computation. f(s max ) f(s) s

Transparanten bij het vak Inleiding Adaptieve Systemen: Evolutionary Computation. f(s max ) f(s) s Transparanten bij het vak Inleiding Adaptieve Systemen: Evolutionary Computation. M. Wiering f(s max ) f(s) s Evolutionary Computation (EC) Optimalisatie algoritmen geinspireerd door Darwin s evolutie

Nadere informatie

Chemische reacties. Henk Jonker en Tom Sniekers

Chemische reacties. Henk Jonker en Tom Sniekers Chemische reacties Henk Jonker en Tom Sniekers 23 oktober 29 Inleiding Op 3 september hebben wij met u gesproken U heeft aan ons gevraagd om twee problemen op te lossen Het eerste probleem ging over het

Nadere informatie

Samenvatting (Dutch)

Samenvatting (Dutch) Samenvatting (Dutch) 162 Hier zal een korte samenvatting gegeven worden van de resultaten van het onderzoek gepresenteerd in dit proefschrift. Affect, Gemoedstoestand en Informatieverwerking Om te overleven

Nadere informatie

Lesbrief Code kraken / maken

Lesbrief Code kraken / maken Ontdek wat de geheime code is op de poster van de Marnix Academie! In deze les ontdekken de leerlingen hoe computers denken en hoe programmeurs werken. Ze maken kennis met de begrippen pixel, binaire code

Nadere informatie

Sociale en culturele factoren in evacuatie simulaties. Dr. Natalie van der Wal

Sociale en culturele factoren in evacuatie simulaties. Dr. Natalie van der Wal Sociale en culturele factoren in evacuatie simulaties Dr. Natalie van der Wal Uit de praktijk blijkt dat weinig mensen direct overgaan tot actie als het brandalarm afgaat. Het zal wel een oefening zijn,

Nadere informatie

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders.

Zo gaat jouw kunstwerk er straks uitzien. Of misschien wel heel anders. Spirograaf in Python Een kunstwerk maken Met programmeren kun je alles maken! Ook een kunstwerk! In deze les maken we zelf een kunstwerk met Python. Hiervoor zal je werken met herhalingen en variabelen.

Nadere informatie

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013 Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag Januari 20 Opgave. Python Gegeven is de volgende (slechte) Python code:. def t(x): 2. def p(y):. return x*y

Nadere informatie

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

Samenvatting door Hidde 506 woorden 31 maart keer beoordeeld. Biologie Hoofdstuk 14: Zenuwstelsel Centraal zenuwstelsel Samenvatting door Hidde 506 woorden 31 maart 2017 0 keer beoordeeld Vak Biologie Biologie Hoofdstuk 14: Zenuwstelsel 14.1 Centraal zenuwstelsel Zenuwstelsel bestaat uit 2 delen: - centraal zenuwstelsel

Nadere informatie

H2 Bouw en functie. Alle neuronen hebben net als gewone cellen een gewone cellichaam.

H2 Bouw en functie. Alle neuronen hebben net als gewone cellen een gewone cellichaam. Soorten zenuw cellen Neuronen H2 Bouw en functie Alle neuronen hebben net als gewone cellen een gewone cellichaam. De informatie stroom kan maar in een richting vloeien, van dendriet naar het axon. Dendrieten

Nadere informatie

Thema 3 Techniek om ons heen

Thema 3 Techniek om ons heen Naut samenvatting groep 8 Mijn Malmberg Thema 3 Techniek om ons heen Samenvatting Robots Robots zijn vooral geschikt voor saai, zwaar of gevaarlijk werk of voor werk dat mensen niet makkelijk zelf kunnen.

Nadere informatie

Tentamen in2205 Kennissystemen

Tentamen in2205 Kennissystemen TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica Tentamen in2205 Kennissystemen 21 Januari 2008, 14:00 17:00 Het gebruik van boek of aantekeningen tijdens dit tentamen is

Nadere informatie

Friendly Functions and Shared BDD s

Friendly Functions and Shared BDD s Friendly Functions and Shared BDD s Bob Wansink 19 Juni 2010 Deze notitie behandelt pagina s 81 tot 84 van The Art of Computer Programming, Volume 4, Fascicle 1 van Donald E. Knuth. Inhoudelijk gaat het

Nadere informatie

Samenvatting. Figuur 1. Een T cel gemedieerde immuun response. APC: antigen presenterende cel; Ag: antigen; TCR: T cel receptor.

Samenvatting. Figuur 1. Een T cel gemedieerde immuun response. APC: antigen presenterende cel; Ag: antigen; TCR: T cel receptor. Samenvatting Het immuunsysteem Het menselijke lichaam bevat een uniek systeem, het immuunsysteem, wat ons beschermt tegen ongewenste en schadelijk indringers (ook wel lichaamsvreemde substanties of pathogenen

Nadere informatie

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12 Katern 2 Getaltheorie Inhoudsopgave 1 Delers 1 2 Deelbaarheid door 2, 3, 5, 9 en 11 6 3 Grootste gemene deler en kleinste gemene veelvoud 12 1 Delers In Katern 1 heb je geleerd wat een deler van een getal

Nadere informatie

Hoorcollege 1: De bouwstenen van het brein en communicatie

Hoorcollege 1: De bouwstenen van het brein en communicatie Hoorcollege 1: De bouwstenen van het brein en communicatie Hoofdstuk 1 en 2. De mens is een combinatie van neuraal weefsel, elektriciteit, chemie; een bewegend lichaam in interactie met een wereld. In

Nadere informatie

Maak van je tabel een database. Handleiding van Helpmij.nl

Maak van je tabel een database. Handleiding van Helpmij.nl Maak van je tabel een database. Handleiding van Auteur: CorVerm September 2008 handleiding: Maak van je tabel een database. Database in Excel. Zoals alle vorige afleveringen is ook deze aflevering weer

Nadere informatie

Inleiding Digitale Techniek

Inleiding Digitale Techniek Inleiding Digitale Techniek Week 4 Binaire optellers, tellen, vermenigvuldigen, delen Jesse op den Brouw INLDIG/25-26 Optellen Optellen is één van meest gebruikte rekenkundige operatie in digitale systemen.

Nadere informatie

Uitwerking tentamen Analyse van Algoritmen, 29 januari

Uitwerking tentamen Analyse van Algoritmen, 29 januari Uitwerking tentamen Analyse van Algoritmen, 29 januari 2007. (a) De buitenste for-lus kent N = 5 iteraties. Na iedere iteratie ziet de rij getallen er als volgt uit: i rij na i e iteratie 2 5 4 6 2 2 4

Nadere informatie

De hersenen, het ruggenmerg en hun bloedvaten worden beschermd door drie vliezen.

De hersenen, het ruggenmerg en hun bloedvaten worden beschermd door drie vliezen. Samenvatting door R. 1795 woorden 30 maart 2016 6,7 11 keer beoordeeld Vak Methode Biologie Nectar Biologie samenvatting hoofdstuk 14 zenuwstelsel 14.1 centraal zenuwstelsel het zenuwstelsel bestaat uit

Nadere informatie

Rekenen aan wortels Werkblad =

Rekenen aan wortels Werkblad = Rekenen aan wortels Werkblad 546121 = Vooraf De vragen en opdrachten in dit werkblad die vooraf gegaan worden door, moeten schriftelijk worden beantwoord. Daarbij moet altijd duidelijk zijn hoe de antwoorden

Nadere informatie

Samenvatting Biologie Thema 6

Samenvatting Biologie Thema 6 Samenvatting Biologie Thema 6 Samenvatting door Saar 879 woorden 10 april 2018 0 keer beoordeeld Vak Biologie Aantekeningen Biologie P3: Homeostase en regelkringen: Bij meercellige organismen: de cellen

Nadere informatie

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester.

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester. In onderstaande oefeningen zijn kleuren gebruikt. Deze dienen aleen om de structuren makkelijker terug te kunnen herkennen. Ze worden niet standaard zo gebruikt. De dunne rood/roze balken zijn ook geen

Nadere informatie

en-splitsingen: een aantal alternatieven worden parallel toegepast, of-splitsingen: van een aantal alternatieven wordt er één toegepast,

en-splitsingen: een aantal alternatieven worden parallel toegepast, of-splitsingen: van een aantal alternatieven wordt er één toegepast, Kansrekening voor Informatiekunde, 25 Les 8 Proces analyse Veel processen laten zich door netwerken beschrijven, waarin knopen acties aangeven en opdrachten langs verbindingen tussen de knopen verwerkt

Nadere informatie

We zullen in deze les kijken hoe we netwerken kunnen analyseren, om bijvoorbeeld de volgende vragen te kunnen beantwoorden:

We zullen in deze les kijken hoe we netwerken kunnen analyseren, om bijvoorbeeld de volgende vragen te kunnen beantwoorden: Wiskunde voor kunstmatige intelligentie, 24 Les 5 Proces analyse Veel processen laten zich door netwerken beschrijven, waarin een aantal knopen acties aangeeft en opdrachten langs verbindingen tussen de

Nadere informatie

STROOMDIAGRAMMEN. Hoofdstuk 8. Hoe je Galgje moet spelen. Voorbeelduitvoer van Galgje. Hoofdstuk 8 Stroomdiagrammen 67

STROOMDIAGRAMMEN. Hoofdstuk 8. Hoe je Galgje moet spelen. Voorbeelduitvoer van Galgje. Hoofdstuk 8 Stroomdiagrammen 67 Hoofdstuk 8 STROOMDIAGRAMMEN Hoofdstuk 8 Stroomdiagrammen 67 In dit hoofdstuk behandelen we: Hoe je Galgje moet spelen ASCII-tekeningen Een programma ontwerpen met behulp van stroomdiagrammen In dit hoofdstuk

Nadere informatie

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

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Beknopte uitwerking Examen Neurale Netwerken (2L490) d.d. 11-8-2004. TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica Beknopte uitwerking Eamen Neurale Netwerken (2L490) d.d. 11-8-2004. 1. Beschouw de volgende configuratie in het platte vlak. l 1 l 2

Nadere informatie

DEC SDR DSP project 2017 (2)

DEC SDR DSP project 2017 (2) DEC SDR DSP project 2017 (2) Inhoud: DSP software en rekenen Effect van type getallen (integer, float) Fundamenten onder DSP Lezen van eenvoudige DSP formules x[n] Lineariteit ( x functie y dus k maal

Nadere informatie

8. Analyseren van samenhang tussen categorische variabelen

8. Analyseren van samenhang tussen categorische variabelen 8. Analyseren van samenhang tussen categorische variabelen Er bestaat een samenhang tussen twee variabelen als de verdeling van de respons (afhankelijke) variabele verandert op het moment dat de waarde

Nadere informatie

Projectieve Vlakken en Codes

Projectieve Vlakken en Codes Projectieve Vlakken en Codes 1. De Fanocode Foutdetecterende en foutverbeterende codes. Anna en Bart doen mee aan een spelprogramma voor koppels. De ene helft van de deelnemers krijgt elk een kaart waarop

Nadere informatie

Space Invaders op de micro:bit

Space Invaders op de micro:bit Space Invaders op de micro:bit Op het eerste gezicht denk je misschien dat je met een scherm van vijf bij vijf ledjes niet zoveel kunt doen, maar dat valt best nog wel mee. Om dat aan te tonen gaan we

Nadere informatie

Uitleg van de Hough transformatie

Uitleg van de Hough transformatie Uitleg van de Hough transformatie Maarten M. Fokkinga, Joeri van Ruth Database groep, Fac. EWI, Universiteit Twente Versie van 17 mei 2005, 10:59 De Hough transformatie is een wiskundige techniek om een

Nadere informatie

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.

Uitleg. Welkom bij de Beverwedstrijd 2006. Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Uitleg Welkom bij de Beverwedstrijd 2006 Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden. Je krijgt 5 vragen van niveau A, 5 vragen van niveau B en 5 vragen van niveau C. Wij denken

Nadere informatie

Samenvatting Impliciet leren van kunstmatige grammatica s: Effecten van de complexiteit en het nut van de structuur

Samenvatting Impliciet leren van kunstmatige grammatica s: Effecten van de complexiteit en het nut van de structuur Samenvatting Impliciet leren van kunstmatige grammatica s: Effecten van de complexiteit en het nut van de structuur Hoewel kinderen die leren praten geen moeite lijken te doen om de regels van hun moedertaal

Nadere informatie

Basistechnieken Microsoft Excel in 15 minuten

Basistechnieken Microsoft Excel in 15 minuten Basistechnieken Microsoft Excel in 15 minuten Microsoft Excel is een rekenprogramma. Je kan het echter ook heel goed gebruiken voor het maken van overzichten, grafieken, planningen, lijsten en scenario's.

Nadere informatie

Een speelvriendje op batterijen: hoe gaan kinderen om met robots?

Een speelvriendje op batterijen: hoe gaan kinderen om met robots? Behavioural Science Institute Afdeling Sociale en Cultuurpsychologie Een speelvriendje op batterijen: hoe gaan kinderen om met robots? Terugkoppeling onderzoeksresultaten mei-juni 2016 Sari Nijssen, promovenda

Nadere informatie

Lab Webdesign: Javascript 3 maart 2008

Lab Webdesign: Javascript 3 maart 2008 H5: OPERATORS In dit hoofdstuk zullen we het hebben over de operators (of ook wel: operatoren) in JavaScript waarmee allerlei rekenkundige en logische bewerkingen kunnen worden uitgevoerd. Daarbij zullen

Nadere informatie

5. Functies. In deze module leert u:

5. Functies. In deze module leert u: 5. Functies In deze module leert u: - Wat functies zijn; - Functies uitvoeren; - De verschillende functies van Calc kennen. - Naar een ander werkblad verwijzen. U kunt eenvoudige berekeningen, zoals aftrekken,

Nadere informatie

Waarschijnlijk wel, want er zit niet veel informatie in de klinkers. Deze activiteit laat een manier zien om de hoeveelheid informatie te meten.

Waarschijnlijk wel, want er zit niet veel informatie in de klinkers. Deze activiteit laat een manier zien om de hoeveelheid informatie te meten. Activiteit 5 Twintig keer raden Informatie theorie Samenvatting Hoeveel informatie zit er in een boek van 1000 pagina s? Zit er meer informatie in een telefoonboek van 1000 bladzijden, of in een stapel

Nadere informatie

Anatomie / fysiologie. Zenuwstelsel overzicht. Perifeer zenuwstelsel AFI1. Zenuwstelsel 1

Anatomie / fysiologie. Zenuwstelsel overzicht. Perifeer zenuwstelsel AFI1. Zenuwstelsel 1 Anatomie / fysiologie Zenuwstelsel 1 FHV2009 / Cxx56 1+2 / Anatomie & Fysiologie - Zenuwstelsel 1 1 Zenuwstelsel overzicht Encephalon = hersenen Spinalis = wervelkolom Medulla = merg perifeer centraal

Nadere informatie

Grafieken van veeltermfuncties

Grafieken van veeltermfuncties (HOOFDSTUK 43, uit College Mathematics, door Frank Ayres, Jr. and Philip A. Schmidt, Schaum s Series, McGraw-Hill, New York; dit is de voorbereiding voor een uit te geven Nederlandse vertaling). Grafieken

Nadere informatie

Aanvullende tekst bij hoofdstuk 1

Aanvullende tekst bij hoofdstuk 1 Aanvullende tekst bij hoofdstuk 1 Wortels uit willekeurige getallen In paragraaf 1.3.5 hebben we het worteltrekalgoritme besproken. Dat deden we aan de hand van de relatie tussen de (van tevoren gegeven)

Nadere informatie

Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten

Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten Netwerkdiagram voor een project. AON: Activities On Nodes - activiteiten op knooppunten Opmerking vooraf. Een netwerk is een structuur die is opgebouwd met pijlen en knooppunten. Bij het opstellen van

Nadere informatie

1. Welke rol heeft Cajal gespeeld in de geschiedenis van de Neurowetenschappen?

1. Welke rol heeft Cajal gespeeld in de geschiedenis van de Neurowetenschappen? Tentamen Neurobiologie 29 juni 2007 9.00 12.00 hr Naam: Student nr: Het tentamen bestaat uit 28 korte vragen. Het is de bedoeling dat u de vragen beantwoordt in de daarvoor gereserveerde ruimte tussen

Nadere informatie

Artificiële intelligentie 1 ( ) Voorbeelden van examenvragen

Artificiële intelligentie 1 ( ) Voorbeelden van examenvragen Artificiële intelligentie 1 (2002-2003) Voorbeelden van examenvragen Tony Belpaeme, Bart de Boer, Bart De Vylder, Bart Jansen Vraag 1. Wat zal het effect zijn van een convolutiekernel a. Contrast wordt

Nadere informatie

Mastermind met acht kleuren

Mastermind met acht kleuren Geschreven voor het vak: Wiskunde gedoceerd door H. Mommaerts Onderzoekscompetentie Mastermind met acht kleuren Auteurs: Tom Demeulemeester Pieter Van Walleghem Thibaut Winters 6LWIi 22 april 2014 1 Inleiding

Nadere informatie

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

- Denkt zoals een mens (activiteiten die we associëren met menselijk denken.) Samenvatting door S. 942 woorden 19 maart 2017 4,8 6 keer beoordeeld Vak Informatica Hoofdstuk 1: Een entiteit is intelligent wanneer het: - Denkt zoals een mens (activiteiten die we associëren met menselijk

Nadere informatie