# Aktivierungsfunktionen

Aktivierungsfunktionen sind mathematische Operationen in neuronalen Netzen, die auf die gewichtete Summe der Eingaben eines Neurons angewendet werden. Sie verleihen dem Netz Nichtlinearität und ermöglichen es, komplexe Zusammenhänge in den Daten zu modellieren. Hier sind einige Fakten zu den Aktivierungsfunktionen in neuronalen Netzen zusammengetragen:

* Gängige Aktivierungsfunktionen umfassen die Sigmoid-Funktion, die Hyperbolic Tangent-Funktion (Tanh) und die Rectified Linear Unit-Funktion (ReLU). Diese Funktionen bestimmen, ob ein Neuron aktiviert wird und inwiefern es zur Berechnung der Ausgabe des Netzes beiträgt.
* Die Aktivierung oder Hemmung der Neuronen spielt eine Schlüsselrolle bei der Entscheidungsfindung in neuronalen Netzen und ermöglicht es, komplexe Muster und Beziehungen in den Daten zu modellieren.
* Aktivierungsfunktionen sind auch entscheidend, um das "verschwindende Gradienten-Problem" in tiefen Netzen zu überwinden. Sie bieten eine nicht lineare, aber leicht ableitbare Aktivierungsfunktion, die das Training solcher Netze ermöglicht.
* Die Wahl der richtigen Aktivierungsfunktion hängt von der spezifischen Aufgabe und den Herausforderungen ab. Je nach Aufgabe kann eine unterschiedliche Aktivierungsfunktion erforderlich sein, um die bestmöglichen Ergebnisse zu erzielen.

Abbildung 25 beinhaltet Graphen der Aktivierungsfunktionen, die am häufigsten verwendet werden.

![Abbildung 25: Verschiedene Aktivierungsfunktionen neuronaler Netze](https://1685596569-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtZj0m2hcxueXsQi9SHNM%2Fuploads%2Fgit-blob-c536e16b09892ff5887fc851ce627c4d47bd7598%2FAktivierungsfunktionen.png?alt=media)

Die visuelle Darstellung von Aktivierungsfunktionen wird dargestellt, indem die x-Achse die Eingabe repräsentiert und die y-Achse den Ausgabewert der Aktivierungsfunktion darstellt. Dies ermöglicht es, die Nichtlinearität und Form der Funktion zu veranschaulichen. Hier werden die häufigsten Aktivierungsfunktionen genauer betrachten, wann sie verwendet werden sollten und ihre Stärken und Schwächen aufgezeigt:

* **Sigmoid:** Die Sigmoid-Funktion wird oft in Output-Schichten für binäre Klassifikation verwendet, da sie Werte zwischen 0 und 1 erzeugt ([siehe Logistische Regression](https://hahn-schickard.gitbook.io/embedml/2.4_ueberwachtes_lernen/2.4.1_regression_vs_klassifikation#logistische-regression)).
  * **Vorteile:** Die Ableitung der Sigmoid-Funktion ist einfach zu berechnen. Dies erleichtert das Anpassen der Gewichte während des Trainings mithilfe von Gradientenabstiegsverfahren.
  * **Nachteile:** Bei tiefen Netzen kann das [verschwindende Gradienten-Problem](https://www.kdnuggets.com/2022/02/vanishing-gradient-problem.html) auftreten, was das Konvergieren des Modells verlangsamen und das Training erschweren kann. Das verschwindende Gradienten-Problem tritt auf, wenn die Ableitung der Sigmoid-Funktion in den tieferen Schichten des Netzes sehr klein wird, was zu einem Verschwinden des Gradienten (Wert nahe 0) und damit zu langsameren Lernraten führt. Dies kann die Effizienz des Trainingsprozesses erheblich beeinträchtigen.
* **ReLU:** ReLU ist eine der am häufigsten verwendeten Aktivierungsfunktionen und ist für viele Aufgaben geeignet.
  * **Vorteile:** Im Vergleich zu Sigmoid oder Tanh hilft die ReLU-Funktion, das Problem des verschwindenden Gradienten zu mildern. Die Ableitung ist für positive Werte immer 1, was zu stabileren Gradienten bei der Rückwärtspropagation führt.
  * **Nachteile:** Neuronen mit negativen Eingaben bleiben inaktiv (geben den Wert Null aus), was zu sogenannten "Dead Neurons" führen kann. Dieses Problem kann dazu führen, dass bestimmte Neuronen während des Trainings nicht mehr aktiviert werden und keine Gewichtsaktualisierungen erfahren.
* **Tanh:** Tanh eignet sich gut für Aufgaben mit Daten, deren Mittelwert nahe bei 0 liegt, wie bei Zeitreihen. Zum Beispiel Audiodaten mit einem Wertebereich von ±1.
  * **Vorteile:** Die tanh-Funktion gibt Werte zwischen -1 und 1 aus, was im Vergleich zu ReLU zentriert um 0 ist. Dies kann dazu beitragen, das Problem der langsam konvergierenden Netze zu mildern, das bei ReLU auftreten kann.
  * **Nachteile:** Ähnlich wie bei Sigmoid kann die tanh-Funktion das Problem des verschwindenden Gradienten (engl. Vanishing Gradient) in tiefen Netzen verursachen. Dies kann das Training erschweren, insbesondere, wenn das Netz viele Schichten hat.
* **Softmax:** Die Softmax-Funktion wird in Multi-Class-Klassifikationsaufgaben als Ausgabeschicht verwendet.
  * **Vorteile:** Die Ableitung der Softmax-Funktion kann relativ einfach berechnet werden, was sie für Gradientenabstiegsverfahren und das Training von neuronalen Netzen geeignet macht.
  * **Schwächen:** Die Softmax-Aktivierungsfunktion kann dazu neigen, den Unterschied zwischen großen Eingabewerten zu verstärken, was als "explodierende Gradienten" bezeichnet wird.

Mehr erfahren: [GeeksforGeeks/Activation functions in Neural Networks](https://www.geeksforgeeks.org/activation-functions-neural-networks/), [DataCamp/Introduction to Activation Functions in Neural Networks](https://www.datacamp.com/tutorial/introduction-to-activation-functions-in-neural-networks), [V7Labs/Activation Functions in Neural Networks](https://www.v7labs.com/blog/neural-networks-activation-functions)
