Icon left Vorige Icon up Overzicht Volgende Icon right

Wat is kunstmatige intelligentie?

Onderwerp: Maatschappij, Overige onderwerpen

Zelfrijdende auto’s, automatische gezichtsherkenning aan de hand van videobeelden en een computeralgoritme genaamd AlphaGo die de menselijke wereldkampioen in Go kan verslaan – allemaal voorbeelden van toepassingen van kunstmatige intelligentie.

Kunstmatige intelligentie richt zich op het creëren van systemen die beslissingen of taken kunnen uitvoeren waarvoor een vorm van menselijke intelligentie nodig is. Hierbij spelen niet alleen wiskunde en informatica een rol, maar psychologie, taalwetenschappen en filosofie zijn ook van belang. Want wat is intelligentie precies? Wanneer kun je zeggen dat een systeem werkelijk intelligent is? Om antwoord te kunnen geven op dergelijke vragen, is enkel kennis vanuit de wiskunde en informatica niet voldoende.

Doorgaans wordt er een onderscheid gemaakt tussen generalistische kunstmatige intelligentie en beperkte kunstmatige intelligentie. Beperkte kunstmatige intelligentie omvat systemen die goed zijn in een bepaalde taak. In het uitvoeren van andere taken, waarvoor ze niet specifiek ontworpen zijn, zijn ze in de meeste gevallen niet geschikt. Generalistische kunstmatige intelligentie daarentegen verwijst naar systemen die verschillende algemene taken aankunnen. Het ideaal van generalistische kunstmatige intelligentie is het ontwikkelen van een systeem dat zijn omgeving kan begrijpen en beslissingen kan nemen op een net zo intelligente manier als de mens dat kan. Dit is echter nog niet meer dan een ideaal. Alle toepassingen van kunstmatige intelligentie zoals we die nu kennen – van zelfrijdende auto’s tot AlphaGo – behoren tot de beperkte kunstmatige intelligentie.

Machinaal leren

Machinaal leren is een term die je vaak hoort als het over kunstmatige intelligentie gaat. Dit veld binnen de kunstmatige intelligentie richt zich op het ontwikkelen van technieken en algoritmen die een computer in staat stellen om aan de hand van voorbeelden een bepaalde taak te leren, zoals het voorspellen of een e-mail als spam gelabeld moet worden of niet. Binnen machinaal leren heeft men verschillende categorieën, namelijk: supervised learning, unsupervised learning, semi-supervised learning, en reinforcement learning.

 

Supervised learning

Bij supervised learning leert de computer aan de hand van data die gelabeld zijn. Denk hierbij aan foto’s waarvan bekend is of er een hond of een kat op staat. Aan de hand van de gelabelde voorbeelden kan het algoritme vervolgens leren welke visuele kenmerken een kat onderscheiden van een hond. Wanneer het algoritme voldoende voorbeelden heeft gezien en de taak goed geleerd heeft, kan deze ingezet worden om te voorspellen of er een hond of een kat zichtbaar is op foto’s die het algoritme nog niet eerder gezien heeft. Hierbij hoeft er voor deze foto’s geen label beschikbaar te zijn.

 

Unsupervised learning

Bij unsupervised learning leert de computer patronen herkennen in data die ongelabeld zijn. Een voorbeeld hiervan is het identificeren van groepen klanten die bepaalde kenmerken met elkaar gemeen hebben waardoor ze door het algoritme kunnen worden ingedeeld als behorend tot dezelfde groep. Hiermee kunnen bedrijven bijvoorbeeld meer inzicht krijgen in verschillende doelgroepen die gebruik maken van hun services.

 

Semi-supervised learning

