Adversarial Attacks
Explore comment les attaques adverses manipulent les modèles d'apprentissage automatique. Découvre les stratégies « white-box » et « black-box », les risques pour la sécurité de l'IA et la défense avec Ultralytics YOLO26.
Les attaques adverses sont une catégorie sophistiquée de techniques de manipulation conçues pour tromper les modèles d'apprentissage automatique (ML) afin qu'ils fassent des prédictions incorrectes avec une grande confiance. Ces attaques fonctionnent en introduisant 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 paraissent inoffensifs ou aléatoires pour un observateur humain, ils exploitent des vulnérabilités mathématiques spécifiques dans les frontières de décision des réseaux neuronaux de haute dimension. À mesure que les systèmes d'Intelligence Artificielle (IA) deviennent essentiels aux infrastructures critiques, comprendre comment fonctionnent ces vulnérabilités est crucial pour développer des protocoles de sécurité de l'IA et des mécanismes de défense robustes.
Link to this sectionComment fonctionnent les attaques adverses#
Dans un processus d'entraînement classique d'apprentissage profond (DL), un modèle optimise ses poids pour 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 adverse calcule la « direction » précise dans cet espace nécessaire pour pousser une entrée au-delà d'une frontière, inversant ainsi la classification du modèle. Par exemple, en vision par ordinateur (CV), modifier les valeurs de pixels d'une image de panda par une quantité calculée de « bruit » pourrait amener le système à la classer de manière erronée et confiante comme un gibbon, même si l'image ressemble exactement à un panda pour l'œil humain.
Les stratégies d'attaque sont généralement classées selon le niveau d'accès dont dispose l'attaquant au système cible :
- Attaques en boîte blanche : L'attaquant a une transparence totale sur l'architecture, les gradients et les poids du modèle. Cela lui permet de calculer mathématiquement la perturbation la plus efficace, souvent en utilisant des techniques comme la méthode du gradient rapide (FGSM).
- Attaques en boîte noire : L'attaquant n'a aucune connaissance des paramètres internes du modèle et ne peut qu'observer les entrées et les sorties. Les attaquants utilisent souvent un « modèle de substitution » pour générer des exemples adverses qui se transfèrent efficacement vers le système cible, une propriété connue sous le nom de transférabilité.
Link to this sectionApplications réelles et risques#
Bien qu'elles soient souvent abordées dans la recherche théorique, les attaques adverses présentent des risques tangibles pour les déploiements réels, en particulier 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. La recherche a démontré que l'application d'autocollants ou de ruban adhésif soigneusement conçus sur un panneau d'arrêt peut tromper le système de vision du véhicule, lui faisant percevoir 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.
- Évitement de la reconnaissance faciale : Les systèmes de sécurité qui contrôlent l'accès sur la base de la biométrie peuvent être compromis par des « patchs » adverses. Il peut s'agir de motifs imprimés portés sur des lunettes ou des vêtements qui perturbent le processus d'extraction de caractéristiques. Cela permet à un individu non autorisé d'échapper totalement à la détection ou d'usurper l'identité d'un utilisateur spécifique, en contournant les systèmes d'alarme de sécurité.
Link to this sectionGénérer des exemples adverses avec Python#
To understand how fragile some models can be, it is helpful to see how easily an image can be perturbed. While standard inference with models like YOLO26 is robust for general use, researchers often simulate attacks to improve model monitoring and defense. The following conceptual example uses PyTorch to show how gradients are used to calculate an adversarial perturbation (noise) for an 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 perturbationLink to this sectionConcepts associés#
Il est important de distinguer les attaques adverses d'autres formes de défaillance ou de manipulation de modèle :
- Empoisonnement des données : Contrairement aux attaques adverses qui manipulent l' entrée pendant l'inférence (moment du test), l'empoisonnement des données implique la corruption des données d'entraînement elles-mêmes avant que le modèle ne soit construit, en intégrant des portes dérobées cachées ou des biais.
- Injection de prompt : Ceci est spécifique aux grands modèles de langage (LLM) et aux interfaces textuelles. Bien que conceptuellement similaire — tromper le modèle — cela repose sur une manipulation sémantique du langage plutôt que sur une perturbation mathématique des données de pixels ou de signaux.
- Surapprentissage : Il s'agit d'une défaillance de l'entraînement où un modèle apprend le bruit présent dans les données d'entraînement plutôt que le modèle sous-jacent. Les modèles en surapprentissage sont souvent plus sensibles aux attaques adverses car leurs frontières de décision sont trop complexes et fragiles.
Développer des défenses contre ces attaques est un élément central du MLOps moderne. Des techniques telles que l'entraînement adverse — où des exemples attaqués sont ajoutés au jeu d'entraînement — aident les modèles à devenir plus résilients. Des plateformes comme la Ultralytics Platform facilitent des pipelines d'entraînement et de validation rigoureux, permettant aux équipes d'évaluer la robustesse des modèles avant de les déployer sur des appareils de périphérie.






