Warum ReLU besser ist als die anderen Aktivierungsfunktionen

17

Hier bezieht sich die Antwort auf das Verschwinden und Explodieren von Verläufen, die sigmoidähnliche Aktivierungsfunktionen hatten, aber Relueinen Nachteil haben und deren erwarteter Wert sind. Es gibt keine Begrenzung für die Ausgabe von Reluund daher ist der erwartete Wert nicht Null. Ich erinnere mich an die Zeit vor der Popularität Relu, tanhdie unter Experten für maschinelles Lernen am beliebtesten war sigmoid. Der Grund war, dass der erwartete Wert von tanhgleich Null war und es half, in tieferen Schichten zu lernen, schneller in einem neuronalen Netz zu sein. Reluhat diese Eigenschaft nicht, aber warum funktioniert es so gut, wenn wir seinen derivativen Vorteil beiseite legen. Darüber hinaus denke ich, dass das Derivat auch betroffen sein kann. Weil die Aktivierungen (Ausgabe vonRelu) sind an der Berechnung der Fortschreibungsregeln beteiligt.

Medien
quelle
Es ist üblich, eine Art Normalisierung (z. B. Batch-Normalisierung, Layer-Normalisierung) zusammen mit ReLU durchzuführen. Dies stellt den Ausgabebereich ein.
Ncasas
@ncasas Aber bei der typischen CNNNormalisierung ist die Ausgabe der relunicht üblich? Zumindest habe ich das noch nie gesehen.
Medien
Sie haben Recht, in nicht sehr tiefen CNNs ist es normal, keine Batch-Normalisierung zu haben. Haben Sie die Rolle der Gewichtsanfangswerte berücksichtigt? (zB He-Initialisierung)
ncasas
Ja, eigentlich dienen sie dazu, das Verschwinden / Explodieren von Verläufen irgendwie zu verhindern. Nach einigen Iterationen werden die Ausgaben vermutlich größer.
Medien

Antworten:

21

Der größte Vorteil von relu ist in der Tat nicht-Sättigung seines Gradienten, die stark um die Konvergenz von stochastischen Gradientenabstieg beschleunigen im Vergleich zu der Sigmoid / tanh - Funktionen ( Papier durch Krizhevsky et al).

Dies ist jedoch nicht der einzige Vorteil. Hier ist eine Diskussion der Sparsity-Effekte von ReLu-Aktivierungen und induzierter Regularisierung. Eine weitere nette Eigenschaft ist, dass im Vergleich zu tanh / sigmoiden Neuronen, die teure Operationen (Exponentiale usw.) beinhalten, die ReLU implementiert werden kann, indem einfach eine Aktivierungsmatrix auf Null gesetzt wird.

Ich bin jedoch nicht davon überzeugt, dass der große Erfolg moderner neuronaler Netze allein ReLu zu verdanken ist . Neue Initialisierungstechniken wie Xavier-Initialisierung, Dropout und (spätere) Batchnorm spielten ebenfalls eine sehr wichtige Rolle. Das berühmte AlexNet verwendete beispielsweise ReLu und Dropout.

Um Ihre Frage zu beantworten: ReLu hat sehr schöne Eigenschaften, wenn auch nicht ideal . Aber es beweist sich wirklich, wenn es mit anderen großartigen Techniken kombiniert wird, die im Übrigen das von Ihnen erwähnte Nicht-Null-Zentrum-Problem lösen.

UPD: Die ReLu-Ausgabe ist in der Tat nicht nullzentriert und beeinträchtigt die NN-Leistung. Dieses spezielle Problem kann jedoch durch andere Regularisierungstechniken gelöst werden, z. B. Batchnorm, mit der das Signal vor der Aktivierung normalisiert wird :

Wir fügen die BN-Transformation unmittelbar vor der Nichtlinearität hinzu, indem wir normalisieren . ... normalisiert es wahrscheinlich Aktivierungen mit einer stabilen Verteilung.x=Wu+b

Maxime
quelle
1
Ich hätte diesen Teil betonen sollen: Ich wollte damit sagen, dass ReLu allein dieses Problem nicht löst. Sie haben Recht, dass die ReLu-Ausgabe nicht nullzentriert ist und die NN-Leistung beeinträchtigt, es sei denn, die Gewichte sind reguliert. Aber gesättigte Farbverläufe verletzen den NN noch mehr, so dass die Massenadoption von ReLu trotz seiner Nachteile ein Fortschritt war.
Maxim
Würden Sie bitte sagen, was Sie damit meinen, dass Gewichte reguliert sind? in der Antwort und auch der Sache, die Sie betont haben.
Medien
Meine Antwort wurde mit einigen Details zu diesem bestimmten Problem aktualisiert
Maxim
Was ich etwas verwirrend finde, warum nicht einfach die Identitätsfunktion nutzen? Was ist der Vorteil von 0 für negative Werte?
Alex
@Alex id ist keine Nichtlinearität. Es ist äquivalent zu nur linearen Schichten im NN. Siehe diese Frage - stackoverflow.com/q/46659525/712995
Maxim