Krijn Hoogendorp
Vaak wordt verondersteld dat iedereen weet wat Artificiële Intelligentie is, maar dat is niet het geval. Misschien twijfel jij ook over de precieze betekenis. Geen zorgen, dit boek gaat je helpen bij de verduidelijking van de term en je gaat er ook nog eens praktis ch mee aan de slag. Vanwege de maatschappelijke invloed is het van belang dat zoveel mogelijk mensen kennis krijgen en hebben over AI. Een goed opgeleide bevolking is belangrijk. AI zal daarom méér en méér onderdeel worden van het onderwijscurriculum. Het verkrijgen van AI kennis en vaardigheden bereidt voor op de toekomstige maatschappij en zorgt Voor extra kansen op de arbeidsmarkt. Goede redenen om het dit boek met aandacht te bestuderen. Maak samen werk van onderwijs Boom beroepsonderwijs wil jongeren helpen zich te ontwikkelen tot echte vakmensen. Wij zijn er voor de doeners en de makers. Om samen werk te maken van onderwijs verbinden wij docenten, studenten en het bedrijfsleven met elkaar. Zo zorgen we ervoor dat jongeren het beste uit zichzelf halen. Met inspirerend lesmateriaal voor een wereld die continu verandert. Dat maakt ons trots!
Let op: Dit boek is onderdeel van een combipakket en is niet afzonderlijk te bestellen. Het pakket bestaat uit dit boek en een licentie voor de digitale leeromgeving. Combipakket ISBN 9789037259193
9 789037 259209
Toegepaste artificiële intelligentie, data en Tensorflow
Toegepaste artificiële intelligentie, data en Tensorflow Artificiële Intelligentie (AI) is één van de belangrijke ontwikkelingen van deze tijd. Ongetwijfeld heb je over AI gelezen op het internet of in kranten. Je bent er zeker mee in aanraking geweest; met behulp van AI wordt bepaald welke video’s je krijgt aangeboden op sites zoals Netflix en welke reclame je ziet op Facebook of Google. AI ondersteunt doctoren bij het stellen van diagnoses, helpt bij het opsporen van misdaad, wordt gebruikt bij zelfrijdende auto’s en nog veel meer.
ICT
e p: ital t o dig ing Le f ev sie mg clu o In leer
Brinkmanict.info
Toegepaste artificiële intelligentie, data en Tensorflow
TOEGEPASTE ARTIFICIËLE INTELLIGENTIE, DATA EN TENSORFLOW
COLOFON Boom beroepsonderwijs info@boomberoepsonderwijs.nl www.boomberoepsonderwijs.nl Auteurs: Krijn Hoogendorp Titel: Toegepaste Artificiële Intelligentie, data en TensorFlow ISBN: 978 90 3725 9209, maakt deel uit van pakket 978 90 3725 9193 Raspberry Pi and the Raspberry Pi logo are trademarks of the Raspberry Pi Foundation. TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc. Cognimates is a project that started at MIT Media Lab by Stefanie Druga. .NET is a Microsoft product. SWI-Prolog is ontwikkeld door Jan Wielemaker aan de Universiteit van Amsterdam. Eerste druk/eerste oplage © Boom beroepsonderwijs 2021 Behoudens de in of krachtens de Auteurswet gestelde uitzonderingen mag niets uit deze uitgave worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand, of openbaar gemaakt, in enige vorm of op enige wijze, hetzij elektronisch, mechanisch, door fotokopieën, opnamen of enige andere manier, zonder voorafgaande schriftelijke toestemming van de uitgever. Voor zover het maken van reprografische verveelvoudigingen uit deze uitgave is toegestaan op grond van artikel 16h Auteurswet dient men de daarvoor wettelijk verschuldigde vergoedingen te voldoen aan de Stichting Reprorecht (www.reprorecht.nl). Voor het overnemen van gedeelte(n) uit deze uitgave in compilatiewerken op grond van artikel 16 Auteurswet kan men zich wenden tot de Stichting PRO (www.stichting-pro.nl). De uitgever heeft ernaar gestreefd de auteursrechten te regelen volgens de wettelijke bepalingen. Degenen die desondanks menen zekere rechten te kunnen doen gelden, kunnen zich alsnog tot de uitgever wenden. Door het gebruik van deze uitgave verklaart u kennis te hebben genomen van en akkoord te gaan met de specifieke productvoorwaarden en algemene voorwaarden van Boom beroepsonderwijs, te vinden op www.boomberoepsonderwijs.nl
INHOUD Inleiding .............................................................................................................. 6 Hoofdstuk 1 AI-en-algoritmes .............................................................................................. 10 Theoriebron-Maatschappelijke-gevolgen ........................................................ 11 Theoriebron-Algoritmes .................................................................................... 12 Theoriebron-Artificiële-Intelligentie ................................................................. 13 Theoriebron-De-'intelligentie'-van-machines ................................................. 14 Theoriebron-De-Dartmouth-conferentie ......................................................... 15 Theoriebron-Sterke-en-zwakke-AI ................................................................... 16 Theoriebron-Vroege-AI:-Eliza-en-MYCIN .......................................................... 17 Theoriebron-AI-winters-en-lente ...................................................................... 19 Theoriebron-2011-tot-nu:-Deep-Learning-en-Big-Data .................................. 21 Begrippen ........................................................................................................... 23 Hoofdstuk 2 Spelen-met-AI:-Cognimates ........................................................................... 25 Theoriebron-Cognimates .................................................................................. 26 Theoriebron-Variabelen .................................................................................... 30 Theoriebron-De-ALS-DAN-constructie ............................................................. 33 Theoriebron-AI-in-Cognimates ......................................................................... 37 Theoriebron-Zelf-een-model-maken-met-Cognimates .................................. 38 Theoriebron-Beeldherkenning ......................................................................... 41 Begrippen ........................................................................................................... 42 Hoofdstuk 3 Python-en-Google-Colab ................................................................................ 44 Theoriebron-Google-Colab ............................................................................... 46 Theoriebron-Data-in-lists .................................................................................. 51 Theoriebron-Data-in-dictionaries .................................................................... 52 Theoriebron-Bibliotheken ................................................................................ 53 Theoriebron-Functies ........................................................................................ 54 Begrippen ........................................................................................................... 60 Hoofdstuk 4 Machine-Learning ............................................................................................ 62 Theoriebron-Machine-Learning ........................................................................ 63 Theoriebron-Manieren-van-Machine-Learning ............................................... 63 Theoriebron-Technieken-van-Machine-Learning ............................................ 65 Theoriebron-Lineaire-regressie ........................................................................ 65 Theoriebron-k-Nearest-Neighbor ..................................................................... 68 Theoriebron-Artificiële-Neurale-Netwerken .................................................... 70 Theoriebron-MNIST-dataset ............................................................................. 72 Theoriebron-Introductie-van-TensorFlow ....................................................... 74 Theoriebron-Rekenen-met-TensorFlow .......................................................... 75 Theoriebron-Werken-met-TensorFlow ............................................................ 78 Begrippen ........................................................................................................... 82
3
Hoofdstuk 5 Databibliotheken-voor-Python ..................................................................... 84 Theoriebron-NumPy-Arrays .............................................................................. 85 Theoriebron-NumPy-en-Lineaire-Regressie .................................................... 87 Theoriebron-Pandas ......................................................................................... 89 Theoriebron-Matplotlib ..................................................................................... 91 Theoriebron-Datasets-(sklearn) ....................................................................... 94 Begrippen ........................................................................................................... 98 Hoofdstuk 6 Meer-over-Machine-Learning ........................................................................ 99 Theoriebron-MNIST:-Een-eenvoudige-dataset .............................................. 100 Theoriebron-Dataset-zichtbaar-maken ......................................................... 102 Theoriebron-Model-met-TensorFlow-en-Keras ............................................. 104 Begrippen ......................................................................................................... 109 Hoofdstuk 7 Analyse-van-data-met-Kaggle ..................................................................... 111 Theoriebron-Introductie-Titanic .................................................................... 112 Theoriebron-De-beschikbare-data ................................................................. 115 Theoriebron-Importeer-csv-bestanden ......................................................... 119 Theoriebron-Bestanden-analyseren .............................................................. 121 Theoriebron-Bestanden-aanpassen .............................................................. 125 Theoriebron-Opschonen-dataset ................................................................... 133 Begrippen ......................................................................................................... 135 Hoofdstuk 8 Verbreding:-Raspberry-Pi-en-TensorFlow ................................................ 137 Theoriebron-Raspberry-Pi-gereedmaken-voor-Tensorflow ......................... 139 Theoriebron-Beeldherkenning-met-de-Raspberry-Pi ................................... 140 Theoriebron-Sneller-met-de-Edge-TPU ......................................................... 145 Theoriebron-Testen-van-de-TPU ................................................................... 149 Begrippen ......................................................................................................... 151 Hoofdstuk 9 Verbreding:-ML.NET-en-C# .......................................................................... 152 Theoriebron-Een-tekstmodel-met-ML.NET ................................................... 157 Theoriebron-ML.NET-en-beeldherkenning .................................................... 166 Begrippen ......................................................................................................... 171 Hoofdstuk 10 Verbreding:-Swift-en-TensorFlow .............................................................. 172 Theoriebron-Gebruik-van-Swift ...................................................................... 173 Theoriebron-De-Iris-dataset ........................................................................... 177 Theoriebron-Machine-learning-met-Swift ..................................................... 180 Theoriebron-Swift-en-Matplotlib ................................................................... 183 Begrippen ......................................................................................................... 184 Hoofdstuk 11 Verbreding:-Prolog,-logica-en-statistiek ................................................... 185 Theoriebron-Expertsystemen-en-logica ........................................................ 186 Theoriebron-Prolog ......................................................................................... 188 Theoriebron-Deductie-en-inductie ................................................................ 191 Theoriebron-Bayesiaanse-statistiek .............................................................. 192 Theoriebron-Speltheorie ................................................................................ 194 Theoriebron-Nash-evenwicht-en-AI ............................................................... 196 Theoriebron-Minimax-en-Alpha-beta-pruning .............................................. 198 Begrippen ......................................................................................................... 201
4
Hoofdstuk 12 Optioneel:-Python-TensorFlow-op-eigen-computer ............................... 202 Installeren-overige-software .......................................................................... 207 Index ................................................................................................................. 208
5
INLEIDING Digitale leeromgeving Bij sommige opdrachten heb je hulpmiddelen nodig. Bijvoorbeeld filmpjes, formulieren of een link naar een website. Deze staan allemaal in de digitale leeromgeving. Dit icoontje verwijst naar de digitale leeromgeving. Om hier te komen ga je naar digitaal.boomonderwijs.nl/beroepsonderwijs. Eerste keer inloggen in de digitale omgeving Voordat je de digitale leeromgeving kunt gebruiken moet je je licentie activeren. • Overleg met je docent welk type account je gebruikt. • Ga naar www.boomberoepsonderwijs.nl/licentie. • Bekijk de instructiefilm of lees het stappenplan. • Volg de stappen. Daarna kun je aan de slag!
Toegepaste Artificiële Intelligentie, data en TensorFlow Artificiële Intelligentie (AI) is één van de belangrijke ontwikkelingen van deze tijd. Misschien heb je over AI gelezen op het internet of in kranten. Je bent er zeker mee in aanraking geweest. Met behulp van AI wordt bepaald welke video's je krijgt aangeboden op sites zoals Netflix en welke reclame je ziet op Facebook of Google. AI ondersteunt doktoren bij het stellen van diagnoses, helpt bij het opsporen van misdaad, wordt gebruikt bij zelfrijdende auto's en nog veel meer.
Bron: NRC Handelsblad 19-02-2020
De wiskunde die wordt gebruikt om AI te laten werken is ingewikkeld. Er zijn snelle computers nodig om de AI-berekeningen uit te kunnen voeren. De voortdurende verbetering van computerhardware is daarom van grote invloed bij opkomst van AI. Het is de verwachting dat er nog grotere ontwikkelingen aan komen. Een topman van Google (Sundar Pichai) gelooft dat AI één van de belangrijkste onderwerpen is waar de mensheid aan werkt. Het zal meer impact zal hebben dan elektriciteit of vuur.
6
Zo'n grote verandering maakt veel mensen onzeker. Is Nederland wel voorbereid op deze ontwikkeling? Gaan bedrijven hun productie naar het buitenland verplaatsen als we niet klaar zijn voor AI? En, is het een ramp als persoonlijke gegevens van inwoners in handen komen van buitenlandse bedrijven? Ook is er twijfel of het gebruik van dit soort kunstmatige intelligentie niet te veel invloed heeft en of AI-software wel te vertrouwen is.
In de Verenigde Staten wordt het AI-computerprogramma COMPAS gebruikt als ondersteuning voor rechters bij het bepalen van de straffen, Echter, uit onderzoek bleek dat de etnische achtergrond van verdachten een te grote rol speelde bij de beoordeling door COMPAS. De conclusie was dat COMPAS discriminatie in de hand werkt. Filmpje over de nadelen van COMPAS bij het bepalen van de strafmaat van verdachten.
Vanwege de invloed op de maatschappij is het belangrijk dat zo veel mogelijk mensen kennis hebben over AI. Een goed opgeleide bevolking is noodzakelijk. AI zal daarom meer en meer onderdeel worden van het onderwijsprogramma. Kortom, leren over AI is een voorbereiding op de toekomstige maatschappij. AI-vaardigheden zorgen dus voor kansen op de arbeidsmarkt, maar belangrijker nog: je eigen AI-project uitvoeren is vooral leuk. En dat niet alleen, het is ook een uitdaging. AI is geen makkelijk onderwerp maar je zal al snel je eigen applicaties kunnen bouwen.
De nationale AI-cursus Om AI-kennis te verspreiden is in 2019 de Nationale AI-Cursus ontwikkeld. Een echte aanrader. Dit lesmateriaal is een praktische aanvulling op de Nationale AI-cursus. Zie de website.
Opbouw In dit lesmateriaal wordt de basistheorie van AI behandeld. Je gaat snel zelf applicaties maken. Het ingewikkelde onderwerp wordt zo eenvoudig mogelijk uitgelegd. Na het doorwerken van het materiaal heb je voldoende kennis om de kansen en gevaren van AI te herkennen. De hoofdstukken kunnen voor een groot deel onafhankelijk van elkaar worden bestudeerd. En je kunt kiezen op welk niveau je wilt werken. In hoofdstuk 1 wordt kort de geschiedenis van AI beschreven, er wordt uitgelegd wat AI is en er is aandacht voor de achterliggende theorieën. In hoofdstuk 2 is er al de mogelijkheid om, met de programmeertaal Cognimates, zelf een AI-applicatie te maken. Dit onderdeel is vooral geschikt voor beginners in programmeren. Gevorderde programmeurs zullen liever aan de slag gaan met Python in latere hoofdstukken. Hoofdstuk 3 helpt je, indien nodig, met het activeren van Python-kennis. Je leert ook over Google Colab. Het hoofdstuk wordt afgesloten met een uitgebreid Python-programma voor het spelen van het spel boter-kaas-en-eieren.
7
Hoofdstuk 4 gaat over de theorie van machine learning; de AI-techniek waarbij systemen kunnen leren van data. Het bevat ook een korte introductie van TensorFlow. In hoofdstuk 5 leer je over data-analyse met behulp van Python-bibliotheken en in hoofdstuk 6 wordt die kennis toegepast op de bekende MNIST-dataset. Hoofdstuk 7 behandelt de website Kaggle. Deze site is heel geschikt om verder te komen met machine learning. In de drie volgende hoofdstukken wordt AI toegepast in verschillende contexten. Misschien ben je een liefhebber van de Raspberry Pi? In dat geval kun je aan de slag met de uitleg in hoofdstuk 8. Of je werkt al regelmatig met C# in een .NET omgeving; dan is hoofdstuk 9 iets voor jou. Voor de liefhebbers van programmeren voor Apple-producten is hoofdstuk 10 toegevoegd, waarin de programmeertaal Swift centraal staat. Hoofdstuk 11 gaat terug naar een wat traditionelere AI-techniek: expertsystemen. Bij dit soort implementaties wordt veel gebruikgemaakt van programmeertalen die geschikt zijn voor logische redeneren (logica), zoals Prolog. Er wordt nagebootst hoe experts conclusies trekken uit gebeurtenissen. Een interessant onderwerp voor mensen die graag nadenken. Tenslotte is er een uitleg over hoe je Python en TensorFlow ook op je eigen computer kunt installeren. De nadruk in het materiaal ligt op ontwikkeling met Python en de softwarebibliotheek TensorFlow. Ervaring met de Python-programmeertaal is heel handig, maar in de meeste gevallen zorgt de stap-voor-stapuitleg ervoor dat ook beginners kunnen volgen. AI gaat over algoritmes en data. Er is in de hoofdstukken zo veel mogelijk gebruik gemaakt van bekende datasets zoals MNIST. Ook wat betreft algoritmes en AI-modellen sluit het boek aan op veelgebruikte voorbeelden. In het verbredingshoofdstuk 9, over de Raspberry Pi, wordt gewerkt met het Linux-besturingssysteem. Dit kan lastig zijn, maar als je af en toe wat achtergrondinformatie opzoekt dan zal het zeker lukken om de voorbeelden te volgen en de opdrachten uit te voeren. Dit lesmateriaal is niet alleen bedoeld voor IT-specialisten zoals softwareontwikkelaars. Het onderwerp AI is breder dan alleen het computervakgebied. Tegenwoordig zijn AI-onderzoekers bezig in uiteenlopende werkvelden zoals de rechtspraak (juridische wereld), gezondheidszorg en in de logistiek.
AI Eurovisiesongfestival Er is zelfs een songfestival voor muziek geschreven door AI-algoritmes. Filmpje over het AI Eurovisiesongfestival.
8
Leerdoelen 1. Je begrijpt de maatschappelijke relevantie van AI (positief en negatief). 2. Je hebt basiskennis over de ontwikkeling van AI. 3. Je kunt uitleg geven over expertsystemen, machine learning-modellen en neurale netwerken. 4. Je hebt praktische vaardigheden wat betreft het werken met Google Colab, Python, TensorFlow en Keras. 5. Je kunt data verwerken en analyseren met behulp van de Python-bibliotheken NumPy, Matplotlib en Pandas. 6. Je begrijpt het belang van snelle processoren voor het trainen van machine learning modellen. 7. Je hebt zelf meerdere AI-applicaties gemaakt met Cognimates en Python/TensorFlow. 8. Verbreding: je hebt geoefend met TensorFlow Lite in een edge computing omgeving (Raspberry Pi). 9. Verbreding: je weet hoe je machine learning kunt implementeren in ML.NET en/of Swift. 10. Verbreding: je kunt logicatechnieken als inductie en deductie toepassen in de taal Prolog.
9
HOOFDSTUK 1 AI EN ALGORITMES Vaak wordt verondersteld dat iedereen weet wat AI is, maar dat is niet het geval. Misschien twijfel jij ook over de precieze betekenis. AI is in ieder geval iets waar mensen invloed op kunnen hebben en dat is maar goed ook. De introductie van AI heeft nu al gevolgen voor de maatschappij en het belang van AI zal alleen maar toenemen. Het zijn mensen die uiteindelijk bepalen welke regels gevolgd worden door de AI-systemen. Dit hoofdstuk gaat over wat AI is en waarom het belangrijk is om je hierin te verdiepen.
Aan het eind van dit hoofdstuk 1. 2. 3. 4. 5.
kun je uitleggen wat bedoeld wordt met de maatschappelijke relevantie van AI kun je de begrippen AI en algoritme uitleggen weet je het verschil tussen zwakke (narrow) en sterke (general) AI kun je redenen geven waarom de overheid wil dat meer mensen over AI leren kun je enkele belangrijke ontwikkelingen in de geschiedenis van AI noemen.
Opdracht 1 Suggesties aan gebruikers YouTube laat op de beginpagina suggesties zien voor video's. Vaak hebben deze opties te maken met wat er al eerder is bekeken door de gebruiker. Soms zitter er echter verrassende aanbevelingen tussen, bijvoorbeeld over muziek van onbekende artiesten en genres. Ook deze suggesties worden gegenereerd door AI. Leg uit waarom een AI-systeem soms video's voorstelt over onderwerpen of personen waar de gebruiker tot dan toe geen interesse in heeft laten zien?
Theoriebron Maatschappelijke gevolgen China is een wereldleider op het gebied van AI. Het land beschikt over goed opgeleide experts en veel Chinese bedrijven zijn bezig met het ontwikkelen van AI-oplossingen. In Europa zijn privacy en andere burgerrechten discussiepunten die de introductie van AI vertragen, maar daar heeft de Chinese overheid een andere mening over. AI-technieken worden volop ingezet voor het monitoren van inwoners en bezoekers. In de wereldstad Shenzhen bijvoorbeeld wordt AI gebruikt om mensen te betrappen die bij rood licht oversteken. Het systeem herkent de gezichten van de overtreders. Voorstanders van zo'n systeem leggen de nadruk op het vergroten van de veiligheid door inzet van AI. Er is ook kritiek. Volgens de New York Times, een Amerikaanse krant, gebruikt China dit soort gezichtsherkenning ook om bepaalde bevolkingsgroepen te monitoren (etnisch profileren). Zo beschrijft de krant in een nieuwsbericht een product van het Chinese bedrijf CloudWalk, waarmee Oeigoeren kunnen worden geïdentificeerd. De Oeigoeren zijn een bevolkingsgroep in het oosten van China waarvan een deel streeft naar meer onafhankelijkheid van de Chinese regering in Peking. In China zijn er veel economische toepassingen met AI zoals afrekenen via gezichtsherkenning. Alipay, onderdeel van de Chinese multinational Alibaba, investeert de komende jaren zo’n 3 miljard Yuan (ongeveer 395 miljoen Euro) in de ontwikkeling van dit soort betaalsystemen. Het is dan ook niet verwonderlijk dat de Europese Unie zich zorgen maakt over de overheersing van Chinese (en Amerikaanse) bedrijven wat betreft AI. Europese bedrijven zouden volgens de EU belangrijke economische spelers op deze markten moeten zijn. Ook willen ze niet dat privé-data van Europese burgers in het bezit komt van overheden en bedrijven buiten Europa. Om Nederland een rol te laten spelen in de opkomende AI-technologie is de NLAIC opgericht. De NLAIC is een organisatie waarin overheid, bedrijven en (onderwijs)instellingen samenwerken om AI-activiteiten te stimuleren. Het doel is om mee te doen met de koplopers in Europa op het gebied van kennis en toepassingen van AI. Een groot obstakel bij de ontwikkeling van AI in Nederland is het gebrek aan personeel met de juiste opleiding. Jaarlijks zijn duizenden AI-specialisten nodig, maar elk jaar studeren slechts 700 AI-studenten af. Dat is veel te weinig, want AI wordt steeds belangrijker. Denk aan algoritmes om ziektes te detecteren in röntgenfoto’s, en aan AI-modellen die helpen bij het besturen van robots op de fabrieksvloer.
11
Opdracht 2 Beroepen die verdwijnen Er wordt gezegd dat een (groot) deel van de huidige beroepen in de toekomst niet meer zullen bestaan vanwege de opkomst van AI. Noem een beroep dat zou kunnen verdwijnen vanwege AI. Leg je antwoord uit. Noem ook een beroep dan niet vervangen zou kunnen worden door een AI-implementatie. Leg je antwoord uit.
Theoriebron Algoritmes Een algoritme is de verzameling stappen die nodig is om een doel te bereiken. Het oplossen van een wiskundig vraagstuk bestaat vaak uit een algoritme, maar ook bijvoorbeeld een recept voor een gerecht wordt soms als voorbeeld van een algoritme gebruikt. Door de opkomst van computers is de term algoritme steeds bekender geworden. Om een computer iets te laten doen moet gebruik worden gemaakt van heel duidelijke instructies, onderverdeeld in kleine stapjes. Deze instructies worden dan omgezet in een taal die de computer kan begrijpen. De ontwikkeling van AI-algoritmes heeft grote maatschappelijke consequenties (hoe mensen met elkaar omgaan in een samenleving). AI heeft invloed op de privacy van mensen, welke opleiding nodig is voor de arbeidsmarkt, de relatie tussen landen en nog veel meer. Het woord algoritme komt van de naam van de Perzische wiskundige Al-Khwarizmi ()خوارزمی die leefde rond het jaar 800 van onze jaartelling.
Al-Khwarizmi.
Opdracht 3 Een algoritme en data Uber is eigenaar van de Uber-app waarmee autobezitters 'taxiservices' aan klanten kunnen aanbieden. Uber gebruikt AI om op een efficiënte manier de klanten aan beschikbare chauffeurs te koppelen. In 2020 hebben vier Uber-chauffeurs een rechtszaak tegen het bedrijf aangespannen. De vier chauffeurs willen weten hoe het AI-algoritme van Uber bepaalt wie welke ritjes krijgt. Voor Uber is het AI-systeem van belang omdat zij door effectieve algoritmes voordeel hebben ten opzichte van andere bedrijven. Als het AI-systeem openbaar wordt dan kunnen concurrenten dit algoritme ook toepassen. Aan de andere kant zijn chauffeurs van mening dat de AI iets doet
12
Hoofdstuk 1 AI en algoritmes
met hun gegevens en dat zij daarom het recht hebben om te weten hoe hun gegevens worden gebruikt. Wat is jouw mening? Is het belang van Uber groter dan dat van de chauffeurs? Geef argumenten.
Theoriebron Artificiële Intelligentie Er zijn vele omschrijvingen van het begrip artificiële intelligentie (AI). In dit lesmateriaal gebruiken wij de volgende definitie: De term artificiële intelligentie omschrijft computersystemen die zelfstandig kunnen leren of beslissingen kunnen nemen. Het 'denken' van het menselijk brein wordt nagebootst. AI is overigens hetzelfde als kunstmatige intelligentie. Waarschijnlijk ben je ook begrippen als expertsystemen, machine learning (ML) en (artificiële) neurale netwerken tegengekomen. Deze technieken behoren alle tot AI en komen allemaal aan bod in dit materiaal. AI heeft te maken met data (in het Nederlands 'gegevens'). Met de opkomst van de gedigitaliseerde samenleving wordt data in computers opgeslagen en verwerkt. De hoeveelheid gedigitaliseerde gegevens is heel erg gegroeid. Men heeft het tegenwoordig over Big Data. Er is zo veel beschikbaar dat specialisten zoals datawetenschappers en data-analisten, zich de hele dag bezig houden met het organiseren van data en datastromen. De beschikbare informatie helpt bij het ontwikkelen van AI-systemen. Er zijn namelijk veel gegevens nodig om AI-systemen te trainen.
Verhouding tussen data en AI: Data science en Big Data overlapt dus met AI.
Opdracht 4 Leg het algoritme uit Een computerprogramma is dus een algoritme. In stapjes krijgt de computer opdrachten vanuit het programma. Wat gebeurt er in het volgende algoritme? Leg elke stap uit. varA = 10 varB = 15 varC = varA + varB print(varC)
13
Theoriebron De 'intelligentie' van machines Binnen de AI was er lang een gapend gat tussen de beloftes over wat AI allemaal zou gaan doen en wat er in het echt mee kon. Er werd gesproken over machines met een vergelijkbare en zelfs grotere intelligentie dan mensen, maar AI-programma’s kwamen niet verder dan het uitvoeren van heel eenvoudige taken. Bij gebrek aan technische mogelijkheden moesten AI-wetenschappers zich lange tijd beperken tot gedachtenexperimenten over wat er in de toekomst mogelijk zou kunnen zijn. Ze filosofeerden over vragen zoals "Wanneer is een machine intelligent?" Een van de grondleggers van het AI-vakgebied, Alan Turing, beschreef in 1950 een gedachte-experiment om te beoordelen wanneer een machine daadwerkelijk als ‘intelligent’ beschouwd zou kunnen worden.
Turing test Voor het uitvoeren van het Turing-experiment (de ‘imitation game’) zijn twee mensen en een computer nodig. Eén van de personen is de proefpersoon die als ondervrager meedoet. De ondervrager zit in een andere ruimte dan waar de andere persoon (X) en de computer (Y) zich bevinden. De ondervrager stelt vragen aan zowel X als Y. Hij weet niet welke van de twee een computer is. De computer is zo geprogrammeerd dat hij antwoorden moet geven die lijken op menselijke antwoorden. De ondervrager moet vervolgens raden wie van de twee een computer is: X of Y. Als verschillende ondervragers even vaak 'goed' als ' fout' raden wie de computer is, dan kan worden geoordeeld dat de machine intelligente antwoorden geeft. Alle AI-experts kennen het werk van Alan Turing. Hij vervulde ook een heldenrol in de Tweede Wereldoorlog door zijn werk met het ontcijferen van gecodeerde berichten van de nazi’s. Desondanks is hij vanwege zijn seksuele geaardheid vanaf 1952 op vernederende wijze behandeld door de Engelse overheid . Dit heeft mogelijk geleid tot zijn dood in 1954. In 2009 heeft de Engelse prime minister (minister-president) postuum excuses gemaakt.
In 2021 komt er in het Verenigd Koninkrijk een nieuw bankbiljet van 50 pond met de afbeelding van Alan Turing.
14
Hoofdstuk 1 AI en algoritmes
Turing is een beroemdheid in de AI-wereld en daarbuiten. In 2014 verscheen de film The Imitation Game over het leven van Turing. De Hollywoodproductie kreeg acht Oscar-nominaties en won in de categorie 'Best bewerkte script'. De hoogste onderscheiding in de informatica is vernoemd naar hem. Sinds 1990 bestaat ook de Loebner Prize, een wedstrijd die gebaseerd is op de Turing-test. De absolute hoofdprijs van 100.000 dollar gaat naar het computerprogramma dat daadwerkelijk de Turing-test kan doorstaan.
Opdracht 5 Loebner-prijs (opzoekvraag) In dit hoofdstuk wordt gesproken over de Loebner-prijs. Is deze prijs inmiddels al een keer uitgekeerd?
Theoriebron De Dartmouth-conferentie Het begrip AI is pas na het overlijden van Turing geïntroduceerd. Dit gebeurde tijdens de voorbereiding voor een conferentie in 1956 over denkende machines aan het Amerikaanse Dartmouth College. Het was de bedoeling dat de term AI een aantal ontwikkelingen samen zou brengen. AI betekende al vanaf het begin verschillende dingen. Het is dus niet vreemd dat er ook nu nog discussie is over wat het begrip precies inhoudt.
Voorstel voor Dartmouth-conferentie over AI. Niet alleen wetenschappers namen deel aan de conferentie, ook bedrijven waren geïnteresseerd. Bij IBM waren experts bezig met het ontwikkelen van algoritmes voor de denksporten schaken en dammen. De afzetmarkt voor dit soort systemen was beperkt, maar de betrokkenheid versterkte wel het imago van IBM als innovatief bedrijf. Toen in 1956 op televisie werd getoond hoe een een IBM-computer het damspel speelde, steeg de IBM-aandelenkoers met 15 punten. Nog steeds denken experts verschillend over de vraag in hoeverre machines intelligent kunnen zijn: "Can machines think?" Het verschil met de begindagen is dat er tegenwoordig veel meer mogelijk is met AI. De meeste experts houden zich nu voornamelijk bezig met de praktische implementatie van AI. Ze bemoeien zich minder met dit soort filosofische discussies. De invloedrijke Nederlandse computerwetenschapper Edsger Dijkstra zei over de discussie rond 'intelligente machines': "De vraag of machines kunnen denken is even relevant als de vraag of duikboten kunnen zwemmen."
15
Opdracht 6 The Man Machine De deelnemers van de Dartmouth AI-conferentie dachten dat alle aspecten van leren en intelligentie zo goed beschreven kunnen worden dat het mogelijk wordt om menselijk denken met machines te simuleren. Dit moment is nog niet aangebroken. Geloof jij dat het ooit mogelijk wordt om machines net zo 'intelligent' te maken als mensen? Waarom wel/niet? Geef voorbeelden.
Theoriebron Sterke en zwakke AI In veel films en literatuur komt AI voor in de vorm van machines die de mens overtreffen in intelligentie. Voorbeelden zijn de HAL9000 boordcomputer in 2001: A Space Odysssey en de cyborg (een combinatie van mens en machine) in Robocop. In deze gevallen gaat het om machines die ‘denken en redeneren’ zoals mensen. Dit wordt general of sterke AI genoemd. Sterke AI was (en is) waarover mensen fantaseerden als het ging over de toekomst ervan. Echter, in praktijk zijn er voorlopig alleen maar AI-systemen die één of een klein aantal beperkte taken goed uitvoeren. Voorbeelden zijn het vertalen van tekst of het onderverdelen van afbeeldingen in groepen (classificeren). Dit wordt narrow AI of zwakke AI genoemd. Als het systeem alleen heel snel data kan verwerken om vervolgens de beste keuze te maken (zoals bijvoorbeeld bij traditionele schaakcomputers) gaat het dan om intelligentie? Sommige experts vinden dat intelligentie iets anders is dan alleen heel snel data verwerken. Bij intelligentie hoort ook het leren van de situatie. Er is geen overeenstemming over de term 'intelligentie'. Er zijn verschillende definities in omloop voor zowel 'menselijke intelligentie' als voor artificiële intelligentie. Hoe beoordeel je dan in hoeverre machines intelligent zijn? Definities van artificiële intelligentie kun je in vier categorieën onderverdelen: 1. AI gaat over systemen die net zoals mensen kunnen denken. 2. AI gaat over systemen die zich gedragen als mensen. 3. AI gaat over systemen die rationeel kunnen denken (op basis van logica). 4. AI gaat over systemen die rationele beslissingen kunnen nemen (op basis van logica). Ongeacht het theoretisch onderscheid kunnen we stellen dat alle huidige AI-systemen van het zwakke (narrow) soort zijn: ze kunnen enkele specifieke taken op een intelligente manier uitvoeren. Zelfrijdende auto’s en zoekalgoritmen zijn voorbeelden van zwakke AI. Alleen in literatuur en films bestaan sterke (general) AI-systemen die de gelijke zijn van de mens of (soms) de mens overtreffen.
16
Hoofdstuk 1 AI en algoritmes
Opdracht 7 De Drie Wetten der Robotica In het boek 'I, Robot' beschrijft wetenschapper en sciencefictionauteur Isaac Asimov een wereld waarin robots een belangrijke rol spelen. In het boek staan drie regels over het samenleven tussen robots en mensen. Deze regels worden tegenwoordig de Drie Wetten der Robotica genoemd en hebben het denken over de ethische kant van AI beïnvloed. Dit zijn de wetten: 1. Een robot mag een mens geen letsel toebrengen en moet actie ondernemen om zulk letsel te voorkomen. 2. Een robot moet de opdrachten van mensen uitvoeren, behalve als deze in strijd zijn met de eerste wet. 3. Een robot moet zichzelf beschermen, behalve als dat in strijd is met de eerste en tweede wet. Als je die wetten leest, denk je dan dat de robots in het boek van Asimov behoren tot zwakke of tot sterke AI? Leg uit.
Theoriebron Vroege AI: Eliza en MYCIN Tot ongeveer 2010 was het aantal praktische implementaties van AI zeer beperkt, maar er werd wel mee geëxperimenteerd. Twee toepassingen die het vakgebied verder hebben gebracht waren Eliza, een chatprogramma, en MYCIN, een medisch programma. Eliza Chatprogramma's waarbij de computer antwoord geeft op vragen/opmerkingen van mensen zijn de afgelopen jaren flink verbeterd. Voorbeelden zijn Siri van Apple en Alexa van Amazon. De chatbot Eliza is een belangrijke voorloper van deze twee.
17
In 1964 begon de ontwikkeling van Eliza. Het algoritme leek een intelligent gesprek te kunnen voeren door delen van de tekst van gebruikers over te nemen in de reactie. Hiervoor werd gebruikgemaakt van patroonherkenning. Bij patroonherkenning kijkt de computer of er een patroon in de tekst van de gebruiker zit. Afhankelijk van het patroon kunnen bepaalde woorden gebruikt worden door de chatbot. In het voorbeeld hieronder kijkt de chatbot of tekst begint met ‘ik ben’. Zo ja, dan wordt het woord na 'ik ben' gebruikt in de nieuwe regel. Chatbot> Hoe voel je je vandaag? Gebruiker> Ik ben blij. Chatbot> Ben je hier omdat je je blij voelt? Een bekende implementatie van de chatbot Eliza was gebaseerd op de ideeën van psycholoog Carl Rogers. Rogers geloofde dat de oplossingen voor problemen van patiënten door de patiënten zelf voorgesteld moesten worden. In de Rogeriaanse therapie worden patiënten aangemoedigd om vrijuit te praten doordat de therapeuten steeds delen van hun verhaal herhalen. Met behulp van patroonherkenning werd deze therapie geïmplementeerd in Eliza.
Tip! Op de website kun je zelf experimenteren met Eliza.
Overigens is Eliza nog steeds niet vergeten. Dit is wat Siri, de AI-assistent van Apple, over haar zegt:
MYCIN Een ander succesvol AI-prototype was het expertsysteem MYCIN. Rond 1974 werd er nagedacht over een intelligent systeem dat zou kunnen helpen bij het kiezen van de juiste behandeling bij een infectie. Er werd onderzocht hoe doktoren te werk gingen bij het bepalen van de oorzaak van infecties. Deze stappen werden vervolgens in de software verwerkt. Kennis van experts werd gebruikt bij het ontwikkelen van het algoritme.
18
Hoofdstuk 1 AI en algoritmes
Een voorbeeld van de manier waarop het systeem werkt: • ALS de infectie direct in het bloed is terechtgekomen (dus niet via een andere locatie in het lichaam), • EN de bacteriekweek was in een schone (steriele) omgeving, • EN de oorsprong van de infectie ligt waarschijnlijk in het spijsverteringskanaal, • DAN is er een 0,7 kans dat het gaat om een bacteriële infectie. MYCIN volgt ALS-DAN-regels die lijken op hoe experts met de situatie omgaan. Met meer regels wordt het systeem steeds ingewikkelder. Binnen een ALS-DAN-regel kan weer een andere ALS-DAN-regel komen enzovoort. Voor een gewoon persoon lijkt het alsof zo'n heel ingewikkeld systeem 'slim' is. Echter, experts en programmeurs zullen niet zo snel zeggen dat het hier gaat om systemen die denken zoals mensen. Is MYCIN dan AI of niet?
Opdracht 8 Juridisch expertsysteem MYCIN wordt ook wel een expertsysteem genoemd. Beschrijf hoe een expertsysteem een rechter zou kunnen helpen bij het bepalen van een straf voor een winkeldief. Geef een voorbeeld van een ALS-DAN-constructie vergelijkbaar met het beschreven MYCIN-voorbeeld.
Theoriebron AI winters en lente Van 1956 tot begin jaren `70 van de vorige eeuw bestond er een groot optimisme over de mogelijkheden van AI, maar veel verwachtingen kwamen niet uit. In Groot-Brittannië concludeerde een invloedrijk wetenschapper dat AI maar weinig had bijgedragen aan automatisering en de kennis over intelligentie. Eerder hadden professoren Minsky en Papert, van de Amerikaanse universiteit MIT geschreven over de moeilijkheden bij het implementeren van neurale netwerken (AI geinspireerd op hoe hersenen werken). In de Verenigde Staten had een duur onderzoek naar het automatisch vertalen van Russische teksten maar weinig resultaat. Het verhaal gaat dat er werd geprobeerd om een de Bijbelse uitspraak [t]he spirit is willing, but the flesh is weak door een computer eerst te vertalen naar het Russisch en daarna weer terug naar het Engels. Het resultaat zou zijn geweest: [t]he vodka is good but the meat is rotten. Het laatste verhaal berust niet op waarheid, maar door dit soort mislukte AI-projecten werd er minder geld beschikbaar gesteld voor onderzoek. De periode tussen 1974 tot 1980 staat bekend als de eerste AI winter. Rond 1980 ontstond er opnieuw interesse in AI. Deze tijd wordt AI lente genoemd. Computers werden goedkoper en bedrijven zagen mogelijkheden om IT-systemen vaker in te zetten in het bedrijfsproces. Enkele bekende voorbeelden uit die periode zijn: • De computerfabrikant DEC implementeerde een expertsysteem waarin zo'n 2500 expertregels waren verwerkt. Het systeem selecteerde de componenten die nodig waren voor de configuratie van de bestelde computers. • De Japanse overheid begon met het 5e generatie computer initiatief, een project waarin de mogelijkheden van parallel computing en logisch programmeren onderzocht werden. • In de Verenigde Staten waren verschillende fabrikanten die workstations maakten op basis van de in AI populaire programmeertaal LISP.
19
Het optimisme duurde zo'n 7 jaar. In 1987 deed de tweede AI winter zijn intrede. De doelstelling van het Japanse computerproject bleken onhaalbaar en de overheid stopte het programma. Het up-to-date houden van DEC software was te duur en workstations van bedrijven zoals SUN microsystems beconcurreerde de LISP machines. Hoewel AI-activiteiten dus op een laag pitje stonden, stond de rest van de computerindustrie niet stil. De introductie van Microsoft Windows 3.0 in 1990 was een groot succes. In hetzelfde jaar legde Tim Berners-Lee de basis voor het huidige World Wide Web, Hij ontwikkelde de taal HTML, het protocol HTTP en het gebruik van URI/URL voor websites. Een jaar later introduceerde Linus Torvalds de eerste versie van het besturingssysteem Linux. Grote invloed had ook de voortdurende ontwikkeling van de snelheid van de processor/geïntegreerde schakeling. In 1965 beschreef Gordon Moore van Intel dat de dichtheid van het aantal transistoren op een schakeling elke twee jaar verdubbeld. Deze observatie werd later de Wet van Moore genoemd. De exponentiële groei van de snelheid van computers betekende dat AI-technieken die voorheen te ingewikkeld waren voor de hardware nu opeens binnen een acceptabele tijd uitgevoerd konden worden. Een nieuwe lente in de AI brak aan.
Wet van Moore.
20
Hoofdstuk 1 AI en algoritmes
Opdracht 9 Ontwikkelingen in AI Wetenschappelijke doorbraken met AI hadden vaak te maken met de toegenomen rekenkracht van computers. In 1997 was er Deep Blue, de eerste computer die een schaakpartij won van een wereldkampioen (Garri Kasparov). Dit was voornamelijk het gevolg van de groei in rekencapaciteit, waardoor heel snel alle mogelijkheden werden doorgerekend. Ook nu had de technologische doorbraak invloed op het aandeel IBM. Net zoals na het tonen van de damcomputer in 1956 schoot de aandelenkoers omhoog. Hoewel de prestatie van Deep Blue nog steeds tot de verbeelding spreekt, is er tegenwoordig software die sneller en beter schaakt speelt. Zoek op wat Kasparov zijn mening over Deep Blue is/was. Geef hiervan ook de bron.
Theoriebron 2011 tot nu: Deep Learning en Big Data Rond 2011 kreeg AI opnieuw de wind mee. Door de toenemende digitalisering van de samenleving en de groei van het internet kwamen er grote hoeveelheden data beschikbaar (Big Data). Daarnaast konden door de snellere processoren en verbetering van computergeheugen bestaande theorieën over artificiële neurale netwerken eindelijk in het echt uitgevoerd worden. Hierdoor was er grote verbetering met beeldherkenning, tekstanalyse en spraaktechnologie. AI is inmiddels niet meer weg te denken in veel sectoren. Google, een bedrijf dat sterk leunt op AI is tegenwoordig vier keer zoveel waard als tien jaar geleden. Toekomstverwachtingen Periodes van grote verwachtingen (tussen 1958 en 1974 en tussen 1980 en 1987) werden afgewisseld met pessimisme. Inmiddels zitten we weer in een tijd waarin de vooruitzichten omtrent AI groot zijn. Verwachtingen uit eerdere periodes worden nu wel waargemaakt; zelfrijdende auto's zijn een realiteit, medische applicaties stellen soms betere diagnoses dan doktoren, en er zijn veel meer voorbeelden. Toch zijn er mensen die denken dat ook nu de 'toekomstvoorspellers' te optimistische gedachten hebben rondom AI. Zij geloven niet in de verwachting dat AI de wereld over zal nemen. Met name ideeën rondom 'singulariteit' (singularity) doen wenkbrauwen fronsen. Met singulariteit wordt bedoeld dat door de steeds groeiende kracht van computers (onder andere vanwege de Wet van Moore) er een moment komt waarbij computers zelfstandig hun intelligentie gaan vergroten. Deze AI-groei zal exponentieel toenemen. Een belangrijke denker over singulariteit, Ray Kurzweil, gelooft dat in 2025 de computer slimmer zal zijn dan de mens en in 2045 slimmer dan alle mensen gezamenlijk. Kurzweil verwacht dat door de slimme computers de medische kennis zich zo zal ontwikkelen dat onsterfelijkheid een mogelijkheid wordt. Het idee van singulariteit wordt vaak gerelateerd aan de exponentiële groei van de snelheid van processoren. Critici wijzen erop dat situaties uit het verleden geen zekerheid bieden voor de toekomst. Volgens hen zal de Wet van Moore (over de snelheid van processoren) niet altijd geldig blijken. Al vele malen is het einde ervan aangekondigd. Gordon Moore verwacht zelf het einde van de wet in 2025. Hij zei over zijn wet: "it cannot last forever".
21
Een ontwikkeling die alles op zijn kop zou kunnen zetten is de quantumcomputer. IBM, Google en anderen zijn inmiddels bezig met het testen van de eerste werkende exemplaren. Volgens experts zou de quantumcomputer in de toekomst zo snel kunnen rekenen dat bestaande encrypties (versleuteling van bestanden) in korte tijd gekraakt zouden kunnen worden. Als de quantumcomputer dat kan dan is te verwachten dat AI ook een enorme groei zal doormaken.
IBM quantumcomputer. Of AI in combinatie met quantumcomputing inderdaad zo'n groot effect gaat hebben, zal de toekomst leren. Een bekende uitspraak, soms toegeschreven aan Niels Bohr, een van de grondleggers van de quantummechanica, luidt: "Voorspellen is moeilijk, zeker als het over de toekomst gaat".
Opdracht 10 Succes van AI-systemen Waarom duurde het tot zo'n 15 jaar geleden voordat AI-systemen op grotere schaal werden ingezet?
22
Hoofdstuk 1 AI en algoritmes
Begrippen AI winter Periode waarbij de interesse in financiering en uitvoer van AI-projecten minder is. Algoritme De stappen die nodig zijn om een doel te bereiken. Artificiële Intelligentie Computersystemen die zelfstandig kunnen leren of beslissingen kunnen nemen. Het denken van het menselijk brein wordt nagebootst. Artificiële Neurale Netwerken (ANN) AI geïnspireerd op hoe hersenen werken. Een artificieel neuraal netwerk bestaat net als ons brein uit neuronen, die elk input hebben en een output genereren. Big Data De situatie waarbij er grote hoeveelheden gegevens beschikbaar zijn. Data die snel kan veranderen en waarbij het volume te groot is voor een traditionele database. Classificeren Het plaatsen van elementen in verschillende groepen (klassen) op basis van gemeenschappelijke elementen. Data Gegevens die vaak op een digitale manier in informatiesystemen worden opgeslagen. Eliza Chatbot waarbij de 'intelligentie' was gebaseerd op patroonherkenning. Expertsysteem Een computersysteem dat de kennis van menselijke experts nabootst en gebruikt om beslissingen te nemen in een bepaald vakgebied. Maatschappelijke consequenties De gevolgen van een situatie op de maatschappij. Machine learning (ML) Wetenschap en praktijk waarbij machines zelf op basis van data leren hoe ze voorspellingen kunnen doen. Mycin Expertsysteem dat ondersteunt bij het kiezen van een behandeling tegen een infecties. Patroonherkenning Herkennen van patronen in data. Bijvoorbeeld in tekst, maar ook mogelijk in andere soorten gegevens zoals beeld of geluid. Quantumcomputer Computer gebaseerd op de quantumtheorie.
23
Singulariteit Moment waarop computers zelf hun intelligentie kunnen vergroten zonder dat hiervoor mensen nodig zijn. Sterke AI AI die zich richt op creëren van een computer die kan denken en redeneren zoals een mens. Wet van Moore Geobserveerde wetmatigheid dat de dichtheid van processoren op een geïntegreerde schakeling elke twee jaar verdubbelt. Zwakke AI AI die zich richt op één of een beperkt aantal taken.
Opdracht 11 Test je kennis Doe nu een kennistest. Zo kom je erachter of je genoeg kennis in huis hebt over de theorie. a. Bedenk een voorbeeld van een algoritme dat je zelf regelmatig gebruikt. Uit welke stappen bestaat dit algoritme? b. Hoewel er steeds meer bedrijven AI-applicaties willen ontwikkelen zijn er toch redenen dat projecten soms niet worden uitgevoerd. Noem een reden waarom een kansrijke AI-techniek soms toch niet gebruikt wordt. c. Geef een voorbeeld van patroonherkenning. Uit het antwoord moet blijken dat je weet wat patroonherkenning is. d. Is Eliza een expertsysteem of niet? Uit het antwoord moet blijken dat je weet wat een expertsysteem is. e. Er wordt gezegd dat de beschikbaarheid van grote hoeveelheden data (Big Data) van essentieel belang is bij de doorbraak van AI in de laatste 10 jaar. Waarom is dit?
24