Come è possibile che le reti neurali profonde vengano ingannate così facilmente?


63

La pagina / studio seguente dimostra che le reti neurali profonde vengono facilmente ingannate dando previsioni di elevata sicurezza per immagini irriconoscibili, ad es.

Immagini evolute che non sono riconoscibili per l'uomo, ma che i DNN all'avanguardia addestrati su ImageNet credono con> = 99,6% di certezza di essere un oggetto familiare.  Questo risultato evidenzia le differenze tra il modo in cui i DNN e gli umani riconoscono gli oggetti.  Immagini codificate direttamente e indirettamente

L'evoluzione delle immagini in base alle classi DNN produce un'enorme varietà di immagini.  Il punteggio medio di confidenza DNN per queste immagini è del 99,12% per la classe elencata, il che significa che DNN crede con quasi certezza che l'immagine sia quel tipo di cosa.  Sono mostrate le immagini selezionate per mostrare la diversità di 5 percorsi evolutivi indipendenti.  Le immagini fanno luce su ciò che interessa alla rete DNN e su cosa no quando classifica un'immagine.  Ad esempio, uno scuolabus alterna linee gialle e nere, ma non ha bisogno di un parabrezza o ruote

Come è possibile? Potete per favore spiegare idealmente in un inglese semplice?


14
La versione "inglese semplice" della risposta è: qualsiasi sistema basato sul seguire una serie di regole può essere ingannato, devi solo capire cosa può infrangere le regole.
Ankur,

1
@Ankur, questo non significa che tutti i sistemi di intelligenza artificiale possono essere ingannati?
yters

5
@yters: Sì, tutti i sistemi di intelligenza artificiale possono essere ingannati, indipendentemente dal modo in cui il team di marketing suggerisce quanto siano intelligenti i loro sistemi. Alcuni sono facilmente ingannati e alcuni richiedono qualche sforzo per essere ingannati.
Ankur,

6
FWIW, gli umani sono ingannati altrettanto facilmente. Ecco perché funzionano le illusioni ottiche. Inoltre, ci sono immagini che l'NN identificherà bene l'oggetto, ma un essere umano non potrebbe. In particolare, immagini molto rumorose.
Dunk,

5
@Dunk, ma gli umani sono ingannati in modo diverso. Questo è il punto: se gli AI sono ingannati quando gli umani non lo sono, non possono essere umani.
Pacerier,

Risposte:


51

Prima di tutto, quelle immagini (anche le prime) non sono un cestino completo nonostante siano spazzatura per gli umani; in realtà sono finemente sintonizzati con varie tecniche avanzate, tra cui un'altra rete neurale.

La rete neurale profonda è la rete pre-formata modellata su AlexNet fornita da Caffe . Per evolvere le immagini, sia quelle codificate direttamente sia quelle indirettamente codificate, utilizziamo la struttura evolutiva di Sferes . L'intera base di codice per condurre gli esperimenti evolutivi può essere scaricata qui [sic] . Il codice per le immagini prodotte dalla salita in pendenza è disponibile qui .

Le immagini che sono in realtà spazzatura casuale sono state correttamente riconosciute come nulla di significativo:

In risposta a un'immagine irriconoscibile, le reti avrebbero potuto generare una bassa confidenza per ciascuna delle 1000 classi, anziché un valore di confidenza estremamente elevato per una delle classi. In effetti, lo fanno proprio per le immagini generate casualmente (ad esempio quelle nella generazione 0 della corsa evolutiva)

L'obiettivo originale dei ricercatori era quello di utilizzare le reti neurali per generare automaticamente immagini che assomigliavano a cose reali (ottenendo il feedback del riconoscitore e cercando di cambiare l'immagine per ottenere un risultato più sicuro), ma alla fine hanno creato l'arte di cui sopra . Notare come anche nelle immagini statiche ci siano piccole macchie - di solito vicino al centro - che, è giusto dire, stanno innescando il riconoscimento.

