tanh Aktivierungsfunktion vs Sigmoid Aktivierungsfunktion

82

Die Tanh-Aktivierungsfunktion ist:

tanh(x)=2σ(2x)1

Wobei , die Sigmoidfunktion, definiert ist als: .σ ( x ) = e xσ(x)

σ(x)=ex1+ex

Fragen:

  • Ist es wirklich wichtig, diese beiden Aktivierungsfunktionen (tanh vs. sigma) zu verwenden?
  • Welche Funktion ist in welchen Fällen besser?
satya
quelle
12
tanh(x)=2σ(2x)1
Roman Shapovalov
Deep Neural Networks sind weitergegangen. Die aktuelle Einstellung ist die RELU-Funktion.
Paul Nord
7
@PaulNord Sowohl tanh als auch sigmoids werden immer noch in Verbindung mit anderen Aktivierungen wie RELU verwendet, je nachdem, was Sie versuchen.
Tahlor

Antworten:

80

Ja, das ist aus technischen Gründen wichtig. Grundsätzlich zur Optimierung. Es lohnt sich Efficient Backprop von LeCun et al.

Es gibt zwei Gründe für diese Wahl (vorausgesetzt, Sie haben Ihre Daten normalisiert und dies ist sehr wichtig):

  1. Stärkere Verläufe: Da die Daten um 0 zentriert sind, sind die Ableitungen höher. Um dies zu sehen, berechnen Sie die Ableitung der tanh-Funktion und beachten Sie, dass ihr Bereich (Ausgangswerte) [0,1] beträgt.

Der Bereich der tanh-Funktion ist [-1,1] und der der Sigmoid-Funktion ist [0,1].

  1. Vermeiden Sie Verzerrungen in den Farbverläufen. Dies wird in der Zeitung sehr gut erklärt, und es lohnt sich, es zu lesen, um diese Probleme zu verstehen.
jpmuc
quelle
Ich habe kleine Zweifel in dem von Ihnen vorgeschlagenen Papier. Auf Seite 14, "Wenn MLP gemeinsame Gewichte haben (z. B. Faltungsnetze), sollte die Lernrate so gewählt werden, dass sie proportional zur Quadratwurzel der Anzahl der Verbindungen ist, die sich das Gewicht teilen." Kannst du bitte erklären warum?
Satya
Diese Frage wurde bereits hier beantwortet stats.stackexchange.com/questions/47590/…
jpmuc
1
Das ist eine sehr allgemeine Frage. Kurz gesagt: Die Kostenfunktion bestimmt, was das neuronale Netz tun soll: Klassifizierung oder Regression und wie. Wenn Sie eine Kopie von "Neural Networks for Pattern Recognition" von Christopher Bishop bekommen könnten, wäre das großartig. Auch "Machine Learning" von Mitchell gibt Ihnen eine gute Erklärung auf einer grundlegenderen Ebene.
jpmuc
1
Es tut mir leid, Satya, ich bin normalerweise unter der Woche ziemlich beschäftigt. Wie normalisieren Sie Ihre Daten genau? en.wikipedia.org/wiki/Whitening_transformation Ich bin mir nicht sicher, was dein Problem sein kann. Am einfachsten ist es, den Mittelwert zu subtrahieren und dann mit der Kovarianzmatrix abzugleichen. Evtl. Sie müssen eine Komponente für hohe Frequenzen hinzufügen (siehe ZCA-Transformation in der obigen Referenz)
jpmuc
1
Vielen Dank, Juampa. Du hilfst mir wirklich sehr. Leseempfehlungen sind sehr gut. Ich mache gerade ein Projekt zum Thema Climate Data Mining. 50% meiner Eingabemerkmale sind Temperaturwerte (Bereich 200K-310K) und 50% meiner Eingabemerkmale sind Druckwerte (Bereich 50000pa bis 100000pa). Ich mache Bleaching. Gibt es vor pca eine Notwendigkeit, es zu normalisieren ... Wenn ja, wie soll ich es normalisieren? Soll ich normalisieren, bevor ich mit dem Mittelwert subtrahiere oder nachdem ich mit dem Mittelwert subtrahiere? Ich erhalte unterschiedliche Ergebnisse, wenn ich mit unterschiedlichen Methoden normalisiere ...
satya
32

Vielen Dank @jpmuc! Inspiriert von Ihrer Antwort habe ich die Ableitung der tanh-Funktion und der Standard-Sigmoid-Funktion separat berechnet und aufgetragen. Ich möchte mit euch allen teilen. Hier ist was ich habe. Dies ist die Ableitung der Tanh-Funktion. Für Eingaben zwischen [-1,1] haben wir eine Ableitung zwischen [0,42, 1]. Bildbeschreibung hier eingeben

Dies ist die Ableitung der Standard-Sigmoidfunktion f (x) = 1 / (1 + exp (-x)). Für Eingaben zwischen [0,1] haben wir eine Ableitung zwischen [0,20, 0,25]. Bildbeschreibung hier eingeben

Anscheinend liefert die Tanh-Funktion stärkere Verläufe.

Mina HE
quelle
6
Eine andere Betrachtungsweise ist, dass σ (2x) dasselbe ist wie σ (x), jedoch mit einer horizontalen Dehnung, Skalierungsfaktor 1/2 (dh es ist das gleiche Diagramm, aber alles ist in Richtung der y-Achse eingequetscht). Wenn Sie es
einquetschen
2
Ich verstehe nicht, warum das einen Unterschied machen würde. Die Skalierung und das Quetschen werden für jeden Knoten zufällig sein und (mit Offsets und Gewichten auf Eingabe und Ausgabe) werden beide universelle Approximatoren sein, die zum gleichen Ergebnis konvergieren.
Endolith