KIKS Les 6 presentatie Deep neuraal netwerk 2023 PDF

Summary

This presentation explores the basics of deep neural networks, machine learning, and deep learning. It includes an example of training an AI to play checkers using machine learning principles. The presentation appears to be part of a KIKS notebook.

Full Transcript

Les 6 KIKS notebook Artificiële intelligentie Intelligentie Soorten AI ML en DL Maatschappelijke aspecten Presentatie Machine leren en Diep leren KIKS noteboek Deep learning – basis Opbouw diep neuraal netwerk Overfitting Machine learning and...

Les 6 KIKS notebook Artificiële intelligentie Intelligentie Soorten AI ML en DL Maatschappelijke aspecten Presentatie Machine leren en Diep leren KIKS noteboek Deep learning – basis Opbouw diep neuraal netwerk Overfitting Machine learning and deep learning Machinaal leren: checkers Eerste programma met vermogen tot leren: checkers door Arthur Samuel, IBM (1956) Programma bevat scoringsalgoritme dat punten geeft aan kenmerken van bordpositie Voorbeelden kenmerken: aantal stenen, aantal dammen, vrijheid om te bewegen, overmacht in het midden, enz. Elk kenmerk scoort punten Punten voor een gegeven kenmerk worden vermenigvuldigd met een gewicht Score van een positie is de som van de resulterende waarden Taak van de programmeur: Welke kenmerken worden gebruikt Hoe worden de kenmerken uitgedrukt in een getal? Welke waarde krijgen de gewichten? Machinaal leren: checkers Aanvankelijk raadt het algoritme waarden voor gewichten, vervolgens speelt de computer een groot aantal spellen tegen zichzelf (kopie van het programma) Principe 1: bekrachtiging winstgedrag: computer past de gewichten aan bij winst worden gewichten die positief bijdroegen iets vergroot en gewichten die negatief bijdroegen iets verkleind bij verlies het tegenovergestelde Principe 2: minimax-vooruitblikprocedure voor het kiezen van zetten Aanname: beide spelers doen hun best Kies de zet die bij computer leidt tot maximale score en bij tegenstander tot minimale score Vooruitblikboom met teruggerekende scores verkregen met minimaxalgoritme Wat is hier de beste zet van de computer als hij 2 zetten vooruitkijkt? (eigenlijk 2x halve zet = ply) computer optimale tegenstander zet met score 1 compu 1 3 -ter 7 5 6 kiest deze zet 1 3 101 11 2 8 7 10 6 10 11 8 9 5 6 Machinaal leren: checkers Aanvankelijk raadt het algoritme waarden voor gewichten, vervolgens speelt de computer een groot aantal spellen tegen zichzelf Principe 1: bekrachtiging winstgedrag: computer past de gewichten aan bij winst worden gewichten die positief bijdroegen iets vergroot en gewichten die negatief bijdroegen iets verkleind bij verlies het tegenovergestelde Principe 2: minimax-vooruitblikprocedure voor het kiezen van zetten Aanname: beide spelers doen hun best Kies de zet die bij computer leidt tot maximale score en bij tegenstander tot minimale score Principe 3: effectief gebruik computertijd door aanpassen breedte en diepte vooruitblik Onstabiele positie (bv. net voor een sprong): verder vooruitkijken Slechte positie: niet onderzoeken Minimaxscores van veel voorkomende bordposities staan in tabel In 1962 versloeg dit programma een checkermeester, in 1994 een ander programma de wereldkampioen Machine learning Zomaar een aantal voorbeelden van toepassingen van AI: Ahold Delhaize voorspelt boodschappenlijstjes van een bepaalde klant met AI; Autopiloot in een vliegtuig. Een Boeing wordt slechts enkele minuten hand-matig bestuurd, bij het opstijgen en het landen. In de toekomst: bij zelfrijdende auto’s zullen niet één, maar miljoenen AI-systemen gebruikt worden; E-mails worden door Gmail op een slimme manier verdeeld in categorieën: primair, sociaal, reclame; Chatbots: slimme persoonlijke assistenten, zoals Siri (om iets op te zoeken op internet of iets te helpen herinneren) en Alexa (om to-do-lijsten te maken, een online bestelling te plaatsen). Met stemcommando’s kan men muziek afspelen, updates krijgen van nieuwsberichten, een Uber bestellen en afspraken maken; Google zet AI in voor meer duurzaamheid. Google gebruikt AI Met statische Kennis van menselijke en data van satellieten om illegaal vissen te voorkomen. Iedere methodes worden experts wordt zoveel dag worden 22 miljoen datapunten verzameld die tonen waar patronen in relevante mogelijk in regels schepen wereldwijd zijn. Met machine learning achterhalen ze data opgespoord en gegoten om de kennis waarom een schip op zee is. Zo ontwikkelde Google de ‘Global dan gebruikt om van deze experts eigen Fishing Watch’ dat toont waar er gevist wordt en of dat illegaal nieuwe problemen op te maken aan een gebeurt; te lossen = machinaal expertsysteem Landbouw is de dag van vandaag een industrie waarbij AI- leren = ML systemen beslissen of een plant bestreden moet worden met Lerende algoritmes 1. Machine learning is een computerwetenschappelijke discipline waarin men vooral proefondervindelijk te werk gaat, waarbij men gebruikmaakt van principes uit de wiskundige statistiek 2. Een machine learning-systeem verwerft met lerende algoritmes kennis uit data om uitkomsten te voorspellen over nieuwe data. Deze voorspellingen worden gedaan met een bepaalde zekerheid. Een ML-systeem neemt zijn beslissingen dus niet op basis van vooraf in detail geprogrammeerde instructies 3. Lerende algoritmes zijn algoritmes waarbij het ML-systeem zelf gaandeweg aanpassingen doet aan de aanwezige parameters tijdens het leerproces, om geleidelijk aan te komen tot betere prestaties Vraag: hoe zat dat bij het checkers-programma uit 1958? 3 verschillende manieren van leren 1. Supervised learning: Het systeem leert uit een dataset waarbij elk gegeven bestaat uit twee componenten: een input gekoppeld aan een label (de verwachte output). Het labelen van de voorbeelden gebeurt handmatig door mensen (= annoteren). Het systeem voert een algoritme uit dat er geleidelijk aan voor zorgt dat het systeem focust op relevante patronen in de data. 2. Unsupervised learning De dataset bevat geen labels. Het AI-systeem moet op zoek naar kenmerken bij de verschillende voorbeelden en verdeelt ze door het ontdekken van patronen in klassen. Men biedt het systeem bv. ongelabelde foto’s aan van appels en peren. Het systeem zoekt patronen om de twee soorten fruit te onderscheiden 3. Reinforcement learning Het AI-systeem streeft naar een beloning. Om bv. goed te worden in een Chihuahua’s en muffins Deep learning (1) Deep learning (of diep neuraal netwerk) is een vorm van machine learning Een diep neuraal netwerk is opgebouwd uit lagen: een invoer- en een uitvoerlaag (input en output), met daartussen de verborgen lagen (hidden layers) waarvan de outputs niet worden getoond. Elke laag bevat eenheden (units), ook neuronen of knopen genoemd. Hoe meer lagen het netwerk bevat, hoe dieper het netwerk is. Het is een netwerk omdat er veel verschillende functies die een verband leggen tussen neuronen worden samengesteld Deep learning (2) toegepast op checkers Opbouw netwerk: input layer: bordpositie = posities van alle stenen hidden layer: bevat kenmerken van deze bordposities output layer: score van een bordpositie (getal) Kenmerken van de bordpositie in checkersprogramma: voorbeelden kenmerken: aantal stenen, aantal dammen, vrijheid om te bewegen, overmacht in het midden, enz. score van een positie is een door de programmeur bedachte lineaire functie: score = kenmerk1*gewicht1 + kenmerk2*gewicht2 +… Neuraal netwerk: Bepaalt zelf de inhoud van de neuronen = kernmerken tussen de posities stenen Bepaalt zelf de verbanden tussen de neuronen = uiteindelijke score Kan met meerdere verborgen lagen Deep learning (3) In elke laag werkt een lineaire functie in op de invoer van die laag. Deze lineaire functie wordt bepaald door meerdere parameters (of coëfficiënten), en wordt gevolgd door een niet-lineaire activeringsfunctie. De uitvoer van die laag dient als invoer van de volgende laag. Anders gezegd: elk neuron ontvangt informatie van de neuronen uit de vorige laag. Aan die informatie worden verschillende gewichten toegekend en afhankelijk van de activeringsfunctie belandt het neuron dan in een Typische voorbeelden van de bepaalde toestand. Zo gaat de informatie ‘voorwaarts’, activatiefunctie zijn: laag na laag. identiteitsfunctie: niets doen en de lineaire combinatie als output leveren; stapfunctie: als de waarde van de lineaire combinatie hoger is dan nul een Het algoritme van het netwerk moet de parameters van schokje afgeven (AAN) en anders niets de tussenliggende lagen zo aanpassen dat de beoogde doen (UIT); sigmoïde functie: een “zachte” versie output wordt oplevert. Dit vereist het berekenen van de van de stapfunctie. afgeleiden van de samengestelde functies. Ontwerpen neuraal netwerk Bij het ontwerpen van een neuraal netwerk, moet men nadenken over de architectuur: hoeveel lagen; hoeveel neuronen in elke laag; welke activeringsfuncties; hoe de prestatie van het netwerk worden gemeten Hoe meer parameters een netwerk heeft, hoe meer patronen het kan ontdekken. Maar men oppassen voor teveel parameters. Netwerken met teveel parameters zullen sneller overfitten. Een eenvoudiger netwerk is vaak een betere keuze. Trainen van een neuraal netwerk Data voor het trainen van een netwerk worden opgedeeld in een trainingsset (bv. 85% van de data) en een validatieset (15%) Netwerk leert aan de hand van de trainingsdata Trainingsdata worden een aantal keren doorlopen Gewichten tussen de functies worden steeds aangepast Uiteindelijke resultaat wordt getest met nieuwe data, namelijk de validatieset Netwerk trainen: keuzes! Epochs: hoeveel keer worden de volledige trainingsdata verwerkt Loss functie: beschrijft hoe goed een netwerk presteert: hoe lager hoe beter Is een functie van de gewichten. Tijdens training worden de gewichten gevarieerd met als doel een zo lage mogelijke loss functie Optimizer Hoe worden de gewichten aangepast om dichter bij het minimum van de loss functie te komen Learning rate Underfitting, just right, overfitting (1) The training loss geeft aan hoe goed het model de trainingsdata weergeeft. The validation loss indicates how well the model fits new data. Underfitting, just right, overfitting (2) Wanneer de training zou stoppen voor de meest linkse stippellijn, dan heb je een netwerk dat underfit. Wanneer de training zou stoppen na de meest rechtse stippellijn, heb je een netwerk dat overfit. Les 6 KIKS notebook Artificiële intelligentie Intelligentie Soorten AI ML en DL Maatschappelijke aspecten Presentatie Machine leren en Diep leren KIKS noteboek Deep learning – basis Stomateller Opbouw diep neuraal netwerk: gaat over stomata, lees de theorie en volg de grote lijn (je hoeft niet alle details te snappen) Overfitting WORDT NIET GEVRAAGD OP DE TOETS Deep learning (1) Deep learning (of diep neuraal netwerk) is een vorm van machine learning Een neuraal netwerk wordt opgebouwd door verschillende lagen aan elkaar te schakelen. Hoe meer lagen er zijn, hoe dieper het netwerk is. Het is een netwerk omdat er veel verschillende functies worden samengesteld Een diep neuraal netwerk bestaat uit lagen. In elke laag wordt de data als het ware gefilterd: de gegevens komen binnen in een bepaalde vorm en verlaten de laag in een meer bruikbare vorm WORDT NIET GEVRAAGD OP DE TOETS Convolutionele laag: filter Afbeelding: tensor 3 x 8x8 Filter: tensor 3 x 3x3 Patroon: tensor 1 x 6x6 WORDT NIET GEVRAAGD OP DE TOETS Convolutionele laag: meerdere filters De elementen van deze filters 1 filter worden aange-past tijdens het trainen van het model, met als doel het herkennen van relevante KIKS: Kleurenfoto 120x120 pixels patronen Geeft 3D-tensor 3 x 120x120 1 filter 3 x 3x3 dat steeds 1 positie Afbeelding: tensor 3 x 8x8 patroon tensor 1 x 6x6 verschuift geeft feature map 1 x 118x118 32 filters: Met 32 filters feature map 32 x 118x118 Feature map 32 x 6x6 WORDT NIET GEVRAAGD OP DE TOETS Max-pooling procedure Selecteer uit een venster met zelfgekozen afmetingen alleen de grootste waarde Doel van max pooling-operaties: de grootte van de uitvoer van de convolutionele lagen verkleinen meer informatie krijgen over een groter deel van de ingevoerde afbeelding. WORDT NIET GEVRAAGD OP DE TOETS Max-pooling doel Voorbeeld zonder max-pooling: Dit rode veld bevat alleen informatie uit 5x5 gebied in ingevoerde afbeelding Het KIKS-netwerk gebruikt max- pooling in velden met een lengte en breedte 2, hierdoor wordt de grootte van de 1 x 3x3 1 x 3x3 1 x 16x16 feature maps 1 x 20x20 1 x 18x18 verschuift 1 verschuift 1 door vier gedeeld door een max- pooling operatie; reduceert laatste matrix tot 1 x 8 x 8 WORDT NIET GEVRAAGD OP DE TOETS Dense layer doel: een afbeelding effectief classificeren een dense layer bestaat uit neuronen waarbij elk neuron is verbonden met elk neuron van de volgende feedforward laag. Aan elke verbinding tussen de neuronen van de opeenvolgende lagen is een bepaald getal toegekend, het gewicht van de verbinding. Je kan het geheel vergelijken met een lineaire functie die de invoer van een laag omzet naar de uitvoer van die laag, waarbij de neuronen de variabelen zijn van de functie en de gewichten van de verbindingen de coëfficiënten, m.a.w. een lineaire combinatie van de neuronen. Een netwerk leert door deze gewichten aan te passen a.d.h.v. de trainingsdata. Hoe meer neuronen, hoe meer informatie het netwerk kan opslaan. Te veel neuronen zijn echter ook niet altijd goed. Het netwerk kan dan irrelevante informatie over de trainingsdata opslaan en overfitten De elementen van de feature map van de laatste convolutionele laag vormen de invoer van de eerste dense layer via een flatten operatie Uitvoer De laatste laag is één neuron: de uitvoer of voorspelling van het netwerk Waarde van de uitvoer is een getal tussen 0 en 1; hoe dichter bij 1 hoe zekerder het netwerk (bij KIKS: 0 “geen stoma”; 1 “stoma”) De persoon die het netwerk opbouwt kiest een drempelwaarde: als de drempelwaarde wordt overschreden wordt een foto ingedeeld in een klasse (bij KIKS: “stoma”)

Use Quizgecko on...
Browser
Browser