Neuronale Netze: Kann ich sowohl Sigmoid als auch Tanh als Aktivierungsfunktionen verwenden?

7

Kann ich in einer neuronalen Netzwerkarchitektur die Sigmoid-Funktion in einigen Schichten und die Tanh-Funktion in den anderen verwenden? Ist es eine gute Wahl?

Voxis
quelle
Es sieht so aus, als würden einige Leute tatsächlich Ebenen jedes Typs zusammenführen: github.com/usernaamee/keras-wavenet/blob/master/… .
Ian Fiske

Antworten:

5

Ja, du kannst. Es gibt keine strengen Regeln gegen unterschiedliche Aktivierungsfunktionen in einer Schicht, und die Kombination dieser beiden Typen sollte keine numerischen Schwierigkeiten bereiten.

In der Tat kann es eine gute Wahl sein, Tanh in verborgenen Schichten und Sigmoid auf der letzten Schicht zu haben, wenn Ihr Ziel darin besteht, die Zugehörigkeit zu einer einzelnen Klasse oder nicht ausschließliche Wahrscheinlichkeiten für mehrere Klassen vorherzusagen. Die Sigmoid-Ausgabe eignet sich gut zur Vorhersage einer unabhängigen Wahrscheinlichkeit (z. B. unter Verwendung einer Logloss-Zielfunktion (auch bekannt als Cross-Entropy)).

Ob es besser ist als die Verwendung von Sigmoid auf allen Ebenen, hängt von anderen Funktionen Ihres Netzwerks, den Daten und dem Problem ab, das Sie lösen möchten. Normalerweise ist der beste Weg, um herauszufinden, was besser ist - zumindest in Bezug auf die Genauigkeit -, einige Variationen auszuprobieren und herauszufinden, welche Ergebnisse in einem Kreuzvalidierungsdatensatz am besten sind. Nach meiner Erfahrung gibt es oft einen kleinen Unterschied zwischen der Verwendung von Tanh oder Sigmoid in den verborgenen Schichten.

Neil Slater
quelle