
Kurz etwas vorab:
1) Ich schreibe gerade meine Bachelorarbeit
2) mein Thema: Analyse und Implementierung des Backpropagation Algorithmus für feed forward neuronale Netze zur Erkennung von handgeschriebenen Ziffern
Kann mir einer kurz und knackig sagen, ob Leaky ReLU oder sigmoid als Aktivierungsfunktion für die Hiddenschichten die "bessere" Funktion ist bzw. speziell in meinem Fall von handgeschriebenen Ziffern, wo ich softmax für die letzte Schicht und categorical cross entropy als Kostenfunktion nutze?
Bei sigmoid(s) fällt auf:
Diese Funktion ist immer positiv, denn sie läuft für s gegen minus unendlich gegen 0 und für s gegen plus unendlich gegen 1.
Das bedeutet: für sehr große oder kleine Werte liegt der Gradient bei 0 und was passiert wenn der Gradient nahezu bei 0 liegt? Ich denke das bedeutet, dass das neuronale Netz nichts lernen wird, denn sehr große, als auch sehr kleine Gewichte bleiben unverändert.
Und welchen Einfluss hat das jetzt, dass diese Funktion zusätzlich immer positiv ist? Die Alternative dazu wäre tanh(s) die von -1 bis 1 läuft, nur ist diese besser und wenn ja warum?
Zu Leaky ReLU
Da wird eine Steigung im negativen festgelegt um ein "aussterben" der Neuronen zu verhindern. Im positiven hingegen ist diese Funktion eine gerade und wird für große s nicht gesättigt, wie sigmoid oder tanh. Was heißt das jetzt genau für mich? Das eventuell große Gewichte auch stark verändert werden? Das ist doch gut oder etwa nicht?
Das nachzuvollziehen scheint gerade komplex zu sein, denn falls ich mich für eine Funktion entschieden habe, dann muss ich auch gut begründen, warum ich diese Funktion genommen habe und nicht eine andere.
Könnt ihr mir da weiter helfen?
Ich wäre euch sehr dankbar.
Grüße