Waarom optimalisatie in ML?

Hoe modellen daadwerkelijk leren, van gewone gradient descent tot Adam

Machine learning oogt als voorspellen, classificeren, genereren, aanbevelen. Onder de motorkap is het één herhaalde wiskundige handeling: kies getallen, meet hoe slecht ze zijn, en verander de getallen om die slechtheid kleiner te maken. Dat is optimalisatie.

De getallen zijn de parameters van het model, meestal verzameld in één grote vector θ. De slechtheidsscore is het verlies, geschreven als L(θ). Trainen betekent zoeken door de parameterruimte naar een instelling die dat verlies klein maakt. De afkorting hieronder zegt precies dat: argmin geeft de winnende invoer terug (de θ die het verlies het kleinst maakt), niet de winnende score, en de ster op θ⋆ markeert die als de beste instelling.

Een irrigatiepaneel van een kas kan duizenden kleine sproeizones hebben. Elke instelling verandert hoe gezond de planten worden, maar je ziet pas de uiteindelijke oogstscore nadat het water gelopen heeft. Een neuraal netwerk werkt vergelijkbaar: de parameters zijn de sproei-instellingen, het verlies is de oogstscore die je wilt verbeteren, en optimalisatie is de regel om veel instellingen tegelijk te veranderen.

Waar dit voorkomt in MLDaarom staat optimalisatie centraal in ML. Backpropagation berekent ∇L. SGD, momentum, RMSProp en Adam bepalen hoe die gebruikt wordt. Schema's regelen de stapgrootte, en regularisatie herschikt de doelfunctie. Zodra trainen betekent dat je L(θ) minimaliseert, wordt de hoofdvraag simpel: hoe moeten de parameters bewegen?
▶ Waarom optimalisatie in ML?
← Concentratie-ongelijkheden (kort)De leersnelheid →