Hoe werkt een artificieel Neuraal Netwerk (ANN)?
Het belangrijkste component van de moderne AI-systemen is het ANN. Daar moeten we dus al iets van het wonder kunnen terugvinden. In les 1 hebben we gezien dat de kennis bij ANN’s niet expliciet wordt geprogrammeerd, maar door het systeem -o.b.v. veel data- zelf wordt ontdekt. Maar hoe?
Een ANN bestaat uit (artificiële) neuronen. Hier een voorbeeld van een klein neuraal netwerk met 6 neuronen (de bolletjes).
Neurale Netwerken zijn georganiseerd in lagen (layers). Aan de inputlaag wordt de input aangeboden. Dit kan bijvoorbeeld een afbeelding zijn of een woord. In de outputlaag verschijnt het antwoord. Een voorbeeld hiervan is dat het neurale netwerk heeft beslist dat de afbeelding ‘een hond’ of ‘een kat’ is. Een ander voorbeeld is dat het neurale netwerk heeft beslist wat het volgende woord in een zin zou kunnen zijn.
Een neuraal netwerk moet eerst worden getraind, voordat het dergelijke beslissingen kan nemen. Dat trainen vindt plaats m.b.v. praktijkvoorbeelden. Stel dat aan de input een afbeelding van een hond wordt aangeboden terwijl het systeem zegt dat het een kat is. Omdat dit niet correct is, worden via een slim algoritme de sterktes van de verbindingen tussen de neuronen een beetje aangepast. Als de meeste voorbeelden door het systeem correct worden herkend, is het trainen afgerond en kan het in de praktijk worden ingezet.
De kennis van een neuraal netwerk ligt dus opgeslagen in de sterktes van de verbindingen tussen de neuronen. De input (de afbeelding van de hond, waarbij de pixels eerst gecodeerd worden naar getallen) wordt via de verbindingen in meer of mindere mate -afhankelijk van de sterkte van de verbinding- doorgegeven aan de neuronen in de tussenlaag (‘hidden layer’). Als -bij een neuron uit de tussenlaag- de opgetelde binnenkomende signalen boven een bepaalde drempelwaarde uitkomen dan gaat het neuron aan, anders blijft het uit. Een neuron is dus een soort schakelaar (later zal ik dit nuanceren). De output-neuronen werken op dezelfde manier: die krijgen hun signalen echter vanuit de tussenlaag.
De tussenlaag (‘hidden layer’) zorgt er feitelijk voor dat het systeem abstracties kan maken. Een abstractie zou kunnen zijn: ‘snorharen’. De verbindingen van het tussenlaag-neuron ‘snorharen’ naar de outputneuronen ‘kat’ en ‘konijn’ zullen sterk zijn, maar naar ‘koe’ zwak. Hoe meer tussenlagen, hoe complexer de abstracties kunnen worden en dus hoe verfijnder het systeem beslissingen kan maken. Welke abstracties er gedurende de training ontstaan, is op voorhand onbekend.
Systemen als ChatGPT of MidJourney zijn veel geavanceerder dan hier beschreven. Er blijkt véél meer nodig om een praktisch bruikbaar, intelligent systeem te realiseren. Maar in de kern ervan, werkt het op de hierboven beschreven wijze.
Hoe kan het dat technologie tegenwoordig zó menselijk lijkt, bovenmenselijk bijna. In deze serie probeer ik dat wonder stapsgewijs te ontrafelen.
Volg de gehele serie op LinkedIn via: #HetWonderVanAI
Of ga naar: https://www.seoguru.nl/seo-blog/category/cursus-ai/
De schrijver van deze cursus is Alain Sadon. Hij is afgestudeerd op Neurale Netwerken, binnen de vakgroep Artificiële Intelligentie van prof. Koppelaar, aan de TU Delft.
Geef een reactie
Je moet inloggen om een reactie te kunnen plaatsen.