Funktioniert die ReLU-Schicht gut für ein flaches Netzwerk?

7

Ich arbeite derzeit am Training eines 5-Schicht-Neuronalen Netzwerks, habe einige Probleme mit der Tanh-Schicht und möchte die ReLU-Schicht ausprobieren. Aber ich fand, dass es für die ReLU-Schicht noch schlimmer wird. Ich frage mich, ob es daran liegt, dass ich nicht die besten Parameter gefunden habe oder einfach daran, dass ReLU nur für tiefe Netzwerke geeignet ist.

Vielen Dank!

Benutzername123
quelle
1
Soweit ich aus der DNN-Literatur weiß, sind ReLu-Netzwerke die dominierendsten Aktivierungen, insbesondere für tiefe Netzwerke, da sie beim Training selten Probleme mit dem Verschwinden / Explodieren von Gradienten haben.
Charlie Parker
2
Ein 5-lagiges neuronales Netzwerk wird normalerweise nicht als flach angesehen. Flach ist normalerweise für einzelne Schichten reserviert.
Charlie Parker

Antworten:

6

Das Ändern der Aktivierungsfunktion wirkt sich auf alle anderen von Ihnen getroffenen Konfigurationsoptionen aus, von der Initialisierungsmethode bis zu den Regularisierungsparametern. Sie müssen das Netzwerk erneut einstellen.

Sycorax sagt Reinstate Monica
quelle
3

Wenn Sie Sigmoid oder Tanh durch ReLU ersetzen, müssen Sie normalerweise auch:

  1. Verringern Sie Ihre Lernrate erheblich, normalerweise um 1/100. Dies liegt daran, dass die ReLU-Ausgabe unbegrenzt wächst und weniger widerstandsfähig gegen hohe Lernraten ist.
  2. Erhöhen Sie die Anzahl der Parameter (dh das Gewicht) um mindestens das Zweifache. Dies liegt an einem toten Problem.
  3. Möglicherweise müssen Sie die Anzahl der Epochen erhöhen, da die LR viel niedriger ist.
  4. In der Regel benötigen Sie eine bessere Initialisierungsmethode als zufällige Init, z. B. Glorot Init oder He Init. Oft kommt man ohne dies aus, aber auf Kosten einer viel langsameren Konvergenz.
  5. Sehr wahrscheinlich benötigen Sie auch eine stärkere Regularisierung wie Dropout, wiederum aufgrund einer größeren Anzahl von Parametern und einer erhöhten Anzahl von Epochen.

Zusammenfassend ist es also nicht so einfach, Sigmoid / Tanh gegen ReLU auszutauschen. Sobald Sie ReLU hinzufügen, müssen Sie die obigen Änderungen vornehmen, um andere Effekte auszugleichen.

Shital Shah
quelle
Vielleicht benötigen Sie mehr Schichten eines neuronalen Netzwerks sowie eine größere Anzahl von Eingabedaten? Zum Beispiel: Dieser Typ hat ein Problem mit der Konvergenz mit dem flachen Netzwerk (2 Schichten): stats.stackexchange.com/questions/284203/…
Peter Teoh
2

ReLU, dh Rectified Linear Unit und Tanh, sind beide nichtlineare Aktivierungsfunktionen, die auf die neuronale Schicht angewendet werden. Beide haben ihre eigene Bedeutung. Es hängt nur von dem Problem ab , das wir lösen möchten, und von der Ausgabe, die wir möchten. Manchmal bevorzugen die Leute die Verwendung von ReLU gegenüber Tanh, da ReLU weniger Rechenaufwand erfordert .

Als ich anfing, Deep Learning zu studieren, hatte ich die Frage, warum wir nicht nur die lineare Aktivierungsfunktion anstelle der nichtlinearen verwenden . Die Antwort lautet, dass die Ausgabe nur eine lineare Kombination aus Eingabe und versteckter Ebene ist. Dies hat keine Auswirkung und daher kann die verborgene Ebene wichtige Funktionen nicht lernen.

Wenn wir zum Beispiel möchten, dass die Ausgabe innerhalb von (-1,1) liegt, brauchen wir tanh . Wenn wir eine Ausgabe zwischen (0,1) benötigen, verwenden Sie die Sigmoid-Funktion . Im Falle von ReLU gibt es max {0, x}. Es gibt viele andere Aktivierungsfunktionen wie undichte ReLU. Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Um nun eine geeignete Aktivierungsfunktion für unseren Zweck zu wählen , um ein besseres Ergebnis zu erzielen, ist es nur eine Frage des Experimentierens und der Praxis, die in der datenwissenschaftlichen Welt als Tuning bezeichnet wird .

In Ihrem Fall können Sie Ihre Parameter stimmen müssen , die als bekannt ist , Parameter - Tuning wie Anzahl der Neuronen in verborgenen Schichten, die Anzahl der Schichten usw.

Funktioniert die ReLU-Schicht gut für ein flaches Netzwerk?

Ja, natürlich funktioniert die ReLU-Schicht gut für ein flaches Netzwerk.

Ironman
quelle
0

Ich frage mich, ob es daran liegt, dass ich nicht die besten Parameter gefunden habe oder einfach daran, dass ReLU nur für tiefe Netzwerke geeignet ist.

Ich glaube, ich kann mit Sicherheit davon ausgehen, dass Sie Hyperparameter anstelle von Parametern meinen.

Ein neuronales Netzwerk mit 5 verborgenen Schichten ist nicht flach. Sie können es tief betrachten.

Die Suche nach Hyperparameter-Räumen nach den besten Hyperparametern ist eine unendliche Aufgabe. Mit am besten meine ich die Hyperparameter, mit denen das Netzwerk die globalen Minima erreichen kann.

Ich stimme Sycorax zu, dass Sie das Netzwerk erneut einstellen müssen, sobald Sie die Aktivierungsfunktion geändert haben. Normalerweise kann eine vergleichbare Leistung über viele verschiedene Konfigurationen von Hyperparams für dieselbe Aufgabe erzielt werden.

naiv
quelle