Qual è la differenza tra reti neurali feed-forward e ricorrenti?


Risposte:


57

Le RNA feed-forward consentono ai segnali di viaggiare solo in una direzione: dall'ingresso all'uscita. Non ci sono feedback (loop); vale a dire , l'output di qualsiasi layer non influisce su quello stesso layer. Le RNA feed-forward tendono ad essere reti semplici che associano input e output. Sono ampiamente utilizzati nel riconoscimento di schemi. Questo tipo di organizzazione viene anche definito bottom-up o top-down.

Una rete feed-forward

Le reti di feedback (o ricorrenti o interattive) possono avere segnali che viaggiano in entrambe le direzioni introducendo loop nella rete. Le reti di feedback sono potenti e possono diventare estremamente complicate. I calcoli derivati ​​da input precedenti vengono reimmessi nella rete, il che conferisce loro una sorta di memoria. Le reti di feedback sono dinamiche; il loro "stato" cambia continuamente fino a raggiungere un punto di equilibrio. Rimangono nel punto di equilibrio fino a quando l'ingresso non cambia e deve essere trovato un nuovo equilibrio.

architettura di feedback

Le reti neurali feedforward sono ideali per modellare le relazioni tra un insieme di predittore o variabili di input e una o più variabili di risposta o di output. In altre parole, sono appropriati per qualsiasi problema di mappatura funzionale in cui vogliamo sapere come un numero di variabili di input influisce sulla variabile di output. Le reti neurali feedforward multistrato, chiamate anche percettroni multi-strato (MLP), sono in pratica il modello di rete neurale più ampiamente studiato e utilizzato.

Come esempio di rete di feedback, posso ricordare la rete di Hopfield . L'uso principale della rete di Hopfield è come memoria associativa. Una memoria associativa è un dispositivo che accetta un modello di input e genera un output come modello memorizzato che è più strettamente associato all'input. La funzione della memoria associata è quella di richiamare il modello memorizzato corrispondente e quindi produrre una versione chiara del modello in uscita. Le reti Hopfield sono in genere utilizzate per quei problemi con i vettori di pattern binari e il pattern di input potrebbe essere una versione rumorosa di uno dei pattern memorizzati. Nella rete Hopfield, i modelli memorizzati sono codificati come pesi della rete.

Le mappe auto-organizzanti di Kohonen(SOM) rappresentano un altro tipo di rete neurale notevolmente diversa dalle reti multistrato feedforward. A differenza dell'addestramento nella MLP feedforward, l'addestramento o l'apprendimento SOM è spesso chiamato senza supervisione perché non ci sono output target noti associati a ciascun modello di input in SOM e durante il processo di training, SOM elabora gli schemi di input e impara a raggruppare o segmentare i dati attraverso la regolazione dei pesi (che lo rende un importante modello di rete neurale per la riduzione delle dimensioni e il clustering di dati). Una mappa bidimensionale viene in genere creata in modo tale da preservare gli ordini delle interrelazioni tra gli input. Il numero e la composizione dei cluster possono essere determinati visivamente in base alla distribuzione dell'output generato dal processo di formazione. Con solo le variabili di input nel campione di training,

(I diagrammi sono tratti dal sito Web di Intelligenza Artificiale C463 / B551 di Dana Vrajitoru .)


2
Una rete feed forward che utilizza iterativamente i suoi output come input conta come una rete ricorrente?
naught101,

1
Sì, è proprio così.
Bayerj,

2
Il mio commento precedente era sbagliato. Parte di questo post è stato apparentemente plagiato da questa persona (a parte un paio di piccoli cambiamenti di parole) senza credito.
Glen_b,

1
Sto cercando di capire matematicamente perché gli RNN sono superiori alle reti Feed forward. Ci sono esempi in cui è molto difficile approssimarsi con Feed-forward ANN ma facile con RNN.
Pikachuchameleon,

14

Ciò che George Dontas scrive è corretto, tuttavia l'uso di RNN nella pratica di oggi è limitato a una classe più semplice di problemi: serie temporali / attività sequenziali.

