Zweck und Bestimmung, wann versteckte Ebenen verwendet werden sollen

9

Weiterverfolgung dieser Frage ...

Ich versuche zu lernen, wie man neuronale Netze für meine Forschung verwendet und erstellt, und ein Punkt entgeht mir etwas. Mir ist klar, dass verborgene Schichten ein etwas notwendiger Teil davon sind, aber ich stecke in zwei Punkten fest, die meine Referenzen nicht zu meiner Zufriedenheit erklären:

  1. Was ist der genaue Zweck der verborgenen Schicht?
  2. Wie bestimmt man, wie viele versteckte Ebenen verwendet werden sollen?

Soweit ich weiß, geht es darum, die Funktionalität der realen Welt zu "modellieren", aber wenn möglich, möchte ich eine etwas ausführlichere Erklärung.

dich
quelle
Aber irgendwann stelle ich fest, dass das Problem der Überanpassung auftritt, wenn Sie versteckte Ebenen vergrößern. Daher ist es sehr schwierig zu sagen, wie viele versteckte Ebenen wir verwenden können. Möglicherweise ist es eine Treffer- und Versuchsmethode.

Antworten:

9

Eine verborgene Schicht wird verwendet, um die Ausdruckskraft des Netzwerks zu erhöhen. Dadurch kann das Netzwerk komplexere Modelle als möglich ohne die verborgene Schicht darstellen.

Die Auswahl der Anzahl der verborgenen Schichten oder allgemeiner die Auswahl Ihrer Netzwerkarchitektur, einschließlich der Anzahl der verborgenen Einheiten in verborgenen Schichten, sollten auf Ihren Trainings- und Kreuzvalidierungsdaten basieren. Sie sollten das Netzwerk mit einer festgelegten Anzahl von Knoten trainieren (versuchen Sie zunächst eine verborgene Ebene mit einer Einheit pro Eingabeeinheit) und das Modell testen.

Weitere Hilfe finden Sie unter diesem Link: http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html

Neal Tibrewala
quelle
1
Dieser Link ist sehr hilfreich
the_e
6

Ich gehe davon aus, dass wir über einfache Feed-Forward-Neuronale Netze sprechen, dh mehrschichtige Perzeptrone.

  1. Die verborgene Ebene ist erforderlich, um nichtlineare Abhängigkeiten zwischen den Features Ihrer Daten und der Variablen zu erfassen, die Sie vorhersagen möchten. Wenn Sie keine versteckte Ebene verwenden, können Sie auch die lineare Regression (für die Regression) oder die logistische Regression (für die Klassifizierung) verwenden.
  2. Indem Sie verschiedene Anzahlen versteckter Ebenen ausprobieren und bewerten, wie gut sie funktionieren, z. B. in einer Kreuzvalidierungseinstellung. In der Regel reicht eine verborgene Schicht aus, und die NN-Leistung wird durch Variation der Größe und der Regularisierung optimiert.

Beachten Sie, dass Sie sich mit mehr als zwei versteckten Ebenen in einem Land des tiefen Lernens befinden und wahrscheinlich benutzerdefinierte Algorithmen benötigen, um Ihr Netz zu trainieren. Der Grund dafür ist, dass die Vanilla-Backpropagation unter dem Problem des "verschwindenden Gradienten" in tiefen Netzen leidet: Der Gradient der Fehlerfunktion lässt an den Schichten nahe der Eingabe nach, und diese Schichten werden kaum trainiert.

Fred Foo
quelle