Semi-supervised learning is een combinatie van supervised en unsupervised learning. Hieronder vallen algoritmen die leren aan de hand van zowel gelabelde als ongelabelde data. Het kost namelijk vaak veel tijd en energie om data te labelen. Daarbij hebben computers over het algemeen veel voorbeelden nodig om een taak goed te leren. Door het algoritme ook van ongelabelde voorbeelden te laten leren, kan in sommige gevallen de prestatie van een algoritme verbeterd worden zonder dat het veel extra tijd en energie van mensen vraagt. Dit is met name van toepassing op taken waarvoor er weinig gelabelde data beschikbaar zijn. Neem het eerdere voorbeeld waarbij we voorspelden of er een hond of een kat zichtbaar is op een foto. Stel dat we naast onze gelabelde foto’s ook nog een bak aan foto’s hebben die niet gelabeld zijn. Nou kunnen we een techniek toepassen genaamd pseudo-labelen, waarbij we ons getrainde model inzetten om labels voor de ongelabelde foto’s te voorspellen. Onze voorspelde labels zijn een benadering voor de werkelijke labels van de ongelabelde foto’s met een bepaalde foutmarge, afhankelijk van hoe goed het voorspellingsmodel is. Als we nu ons model verder trainen op een deel van de ongelabelde foto’s samen met hun bijbehorende pseudo-labels en een deel van de foto’s waarvoor wel labels beschikbaar zijn, dan kunnen we in veel gevallen ons model nog verder verbeteren.

 

Reinforcement learning

In het geval van reinforcement learning leert de computer aan de hand van trial-and-error. Doordat de computer beloond wordt voor het maken van juiste keuzes, leert deze stapje voor stapje welke keuzes tot de meest gunstige uitkomst leiden. Deze categorie van machine learning wordt veel toegepast bij navigatie en het leren van games. Zo heeft AlphaGo geleerd om op wereldniveau Go te spelen door middel van reinforcement learning.

Deep learning

De recente doorbraken binnen de kunstmatige intelligentie, waaronder ook AlphaGo, zijn behaald door een techniek die deep learning genoemd wordt. Deep learning-algoritmen zijn losjes gebaseerd op het menselijke brein, vandaar dat deze algoritmen neurale netwerken genoemd worden. Ons brein bestaat uit miljoenen neuronen die allerlei signalen verwerken en doorgeven. Neurale netwerken bestaan uit verschillende lagen, waarbij elke laag weer uit verschillende units bestaat.

Figuur 1: Voorbeeld van een neuraal netwerk. Bron Wikimedia Commons (CC BY-SA 3.0).

Figuur 1 is een simpel voorbeeld van hoe een neuraal netwerk eruit kan zien. In dit voorbeeld bestaat het neurale netwerk uit een inputlaag, een verborgen laag en een outputlaag. De inputlaag bevat drie inputvariabelen. Dit zouden bijvoorbeeld de gemiddelde temperatuur en neerslag van de afgelopen 24 uur kunnen zijn en gegevens over welk jaargetijde het is. Deze inputvariabelen worden vervolgens verwerkt door de units in de verborgen laag. Dit houdt in dat er berekeningen losgelaten worden op de inputvariabelen, wat leidt tot zogenoemde hidden (verborgen) variabelen. Op deze hidden variabelen worden weer verdere berekeningen losgelaten, wat weer leidt tot de twee variabelen in de outputlaag. In ons voorbeeld zouden dit bijvoorbeeld een voorspelling van de gemiddelde temperatuur en de neerslag voor de komende 24 uur kunnen zijn. Dit is natuurlijk maar een simpel voorbeeld. Je kunt je voorstellen dat wanneer je bijvoorbeeld probeert te voorspellen of een patiënt een bepaalde ziekte heeft, je veel meer dan drie inputvariabelen zult hebben. Daarnaast zal een netwerk met één enkele verborgen laag ook niet voldoende zijn om een goede voorspelling te doen.

Neurale netwerken kunnen variëren in grootte van enkele lagen met een paar units tot wel honderden lagen met honderden units per laag. Voor zulke diepe netwerken is veel computerrekenkracht nodig. De enorme toename in computerrekenkracht van de afgelopen jaren is dan ook medeverantwoordelijk voor alle vooruitgang die recent is geboekt binnen de kunstmatige intelligentie.

Diepe neurale netwerken stellen ons in staat om steeds slimmere toepassingen van kunstmatige intelligentie te ontwikkelen, waarbij de computer op sommige taken zelfs experts te slim af is. Van werkelijke intelligentie, zoals de mens die heeft, is echter nog lang geen sprake. De computer is met name goed in taken die gaan om patroonherkenning, zoals spraakherkenning, beeldherkenning en tekstvertaling. Hierbij moeten er ook nog eens veel voorbeelden beschikbaar zijn om van te leren. Als het gaat om plannen, beredeneren en het werkelijk begrijpen van de omgeving, iets wat de mens moeiteloos kan, is het nog de vraag in hoeverre we een computer dit kunnen leren.

 

Inske Groenen

PhD student, Informatics Institute, Universiteit van Amsterdam