Erstens stapeln wir keine linearen Funktionen ineinander, um eine nichtlineare Funktion zu erhalten. Es gibt einen klaren Grund, warum NNs niemals so funktionieren könnten: Wenn lineare Funktionen ineinander gestapelt würden, ergäbe sich wieder eine lineare Funktion.
Was NNs nichtlinear macht, ist die Aktivierungsfunktion , die hinter der linearen Funktion steht! Grundsätzlich haben Sie jedoch Recht: Wir stapeln einfach viele logistische Regressionen (aber keine linearen!) Ineinander und ... tadaa: Wir haben etwas Gutes daraus ... ist das fair? Es stellt sich heraus, dass es (aus theoretischer Sicht) tatsächlich fair ist. Schlimmer noch: Mit dem bekannten Theorem von Stone-Weierstrass beweisen wir einfach, dass neuronale Netze mit nur einer verborgenen Schicht und keiner Ausgangsfunktion am Endknoten ausreichen, um etwaige stetige Funktionen zu approximieren (und glauben Sie mir, stetige Funktionen können hässlich sein) Bestien finden Sie in der "Teufelstreppe": https://en.wikipedia.org/wiki/Cantor_distribution[ a , b ]x ↦ = b + a1ϕ1( x ) + . . . + alϕl( x )l die Größe der verborgenen Schicht ist, dh Polynome in logistischen Funktionen und sie per Definition eine Algebra bilden!). Das heißt, "von der Konstruktion", sind NNs sehr ausdrucksstark.
Warum verwenden wir dann tiefe NNs?
Der Grund ist, dass der obige SW-Satz nur garantiert, dass es eine ausreichend große Schichtgröße gibt, damit wir unserer (hoffentlich kontinuierlichen) Zielfunktion nahe kommen können. Die erforderliche Schichtgröße kann jedoch so groß sein, dass kein Computer jemals Gewichtsmatrizen dieser Größe verarbeiten kann. NNs mit mehr verborgenen Schichten scheinen ein guter Kompromiss zwischen Genauigkeit und Berechenbarkeit zu sein. Ich kenne keine theoretischen Ergebnisse, die darauf hindeuten, um wie viel die Expresivität von NNs zunimmt, wenn mehr ausgeblendete Ebenen eingefügt werden, als wenn nur die Größe der einzelnen ausgeblendeten Ebene vergrößert wird, aber es gibt möglicherweise einige Ressourcen im Web ...
Können wir tiefe NNs wirklich verstehen?
Beispielfragen: Warum sagt der NN genau voraus, dass dieser Fall WAHR ist, während dieser andere, ähnliche Fall FALSCH ist? Warum genau bewertet es diesen Kunden als wertvoller als den anderen? Das glaube ich nicht wirklich. Es ist mit der Kompliziertheit des Modells verbunden, dass man es nicht mehr gut erklären kann ... Ich höre nur, dass dies immer noch ein aktives Forschungsgebiet ist, aber ich kenne keine Ressourcen ...
Was macht NNs so einzigartig bei allen Modellen?
Der wahre Grund, warum wir heutzutage so häufig NNs verwenden, sind die folgenden zwei Gründe:
- Sie kommen mit einer natürlichen "Streaming" -Eigenschaft.
- Wir können sie in viele Richtungen aufpeppen.
TfTT′Wir können diese Trainingsbeispiele einfach in das NN aufnehmen, indem wir einfach den Gradientenabstiegs- / Backprop-Algorithmus fortsetzen und nur Chargen aus auswählen T′für das training. Der gesamte Bereich des Verstärkungslernens (zum Gewinnen von Spielen wie Tic Tac Toe, Pong , Schach, Go, vielen verschiedenen Atari-Spielen mit nur einem Modell usw.) basiert auf dieser Eigenschaft. Die Leute haben versucht, diese Streaming-Eigenschaft auf andere Modelle zu übertragen (z. B. Gradient Boosting), aber das ist natürlich nicht so und auch nicht so rechenintensiv wie beim NN-Setup.
Mit 2. meine ich, dass die Leute NNs trainiert haben, die seltsamsten Dinge zu tun, aber im Prinzip haben sie nur das gleiche Framework verwendet: glatte Funktionen ineinander stapeln und dann den Computer (z. B. PyTorch / Tensorflow) die schmutzige Mathematik für Sie machen lassen, wie das Rechnen Die Ableitung der Verlustfunktion bezieht sich auf die Gewichte. Ein Beispiel wäre dieses Papierwo die Leute den RL-Ansatz benutzt haben und auch die Architektur des NN aufgepeppt haben, um die komplexe Sprache chemischer Substanzen zu lernen, indem sie ihm beigebracht haben, wie man mit einem Speicherstapel arbeitet (!). Versuchen Sie das mit Gradienten-Boosting ;-) Der Grund, warum sie das tun müssen, ist, dass die Sprache der Chemikalien mindestens so schwer zu lernen ist wie die Sprache der Klammern (dh jede öffnende Klammer hat eine schließende Sprache später im Wort) ) weil die SMILES-Sprache, die Menschen zur Beschreibung von Molekülen verwenden, die Symbole '(' und ')' enthält. Aus der theoretischen Informatik (Chomsky-Hierarchie) weiß man, dass man diese Sprache nicht mit regulären Automaten beschreiben kann, sondern Push-Down-Automaten (dh Automaten mit Stapelspeicher) benötigt. Das war die Motivation für sie (glaube ich), dem NN diese seltsame Sache beizubringen.