Wahl der versteckten Aktivierungsfunktion des neuronalen Netzes

14

Ich habe an anderer Stelle gelesen, dass die Auswahl der Aktivierungsfunktion für versteckte Schichten in einem NN auf den eigenen Bedürfnissen basieren sollte. Wenn Sie also Werte im Bereich von -1 bis 1 benötigen , verwenden Sie tanh und Sigmoid für den Bereich von 0 bis 1.

Meine Frage ist, woher weiß man, was man braucht ? Basiert es auf dem Bereich der Eingabeebene, verwenden Sie beispielsweise die Funktion, die den gesamten Wertebereich der Eingabeebene umfassen kann, oder spiegeln Sie irgendwie die Verteilung der Eingabeebene wider (Gaußsche Funktion)? Oder ist das Bedürfnis problem- / domänenspezifisch und die eigene Erfahrung / Urteilskraft erforderlich, um diese Wahl zu treffen? Oder ist es einfach "das zu verwenden, was den besten quervalidierten minimalen Trainingsfehler ergibt?"

babelproofreader
quelle
3
Dieses Argument ist bs, weil (tanh + 1) / 2 ebenfalls 0-1 ist, ganz zu schweigen davon, dass "sigmoid" ein so vager Begriff ist, dass er häufig tanh abdeckt.
Es ist wahrscheinlich erwähnenswert, dass jeder Datensatz auf 0-> 1 normiert und zur Verwendung einer Sigmoid-Aktivierung gemacht werden kann 1 + (1 / exp(-sum)). Das Erfordernis sehr schwer verständlich zu machen, ohne beide in jedem Datensatz auszuprobieren. Der Bedarf, wie Sie ihn hier beschreiben, hängt von der tatsächlich erlernten Beziehung ab, dh ein Binärdatensatz lernt bei unterschiedlichen Aktivierungen schneller oder überhaupt nicht.
Adrian Seeley

Antworten:

12

LeCun bespricht dies in Abschnitt 4.4 von Efficient Backprop . Die Motivation ähnelt der Motivation zur Normalisierung der Eingabe auf den Mittelwert Null (Abschnitt 4.3). Es ist wahrscheinlicher, dass die durchschnittlichen Ausgaben der tanh-Aktivierungsfunktion nahe Null sind als die Sigmoid-Ausgabe, deren durchschnittliche Ausgabe positiv sein muss.

user1149913
quelle
Eine sehr informative Lektüre!
babelproofreader
6

Der im ersten Absatz der Frage erwähnte Bedarf bezieht sich eher auf die Aktivierungsfunktion der Ausgangsschicht als auf die Aktivierungsfunktion der verborgenen Schicht. Ausgänge im Bereich von 0 bis 1 sind praktisch, da sie Wahrscheinlichkeiten direkt darstellen können. IIRC, ein Netzwerk mit mehreren Aktivierungsfunktionen für die Ausgabeschicht, kann jedoch trivial in ein Netzwerk mit einer Aktivierungsfunktion für die logistische Ausgabeschicht umgewandelt werden, sodass es in der Praxis nicht wirklich wichtig ist.

IIRC Der Grund für die Verwendung der tanh-Funktion anstelle der logistischen Aktivierungsfunktion in den versteckten Einheiten, dh die Änderung einer Gewichtung durch Backpropagation, hängt sowohl von der Ausgabe des Neurons der versteckten Schicht als auch von der Ableitung der Aktivierungsfunktion ab, also von der logistischen Aktivierung Mit dieser Funktion können beide gleichzeitig auf Null gesetzt werden, was zum Einfrieren der verborgenen Ebeneneinheit führen kann.

Kurz gesagt, verwenden Sie tanh für Aktivierungsfunktionen für ausgeblendete Ebenen, und wählen Sie die Aktivierungsfunktion für die Ausgabeebene aus, um die gewünschten Einschränkungen für die Ausgabe zu erzwingen (allgemeine Auswahlmöglichkeiten: linear - keine Einschränkungen, logistische Ausgabe liegt zwischen 0 und 1 und exponentielle Ausgabe - streng positiv).

Dikran Beuteltier
quelle
Ich verstehe nicht, dass "... beide gegen Null gehen ...". Ich sehe, dass die Ausgabe Null sein könnte, aber wie ist es möglich, dass die Ableitung der logistischen Funktion auf Null geht, als tanh nicht.
Erogol
es geht nicht genau auf null, für die logistische Funktion wird es nur sehr klein. Für die tanh-Funktion ist die Ableitung am größten, wenn die Ausgabe Null ist, und die Ausgabe am größten, wenn die Ableitung am kleinsten ist. Das Originalpapier wurde Ende der 80er Jahre geschrieben, ich werde sehen, ob ich mich an die Details erinnern kann.
Dikran Beuteltier
2
Ich kann die Originalarbeit nicht finden, aber einige der Arbeiten im Buch "Neuronale Netze - Tricks des Handels" legen nahe, dass Tanh in den verborgenen Ebenen besser ist, da Netzwerke eine bessere Leistung erbringen, wenn die Aktivierungen der verborgenen Ebenen zentriert sind (dh im Mittel Null) ).
Dikran Beuteltier
2

1,7159×Tanh(x×(2/3))auf versteckten Schichten. Dieses Sigma hat die Eigenschaft, dass es maximal seine zweiten Ableitungen hat-1 und +1 Werte, während seine asymptotischen Grenzen sind [-1.5,+1.5]. Auf diese Weise können Sie die Punkte in der Nähe der Entscheidungsgrenze genauer vernetzen.

Das allgemeine Konzept, um Sigmoid für Ihren Zweck zu wählen, besteht darin, das zu wählen, das der Regel entspricht. Ihre Ausgabewerte liegen im Bereich der Punkte, wodurch die zweite Ableitung der Sigmoidfunktion maximal wird.

Erogol
quelle