Der Stand der Technik der Nichtlinearität ist die Verwendung von gleichgerichteten Lineareinheiten (ReLU) anstelle der Sigmoidfunktion in einem tiefen neuronalen Netzwerk. Was sind die Vorteile?
Ich weiß, dass das Trainieren eines Netzwerks bei Verwendung von ReLU schneller wäre, und es ist biologisch inspirierter. Was sind die anderen Vorteile? (Das heißt, irgendwelche Nachteile der Verwendung von Sigmoid)?
machine-learning
neural-networks
deep-learning
RockTheStar
quelle
quelle
Antworten:
a = W x + bh=max(0,a) a=Wx+b
Ein Hauptvorteil ist die verringerte Wahrscheinlichkeit, dass der Gradient verschwindet. Dies entsteht, wenn . In diesem Bereich hat der Gradient einen konstanten Wert. Im Gegensatz dazu wird der Gradient von Sigmoiden mit zunehmendem Absolutwert von x immer kleiner. Der konstante Gradient der ReLUs führt zu einem schnelleren Lernen.a>0
Der andere Vorteil von ReLUs ist die Sparsamkeit. Sparsity entsteht, wenn . Je mehr solche Einheiten in einer Ebene vorhanden sind, desto spärlicher ist die resultierende Darstellung. Sigmoide hingegen erzeugen wahrscheinlich immer einen Wert ungleich Null, was zu dichten Darstellungen führt. Sparse Repräsentationen scheinen vorteilhafter zu sein als dichte Repräsentationen.a≤0
quelle
Vorteil:
Nachteil:
Sigmoid: Neigt dazu, den Gradienten zu verschwinden (weil es einen Mechanismus gibt, um den Gradienten als " " -Zunahme zu verringern , wobei " " die Eingabe einer Sigmoid-Funktion ist. Sigmoid-Gradient: . Wenn " " unendlich groß wird, ist ).a S ' ( a ) = S ( a ) ( 1 - S ( a ) ) a S ' ( a ) = S ( a ) ( 1 - S ( a ) ) = 1 × ( 1 - 1 ) = 0a a S′(a)=S(a)(1−S(a)) a S′(a)=S(a)(1−S(a))=1×(1−1)=0
Relu: neigen dazu, die Aktivierung in die Luft zu jagen (es gibt keinen Mechanismus, der die Ausgabe des Neurons einschränkt, da " " selbst die Ausgabe ist)a
quelle
$x$
erzeugen .Ergänzen Sie einfach die anderen Antworten:
Verschwindende Farbverläufe
Die anderen Antworten weisen zu Recht darauf hin, dass der Gradient der Sigmoidfunktion umso kleiner ist, je größer die Eingabe (in absoluten Werten) ist. Ein wahrscheinlich noch wichtigerer Effekt ist jedoch, dass die Ableitung der Sigmoidfunktion IMMER kleiner als eins ist . In der Tat ist es höchstens 0,25!
Die Kehrseite davon ist, dass Sie bei vielen Ebenen diese Verläufe multiplizieren und das Produkt vieler kleiner als 1 Werte sehr schnell auf Null geht.
Da der Stand der Technik für Deep Learning gezeigt hat, dass mehr Ebenen viel bewirken, ist dieser Nachteil der Sigmoid-Funktion ein Spielekiller. Deep Learning ist mit Sigmoid einfach nicht möglich.
Andererseits ist der Gradient der ReLu-Funktion entweder für oder für . Das bedeutet, dass Sie so viele Ebenen einfügen können, wie Sie möchten, da das Multiplizieren der Farbverläufe weder verschwindet noch explodiert.a < 0 1 a > 00 a<0 1 a>0
quelle
Ein anderer Vorteil von ReLU als das Vermeiden des Problems des Verschwindens von Verläufen ist, dass es eine viel geringere Laufzeit hat. max (0, a) läuft viel schneller als jede Sigmoid-Funktion (logistische Funktion zum Beispiel = 1 / (1 + e ^ (- a)), die einen Exponenten verwendet, der bei häufiger Ausführung nur langsam berechnet wird). Dies gilt sowohl für die Vorwärts- als auch für die Rückwärtsausbreitung, da der Gradient von ReLU (wenn a <0, = 0, sonst = 1) im Vergleich zu Sigmoid (für logistische Kurve = e ^ a / ((1 + e)) ebenfalls sehr einfach zu berechnen ist ^ a) ^ 2)).
Obwohl ReLU den Nachteil hat, dass Zellen absterben, was die Kapazität des Netzwerks einschränkt. Um dies zu überwinden, verwenden Sie einfach eine Variante von ReLU, wie z. B. undichte ReLU, ELU usw., wenn Sie das oben beschriebene Problem bemerken.
quelle
Eine zusätzliche Antwort auf die Debatte über die Leistung von Sparse vs Dense .
Denken Sie nicht mehr an NN, sondern nur an lineare Algebra und Matrixoperationen, da Vorwärts- und Rückwärtspropagationen eine Reihe von Matrixoperationen sind.
Denken Sie jetzt daran, dass es viele optimierte Operatoren gibt, die auf eine dünne Matrix angewendet werden können, und dass die Optimierung dieser Operationen in unserem Netzwerk die Leistung des Algorithmus erheblich verbessern kann.
Ich hoffe, das könnte einigen von euch helfen ...
quelle
Der Hauptvorteil besteht darin, dass die Ableitung von ReLu entweder 0 oder 1 ist, sodass bei Multiplikation mit ReLu keine Gewichte auftreten, die weiter vom Endergebnis der Verlustfunktion entfernt sind.
quelle