Adversarial Attacks
Esplora come gli attacchi avversari manipolano i modelli di machine learning. Scopri le strategie white-box e black-box, i rischi per la sicurezza dell'IA e la difesa con Ultralytics YOLO26.
Gli attacchi avversari sono una categoria sofisticata di tecniche di manipolazione progettate per ingannare i modelli di machine learning (ML) e spingerli a fare previsioni errate con elevata confidenza. Questi attacchi operano introducendo perturbazioni sottili, spesso impercettibili, ai dati di input, come immagini, audio o testo. Sebbene tali modifiche appaiano innocue o casuali a un osservatore umano, sfruttano specifiche vulnerabilità matematiche nei decision boundaries delle reti neurali ad alta dimensionalità. Poiché i sistemi di Artificial Intelligence (AI) diventano parte integrante delle infrastrutture critiche per la sicurezza, comprendere come funzionano queste vulnerabilità è essenziale per sviluppare protocolli di AI safety e meccanismi di difesa robusti.
Link to this sectionCome funzionano gli attacchi avversari#
In un tipico processo di addestramento di deep learning (DL), un modello ottimizza i propri pesi per ridurre al minimo l'errore su un set di dati di addestramento. Tuttavia, questi modelli creano essenzialmente mappe complesse in uno spazio multidimensionale. Un attacco avversario calcola la precisa "direzione" in questo spazio necessaria per spingere un input oltre un confine, alterando la classificazione del modello. Ad esempio, nella computer vision (CV), cambiare i valori dei pixel di un'immagine di un panda con una quantità calcolata di "rumore" potrebbe indurre il sistema a classificarlo erroneamente con sicurezza come un gibbone, anche se l'immagine appare esattamente come un panda all'occhio umano.
Le strategie di attacco sono generalmente classificate in base al livello di accesso dell'attaccante al sistema target:
- White-Box Attacks: L'attaccante ha piena trasparenza sull'architettura, sui gradienti e sui model weights del modello. Ciò consente di calcolare matematicamente la perturbazione più efficace, spesso utilizzando tecniche come il Fast Gradient Sign Method (FGSM).
- Black-Box Attacks: L'attaccante non ha alcuna conoscenza dei parametri interni del modello e può solo osservare input e output. Gli attaccanti spesso utilizzano un "modello sostitutivo" per generare esempi avversari che si trasferiscono efficacemente al sistema target, una proprietà nota come trasferibilità.
Link to this sectionApplicazioni nel mondo reale e rischi#
Sebbene spesso discussi nella ricerca teorica, gli attacchi avversari pongono rischi tangibili per le implementazioni nel mondo reale, in particolare nei sistemi autonomi e nella sicurezza.
- Autonomous Vehicles: Le auto a guida autonoma si affidano pesantemente all'object detection per interpretare i segnali stradali. La ricerca ha dimostrato che applicare adesivi o nastro adesivo accuratamente posizionati a un segnale di stop può indurre il sistema di visione del veicolo a percepirlo come un segnale di limite di velocità. Questo tipo di attacco nel mondo fisico potrebbe portare a pericolosi guasti nelle applicazioni di AI in automotive.
- Facial Recognition Evaders: I sistemi di sicurezza che controllano l'accesso basandosi sulla biometria possono essere compromessi da "patch" avversarie. Si tratta di motivi stampati su occhiali o abbigliamento che disturbano il processo di feature extraction. Ciò consente a un individuo non autorizzato di evitare completamente il rilevamento o di impersonare un utente specifico, aggirando i security alarm systems.
Link to this sectionGenerazione di esempi avversari in 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 sectionConcetti correlati#
È importante distinguere gli attacchi avversari da altre forme di guasto o manipolazione del modello:
- Data Poisoning: A differenza degli attacchi avversari che manipolano l'input durante l'inferenza (fase di test), il data poisoning comporta la corruzione dei training data stessi prima che il modello venga costruito, inserendo backdoor o bias nascosti.
- Prompt Injection: Questo aspetto è specifico per i Large Language Models (LLMs) e le interfacce testuali. Sebbene concettualmente simile, ovvero l'inganno del modello, si basa sulla manipolazione semantica del linguaggio anziché sulla perturbazione matematica di pixel o segnali.
- Overfitting: Si tratta di un errore di addestramento in cui un modello apprende il rumore nei dati di addestramento invece dello schema sottostante. I modelli in overfitting sono spesso più suscettibili agli attacchi avversari perché i loro confini di decisione sono eccessivamente complessi e fragili.
Sviluppare difese contro questi attacchi è una componente fondamentale del moderno MLOps. Tecniche come l'addestramento avversario, in cui esempi attaccati vengono aggiunti al set di addestramento, aiutano i modelli a diventare più resilienti. Piattaforme come Ultralytics Platform facilitano pipeline rigorose di addestramento e validazione, consentendo ai team di valutare la robustezza del modello prima del deploy su dispositivi edge.






