Se ogni neurone in una rete neurale è sostanzialmente una funzione di regressione logistica, perché il multistrato è migliore?


13

Sto seguendo il corso DeepAI di Cousera (video della settimana 3 "Panoramica sulle reti neurali") e Andrew Ng sta spiegando come ogni strato in una rete neurale sia solo un'altra regressione logistica, ma non spiega come rendere le cose più accurate.

Quindi, in una rete a 2 livelli, in che modo il calcolo della logistica più volte la rende più accurata?


7
Spesso per adattarsi a un buon modello di regressione logistica singola, è necessario eseguire un significativo potenziamento delle funzionalità. I due livelli nn stanno provando a fare un po 'di quel lavoro per te.
Matthew Drury,

@msk, hai mai creato nuove funzionalità basate sulle tue funzionalità originali per migliorare la tua regressione logistica? Questo è ciò che fanno i layer nascosti.
Ricardo Cruz,

Risposte:


10

Quando si utilizzano le funzioni di attivazione logistica, è vero che la funzione relativa agli ingressi di ciascuna unità al suo output è la stessa della regressione logistica. Ma questo non è proprio lo stesso di ogni unità che esegue la regressione logistica. La differenza è che, nella regressione logistica, i pesi e il bias sono scelti in modo tale che l'output corrisponda meglio ai valori target dati (usando la perdita log / cross-entropia). Al contrario, le unità nascoste in una rete neurale inviano le loro uscite alle unità a valle. Non ci sono output target da abbinare per singole unità nascoste. Piuttosto, i pesi e le inclinazioni sono scelti per minimizzare alcune funzioni oggettive che dipendono dall'output finale della rete.

Invece di eseguire la regressione logistica, potrebbe essere più sensato pensare a ciascuna unità nascosta come a calcolare una coordinata in uno spazio di funzionalità. Da questo punto di vista, lo scopo di un livello nascosto è quello di trasformare il suo input: il vettore di input è mappato su un vettore di attivazioni di layer nascoste. Puoi pensare a questo come a mappare l'input in uno spazio di caratteristiche con una dimensione corrispondente a ciascuna unità nascosta.

Il livello di output può essere spesso considerato un algoritmo di apprendimento standard che opera in questo spazio di funzionalità. Ad esempio, in un'attività di classificazione, l'uso di un'unità di output logistico con perdita di entropia incrociata equivale a eseguire la regressione logistica nello spazio delle caratteristiche (o regressione logistica multinomiale se si utilizzano output softmax). In un'attività di regressione, l'utilizzo di un output lineare con errore al quadrato equivale a eseguire la regressione lineare al minimo dei quadrati nello spazio delle caratteristiche.

La formazione della rete equivale all'apprendimento della funzione di mappatura e classificazione / regressione dello spazio delle caratteristiche (nello spazio delle caratteristiche) che, insieme, offrono le migliori prestazioni. Supponendo unità nascoste non lineari, aumentando la larghezza del livello nascosto o sovrapponendo più livelli nascosti è possibile mappare lo spazio delle caratteristiche più complesso, adattando così funzioni più complesse.


7

Un modo per vedere il potere della non linearità è notare il teorema di approssimazione universale .

Sebbene non sia molto significativo nella pratica (riguarda le capacità delle reti a strato singolo), ti dice che se usi somme di sigmoidi (arbitrariamente lunghe) puoi in linea di principio approssimare qualsiasi funzione continua a qualsiasi livello desiderato. Se conosci la teoria di Fourier o ricordi il teorema di approssimazione di Weierstrass non dovrebbe essere sorprendente.


3
Questa è stata l'unica persona che ha risposto correttamente alla domanda, anche se in modo un po 'troppo conciso. Un livello nascosto è sufficiente per creare nuove potenti funzionalità che combinano le funzionalità originali. Il problema è che potresti aver bisogno di un livello nascosto con troppi nodi e il processo di convergenza funziona meglio con una rete più profonda con livelli nascosti> 1.
Ricardo Cruz,

5

Quando ci sono strati nascosti nella rete neurale, stiamo aggiungendo funzionalità non lineari. Controlla la mia risposta qui per avere un senso.

cosa rende le reti neurali un modello di classificazione non lineare?

In particolare, una funzione sigmoide nidificata sarà più "potente" di una trasformazione lineare di caratteristiche originali e una funzione sigmoide (regressione logistica).


Ecco un esempio numerico per rispondere ai commenti di OP.

X10×37W3×7X×W10×77


Mi sto solo chiedendo, quindi in che modo uno dei nodi del primo strato differisce nell'output, cioè il nodo 1 ottiene X1, X2, X3, il nodo 2 ottiene anche X1, X2, X3, se sono tutti regressione logistica, come è la loro produzione sarà diversa?
mskw,

supponiamo di avere 3 funzioni e 10 unità nascoste, quindi l'output del livello nascosto ha 10 "funzioni ingegnerizzate".
Haitao Du,

Perché le chiamate "funzioni ingegnerizzate", sono anche le funzioni che menziona X1, X2, X3?
mskw,

Modificherò la mia risposta per rispondere ai tuoi commenti.
Haitao Du,

Grazie alla revisione, dalla tua spiegazione, non sono sicuro che tu non stia rispondendo alla mia domanda, o ho un gap di conoscenza in cui devo prima colmare. In particolare, dalla tua risposta Weight si riferisce a ciascuna funzione di output del nodo? In tal caso, in che modo differiscono da ciascuno degli altri nodi sullo stesso livello?
mskw,

3

Nella regressione logistica standard abbiamo 1 output nel livello finale. Tuttavia, con una singola rete neurale a strato nascosto, possiamo avere più valori intermedi, ognuno dei quali può essere considerato come un output di un diverso modello di regressione logistica, ovvero non stiamo semplicemente eseguendo la stessa regressione logistica ancora e ancora. Non è quindi un grande salto pensare che è possibile che la combinazione di questi abbia maggiori capacità espressive rispetto al modello di regressione logistica standard (ed è stato anche dimostrato nella pratica e nella teoria ).

Nyj=f(i=1Nwjixi+bj)fwjixibjè un po 'di pregiudizio. I pesi sono scelti da un algoritmo di ottimizzazione per ottimizzare il nostro obiettivo, ad es. Minimizzare l'errore di classificazione. L'inizializzazione è molto importante per gli algoritmi di discesa gradiente che di solito vengono utilizzati per ottimizzare i pesi. Vedi https://intoli.com/blog/neural-network-initialization/ dove se tutti i pesi iniziano a 0, la rete non è in grado di apprendere.

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.