Mentre le reti feedforward sono usati per imparare set di dati come dove e sono vettori (per esempio , per le reti ricorrenti sarò sempre una sequenza, ad esempio, .i t i R n i i ( R n ) (i,t)itiRnii(Rn)

È stato dimostrato che gli RNN sono in grado di rappresentare qualsiasi sequenza misurabile per mappare la sequenza mediante Hammer.

Pertanto, gli RNN vengono utilizzati al giorno d'oggi per tutti i tipi di attività sequenziali: previsione delle serie temporali, etichettatura delle sequenze, classificazione delle sequenze ecc. Una buona panoramica è disponibile sulla pagina di Schmidhuber sugli RNN .


"Mentre le reti feedforward vengono utilizzate per apprendere set di dati come (i, t) in cui i e t sono vettori (ad es. I∈Rn, per le reti ricorrenti sarò sempre una sequenza, ad es. I∈ (Rn) ∗" So che questa domanda era ho chiesto molto tempo fa, ma ti dispiacerebbe spiegare cosa significhi in parole povere? Devo giustificare il motivo per cui ho scelto di utilizzare una rete di feed forward su un RNN per il mio progetto e penso che questo potrebbe essere il motivo. Oppure potresti collegarmi a una fonte che mi consentirà di formulare questa giustificazione? Dopo la ricerca non riesco a trovarne uno da solo. Grazie, ogni risposta è molto apprezzata!
Blue7,

Questa risposta è un po 'obsoleta ora. Mentre gli RNN si prestano in modo naturale alla sequenza dei dati, possono anche essere usati per fare previsioni su input statici (come immagini o altro). Vedi: Rete neurale convoluzionale ricorrente per il riconoscimento di oggetti e la prova che i circuiti ricorrenti sono fondamentali per l'esecuzione del flusso ventrale del comportamento di riconoscimento degli oggetti principali
Firebug

1

Cosa è veramente interessante nel porre questa domanda?

Invece di dire RNN e FNN è diverso nel loro nome. Quindi sono diversi. , Penso che ciò che è più interessante sia in termini di modellazione del sistema dinamico, RNN differisca molto da FNN?

sfondo

C'è stato un dibattito per la modellizzazione del sistema dinamico tra la rete neurale ricorrente e la rete neurale Feedforward con funzionalità aggiuntive come i precedenti ritardi (FNN-TD).

Da quanto ho appreso dopo aver letto quegli articoli degli anni '90 ~ 2010. La maggior parte della letteratura preferisce che RNN alla vaniglia sia migliore di FNN in quanto RNN utilizza una memoria dinamica mentre FNN-TD è una memoria statica .

Tuttavia, non ci sono molti studi numerici che confrontano questi due. Quello [1] all'inizio ha mostrato che per la modellazione di sistemi dinamici, FNN-TD mostra prestazioni comparabili a RNN vaniglia quando è privo di rumore mentre esegue un po 'peggio quando c'è rumore. Nelle mie esperienze sulla modellazione di sistemi dinamici, vedo spesso che FNN-TD è abbastanza buono.

Qual è la differenza chiave nel modo in cui trattare gli effetti di memoria tra RNN e FNN-TD?

Sfortunatamente, non vedo da nessuna parte e qualsiasi pubblicazione teoricamente ha mostrato la differenza tra questi due. È abbastanza interessante Consideriamo un caso semplice, usando una sequenza scalare per prevedere . Quindi è un'attività da sequenza a scalare.Xn,Xn1,,XnkXn+1

FNN-TD è il modo più generale e completo per trattare i cosiddetti effetti di memoria . Dal momento che è brutale, copre teoricamente qualsiasi tipo, qualsiasi tipo, qualsiasi effetto memoria. L'unico lato negativo è che in pratica prende troppi parametri.

La memoria in RNN non è altro che rappresentata come una "convoluzione" generale delle informazioni precedenti . Sappiamo tutti che la convoluzione tra due sequenze scalari in generale non è un processo reversibile e che la deconvoluzione è spesso posta male.

Mia congettura è "grado di libertà" in tale processo di convoluzione è determinato dal numero di unità nascoste nello stato RNN . Ed è importante per alcuni sistemi dinamici. Si noti che il "grado di libertà" può essere esteso ritardando l'incorporamento degli stati [2] mantenendo lo stesso numero di unità nascoste.s

Pertanto, RNN sta effettivamente comprimendo le informazioni di memoria precedenti con perdita facendo convoluzione, mentre FNN-TD le sta semplicemente esponendo in un certo senso senza perdita di informazioni di memoria. Si noti che è possibile ridurre la perdita di informazioni nella convoluzione aumentando il numero di unità nascoste o utilizzando più ritardi di tempo rispetto a RNN vaniglia. In questo senso, RNN è più flessibile di FNN-TD. RNN non può ottenere alcuna perdita di memoria come FNN-TD e può essere banale mostrare che il numero di parametri è nello stesso ordine.

So che qualcuno potrebbe voler menzionare che RNN sta portando l'effetto a lungo termine mentre FNN-TD non può. Per questo, voglio solo menzionare che per un sistema dinamico autonomo continuo, dalla teoria dell'incorporamento di Takens è una proprietà generica per l'incorporamento esistente per FNN-TD con la memoria apparentemente breve tempo per ottenere le stesse prestazioni dell'apparentemente lungo tempo memoria in RNN. Spiega perché RNN e FNN-TD non differiscono molto nell'esempio di sistema dinamico continuo nei primi anni '90.

Ora menzionerò il vantaggio di RNN. Per il compito di un sistema dinamico autonomo, usando più termini precedenti, sebbene effettivamente sarebbe lo stesso che usare FNN-TD con termini meno precedenti in teoria, numericamente sarebbe utile in quanto è più robusto al rumore. Il risultato in [1] è coerente con questa opinione.

Riferimento

[1] Gençay, Ramazan e Tung Liu. "Modellazione e previsione non lineari con reti feedforward e ricorrenti." Physica D: Fenomeni non lineari 108.1-2 (1997): 119-134.

[2] Pan, Shaowu e Karthik Duraisamy. "Individuazione basata su dati di modelli di chiusura". arXiv prestampa arXiv: 1803.09318 (2018).

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.