AI-United » Allgemein » Aktivierungsfunktionen, ihre Arten und Verwendungsmöglichkeiten

Aktivierungsfunktionen, ihre Arten und Verwendungsmöglichkeiten

Was versteht man unter Aktivierungsfunktionen, welche Arten von Aktivierungsfunktionen unterscheidet man und wie werden sie in einem neuronalen Netzwerkmodell verwendet?


Aktivierungsfunktionen, ihre Arten und Verwendungsmöglichkeiten

Für ein künstliches neuronales Netzwerk sind die Aktivierungsfunktionen von großer Bedeutung, da sie dabei helfen, das wirklich komplizierte und nichtlineare komplexe funktionale Mapping zwischen den Eingangsdaten und den abhängigen Ergebnissen zu lernen und zu verstehen. Ein Eingangssignal eines Knotens wird dabei in einem A-NN in ein Ausgangssignal konvertiert. Danach wird dieses Ausgangssignal als Eingabe in der nächsten Schicht im Stapel verwendet.

In Neuronalen Netzwerken werden die Produkte der Eingangsdaten (X) und ihre entsprechende Gewichtung (W) summiert und daraufhin eine Aktivierungsfunktion f (x) verwendet, um die Ergebnisse dieser Schicht zu erhalten und um diese dann als Eingabe an die nächste Schicht weiterzuleiten.

Warum kann man die Aktivierungsfunktion nicht weglassen?

Ohne Anwendung einer Aktivierungsfunktion wäre das Ausgangssignal nur eine einfache lineare Funktion. Eine lineare Funktion ist nur ein Polynom von einem Grad. Obwohl eine lineare Gleichung leicht lösbar ist, ist diese jedoch in ihrer Komplexität eher begrenzt und hat viel weniger Möglichkeiten, komplexes Funktionsmapping aus Daten zu erlernen. Ein neuronales Netzwerk ohne Aktivierungsfunktion wäre einfach ein lineares Regressionsmodell. Es hat eine stark begrenzte Leistung und funktioniert meistens nicht gut. Es ist nicht Sinn der Sache mit einem neuronales Netzwerk eine lineare Funktion zu erlernen und zu berechnen, sondern eher etwas kompliziertere Aufgaben zu lösen.  Ein neuronales Netzwerk könnte eigentlich nicht ohne eine Aktivierungsfunktion komplizierte Datenarten wie Bilder, Videos, Audio, Sprache usw.  nutzen und modellieren. Deshalb werden künstliche neuronale Netzwerktechniken im Deep Learning verwendet, die uns die Möglichkeit geben, etwas Kompliziertes, Hochdimensionales, Nicht-lineares, mit großen Datensätzen zu modellieren. Dabei weist das Modell viele verborgene Ebenen dazwischen und eine komplizierte Architektur auf.

Warum werden Nichtlinearitäten gebraucht?

Nichtlineare Funktionen sind solche, deren Grad größer als eins ist, und sie haben eine Krümmung, wenn eine nichtlineare Funktion gezeichnet wird. Wenn wir jede beliebige komplexe Funktion, die Eingaben auf Ausgaben abbilden, lernen und darstellen wollen, benötigen wir ein neuronales Netzwerkmodell. Neuronale Netzwerke werden als universale Funktionsapproximatoren angesehen, die eigentlich jede denkbare (und evtl. darüber hinaus) Funktion berechnen und erlernen können. Fast jeder Prozess kann in neuronalen Netzwerken als funktionelle Berechnung dargestellt werden.

Die Hauptaufgabe einer Aktivierungsfunktion f (x) ist das Erhöhen der Leistungsfähigkeit eines Netzwerkes und das Hinzufügen der Fähigkeit, etwas komplexe und komplizierte Formdaten zu lernen, sowie nicht-lineares, komplexes, willkürliches Funktionsmapping zwischen Eingängen und Ausgängen darzustellen. Mit einer nichtlinearen Aktivierungsfunktion wird ein nichtlineares Mapping von Eingangsdaten zu Ergebnissen erzeugt.

Ein weiterer wichtiger Zweck einer Aktivierungsfunktion ist, dass diese differenzierbar sein muss. Wir benötigen es, um eine Backpropagation-Optimierungsstrategie durchzuführen, während es im Netzwerk rückwärts propagiert wird, um die Gradienten der Fehler (Verlustfunktion) bezüglich der Gewichte zu berechnen und dann die Gewichte mit Gradientenabstieg oder einer anderen Optimierungstechnik entsprechend anzupassen, um damit Fehler des Netzwerks zu reduzieren.

Merksatz:

„Gewichte eingeben, Bias hinzufügen und aktivieren“

