Stefanie Bronswijk

Stefanie Bronswijk

Van algoritme tot neuraal netwerk – wat is artificial intelligence?

Of je nu een computerfanaat in hart en nieren bent, slechts af en toe op Instagram of Facebook zit, of iets er tussenin – je hebt vast al eens gehoord van termen als ‘algoritme’, ‘artificial intelligence’ en ‘machine learning’. Termen die je zowel kunt tegenkomen in sci-fi-films als op je tijdlijn, maar wat betekenen deze woorden nu eigenlijk? Wat zijn de verschillen en wat hebben ze juist met elkaar te maken?

Kunstmatige intelligentie

Artificial intelligence (ook wel AI, of kunstmatige intelligentie) is een overkoepelende term voor alle intelligentie die niet menselijk is. Klinkt logisch, toch? Mensen kunnen redeneren, reageren en zichzelf aanpassen, maar apparaten zoals computers kunnen dat ook, wanneer ze werken op basis van kunstmatige intelligentie. Een robotstofzuiger past de route aan wanneer het tegen een muur aan botst, en de spraakassistent in je telefoon reageert wanneer je ‘hé Siri’ of ‘oké Google’ zegt.

First things first: algoritmes

Voordat we bekijken wat machine learning is, maken we een tussenstop bij ‘algoritmes’. Want bij machine learning heb je altijd te maken met algoritmes: een term die zo breed is dat het niet anders kan dan af en toe verwarring veroorzaken. Een algoritme is namelijk, in de breedste zin van het woord, een aantal stappen dat je zet om een bepaald doel te bereiken. Wanneer we het over een algoritme hebben met betrekking tot artificial intelligence en machine learning, kun je van een iets specifiekere definitie uitgaan. We bedoelen dan namelijk een getraind computermodel op basis van menselijke input. Dat computermodel wordt gecombineerd met domeinkennis om vervolgens ook conclusies te kunnen trekken uit de resultaten van het model.

Neem die robotstofzuiger. De robotstofzuiger werkt doordat er een stuk software in zit, met daarin algoritmes. In de algoritmes staat beschreven dat er een doel is: het opzuigen van kruimels. Ook staat erin beschreven dat daarvoor een aantal stappen moet worden gezet. De zuigfunctie moet ingeschakeld worden. De wielen moeten draaien. Een route moet gevolgd worden. Aan het einde van de route, moet de stofzuiger terug naar het laadstation, en moet het worden uitgeschakeld. De algoritmes beschrijven dus dit doel en al deze stappen.

…maar dan intelligent

Maar je kunt je misschien bedenken dat in het geval van deze robotstofzuiger niet alle stappen even makkelijk zijn om te beschrijven. Hoe weet de stofzuiger wat de route is? Je zou, als robotstofzuiger-producent, voor ieder huishouden waar zo’n stofzuiger gebruikt wordt een unieke route kunnen beschrijven. Drie meter rechtdoor, dan naar links, anderhalve meter rechtdoor, afslaan naar rechts… In mijn huis, tenminste. Bij jou thuis moet ‘ie eerst veertig centimeter vooruit, dan draaien naar links… Niet ideaal om dit voor elk en ieder huis opnieuw te moeten beschrijven.

Daarom werkt een robotstofzuiger met algoritmes die gebruik maken van machine learning. Het doel: met zo min mogelijk botsingen de hele ruimte stofzuigen. Dankzij artificial intelligence kan de robotstofzuiger redeneren, reageren en zichzelf aanpassen. Botst het ergens tegenaan? Dan weet de stofzuiger dankzij de algoritmes dat het de volgende keer de route moet aanpassen. Bijvoorbeeld door vlak voor het moment van botsen de wielen te draaien. Deze robot die leert van zijn botsingen is een voorbeeld van machine learning.

Reinforcement learning

De stofzuiger weet dat iedere keer dat er een botsing plaatsvindt, de route moet worden aangepast. Uiteindelijk heeft het zelf een ideale route gevonden voor jouw huiskamer. Deze manier van machine learning heet reinforcement learning, maar er zijn ook andere manieren waarop machine learning kan werken, namelijk supervised en unsupervised learning.

Supervised en unsupervised learning

Het verschil tussen deze twee zit, zoals de naam al doet vermoeden, in de aan- of afwezigheid van menselijke tussenkomst. Bij unsupervised machine learning lever je input, en laat je vervolgens het algoritme zelf op zoek gaan naar patronen of clusters. Neem deze figuren als input:

Een algoritme gaat bij unsupervised learning zelf aan de slag, op zoek naar overeenkomsten en verschillen. Wellicht levert dit de volgende output, geclusterd op basis van vorm:

Of juist deze output, geclusterd op basis van kleur:

Bij supervised machine learning krijgt het algoritme te maken met door mensen gelabelde input. De figuren in het eerdere voorbeeld worden dan eerst door mensen gelabeld: bijvoorbeeld op kleur. Dit vormt de zogenoemde trainingsset. Naar dat voorbeeld zal het algoritme leren wat ‘zwart’, ‘geel’ of ‘grijs’ is. Handig, want zo kan het een dataset met nieuwe figuren zelf gaan groeperen op basis van kleur.

