Het bouwen van een Neuraal Netwerk 2

Hier gaan we verder op een post een tijd geleden, het bouwen van een neuraal netwerk. In de vorige post is uitgelegd hoe je een neuraal netwerk moet bekijken, in welke structuur met zijn omgeving.

We gaan dit neuraal netwerk bouwen in Java, maar voordat we daaraan beginnen, een uitleg en een heel belangrijjk plaatje die je gedurende de bouw goed in je achterhoofd moeten houden. Doe je dit wel dan is de kans dat je wat onderdelen vergeet en je neurale netwerk het niet helemaal zo doet als jij het wilt.

Neuraal NetwerkHet begint allemaal bij de input neuronen, de onderste bolletjes. Daar komt een signaal of patroon binnen en die wordt vertaald naar de middelste laag, ook wel de hidden layer, door ze te vermenigvuldigen met weights.

Hidden Layer in een Neuraal Netwerk

Het heet hidden layer omdat je in het neurale netwerk, de input en output nog kan “zien”, je krijgt er signalen van door of geeft signalen aan de neuronen. Met de hidden layer heb jij niks te maken, dit is van het neurale netwerk.

In de hidden layer wordt de activatie van de input neuronen vermenigvuldigd met de weights (1) berekend en wanneer deze waarde een bepaalde threshold bereikt zal de neuron in de hidden layer gaan vuren.

Die threshold kan een bepaalde functie aannemen afhankelijk van hoe je netwerk leert. Vervolgens komt het signaal van de hidden layer vermenigvuldigt met weights van de tweede laag, aan in de output units. Die op hun beurt de activatie van verschillende neuronen uit de hidden layer optellen en daaruit de activatie berekenen. Ook de output units hebben een threshold functie hiervoor.

Volgende keer wat programmeren!