Adversarial Attacks
Explore comment les attaques adversariales manipulent les modèles de machine learning. Découvre les stratégies en boîte blanche et en boîte noire, les risques pour la sécurité de l’IA et la défense avec Ultralytics YOLO26.
Les attaques adversariales constituent une catégorie sophistiquée de techniques de manipulation conçues pour tromper les modèles d’apprentissage automatique (ML) afin qu’ils produisent des prédictions incorrectes avec une grande confiance. Ces attaques consistent à introduire des perturbations subtiles, souvent imperceptibles, dans les données d’entrée — telles que des images, de l’audio ou du texte. Bien que ces changements semblent inoffensifs ou aléatoires pour un observateur humain, ils exploitent des vulnérabilités mathématiques spécifiques des frontières de décision des réseaux neuronaux à haute dimension. Alors que les systèmes d’intelligence artificielle (AI) deviennent indispensables aux infrastructures critiques pour la sécurité, il est essentiel de comprendre le fonctionnement de ces vulnérabilités pour développer des protocoles robustes de sécurité de l’IA et des mécanismes de défense.
Fonctionnement des attaques adversariales#
Lors d’un processus classique d’apprentissage profond (DL), un modèle optimise ses poids afin de minimiser l’erreur sur un jeu de données d’entraînement. Cependant, ces modèles créent essentiellement des cartes complexes dans un espace multidimensionnel. Une attaque adversariale calcule la « direction » précise à prendre dans cet espace pour faire franchir une frontière à une entrée et inverser la classification du modèle. Par exemple, en vision par ordinateur (CV), modifier les valeurs des pixels d’une image de panda avec une quantité calculée de « bruit » peut amener le système à la classer à tort avec confiance comme un gibbon, même si l’image ressemble toujours exactement à un panda aux yeux d’un humain.
Les stratégies d’attaque sont généralement classées selon le niveau d’accès de l’attaquant au système cible :
- Attaques en boîte blanche : L’attaquant dispose d’une visibilité complète sur l’architecture du modèle, ses gradients et ses poids. Il peut ainsi calculer mathématiquement la perturbation la plus efficace, souvent à l’aide de techniques telles que la méthode du signe du gradient rapide (FGSM).
- Attaques en boîte noire : L’attaquant ne connaît pas les paramètres internes du modèle et peut uniquement observer les entrées et les sorties. Les attaquants utilisent souvent un « modèle substitut » pour générer des exemples adversariaux qui se transfèrent efficacement au système cible, une propriété appelée transférabilité.
Applications et risques dans le monde réel#
Bien qu’elles soient souvent abordées dans le cadre de recherches théoriques, les attaques adversariales présentent des risques concrets pour les déploiements dans le monde réel, notamment dans les systèmes autonomes et la sécurité.
- Véhicules autonomes : Les voitures autonomes dépendent fortement de la détection d’objets pour interpréter les panneaux de signalisation. Des recherches ont montré que l’application d’autocollants ou de ruban adhésif soigneusement conçus sur un panneau « Stop » peut tromper le système de vision du véhicule et lui faire percevoir ce panneau comme un panneau de limitation de vitesse. Ce type d’attaque dans le monde physique pourrait entraîner des défaillances dangereuses dans les applications d’IA dans l’automobile.
- Personnes contournant la reconnaissance faciale : Les systèmes de sécurité qui contrôlent l’accès à l’aide de données biométriques peuvent être compromis par des « patchs » adversariaux. Il peut s’agir de motifs imprimés portés sur des lunettes ou des vêtements, qui perturbent le processus d’extraction des caractéristiques. Une personne non autorisée peut ainsi soit échapper entièrement à la détection, soit usurper l’identité d’un utilisateur spécifique, en contournant les systèmes d’alarme de sécurité.
Générer des exemples adversariaux en Python#
Pour comprendre à quel point certains modèles peuvent être fragiles, il est utile d’observer avec quelle facilité une image peut être perturbée. Bien que l’inférence standard avec des modèles tels que YOLO26 soit robuste pour un usage général, les chercheurs simulent souvent des attaques afin d’améliorer la surveillance des modèles et leur défense. L’exemple conceptuel suivant utilise PyTorch pour montrer comment les gradients servent à calculer une perturbation adversariale (bruit) pour une image.
import torch.nn.functional as F
# Assume 'model' is a loaded PyTorch model and 'image' is a normalized tensor
# 'target_class' is the correct label index for the image
def generate_adversarial_noise(model, image, target_class, epsilon=0.01):
# Enable gradient calculation for the input image
image.requires_grad = True
# Forward pass: get prediction
output = model(image)
# Calculate loss based on the correct class
loss = F.nll_loss(output, target_class)
# Backward pass: calculate gradients of loss w.r.t input
model.zero_grad()
loss.backward()
# Create perturbation using the sign of the data gradient (FGSM)
# This pushes the image in the direction of maximizing error
perturbation = epsilon * image.grad.data.sign()
return perturbationConcepts associés#
Il est important de distinguer les attaques adversariales des autres formes de défaillance ou de manipulation des modèles :
- Empoisonnement des données : Contrairement aux attaques adversariales, qui manipulent l’entrée lors de l’inférence (phase de test), l’empoisonnement des données consiste à corrompre les données d’entraînement elles-mêmes avant la création du modèle, en y intégrant des portes dérobées ou des biais dissimulés.
- Injection de prompt : Cette technique est spécifique aux grands modèles de langage (LLMs) et aux interfaces textuelles. Bien qu’elle soit conceptuellement similaire — tromper le modèle —, elle repose sur une manipulation sémantique du langage plutôt que sur une perturbation mathématique des pixels ou des données de signal.
- Surapprentissage : Il s’agit d’une défaillance d’entraînement au cours de laquelle un modèle apprend le bruit présent dans les données d’entraînement plutôt que le motif sous-jacent. Les modèles en surapprentissage sont souvent plus vulnérables aux attaques adversariales, car leurs frontières de décision sont excessivement complexes et fragiles.
Le développement de défenses contre ces attaques est une composante essentielle du MLOps moderne. Des techniques telles que l’entraînement adversarial — qui consiste à ajouter des exemples attaqués au jeu d’entraînement — aident les modèles à devenir plus résilients. Des plateformes comme l’Ultralytics Platform facilitent la mise en place de pipelines rigoureux d’entraînement et de validation, permettant aux équipes d’évaluer la robustesse des modèles avant leur déploiement sur des appareils périphériques.









