Technologieaustausch

Die Entwicklung und Anwendung von Aktivierungsfunktionen beim Deep Learning: ein Rückblick

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Zusammenfassung

Dieser Artikel gibt einen umfassenden Überblick über die Entwicklung von Aktivierungsfunktionen im Deep Learning, von den frühen Sigmoid- und Tanh-Funktionen über die weit verbreitete ReLU-Reihe bis hin zu den kürzlich vorgeschlagenen neuen Aktivierungsfunktionen wie Swish, Mish und GeLU. Es wird eine eingehende Analyse der mathematischen Ausdrücke, Eigenschaften, Vorteile, Einschränkungen und Anwendungen verschiedener Aktivierungsfunktionen in typischen Modellen durchgeführt. Durch eine systematische vergleichende Analyse werden in diesem Artikel die Entwurfsprinzipien, Leistungsbewertungsstandards und mögliche zukünftige Entwicklungsrichtungen von Aktivierungsfunktionen erörtert und theoretische Leitlinien für die Optimierung und Gestaltung von Deep-Learning-Modellen bereitgestellt.

1. Einleitung

Die Aktivierungsfunktion ist eine Schlüsselkomponente in neuronalen Netzen, die nichtlineare Eigenschaften am Ausgang von Neuronen einführt und es neuronalen Netzen ermöglicht, komplexe nichtlineare Abbildungen zu lernen und darzustellen. Ohne Aktivierungsfunktion kann ein neuronales Netzwerk, egal wie tief es ist, im Wesentlichen nur lineare Transformationen darstellen, was die Ausdrucksfähigkeit des Netzwerks stark einschränkt.
Mit der rasanten Entwicklung des Deep Learning sind das Design und die Auswahl von Aktivierungsfunktionen zu wichtigen Faktoren geworden, die die Modellleistung beeinflussen. Verschiedene Aktivierungsfunktionen weisen unterschiedliche Eigenschaften auf, z. B. Gradientenflüssigkeit, Rechenkomplexität, Grad der Nichtlinearität usw. Diese Eigenschaften wirken sich direkt auf die Trainingseffizienz, die Konvergenzgeschwindigkeit und die endgültige Leistung des neuronalen Netzwerks aus.
Ziel dieses Artikels ist es, die Entwicklung von Aktivierungsfunktionen umfassend zu überprüfen, die Eigenschaften verschiedener Aktivierungsfunktionen eingehend zu analysieren und ihre Anwendung in modernen Deep-Learning-Modellen zu untersuchen. Wir werden folgende Aspekte besprechen:

  1. Klassische Aktivierungsfunktionen: einschließlich früher häufig verwendeter Aktivierungsfunktionen wie Sigmoid und Tanh.
  2. ReLU und seine Varianten: einschließlich ReLU, Leaky ReLU, PReLU, ELU usw.
  3. Neue Aktivierungsfunktionen: kürzlich vorgeschlagene Funktionen wie Swish, Mish und GeLU.
  4. Spezielle Aktivierungsfunktionen: wie Softmax, Maxout usw.
  5. Vergleich und Auswahl von Aktivierungsfunktionen: Besprechen Sie Strategien zur Auswahl von Aktivierungsfunktionen in verschiedenen Szenarien.
  6. Zukunftsaussichten: Erkunden Sie die möglichen Entwicklungsrichtungen der Aktivierungsfunktionsforschung.

Wir hoffen, durch diese systematische Überprüfung und Analyse eine umfassende Referenz für Forscher und Praktiker bereitzustellen, die ihnen dabei hilft, Aktivierungsfunktionen im Deep-Learning-Modelldesign besser auszuwählen und zu nutzen.

2. Klassische Aktivierungsfunktion

2.1 Sigmoidfunktion

Die Sigmoidfunktion ist eine der frühesten weit verbreiteten Aktivierungsfunktionen und ihr mathematischer Ausdruck lautet:
σ ( x ) = 1 1 + e − x sigma(x) = frac{1}{1 + e^{-x}}σ(X)=1+tX1
bild.png

Funktionen und Vorteile:
  1. Der Ausgabebereich ist begrenzt: Der Ausgabebereich der Sigmoid-Funktion liegt zwischen (0, 1), was sie besonders für die Behandlung von Wahrscheinlichkeitsproblemen geeignet macht.
  2. Glatt und differenzierbar: Die Funktion ist im gesamten Bereich glatt und differenzierbar, was für die Anwendung des Gradientenabstiegsalgorithmus von Vorteil ist.
  3. Erläuternd: Die Ausgabe kann als Wahrscheinlichkeit interpretiert werden, besonders geeignet für die Ausgabeschicht binärer Klassifizierungsprobleme.