Non stavamo cercando di produrre immagini contraddittorie, irriconoscibili. Invece, stavamo provando a produrre immagini riconoscibili, ma queste immagini irriconoscibili sono emerse.

Evidentemente, queste immagini avevano le giuste caratteristiche distintive per abbinare ciò che l'IA cercava nelle immagini. L'immagine "paddle" ha una forma simile a paddle, il "bagel" è rotondo e il colore giusto, l'immagine "proiettore" è una cosa simile all'obiettivo di una fotocamera, la "tastiera del computer" è un mucchio di rettangoli (come le singole chiavi) e la "recinzione a catena" mi sembra legittimamente una recinzione a catena.

Figura 8. L'evoluzione delle immagini in base alle classi DNN produce un'enorme varietà di immagini. Sono mostrate le immagini selezionate per mostrare la diversità tra 5 serie evolutive. La diversità suggerisce che le immagini sono non casuali, ma che invece le evoluzioni producono caratteristiche [sic] discriminatorie di ogni classe target.

Ulteriori letture: il documento originale (PDF grande)


Il problema è: in che modo DNN dà così tanta fiducia ~ 99% !che queste immagini simili ad alcuni modelli di oggetti rappresentano oggetti veri? A meno che DNN non sia malato di mente e pensi di
dover eseguire il

Scusa, non ho resistito :-) "Bagel" è rotondo, ma è anche sole, bulbo oculare, ecc. "Proiettore" potrebbe essere un modello atomico, una sezione trasversale del raggio laser, ecc. E così via e così via. Allora perché diavolo, il bagel è preferito al sole, il proiettore è preferito allo schema atomico, ecc. Con 99%fiducia? Per me - la principale differenza tra DNN e il riconoscimento umano è il fatto che gli umani non sono costretti a riconoscere qualcosa, mentre NN sembra esserlo!
Agnius Vasiliauskas il

25

Le immagini fornite potrebbero non essere riconoscibili per noi. Sono in realtà le immagini che riconosciamo ma che abbiamo sviluppato utilizzando la struttura evolutiva di Sferes .

Mentre queste immagini sono quasi impossibili per gli esseri umani etichettare con qualsiasi cosa tranne le arti astratte, la Deep Neural Network le etichetterà come oggetti familiari con una sicurezza del 99,99%.

Questo risultato evidenzia le differenze tra il modo in cui i DNN e gli umani riconoscono gli oggetti. Le immagini sono codificate direttamente (o indirettamente)

Secondo questo video

La modifica di un'immagine originariamente correttamente classificata in modo impercettibile per l'uomo può far sì che la causa DNN la classifichi come qualcos'altro.

Nell'immagine sotto il numero in basso sono le immagini dovrebbero apparire come le cifre Ma la rete crede che le immagini in alto (quella come il rumore bianco) siano cifre reali con una sicurezza del 99,99%.

inserisci qui la descrizione dell'immagine

Il motivo principale per cui questi sono facilmente imbrogliati è che Deep Neural Network non vede il mondo allo stesso modo della visione umana. Usiamo l'intera immagine per identificare le cose mentre DNN dipende dalle caratteristiche. Fintanto che DNN rileva determinate caratteristiche, classificherà l'immagine come un oggetto familiare su cui è stata addestrata. I ricercatori hanno proposto un modo per prevenire tale inganno aggiungendo le immagini ingannevoli al set di dati in una nuova classe e addestrando DNN sul set di dati ingrandito. Nell'esperimento, il punteggio di confidenza diminuisce in modo significativo per ImageNet AlexNet. Questa volta non è facile ingannare il DNN riqualificato. Ma quando i ricercatori hanno applicato tale metodo a MNIST LeNet, l'evoluzione produce ancora molte immagini irriconoscibili con punteggi di confidenza del 99,99%.

Maggiori dettagli qui e qui .


13

