Simple Science

Scienza all'avanguardia spiegata semplicemente

# Statistica # Visione artificiale e riconoscimento di modelli # Apprendimento automatico # Applicazioni

Rafforzare il Deep Learning contro attacchi avversari

Nuovo metodo migliora la sicurezza del deep learning con impronte neurali randomiche.

Haim Fisher, Moni Shahar, Yehezkel S. Resheff

― 8 leggere min


Meccanismo di Difesa AI Meccanismo di Difesa AI Contro Attacchi learning. per proteggere i modelli di deep Nuovo metodo delle impronte digitali
Indice

Negli ultimi anni, i modelli di deep learning sono diventati super popolari per compiti come la classificazione delle immagini. Ma c'è un problema: questi modelli possono essere ingannati da quello che chiamiamo Esempi avversariali. Sono immagini che sono state cambiate leggermente, in un modo che le persone non notano nemmeno, ma il modello si confonde e le etichetta male. È un po' come quando vedi un amico con un nuovo taglio di capelli che ti sbalordisce per un attimo!

Quindi, i ricercatori si sono messi al lavoro per risolvere questo problema. Hanno pensato a due strategie principali: una è rendere i modelli più resistenti agli attacchi, e l'altra è costruire sistemi che possano rilevare quando un'immagine è stata modificata. Anche se molti di questi Sistemi di rilevamento funzionano bene, hanno comunque un grande difetto. Se i malintenzionati (gli attaccanti) sanno come funziona il modello, possono semplicemente testare un sacco di immagini sulla loro versione e inviare solo quelle subdole che passano inosservate. È come lasciare che qualcuno scopra la tua password segreta perché conosce le tue domande di sicurezza!

Questo ci porta a un problema classico nella cybersecurity: non importa quanto sia bravo il tuo guardiano, se il ladro conosce le tue difese, può trovare delle falle. Per affrontare questo, proponiamo un metodo che coinvolge la casualità. Ecco il punto: invece di affidarsi a un solo guardiano statico (o rivelatore), possiamo crearne un sacco di diversi e sceglierne uno a caso ogni volta che qualcuno cerca di entrare di soppiatto. In questo modo, gli attaccanti non possono facilmente trovare un modo per superare tutti i guardiani, dato che non sapranno quale è in servizio.

Cosa sono le impronte neurali?

Ora, parliamo nei dettagli del nostro nuovo metodo, chiamato impronte neurali. Immagina ogni rivelatore come un insieme unico di impronte digitali prese da vari neuroni nel modello di deep learning. Durante l'addestramento, guardiamo a piccole selezioni casuali di questi neuroni tra le diverse classi. Se scopriamo che alcuni gruppi di neuroni reagiscono in modo diverso alle immagini pulite e a quelle attaccate, li aggiungiamo alla nostra collezione di impronte. Pensalo come collezionare carte Pokémon, ma invece stai raccogliendo impronte di neuroni intelligenti.

Quando è il momento di testare, sceglieremo casualmente un paio di impronte dalla nostra collezione associate all'etichetta che il modello pensa appartenga all'input. Da lì, possiamo controllare se l'input sembra normale o se qualcuno ha cercato di ingannarci.

Perché è importante?

I modelli di deep learning sono ovunque adesso, alimentando tutto, dalla tua app fotografica preferita alle auto a guida autonoma. Tuttavia, quando sono vulnerabili ad attacchi avversariali, rappresentano un rischio in settori critici come la sanità e la sicurezza. Con queste impronte neurali, possiamo costruire un sistema più robusto che rende estremamente difficile per gli attaccanti superare le difese.

Le basi degli attacchi avversariali

Quindi, come funzionano esattamente questi attacchi avversariali? Spezziamo tutto in modo semplice. Immagina un'immagine pulita che il modello riconosce perfettamente. Ora immagina se qualcuno volesse modificare quell'immagine appena un po', così quando passa attraverso il sistema, il modello vede un'immagine totalmente diversa. Potrebbe essere un piccolo cambiamento, un pixel qui o lì, che la maggior parte delle persone nemmeno noterebbe. Se tutto va bene, il modello potrebbe etichettare questa immagine subdola come una categoria completamente diversa.

