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 • Neurale netwerken • Deep learning 2 Inleiding • Leren is een essentieel onderdeel van (kunstmatige) intelligentie - Flexibel gedrag - Jezelf verbeteren - Minder afhankelijk van reeds aanwezige kennis - Voorkom herhaling van dezelfde domme fouten 3 Definitie • Arthur Samuel (1959). “Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed” • Tom Mitchell (1998). “A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E” 4 Toepassingen automatische tagging spam filtering aanbevelingen doen 5 Toepassingen detectie van creditcard fraude spraakherkenning sterrenstelsels classificeren 6 Big Data: McKinsey 2011 Rapport 7 Deloitte advertorial 8 Waar kun je van leren? • Het wordt je verteld (programmeren) • Je krijgt voorbeelden (inductie) • Aan de hand van analogiën • Door zelf ervaringen op te doen 9 Lerende Agent (Russell & Norvig) 10 Lerende Agent (Poole & Mackworth) Learning agent 11 Soorten feedback • Supervised leren • Reinforcement leren • Unsupervised leren 12 Supervised leren pictures courtesy: Simon Dennis 13 Reinforcement leren 14 Unsupervised leren 15 Inhoud • Inleiding - Supervised, reinforcement, unsupervised leren • Neurale netwerken • Deep learning 16 Kunstmatige Neurale Netwerken • Computationele structuur bestaande uit individuele units • Individuele unit = “neuron” • Hersenstructuur als inspiratie • Model voor neurowetenschappen 17 Neuronen in onze hersenen • Synapsen van andere zenuwcellen laten transmitters vrij in de dendrieten (input) • Wanneer de electrische potentiaal in het soma over de drempel gaat, vuurt het neuron (trigger) en ... • wordt een actiepotentiaal via de axon naar andere neuronen gestuurd (output) 18 McCullogh-Pitts Neuron neuron output = een activatiefunctie van de input X1 1 if Z Z 0 if Z w1 … input van andere neuronen Xp synaptische sterkte 19 drempel Σ Z σ Y wp neuron input = gewogen som van inkomende activiteiten Z w1 X1 ... w j X j ... w p X p Geschiedenis • • • • • • • • • • • • • • • • 20 1943 McCulloch & Pitts: eerste studie van neurale netwerken 1948 Wiener: feedback loops 1949 Hebb: eerste neurale leerregel 1951 Minsky: eerste neurale netwerk systeem 1956 Geboorte van de Kunstmatige Intelligentie 1957 Rosenblatt: perceptron 1960 Widrow & Hoff: adaline 1960s Systemen bestaande uit perceptrons en adalines 1969 Minsky & Papert: “Perceptrons” 1969 Bryson & Ho: back-propagation 1970s Perceptron winter 1980s Connectionisme 1986 Rumelhart & McClelland: “Parallel Distributed Processing” 1990s Meer gebruik en begrip; NNs voor toepassingen versus hersenmodellen 2000s “Gewoon” een van de machine learning technieken ||| Meer gedetailleerde hersenmodellen 2010s Revival van diepe neurale netwerken ||| Enorme neurale architecturen Meerlaags perceptron • Bryson & Ho (1969), en vele anderen daarna: McCullogh-Pitts neuronen in verschillende lagen • Typisch één laag met verborgen (“hidden”) units • Feedforward model: geen cycles • Back-propagation leerregel • Hidden units leren zich te specialiseren om karakteristieke kenmerken te coderen (“high-level features”) • Output units combineren deze features tot een voorspelling/classificatie 21 Inhoud • Inleiding - Supervised, reinforcement, unsupervised leren • Neurale netwerken • Deep learning 22 Convolutionele Neurale Netwerken • Convolutie: matrixoperatie schuift over het beeld • Filters voor edge detection, blurring, sharpening • Neural netwerk leert nuttige filters • Herhalen: meer en meer lagen → diepe neurale netwerken 23 Unsupervised leren op Youtube frames Le et al., ICML 2012 24 Succesfactoren • Uitstekend parallelliseerbaar op GPUs: enorme rekenkracht • Grote datasets • Veel nieuwe slimme “trucs” (ReLU, dropout, batch normalization, ...) • Beschikbaarheid open source software, cursussen en tutorials • Voor computer vision, spraakherkenning, natuurlijke taalverwerking onverslaanbaar (maar niet daarbuiten...) 25 Conclusie • Meer rekenkracht, meer data, betere methoden, complexere modellen → betere systemen voor machinaal leren • Convolutionele neurale netwerken als paradepaardje: ideaal voor computer vision en andere taken met een lokale structuur in ruimte/tijd 26