Direkt zum Inhalt

Ein Einsteigerhandbuch für die gleichgerichtete Lineareinheit (ReLU)

Entdecke die Grundlagen einer der beliebtesten Aktivierungsfunktionen für neuronale Netze
Aktualisierte 28. Jan. 2025  · 11 Min. Lesezeit

Aktivierungsfunktionen wie die Rectified Linear Unit (ReLU) sind ein Eckpfeiler moderner neuronaler Netze. Ohne sie wären viele reale KI-Anwendungen - von der Bilderkennung bis zu Empfehlungssystemen - nicht möglich. In diesem Leitfaden werden die Grundlagen von ReLU, seine Vorteile, Grenzen und die Umsetzung erläutert.

ReLU Grundlagen

Einige der leistungsfähigsten Anwendungen von KI wären ohne künstliche neuronale Netze nicht möglich. Neuronale Netze sind Computermodelle, die vom menschlichen Gehirn inspiriert sind. Diese Netzwerke bestehen aus miteinander verbundenen Knotenpunkten oder "Neuronen", die zusammenarbeiten, um Informationen zu verarbeiten und Entscheidungen zu treffen. Was ein neuronales Netzwerk "tief" macht, ist die Anzahl der Schichten zwischen dem Eingang und dem Ausgang. Ein tiefes neuronales Netzwerk hat mehrere Schichten, wodurch es komplexere Merkmale lernen und genauere Vorhersagen treffen kann.

Tiefes neuronales Netzwerk

Tiefes neuronales Netzwerk. Quelle: DataCamp

Diese Modelle sind jedoch viel mehr als einfache Schichten. Auch andere Komponenten sind wichtig, damit neuronale Netze ihre Wirkung entfalten können. 

Eine dieser Komponenten sind Aktivierungsfunktionen. Du kannst Aktivierungsfunktionen als Entscheidungsträger sehen; sie bestimmen, welche Informationen an die nächste Schicht weitergegeben werden sollen, und sorgen so für eine neue Ebene der Komplexität, die es neuronalen Netzen ermöglicht, differenzierte Entscheidungen zu treffen.

Hier stellen wir eine der beliebtesten und am häufigsten verwendeten Aktivierungsfunktionen vor: Rectified Linear Unit (ReLU). Wir erklären die Grundlagen dieser Aktivierungsfunktion und einige ihrer Varianten, ihre Vorteile und Grenzen und wie man sie mit Pytorch implementiert. Weiter lesen?

Was sind Aktivierungsfunktionen?

Aktivierungsfunktionen sind ein wesentlicher Baustein neuronaler Netze. Sie wandeln das Eingangssignal eines Knotens in einem neuronalen Netz in ein Ausgangssignal um, das dann an die nächste Schicht weitergegeben wird. Ohne Aktivierungsfunktionen wären neuronale Netze darauf beschränkt, nur lineare Beziehungen zwischen Eingaben und Ausgaben zu modellieren, zum Beispiel durch Matrixmultiplikation.

Die meisten realen Daten können jedoch nicht mit linearen Werten modelliert werden. Nichtlinearitäten erfassen Muster, wie z. B., dass sich der Übergang von null auf ein Kind anders auf deine Bankgeschäfte auswirken kann als der Übergang von drei auf vier Kinder. Hätten neuronale Netze keine Aktivierungsfunktionen, könnten sie die komplexen nichtlinearen Muster, die in der realen Welt vorkommen, nicht lernen.

Lineare und nichtlineare Funktionen

Lineare und nichtlineare Funktionen. Quelle: DataCamp

Aktivierungsfunktionen ermöglichen es neuronalen Netzen, Beziehungen zu lernen, indem sie nichtlineare Verhaltensweisen einführen. Mit anderen Worten: Aktivierungsfunktionen schaffen einen numerischen Schwellenwert, um zu entscheiden, ob ein Neuron aktiviert werden soll, und bieten damit ein Maß an Flexibilität, das für neuronale Netze zur Modellierung komplexer und differenzierter Daten entscheidend ist.

Was ist ReLU?

Eine der beliebtesten und am weitesten verbreiteten Aktivierungsfunktionen ist ReLU (rectified linear unit). Wie bei anderen Aktivierungsfunktionen sorgt sie für eine Nichtlinearität des Modells und damit für eine bessere Rechenleistung. 

Die ReLU-Aktivierungsfunktion hat die Form:

f(x) = max(0, x)

Die ReLU-Funktion gibt das Maximum zwischen ihrer Eingabe und Null aus, wie die Grafik zeigt. Bei positiven Eingaben ist die Ausgabe der Funktion gleich der Eingabe. Bei streng negativen Ausgaben ist die Ausgabe der Funktion gleich Null.

Rectified Linear Unit (ReLU) Aktivierungsfunktion.

