Come si potrebbe eseguire il debug, comprendere o correggere il risultato di una rete neurale?


8

Sembra alquanto controverso affermare che gli approcci basati su NN stanno diventando strumenti piuttosto potenti in molte aree dell'IA - sia nel riconoscere e decomporre le immagini (facce al confine, scene di strada nelle automobili, decisioni in situazioni incerte / complesse o con dati parziali). Quasi inevitabilmente, alcuni di quegli usi si svilupperanno in situazioni in cui l'intelligenza artificiale basata su NN prende parte o tutto il carico umano, e generalmente lo fa meglio di quanto facciano le persone.

Gli esempi potrebbero includere NN ipoteticamente usato come passaggi in auto a guida autonoma, diagnosi medica, verifica di identità umana, verifica del circuito / progettazione, avviso di transazione dubbia. Probabilmente molti campi nel prossimo decennio o giù di lì.

Supponiamo che ciò accada e che sia generalmente considerato di successo (ad esempio, ottiene una diagnosi dell'80% corretta rispetto al 65% dei medici umani o qualcosa del genere, o le auto con AI che includono un incidente NN dell'8% in meno rispetto alle auto o alle alternative guidate dall'uomo, o qualunque altra cosa).

Ora, supponiamo che uno di questi faccia in modo aberrante e serio qualcosa di molto sbagliato in un caso. Come si può avvicinarlo? Con i passaggi logici formali si può tracciare un processo decisionale formale, ma con NN potrebbe non esserci alcuna logica formale, specialmente se diventa abbastanza complessa (dicono un paio di decenni), ci sono solo 20 miliardi di processori neurali e le loro ponderazioni I / O e connessioni, potrebbe non essere possibile determinare cosa abbia causato qualche incidente anche se si perdessero delle vite. Inoltre, potrebbe non essere possibile dire più di quanto i sistemi apprendano continuamente e tali incidenti sono rari.

Inoltre non ho mai sentito parlare di un modo significativo di fare una "scatola nera" o un equivalente del registratore di volo per NN (anche se non usato in un caso critico per la vita), che ci consentirebbe di capire ed evitare una decisione sbagliata. A differenza di altre risposte ai difetti del prodotto, se un NN potesse essere addestrato dopo l'evento per risolvere un caso del genere, non fornisce chiaramente la certezza che vorremmo, che la nuova configurazione di NN ha risolto il problema o non ha ridotto il rischio ed equilibrio di altri problemi nel fare ciò. È solo molto opaco. Eppure, chiaramente, è per lo più molto prezioso come approccio AI.

In 20 anni se NN è un componente (riconosciuto come sicuro e di successo) in un volo aereo o in una progettazione di aeromobili, o integrato in un sistema ospedaliero per controllare le emergenze o individuare frodi presso una banca e, come al solito, ha superato qualsiasi norma e requisiti di mercato potrebbero esistere e funzionare con un buon record per anni nel mercato generale, e quindi in un caso tale sistema qualche tempo dopo sbaglia chiaramente in un'occasione - maltratta pericolosamente la strada, raccomanda farmaci dannosi per la vita o erroneamente diagnosi errate, o cancella una palese transazione fraudolenta da 200 milioni di sterline presso una banca di compensazione che viene catturata per caso solo prima che il denaro venga inviato.

Cosa può fare il produttore per rispondere alle preoccupazioni del pubblico o del mercato o per spiegare l'incidente? Cosa fa il team tecnico quando gli viene detto dal consiglio "come è potuto succedere e assicurarsi che sia stato risolto"? Che tipo di log significativi possono essere conservati, ecc.? La società dovrebbe semplicemente accettare che l'incertezza e il comportamento bizzarro occasionale potrebbero essere inerenti (buona fortuna con la società convincente di ciò!)? Oppure esiste un modo migliore per avvicinarsi all'attività di registrazione / debugging / decisione più adatta alle NN?

Risposte:


7

Se è stata registrata l'osservazione che la rete neurale ha visto, allora la previsione può essere spiegata.

Su questo argomento è stato scritto un articolo abbastanza recente intitolato "Perché dovrei fidarmi di te?": Spiegare le previsioni di qualsiasi classificatore (2016). In questo articolo, l'autore ha descritto un algoritmo chiamato LIME che è in grado di spiegare qualsiasi previsione dei modelli di apprendimento automatico. Può essere usato per stabilire perché un modello di apprendimento automatico ha fatto una previsione, aiutare uno scienziato di dati a eseguire il debug di un modello e aiutare uno scienziato di dati a migliorare l'accuratezza di un modello specifico. LIME può essere utilizzato per spiegare le previsioni di qualsiasi rete neurale compresi CNN, RNN e DNN.

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.