Gli attacchi vengono in diverse varianti, come un buffet. In un caso, un attaccante potrebbe voler ingannare il sistema per classificare un'immagine come un oggetto completamente diverso. Oppure potrebbero semplicemente voler confondere il modello facendogli pensare che sia qualcosa di diverso da quello che è. Se questo ti sembra un inganno, beh, lo è!

La sfida degli Attacchi White-Box

In quello che chiamiamo attacco white-box, l'attaccante conosce ogni dettaglio del modello. È come avere un insider nella squadra! Questo significa che possono facilmente testare un sacco di esempi avversariali fino a trovare uno che scivola attraverso inosservato. Con questa conoscenza completa, anche i migliori sistemi di rilevamento possono avere difficoltà a tenere lontani gli attaccanti.

Una soluzione intelligente con la casualità

Quindi, ecco dove entra in gioco la nostra idea. Invece di avere solo uno o due rivelatori, possiamo creare una varietà gigantesca di essi. In questo modo, anche se un attaccante trova un paio di modi per ingannare il modello, non saprà quale rivelatore è in uso in quel momento. Aggiunge un livello di casualità che mantiene confusi gli attaccanti, proprio come un gioco di Whac-A-Mole!

L’obiettivo è avere un grande pool di rivelatori che possano ottenere prestazioni abbastanza buone, mantenendo al contempo un funzionamento fluido. Il processo di selezione casuale significa che gli attaccanti non possono semplicemente sedersi e testare vari input su un sistema statico, poiché non sapranno quale rivelatore sta osservando il loro input.

Il processo di creazione delle impronte neurali

Ora, andiamo a vedere come creiamo effettivamente queste impronte neurali. Quando addestriamo il nostro modello, daremo un'occhiata a classi specifiche. Per ogni classe, campioneremo alcuni neuroni casuali. Cerchiamo di capire se la risposta media di questi neuroni differisce significativamente quando inseriamo immagini pulite rispetto a quelle attaccate. Se lo fanno, sappiamo di avere un'impronta potenziale da tenere.

Per il testing, raccogliamo impronte associate alla categoria prevista dell'input. Controlliamo quindi se questo input è probabilmente pulito o se sta cercando di ingannarci.

Il processo di raccolta delle impronte è basato sull'applicazione di un semplice test statistico che ci dice se la probabilità di vedere un risultato è sufficientemente bassa da pensare che sia avvenuto un attacco. Dato il variegato campione di impronte raccolte casualmente, è come avere un insieme di piccoli rivelatori sparsi dappertutto, rendendo quasi impossibile prevedere quale catturerà l'attaccante.

Valutazione dell'efficacia

Per vedere quanto bene funziona il nostro metodo, lo abbiamo messo alla prova su un ampio dataset chiamato ImageNet. Abbiamo analizzato diversi modi in cui gli attaccanti potrebbero cercare di ingannare il modello e abbiamo valutato quanto bene le nostre impronte neurali potessero rilevare questi inganni.

Nei nostri test, abbiamo scoperto che l'uso del test del rapporto di probabilità ha dato i migliori risultati. Altri metodi, come utilizzare voti da diverse impronte o impostare una soglia basata su quanto sia probabile che l'input sia normale, hanno mostrato anche loro delle promesse. Tuttavia, il rapporto di probabilità è stato il protagonista della giornata.

Con un insieme di impronte in azione, i nostri rivelatori sono stati in grado di mantenere alte percentuali di rilevamento contro esempi avversariali, mantenendo bassi i falsi allarmi. È come avere un cane da guardia che può distinguere tra il tuo amico e un intruso subdolo!

Uno sguardo veloce al lavoro correlato

Certo, non siamo i primi a occuparci di rilevamento avversariale. Altri hanno anche utilizzato strati nascosti delle reti neurali per cercare di rilevare quando qualcosa di strano accade. Ma il nostro metodo è diverso e offre una soluzione per proteggere da questi attacchi in modo più dinamico. Invece di restare fermi con un solo approccio, mescoliamo le cose con una grande varietà di impronte.

Per alcuni, cercare di utilizzare l'intero strato nascosto per rilevare input avversariali potrebbe sembrare intelligente, ma falliscono perché gli attaccanti possono facilmente adattare le loro tattiche. Il nostro metodo, invece, mantiene le cose fresche e varie, rendendo molto più difficile per loro ingannare il sistema.

Mettendo alla prova le impronte neurali