Tutte le risposte qui sono fantastiche, ma, per qualche motivo, finora non è stato detto nulla sul perché questo effetto non dovrebbe sorprendervi . Riempirò lo spazio vuoto.

Vorrei iniziare con un requisito che è assolutamente essenziale affinché questo funzioni: l'aggressore deve conoscere l'architettura della rete neurale (numero di strati, dimensione di ogni strato, ecc.). Inoltre, in tutti i casi che ho esaminato me stesso, l'attaccante conosce l'istantanea del modello utilizzato nella produzione, vale a dire tutti i pesi. In altre parole, il "codice sorgente" della rete non è un segreto.

Non puoi ingannare una rete neurale se la tratti come una scatola nera. E non puoi riutilizzare la stessa immagine ingannevole per reti diverse. In effetti, devi "addestrare" tu stesso la rete di destinazione, e qui con l'allenamento intendo correre passanti e backprop, ma appositamente realizzati per un altro scopo.

Perché funziona affatto?

Ora, ecco l'intuizione. Le immagini hanno dimensioni molto elevate: anche lo spazio di piccole immagini a colori 32x32 ha 3 * 32 * 32 = 3072dimensioni. Ma il set di dati di allenamento è relativamente piccolo e contiene immagini reali, che hanno tutte una struttura e buone proprietà statistiche (ad es. Fluidità del colore). Quindi il set di dati di allenamento si trova su una piccola varietà di questo enorme spazio di immagini.

Le reti convoluzionali funzionano molto bene su questa varietà, ma sostanzialmente non sanno nulla del resto dello spazio. La classificazione dei punti all'esterno del collettore è solo un'estrapolazione lineare basata sui punti all'interno del collettore. Non c'è da stupirsi che alcuni punti particolari siano estrapolati in modo errato. L'attaccante ha solo bisogno di un modo per raggiungere il più vicino di questi punti.

Esempio

Lascia che ti faccia un esempio concreto di come ingannare una rete neurale. Per renderlo compatto, userò una rete di regressione logistica molto semplice con una non linearità (sigmoid). Prende un input a 10 dimensioni x, calcola un singolo numero p=sigmoid(W.dot(x)), che è la probabilità della classe 1 (rispetto alla classe 0).

regressione logistica

Supponiamo che tu sappia W=(-1, -1, 1, -1, 1, -1, 1, 1, -1, 1)e inizi con un input x=(2, -1, 3, -2, 2, 2, 1, -4, 5, 1). Un passaggio in avanti dà sigmoid(W.dot(x))=0.0474o una probabilità del 95% che xè un esempio di classe 0.

xe W

Vorremmo trovare un altro esempio, yche è molto vicino xma è classificato dalla rete come 1. Nota che xè 10-dimensionale, quindi abbiamo la libertà di dare una spinta a 10 valori, che è molto.

Dato che W[0]=-1è negativo, è meglio avere un piccolo y[0]per dare un contributo totale di y[0]*W[0]piccolo. Quindi, facciamo y[0]=x[0]-0.5=1.5. Allo stesso modo, W[2]=1è positivo, quindi è meglio aumentare y[2]per fare y[2]*W[2]più grande: y[2]=x[2]+0.5=3.5. E così via.

x, W e y

Il risultato è y=(1.5, -1.5, 3.5, -2.5, 2.5, 1.5, 1.5, -3.5, 4.5, 1.5), e sigmoid(W.dot(y))=0.88. Con questa modifica abbiamo migliorato la probabilità di classe 1 dal 5% all'88%!

Generalizzazione

Se osservi attentamente l'esempio precedente, noterai che sapevo esattamente come modificare xper spostarlo nella classe target, perché conoscevo il gradiente di rete. Quello che ho fatto è stato in realtà una backpropagation , ma rispetto ai dati, anziché ai pesi.

In generale, l'attaccante inizia con la distribuzione del bersaglio (0, 0, ..., 1, 0, ..., 0)(zero ovunque, tranne per la classe che vuole raggiungere), esegue la backpropagazione dei dati e fa una piccola mossa in quella direzione. Lo stato della rete non è aggiornato.

