Adversarial Attacks
Scopri come gli attacchi avversari manipolano i modelli di machine learning. Approfondisci le strategie white-box e black-box, i rischi per la sicurezza dell'AI e la difesa con Ultralytics YOLO26.
Gli attacchi avversari sono una sofisticata categoria di tecniche di manipolazione progettate per ingannare i modelli di apprendimento automatico (ML), inducendoli a effettuare previsioni errate con elevata sicurezza. Questi attacchi operano introducendo perturbazioni sottili e spesso impercettibili nei dati di input, come immagini, audio o testo. Sebbene questi cambiamenti appaiano innocui o casuali a un osservatore umano, sfruttano specifiche vulnerabilità matematiche nei confini decisionali delle reti neurali ad alta dimensionalità. Poiché i sistemi di Intelligenza Artificiale (AI) diventano parte integrante delle infrastrutture critiche per la sicurezza, comprendere il funzionamento di queste vulnerabilità è essenziale per sviluppare protocolli solidi di sicurezza dell'AI e meccanismi di difesa.
Come 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 dataset di addestramento. Tuttavia, questi modelli creano essenzialmente mappe complesse in uno spazio multidimensionale. Un attacco avversario calcola la precisa "direzione" necessaria in questo spazio per spingere un input oltre un confine, modificando la classificazione del modello. Ad esempio, nella visione artificiale (CV), modificare i valori dei pixel di un'immagine di un panda con una quantità calcolata di "rumore" potrebbe indurre il sistema a classificarla erroneamente e con elevata sicurezza come un gibbone, anche se all'occhio umano l'immagine continua ad apparire esattamente come quella di un panda.
Le strategie di attacco sono generalmente classificate in base al livello di accesso che l'attaccante ha al sistema target:
- Attacchi white-box: l'attaccante ha piena visibilità sull'architettura del modello, sui gradienti e sui pesi del modello. Questo gli consente di calcolare matematicamente la perturbazione più efficace, spesso utilizzando tecniche come il Metodo del segno del gradiente rapido (FGSM).
- Attacchi black-box: l'attaccante non conosce i parametri interni del modello e può osservare soltanto input e output. Gli attaccanti utilizzano spesso un "modello sostitutivo" per generare esempi avversari che si trasferiscono efficacemente al sistema target, una proprietà nota come trasferibilità.
Applicazioni e rischi nel mondo reale#
Sebbene siano spesso discussi nella ricerca teorica, gli attacchi avversari comportano rischi concreti per le implementazioni nel mondo reale, in particolare nei sistemi autonomi e nella sicurezza.
- Veicoli autonomi: le auto a guida autonoma fanno ampio affidamento sul rilevamento degli oggetti per interpretare i segnali stradali. La ricerca ha dimostrato che applicare adesivi o nastro appositamente progettati 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 causare pericolosi malfunzionamenti nelle applicazioni di AI nel settore automobilistico.
- Evasori del riconoscimento facciale: i sistemi di sicurezza che controllano l'accesso sulla base di dati biometrici possono essere compromessi da "patch" avversarie. Possono essere motivi stampati indossati su occhiali o abiti, che interferiscono con il processo di estrazione delle caratteristiche. Questo consente a una persona non autorizzata di eludere completamente il rilevamento oppure di impersonare un utente specifico, aggirando i sistemi di allarme di sicurezza.
Generazione di esempi avversari in Python#
Per comprendere quanto possano essere fragili alcuni modelli, è utile osservare con quale facilità un'immagine possa essere perturbata. Sebbene l'inferenza standard con modelli come YOLO26 sia robusta per l'uso generale, i ricercatori simulano spesso gli attacchi per migliorare il monitoraggio dei modelli e la difesa. Il seguente esempio concettuale utilizza PyTorch per mostrare come impiegare i gradienti per calcolare una perturbazione avversaria (rumore) per un'immagine.
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 perturbationConcetti correlati#
È importante distinguere gli attacchi avversari da altre forme di errore o manipolazione del modello:
- Avvelenamento dei dati: a differenza degli attacchi avversari, che manipolano l'input durante l'inferenza (fase di test), l'avvelenamento dei dati consiste nel danneggiare i dati di addestramento prima della creazione del modello, incorporando backdoor o distorsioni nascoste.
- Prompt injection: è specifico dei modelli linguistici di grandi dimensioni (LLMs) e delle interfacce testuali. Sebbene sia concettualmente simile, in quanto inganna il modello, si basa sulla manipolazione semantica del linguaggio anziché sulla perturbazione matematica dei dati dei pixel o del segnale.
- Overfitting: è un errore di addestramento in cui un modello apprende il rumore presente nei dati di addestramento anziché il modello sottostante. I modelli in overfitting sono spesso più suscettibili agli attacchi avversari perché i loro confini decisionali sono eccessivamente complessi e fragili.
Lo sviluppo di difese contro questi attacchi è una componente fondamentale dei moderni MLOps. Tecniche come l'addestramento avversario, in cui gli esempi attaccati vengono aggiunti al set di addestramento, aiutano i modelli a diventare più resilienti. Piattaforme come la Ultralytics Platform facilitano pipeline rigorose di addestramento e convalida, consentendo ai team di valutare la robustezza dei modelli prima di implementarli sui dispositivi edge.









