Een neuraal netwerk is een computermodel dat leert van voorbeelden in plaats van vaste regels te volgen. Het bestaat uit veel kleine rekeneenheden in lagen, verbonden door instelbare gewichten. Laat het duizenden foto's zien van beschadigde en onbeschadigde pakketten, en het stelt die gewichten bij tot het de twee uit elkaar kan houden. Dezelfde techniek zit achter spraakherkenning en chatbots zoals ChatGPT.
Hoe werkt het?
Elke eenheid, vaak een neuron genoemd, krijgt getallen binnen, vermenigvuldigt elk getal met een gewicht, telt ze op met een bias en stuurt de uitkomst door een activatiefunctie, een eenvoudige niet-lineaire stap. Voor moderne netwerken noemt het leerboek van Goodfellow e.a. de rectified linear unit (ReLU), die negatieve waarden op nul zet, de standaardaanbeveling. De eenheden zitten in lagen: een invoerlaag neemt de data op, een of meer verborgen lagen bewerken die, en een uitvoerlaag geeft het resultaat. De middelste lagen heten verborgen omdat de trainingsdata niet voorschrijft wat ze moeten doen.
Trainen werkt door te vergelijken. Het netwerk doet een voorspelling, een verliesfunctie meet hoe ver die ernaast zit, en backpropagation berekent hoeveel elk gewicht aan de fout heeft bijgedragen. Gradient descent verschuift daarna elk gewicht een klein stukje in de richting die de fout verkleint, en dat herhaalt zich over veel voorbeelden. In hun overzichtsartikel in Nature uit 2015 beschrijven LeCun, Bengio en Hinton deep learning als modellen die uit meerdere verwerkingslagen bestaan en waarvan de interne parameters met backpropagation worden ingesteld.
Wat betekent "deep"?
Het slaat op het aantal lagen. Goodfellow e.a. leggen de naam uit: de totale lengte van de keten bepaalt de diepte van het model, en daaruit is de term deep learning ontstaan. Een groot taalmodel is ook een diep netwerk. Llama 3 405B van Meta, beschreven in juli 2024, heeft 405 miljard parameters in 126 lagen en is voorgetraind op 15,6 biljoen tokens tekst (Llama 3-paper). Het gebruikt de transformer-architectuur, een bepaalde manier om zulke lagen te schikken.
Is het nagebootst van de hersenen?
Losjes. Goodfellow e.a. noemen deze netwerken losjes geïnspireerd door de neurowetenschap, en schrijven dat de neurowetenschap niet langer de belangrijkste gids voor het vakgebied is.
Waar gaat het mis?
Een netwerk leert elk patroon in de trainingsdata dat het antwoord voorspelt, ook een onbedoeld patroon. Geirhos e.a. (2020) noemen dat shortcut learning. Hun voorbeelden zijn onder meer een netwerk dat koeien leek te herkennen maar faalde bij koeien op ongewone plekken zoals een strand, omdat het "gras" had geleerd, en een detector voor longontsteking op röntgenfoto's die het ziekenhuis herkende aan een metalen markering op de foto en slechter werkte op foto's uit nieuwe ziekenhuizen. Ze raden aan netwerken te testen op data die systematisch afwijkt van de trainingsdata.
Voorbeeld
Stel: een webshop wil frauduleuze bestellingen opsporen. Een neuraal netwerk krijgt per bestelling een aantal kenmerken, zoals het bedrag, het afleveradres, het tijdstip en de betaalmethode, plus duizenden eerdere bestellingen met het label "fraude" of "in orde". De verborgen lagen leren welke combinaties van kenmerken op fraude wijzen. Nauwkeurigheid alleen zegt hier weinig: als 1 op de 1.000 bestellingen frauduleus is, is een model dat nooit iets markeert 99,9% nauwkeurig. Meet dus ook hoeveel fraudegevallen het vindt en hoeveel eerlijke klanten het tegenhoudt.
Bronnen
- Goodfellow, Bengio and Courville: Deep Learning (MIT Press, 2016)Web
- LeCun, Bengio and Hinton: Deep learning (Nature, 2015)Web
- Geirhos et al.: Shortcut Learning in Deep Neural Networks (2020)arXiv
- Meta: The Llama 3 Herd of Models (2024)arXiv
- Schmidhuber: Deep Learning in Neural Networks: An Overview (2014)arXiv
- Wikipedia: Neural network (machine learning)Web