Ora dovrebbe essere chiaro che è una caratteristica comune delle reti feed-forward che si occupano di una piccola varietà di dati, indipendentemente dalla profondità o dalla natura dei dati (immagine, audio, video o testo).

potection

Il modo più semplice per impedire che il sistema venga ingannato è utilizzare un insieme di reti neurali, ovvero un sistema che aggrega i voti di più reti su ogni richiesta. È molto più difficile eseguire la backpropagazione rispetto a più reti contemporaneamente. L'attaccante potrebbe tentare di farlo in sequenza, una rete alla volta, ma l'aggiornamento per una rete potrebbe facilmente incasinare i risultati ottenuti per un'altra rete. Più reti vengono utilizzate, più complesso diventa un attacco.

Un'altra possibilità è rendere più fluido l'input prima di passarlo alla rete.

Uso positivo della stessa idea

Non dovresti pensare che la backpropagazione dell'immagine abbia solo applicazioni negative. Una tecnica molto simile, chiamata deconvoluzione , viene utilizzata per la visualizzazione e una migliore comprensione di ciò che i neuroni hanno imparato.

Questa tecnica consente di sintetizzare un'immagine che provoca un particolare neurone a sparare, fondamentalmente vedere visivamente "ciò che il neurone sta cercando", il che in generale rende più interpretabili le reti neurali convoluzionali.


10

Una domanda importante che non ha ancora una risposta soddisfacente nella ricerca sulla rete neurale è come i DNN escogitano le previsioni che offrono. I DNN funzionano in modo efficace (anche se non esattamente) abbinando le patch nelle immagini a un "dizionario" di patch, uno memorizzato in ciascun neurone (vedi la carta del gatto di YouTube ). Pertanto, potrebbe non avere una vista di alto livello dell'immagine poiché guarda solo alle patch e le immagini vengono solitamente ridimensionate a una risoluzione molto più bassa per ottenere i risultati nei sistemi di generazione attuale. I metodi che osservano come interagiscono i componenti dell'immagine possono essere in grado di evitare questi problemi.

Alcune domande da porre per questo lavoro sono: quanto erano sicure le reti quando hanno fatto queste previsioni? Quanto volume occupano queste immagini contraddittorie nello spazio di tutte le immagini?

Alcuni lavori di cui sono a conoscenza al riguardo provengono da Dhruv Batra e Devi Parikh's Lab presso Virginia Tech che esaminano questo aspetto per i sistemi di risposta alle domande: analisi del comportamento dei modelli di risposta a domande visive e interpretazione di modelli di risposta a domande visive .

Sono necessari ulteriori lavori di questo tipo, e proprio come il sistema visivo umano viene anche ingannato da tali "illusioni ottiche", questi problemi possono essere inevitabili se si usano i DNN, sebbene AFAIK non sia ancora noto nulla in senso teorico o empirico.


5

Come è possibile che le reti neurali profonde vengano ingannate così facilmente?

Le reti neurali profonde vengono facilmente ingannate dando previsioni di elevata sicurezza per immagini irriconoscibili. Com'è possibile? Potete per favore spiegare idealmente in un inglese semplice ?

Intuitivamente, livelli extra nascosti dovrebbero rendere la rete in grado di apprendere funzioni di classificazione più complesse e quindi di classificare meglio il lavoro. Mentre può essere chiamato deep learning , in realtà è una comprensione superficiale.

Metti alla prova le tue conoscenze: quale animale nella griglia sottostante è un felis silvestris catus , prenditi il ​​tuo tempo e non imbrogliare. Ecco un suggerimento: qual è un gatto domestico?

Qual è un gatto domestico?

Per una verifica più approfondita: " Attacco avversario a visualizzazioni vulnerabili " e " Perché le reti neurali profonde sono difficili da addestrare? ".