Blind vertrouwen?

Fijn dat het algoritme nu zelf voorspellingen kan maken. Maar je wil natuurlijk wel dat deze voorspellingen kloppen. Om te controleren of een machine learning algoritme wel het juiste leert, wordt er gebruik gemaakt van verschillende datasets. Naast de trainingsset is er ook een validatieset. Beiden worden handmatig gelabeld. Het algoritme gebruikt de trainingsset om regels op te stellen, en past deze regels toe op de validatieset. De resultaten hiervan worden vervolgens vergeleken met de handmatige labels. Zijn er verschillen? Waar zitten de fouten? Door de output van mens en algoritme naast elkaar te leggen, kun je een inschatting maken van de nauwkeurigheid van het algoritme. Deze nauwkeurigheid wordt aangeduid met de zogeheten F1-score. Een F1-score van 0,95 betekent dat 95% van de output van het algoritme overeenkomt met de handmatig gelabelde data.

Medstone Algorithm flowchart

Deep learning en neurale netwerken

Maar hoe weet een algoritme precies welke stappen het moet nemen om tot de juiste output te komen? Het antwoord ligt in deep learning, wat op zijn beurt weer een onderdeel is van machine learning. Bij deep learning boots je intelligentie na op een manier die is afgekeken van menselijke intelligentie, zoals in de hersenen. In je hersenen zitten miljoenen zenuwcellen, ook wel neuronen genoemd. Wanneer er iets gebeurt in je hersenen, is dat omdat neuronen input krijgen en aan de hand daarvan wel of geen elektrische lading versturen naar de volgende neuronen. Die elektrische lading vormt zo weer de input voor de volgende neuronen. Op die manier zijn alle neuronen met elkaar verbonden; het vormt een neuraal netwerk.

Bij deep learning in artificial intelligence wordt zo’n neuraal netwerk nagebootst. Een programmeur maakt een netwerk met een bepaald aantal neuronenlagen. Deze worden ‘verborgen lagen’ genoemd omdat ook de programmeur niet precies weet wat er in die lagen gebeurt. Wel kan een programmeur bepalen hoeveel lagen dit zijn. In deze neuronenlagen wordt de elektrische lading die je in menselijke hersenen ziet uitgedrukt in getallen. Iedere neuron krijgt een waarde, en ieder verbindingsstuk tussen neuronen (de ‘edge’) krijgt een gewicht. Zo wordt de input van een neuron de som van de vorige laag, vermenigvuldigd met het gewicht van de edge.

Bij deep learning heb je dus te maken met meerdere lagen tussen de input en output. Wat deep learning verder uniek maakt, is dat het werkt aan de hand van feedback. Feedback over de output wordt teruggestuurd langs de neuronen, zodat het algoritme steeds slimmer wordt.

Oké, en nu?

Met machine learning en deep learning kun je natuurlijk nog veel complexere taken uitvoeren dan het sorteren van figuren op kleur. Bij Medstone maken we gebruik van supervised machine learning om ons eigen algoritme te trainen in het lezen van wetenschappelijke teksten. We labelen geen figuren naar kleur, maar geven woorden labels op basis van belangrijke klinische categorieën. Daar leert het algoritme vervolgens van, zodat het zelf nieuwe wetenschappelijke teksten kan indelen naar die klinische woordcategorieën. De output van het algoritme kunnen wij vervolgens gebruiken om razendsnel artikelen te selecteren voor systematisch literatuuronderzoek, of om gedetailleerde vergelijkingen tussen verschillende medicijnen te maken.

Handig!

Kortom, met artificial intelligence, algoritmes en machine learning kun je ontzettend veel handige dingen doen. Ben jij een arts of onderzoeker, en wil je weten wat AI voor jou kan doen? Neem dan contact met ons op.

Recent Articles

Network meta-analysis: for solving an elephant’s problem

Medical progress happens every day with new medicines, devices, and diagnostic tools steadily emerging. How can patients fully benefit from these? How can doctors and pharmacists stay up to date with the endless stream of pharmaceutical research? How can you make medical decisions when comparisons between all medicines are rarely available?  Well, a network meta-analysis […]

Alexandra Gabur

19/01/2022

Read more

An atlas for treating brain tumors: toxicity mapping by Amsterdam UMC and Medstone

An atlas for treating brain tumors: toxicity mapping by Amsterdam UMC and Medstone Medstone and Amsterdam UMC are joining forces in an ambitious research project, searching for better treatment options for patients with brain cancer. Various specialists are working together in this collaboration between Amsterdam UMC and pharmaceutical company Medstone – from Bart Westerman, project […]

Stefanie Bronswijk

04/10/2021

Read more

The Toxicity Atlas

What’s the best way to treat cancer? How do we make sure patients suffer from as few side effects as possible? And can we use artificial intelligence (AI) in treating cancer patients? These and other questions are what healthcare professionals, patients and their families are concerned with on a daily basis. The answers? We haven’t […]

Marianne Pouwer

08/09/2021

Read more