Ich habe dies früher auf MSE gepostet , aber es wurde vorgeschlagen, dass es hier einen besseren Ort gibt, um zu fragen.
Der universelle Näherungssatz besagt, dass "das Standard-Multilayer-Feed-Forward-Netzwerk mit einer einzelnen verborgenen Schicht, die eine begrenzte Anzahl von verborgenen Neuronen enthält, unter milden Annahmen zur Aktivierungsfunktion ein universeller Näherungswert für kontinuierliche Funktionen auf kompakten Teilmengen von Rn ist."
Ich verstehe, was dies bedeutet, aber die relevanten Artikel liegen zu weit über meinem mathematischen Verständnis, um zu verstehen, warum es wahr ist oder wie eine verborgene Schicht nichtlineare Funktionen approximiert.
Wie nähert sich ein Feed-Forward-Netzwerk mit einer verborgenen Schicht nichtlinearen Funktionen an, was kaum weiter fortgeschritten ist als die Grundrechnung und die lineare Algebra? Die Antwort muss nicht unbedingt ganz konkret sein.
Antworten:
Das Ergebnis von Cybenko ist ziemlich intuitiv, wie ich im Folgenden erläutern möchte. was die Sache schwieriger macht, ist, dass er sowohl auf Allgemeingültigkeit als auch auf eine minimale Anzahl von versteckten Ebenen abzielte. Kolmogorovs Ergebnis (von vzn erwähnt) erzielt zwar eine stärkere Garantie, ist jedoch für das maschinelle Lernen etwas weniger relevant (insbesondere baut es kein standardmäßiges neuronales Netz auf, da die Knoten heterogen sind); Dieses Ergebnis ist wiederum entmutigend, da es auf der Oberfläche nur 3 Seiten sind, die einige Grenzen und kontinuierliche Funktionen aufzeichnen, aber in Wirklichkeit eine Reihe von Fraktalen konstruiert. Das Ergebnis von Cybenko ist zwar ungewöhnlich und aufgrund der von ihm verwendeten Techniken sehr interessant, aber die Ergebnisse dieses Geschmacks sind beim maschinellen Lernen weit verbreitet (und ich kann Sie auf andere verweisen).
Hier ist eine allgemeine Zusammenfassung, warum Cybenkos Ergebnis stimmen sollte.
In Bezug auf den ersten Punkt oben kann dies als die Aussage "eine stetige Funktion über eine kompakte Menge ist gleichmäßig stetig" angesehen werden. Für uns bedeutet dies, dass Sie Ihre stetige Funktion über und einen Zielfehler können. Anschließend können Sie auf der Skala (bis zum Ende) mit ungefähr t Subwürfeln), so dass eine Funktion, die über jeden Subwürfel konstant ist, innerhalb von der Zielfunktion liegt. ε > 0 [ 0 , 1 ] d τ > 0 ( 1 / τ ) d ε[ 0 , 1 ]d ϵ > 0 [0,1]d τ>0 (1/τ)d ϵ
Jetzt kann ein neuronales Netz einen Indikator nicht genau darstellen, aber Sie können sehr nahe kommen. Angenommen, die "Übertragungsfunktion" ist ein Sigmoid. (Die Übertragungsfunktion ist die kontinuierliche Funktion, die Sie auf eine lineare Kombination von Eingaben anwenden, um den Wert des neuronalen Netzknotens zu erhalten.) Wenn Sie dann die Gewichte groß machen, geben Sie etwas nahe 0 oder nahe 1 für weitere Eingaben aus. Dies steht im Einklang mit der Entwicklung von Cybenko: Beachten Sie, dass er die beteiligten Funktionen benötigt, um im Limit 0 oder 1 zu sein: Per Definition von Limit erhalten Sie genau das, was ich sage, was bedeutet, dass Sie Dinge beliebig nahe an 0 oder 1 bringen.
(Ich habe die Übertragungsfunktion in der letzten Ebene ignoriert. Wenn sie vorhanden und stetig ist, können wir jede Zuordnung zu indem wir die konstanten Gewichte durch etwas im umgekehrten Bild dieser Konstanten gemäß der Übertragung ersetzen Funktion.)[0,1]
Beachten Sie, dass das Obige einige Ebenen zu benötigen scheint: Sagen wir 2, um die Indikatoren auf Würfeln aufzubauen, und dann eine endgültige Ausgabeebene. Cybenko bemühte sich um zwei allgemeine Aspekte: eine minimale Anzahl versteckter Ebenen und Flexibilität bei der Wahl der Übertragungsfunktion. Ich habe bereits beschrieben, wie er Flexibilität in der Übertragungsfunktion herausarbeitet.
Um die minimale Anzahl von Schichten zu erhalten, vermeidet er die obige Konstruktion und verwendet stattdessen eine Funktionsanalyse, um einen Widerspruch zu entwickeln. Hier ist eine Skizze des Arguments.
Der letzte Knoten berechnet eine lineare Kombination der Elemente der darunter liegenden Ebene und wendet eine Übertragungsfunktion darauf an. Diese lineare Kombination ist eine lineare Kombination von Funktionen und als solche selbst eine Funktion, eine Funktion innerhalb eines Teilraums von Funktionen, die von den möglichen Knoten in der verborgenen Schicht überspannt werden.
Ein Unterraum von Funktionen ist wie ein gewöhnlicher endlicher Unterraum, mit dem Hauptunterschied, dass es sich möglicherweise nicht um eine geschlossene Menge handelt. Aus diesem Grund schließen Cybenkos Argumente alle diesen Unterraum. Wir versuchen zu beweisen, dass dieser Verschluss alle stetigen Funktionen enthält; das heißt, wir sind willkürlich allen stetigen Funktionen nahe.
Wenn der Funktionsraum einfach wäre (ein Hilbert-Raum), könnten wir wie folgt argumentieren. Wählen Sie eine kontinuierliche Zielfunktion aus, die widersprüchlicherweise nicht im Unterraum liegen soll, und projizieren Sie sie auf das orthogonale Komplement des Unterraums. Dieser Rest muss ungleich Null sein. Aber da unser Unterraum Dinge wie diese kleinen Würfel oben darstellen kann, können wir einen Bereich dieses Rests finden, einen kleinen Würfel darauf platzieren (wie oben) und dadurch näher an unsere Zielfunktion rücken. Dies ist ein Widerspruch, da Projektionen minimale Elemente auswählen. (Beachte, ich lasse hier etwas aus: Cybenkos Argumentation baut keine kleinen Würfel, er behandelt dies auch allgemein; hier verwendet er eine Form des Riesz-Repräsentationssatzes und Eigenschaften der Übertragungsfunktionen (wenn ich mich erinnere) richtig, es gibt ein separates Lemma für diesen Schritt,
Wir sind nicht in einem Hilbert-Raum, aber wir können das Hahn-Banach-Theorem verwenden, um den obigen Projektionsschritt zu ersetzen (beachten Sie, dass Hahn-Banach das Axiom der Wahl verwendet).
Jetzt möchte ich ein paar Dinge über Kolmogorovs Ergebnis sagen. Obwohl dieses Ergebnis anscheinend nicht den Hintergrund von Cybenko benötigt, finde ich es persönlich viel einschüchternder.
Hier ist warum. Das Ergebnis von Cybenko ist eine Annäherungsgarantie : Es heißt nicht, dass wir alles genau darstellen können. Andererseits liefert Kolmogorovs Ergebnis eine Gleichheit . Lächerlicherweise sagt es die Größe des Netzes: Sie brauchen nur Knoten. Um diese Verstärkung zu erreichen, gibt es natürlich einen Haken, den ich oben erwähnt habe: Das Netzwerk ist heterogen, womit ich meine, dass alle Übertragungsfunktionen nicht gleich sind.O(d2)
Okay, wie kann das Ding bei all dem funktionieren ?!
Gehen wir zurück zu unseren Würfeln oben. Beachten Sie, dass wir mit einer Genauigkeit backen mussten: Für jedes müssen wir zurückgehen und ein verfeinertes auswählen . Da wir mit (endlichen) linearen Kombinationen von Indikatoren arbeiten, repräsentieren wir nie genau etwas. (Die Situation wird nur schlimmer, wenn Sie die ungefähren Auswirkungen von Sigmoiden berücksichtigen.)τ > 0ϵ>0 τ>0
Also, was ist die Lösung? Wie wäre es, wenn wir alle Waagen gleichzeitig handhaben? Ich denke mir das nicht aus: Kolmogorovs Beweis besteht darin, die verborgene Schicht effektiv als eine Reihe von Fraktalen zu konstruieren. Anders ausgedrückt, es handelt sich im Grunde genommen um raumfüllende Kurven, die bis abbilden ; Auf diese Weise können wir, obwohl wir eine Kombination von univariaten Funktionen haben, jede multivariate Funktion anpassen. Tatsächlich können Sie mit einem lächerlichen Zählargument heuristisch argumentieren, dass "korrekt" ist: Wir schreiben eine stetige Funktion von nach über univariate stetige Funktionen, und Daher benötigen wir , um alle Interkoordinateninteraktionen zu erfassen.[ 0 , 1 ] d[0,1] [0,1]d R d R O ( d 2 )O(d2) Rd R O(d2) funktionen ...
Beachten Sie, dass das Ergebnis von Cybenko aufgrund der Verwendung nur einer Art von Übertragungsfunktion für das maschinelle Lernen relevanter ist. Theoreme dieser Art sind im maschinellen Lernen weit verbreitet (vzn schlug dies in seiner Antwort vor, verwies jedoch auf Kolmogorovs Ergebnis, das aufgrund der benutzerdefinierten Übertragungsfunktionen weniger zutreffend ist; dies wird in einigen ausgefalleneren Versionen von Kolmogorovs Ergebnis (hergestellt von andere Autoren), aber es handelt sich immer noch um Fraktale und mindestens zwei Übertragungsfunktionen).
Ich habe einige Folien zu diesen Themen, die ich veröffentlichen könnte, wenn Sie interessiert sind (hoffentlich weniger wild als die oben genannten, und einige Bilder; ich habe sie geschrieben, bevor ich mit Hahn-Banach vertraut war). Ich finde beide Beweise sehr, sehr schön. (Auch ich habe hier eine andere Antwort auf diese Themen, aber ich habe sie geschrieben, bevor ich Kolmogorovs Ergebnis herausgefunden habe.)
quelle
Es gibt ein fortgeschrittenes Ergebnis, Schlüssel zum maschinellen Lernen, bekannt als Kolmogorovs Theorem [1]; Ich habe noch nie eine intuitive Skizze gesehen, warum es funktioniert. Dies hat möglicherweise mit den unterschiedlichen Kulturen zu tun, die sich dem nähern. Die angewandte Lernmasse betrachtet Kolmogorovs Theorem als ein Existenztheorem, das lediglich anzeigt, dass NNs existieren können, so dass zumindest die Struktur nicht übermäßig einschränkend ist, das Theorem jedoch nicht garantiert, dass diese NNs gefunden werden können. Mathematiker beschäftigen sich nicht so sehr mit einfachen Anwendungen des Theorems.
Der Satz wurde auch historisch verwendet, um die inhärente Raffinesse von mehrschichtigen NNs aufzurufen / zu verteidigen, um einer Kritik von Perceptrons (Minsky / Papert) entgegenzuwirken, dass es grundlegende Funktionen [dh nichtlineare] gab, die sie nicht lernen konnten.
Theoretische Informatiker ziehen es vor, NNs nicht als "Annäherungen" zu betrachten , da dieser Begriff eine spezielle / andere Bedeutung hat. Es gibt wahrscheinlich eine grobe Analogie zur stückweisen linearen Interpolation, aber ich habe sie auch nicht dargestellt gesehen.
[1] Kolmogorov, AN (1957). Zur Darstellung stetiger Funktionen vieler Variablen durch Überlagerung stetiger Funktionen einer Variablen und Addition. Doklady Akademii Nauk SSSR, 144, 679 & ndash; 681; American Mathematical Society Translation, 28, 55-59 [1963]
[2] 2.3 Approximationsfähigkeiten vorwärtsgerichteter neuronaler Netze für kontinuierliche Funktionen
[3] Kolmogorovs Theorem und mehrschichtige neuronale Netze Kurkova
quelle