Il problema è analogo all'aliasing , un effetto che fa sì che segnali diversi diventino indistinguibili (o alias l'uno dall'altro) quando vengono campionati, e l' effetto della ruota della diligenza , in cui una ruota a raggi sembra ruotare diversamente dalla sua vera rotazione.

La rete neurale non sa cosa sta guardando o in che modo sta andando.

Le reti neurali profonde non sono esperte di qualcosa, sono addestrate a decidere matematicamente che qualche obiettivo è stato raggiunto, se non sono addestrati a rifiutare risposte sbagliate non hanno un concetto di ciò che è sbagliato; hanno solo sapere ciò che è giusto e ciò che non è corretto - sbagliato e "non corretto" non sono necessariamente la stessa cosa, non è "corretto" e vera.

La rete neurale non sa bene dal male.

Proprio come la maggior parte delle persone non conoscerebbe un gatto di casa se ne vedesse uno, due o più o nessuno. Quanti gatti domestici nella griglia fotografica sopra, nessuno. Qualsiasi accusa di includere foto di gatti carini è infondata, sono tutti animali selvaggi pericolosi.

Ecco un altro esempio. Rispondere alla domanda rende Bart e Lisa più intelligenti, lo sa anche la persona che stanno chiedendo, ci sono variabili sconosciute che possono entrare in gioco?

Siamo arrivati?

Non ci siamo ancora arrivati, ma le reti neurali possono rapidamente fornire una risposta che probabilmente sarà corretta, specialmente se è stata adeguatamente addestrata per evitare qualsiasi errore.


3

Le reti neurali possono essere facilmente ingannate o hackerate aggiungendo un certo rumore strutturato nello spazio dell'immagine ( Szegedy 2013 , Nguyen 2014 ) a causa dell'ignorare informazioni non discriminatorie nei loro input.

Per esempio:

Imparare a rilevare i giaguari abbinando i punti unici sulla loro pelliccia ignorando il fatto che hanno quattro zampe. 2015

Quindi, in pratica, la previsione di elevata fiducia in alcuni modelli esiste a causa di una " combinazione della loro natura localmente lineare e spazio di input ad alta dimensione ". 2015

Pubblicato come documento di conferenza all'ICLR 2015 (lavoro di Dai) suggerisce che il trasferimento di parametri addestrati in modo discriminatorio su modelli generativi potrebbe essere un'ottima area per ulteriori miglioramenti.


3

Non posso commentare (a causa di quello richiesto 50 rep), ma volevo dare una risposta a Vishnu JK e al PO. Penso che voi ragazzi stiate saltando il fatto che la rete neurale stia davvero solo dicendo dal punto di vista programmatico che "questo è più simile".

Ad esempio, mentre possiamo elencare gli esempi di immagini sopra come "arte astratta", essi sono definitivamente più simili a quelli elencati. Ricorda che gli algoritmi di apprendimento hanno uno scopo su ciò che riconoscono come oggetto e se guardi tutti gli esempi sopra ... e pensi allo scopo dell'algoritmo ... questi hanno senso (anche quelli a colpo d'occhio che riconosciamo come rumore bianco). Nell'esempio dei numeri di Vishnu, se si sfocano gli occhi e si mettono a fuoco le immagini, in ogni caso è possibile individuare degli schemi che riflettono molto da vicino i numeri in questione.

Il problema che viene mostrato qui è che l'algoritmo sembra non avere un "caso sconosciuto". Fondamentalmente quando il riconoscimento del modello dice che non esiste nell'ambito di output. (quindi un gruppo di nodi di output finale che dice che non è nulla che io sappia). Ad esempio, le persone fanno anche questo, poiché è una cosa che gli umani e gli algoritmi di apprendimento hanno in comune. Ecco un link per mostrare di cosa sto parlando (cosa segue, definirlo) usando solo animali conosciuti che esistono:

Link all'immagine

