Le reti neurali sono soggette a dimenticanza catastrofica?


38

Immagina di mostrare a una rete neurale l'immagine di un leone 100 volte e di etichettarla con "pericoloso", così apprende che i leoni sono pericolosi.

Ora immagina di averlo precedentemente mostrato milioni di immagini di leoni e in alternativa etichettato come "pericoloso" e "non pericoloso", in modo tale che la probabilità che un leone sia pericoloso è del 50%.

Ma quelle ultime 100 volte hanno spinto la rete neurale ad essere molto positiva nel considerare il leone "pericoloso", ignorando così gli ultimi milioni di lezioni.

Pertanto, sembra che ci sia un difetto nelle reti neurali, in quanto possono cambiare idea troppo rapidamente sulla base di prove recenti. Soprattutto se quella prova precedente era nel mezzo.

Esiste un modello di rete neurale che tiene traccia di quante prove ha visto? (O questo equivarrebbe a far diminuire il tasso di apprendimento di 1/T dove T è il numero di prove?)


Sto parlando dell'apprendimento supervisionato in cui l'utente dice alla NN che il leone è pericoloso.
Zooby

Questo succede anche alle persone. È davvero spaventoso quanto sia facile "disimparare" che qualcosa è pericoloso dopo averlo fatto più volte senza conseguenze, il che è quasi uguale allo scenario che hai descritto con l'IA.
Tomáš Zato - Ripristina Monica l'

2
Contrassegnato come troppo ampio. Questo dipende troppo dalle tecniche di riconoscimento utilizzate dalla rete. Ovviamente, certo, in alcuni casi la rete "dimenticherà" ma in altri casi non lo farà. Dovrebbe essere estremamente chiaro che qualsiasi risposta a questa domanda dovrebbe iniziare e finire con "Dipende".
8protons,

3
Ad essere onesti, questa è una di quelle offerte tipo "scegli il tuo veleno". Una NN che favorisce le esperienze recenti rispetto a quelle storiche è soggetta a ignorare il passato, ma è in grado di rispondere ai recenti sviluppi. Ad esempio, supponiamo che tutti i leoni improvvisamente trasformino il mankiller dall'oggi al domani, quindi il tuo NN che favorisce le esperienze recenti sarà molto più veloce nel raccogliere la nuova minaccia, al contrario del più lento NN che in pratica dice "i leoni non erano sempre pericolosi in passato, io Concludo che non sta accadendo nulla di nuovo "fino a quando i leoni non saranno stati pericolosi al 100% più a lungo di quanto vorresti (e molte morti umane dopo)
Flater,

1
Inoltre, l'AGI avrebbe una ponderazione degli errori pertinente: i due errori non sono ugualmente negativi nel risultato.
MSalters,

Risposte:


39

Sì, infatti, le reti neurali sono molto inclini a dimenticarsi catastroficamente (o interferire) . Attualmente, questo problema viene spesso ignorato perché le reti neurali sono principalmente addestrate offline (a volte chiamato addestramento batch ), dove questo problema non si presenta spesso, e non online o in modo incrementale , che è fondamentale per lo sviluppo dell'intelligenza generale artificiale .

Ci sono alcune persone che lavorano sull'apprendimento permanente continuo nelle reti neurali, che tenta di adattare le reti neurali all'apprendimento permanente continuo, che è la capacità di un modello di imparare continuamente da un flusso di dati, in modo che non dimentichino completamente acquisito in precedenza conoscenza durante l'apprendimento di nuove informazioni. Vedi, ad esempio, l'articolo Apprendimento permanente continuo con reti neurali: una recensione (2019), del tedesco I. Parisi, Ronald Kemker, Jose L. Part, Christopher Kanan, Stefan Wermter, che sintetizza i problemi e le soluzioni esistenti relative al catastrofico dimenticare le reti neurali.


1
Grazie! Avrò una lettura di quel documento che mi suggerisci.
Zooby

7
La famigerata corruzione del chatbot "Tay" di Microsoft è stata un esempio di dimenticanza catastrofica?
No U

4
@TKK Penso che questa sarebbe una buona nuova domanda sul sito Web!
nbro,

2
@TKK Lo chiederai ? In caso contrario, qualcun altro potrebbe farlo? Voglio davvero conoscere la risposta.
wizzwizz4,

3
Sono abbastanza sicuro che la frase "Ci sono alcune persone che lavorano sull'apprendimento permanente continuo nelle reti neurali, che tenta di adattare le reti neurali all'apprendimento permanente continuo" è stata scritta da una rete neurale.
Moyli,

16

