Fast alle Funktionen, die durch die nichtlinearen Aktivierungsfunktionen bereitgestellt werden, sind durch andere Antworten gegeben. Lassen Sie mich sie zusammenfassen:
- Erstens, was bedeutet Nichtlinearität? Es bedeutet etwas (in diesem Fall eine Funktion), das in Bezug auf eine gegebene Variable / Variablen nicht linear ist, dh f(c1.x1+c2.x2...cn.xn+b)!=c1.f(x1)+c2.f(x2)...cn.f(xn)+b.`
- Was bedeutet in diesem Zusammenhang Nichtlinearität? Es bedeutet , dass das neuronale Netz erfolgreich ungefähre Funktionen (bis zu einem gewissen Fehler durch den Benutzer entschieden) , die nicht Linearität folgt oder es kann die Klasse einer Funktion erfolgreich vorhersagen , die durch eine Entscheidungsgrenze geteilt ist , die nicht linear ist.e
- Warum hilft es? Ich glaube kaum, dass Sie ein Phänomen der physischen Welt finden können, das der Linearität direkt folgt. Sie benötigen also eine nichtlineare Funktion, die sich dem nichtlinearen Phänomen annähern kann. Eine gute Intuition wäre auch jede Entscheidungsgrenze oder eine Funktion ist eine lineare Kombination von Polynomkombinationen der Eingabemerkmale (also letztendlich nicht linear).
- Zwecke der Aktivierungsfunktion? Zusätzlich zur Einführung der Nichtlinearität hat jede Aktivierungsfunktion ihre eigenen Merkmale.
Sigmoid 1(1+e−(w1∗x1...wn∗xn+b))
Dies ist eine der häufigsten Aktivierungsfunktionen und nimmt überall monoton zu. Dies ist im allgemeinen bei der endgültigen Ausgangsknoten verwendet , da sie Werte zwischen 0 und 1 quetscht (wenn der Ausgang erforderlich sein 0
oder 1
) .So über 0,5 gilt , 1
während unter 0,5 als 0
, obwohl eine andere Schwelle (nicht 0.5
) vielleicht eingestellt. Sein Hauptvorteil ist, dass seine Unterscheidung einfach ist und bereits berechnete Werte verwendet und angeblich Hufeisenkrebsneuronen diese Aktivierungsfunktion in ihren Neuronen haben.
Tanh e(w1∗x1...wn∗xn+b)−e−(w1∗x1...wn∗xn+b))(e(w1∗x1...wn∗xn+b)+e−(w1∗x1...wn∗xn+b)
Dies hat einen Vorteil gegenüber der Sigmoid-Aktivierungsfunktion, da sie dazu neigt, die Ausgabe auf 0 zu zentrieren, was zu einem besseren Lernen auf den nachfolgenden Ebenen führt (wirkt als Merkmalsnormalisierung). Eine schöne Erklärung hier . Negative und positive Ausgangswerte vielleicht als betrachtet 0
und 1
jeweils. Wird hauptsächlich in RNNs verwendet.
Re-Lu-Aktivierungsfunktion - Dies ist eine weitere sehr häufige einfache nichtlineare Aktivierungsfunktion (linear im positiven Bereich und im negativen Bereich, die sich gegenseitig ausschließt), die den Vorteil hat, dass das Problem des Verschwindens des Gradienten beseitigt wird, dem die obigen beiden gegenüberstehen, dh der Gradient tendiert dazu0
as x tendiert zu + unendlich oder -unendlich. Hier ist eine Antwort auf die Näherungsleistung von Re-Lu trotz seiner scheinbaren Linearität. ReLus haben den Nachteil, dass sie tote Neuronen haben, die zu größeren NNs führen.
Sie können auch Ihre eigenen Aktivierungsfunktionen entwerfen, abhängig von Ihrem speziellen Problem. Möglicherweise haben Sie eine quadratische Aktivierungsfunktion, die quadratische Funktionen viel besser approximiert. Dann müssen Sie jedoch eine Kostenfunktion entwerfen, die etwas konvexer Natur sein sollte, damit Sie sie mithilfe von Differentialen erster Ordnung optimieren können und die NN tatsächlich zu einem anständigen Ergebnis konvergiert. Dies ist der Hauptgrund, warum Standardaktivierungsfunktionen verwendet werden. Ich glaube jedoch, dass mit geeigneten mathematischen Werkzeugen ein enormes Potenzial für neue und exzentrische Aktivierungsfunktionen besteht.
Angenommen, Sie versuchen, eine einzelne variable quadratische Funktion zu approximieren, sagen Sie . Dies lässt sich am besten durch eine quadratische Aktivierung von w 1 x 2 + b approximieren, wobei w 1 und b die trainierbaren Parameter sind. Das Entwerfen einer Verlustfunktion, die der herkömmlichen Ableitungsmethode erster Ordnung (Gradientenabfall) folgt, kann für eine nicht monotisch ansteigende Funktion jedoch recht schwierig sein.a.x2+cw1.x2+bw1b
Für Mathematicians: In der Sigmoid - Aktivierungsfunktion sehen wir , dass e - ( W 1 * x 1 ... w n ∗ x n + b ) ist immer < . Durch binomiale Expansion oder durch umgekehrte Berechnung der unendlichen GP-Reihe erhalten wir s i g m(1/(1+e−(w1∗x1...wn∗xn+b))e−(w1∗x1...wn∗xn+b) 1
= 1 + y + y 2 . . . . . . Nun ist in einem NN y = e - ( w 1 ≤ x 1 ... w n ≤ x n + b ) . Somit erhalten wir alle Potenzen von y, die gleich sind mit e - ( w 1 ≤ x 1 ... w n ≤ x n + b )sigmoid(y)1+y+y2.....y=e−(w1∗x1...wn∗xn+b)ye−(w1∗x1...wn∗xn+b)Somit kann jede Potenz von als Multiplikation mehrerer abklingender Exponentiale auf der Basis eines Merkmals x betrachtet werden , zum Beispiel y 2 = e - 2 ( w 1 x 1 ) ∗ e - 2 ( w 2 x 2 ) ∗ e - 2 ( w 3 × 3 ) ∗ . . . . . . e - 2 ( b )yxy2=e−2(w1x1)∗e−2(w2x2)∗e−2(w3x3)∗......e−2(b). Somit hat jedes Merkmal ein Mitspracherecht bei der Skalierung des Graphen von .y2
Eine andere Denkweise wäre, die Exponentiale nach Taylor Series zu erweitern:
So erhalten wir eine sehr komplexe Kombination mit allen möglichen Polynomkombinationen von Eingangsvariablen. Ich glaube, wenn ein neuronales Netzwerk richtig strukturiert ist, kann der NN diese Polynomkombinationen feinabstimmen, indem er nur die Verbindungsgewichte ändert und die maximal nützlichen Polynomterme auswählt und Terme durch Subtrahieren der Ausgabe von 2 richtig gewichteten Knoten ablehnt.
Die Aktivierung von kann auf die gleiche Weise funktionieren, da | ausgegeben wird t a n h | < 1 . Ich bin mir nicht sicher, wie Re-Lus Arbeit funktioniert, aber aufgrund seiner starken Struktur und des Problems toter Neuronen erforderte ReLu größere Netzwerke für eine gute Annäherung.tanh|tanh|<1
Für einen formalen mathematischen Beweis muss man sich jedoch den Satz der universellen Approximation ansehen.
Für Nicht-Mathematiker besuchen einige bessere Einblicke diese Links:
Aktivierungsfunktionen von Andrew Ng - für eine formellere und wissenschaftlichere Antwort
Wie klassifiziert ein Klassifizierer für ein neuronales Netzwerk, wenn nur eine Entscheidungsebene gezeichnet wird?
Differenzierbare Aktivierungsfunktion
Ein visueller Beweis, dass neuronale Netze jede Funktion berechnen können