L’efficacité déraisonnable de la descente de gradient stochastique (SGD) est probablement la plus grande découverte en apprentissage automatique des années 2010. La SGD alimente presque toutes les avancées récentes en apprentissage automatique. Conceptuellement, la SGD est remarquablement simple : traitez votre ensemble de données un point de données à la fois et, pour chaque point, ajustez les paramètres du modèle dans la direction donnée par ce point. En termes plus techniques, la “direction” est donnée sous forme de gradient, et l’“ajustement” implique un petit coefficient d’échelle généralement appelé taux d’apprentissage.

Bien que la technique de la SGD remonte aux années 1950, elle est restée principalement une technique obscure et peu utilisée jusqu’à ce qu’elle prenne de l’importance avec l’avènement de l’apprentissage profond. Les raisons pour lesquelles cette technique fonctionne n’étaient pas claires et, dans une certaine mesure, ne le sont toujours pas. Comme l’objectif est de minimiser l’erreur du modèle sur l’ensemble des données, il n’est pas évident que le choix de points strictement isolés ne produise autre chose que des déchets numériques.

De nos jours, on comprend généralement que l’efficacité de la SGD - autrement dit, pourquoi cela fonctionne - provient de deux facteurs. Premièrement, bien que le gradient obtenu par la SGD soit très bruité - chaque étape considère un seul point de données - ce gradient est très bon marché. Il s’avère que, pour un budget donné de ressources informatiques, l’application de nombreuses mises à jour de gradient de faible qualité surpasse largement l’application d’une seule mise à jour de gradient de haute qualité. Deuxièmement, les mises à jour bruitées elles-mêmes aident le modèle à sortir des vastes plateaux d’indifférence numérique qui existent dans des dimensions supérieures. En fait, dans des dimensions supérieures, le cœur de l’optimisation n’est pas, comme on le pensait depuis longtemps, d’échapper aux minima locaux, mais d’échapper aux plateaux locaux - des zones où la perte varie très peu.

Un résumé et une figure d'un article intitulé Selective Path Automatic Differentiation: Au-delà de la distribution uniforme sur le dropout de rétropropagation.

Certains d’entre nous, dont Paul Peseux et Victor Nicollet, ont décidé de pousser ces idées plus loin. Si la SGD fonctionne en échangeant la qualité du gradient contre l’efficacité de calcul, que diriez-vous d’étendre ce principe encore plus loin ? Que diriez-vous d’un gradient sous-point qui serait encore moins cher à calculer, bien que encore plus bruité ? C’est exactement ce qui a été fait avec la différentiation automatique de chemin sélectif (SPAD). SPAD revisite l’un des piliers du paradigme moderne de l’apprentissage automatique avec une nouveauté : un point de données peut être “divisé” du point de vue du gradient par ses chemins d’évaluation.

L’article ci-dessous présente une contribution de Paul Peseux (Lokad), Victor Nicollet (Lokad), Maxime Berar (Litis) et Thierry Paquet (Litis).


Titre : Selective Path Automatic Differentiation: Au-delà de la distribution uniforme sur le dropout de rétropropagation

Auteurs : Paul Peseux, Maxime Berar, Thierry Paquet, Victor Nicollet

Résumé : Cet article présente Selective Path Automatic Differentiation (SPAD), une nouvelle approche visant à réduire la consommation de mémoire et à atténuer le surajustement dans les modèles basés sur les gradients pour l’intelligence artificielle embarquée. SPAD étend la méthode de différentiation automatique aléatoire existante, proposée par Oktay et al, qui génère des chemins aléatoires à travers le graphe de rétropropagation avec injection de matrices, en permettant l’utilisation de distributions de probabilité alternatives sur le graphe de rétropropagation, améliorant ainsi les performances d’apprentissage et la gestion de la mémoire. Lors d’une itération spécifique, SPAD évalue et classe plusieurs chemins à l’intérieur du graphe de rétropropagation. Au cours des itérations suivantes, il suit de préférence ces chemins mieux classés. Ce travail présente également une technique basée sur la compilation permettant un accès indépendant du modèle aux chemins aléatoires, assurant ainsi une généralisabilité à travers différentes architectures de modèles, sans se limiter aux modèles profonds. Des évaluations expérimentales menées sur différentes fonctions d’optimisation démontrent une amélioration des performances de minimisation lors de l’utilisation de SPAD. De plus, des expériences d’apprentissage profond avec SPAD atténuent notablement le surajustement, offrant des avantages similaires à ceux des méthodes de dropout traditionnelles, mais avec une diminution concomitante de l’utilisation de la mémoire. Nous concluons en discutant des implications uniques de la stochasticité de notre travail et du potentiel qu’il offre pour améliorer d’autres techniques stochastiques dans le domaine.

Télécharger l’article (PDF)