Kunstmatige neurale netwerken

artificial-neuralnetworks

Wat zijn kunstmatige neurale netwerken (ANN)?

Veel spraakmakende artificial intelligence-toepassingen die recent ontwikkeld zijn, maken gebruik van Artificial Neural Networks (ANN). Voorbeelden hiervan zijn Siri (het spraakherkenningsprogramma van Apple) en AlphaGo (het door Google ontwikkelde programma dat de wereldkampioen in het bordspel “Go” heeft verslagen). ANN is gebaseerd op de werking van neuronen in het menselijk brein. Neuronen geven kleine elektrochemische signalen door en liggen in een gigantisch netwerk. Hierbij geldt dat een neuron alleen een signaal doorgeeft als de inkomende signalen vanuit andere neuronen sterk genoeg zijn. Deze dynamiek van “vuren” wanneer een drempel wordt overschreden, is gemodelleerd binnen ANNs.

Hoe werken kunstmatige neutale netwerken?

Hierboven zien we een schematische weergave van een ANN. Zoals we zien bestaat deze uit een input layer, een hidden layer en een output layer. In de input layer wordt de input gegeven voor het model; dit kunnen allerlei variabelen zijn. Om de werking van een Artificial Neural Network uit te leggen, maken we gebruik van een voorbeeld met honden en katten.

Voorbeeld werking Artificial Neural Network

Je kunt in bovenstaand voorbeeld zien dat de ANN bepaalt of een dier geïdentificeerd kan worden als hond of kat. In dit geval zijn variabelen zoals de hoogte en het type geluid van het dier de input. In de output layer wordt de output gegeven van je model. Hier is er dus een kans op een hond én een kans op een kat. Binnen elke layer zien we meerdere ‘nodes’, in de schematische weergave zien we deze als cirkels. Nodes zijn een grote hoeveelheid aan elkaar geschakelde cellen. Deze staan met elkaar in verbinding en geven informatie aan elkaar door.

Complexe patronen

De hidden layer bestaat in het bovenstaande voorbeeld uit 4 nodes. We zien dat alle nodes in opeenvolgende layers met elkaar verbonden zijn door lijnen. Bij elk van deze lijnen wordt de output van een node uit een eerdere layer vermenigvuldigd met een bepaald gewicht en als input gebruikt voor de node in de volgende layer. Hierbij hanteren we de volgorde van links naar rechts. Binnen de nodes van de hidden layer wordt de input vergeleken met een bepaalde drempel. Wanneer deze overschreden wordt, zal de node “vuren” en een waarde geven aan de volgende layer, in dit geval de output layer. Uiteindelijk wordt in de output layer de kans op een hond of kat bepaald met behulp van een formule.

Het trainen van een ANN

Dit is een simpel voorbeeld van een ANN met één hidden layer, maar dit kunnen er meerdere zijn. Naarmate er meer nodes en hidden layers worden toegevoegd, kan het ANN meer relaties tussen input en output vatten en kunnen er meer complexe patronen herkend worden. Op specifieke taken kunnen deze ANN zelfs beter werken dan het menselijk brein. Maar voordat je een bepaalde voorspelling kan maken met een ANN, zal deze eerst getraind moeten worden. Dit gebeurt in bovenstaand voorbeeld door het ANN heel veel dieren te laten zien, waarvan bekend is of het een hond of een kat is. Op basis van deze trainingsdata worden heel veel parameters geschat. Dit zijn onder andere de gewichten waarmee vermenigvuldigd wordt en de drempels die een signaal moet overschrijden. Op basis van deze geschatte parameters kan vervolgens voor een onbekend dier de kans worden voorspeld op een hond of een kat.

Want to know more?

We organiseren regelmatig Kennis Bytes. Tijdens deze externe kennisdelingen wordt een datagerelateerd onderwerp uitgebreid behandeld door één van onze data scientists. Elkaar inspireren, jezelf blijven ontwikkelen en altijd nét iets meer willen weten. Daar draait het om!

Wil je meer weten over onze Kennis Bytes en erachter komen wanneer de volgende sessie wordt georganiseerd? Kijk dan snel hier: https://www.tottadatalab.nl/2018/06/19/alles-weten-kennis-bytes/

Posted on 3 mei 2017

Share the Story

Back to Top