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.
- Eine stetige Funktion auf einem kompakten Satz kann durch eine stückweise konstante Funktion approximiert werden.
- Eine stückweise konstante Funktion kann wie folgt als neuronales Netz dargestellt werden. Verwenden Sie für jede Region, in der die Funktion konstant ist, ein neuronales Netz als Indikatorfunktion für diese Region. Erstellen Sie dann eine letzte Ebene mit einem einzelnen Knoten, dessen lineare Eingabekombination die Summe aller Indikatoren ist, wobei die Gewichtung dem konstanten Wert des entsprechenden Bereichs in der ursprünglichen stückweise konstanten Funktion entspricht.
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]dR d R O ( d 2 )O(d2)RdRO(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.)