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!
neural-networks
Benutzername123
quelle
quelle
Antworten:
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.
quelle
Wenn Sie Sigmoid oder Tanh durch ReLU ersetzen, müssen Sie normalerweise auch:
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.
quelle
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.
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.
Ja, natürlich funktioniert die ReLU-Schicht gut für ein flaches Netzwerk.
quelle
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.
quelle