Warum beschleunigt es den Gradientenabstieg, wenn die Funktion flüssig ist?

10

Ich habe jetzt ein Buch mit dem Titel "Praktisches maschinelles Lernen mit Scikit-Learn und TensorFlow" gelesen und in Kapitel 11 die folgende Beschreibung zur Erklärung von ELU (Exponential ReLU).

Drittens ist die Funktion überall flüssig, auch um z = 0, was den Gradientenabstieg beschleunigt, da sie links und rechts von z = 0 nicht so stark abprallt.

Geben Sie hier die Bildbeschreibung ein

Dies zbedeutet die x-Achse in der obigen Grafik. Ich verstehe, dass die Ableitung glatt ist, da die z < 0Linie eine Kurve hat und in diesem Bereich die Ableitung nicht mehr gleich ist 0.

Warum ist es jedoch so, dass die Funktion, wenn sie "überall glatt ist, einschließlich um z = 0", den Gradientenabstieg beschleunigt?

Blaszard
quelle
Übrigens bin ich in der richtigen SE? Data Science, Artificial Intelligence und Cross Validated (und auch MathSE) ... scheinen mir, dass viele Themen
eng
2
Ich denke, Sie können diese Frage sicher entweder hier auf Data Science oder auf Cross Validated veröffentlichen. Möglicherweise ist es auch für künstliche Intelligenz in Ordnung, aber ich bin mit dieser Site weniger vertraut.
Neil Slater
Gute Frage. Mit der Glätte können Sie mutige Schritte in die richtige Richtung unternehmen, anstatt vorläufig kleine Schritte zu unternehmen, da sich der Gradient beim nächsten Schritt drastisch ändern kann. Für eine Konvergenzanalyse siehe z. B. Nesterovs beschleunigter Gradientenabstieg für eine reibungslose und stark konvexe Optimierung
Emre
@NeilSlater AI hat einen sehr unklaren Umfang. Sie schließen solche Fragen ab. Also, DS und CV wären die besten Optionen :)
Dawny33

Antworten:

1

Ich vermute, es liegt an der Ableitung, da ReLU eine diskontinuierliche Ableitung bei 0 hat. Wenn Sie also die Definition verwenden:

ff(x+ϵ)f(xϵ)2ϵ

x

Alex
quelle
0

Vorläufig: Es gibt drei Attribute einer Funktion, die hier relevant sind: kontinuierlich, monoton und differenzierbar. Die RELU ist eine kontinuierliche und monotone Mutter, die bei z = 0 nicht differenzierbar ist. Das exponentielle Relu oder ELU ist alle drei dieser Attribute.

Das Differential oder der Gradient gibt Ihnen eine Richtung. Wenn die Ableitung einer Funktion an einem Punkt undefiniert ist, ist die Richtung des Gradienten an diesem Punkt unbestimmt.

Bei der Anwendung des Gradientenabfalls möchten wir die Parameter kontinuierlich so ändern, dass die Verlustfunktion stetig abnimmt. Dies entspricht der Aussage, dass wir uns weiter in Richtung Minimum bewegen möchten.

Wenn die Ableitung einer Verlustfunktion irgendwann undefiniert ist, ist der Gradient unbestimmt. Dies bedeutet, dass sich der Gradientenabstieg möglicherweise in die falsche Richtung bewegen kann. Das Ausmaß der durch diese Unbestimmtheit verursachten Verzögerung hängt von der Lernrate und anderen Hyperparametern ab. Unabhängig von den Hyperparametern trägt statistisch gesehen die undefinierte Ableitung in RELU bei z = 0 zur Verlangsamung der Konvergenz des Gradientenabfalls bei.

Dynamischer Sternenstaub
quelle
Es ist sehr unwahrscheinlich, dass der Parameter nach der Initialisierung genau z = 0 wird.
Pieter
0

Schneller oder niedriger zu sein ist ein relativer Begriff und muss im Kontext dessen verstanden werden, womit es verglichen wird. Um dies zu verstehen, müssen wir zunächst überlegen, wie der Gradientenabstieg mit anderen Arten der Aktivierungsfunktion funktioniert.

