Gli esempi contraddittori sono input leggermente alterati che fanno sì che le reti neurali commettano errori di classificazione che normalmente non farebbero, come classificare l'immagine di un gatto come un cane. Credito:MIT News Office
I ricercatori del MIT hanno ideato un metodo per valutare quanto siano robusti i modelli di apprendimento automatico noti come reti neurali per vari compiti, rilevando quando i modelli commettono errori che non dovrebbero.
Le reti neurali convoluzionali (CNN) sono progettate per elaborare e classificare le immagini per la visione artificiale e molti altri compiti. Ma lievi modifiche che sono impercettibili all'occhio umano, diciamo, alcuni pixel più scuri all'interno di un'immagine possono far sì che una CNN produca una classificazione drasticamente diversa. Tali modifiche sono note come "esempi contraddittori". Lo studio degli effetti di esempi contraddittori sulle reti neurali può aiutare i ricercatori a determinare come i loro modelli potrebbero essere vulnerabili a input imprevisti nel mondo reale.
Per esempio, le auto senza conducente possono utilizzare le CNN per elaborare input visivi e produrre una risposta appropriata. Se l'auto si avvicina a un segnale di stop, riconoscerebbe il segno e si fermerebbe. Ma un documento del 2018 ha scoperto che posizionare un certo adesivo in bianco e nero sul segnale di stop potrebbe, infatti, ingannare la CNN di un'auto senza conducente per classificare erroneamente il segno, che potrebbe potenzialmente impedirgli di fermarsi del tutto.
Però, non c'è stato modo di valutare completamente la resilienza di una grande rete neurale agli esempi contraddittori per tutti gli input di test. In un documento che presentano questa settimana alla Conferenza internazionale sulle rappresentazioni dell'apprendimento, i ricercatori descrivono una tecnica che, per qualsiasi ingresso, trova un esempio contraddittorio o garantisce che tutti gli input perturbati, che appaiono ancora simili all'originale, siano classificati correttamente. Così facendo, fornisce una misura della robustezza della rete per un particolare compito.
Esistono tecniche di valutazione simili, ma non sono state in grado di scalare fino a reti neurali più complesse. Rispetto a questi metodi, la tecnica dei ricercatori esegue tre ordini di grandezza più velocemente e può scalare a CNN più complesse.
I ricercatori hanno valutato la robustezza di una CNN progettata per classificare le immagini nel set di dati MNIST di cifre scritte a mano, che comprende 60, 000 immagini di formazione e 10, 000 immagini di prova. I ricercatori hanno scoperto che circa il 4% degli input dei test può essere leggermente alterato per generare esempi contraddittori che porterebbero il modello a fare una classificazione errata.
"Esempi contraddittori inducono una rete neurale a commettere errori che un essere umano non farebbe, " dice il primo autore Vincent Tjeng, uno studente laureato nel Laboratorio di Informatica e Intelligenza Artificiale (CSAIL). "Per un dato input, vogliamo determinare se è possibile introdurre piccole perturbazioni che porterebbero una rete neurale a produrre un output drasticamente diverso da quello che normalmente farebbe. In quel modo, possiamo valutare quanto siano robuste le diverse reti neurali, trovare almeno un esempio contraddittorio simile all'input o garantire che non ne esista nessuno per quell'input."
Insieme a Tjeng sul giornale ci sono lo studente laureato CSAIL Kai Xiao e Russ Tedrake, un ricercatore CSAIL e un professore del Dipartimento di Ingegneria Elettrica e Informatica (EECS).
Le CNN elaborano le immagini attraverso molti strati computazionali contenenti unità chiamate neuroni. Per le CNN che classificano le immagini, lo strato finale è costituito da un neurone per ogni categoria. La CNN classifica un'immagine in base al neurone con il valore di output più alto. Considera una CNN progettata per classificare le immagini in due categorie:"gatto" o "cane". Se elabora l'immagine di un gatto, il valore per il neurone di classificazione "gatto" dovrebbe essere più alto. Un esempio contraddittorio si verifica quando una piccola modifica a quell'immagine fa sì che il valore del neurone di classificazione "cane" sia più alto.
La tecnica dei ricercatori controlla tutte le possibili modifiche a ciascun pixel dell'immagine. Fondamentalmente, se la CNN assegna la corretta classificazione ("gatto") ad ogni immagine modificata, non esistono esempi contraddittori per quell'immagine.
Dietro la tecnica c'è una versione modificata della "programmazione a numeri interi misti, " un metodo di ottimizzazione in cui alcune delle variabili sono limitate a numeri interi. Essenzialmente, la programmazione a interi misti viene utilizzata per trovare un massimo di una funzione obiettivo, dati alcuni vincoli sulle variabili, e può essere progettato per scalare in modo efficiente per valutare la robustezza di reti neurali complesse.
I ricercatori hanno fissato i limiti che consentono di schiarire o scurire ogni pixel in ogni immagine in ingresso fino a un valore impostato. Dati i limiti, l'immagine modificata sarà ancora notevolmente simile all'immagine di input originale, il che significa che la CNN non dovrebbe essere ingannata. La programmazione a interi misti viene utilizzata per trovare la più piccola modifica possibile ai pixel che potrebbe potenzialmente causare una classificazione errata.
L'idea è che la modifica dei pixel potrebbe far aumentare il valore di una classificazione errata. Se l'immagine del gatto è stata inserita nella CNN che classifica gli animali domestici, ad esempio, l'algoritmo continuerebbe a perturbare i pixel per vedere se può aumentare il valore del neurone corrispondente a "cane" in modo che sia superiore a quello di "gatto".
Se l'algoritmo ha successo, ha trovato almeno un esempio contraddittorio per l'immagine di input. L'algoritmo può continuare a modificare i pixel per trovare la modifica minima necessaria per causare tale errata classificazione. Maggiore è la modifica minima, chiamata "distorsione contraddittoria minima", più la rete è resistente agli esempi contraddittori. Se, però, il neurone di classificazione corretto si attiva per tutte le diverse combinazioni di pixel modificati, quindi l'algoritmo può garantire che l'immagine non abbia esempi contraddittori.
"Data un'immagine in ingresso, vogliamo sapere se possiamo modificarlo in modo che inneschi una classificazione errata, " dice Tjeng. "Se non possiamo, quindi abbiamo la garanzia di aver cercato in tutto lo spazio delle modifiche consentite, e ha scoperto che non esiste una versione alterata dell'immagine originale classificata erroneamente".
Alla fine, questo genera una percentuale per quante immagini di input hanno almeno un esempio contraddittorio, e garantisce che il resto non abbia esempi contraddittori. Nel mondo reale, Le CNN hanno molti neuroni e si alleneranno su enormi set di dati con dozzine di classificazioni diverse, quindi la scalabilità della tecnica è fondamentale, dice Tjeng.
"Attraverso reti diverse progettate per compiti diversi, è importante che le CNN siano robuste contro gli esempi contraddittori, " dice. "Più grande è la frazione di campioni di prova in cui possiamo dimostrare che non esiste alcun esempio contraddittorio, migliore dovrebbe funzionare la rete quando esposta a input perturbati."
"I limiti dimostrabili sulla robustezza sono importanti in quanto quasi tutti i meccanismi di difesa [tradizionali] potrebbero essere nuovamente infranti, "dice Mattia Hein, professore di matematica e informatica alla Saarland University, che non è stato coinvolto nello studio ma ha provato la tecnica. "Abbiamo utilizzato l'esatto quadro di verifica per dimostrare che le nostre reti sono davvero robuste... [e] abbiamo anche reso possibile verificarle rispetto alla normale formazione".
Questa storia è stata ripubblicata per gentile concessione di MIT News (web.mit.edu/newsoffice/), un popolare sito che copre notizie sulla ricerca del MIT, innovazione e didattica.