Rectified Linear Unit (ReLU) Aktivierungsfunktion. Quelle: DataCamp

Vorteile der Verwendung von ReLU

Einer der wichtigsten Vorteile von ReLu ist, dass es hilft, das Problem des verschwindenden Gradienten zu entschärfen. Das Problem des verschwindenden Gradienten ist eine Herausforderung, die beim Training tiefer neuronaler Netze mit Backpropagation auftritt. Das passiert, wenn der Gradient, der zur Aktualisierung der Gewichte des Netzes verwendet wird, sehr klein wird oder "verschwindet", wenn er sich durch das Netz zurückbewegt. Dadurch werden die Gewichte nicht richtig aktualisiert, was den Lernprozess verlangsamen oder stoppen kann. Eine vollständige Erklärung der Probleme mit dem verschwindenden Gradienten findest du in unserem Kurs Einführung in Deep Learning in PyTorch.

Da die ReLU-Funktion keine Obergrenze hat und die Gradienten bei hohen Werten von x nicht gegen Null konvergieren, überwindet ReLU das Problem des verschwindenden Gradienten, das bei der Verwendung von Sigmoid- und Softmax-Aktivierungsfunktionen auftritt. In unserem separaten Artikel findest du weitere beliebte Aktivierungsfunktionen.

Da ReLU für alle negativen Eingaben den Wert Null ausgibt, führt es natürlich zu spärlichen Aktivierungen. Mit anderen Worten: Da beim Training nur eine Teilmenge der Neuronen aktiviert wird, führt dies zu einer effizienteren Berechnung.

Dieses Verhalten ermöglicht es den Netzwerken, auf viele Ebenen zu skalieren, ohne dass der Rechenaufwand im Vergleich zu komplexeren Funktionen wie tanh oder sigmoid erheblich steigt. Damit ist ReLU die häufigste Standardaktivierungsfunktion und in der Regel eine gute Wahl, wenn du dir nicht sicher bist, welche Aktivierungsfunktion du für dein Modell verwenden sollst.

ReLU in PyTorch implementieren

Die Implementierung von ReLU in PyTorch ist ziemlich einfach. Du musst nur die Funktion nn.ReLU() verwenden, um die Funktion zu erstellen und sie zu deinem Modell hinzuzufügen.

Im folgenden Beispiel wenden wir eine ReLU-Funktion auf ein einfaches Neuron an und berechnen den Gradienten im Falle eines negativen Wertes.

# Create a ReLU function with PyTorch
relu_pytorch = nn.ReLU()

# Apply your ReLU function on x, and calculate gradients
x = torch.tensor(-1.0, requires_grad=True)
y = relu_pytorch(x)
y.backward()

# Print the gradient of the ReLU function for x
gradient = x.grad
print(gradient)
>>> tensor(0.)

Beachte, dass der Eingabewert -1 war und die ReLU-Funktion Null zurückgegeben hat. Erinnere dich daran, dass für negative Werte von x die Ausgabe von ReLU immer Null ist und auch der Gradient überall Null ist, weil sich die Funktion für jeden negativen Wert von x nicht ändert.

Varianten von ReLU

ReLU ist wohl die am häufigsten verwendete Aktivierungsfunktion, aber manchmal funktioniert sie vielleicht nicht für das Problem, das du zu lösen versuchst. Zum Glück haben Deep-Learning-Forscher einige ReLU-Varianten entwickelt, die es wert sein könnten, in deinen Modellen getestet zu werden. Hier sind die beliebtesten Alternativen

Leaky ReLU

Leaky ReLU hat die Form:

f(x) = max(0,01x, x)

Das Ziel von Leaky Relu ist es, das sogenannte "sterbende ReLU" Problem anzugehen. Wir haben bereits erwähnt, dass ReLU bei negativen Eingaben immer Nullwerte ausgibt. In diesem Fall werden die Gradienten von Knoten mit negativen Werten für den Rest des Trainings auf Null gesetzt, wodurch dieser Parameter nicht mehr lernen kann. Um diese Herausforderung zu meistern, verwendet Leaky ReLU einen Multiplikationsfaktor für negative Eingaben. Infolgedessen ist die Funktion nicht null, sondern hat eine kleine negative Steigung, wie in der folgenden Grafik dargestellt:

Leaky ReLU Aktivierungsfunktion.

Leaky ReLU Aktivierungsfunktion. Quelle: DataCamp

Parametric ReLU (PReLU)

Leaky ReLU bietet einen Multiplikationsfaktor, um das Problem des sterbenden ReLUs zu überwinden. Parametric ReLU (PReLU) geht einen Schritt weiter und bietet einen lernbaren Parameter (a) anstelle einer einfachen Konstante, um den Wert negativer Eingaben zu berechnen: 

f(x) = max(ax, x)

