Adversarial Examples: Minacce invisibili per le reti neurali
di Fabio Gnassi
Per quanto il funzionamento degli algoritmi di machine learning possa sembrare astratto e difficile da decifrare, essi si basano su una serie di processi strutturati che li rendono vulnerabili a minacce specifiche. Comprendere i rischi a cui sono esposti questi strumenti è fondamentale per sviluppare una maggiore consapevolezza nel loro utilizzo.
Di seguito l’intervista a Pau Labarta Bajo, matematico che ha intrapreso la carriera di Machine Learning Engineer per poi diventare educatore nel campo del Machine Learning. Spinto dalla sua passione per la risoluzione dei problemi, Pau ha partecipato all’Olimpiade Internazionale di Matematica, dimostrando fin da giovane il suo interesse per le sfide complesse — un elemento centrale nel machine learning. Ha iniziato la sua carriera oltre dieci anni fa come Quantitative Analyst presso Erste Bank e successivamente ha lavorato come Data Scientist per Nordeus, una società di giochi per dispositivi mobili ora parte di Take-Two Interactive. In Nordeus ha avuto il suo primo progetto di machine learning nel mondo reale, un’esperienza decisiva che ha consolidato il suo interesse per la disciplina.
Da allora, Pau ha lavorato come freelance presso Toptal, collaborando a progetti diversificati che includono auto a guida autonoma, servizi finanziari, app per la consegna, previsioni di serie temporali per il commercio online e soluzioni per fornitori di assicurazioni sanitarie. Due anni fa, Pau ha iniziato a condividere le sue conoscenze con la comunità su piattaforme come Twitter/X e LinkedIn. Il suo primo corso, The Real-World Machine Learning Tutorial, ha raccolto oltre 500 studenti soddisfatti, e continua a offrire contenuti gratuiti di valore attraverso i suoi canali social.
Uno dei rischi a cui si trovano esposti i sistemi di Machine Learning prende il nome di “Adversarial Machine Learning”. Potrebbe spiegarci di cosa si tratta?
Il termine AML (Adversarial Machine Learning) si riferisce a un insieme di tecniche e procedure progettate per compromettere il funzionamento di un modello di machine learning. I modelli di machine learning possono essere utilizzati in diversi ambiti, come la creazione di applicazioni per la visione artificiale o la generazione di testi e immagini. Ciascuna di queste categorie di modelli può essere attaccata utilizzando processi noti come “Adversarial Techniques”, tecniche che permettono di alterare il comportamento di un modello mediante l’introduzione di dati manipolati, definiti “Adversarial Examples”. Il modo in cui un modello viene compromesso è legato al funzionamento di questi strumenti. Le reti neurali sono “differentiable with respect to the input” (differenziabili rispetto all’input), il che significa che anche minime variazioni nei dati di input possono influenzare significativamente la qualità degli output generati. Gli input rappresentano i dati grezzi forniti al modello, mentre gli output sono i risultati attesi. Il modello analizza ed elabora gli input per individuare pattern che vengono poi associati a un determinato output. Un modello può essere attaccato in due momenti distinti, durante la fase di addestramento oppure durante la fase di inferenza.
È interessante notare che anche l’uomo può essere ingannato in modo simile. Per esempio, paragonando il cervello umano a un sistema di visione artificiale, entrambi possono cadere vittima di illusioni ottiche, come accade osservando i paradossali disegni di Escher.
Come funzionano questi attacchi?
Innanzitutto è importante fare una distinzione tra gli attacchi che si verificano nel mondo digitale e quelli che avvengono nel mondo fisico. Gli attacchi digitali riguardano sia la fase di addestramento che la fase di inferenza. La fase di inferenza è il momento in cui un modello, già addestrato, viene utilizzato per fare previsioni o prendere decisioni (output) basandosi su nuovi dati forniti (input). Corrompere un modello durante questa fase significa fornirgli input manipolati in modo da alterarne il funzionamento, portandolo a produrre output errati.
Ad esempio, nel caso di un modello addestrato per il riconoscimento di oggetti, un attacco di questo tipo può essere condotto utilizzando un’immagine modificata. La modifica viene effettuata mediante algoritmi che generano una perturbazione che viene sovrapposta all’immagine originale. Questa perturbazione è progettata per alterare in modo quasi impercettibile alcuni pixel dell’immagine, risultando invisibile all’occhio umano ma rilevabile dalla rete neurale, che di conseguenza produce una classificazione errata.
Un’altra categoria di attacchi digitali riguarda la contaminazione dei dataset di addestramento, nota come Poisoning Attack. Questo tipo di attacco consente di manipolare il dataset inserendo bias specifici o censurando informazioni rilevanti, influenzando negativamente il processo di apprendimento del modello.
E invece nel mondo reale?
Gli attacchi nel mondo reale riguardano esclusivamente la fase di inferenza. Un esempio interessante è fornito dal lavoro di un gruppo di ricercatori che ha dimostrato come sia possibile compromettere il sistema di visione artificiale delle auto a guida autonoma semplicemente applicando adesivi sulla superficie dei cartelli stradali che inducono il sistema a interpretare erroneamente il signficato dei segnali. Anche in questo caso, gli Adversarial Examples vengono generati utilizzando algoritmi che sovrappongono un livello di rumore all’immagine originale. Per l’occhio umano, che si basa su una percezione semantica degli oggetti, il significato del cartello resta invariato, ma per un sistema di visione artificiale, che analizza i singoli pixel che compongono un’immagine, queste piccole modifiche possono risultare significative, portando a errori di classificazione.
Un altro esempio di Adversarial Attack nel mondo reale riguarda i Large Language Models (LLM). A causa dell’enorme quantità di dati utilizzati durante la fase di addestramento, questi modelli possono generare testi che contengono informazioni sensibili o inappropriate. Per mitigare questo problema, i ricercatori hanno implementato tecniche di post-elaborazione che bloccano la pubblicazione di determinati output. Tuttavia, esistono dei prompt che permettono di aggirare queste limitazioni e di ottenere gli output desiderati.
Anche in questo caso, gli Adversarial Examples assumono significati diversi a seconda che siano interpretati da una macchina o da un essere umano. I prompt sono infatti generati utilizzando simboli e segni che compongono testi privi di senso per un lettore umano, ma che riescono a ingannare il modello, corrompendone il funzionamento.
In che modo è possibile difendere i modelli da questi attacchi?
Quando si discute della sicurezza dei modelli di machine learning, è fondamentale considerare l’intrinseca asimmetria tra gli sforzi richiesti per difendere un modello e quelli necessari per attaccarlo. Modelli sviluppati in mesi di lavoro da team di ricercatori esperti, utilizzando cluster di GPU e con costi che possono raggiungere milioni di dollari, possono essere compromessi nel giro di poche ore. È quindi molto più facile attaccare un modello che difenderlo.
I ricercatori che progettano un modello sono consapevoli del rischio rappresentato dagli Adversarial Examples, motivo per cui hanno sviluppato diverse tecniche per contrastare tali attacchi. Una delle più diffuse è l’Adversarial Training, che prevede la creazione di dati sintetici utilizzando Adversarial Techniques e il loro impiego durante il processo di addestramento. Ad esempio, se si sta addestrando un modello di visione artificiale a riconoscere immagini di gatti, nel dataset, oltre alle foto autentiche di gatti, si includeranno anche immagini manipolate. Questo insegna al modello che, nonostante le differenze introdotte dalla corruzione, le immagini rappresentano lo stesso soggetto.
Per quanto riguarda i Poisoning Attacks, in particolare nel caso dei Large Language Models (LLM), è importante sottolineare come la presenza di fake news o informazioni malevole sia strettamente legata al modo in cui questi modelli sono stati addestrati. Per anni, l’approccio all’addestramento si è basato sulla costruzione di enormi dataset di testi, spesso senza prestare particolare attenzione al contenuto di tali dati. In altre parole, le vulnerabilità introdotte da un Adversarial Attack potevano derivare direttamente dalla fase di creazione del dataset.
Negli ultimi anni, tuttavia, c’è stato un cambiamento di approccio: i ricercatori, nel tentativo di ottenere modelli più efficienti e sicuri, tendono a preferire modelli più piccoli, costruiti utilizzando dataset meglio curati. Questa maggiore attenzione alla qualità dei dati rappresenta un passo significativo per ridurre la possibilità di compromettere l’efficacia del modello.