Die beliebtesten Arten von Aktivierungsfunktionen sind:

  1. Sigmoid oder Logistik
  2. Tanh – hyperbolischer Tangens
  3. ReLu – gleichgerichtete lineare Einheiten

Sigmoid-Aktivierungsfunktion: Dabei handelt es sich um eine Aktivierungsfunktion der Form f (x) = 1 / 1 + exp (-x). Ihr Arbeitsbereich liegt zwischen 0 und 1. Es ist eine S-förmige Kurve. Die Funktion ist generell leicht zu verstehen und anzuwenden, es gibt aber wichtige Gründe, weshalb sie nicht mehr so beliebt ist.

  • Problem des Gradientenverschwindens
  • die Ausgabe ist nicht auf Null zentriert. Dadurch gehen die Aktualisierungen des Gradienten zu weit in verschiedene Richtungen auseinander. 0 < Ausgabe < 1, wodurch die Optimierung eigentlich erschwert ist.
  • Sigmoids sättigen sich generell schnell und negieren den Gradienten.
  • Sigmoids erweisen eher eine langsame Konvergenz.

Wie werden die oben genannten Probleme in der Praxis gelöst?

Hyperbolisher Tangens – Tanh: Die mathematische Formel lautet f (x) = 1 – exp (-2x) / 1 + exp (-2x). Jetzt ist die Ausgabe auf Null zentriert, da der Bereich zwischen -1 und 1 liegt, d. H. -1 <Ausgabe <1. Die Optimierung bei dieser Methode läuft viel einfacher und besser als bei der oben genannten Sigmoidfunktion. Trotzdem leidet diese Funktion an dem Problem des Gradientenverschwindens.

Wie wird dann das Problem des Gradientenverschwindens behandelt und gelöst?

ReLe – Rektifizierte Lineare Einheit: In den letzten Jahren wurde sie immer beliebter. Im Vergleich zur Tanh-Funktion wurde die Konvergenz um das 6-fache verbessert. Es ist nur R (x) = max (0, x), d. H. wenn x <0, R (x) = 0 und wenn x> = 0 ist, R (x) = x. Die mathematische Grundform dieser Funktion ist einfach und effizient. Im Maschinellem Lernen und  der Informatik werden die meisten einfachen und konsistenten Verfahrensweisen und Methoden meist bevorzugt, da sich diese in der Praxis besser umsetzen lassen.  So wird das Problem des Gradientenverschwindens vermieden und korrigiert. Fast alle Deep Learning-Modelle verwenden heutzutage die ReLu Funktion.

Die Einschränkung besteht jedoch darin, dass diese Funktion nur in verborgenen Schichten (Hidden Layers) eines neuronalen Netzwerkmodells verwendet werden sollte.

Es ist entsprechend wichtig, für die Ausgabe-Schichten eine Softmax-Funktion für ein Klassifizierungsproblem zu verwenden, um die Wahrscheinlichkeit für die Klassen zu berechnen, und passend eine lineare Funktion für ein Regressionsproblem einzusetzen.

ReLu hat noch ein weiteres Problem: Einige Gradienten können während des Trainings schwach sein und wegfallen. Dies kann eine solche Gewichtungsaktualisierung verursachen, die dazu führt, dass die Funktion nie wieder an einem Datenpunkt aktiviert wird. Einfach gesagt, könnte ReLu  zu einem toten Neuronen führen.

Um dieses Problem in den Griff zu bekommen, wurde eine weitere Modifikation namens Leaky ReLu eingeführt. Ihre Aufgabe ist es, das Problem des Absterbens von Neuronen zu lösen. Sie führt eine kleine Steigung, zum Erhalten der Aktualisierungen, ein.

Darüber hinaus gibt es noch eine andere Variante aus ReLu und Leaky ReLu namens Maxout-Funktion.

Fazit

In diesem Artikel haben wir verschiedene Aktivierungsfunktionen und ihre Verwendungsmöglichkeiten in der Praxis betrachtet.

Heutzutage soll ReLu nur auf die verborgenen Schichten verwendet werden. Und Leaky ReLu oder Maxout-Funktionen sollen dann verwendet werden, wenn ein Modell während des Trainings an abgestorbenen Neuronen leidet.

Sigmoid und Tanh sollten wegen dem verschwindenden Gradientenproblem nicht mehr verwendet werden, da es viele Probleme beim Trainieren verursacht und die Genauigkeit und Leistung eines tiefen neuronalen Netzwerkmodells eher verschlechtert.

Falls Sie sich nicht entscheiden können, welche Aktivierungsfunktion Sie verwenden sollten, helfen wir Ihnen gerne weiter. Wenden Sie sich an das Team von AI-United.de per Mail oder Q&A.

Quelle

AI-United-Redaktion

Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.