PReLU bietet zwar eine Verbesserung gegenüber ReLU und Leaky ReLU in Bezug auf Genauigkeit und Anpassungsfähigkeit (es eignet sich besonders gut für die Erfassung von Mustern in komplexen Aufgaben wie Computer Vision oder Spracherkennung), aber es erhöht auch die Komplexität des Modells. Das Training dieses Parameters kann zeitaufwändig sein und erfordert eine sorgfältige Abstimmung und Regularisierung. 

Parametrische ReLU-Aktivierungsfunktion

Parametrische ReLU-Aktivierungsfunktion. Quelle: DataCamp

Exponentiale lineare Einheit (ELU).

Eine weitere gute Alternative zu ReLU ist die Exponential Linear Unit (ELU), die mit der folgenden Formel arbeitet:

Im Gegensatz zu ReLU haben ELUs negative Werte, was es ihnen ermöglicht, die Aktivierungen der mittleren Einheiten näher an den Nullpunkt zu bringen, wodurch sie weniger anfällig für verschwindende Gradienten sind. Außerdem führen mittlere Aktivierungen, die näher bei Null liegen, zu schnellerem Lernen und Konvergenz.

ELU-Aktivierungsfunktion

ELU-Aktivierungsfunktion. Quelle: DataCamp

Häufige Probleme mit ReLU

ReLU ist eine großartige Aktivierungsfunktion, aber sie ist kein Allheilmittel. ReLU kann insbesondere unter zwei bekannten Problemen leiden.

Das erste ist das sterbende ReLU-Problem. Wie bereits erwähnt, gibt ReLU bei negativen Eingaben immer Nullwerte aus. Das kann dazu führen, dass die Gewichte so aktualisiert werden, dass das Neuron nie wieder bei einem Datenpunkt aktiviert wird. 

Wenn das passiert, wird der Gradient, der durch die Einheit fließt, von diesem Punkt an für immer gleich Null sein, sodass dieser Parameter nicht mehr lernen kann. ReLU-Varianten, wie Leaky ReLU und PReLU, wurden entwickelt, um dieses Problem zu lösen.

Instabile Gefälle können auch auf der anderen Seite auftreten. Das Problem der explodierenden Gradienten tritt auf, wenn die Gradienten immer größer werden, was zu großen Parameteraktualisierungen und divergierendem Training führt. 

In diesem Fall häufen sich größere Fehlergradienten an, und die Modellgewichte werden zu groß. Dieses Problem kann zu längeren Trainingszeiten und schlechter Modellleistung führen. Es gibt verschiedene Techniken, um das Problem der explodierenden Gradienten zu lösen, darunter Gradientenbeschneidung und Stapelnormalisierung. 

Anwendungen von ReLU in neuronalen Netzen

Dank ihrer einzigartigen Eigenschaften ist ReLU zur beliebtesten Aktivierungsfunktion geworden. Sie ist die Standardoption in Frameworks wie PyTorch und TensorFlow und wird in vielen Deep-Learning-Anwendungen eingesetzt:

  • Bilderkennung: ReLU ist eine wichtige Komponente in Faltungsneuronalen Netzen (CNNs), spezialisierten Netzen, die häufig zur Merkmalsextraktion und Bildverarbeitung eingesetzt werden.
  • NLP: ReLU wird auch bei vielen Aufgaben der natürlichen Sprachverarbeitung (NLP ) eingesetzt. Diese Aktivierungsfunktion wurde erfolgreich eingesetzt, um Nichtlinearität in Bereichen wie Spracherkennung und Audioverarbeitung zu erreichen.
  • Empfehlungssysteme: ReLU wird in Empfehlungssystemen eingesetzt, um personalisierte Empfehlungen zu geben. 

Fazit

Wir haben die zentrale Rolle der ReLU-Aktivierungsfunktionen beim Training von neuronalen Netzen untersucht. Trotz ihrer Einfachheit ist ReLU eine der effektivsten Aktivierungsfunktionen, die es gibt, und wohl auch die beliebteste. 

Mit der weiteren Entwicklung neuronaler Netze wird sich die Erforschung von Aktivierungsfunktionen zweifellos ausweiten und möglicherweise auch neue Formen umfassen, die spezifische Herausforderungen neuer Architekturen angehen. 

Die sorgfältige Auswahl von Aktivierungsfunktionen ist ein Balanceakt - eine Mischung aus wissenschaftlichem Verständnis und künstlerischer Intuition - der die Leistung neuronaler Netze erheblich beeinflussen kann. 

Möchtest du mehr über Deep Learning erfahren? Schau dir unsere speziellen Materialien an und mach dich bereit für eine der transformativsten Technologien in der KI:

ReLU FAQs

Was unterscheidet ReLU von Sigmoid- und tanh-Aktivierungsfunktionen?

