Warum verwenden wir gleichgerichtete lineare Einheiten (ReLU) mit neuronalen Netzen? Wie verbessert das das neuronale Netzwerk?
Warum sagen wir, dass ReLU eine Aktivierungsfunktion ist? Ist nicht Softmax-Aktivierungsfunktion für neuronale Netze? Ich vermute, dass wir sowohl ReLU als auch Softmax wie folgt verwenden:
Neuron 1 mit Softmax-Ausgang —-> ReLU am Ausgang von Neuron 1, Das ist
Eingabe von Neuron 2 —> Neuron 2 mit Softmax-Ausgabe -> …
, so dass die Eingabe von Neuron 2 im Grunde ReLU (Softmax (x1)) ist richtig?
Antwort
Die ReLU-Funktion lautet $ f (x) = \ max (0, x). $ Normalerweise wird dies elementweise auf die Ausgabe einer anderen Funktion angewendet, z. B. eines Matrixvektorprodukts. Bei MLP-Verwendungen ersetzen Gleichrichtereinheiten alle anderen Aktivierungsfunktionen außer möglicherweise der Anzeige Layer. Aber ich nehme an, Sie könnten sie mischen und anpassen, wenn Sie möchten.
Eine Möglichkeit, wie ReLUs neuronale Netze verbessern, besteht darin, das Training zu beschleunigen. Die Gradientenberechnung ist sehr einfach (entweder 0 oder 1, abhängig vom Vorzeichen von $ x $ ). Der Berechnungsschritt einer ReLU ist ebenfalls einfach: Alle negativen Elemente werden auf 0,0 gesetzt – keine Exponentiale, keine Multiplikations- oder Divisionsoperationen.
Gradienten logistischer und hyperbolischer Tangensnetzwerke sind kleiner als der positive Teil von die ReLU. Dies bedeutet, dass der positive Teil mit fortschreitendem Training schneller aktualisiert wird. Dies ist jedoch mit Kosten verbunden. Der 0-Gradient auf der linken Seite hat ein eigenes Problem, das als „tote Neuronen“ bezeichnet wird. Bei einer Gradientenaktualisierung werden die eingehenden Werte auf eine ReLU gesetzt, sodass die Ausgabe immer Null ist. Modifizierte ReLU-Einheiten wie ELU (oder Leaky ReLU oder PReLU usw.) können dies verbessern.
$ \ frac {d} {dx} \ text { ReLU} (x) = 1 \ forall x > 0 $ . Im Gegensatz dazu beträgt der Gradient einer Sigmoid-Einheit höchstens $ 0,25 $ ; Andererseits ist $ \ tanh $ für Eingaben in einer Region nahe 0 besser geeignet, da $ 0,25 < \ frac {d} {dx} \ tanh (x) \ le 1 \ forall x \ in [-1,31, 1,31] $ (ungefähr).
Kommentare
- Ich sehe keine Beweise dafür, dass ich eine Frage stellen wollte oder an dieser Seite teilgenommen habe. Ehrlich gesagt bin ich ‚ erstaunt darüber, wie gut ReLU funktioniert, aber ich ‚ habe aufgehört, es in Frage zu stellen :).
- @aginensky Es scheint, dass der Kommentar in der Zwischenzeit entfernt wurde.
- Der Kommentar wurde weder von mir entfernt noch wurde ich informiert. Ich ‚ habe aufgehört, Fragen zu beantworten, und ich denke, dies bedeutet, dass ich ‚ auch mit dem Kommentieren fertig bin.
- @aginensky Ich ‚ weiß nicht, warum dies dazu führen würde, dass Sie aufhören zu kommentieren. Wenn Sie Fragen zu Kommentaren und Moderation haben, können Sie eine Frage in meta.stats.SE stellen.
Antwort
Ein wichtiger Punkt ist, dass ReLU idempotent ist. Angesichts der Tatsache, dass ReLU $ \ rho (x) = \ max (0, x) $ ist, ist es leicht zu erkennen, dass $ \ rho \ circ \ rho \ circ \ rho \ circ \ dots \ circ \ rho = \ rho $ gilt für jede endliche Zusammensetzung. Diese Eigenschaft ist für tiefe neuronale Netze sehr wichtig, da jede Schicht in der Netzwerk wendet eine Nichtlinearität an. Lassen Sie uns nun zwei Funktionen der Sigmoidfamilie 1-3 Mal wiederholt auf denselben Eingang anwenden:
Sie können sofort sehen, dass Sigmoidfunktionen ihre Eingaben“ quetschen „, was zu dem Problem des verschwindenden Gradienten führt: Ableitungen nähern sich Null als $ n $ (die Anzahl der wiederholten Anwendungen) nähert sich der Unendlichkeit.
Antwort
ReLU ist die Max-Funktion (x, 0) mit Eingang x, z Matrix aus einem gefalteten Bild. ReLU setzt dann alle negativen Werte in der Matrix x auf Null und alle anderen Werte werden konstant gehalten.
ReLU wird nach der Faltung berechnet und ist eine nichtlineare Aktivierungsfunktion wie Tanh oder Sigmoid.
Softmax ist ein Klassifikator am Ende des neuronalen Netzwerks. Dies ist eine logistische Regression, um Ausgaben auf Werte zwischen 0 und 1 zu normalisieren. (Alternativ ist hier ein SVM-Klassifizierer).
CNN-Weiterleitungspass, z. B.: Input-> conv-> ReLU-> Pool-> conv-> ReLU-> Pool-> FC-> Softmax
Kommentare
- Downvoting. Das ist eine sehr schlechte Antwort! Softmax ist kein Klassifikator! Diese Funktion normalisiert (skaliert) die Ausgaben auf den Bereich [0,1] und stellt sicher, dass sie sich zu 1 summieren. Die logistische Regression reguliert “ nicht “ alles!Der Satz “ ReLU wird nach der Faltung berechnet und ist daher eine nichtlineare Aktivierungsfunktion wie tanh oder sigmoid. “ fehlt ein Verb oder ein Sinn.
- Die Antwort ist nicht so schlecht. Der Satz ohne das Verb muss “ sein. ReLU wird nach der Faltung berechnet und IS ist daher eine nichtlineare Aktivierungsfunktion wie tanh oder sigmoid. “ Softmax als Klassifikator zu betrachten, ist ebenfalls sinnvoll. Es kann als probabilistischer Klassifikator angesehen werden, der jeder Klasse eine Wahrscheinlichkeit zuweist. Es “ reguliert “ / “ normalisiert “ die Ausgänge in das Intervall [0,1].
Antwort
ReLU ist ein Literalschalter. Bei einem elektrischen Schalter ergibt 1 Volt Eingang 1 Volt Ausgang, n Volt Eingang gibt n Volt Ausgang, wenn er eingeschaltet ist. Ein / Aus, wenn Sie sich entscheiden, auf Null zu schalten, ergibt genau das gleiche Diagramm wie ReLU. Die gewichtete Summe (Punktprodukt) einer Anzahl gewichteter Summen ist immer noch ein lineares System. Für einen bestimmten Eingang sind die ReLU-Schalter einzeln ein- oder ausgeschaltet. Dies führt zu einer bestimmten linearen Projektion vom Eingang zum Ausgang, da verschiedene gewichtete Summen der gewichteten Summe von … durch die Schalter miteinander verbunden sind. Für ein bestimmtes Eingabe- und ein bestimmtes Ausgabe-Neuron gibt es ein zusammengesetztes System gewichteter Summen, die tatsächlich zu einer einzigen effektiven gewichteten Summe zusammengefasst werden können. Da die ReLU-Schalter den Status Null haben, gibt es keine plötzlichen Diskontinuitäten in der Ausgabe für allmähliche Änderungen in der Eingabe.
Es gibt andere numerisch effiziente Algorithmen für gewichtete Summen (Punktprodukte) wie die FFT- und Walsh Hadamard-Transformation. Es gibt keinen Grund, warum Sie diese nicht in ein ReLU-basiertes neuronales Netzwerk integrieren und von den Rechengewinnen profitieren können (z. B. neuronale Netzwerke mit fester Filterbank).
Antwort
ReLU ist wahrscheinlich eine der einfachsten nichtlinearen Funktionen. Eine Schrittfunktion ist einfacher. Eine Schrittfunktion hat jedoch die erste Ableitung (Gradient) Null überall außer an einem Punkt, an dem sie vorhanden ist ein unendlicher Gradient. ReLU hat überall eine endliche Ableitung (Gradient). Es hat eine unendliche zweite Ableitung an einem Punkt.
Die Feed-Forward-Netzwerke werden trainiert, indem nach einem Gradienten von Null gesucht wird. Das Wichtigste hier ist das Es gibt eine Menge erster Ableitungen, die in der Backpropagation-Routine eines großen Netzes berechnet werden müssen, und es hilft, dass sie schnell wie ReLU berechnet werden können. Die zweite ist, dass die Gradienten von ReLU im Gegensatz zur Schrittfunktion immer endlich sind und nicht triviale Nullen fast überall. Schließlich brauchen wir nichtlineare Aktivierungen, damit das Deep-Learning-Netz gut funktioniert l, aber das ist ein anderes Thema.