L'intelligenza artificiale continua a non riuscire nel riconoscimento delle cifre manoscritte a mano (e come risolverlo)

Il Deep Learning è stato elogiato per risolvere qualsiasi cosa, dalle auto a guida autonoma al clima mondiale. Eppure, le reti neurali profonde (il cavallo di battaglia del Deep Learning) non riescono a risolvere in modo soddisfacente anche i compiti più banali: un solido riconoscimento delle cifre scritto a mano. Considera i seguenti esempi:

Le immagini

Il numero sotto ogni cifra mostra la previsione della rete. Classifica correttamente tutti questi campioni. Allora, qual'è il problema? Bene, considera le seguenti immagini:

... piccole modifiche possono far deragliare completamente le decisioni della rete.

Abbiamo modificato leggermente le immagini, ma ora la rete neurale le classifica erroneamente. Questo tipo di input "contraddittori" sono noti da molti anni. Esse influenzano praticamente ogni applicazione Deep Learning dal riconoscimento degli oggetti, dalla segmentazione semantica delle immagini, dal riconoscimento vocale al filtro antispam. Praticamente ogni singola rete neurale attualmente installata è interessata e potrebbe essere attaccata (incluso ad esempio Siri o Amazon Echo).

Ma va ancora peggio: considera la seguente serie di immagini:

Queste immagini sono classificate con la massima fiducia come

Riconosci anche il suggerimento di una cifra scritta a mano? No? La rete neurale è estremamente certa che questi siano tutti zeri. Queste cosiddette immagini irriconoscibili evidenziano solo un altro problema con le reti neurali di oggi: si comportano in modo completamente irregolare se gli input sono troppo lontani dai dati "normali" (in questo caso il rumore anziché le cifre).

Questo problema di solidità è stato riconosciuto da molti come uno dei principali blocchi stradali verso l'implementazione del Deep Learning. Non solo per motivi di sicurezza, ma perché questi guasti evidenziano che non abbiamo idea di come funzionino realmente le reti neurali e quali caratteristiche dell'immagine utilizzino per la classificazione. Il numero di articoli che hanno cercato di risolvere questo problema è aumentato notevolmente negli ultimi due anni, ma finora senza risultati. In effetti, la rete neurale che abbiamo usato per classificare le cifre scritte a mano sopra è attualmente riconosciuta come il modello più robusto (Madry et al.). Questo fatto evidenzia quanto siamo lontani da solidi modelli di riconoscimento, anche per semplici cifre scritte a mano.

Nel nostro recente articolo, introduciamo un nuovo concetto per classificare le immagini in modo robusto. L'idea è molto semplice: se un'immagine è classificata come sette, dovrebbe contenere all'incirca due linee - una più corta, una più lunga - che si toccano a un'estremità. Questo è un modo generativo di pensare alle cifre, che è abbastanza naturale per gli umani e che ci consente di individuare facilmente il segnale (le linee) anche tra grandi quantità di rumore e perturbazioni. Avere un modello del genere dovrebbe facilitare la classificazione degli esempi di contraddittori sopra descritti nella classe corretta. L'apprendimento di un modello generativo di cifre (diciamo gli zeri) è piuttosto semplice (usando un Autoencoder Variazionale) e, in poche parole, funziona come segue: partiamo da uno spazio latente di variabili fastidiose (che potrebbero catturare cose come spessore o inclinazione della cifra e vengono appresi dai dati) e generano un'immagine usando una rete neurale. Mostriamo quindi esempi di zeri scritti a mano e formiamo la rete per produrne di simili. Alla fine della formazione, la rete ha appreso le variazioni naturali degli zeri scritti a mano:

Un modello generativo di zeri apprende le variazioni tipiche delle cifre scritte a mano (lato destro).

Impariamo un modello così generativo per ogni cifra. Quindi, quando arriva un nuovo input, controlliamo quale modello di cifra può meglio approssimare il nuovo input. Questa procedura è in genere chiamata analisi per sintesi, poiché analizziamo il contenuto dell'immagine secondo il modello che può sintetizzarlo al meglio. Le reti feedforward standard, d'altra parte, non hanno meccanismi di feedback per verificare se l'immagine di input assomiglia davvero alla classe inferita:

Le reti Feedforward passano direttamente dall'immagine alla classe e non hanno modo di verificare che la classificazione abbia senso. Il nostro modello di analisi per sintesi verifica quali caratteristiche dell'immagine sono presenti e classifica in base alla classe che ha più senso.

Questa è davvero la differenza fondamentale: le reti feedforward non hanno modo di controllare le loro previsioni, devi fidarti di loro. Il nostro modello di analisi per sintesi, d'altra parte, controlla se alcune caratteristiche dell'immagine sono realmente presenti nell'input prima di saltare a una conclusione.

Non abbiamo bisogno di un modello generativo perfetto per far funzionare questa procedura. Il nostro modello di cifre scritte a mano non è certamente perfetto: guarda i bordi sfocati. Tuttavia, il nostro modello può classificare cifre scritte a mano con elevata precisione (99,0%) e le sue decisioni hanno molto senso per gli umani. Ad esempio, il modello segnalerà sempre scarsa fiducia nelle immagini di rumore, perché non assomigliano a nessuna delle cifre che ha visto prima. Le immagini più vicine al rumore che il modello di analisi per sintesi classifica ancora come cifre con elevata sicurezza hanno molto senso per gli umani:

Abbiamo cercato di sintetizzare immagini irriconoscibili che sono ancora classificate come zeri con elevata sicurezza dal nostro modello di analisi per sintesi. Questo è il migliore che abbiamo.

Nell'attuale modello all'avanguardia di Madry et al. abbiamo scoperto che perturbazioni minime di cifre pulite sono spesso sufficienti per far deragliare la classificazione del modello. Fare lo stesso per il nostro modello di analisi per sintesi produce risultati sorprendentemente diversi:

Esempi contraddittori per il modello di analisi per sintesi. Riesci a indovinare quale fosse il numero originale?

Nota che le perturbazioni hanno molto senso per gli umani ed è talvolta difficile decidere in quale classe l'immagine debba essere classificata. Questo è esattamente ciò che ci aspettiamo che accada per un solido modello di classificazione.

Il nostro modello ha molte altre caratteristiche degne di nota. Ad esempio, le decisioni del modello di analisi per sintesi sono molto più facili da interpretare in quanto si può vedere direttamente quali caratteristiche influenzano il modello verso una determinata decisione. Inoltre, possiamo persino derivare alcuni limiti inferiori della sua robustezza.

Il modello di analisi per sintesi non corrisponde ancora alla percezione umana e c'è ancora molta strada da fare (vedere l'analisi completa nel nostro manoscritto). Tuttavia, riteniamo che questi risultati siano estremamente incoraggianti e speriamo che il nostro lavoro spianerà la strada a una nuova classe di modelli di classificazione che siano accurati, robusti e interpretabili. Dobbiamo ancora imparare molto su questi nuovi modelli, soprattutto su come rendere l'inferenza più efficiente e su come ridimensionarli a set di dati più complessi (come CIFAR o ImageNet). Stiamo lavorando duramente per rispondere a queste domande e non vediamo l'ora di condividere più risultati con te in futuro.

Verso il primo modello di rete neurale avversamente robusto su MNIST

Lukas Schott, Jonas Rauber, Matthias Bethge, Wieland Brendel
arXiv: 1.805,09,19 mila