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.)