Ich entschuldige mich im Voraus für die Tatsache, dass ich immer noch auf dem Laufenden bin. Ich versuche die Vor- und Nachteile der Verwendung von tanh (Karte -1 bis 1) vs. sigmoid (Karte 0 bis 1) für meine Neuronenaktivierungsfunktion zu verstehen. Nach meiner Lektüre klang es wie eine Kleinigkeit mit geringfügigen Unterschieden. In der Praxis finde ich für meine Probleme, dass das Sigmoid leichter zu trainieren ist und seltsamerweise scheint das Sigmoid die allgemeine Lösung besser zu finden. Damit meine ich, dass die Sigmoid-Version, wenn sie mit dem Training fertig ist, gut mit dem Referenzdatensatz (nicht trainiert) abschneidet, wobei die Tanh-Version in der Lage zu sein scheint, die richtigen Antworten auf die Trainingsdaten zu erhalten, während sie mit der Referenz schlecht abschneidet. Dies gilt für dieselbe Netzwerkarchitektur.
Eine Intuition, die ich habe, ist, dass es mit dem Sigmoid für ein Neuron einfacher ist, sich fast vollständig auszuschalten und somit keine Eingabe für nachfolgende Schichten zu liefern. Das Tanh hat es hier schwerer, da es seine Eingaben perfekt löschen muss, sonst gibt es der nächsten Ebene immer einen Wert. Vielleicht ist diese Intuition jedoch falsch.
Langer Beitrag. Fazit, was ist der Handel, und sollte es einen großen Unterschied machen?
quelle
Diese beiden Aktivierungsfunktionen sind sehr ähnlich, aber versetzt. Mein ursprüngliches Netzwerk hatte keine Vorurteile. Seit dem Hinzufügen von Verzerrungen ist alles viel stabiler. Aufgrund meiner Erfahrung würde ich sagen, dass der eine oder andere aus komplexen, möglicherweise nicht bekannten Gründen für eine bestimmte Anwendung besser geeignet ist, aber der richtige Ansatz besteht darin, Verzerrungsterme einzuschließen, damit die Abhängigkeit vom Aktivierungsversatz verringert oder beseitigt werden kann.
quelle
quelle