Nachteile und Einschränkungen:
  1. verschwindendes Gradientenproblem: Wenn der Eingabewert groß oder klein ist, liegt der Gradient nahe bei Null, was in tiefen Netzwerken zum Problem des verschwindenden Gradienten führen kann.
  2. Ausgabe eines Zentrums ungleich Null: Die Ausgabe von Sigmoid ist ausschließlich positiv, was dazu führen kann, dass die Eingabe der Neuronen in der nächsten Schicht immer positiv ist, was sich auf die Konvergenzgeschwindigkeit des Modells auswirkt.
  3. Rechenkomplexität: Beinhaltet exponentielle Operationen und die Rechenkomplexität ist relativ hoch.
Anwendbare Szene:
  1. Frühe flache neuronale Netze.
  2. Ausgabeschicht für binäre Klassifizierungsprobleme.
  3. Szenarien, in denen die Ausgabe auf den Bereich (0, 1) begrenzt werden muss.
Vergleich mit anderen Funktionen:

Im Vergleich zu Funktionen wie ReLU, die später erschienen, war die Anwendung von Sigmoid in tiefen Netzwerken stark eingeschränkt, hauptsächlich aufgrund des Problems des verschwindenden Gradienten. Bei einigen spezifischen Aufgaben (z. B. der binären Klassifizierung) ist Sigmoid jedoch immer noch eine effektive Wahl.

2.2 Tanh-Funktion

Die Tanh-Funktion (Tangens hyperbolicus) kann als verbesserte Version der Sigmoid-Funktion betrachtet werden und ihr mathematischer Ausdruck lautet:
tanh ⁡ ( x ) = ex − e − xex + e − x tanh(x) = frac{e^x - e^{-x}}{e^x + e^{-x}}tanh(X)=tX+tXtXtX
bild.png

Funktionen und Vorteile:
  1. Nullpunktausgang: Der Ausgabebereich der Tanh-Funktion liegt zwischen (-1, 1), wodurch das Nicht-Null-Zentrumsproblem von Sigmoid gelöst wird.
  2. Stärkeres Gefälle: In Bereichen, in denen die Eingabe nahe bei Null liegt, ist der Gradient der Tanh-Funktion größer als der der Sigmoid-Funktion, was das Lernen beschleunigt.
  3. Glatt und differenzierbar: Ähnlich wie Sigmoid ist auch Tanh glatt und differenzierbar.
Nachteile und Einschränkungen:
  1. verschwindendes Gradientenproblem: Obwohl Tanh gegenüber Sigmoid verbessert wurde, besteht immer noch das Problem, dass der Gradient verschwindet, wenn der Eingabewert groß oder klein ist.
  2. Rechenkomplexität: Ähnlich wie Sigmoid umfasst auch Tanh exponentielle Operationen und weist eine hohe Rechenkomplexität auf.
Anwendbare Szene:
  1. Besser als Sigmoid in Szenarien, die eine nullzentrierte Ausgabe erfordern.
  2. Wird häufig in rekurrenten neuronalen Netzen (RNN) und langen Kurzzeitgedächtnisnetzen (LSTM) verwendet.
  3. Wird in einigen Szenarien verwendet, in denen eine normalisierte Ausgabe wichtig ist.
Verbesserung und Vergleich:

Die Tanh-Funktion kann als verbesserte Version der Sigmoid-Funktion angesehen werden. Die Hauptverbesserung liegt in der Nullzentrierung der Ausgabe. Durch diese Funktion ist Tanh in vielen Situationen leistungsfähiger als Sigmoid, insbesondere in tiefen Netzwerken. Im Vergleich zu Funktionen wie ReLU, die später erschienen, besteht bei Tanh jedoch immer noch das Problem des Verschwindens des Gradienten, was die Leistung des Modells in sehr tiefen Netzwerken beeinträchtigen kann.
Die beiden klassischen Aktivierungsfunktionen Sigmoid und Tanh spielten in den Anfängen des Deep Learning eine wichtige Rolle, und ihre Eigenschaften und Einschränkungen förderten auch die Entwicklung nachfolgender Aktivierungsfunktionen. Obwohl sie in vielen Szenarien durch aktualisierte Aktivierungsfunktionen ersetzt wurden, haben sie immer noch ihren einzigartigen Anwendungswert bei bestimmten Aufgaben und Netzwerkstrukturen.

3. ReLU und seine Varianten

3.1 ReLU (gleichgerichtete lineare Einheit)

Der Vorschlag der ReLU-Funktion ist ein wichtiger Meilenstein in der Entwicklung von Aktivierungsfunktionen. Sein mathematischer Ausdruck ist einfach:
ReLU ( x ) = max ⁡ ( 0 , x ) text{ReLU}(x) = max(0, x)ReLU(X)=max(0,X)
bild.png

