Während die Auswahl der Aktivierungsfunktionen für die verborgene Ebene ziemlich klar ist (meistens Sigmoid oder Tanh), frage ich mich, wie ich mich für die Aktivierungsfunktion für die Ausgabeebene entscheiden soll. Häufige Auswahlmöglichkeiten sind lineare Funktionen, Sigmoidfunktionen und Softmaxfunktionen. Wann sollte ich welche verwenden?
neural-networks
julianisch
quelle
quelle
Antworten:
Verwenden Sie einfaches Sigmoid nur, wenn Ihre Ausgabe mehrere "echte" Antworten zulässt, z. B. ein Netzwerk, das das Vorhandensein verschiedener Objekte in einem Bild überprüft. Mit anderen Worten, die Ausgabe ist keine Wahrscheinlichkeitsverteilung (muss nicht mit 1 summiert werden).
quelle
Ich komme vielleicht zu spät zur Party, aber es scheint, dass hier einige Dinge geklärt werden müssen.
Zweitens möchte ich hinzufügen, dass es viele Aktivierungsfunktionen gibt, die für die ausgeblendeten Ebenen verwendet werden können. Sigmoide (wie die logistische Funktion und der hyperbolische Tangens) haben sich in der Tat als gut erwiesen, aber wie von Jatin angegeben , verschwinden diese Verläufe, wenn Ihre Netzwerke zu tief werden. In diesem Fall sind ReLUs populär geworden. Ich möchte jedoch betonen, dass es viel mehr Aktivierungsfunktionen gibt und verschiedene Forscher immer wieder nach neuen suchen (z. B. Exponentielle Lineareinheiten (ELUs), Gaußsche Fehler Lineareinheiten (GELUs), ...) mit verschiedenen / bessere Eigenschaften
Fazit: Seien Sie einfach kreativ, wenn Sie nach den besten Aktivierungsfunktionen suchen. Probieren Sie verschiedene Dinge aus und sehen Sie, welche Kombinationen zu der besten Leistung führen.
Nachtrag: Für mehr Paare von Verlustfunktionen und Aktivierungen möchten Sie wahrscheinlich (kanonische) Linkfunktionen suchen
quelle
Sigmoid und Tanh sollten nicht als Aktivierungsfunktion für die verborgene Schicht verwendet werden. Dies ist auf das Problem des verschwindenden Gradienten zurückzuführen. Wenn sich Ihre Eingabe auf einer höheren Seite befindet (wo das Sigma flach wird), ist der Gradient nahe Null. Dies führt zu einem sehr langsamen oder fehlenden Lernen während der Rückübertragung, da die Gewichte mit sehr kleinen Werten aktualisiert werden.
Detaillierte Erklärung hier: http://cs231n.github.io/neural-networks-1/#actfun
Die beste Funktion für versteckte Ebenen ist daher ReLu.
quelle
Die Verwendung der Identitätsfunktion als Ausgabe kann hilfreich sein, wenn Ihre Ausgaben unbegrenzt sind. Der Gewinn oder Verlust eines Unternehmens für ein Quartal könnte auf beiden Seiten unbegrenzt sein.
ReLU- Einheiten oder ähnliche Varianten können hilfreich sein, wenn die Ausgabe oberhalb oder unterhalb der Grenze liegt. Wenn der Ausgang nur nicht negativ sein soll, ist es sinnvoll, eine ReLU-Aktivierung als Ausgangsfunktion zu verwenden.
Das Schöne an neuronalen Netzen ist, dass sie unglaublich flexibel sind.
quelle