Het online leerplatform coursera biedt een breed scala van cursussen aan, van leren onderhandelen tot een automatiseringscursus met Python. Coursera’s meest gevolgde cursus is Machine Learning door Andrew Ng. Een relatief technische en wiskundige cursus om te leren hoe machine learning werkt. Daarnaast wordt Andrew Ng gezien als autoriteit op het gebied van machine learning en heeft hij coursera mede opgezet. Een uitermate geschikte docent dus.
Echter is deze cursus niet voor iedereen, het kan ervaren worden als droge kost en hier en daar té wiskundig. Aan het einde van je rit zullen veel cursisten zich afvragen: en nu? Er zijn al goede vervolgcursussen gemaakt die hier gehoor aan geven die erg technisch van aard zijn, maar inmiddels heeft Andrew Ng ook een cursus opgezet die juist een andere groep mensen aan moet spreken: AI For Everyone.
In deze cursus neemt Andrew je mee in de wondere wereld van Artificial Intelligence en dan voornamelijk vanuit het machine learning en data science perspectief. Zoals de titel luidt is de cursus voor iedereen, maar wordt het vooral ingestoken vanuit een leidersrol binnen een bedrijf. Wat is AI? Wat kan AI wel en niet? Hoe kan AI waarde toevoegen aan mijn bedrijf? Waar moet ik rekening mee houden? Wat is de workflow achter een AI-project? Hoe kan ik een team opzetten?
De cursus is opgedeeld in vier weken en bevatten per week een aantal filmpjes, waarin Andrew vertelt over het desbetreffende onderwerp. Hij verplaatst zich in bedrijven met veel data, maar niet weten wat ze ermee moeten en illustreert aan de hand van praktijkvoorbeelden wat AI op dit moment kan.
In deze serie blogposst lopen de onderwerpen per week af die behandeld worden. Ook hier soms aangevuld met extra informatie en filmpjes die niet perse in de course worden behandeld, maar wel met het onderwerp te maken hebben. Als eerste: “Week 1: what is AI?”
Week 1: What is AI?
In de eerste week wordt ingezoomd op de term Artificial Intelligence. Het is op dit moment een hype en is die wel altijd gegrond? De media schrijft van alles, wat misschien niet altijd overeenkomt met de werkelijkheid. Er is een irrationele angst voor AI, die de komende tientallen of honderden jaren geen werkelijkheid zal worden en misschien wel nooit zal worden.
Die angst komt voort uit science fiction, waarbij een entiteit van alles zelf leert, begrijpt en bepaalt en uiteindelijk de mensheid uitroeit. Dit is een hele duistere versie van Artificial General Intelligence (AGI): een entiteit of robot die hetzelfde kan doen als een mens of misschien wel meer, interacteert met de wereld en de wereld kan veranderen en dan vaak in boeken of films het slechts mogelijke gaat doen om het spannend te maken. Over dit onderwerp wordt veel nagedacht door filosofen, maar de werkelijke implementatie is nog (heel) ver weg. Desalniettemin erg interessant en belangrijk om nu al wel over na te denken.
De focus van het onderzoek wat vandaag de dag gedaan wordt is op het vlak van Artificial Narrow Intelligence (ANI): één specifieke taak die uitgevoerd kan worden door een algoritme. Zoals schaken, het besturen van een auto of het markeren van spamberichten in je inbox. Computers zijn in dit soort taken erg goed en vaak beter dan de mens. Het herkennen van patronen, het opslaan van talloze voorbeelden en iets zinvols halen uit een berg data: dat is waar AI op dit moment in uitblinkt. Schaken is overzichtelijk, de mogelijke zetten zijn door een computer nog prima berekenbaar. Na twee zetten zijn er 400 mogelijke nieuwe scenario’s. Hoe anders is het bij het spel Go, waar het aantal mogelijke scenario’s na twee zetten al over de 125.000 zit! En ook het spel Go is “verslagen” door een algoritme: AlphaGo. Maar ook dit is een typisch voor beeld van Artificial Narrow Intelligence (of Weak AI).
Machine learning
De groei in Artificial Intelligence wordt de afgelopen jaren voornamelijk gedreven door ontwikkelingen in machine learning. De ontwikkelingen hierin worden weer gedreven door de snellere computers en de grote hoeveelheden data die beschikbaar zijn, ook voor het grote publiek.
In de cursus wordt ingezoomd op supervised learning: het leren van een input/output relatie op basis van gelabelde data. Bijvoorbeeld aan de hand van 10000 afbeeldingen een model trainen (een neuraal netwerk) waarmee gesteld kan worden of er wel of geen kat op een plaatje staat. Het getrainde model is in te zetten op nieuwe, ongeziene, plaatjes met een nauwkeurigheid van bijvoorbeeld 95%. Hoe meer (verschillende) data, hoe beter het model kan worden. Als er alleen foto’s gebruikt worden van katten die van de voorkant gefotografeerd zijn, zal het model een kat van de zijkant misschien niet goed kunnen herkennen. Is je dataset echter gevarieerd kan het model een generiek beeld of concept vormen van een “kat”.
Hoe complexer de taak is die geleerd moet worden, hoe groter het neurale netwerk zal moeten zijn om een goede nauwkeurigheid te kunnen behalen. Op zijn beurt heeft en groot neuraal netwerk weer heel veel data nodig om de parameters goed in te kunnen stellen. Tegenwoordig hoeft rekenkracht geen probleem meer te zijn en ook data zijn vaak voorhanden.
Data
Het woord is al een paar keer genoemd: data. Hoe komen we daaraan om een model te kunnen trainen? Stel we willen voor een huis bepalen voor hoeveel geld het verkocht kan worden, wat hebben we dan nodig? Voor supervised learning heb je de input nodig (een reeks aan gegevens over verkochte huizen: aantal vierkante meter, aantal kamers, bouwjaar) en de output (in dit voorbeeld de verkoopprijs van het desbetreffende huis). Deze data zou een makelaar bijvoorbeeld voor handen hebben in een spreadsheet en zou het direct kunnen gebruiken. Dit is een voorbeeld van gestructureerde data. Het staat bijvoorbeeld opgeslagen in een database tabel. Aan de andere kant van het spectrum is er ook ongestructureerde data, dit zijn bijvoorbeeld afbeeldingen, video of audio. Beide stromen kunnen gebruikt worden om modellen te trainen.
Veel data zijn dus al aanwezig, maar ook is het mogelijk om zelf een dataset samen te stellen afhankelijk van het probleemdomein. Natuurlijk zijn er ook veel datasets beschikbaar om te gebruiken en te downloaden, zoals ImageNET.
Inmiddels is data een belangrijk onderwerp in de huidige maatschappij wat vaak in verband gebracht wordt met privacy: waar is mijn data en wie doet daar wat mee? Wat mag wel en niet verzameld worden? Dit is een discussie die goed in de gaten gehouden moet worden en wordt later nog op ingezoomd.
Iets wat meegegeven wordt is dat meer data niet altijd beter is. Je moet weten wat voor data je nodig hebt om je “probleem” op te lossen of waarde toe te voegen. Denk eerst goed na over wat je wil doen en ga vervolgens kijken of je de data al hebt of hoe je deze zou kunnen verzamelen. De data moet ook van goede kwaliteit zijn, want garbage-in is garbage-out. Het opschonen van een dataset kan waardevol zijn, voordat je start. Wellicht zitten er verkeerde labels tussen, of missen er gegevens. Dit kan zorgen voor onverwachte resultaten in het getrainde model en wil je dus altijd voor zijn.
Data science vs Machine learning
Zowel data science als machine learning hebben data als grote drijfveer. Ook worden de termen vaak door elkaar gebruikt, maar er zit wel een nuanceverschil in, ook al is de grens tussen beide “fuzzy”.
Met machine learning kun je een voorspelling maken, zoals geschetst in de vorige subsectie: wat is de geschatte verkoopprijs van een huis, gegeven het aantal vierkante meters woonoppervlakte, bouwjaar een aantal slaapkamers. Maar ook: stel deze gebruiker krijgt een advertentie in de categorie “schoenen” te zien op deze pagina, is de verwachting dat hij/zij erop zal klikken?
Data science wordt juist ingezet om een richting te geven door middel van kennis die gehaald kan worden uit data. Bijvoorbeeld aan de hand van data te bepalen dat het waardevol is om voor de verkoop van je huis de keuken nog te renoveren, hierdoor zal de verkoopprijs omhoog kunnen schieten. Met data science kunnen beslissingen gemaakt worden aan de hand van data, die uiteindelijk waarde op kunnen leveren voor de business.
Een voorbeeld om het verschil te illustreren wordt gegeven in online marketing: machine learning is voorspellen of iemand op een bepaalde advertentie gaat klikken en data science is de analyse dat er meer van een bepaalde soort advertenties gebruikt kunnen worden in een bepaalde situatie om het aantal kliks te verhogen. In de vraagstukken zit natuurlijk overlap, de grens tussen machine learning in data science is dan ook fuzzy.
AI transformation
Een bedrijf wordt niet zomaar een ai-bedrijf door wat met data en deep learning te gaan doen. Om een echt ai-bedrijf te kunnen worden is het belangrijk een duidelijke strategie te hebben voor het verwerven van data, het eenduidig opslaan en bewaren van de data, automatisering en specifieke rollen om dit te borgen binnen het bedrijf.
Om als bedrijf serieus met artificial intelligence aan de slag te gaan, wordt het volgende stappenplan geschetst:
- Een pilot project kiezen en uitvoeren om momentum te creëren. Het project hoeft niet groot te zijn van omvang, het is belangrijk om écht aan de slag te gaan.
- Een toegewijd team opstellen binnen het bedrijf rondom artificial intelligence.
- Geef bedrijfsbrede training op het gebied van artificial intelligence. Van “scratch-the-surface” trainingen tot trainingen die in de diepte gaan voor een bepaald vraagstuk, begrip of tooling.
- Ontwikkel een ai-strategie. Van dataopslag tot uitrollen van een model.
- Zorg voor goede en duidelijk interne en externe communicatie over het onderwerp en de verandering.
Er wordt nog een kanttekening geplaatst bij de wetenschappelijke literatuur: hierin zul je alleen alle positieve resultaten tegenkomen, dit wordt makkelijk door de media opgepikt en spreekt boekdelen. Echter is er ook veel wat niet kan met AI of wat minder goed werkt. Probeer een intuïtie te ontwikkelen wat wel en niet kan met AI. De twee belangrijkste vragen die je hierbij kunt stellen zijn:
- Wat voor taak moet er geleerd worden? Is dit te gieten in een A -> B mapping?
- Is er genoeg data beschikbaar?
Bijvoorbeeld het bepalen van posities van (andere) auto’s van de camera van een zelfrijdende auto is goed te doen. Echter het bepalen van de intentie van een persoon in een afbeelding (iemand die aan het liften is bijvoorbeeld), is veel moeilijker. Dit laatste is complex, kent veel variatie en heeft te maken met intentie. Hier zou je intuïtie moeten zeggen: gaaf probleem, maar te moeilijk om nu op te lossen.
De week wordt afgesloten met een extra filmpje over deep learning (een niet-technische uitleg, die dan ook niet zo heel veel toevoegt) en een hele eenvoudige kennisquiz.
Op naar de volgende week!