Funktionen und Vorteile:
  1. Die Berechnung ist einfach: Die Rechenkomplexität von ReLU ist viel geringer als bei Sigmoid und Tanh, was sich positiv auf die Beschleunigung des Netzwerktrainings auswirkt.
  2. Der Abschwächungsgradient verschwindet: Für positive Eingaben ist der Gradient von ReLU immer 1, was das Problem des verschwindenden Gradienten in tiefen Netzwerken effektiv lindert.
  3. spärliche Aktivierung: ReLU kann die Ausgabe eines Teils der Neuronen auf 0 setzen, was zu einem spärlichen Ausdruck des Netzwerks führt, was bei bestimmten Aufgaben von Vorteil ist.
  4. biologische Erklärung: Die einseitigen Hemmeigenschaften von ReLU ähneln dem Verhalten biologischer Neuronen.
Nachteile und Einschränkungen:
  1. „Dead ReLU“-Problem: Wenn die Eingabe negativ ist, ist der Gradient Null, was zu einer dauerhaften Deaktivierung des Neurons führen kann.
  2. Mittenausgang ungleich Null: Die Ausgaben von ReLU sind alle nicht negative Werte, was sich auf den Lernprozess der nächsten Ebene auswirken kann.
Anwendbare Szene:
  1. Wird häufig in tiefen Faltungs-Neuronalen Netzen (wie ResNet, VGG) verwendet.
  2. Geeignet für die meisten Feedforward-Neuronalen Netze.
Vergleich mit anderen Funktionen:

Im Vergleich zu Sigmoid und Tanh weist ReLU in tiefen Netzwerken erhebliche Vorteile auf, hauptsächlich im Hinblick auf die Trainingsgeschwindigkeit und die Abschwächung des Verschwindens des Gradienten. Das Problem des „toten ReLU“ hat Forscher jedoch dazu veranlasst, verschiedene verbesserte Versionen vorzuschlagen.

3.2 Undichtes ReLU

Um das „Tod“-Problem von ReLU zu lösen, wurde Leaky ReLU vorgeschlagen:
Leaky ReLU ( x ) = { x , wenn x > 0 α x , wenn x ≤ 0 text{Leaky ReLU}(x) ={X,WennX>0αX,WennX0 Undichtes ReLU(X)={ X,αx,WennX>0WennX0
In, α alphaα ist eine kleine positive Konstante, normalerweise 0,01.
bild.png

Funktionen und Vorteile:
  1. Linderung des „toten ReLU“-Problems: Behalten Sie immer noch einen kleinen Gradienten bei, wenn die Eingabe negativ ist, um eine vollständige Deaktivierung von Neuronen zu vermeiden.
  2. Behalten Sie die Vorteile von ReLU: Behalten Sie die Linearität auf der positiven Halbachse bei, die Berechnung ist einfach und trägt dazu bei, das Verschwinden des Gradienten zu mildern.
Nachteile und Einschränkungen:
  1. Einführung von Hyperparametern α alphaαDie Auswahl der Werte erfordert eine Abstimmung, was die Komplexität des Modells erhöht.
  2. Mittenausgang ungleich Null: Ähnlich wie bei ReLU ist die Ausgabe immer noch nicht nullzentriert.
Anwendbare Szene:
  1. Als Alternative in Szenarien, in denen ReLU eine schlechte Leistung erbringt.
  2. Wird bei Aufgaben verwendet, bei denen einige negative Wertinformationen beibehalten werden müssen.

3.3 PReLU (Parametrisches ReLU)

PReLU ist eine Variante von Leaky ReLU, bei der die Steigung der negativen Halbachse ein lernbarer Parameter ist:
PReLU ( x ) = { x , wenn x > 0 α x , wenn x ≤ 0 text{PReLU}(x) ={X,WennX>0αX,WennX0 PRELU(X)={ X,αx,WennX>0WennX0
Hier α alphaα sind Parameter, die durch Backpropagation gelernt werden.
bild.png

Funktionen und Vorteile:
  1. adaptives Lernen: Die am besten geeignete negative Halbachsensteigung kann basierend auf den Daten automatisch gelernt werden.
  2. Leistungspotenzial: Bei einigen Aufgaben kann PReLU eine bessere Leistung erzielen als ReLU und Leaky ReLU.
Nachteile und Einschränkungen:
  1. Erhöhen Sie die Modellkomplexität: Die Einführung zusätzlicher lernbarer Parameter erhöht die Komplexität des Modells.
  2. Mögliche Überanpassung: In einigen Fällen kann es zu einer Überanpassung kommen, insbesondere bei kleinen Datensätzen.
Anwendbare Szene:
  1. Deep-Learning-Aufgaben für große Datensätze.
  2. Szenarien, die adaptive Aktivierungsfunktionen erfordern.

3.4 ELU (Exponential-Linear-Einheit)

ELU versucht, die Vorteile von ReLU und der Verarbeitung negativer Eingaben zu kombinieren. Sein mathematischer Ausdruck ist:
ELU ( x ) = { x , wenn x > 0 α ( ex − 1 ) , wenn x ≤ 0 text{ELU}(x) ={X,WennX>0α(tX1),WennX0 ELU(X)=