La rete neurale profonda può approssimare la moltiplicazione senza normalizzazione?


27

Supponiamo di voler fare una regressione per l' f = x * yutilizzo semplice di una rete neurale profonda standardizzata.

Ricordo che ci sono delle ricerche che dicono che NN con uno strato hiden può apoximare qualsiasi funzione, ma ho provato e senza normalizzazione NN non è stato in grado di approssimare nemmeno questa semplice moltiplicazione. Solo la normalizzazione dei dati dei log ha aiutato, m = x*y => ln(m) = ln(x) + ln(y). ma sembra un imbroglio. NN può farlo senza log-normalizzazione? La risposta è ovviamente (come per me) - sì, quindi la domanda è più cosa dovrebbe essere tipo / configurazione / layout di tale NN?

Risposte:


13

Una grande pendenza della funzione di moltiplicazione forza la rete probabilmente quasi immediatamente in uno stato terrificante in cui tutti i suoi nodi nascosti hanno una pendenza zero (a causa dei dettagli e delle limitazioni dell'implementazione della rete neurale). Possiamo usare due approcci:

  1. Dividi per una costante. Stiamo solo dividendo tutto prima dell'apprendimento e moltipliciamo dopo.
  2. Usa la normalizzazione dei log. Aggiunge inoltre la moltiplicazione:

    m=Xyln(m)=ln(X)+ln(y)


5

Una domanda simile mi ha colpito prima oggi e sono rimasto sorpreso di non riuscire a trovare una risposta rapida. La mia domanda era che dato che le NN avevano solo funzioni di somma, come potevano modellare le funzioni moltiplicative.

Questo tipo di risposta, sebbene fosse una lunga spiegazione. Il mio riassunto sarebbe che il modello di NN è la superficie della funzione piuttosto che la funzione stessa. Il che è ovvio, a posteriori ...


5

NN con funzione di attivazione relu può approssimare la moltiplicazione quando l'intervallo di ingressi è limitato. Ricordalo relu(x) = max(x, 0).

È sufficiente se NN si avvicina a una funzione quadrata g(z) = z^2, perché x*y = ((x-y)^2 - x^2 - y^2)/(-2). Il lato destro ha solo combinazioni e quadrati lineari.

NN può approssimarsi z^2con una funzione lineare a tratti. Ad esempio, a distanza [0, 2]una combinazione di xe relu(2(x-1))non è poi così male. La figura seguente mostra questo. Non ho idea se questo sia utile oltre la teoria :-) inserisci qui la descrizione dell'immagine


0

"un livello nascosto" non limita il numero di neuroni e i tipi di funzione di attivazione utilizzati, ha ancora un ampio spazio di rappresentazione. Un metodo semplice per convalidare l'esistenza di questo problema: addestrare questo problema di regressione con una rete di neuroni reale, registrare pesi e distorsioni, utilizzare questi parametri per tracciare la curva di previsione, contrastarla con la curva della funzione target. Questo saggio può essere d'aiuto.


0

Non riesco a commentare a causa di essere un nuovo utente attivo su StackExchange. Ma penso che questa sia una domanda importante perché è così semplice da capire ma difficile da spiegare. Con rispetto, non credo che la risposta accettata sia sufficiente. Se si pensa alle operazioni principali di un NN feed-forward standard, con attivazioni del modulo s(W*x+b)per alcune funzioni di attivazione non lineari s, in realtà non è ovvio come "ottenere" la moltiplicazione da questo anche in una rete composta (a più livelli). Il ridimensionamento (il primo punto nella risposta accettata) non sembra affatto rispondere alla domanda ... ridimensionamento di cosa? Gli input xe ysono presumibilmente diversi per ogni campione. E prendere il registro va bene finché lo saiquesto è quello che devi fare, e prenditi cura del problema del segno nella pre-elaborazione (poiché ovviamente il registro non è definito per gli input negativi). Ma questo fondamentalmente non convive con l'idea che le reti neurali possano semplicemente "imparare" (sembra un imbroglio come ha detto l'OP). Non credo che la domanda debba essere considerata una risposta fino a quando non lo è davvero, da qualcuno più intelligente di me!

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.