Ora come persona, limitata da ciò che so e posso dire, dovrei concludere che il seguente è un elefante. Ma non lo è. Gli algoritmi di apprendimento (per la maggior parte) non hanno un'istruzione "like a", l'output convalida sempre fino a una percentuale di confidenza. Quindi ingannarne uno in questo modo non è sorprendente ... ciò che sorprende ovviamente è che, in base al suo set di conoscenze, in realtà arriva al punto in cui, se si considerano i casi sopra elencati elencati da OP e Vishnu che una persona. .. con un po 'di sguardo ... può vedere come l'algoritmo di apprendimento ha reso probabile l'associazione.

Quindi, non lo chiamerei davvero un errore di etichettatura da parte dell'algoritmo, o addirittura lo chiamerei un caso in cui è stato ingannato ... piuttosto un caso in cui il suo ambito è stato sviluppato in modo errato.


2

Ci sono già molte buone risposte, aggiungerò solo quelle che sono venute prima delle mie:

Questo tipo di immagini a cui ti riferisci sono chiamate perturbazioni avversarie (vedi 1 , e non si limita alle immagini, è stato dimostrato che si applica anche al testo, vedi Jia & Liang, EMNLP 2017. Nel testo, l'introduzione di un È stata vista una frase irrilevante che non contraddice il paragrafo per causare alla rete una risposta completamente diversa (vedi Jia & Liang, EMNLP 2017 ).

Il motivo per cui funzionano è dovuto al fatto che la rete neurale visualizza le immagini in un modo diverso da noi, unito all'alta dimensionalità dello spazio problematico. Dove vediamo l'intero quadro, vedono una combinazione di caratteristiche che si combinano per formare un oggetto ( Moosavi-Dezfooli et al., CVPR 2017 ). Secondo la perturbazione generata contro una rete, si è visto che ha un'alta probabilità di lavorare su altre reti:

perturbazioni

Nella figura sopra, si vede che Le perturbazioni universali calcolate per la rete VGG-19, ad esempio, hanno un rapporto di errore superiore al 53% per tutte le altre architetture testate.

Quindi, come affronti la minaccia di perturbazioni avversarie? Bene, per uno, puoi provare a generare quante più perturbazioni puoi e usarle per mettere a punto il tuo modello. Se ciò risolve in qualche modo il problema, non risolve completamente il problema. In ( Moosavi-Dezfooli et al., CVPR 2017 ) l'autore ha riferito che, ripetendo il processo calcolando nuove perturbazioni e poi di nuovo la messa a punto sembra non apportare ulteriori miglioramenti, indipendentemente dal numero di iterazioni, con il rapporto ingannevole in bilico 80%.

Le perturbazioni sono un'indicazione della corrispondenza dei modelli superficiali che le reti neurali eseguono, unita alla loro minima mancanza di una comprensione approfondita del problema attuale. Ancora lavoro da fare.


2

La maggior parte delle altre risposte sono interessanti e alcune mostrano un certo rigore, quindi non duplicherò quel trattamento, ma tirerò fuori una risposta qualitativa che parla più allo stato della ricerca che una valutazione esatta della mancanza di difese di sicurezza in attuali progetti di reti artificiali.

Se qualcuno chiedesse: "Com'è che gli umani vengono ingannati così facilmente?" Sorriderei d'accordo e direi "Suppongo che non siamo così profondi".

Questa è anche la mia valutazione dello stato delle reti artificiali. Tuttavia, possono derivarne più innovazione e scoperte e la questione della sicurezza nell'addestramento, nello spiegamento e nell'uso sul campo dei componenti di intelligenza artificiale verrà sicuramente affrontata quando gli attacchi di successo costano credibilità e buona volontà delle aziende.

La vendita di tecnologia scarsamente protetta non è una novità. Nessuno qui in laboratorio inserirà alcuna teoria, dati o procedura scientifica sul cloud a meno che non abbiamo già aperto commons o creativi autorizzati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.