Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Leaky ReLU

Leaky ReLU gibt negative Eingaben mit einer kleinen Steigung, oft 0,01, weiter. Dadurch fließen Gradienten weiterhin und Neuronen vermeiden das Problem sterbender ReLU-Einheiten.

Leaky ReLU (undichte gleichgerichtete lineare Einheit) ist eine Aktivierungsfunktion, die eine positive Eingabe unverändert zurückgibt und eine negative Eingabe mit einer kleinen festen Steigung, etwa 0,01, multipliziert. Sie verändert die standardmäßige ReLU, die für jede negative Eingabe null ausgibt: Negative Werte erzeugen weiterhin eine kleine Ausgabe und, was wichtiger ist, einen von null verschiedenen Gradienten bei der Backpropagation. Andrew Maas, Awni Hannun und Andrew Ng beschrieben die Funktion 2013 in einer Studie zu Rectifier-Aktivierungen in akustischen Modellen für die Spracherkennung und verwendeten eine Steigung von 0,01. Sie kommt in Deep-Learning-Modellen zum Einsatz, bei denen der Gradientenfluss wichtig ist, etwa in Diskriminatoren generativer adversarialer Netze, älteren YOLO-Objektdetektoren und neuronalen Verarbeitungseinheiten, die quantisierte Modelle mit stückweise linearen Aktivierungen ausführen.

So funktioniert Leaky ReLU#

Leaky ReLU berechnet f(x) = x für x > 0 und f(x) = αx für x ≤ 0, wobei die negative Steigung α ein fester Hyperparameter zwischen 0 und 1 ist. Die Ableitung beträgt bei positiven Eingaben 1 und bei negativen Eingaben α, sodass jede Eingabe einen Teil des Gradienten an die Gewichte zurückgibt, die sie erzeugt haben. Die übliche Steigung hängt von Quelle und Framework ab: PyTorchs nn.LeakyReLU verwendet standardmäßig 0,01, TensorFlows tf.nn.leaky_relu 0,2 und die Schicht LeakyReLU von Keras 0,3. Dieser Code leitet negative Eingaben durch ReLU und Leaky ReLU und berechnet jeweils den Gradienten:

import torch
from torch import nn

# Negative pre-activations, the inputs a ReLU unit turns into zeros
x = torch.tensor([-3.0, -1.0, -0.5], requires_grad=True)

for activation in (nn.ReLU(), nn.LeakyReLU(negative_slope=0.01)):
    y = activation(x)
    y.sum().backward()  # gradient that flows back toward the weights
    print(f"{activation}: output {y.detach().numpy()}, gradient {x.grad.numpy()}")
    x.grad = None

Der Code gibt ReLU(): output [0. 0. 0.], gradient [0. 0. 0.] und LeakyReLU(negative_slope=0.01): output [-0.03 -0.01 -0.005], gradient [0.01 0.01 0.01] aus. ReLU leitet von diesen Eingaben keinen Gradienten zurück, sodass Gradientenabstieg die Gewichte, die sie erzeugt haben, nicht verändern kann. Leaky ReLU leitet dagegen 1 % des vorgelagerten Gradienten zurück.

Das Problem der sterbenden ReLU#

Ein ReLU-Neuron stirbt, wenn sich seine Gewichte und sein Bias so weit verschieben, dass seine Voraktivierung für alle Eingaben in den Trainingsdaten negativ ist. Seine Ausgabe ist dann immer null, ebenso sein Gradient, und seine eingehenden Gewichte werden nie wieder aktualisiert. Das Neuron ist damit dauerhaft aus dem neuronalen Netz verloren. Eine hohe Lernrate oder eine starke negative Bias-Aktualisierung erhöht die Wahrscheinlichkeit dafür. Leaky ReLU behält auf der negativen Seite einen kleinen Gradienten bei. Ein Neuron, das in den negativen Bereich abdriftet, kann dadurch wieder zurückgeholt werden:

Das Problem der sterbenden ReLU unterscheidet sich vom Problem des verschwindenden Gradienten, bei dem Gradienten allmählich schrumpfen, wenn sie viele Schichten mit sättigenden Funktionen wie Sigmoid oder tanh durchlaufen.

  • ReLU: Gibt für negative Eingaben exakt null aus. Dadurch sind Aktivierungen spärlich und Berechnungen günstig, aber Neuronen können sterben. Leaky ReLU gibt die exakte Sparsität zugunsten eines überall vorhandenen Gradienten auf.
  • Parametrische ReLU (PReLU): Lernt die negative Steigung während des Trainings, typischerweise einen Wert pro Kanal, statt sie festzulegen. Kaiming He und Kollegen initialisierten die Steigung mit 0,25. Das ist auch der Standardwert von PyTorchs nn.PReLU.
  • SiLU und GELU: Glatte Kurven, die bei negativen Eingaben leicht unter null fallen und bei null keinen scharfen Knick haben. SiLU ist die Standardfunktion in modernen YOLO-Modellen, GELU ist bei Transformern verbreitet. Beide benötigen pro Wert eine Exponentialfunktion, während Leaky ReLU nur einen Vergleich und eine Multiplikation erfordert.

Einsatzbereiche von Leaky ReLU#

  • DCGAN-Diskriminatoren: Die DCGAN-Architektur verwendete in jeder Diskriminatorschicht Leaky ReLU mit einer Steigung von 0,2. Dadurch erhält der Generator auch für Bilder brauchbare Gradienten, die der Diskriminator ablehnt. Viele spätere GANs übernahmen diese Wahl.
  • Frühe YOLO-Detektoren: Das ursprüngliche YOLO verwendete in jeder Schicht außer der letzten Leaky ReLU mit einer Steigung von 0,1. Dasselbe galt für YOLOv2 und YOLOv3. YOLOv5 nutzte Leaky ReLU bis zur Version 4.0 vom Januar 2021, in der sie durch SiLU ersetzt wurde.
  • Graphen-Attention-Netze: Diese Graph-Neuronalen Netze wenden beim Bewerten, wie stark jeder Knoten seinen Nachbarn Aufmerksamkeit schenken soll, Leaky ReLU mit einer Steigung von 0,2 an.
  • Edge-AI-Beschleuniger: Ganzzahlige neuronale Verarbeitungseinheiten, die quantisierte Modelle ausführen, können eine stückweise lineare Aktivierungsfunktion in die vorhergehende Faltung integrieren. AMDs Xilinx DPU tut dies für ReLU und Leaky ReLU. Sigmoid und damit auch SiLU werden dagegen auf der Host-CPU ausgeführt.

YAML-Dateien für Ultralytics-YOLO-Modelle akzeptieren einen Schlüssel activation, der SiLU in jedem standardmäßigen Faltungsblock ersetzt. So kann YOLO26 mit activation: nn.LeakyReLU(0.1015625) trainiert werden, um der festen Steigung der DPU von 26/256 zu entsprechen.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens