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 contradictoires 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 semblent 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 de neurones à haute dimension. À mesure que les systèmes d'intelligence artificielle (IA) deviennent indispensables aux infrastructures critiques pour la sécurité, il est essentiel de comprendre comment fonctionnent ces vulnérabilités pour développer des protocoles de sécurité de l'IA et des mécanismes de défense robustes.
Comment fonctionnent les attaques adverses#
Dans un processus d'apprentissage profond (DL) classique, 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 contradictoire calcule la « direction » précise dans cet espace nécessaire pour pousser une entrée au-delà d'une frontière, inversant la classification du modèle. Par exemple, en vision par ordinateur (CV), modifier les valeurs des pixels d'une image de panda d'une quantité calculée de « bruit » peut amener le système à la classifier à tort comme un gibbon avec certitude, même si l'image ressemble toujours 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 à boîte blanche : L'attaquant dispose d'une transparence totale sur l'architecture, les gradients et les poids du modèle du modèle. Cela lui permet de calculer mathématiquement la perturbation la plus efficace, en utilisant souvent des techniques telles que la méthode du gradient rapide de signe (FGSM).
- Attaques à 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 contradictoires qui se transfèrent efficacement au système cible, une propriété connue sous le nom de transférabilité.
Applications 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. Des recherches ont dé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 pour qu'il le perçoive comme un panneau de limitation de vitesse. Ce type d'attaque dans le monde physique pourrait entraîner des pannes dangereuses dans les applications d'IA dans l'automobile.
- Évadés 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 » contradictoires. 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 complètement à la détection ou d'usurper l'identité d'un utilisateur spécifique, contournant ainsi les systèmes d'alarme de sécurité.
Générer des exemples adverses avec Python#
Pour comprendre à quel point certains modèles peuvent être fragiles, il est utile de voir à quel point il est facile de perturber une image. 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 pour améliorer la surveillance des modèles et la défense. L'exemple conceptuel suivant utilise PyTorch pour montrer comment les gradients sont utilisés pour calculer une perturbation contradictoire (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 adverses d'autres formes de défaillance ou de manipulation de modèle :
- Empoisonnement des données : Contrairement aux attaques contradictoires qui manipulent l'entrée pendant l'inférence (phase de test), l'empoisonnement des données consiste à corrompre les données d'entraînement elles-mêmes avant la construction du modèle, en y intégrant des portes dérobées ou des biais cachés.
- Injection de requêtes : Ceci est spécifique aux grands modèles de langage (LLM) et aux interfaces textuelles. Bien que conceptuellement similaire — tromper le modèle —, elle 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'un échec d'entraînement où un modèle apprend le bruit des données d'entraînement plutôt que le motif sous-jacent. Les modèles en surapprentissage sont souvent plus sensibles aux attaques contradictoires parce que leurs frontières de décision sont excessivement complexes et fragiles.
Le développement de défenses contre ces attaques est un élément central du MLOps moderne. Des techniques telles que l'entraînement contradictoire — où des exemples attaqués sont ajoutés au jeu d'entraînement — aident les modèles à devenir plus résilients. Des plateformes telles que Ultralytics Platform facilitent les pipelines de formation et de validation rigoureux, permettant aux équipes d'évaluer la robustesse des modèles avant de les déployer sur des appareils périphériques.