Per valutare l'efficacia del nostro metodo, abbiamo condotto esperimenti approfonditi utilizzando vari modelli di deep learning e attacchi avversariali sul dataset ImageNet. L'obiettivo era vedere quanto bene le nostre impronte neurali potessero affrontare diverse situazioni.

Per ogni modello e tipo di attacco, abbiamo campionato immagini e le abbiamo suddivise in set di addestramento e test. Ci siamo assicurati che le immagini selezionate fossero candidate forti per un attacco di successo. Questo significa che abbiamo eseguito i nostri test solo su immagini che avevano solide possibilità di ingannare il modello.

Abbiamo utilizzato reti popolari come Inception V3 e ViT per controllare quanto bene il nostro sistema di impronte si reggesse sotto diverse condizioni. Utilizzando metodi come il Fast Gradient Sign Method (FGSM) e il Projected Gradient Descent (PGD), abbiamo creato immagini avversariali per vedere come si sarebbero comportate contro i nostri rivelatori.

I risultati

Cosa abbiamo trovato? Beh, i nostri rivelatori hanno funzionato in modo impressionante. In vari scenari, i tassi di rilevamento variavano da abbastanza buoni a straordinari. Il test del rapporto di probabilità si è distinto come l'eroe della giornata, portando ai numeri di rilevamento più alti.

Guardando nei dettagli, abbiamo notato che utilizzare più impronte contemporaneamente ha contribuito notevolmente ai tassi di successo. Abbiamo anche osservato che, mentre più impronte di solito significano migliori prestazioni di rilevamento, c'era un punto dolce in cui le prestazioni iniziavano a stabilizzarsi.

Concludendo

I modelli di deep learning sono incredibilmente utili, ma dobbiamo tenerli al sicuro dagli attacchi avversariali. Il nostro metodo delle impronte neurali introduce un modo intelligente per affrontare questo problema. Creando un grande pool di rivelatori variati e selezionandoli casualmente durante i test, rendiamo molto più difficile per gli attaccanti ingannare le nostre difese.

Nei nostri test sul dataset ImageNet, abbiamo visto quanto possano essere efficaci le nostre impronte neurali. Con ottimi tassi di rilevamento e meno falsi allarmi, abbiamo fatto un passo significativo verso il miglioramento della sicurezza dei modelli di deep learning.

In futuro, ci piacerebbe esplorare come affinare ulteriormente questo metodo e applicarlo oltre la semplice classificazione delle immagini. Dopotutto, se possiamo mantenere questi modelli al sicuro da attaccanti subdoli, le possibilità sono infinite su ciò che possono raggiungere!

Quindi, continuiamo a costruire quelle collezioni di impronte neurali e assicuriamoci che i nostri sistemi di deep learning siano sempre un passo avanti nel gioco!

Fonte originale

Titolo: Neural Fingerprints for Adversarial Attack Detection

Estratto: Deep learning models for image classification have become standard tools in recent years. A well known vulnerability of these models is their susceptibility to adversarial examples. These are generated by slightly altering an image of a certain class in a way that is imperceptible to humans but causes the model to classify it wrongly as another class. Many algorithms have been proposed to address this problem, falling generally into one of two categories: (i) building robust classifiers (ii) directly detecting attacked images. Despite the good performance of these detectors, we argue that in a white-box setting, where the attacker knows the configuration and weights of the network and the detector, they can overcome the detector by running many examples on a local copy, and sending only those that were not detected to the actual model. This problem is common in security applications where even a very good model is not sufficient to ensure safety. In this paper we propose to overcome this inherent limitation of any static defence with randomization. To do so, one must generate a very large family of detectors with consistent performance, and select one or more of them randomly for each input. For the individual detectors, we suggest the method of neural fingerprints. In the training phase, for each class we repeatedly sample a tiny random subset of neurons from certain layers of the network, and if their average is sufficiently different between clean and attacked images of the focal class they are considered a fingerprint and added to the detector bank. During test time, we sample fingerprints from the bank associated with the label predicted by the model, and detect attacks using a likelihood ratio test. We evaluate our detectors on ImageNet with different attack methods and model architectures, and show near-perfect detection with low rates of false detection.

Autori: Haim Fisher, Moni Shahar, Yehezkel S. Resheff

Ultimo aggiornamento: 2024-11-07 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2411.04533

Fonte PDF: https://arxiv.org/pdf/2411.04533

Licenza: https://creativecommons.org/licenses/by/4.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Articoli simili