La robustesse des modèles est une propriété des systèmes de apprentissage automatique qui décrit leur capacité à maintenir des performances constantes lorsqu'ils sont confrontés à des perturbations, des changements de distribution ou des entrées adversariales. En informatique, la robustesse désigne de manière générale la capacité d'un système à faire face aux erreurs pendant l'exécution et aux entrées erronées. Pour les modèles d'apprentissage automatique, cela se traduit par l'exigence que l'erreur de test reste cohérente avec l'erreur d'entraînement, ou que les performances restent stables après l'ajout de bruit à l'ensemble de données. La robustesse est devenue une préoccupation centrale dans le déploiement des systèmes d'IA, en particulier à mesure que les modèles sont de plus en plus utilisés dans des domaines critiques pour la sécurité, tels que la conduite autonome, la santé et la finance.
Le concept de robustesse dans l'apprentissage automatique s'inspire des principes plus larges de la programmation robuste et de la conception de systèmes tolérants aux pannes. La robustesse logicielle traditionnelle met l'accent sur la gestion élégante des entrées inattendues, souvent grâce à des techniques comme les tests par fuzzing et l'injection de fautes. Dans l'apprentissage automatique, la robustesse étend cette idée à la nature statistique et probabiliste des modèles, où les entrées ne sont pas seulement des valeurs discrètes mais des données de haute dimension comme des images, de l'audio et du texte. Un modèle robuste ne doit pas seulement bien performer sur la distribution d'entraînement, mais aussi généraliser à des variations inédites, y compris celles introduites par la variabilité naturelle ou des attaques délibérées.
Contexte historique
L'étude de la robustesse des modèles a gagné en importance dans les années 2010, motivée par la découverte que les réseaux de neurones sont étonnamment vulnérables aux exemples adversariales - de petites perturbations, souvent imperceptibles, apportées aux entrées qui provoquent des erreurs de classification dramatiques. Ce phénomène a été documenté pour la première fois de manière systématique par Christian Szegedy et ses collègues en 2013, puis popularisé par les travaux de Ian Goodfellow sur les attaques et défenses adversariales. La prise de conscience que des modèles de pointe pouvaient être trompés en ajoutant un léger bruit aux images a soulevé des questions fondamentales sur la fiabilité des systèmes d'apprentissage profond.
Les premières recherches se sont concentrées sur la compréhension des raisons de cette fragilité des réseaux de neurones. Une explication est que les modèles apprennent des frontières de décision très sensibles aux petits changements dans l'espace d'entrée, en particulier dans des contextes de haute dimension. Une autre est que l'objectif d'entraînement - minimiser la perte moyenne - n'encourage pas explicitement la robustesse aux perturbations dans le pire des cas. Cela a conduit au développement de l'entraînement adversarial, où les modèles sont entraînés sur des exemples adversariales pour améliorer leur robustesse. Le domaine s'est depuis élargi pour inclure une large gamme de notions de robustesse, y compris la robustesse au bruit aléatoire, au changement de distribution et au changement de domaine.
Types de perturbations
La robustesse des modèles est généralement évaluée par rapport à plusieurs types de perturbations. Les plus étudiées sont les perturbations adversariales, qui sont intentionnellement conçues pour tromper le modèle. Celles-ci peuvent être générées à l'aide de méthodes basées sur le gradient, comme la méthode du signe du gradient rapide (FGSM) et la descente de gradient projetée (PGD), ou d'approches basées sur l'optimisation comme l'attaque de Carlini-Wagner. La robustesse adversarial mesure la capacité d'un modèle à résister à de telles attaques, souvent quantifiée par la précision sur des exemples adversariales.
Les perturbations aléatoires, comme l'ajout de bruit gaussien aux entrées, constituent un autre test courant. Les modèles robustes au bruit aléatoire sont moins sensibles aux erreurs de capteur ou aux variations naturelles des données. Le changement de distribution fait référence aux modifications de la distribution sous-jacente des données entre l'entraînement et le déploiement, comme lorsqu'un modèle entraîné sur des images de jour est testé sur des images de nuit. La robustesse au changement de distribution est cruciale pour le déploiement dans le monde réel, car les modèles rencontrent souvent des données qui diffèrent de leur ensemble d'entraînement. Enfin, la robustesse peut également faire référence à l'invariance aux transformations comme la rotation, la translation ou la mise à l'échelle, courantes dans les tâches de vision par ordinateur.
Méthodes d'évaluation
L'évaluation de la robustesse des modèles nécessite une conception expérimentale minutieuse. Une approche courante consiste à mesurer les performances sur un ensemble de test réservé qui inclut des versions perturbées des données d'origine. Pour la robustesse adversarial, les chercheurs utilisent souvent des algorithmes d'attaque pour générer des perturbations dans le pire des cas, puis mesurent la précision du modèle sur ces exemples. Cependant, le choix de l'attaque peut influencer considérablement la robustesse mesurée, conduisant à un jeu du chat et de la souris entre attaquants et défenseurs.
Des référentiels ont été développés pour standardiser l'évaluation de la robustesse. Par exemple, les ensembles de données ImageNet-C et ImageNet-A testent la robustesse aux corruptions courantes et aux exemples adversariales naturels, respectivement. Le classement RobustBench fournit une plateforme standardisée pour comparer la robustesse adversarial entre modèles et défenses. En plus de la précision, d'autres métriques telles que l'erreur de calibration et l'incertitude prédictive sont utilisées pour évaluer la robustesse. Un modèle robuste ne doit pas seulement être précis, mais aussi bien calibré, ce qui signifie que ses scores de confiance reflètent sa probabilité réelle de correction.
Techniques pour améliorer la robustesse
Plusieurs techniques ont été développées pour améliorer la robustesse des modèles. L'entraînement adversarial, proposé pour la première fois par Goodfellow et al., consiste à augmenter les données d'entraînement avec des exemples adversariales générés pendant l'entraînement. Cette approche a montré qu'elle améliore la robustesse contre l'attaque spécifique utilisée pour l'augmentation, mais souvent au prix d'une précision réduite sur les données propres. Des variantes plus avancées, comme TRADES et l'entraînement adversarial avec PGD, visent à équilibrer robustesse et précision.
L'augmentation de données est une autre technique largement utilisée. En appliquant des transformations comme le recadrage aléatoire, le retournement ou la variation de couleur aux images d'entraînement, les modèles apprennent à être invariants à ces variations. L'augmentation peut également inclure des perturbations synthétiques comme l'ajout de bruit ou de flou. Les techniques de régularisation, telles que la décroissance du poids, l'abandon (dropout) et la normalisation par lots, aident à prévenir le surapprentissage et peuvent indirectement améliorer la robustesse. Plus récemment, des méthodes comme mixup et CutMix, qui créent des combinaisons convexes d'exemples d'entraînement, ont montré qu'elles améliorent la robustesse à certains types de perturbations.
Les choix architecturaux influencent également la robustesse. Par exemple, les réseaux résiduels avec connexions de saut sont généralement plus robustes que les réseaux profonds simples. Les modèles basés sur transformeurs, tels que les grands modèles de langage, ont montré une robustesse remarquable à certains types de perturbations d'entrée, bien qu'ils restent vulnérables aux attaques adversariales. Les méthodes d'ensemble, où plusieurs modèles sont combinés, peuvent améliorer la robustesse en moyennant les erreurs individuelles des modèles.
Défis et compromis
Améliorer la robustesse des modèles n'est pas sans défis. L'un des plus significatifs est le compromis robustesse-précision : les modèles plus robustes aux perturbations adversariales ont souvent une précision plus faible sur les données propres. Ce compromis a été étudié de manière approfondie, et certains chercheurs soutiennent qu'il est fondamental, tandis que d'autres pensent qu'il peut être surmonté avec de meilleures méthodes d'entraînement. Un autre défi est le coût computationnel de l'entraînement robuste, qui peut être plusieurs fois plus élevé que l'entraînement standard en raison de la nécessité de générer des exemples adversariales.
La robustesse dépend également du modèle de menace - l'ensemble des perturbations considérées. Un modèle robuste à un type d'attaque peut être vulnérable à un autre. Cela a conduit au développement d'attaques adaptatives, où un attaquant connaît la défense et conçoit des attaques spécifiquement pour la contourner. L'évaluation de la robustesse sous des attaques adaptatives est considérée comme la référence absolue, mais elle est coûteuse en calcul et nécessite une expertise.
De plus, la robustesse au changement de distribution est intrinsèquement difficile car l'espace des changements possibles est vaste. Comme le note la littérature générale en informatique, construire des systèmes qui couvrent tous les points de défaillance possibles est difficile en raison de la vaste quantité d'entrées et de combinaisons d'entrées possibles. Dans l'apprentissage automatique, cela est exacerbé par la nature de haute dimension des données. Les chercheurs s'appuient souvent sur des techniques de généralisation, comme l'adaptation de domaine et la généralisation de domaine, pour gérer les changements inédits, mais ces méthodes ont des limites.
Applications et importance
La robustesse des modèles est critique dans de nombreuses applications réelles. Dans la conduite autonome, les modèles doivent fonctionner de manière fiable dans des conditions météorologiques, d'éclairage et de scénarios routiers variés. Un modèle robuste garantit qu'une voiture autonome peut naviguer en toute sécurité dans des situations inattendues. Dans le domaine de la santé, les modèles utilisés pour le diagnostic doivent être robustes aux variations des équipements d'imagerie médicale et des populations de patients. Dans la finance, les modèles de détection de fraude doivent s'adapter à l'évolution des schémas d'attaque.
La robustesse est également importante pour la fiabilité des systèmes d'IA. Si un modèle échoue de manière imprévisible en production, cela peut éroder la confiance des utilisateurs et entraîner des erreurs coûteuses. Les cadres réglementaires, comme l'AI Act de l'Union européenne, commencent à exiger la robustesse comme critère clé pour les systèmes d'IA à haut risque. À mesure que l'IA devient plus intégrée dans la société, la demande de modèles robustes ne fera qu'augmenter.
Orientations futures
La recherche sur la robustesse des modèles continue d'évoluer. Une direction prometteuse est le développement de la robustesse certifiée, où les modèles sont garantis robustes aux perturbations dans une certaine limite. Cela est réalisé grâce à des techniques comme le lissage aléatoire et les réseaux de neurones vérifiables. Une autre direction est l'étude de la robustesse dans les grands modèles de langage, qui présentent des vulnérabilités uniques telles que l'injection de prompt et le texte adversarial. Les chercheurs explorent également le lien entre la robustesse et l'interprétabilité, avec l'idée que des modèles plus interprétables peuvent être plus robustes.
Il existe également un intérêt croissant pour la robustesse au changement de distribution dans le contexte de l'apprentissage continu, où les modèles doivent s'adapter à de nouvelles données sans oublier les connaissances anciennes. Enfin, le domaine évolue vers des notions plus holistiques de la robustesse qui englobent non seulement les perturbations adversariales, mais aussi les considérations sociales et éthiques, telles que l'équité et les biais. Comme le note le matériel source, la robustesse est difficile à atteindre de manière générale, et cela reste un défi ouvert pour la communauté de l'apprentissage automatique.
Voir aussi
- Tolérance aux pannes
- Programmation défensive
- Exigence non fonctionnelle