ReLU unterscheidet sich von sigmoid und tanh, weil es die Ausgabe nicht in einen festen Bereich komprimiert (z. B. [0,1] für sigmoid oder [-1,1] für tanh). Stattdessen gibt er die Eingabe bei positiven Werten direkt aus und bei negativen Werten null. Diese Einfachheit macht ReLU rechnerisch effizient und hilft, das Problem des verschwindenden Gradienten zu lösen, das häufig bei Sigmoid und Tanh auftritt.

Wann sollte ich ReLU gegenüber anderen Aktivierungsfunktionen verwenden?

ReLU ist eine gute Standardwahl für die meisten versteckten Schichten in tiefen neuronalen Netzen, vor allem wenn du große Modelle trainierst oder Datensätze mit komplexen, nicht-linearen Beziehungen bearbeitest. Wenn du jedoch auf Probleme wie das "sterbende ReLU"-Problem stößt oder dein Modell nicht die gewünschte Leistung erbringt, solltest du Varianten wie Leaky ReLU, PReLU oder ELU ausprobieren.

Kann ReLU in der Ausgabeschicht eines neuronalen Netzes verwendet werden?

ReLU wird in der Regel nicht in der Ausgabeschicht eines neuronalen Netzes verwendet, da sein Bereich unbegrenzt ist, was die Interpretation der Ausgabe schwierig machen kann. Zu den gängigen Optionen für Ausgabeschichten gehören:

  • Sigmoid: Für binäre Klassifizierungsprobleme.
  • Softmax: Für die Mehrklassen-Klassifizierung.
  • Lineare Aktivierung: Für Regressionsaufgaben.

Wie trägt ReLU zu spärlichen Aktivierungen bei, und warum ist das wichtig?

ReLU trägt zu spärlichen Aktivierungen bei, indem es für alle negativen Eingaben Null ausgibt, was bedeutet, dass nur eine Teilmenge der Neuronen zu jeder Zeit aktiv ist. Spärliche Aktivierungen reduzieren den Rechenaufwand, verhindern eine Überanpassung und ermutigen das Netz, sich auf die wichtigsten Merkmale der Daten zu konzentrieren.

Welche praktischen Tipps gibt es für die Behebung von Problemen, die durch ReLU in der Ausbildung verursacht werden?

Hier sind ein paar Tipps:

  • Überprüfe das Problem mit dem sterbenden ReLU: Beobachte deine Aktivierungen während des Trainings. Wenn eine große Anzahl von Neuronen durchgehend Nullen ausgibt, solltest du Leaky ReLU oder PReLU verwenden.
  • Verwende die Batch-Normalisierung: Dies kann helfen, Gradienten zu stabilisieren und Probleme wie explodierende Gradienten zu vermeiden, die auftreten können, wenn ReLU große positive Werte ausgibt.
  • Gradient clipping: Wenn explodierende Gradienten auftreten, kann das Clipping die Größe des Gradienten auf einen bestimmten Wert begrenzen und so die Stabilität verbessern.
  • Experimentiere mit der Gewichtsinitialisierung: Die richtige Initialisierung (z. B. He-Initialisierung) kann die Wahrscheinlichkeit von Problemen wie toten Neuronen oder langsamer Konvergenz verringern.

Javier Canales Luna's photo
Author
Javier Canales Luna
LinkedIn

Ich bin freiberufliche Datenanalystin und arbeite mit Unternehmen und Organisationen auf der ganzen Welt an Data-Science-Projekten zusammen. Ich bin auch Ausbilder für Data Science mit mehr als 2 Jahren Erfahrung. Ich schreibe regelmäßig datenwissenschaftliche Artikel in englischer und spanischer Sprache, von denen einige auf etablierten Websites wie DataCamp, Towards Data Science und Analytics Vidhya veröffentlicht wurden. Als Datenwissenschaftlerin mit einem Hintergrund in Politik- und Rechtswissenschaften ist es mein Ziel, an der Schnittstelle von Politik, Recht und Technologie zu arbeiten und die Macht der Ideen zu nutzen, um innovative Lösungen und Erzählungen voranzutreiben, die uns dabei helfen können, dringende Herausforderungen wie die Klimakrise anzugehen. Ich betrachte mich als Autodidakt, der ständig lernt und ein überzeugter Verfechter der Multidisziplinarität ist. Es ist nie zu spät, neue Dinge zu lernen.

Themen

Top DataCamp Kurse

Zertifizierung verfügbar

Kurs

Deep Learning für Fortgeschrittene mit PyTorch

4 hr
11.4K
Lerne grundlegende Deep Learning-Architekturen wie CNNs, RNNs, LSTMs und GRUs für die Modellierung von Bild- und Sequenzdaten kennen.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Mehr anzeigenMehr anzeigen