“Data is a precious thing and will last longer than the system themselves”
Tim Berners Lee
È un dato di fatto che fake data, sui mezzi di informazione e in rete, possano manipolare le nostre opinioni e indirizzare le nostre decisioni. Siamo anche consapevoli che le scorciatoie euristiche praticate dai media sono le stesse che tutti noi applichiamo quotidianamente. Il problema che dovremmo cominciare a porci è se in analoghe distorsioni cognitive possano incappare le entità che sempre più, in un futuro prossimo, prenderanno decisioni al nostro posto: gli algoritmi di AI.
Il data mistreatment è uno strumento di manipolazione di qualsiasi intelligenza, biologica o artificiale. Come è possibile indirizzare la decisione di un umano fornendogli informazioni e dati sbagliati, parziali o alterati, così è possibile far fallire un algoritmo di AI o di machine learning dandogli in pasto un dataset sbagliato, ovvero opportunamente modificato per far si che l’algoritmo produca l’output desiderato.
È quello che viene fatto con i cosiddetti adversarial attack, che consistono nell’alterare un input aggiungendovi dei fake data – tecnicamente chiamati adversarial noise – ovvero piccole perturbazioni invisibili all’occhio umano ma che possono mandare completamente fuori strada il nostro algoritmo.
Come far prendere a un algoritmo decisioni sbagliate
La maggior parte degli algoritmi di AI e machine learning operano come sistemi più o meno sofisticati di classificazione. Questo concetto è anche alla base della teoria PRTM (Pattern Recognition Theory of Mind) proposta da Ray Kurzweil, How to create a mind, secondo la quale lo stesso meccanismo di funzionamento della neocorteccia del cervello umano si baserebbe sul riconoscimento e la classificazione di forme a differenti livelli gerarchici di astrazione.
Un software di OCR decide se un elemento grafico sia una lettera “a” piuttosto che una “e” tramite una classificazione basata su uno specifico insieme di criteri. Fanno lo stesso, a differenti livelli di astrazione, un metal detector che segnala la presenza di un’arma all’interno di un bagaglio, il sistema di face recognition con cui si accede allo smartphone o un’automobile a guida autonoma che decide come manovrare interpretando un segnale stradale.
Naturalmente, far semplicemente fallire l’algoritmo in modo casuale (attacco non-targeted) è più semplice che alterarne il comportamento in modo da forzare uno specifico risultato da parte del classificatore (attacco targeted).
Il campo classico di applicazione è quello del riconoscimento di immagini. Per dare un’idea di come funziona un attacco adversarial targeted, si consideri questa dimostrazione, tratta dal paper Explaining and harnessing adversarial examples, dove sovrapponendo all’immagine di un panda, riconosciuto come tale da un classificatore di immagini con un livello di confidenza del 57,7%, un’immagine di “rumore adversarial” – solo apparentemente casuale ma in realtà costruita con un procedimento matematicamente complesso – si ottiene un’immagine che ai nostri occhi è sempre un panda ma che il sistema classifica come un “gibbone” con un livello di confidenza del 99,3%!
Alcune recenti ricerche mostrano come esempi di immagini alterate con rumore adversarial possano essere stampate su carta standard e fotografate con uno smartphone di media risoluzione, per ingannare sistemi di riconoscimento basati su immagini.
Ad esempio, è teoricamente possibile stampare un assegno ATM con un importo scritto di 100 $ per farsi erogare 10.000 $ di cash. Oppure sostituire un cartello stradale con uno alterato con rumore adversarial, indistinguibile all’occhio umano, che venga interpretato dalla cam di un sistema a guida autonoma come limite di velocità a 300 km/h.
Contrastare questo tipo di attacchi è complesso e richiede uno sforzo di ricerca notevole, che tuttavia va intrapreso se vogliamo avere l’obiettivo di una AI diffusa e al riparo dai fake data.
Tra le strategie di difesa attualmente adottate, quella di addestrare un secondo classificatore a rilevare un input con rumore adversarial e a rifiutarlo, ovvero implementare routine di addestramento adversarial sul sistema di classificazione principale, comportando in ogni caso un appesantimento del sistema, con conseguente impatto negativo sulle performance. Cosa non sempre accettabile come, ad esempio, in un sistema di riconoscimento facciale che debba esaminare un flusso continuo di persone di passaggio a un varco (controllo passaporti, banche, etc.) .
Cosa fare per proteggersi?
Il data mistreatment è un tema da presidiare con attenzione ora e nel prossimo futuro. I fake data di tipo numerico sono un potente strumento per manipolare la capacità decisionale di entità intelligenti, non importa se biologiche o sintetiche. In linea di principio, qualsiasi sistema di classificazione basato su algoritmi di AI o machine learning può essere ingannato o indirizzato a fornire specifiche previsioni preparando un input fake con l’aggiunta di adversarial noise.
Gli algoritmi evoluti hanno comportamenti fortemente non lineari. In termini pratici, operano una serie di trasformazioni di dati a partire da vettori numerici di input, dove a comportamenti più complessi corrisponde un maggior numero di trasformazioni, moltiplicando l’effetto del rumore introdotto in ingresso e aumentando così la sensibilità del sistema a piccole variazioni dell’input.
Impedire che questa sensibilità sia sfruttata per scopi malevoli e incanalata per modificare il comportamento degli algoritmi di AI sarà uno dei problemi cruciali di sicurezza per il prossimo futuro.
Marco Caressa