Teorema di approssimazione universale - Reti neurali


23

L'ho pubblicato prima su MSE, ma è stato suggerito che qui potrebbe essere un posto migliore per chiedere.

Il teorema di approssimazione universale afferma che "la rete feed-forward multistrato standard con un singolo strato nascosto, che contiene un numero finito di neuroni nascosti, è un approssimatore universale tra funzioni continue su sottoinsiemi compatti di Rn, sotto lievi ipotesi sulla funzione di attivazione".

Capisco cosa significhi, ma i documenti pertinenti sono troppo lontani dal mio livello di comprensione della matematica per capire perché sia ​​vero o come uno strato nascosto si avvicini alle funzioni non lineari.

Quindi, in termini leggermente più avanzati del calcolo di base e dell'algebra lineare, in che modo una rete feed-forward con uno strato nascosto approssima le funzioni non lineari? La risposta non deve necessariamente essere totalmente concreta.



Ho trovato la prova visiva da Michael Nielsen piuttosto utile
Signor Tsjolder

Risposte:


26

Il risultato di Cybenko è abbastanza intuitivo, come spero di trasmettere qui sotto; ciò che rende le cose più difficili è che puntava sia alla generalità, sia a un numero minimo di strati nascosti. Il risultato di Kolmogorov (menzionato da vzn) in effetti ottiene una garanzia più forte, ma è in qualche modo meno rilevante per l'apprendimento automatico (in particolare, non costruisce una rete neurale standard, poiché i nodi sono eterogenei); questo risultato a sua volta è scoraggiante poiché in superficie sono solo 3 pagine che registrano alcuni limiti e funzioni continue, ma in realtà sta costruendo una serie di frattali. Mentre il risultato di Cybenko è insolito e molto interessante a causa delle esatte tecniche che utilizza, i risultati di quel sapore sono ampiamente utilizzati nell'apprendimento automatico (e posso indicarti gli altri).

Ecco un riassunto di alto livello del perché il risultato di Cybenko dovrebbe valere.

  • Una funzione continua su un set compatto può essere approssimata da una funzione costante a tratti.
  • Una funzione costante a tratti può essere rappresentata come una rete neurale come segue. Per ogni regione in cui la funzione è costante, utilizzare una rete neurale come funzione indicatore per quella regione. Quindi costruisci un livello finale con un singolo nodo, la cui combinazione lineare di input è la somma di tutti gli indicatori, con un peso pari al valore costante della regione corrispondente nella funzione costante a tratti originale.

Per quanto riguarda il primo punto sopra, ciò può essere preso come l'affermazione "una funzione continua su un set compatto è uniformemente continua". Che cosa questo significa per noi è che si può prendere la vostra funzione continua su , e qualche errore di bersaglio ε > 0 , allora si può griglia [ 0 , 1 ] D a scala τ > 0 (finendo con circa ( 1 / τ ) d sottocubi) in modo che una funzione che sia costante su ciascun sottocubo sia all'interno di ϵ della funzione target.[0,1]dε>0[0,1]dτ>0(1/τ)dε

Ora, una rete neurale non può rappresentare con precisione un indicatore, ma puoi avvicinarti molto. Supponiamo che la "funzione di trasferimento" sia un sigmoide. (La funzione di trasferimento è la funzione continua che si applica a una combinazione lineare di input per ottenere il valore del nodo di rete neurale.) Quindi, aumentando i pesi, si ottiene un risultato vicino a 0 o vicino a 1 per più ingressi. Ciò è coerente con lo sviluppo di Cybenko: nota che ha bisogno che le funzioni coinvolte siano pari a 0 o 1 nel limite: per definizione di limite, ottieni esattamente quello che sto dicendo, il che significa che avvicini arbitrariamente le cose a 0 o 1.