Beispiel-Setup

n

z1=W1x+b1

a1=f(z1)

...

zn=Wnan1+bn

y=f(zn)

f

Tanh und Sigmoid - verschwindender Gradient

ff(x)(1,1)x

yW1

dfdW1=dfdWndWndWn1...dW2dW1

0<i<n

dXidXi1=f(Wi1ai2+bi1)×ai2(1,1)

(1,1)fai2(1,1)

dfdW1ndfdW1

RELU und Dead Neuron

ai>0f

dXidXi1=ai2
dfdW1=a1a2a3...an1

x>0x<0

Undichte RELU und ELU

x>0x<1

Ich zitiere das Originalpapier für den Unterschied zwischen den beiden.

LReLUs und PReLUs haben zwar ebenfalls negative Werte, gewährleisten jedoch keinen rauschstabilen Deaktivierungszustand. ELUs sättigen sich mit kleineren Eingaben auf einen negativen Wert und verringern dadurch die vorwärts propagierte Variation und Information.

Die intuitive Erklärung lautet wie folgt. In der ELU wurde der Gradient immer dann, wenn x klein genug wurde, sehr klein und gesättigt (genauso wie bei Tanh und Sigmoid). Der kleine Gradient bedeutet, dass sich der Lernalgorithmus auf die Abstimmung anderer Gewichte konzentrieren kann, ohne sich um die Interaktivität mit den gesättigten Neuronen sorgen zu müssen.

Betrachten Sie ein Polynom vom Grad 2, das als glatte Oberfläche in einem 3D-Raum dargestellt werden kann. Um das lokale Minimum zu finden, muss ein Gradientenabstiegsalgorithmus die Steilheit sowohl in x- als auch in y-Richtung berücksichtigen. Wenn der Gradient sowohl in x- als auch in y-Richtung negativ ist, ist nicht klar, welcher Weg besser ist. Es ist also sinnvoll, irgendwo dazwischen einen Weg zu wählen. Aber was ist, wenn wir bereits wissen, dass alles in x-Richtung flach ist (Gradienten Null), dann ist es ein Kinderspiel, sich für die y-Richtung zu entscheiden. Mit anderen Worten, Ihr Suchraum wird viel kleiner.

Spezielle Notiz

Beim tiefen Lernen gibt es viele Behauptungen ohne ausreichende empirische Beweise oder tiefes Verständnis, um dies zu unterstützen. Im Fall von ELU kann es zwar zutreffen, dass dies für einige Datensätze zu einer schnelleren Konvergenz führt, es kann jedoch auch zutreffen, dass der Lernalgorithmus für einen anderen Datensatz auf dem lokalen Maximum bleibt. Wir wissen einfach noch nicht genug.

Louis T.
quelle
0

Ich habe eine intuitive Vorstellung davon, warum reibungslose Funktionen schneller zu optimieren sind, aber keinen mathematischen Beweis oder ähnliches.

Der Gradientenabstieg berechnet die Ableitung der Aktivierungsfunktion, um die Änderung der Gewichte zu bestimmen. Wenn die Aktivierungsfunktion einen harten Schnitt hat (z. B. bei z = 0 für ReLu), kann sich die Aktivierung der Einheit für bestimmte Datenpunkte radikal ändern (dh immer Null oder linear), wenn die Gewichte geändert werden.

Die anderen Gewichte müssen sich an dieses radikal unterschiedliche Verhalten einer bestimmten Einheit für bestimmte Datenpunkte anpassen. Wenn sich das Verhalten der Einheit jedoch während der nächsten Epoche wieder radikal ändert, ist das Netzwerk weiterhin auf Änderungen in der vorherigen Epoche eingestellt.

Bei einer reibungslosen Funktion gibt es keine derart radikalen Veränderungen. Und so kann sich das Netzwerk allmählich stabilisieren.

Pieter
quelle