FlexMatch : Accroître l'apprentissage semi-supervisé grâce à l'étiquetage pseudo-étiqueté avec curriculum

Le modèle récemment proposé FixMatch a atteint des résultats de pointe sur la plupart des benchmarks d’apprentissage semi-supervisé (SSL). Toutefois, comme d’autres algorithmes modernes de SSL, FixMatch utilise un seuil constant prédéfini pour toutes les classes afin de sélectionner les données non étiquetées contribuant à l’entraînement, ce qui ne prend pas en compte les différents stades d’apprentissage ni les difficultés d’apprentissage propres à chaque classe. Pour résoudre ce problème, nous proposons une méthode appelée Curriculum Pseudo Labeling (CPL), une approche inspirée de l’apprentissage curriculaire permettant d’exploiter les données non étiquetées en fonction de l’état d’apprentissage du modèle. Le cœur de CPL réside dans l’ajustement dynamique des seuils selon les classes à chaque étape temporelle, afin de laisser passer les données non étiquetées informatives ainsi que leurs pseudo-étiquettes associées. CPL n’introduit ni paramètres supplémentaires, ni coût computationnel supplémentaire (ni en propagation avant, ni en rétropropagation). Nous intégrons CPL à FixMatch, et nommons notre algorithme amélioré FlexMatch. FlexMatch atteint des performances de pointe sur divers benchmarks SSL, notamment dans des situations où les données étiquetées sont extrêmement limitées ou lorsque la tâche est particulièrement difficile. Par exemple, sur les jeux de données CIFAR-100 et STL-10, FlexMatch réduit respectivement les taux d’erreur de 13,96 % et 18,96 % par rapport à FixMatch, lorsque l’on ne dispose que de 4 étiquettes par classe. CPL améliore également significativement la vitesse de convergence : FlexMatch peut atteindre des performances supérieures en seulement 1/5 du temps d’entraînement nécessaire à FixMatch. En outre, nous démontrons que CPL peut être facilement intégré à d’autres algorithmes de SSL, conduisant à une amélioration notable de leurs performances. Nous mettons notre code à disposition sous licence open-source à l’adresse suivante : https://github.com/TorchSSL/TorchSSL.