(Ho ignorato la funzione di trasferimento nel livello finale; se è presente ed è continua, allora possiamo adattare qualsiasi mappatura a sostituendo i pesi costanti con qualcosa nell'immagine inversa di quella costante in base al trasferimento funzione.)[0,1]

Notare che quanto sopra potrebbe sembrare prendere un paio di livelli: diciamo, 2 per costruire gli indicatori sui cubi, quindi un livello di output finale. Cybenko stava cercando due punti di generalità: un numero minimo di strati nascosti e flessibilità nella scelta della funzione di trasferimento. Ho già descritto come elabora la flessibilità nella funzione di trasferimento.

Per ottenere il numero minimo di strati, evita la costruzione sopra e usa invece l'analisi funzionale per sviluppare una contraddizione. Ecco uno schizzo dell'argomento.

  • Il nodo finale calcola una combinazione lineare degli elementi del livello sottostante e applica una funzione di trasferimento ad esso. Questa combinazione lineare è una combinazione lineare di funzioni e, come tale, è essa stessa una funzione, una funzione all'interno di un sottospazio di funzioni, espansa dai possibili nodi nel livello nascosto.

  • Un sottospazio di funzioni è proprio come un normale sottospazio di dimensioni finite, con la differenza principale che potenzialmente non è un insieme chiuso; ecco perché gli argomenti di cybenko prendono tutti la chiusura di quel sottospazio. Stiamo provando a dimostrare che questa chiusura contiene tutte le funzioni continue; ciò significa che siamo arbitrariamente vicini a tutte le funzioni continue.

  • Se lo spazio delle funzioni fosse semplice (uno spazio di Hilbert), potremmo argomentare come segue. Scegli una funzione continua bersaglio che si suppone contraddittoriamente non risieda nel sottospazio e proiettala sul complemento ortogonale del sottospazio. Questo residuo deve essere diverso da zero. Ma dal momento che il nostro sottospazio può rappresentare cose come quei cubetti sopra, possiamo trovare una regione di questo residuo, adattarci un piccolo cubo (come sopra) e quindi avvicinarci alla nostra funzione bersaglio. Questa è una contraddizione poiché le proiezioni scelgono elementi minimi. (Nota, sto lasciando qualcosa qui fuori: l'argomento di Cybenko non costruisce piccoli cubetti, lo gestisce anche in generale; qui è dove usa una forma del teorema di rappresentazione di Riesz e le proprietà delle funzioni di trasferimento (se ricordo correttamente, c'è un lemma separato per questo passaggio,

  • Non siamo in uno spazio di Hilbert, ma possiamo usare il teorema di Hahn-Banach per sostituire il passo di proiezione sopra (nota, dimostrando che Hahn-Banach usa l'assioma della scelta).

Ora vorrei dire alcune cose sul risultato di Kolmogorov. Sebbene questo risultato non abbia apparentemente bisogno del tipo di background di Cybenko, personalmente ritengo che sia molto più intimidatorio.

O(d2)

Okay, quindi, come può funzionare questa cosa ?!

ε>0τ>0

[0,1][0,1]dO(d2)RdRO(d2)

Si noti che il risultato di Cybenko, grazie all'utilizzo di un solo tipo di funzione di trasferimento, è più rilevante per l'apprendimento automatico. Teoremi di questo tipo sono molto comuni nell'apprendimento automatico (vzn lo ha suggerito nella sua risposta, tuttavia ha fatto riferimento al risultato di Kolmogorov, che è meno applicabile a causa delle funzioni di trasferimento personalizzate; questo è indebolito in alcune versioni più fantasiose del risultato di Kolmogorov (prodotto da altri autori), ma quelli coinvolgono ancora frattali e almeno due funzioni di trasferimento).

Ho alcune diapositive su questi argomenti, che potrei pubblicare se sei interessato (si spera meno traballante di quanto sopra, e avere alcune foto; le ho scritte prima di essere esperta con Hahn-Banach, tuttavia). Penso che entrambe le prove siano molto, molto belle. (Inoltre, ho un'altra risposta qui su questi argomenti, ma l'ho scritta prima di aver criticato il risultato di Kolmogorov.)


1
UNBφfUN:φ(f)1gB:φ(g)>1
Sasho Nikolov,

3
SfSLL(g)=0gSL(f)=fL(f)come parte integrante rispetto ad alcune misure firmate. Ma questo completa la prova a causa delle condizioni di Cybenko sulle funzioni di trasferimento (continua nel prossimo commento).
matus,

3
@SashoNikolov, la condizione di Cybenko è che data una misura firmata non esattamente zero, esiste una funzione affine in modo che l'integrazione della funzione di trasferimento composta con quella funzione affine, su quella misura, non sia uguale a zero. Deve quindi dimostrare il lemma che i sigmoidi generalizzati (come ho detto sopra: limiti a 0 e 1 a sinistra e a destra) si adattano al conto. (continua nel prossimo commento.)
matus

2
@SashoNikolov. Sopra ho detto "facendo cadere un cubo lungo il residuo". Ciò renderebbe il nostro lavoro leggermente più semplice, dato che la misura firmata non è esattamente zero, sceglieremmo solo un piccolo pezzo e lanceremmo un indicatore lì. Nel suo caso, deve lavorare un po ', ma allo stesso modo questo si riduce a muoversi attorno al sigmoide con la funzione affine in modo che trovi una regione facile, ottenendo così un integrale diverso da zero, contraddicendo Hahn-Banach (che è zero sul nostro sottospazio) ; nel senso di Hilbert, abbiamo ridotto il nostro residuo, una contraddizione.
matus,

1
Caspita, questa è una risposta estremamente bella. Naturalmente, ho qualche domanda se non ti dispiace risponderle. Il risultato di Cybenko (come dici tu) sembra molto utile per le applicazioni, ma mi perdo un po 'a occuparmi del sottospazio delle funzioni. Come possiamo proiettare una funzione arbitraria continua sul complemento ortogonale del sottospazio di combinazioni lineari di possibili nodi. Del resto, come possiamo concettualizzare il complimento ortogonale di quel sottospazio? Le funzioni più vicine nello spazio si avvicinano più da vicino? (Continua).
Matt Munson,

3

C'è un risultato avanzato, chiave dell'apprendimento automatico, noto come teorema di Kolmogorov [1]; Non ho mai visto uno schizzo intuitivo del perché funzioni. Questo potrebbe avere a che fare con le diverse culture che si avvicinano ad esso. La folla di apprendimento applicata considera il teorema di Kolmogorov come un teorema di esistenza che indica semplicemente che possono esistere NN, quindi almeno la struttura non è eccessivamente limitante, ma il teorema non garantisce che questi NN possano essere trovati. I matematici non sono così interessati alle applicazioni di basso livello del teorema.

Il teorema veniva anche storicamente usato per invocare / difendere la raffinatezza intrinseca delle NN multistrato per contrastare una critica di Perceptrons (Minsky / Papert) secondo cui esistevano funzioni di base (cioè non lineari) che non potevano imparare.

Gli informatici teorici preferiscono non considerare le NN come "approssimazioni" , in quanto tale termine ha un significato speciale / diverso. Probabilmente esiste una qualche analogia approssimativa con interpolazione lineare a tratti ma, di nuovo, non l'ho mai vista strutturata.

[1] Kolmogorov, AN (1957). Sulla rappresentazione di funzioni continue di molte variabili mediante sovrapposizione di funzioni continue di una variabile e aggiunta. Doklady Akademii Nauk SSSR, 144, 679-681; American Mathematical Society Translation, 28, 55-59 [1963]

[2] 2.3 Funzionalità di approssimazione di reti neurali feedforward per funzioni continue

[3] Teorema di Kolmogorov e reti neurali multistrato Kurkova



"questo risultato avanzato [...] non ha visto uno schizzo intuitivo del perché funziona." Un tale schizzo sarebbe un'impresa considerevole per qualcuno nella folla matematica avanzata? Le persone matematiche avanzate capiscono persino intuitivamente perché funziona? Sembra che una comprensione intuitiva di questo teorema sia qualcosa che la folla di apprendimento applicata dovrebbe desiderare fortemente, se devono escogitare topologie e algoritmi di apprendimento superiori per le ANN.
Matt Munson

7
Modificato per grammatica, ortografia, punteggiatura e maiuscole.
Jeffε
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.