Sì, il problema di dimenticare gli esempi di allenamento precedenti è una caratteristica delle reti neurali. Non lo definirei un "difetto", perché li aiuta a essere più adattivi e consente applicazioni interessanti come l'apprendimento del trasferimento (se una rete ricordasse troppo il vecchio allenamento, perfezionarlo su nuovi dati non avrebbe senso).

In pratica, quello che vuoi fare è mescolare gli esempi di allenamento con pericolosi e non pericolosi in modo che non vedano una categoria all'inizio e una alla fine.

Una procedura di allenamento standard funzionerebbe in questo modo:

for e in epochs:
    shuffle dataset
    for x_batch, y_batch in dataset:
        train neural_network on x_batxh, y_batch

Si noti che lo shuffle in ogni epoca garantisce che la rete non vedrà gli stessi esempi di allenamento nello stesso ordine in ogni epoca e che le classi saranno mescolate

Ora per rispondere alla tua domanda, sì, ridurre il tasso di apprendimento renderebbe la rete meno incline a dimenticare la sua formazione precedente, ma come funzionerebbe in un ambiente non online? Affinché una rete converga ha bisogno di più epoche di addestramento (ovvero vedere più volte ciascun campione nell'insieme di dati).


4

Quello che stai descrivendo sembra che potrebbe essere un caso deliberato di messa a punto .

C'è un presupposto fondamentale che fa funzionare la discesa del gradiente minibatch per problemi di apprendimento: si presume che qualsiasi batch o finestra temporale di batch consecutivi formi un'approssimazione decente del vero globalegradiente della funzione di errore rispetto a qualsiasi parametrizzazione del modello. Se la superficie dell'errore stessa si sta muovendo in modo significativo, ciò vanificherebbe gli scopi della discesa del gradiente - poiché la discesa del gradiente è un algoritmo di perfezionamento locale, tutte le scommesse sono disattivate quando si cambia improvvisamente la distribuzione sottostante. Nell'esempio che hai citato, la dimenticanza catastrofica sembra essere il risultato di avere "dimenticato" i punti dati precedentemente visti, ed è un sintomo della distribuzione modificata o della sottorappresentazione nei dati di alcuni importanti fenomeni , tale che è raramente visto rispetto alla sua importanza.

L'esperienza replay dall'apprendimento per rinforzo è un concetto rilevante che si trasferisce bene in questo dominio. Ecco un documento che esplora questo concetto rispetto all'oblio catastrofico. Finché il campionamento rappresenta i gradienti reali sufficientemente bene (si veda il bilanciamento del campione di allenamento per questo) e il modello ha parametri sufficienti, è improbabile che si verifichi il problema catastrofico dell'oblio. In set di dati mescolati casualmente con sostituzione, è molto probabile che si verifichino punti di dati di una determinata classe così rari che è improbabile che vengano inclusi a lungo durante l'allenamento, perfezionando efficacemente il modello su un problema diverso fino a quando un campione corrispondente è visto di nuovo.


1

Per rispondere alla tua domanda direi: forse in teoria, ma non in pratica.


Il problema è che si considera solo un allenamento cronologico / sequenziale.

Solo una volta ho usato un metodo di addestramento sequenziale che si chiama formazione online o apprendimento automatico online . Stava usando la libreria woppal wabbit . È una caratteristica (non un problema come si considera) di questa libreria di adattarsi cronologicamente all'input di cui è alimentato.

Io insisto : nel caso di quella libreria Woppal Wabbit, è una caratteristica di adattarsi in ordine cronologico. Si vuole che quando inizi a dirgli solo che i leoni sono pericolosi, allora si adatta di conseguenza.


Ma in tutti gli altri casi, dagli esercizi dei corsi alle competizioni, ho usato un sottoinsieme randomizzato dei miei dati di input come set di allenamento. E questo è davvero cruciale :

È una parte importante dell'apprendimento automatico che si chiama Cross Validation . È il modo di stimare quanto è veramente valida la rete neurale addestrata.

Per avere una buona stima della validità della tua rete neurale prendi un sottoinsieme casuale dei tuoi dati di allenamento, in breve, prendi qualcosa come l'80% dei tuoi dati per l'allenamento e con il restante 20% valuti con quale frequenza la rete neurale addestrata fornisce buone previsioni.

Inoltre, non si può semplicemente andare via senza la convalida incrociata, a causa della necessità di rilevare un overfitting (che è un'altra preoccupazione).

Potrebbe sembrare un possibile problema teorico, ma tendo a dire che l'attuale utilizzo dei metodi di convalida incrociata rende irrilevante la vostra preoccupazione.

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.