Pourquoi l'optimisation en ML ?

Comment les modèles apprennent réellement, de la descente de gradient classique à Adam

L'apprentissage automatique ressemble à de la prédiction, de la classification, de la génération, de la recommandation. Sous le capot, c'est un seul geste mathématique répété : choisir des nombres, mesurer à quel point ils sont mauvais, puis changer ces nombres pour rendre cette médiocrité plus petite. C'est cela, l'optimisation.

Ces nombres sont les paramètres du modèle, généralement rassemblés dans un immense vecteur θ. Le score de médiocrité est la loss, notée L(θ). Entraîner un modèle, c'est chercher dans l'espace des paramètres un réglage qui rend cette loss petite. La notation ci-dessous dit exactement cela : argmin renvoie l'entrée gagnante (le θ qui rend la loss la plus petite), pas le score gagnant, et l'étoile sur θ⋆ marque ce réglage comme étant le meilleur.

Un panneau d'irrigation de serre peut compter des milliers de minuscules zones d'arrosage. Chaque réglage change la santé des plantes, mais on ne voit le score final de la récolte qu'une fois l'eau passée. Un réseau de neurones fonctionne de façon semblable : les paramètres sont les réglages des asperseurs, la loss est le score de récolte que vous voulez améliorer, et l'optimisation est la règle qui change de nombreux réglages à la fois.

Où cela apparaît en MLC'est pourquoi l'optimisation est au centre du ML. La rétropropagation calcule ∇L. SGD, le momentum, RMSProp et Adam décident comment l'utiliser. Les plannings contrôlent la taille du pas, et la régularisation reformule l'objectif. Une fois que l'entraînement revient à minimiser L(θ), la question principale devient simple : dans quelle direction les paramètres doivent-ils bouger ?
▶ Pourquoi l'optimisation en ML ?
← Inégalités de Concentration (bref)Le taux d'apprentissage →