donderdag 19 oktober 2017

IoT en neurale netwerken



In mijn voorgaande blogs had ik het over de boeiende ontwikkeling van kunstmatige intelligentie in relatie tot IoT, Verschillende varianten van machine learning zijn hierbij aan de orde gekomen. De meest complexe vorm van machine learning wordt deep learning genoemd. Deze technologie komt het dichts in de buurt van cognitieve intelligentie en maakt gebruik van meerlaagse neurale netwerken. Neurale netwerken kennen we in twee varianten, de biologische vorm oftewel het menselijk brein, en de kunstmatige vorm. Kunstmatige neurale netwerktechnologie is sterk in ontwikkeling en benaderd steeds meer het menselijk brein. Onderzoekers laten zich hierbij graag inspireren door biologie. Worden we langzamerhand ingehaald door onze eigen automatisering?

Kunstmatige neurale netwerken, die de basis van deep learning vormen, worden alsmaar slimmer en zijn in staat steeds meer menselijke taken over te nemen. Neurale netwerken zijn samengesteld uit een veelvoud van vaak eenvoudige processoren die parallel samenwerken. Op deze wijze worden niet lineaire systemen samengesteld waarbij een veel complexere relatie kan worden gevormd tussen input en output. Om de overeenkomst met onze hersenwerking aan te geven worden de processoren in een neuraal netwerk ook wel neuronen genoemd.


De werking van een neuraal netwerk
Een kunstmatig neuraal netwerk bestaat uit een aantal gestapelde lagen met neuronen. Een neuraal netwerk is opgebouwd uit een inputlaag, een outputlaag en een aantal tussenlagen. Via dit samenstel van lagen wordt de vraagstelling aan de inputlaag verwerkt tot een antwoord aan de outputlaag. Iedere laag heeft eigen neuronen waarin de relevante berekeningen worden uitgevoerd. Elke ontvangende neuron verwerkt zijn ingangssignaal en stuurt dit weer door naar de volgende neuron(en). Een mooi voorbeeld om de werking van neurale netwerken te verduidelijken is het proces dat bij beeldherkenning wordt gehanteerd. Een afbeelding komt binnen in de inputlaag en wordt vervolgens in iedere diepere laag verder verwerkt. Hierbij heeft elke laag zijn specifieke functie. In de eerste lagen na de inputlaag worden de basale vormen uit het beeld gefilterd om zodoende een grove interpretatie van het beeld te vormen. De laatste lagen voor de outputlaag detailleren de basale vormen uit de voorgaande lagen en bereiden de gegevens voor waarmee de outputlaag aan de slag kan gaan. In de outputlaag wordt de finale beoordeling gemaakt en wordt het antwoord geformuleerd.

Trainen van een neuraal netwerk
In bovenstaand voorbeeld zijn neurale netwerken getraind om beelden te herkennen. Aan de hand van heel veel voorbeeldbeelden worden vergelijkingen gemaakt om hieruit conclusies te trekken. Dit is redelijk complex, het systeem moet immers weten waarop het zich moet concentreren. In een beeld zijn de details nooit geïsoleerd van de omgeving, ze lopen over in andere beelden of zijn verbonden met andere objecten. Hierdoor is het voor een computersysteem erg moeilijk de vorm te herkennen. Er moet dus heel veel informatie voorhanden zijn om de algoritmes slimmer te maken. De technische trukendoos en creativiteit is veelzijdig. Er wordt bijvoorbeeld gebruik gemaakt van bewegende beelden als vergelijkingsmateriaal met gecompileerde visualisaties uit het beeldmateriaal. Uiteraard is het proces bij videoherkenning maar een van de vele voorbeelden van neurale netwerktechnologie en zijn er legio andere toepassingen die elk weer hun specifieke benadering vergen.

Zo eenvoudig is het niet…
Bovenstaand voorbeeld is redelijk simplistisch weergegeven, op de achtergrond is de techniek vele malen complexer. De interactie tussen de neuronen of processoren is adaptief. Een neuron heeft meerdere ingaande en meerdere uitgaande verbindingen. Elke verbinding heeft hierbij een gewicht dat is uitgedrukt in een reëel getal dat continue wordt bijgesteld door het lerende netwerk. De technologie van neurale netwerken staat nog aan het begin. Dat wordt duidelijk als we bedenken dat het menselijk brein bestaat uit ongeveer 100 miljard neuronen terwijl de kunstmatige neurale netwerken op dit moment ergens tussen de 10 en 1000 neuronen bevatten. Voorlopig is het menselijk brein nog veruit superieur! Volgende keer meer over deep learning.

Geen opmerkingen:

Een reactie posten