Normalisierung
Entdecken Sie, wie Normalisierung das Modelltraining und die Genauigkeit verbessert. Erfahren Sie mehr über Min-Max-Skalierung, Z-Score-Standardisierung und deren Rolle in Ultralytics .
Die Normalisierung ist eine grundlegende Technik in der
Datenvorverarbeitung, bei der numerische Attribute auf einen Standardbereich neu skaliert werden
. Im Zusammenhang mit
maschinellem Lernen (ML) enthalten Datensätze häufig
Merkmale mit unterschiedlichen Skalen – wie beispielsweise Altersspannen (0–100) im Vergleich zu Einkommensniveaus (0–100.000). Wenn diese
Unterschiede nicht behandelt werden, kann dies dazu führen, dass der
Optimierungsalgorithmus zu größeren Werten tendiert
, was zu einer langsameren Konvergenz und einer suboptimalen Leistung führt. Durch die Normalisierung der Daten stellen Ingenieure sicher,
dass jedes Merkmal proportional zum Endergebnis beiträgt, sodass
neuronale Netze effizienter lernen können.
Übliche Normalisierungstechniken
Es gibt mehrere Standardmethoden zur Datentransformation, die jeweils für unterschiedliche Verteilungen und Algorithmusanforderungen geeignet sind
.
-
Min-Max-Skalierung:
Dies ist die intuitivste Form der Normalisierung. Dabei werden die Daten auf einen festen Bereich, in der Regel [0, 1], neu skaliert. Diese
Transformation wird durchgeführt, indem der Minimalwert subtrahiert und durch den Bereich (Maximum minus Minimum) dividiert wird. Sie
wird häufig in der
Bildverarbeitung
verwendet, wo die Pixelintensitäten bekanntermaßen zwischen 0 und 255 liegen.
-
Z-Score-Standardisierung: Obwohl der Begriff oft
synonym mit Normalisierung verwendet wird, transformiert die Standardisierung Daten speziell so, dass sie einen Mittelwert von 0 und eine
Standardabweichung von 1 haben. Dies ist besonders nützlich, wenn die Daten einer
Gaußschen Verteilung folgen, und ist unerlässlich für
Algorithmen wie
Support Vector Machines (SVM), die
von normalverteilten Daten ausgehen.
-
Log-Skalierung:
Bei Daten, die extreme Ausreißer enthalten oder einer Potenzgesetzverteilung folgen, kann durch Anwendung einer logarithmischen Transformation
der Wertebereich komprimiert werden. Dadurch wird die Verteilung für die
Inferenz-Engine besser handhabbar, sodass sie diese effektiv interpretieren kann,
ohne durch massive Wertespitzen verzerrt zu werden.
Anwendungsfälle in der Praxis
Die Normalisierung ist ein Standardschritt in den Pipelines von Hochleistungs-KI-Systemen in verschiedenen Branchen.
-
Computer Vision (CV): Bei Aufgaben wie der
Objekterkennung und der
Bildklassifizierung bestehen digitale Bilder aus
Pixelwerten zwischen 0 und 255. Die direkte Eingabe dieser großen Ganzzahlen in ein Netzwerk kann den
Gradientenabstieg verlangsamen. Ein standardmäßiger Vorverarbeitungsschritt
besteht darin, die Pixelwerte durch 255,0 zu dividieren, um sie auf den Bereich [0, 1] zu normalisieren. Diese Vorgehensweise gewährleistet konsistente
Eingaben für fortschrittliche Modelle wie YOLO26 und verbessert die Trainingsstabilität
auf der Ultralytics .
-
Medizinische Bildanalyse: Medizinische Scans, wie sie beispielsweise in der
KI im Gesundheitswesen verwendet werden, stammen oft von
verschiedenen Geräten mit unterschiedlichen Intensitätsskalen. Die Normalisierung stellt sicher, dass die Pixelintensitäten eines MRT- oder CT-Scans
zwischen verschiedenen Patienten und Geräten vergleichbar sind. Diese Konsistenz ist entscheidend für eine genaue
Tumorerkennung,
da sich das Modell so auf strukturelle Anomalien statt auf Helligkeitsunterschiede konzentrieren kann.
Unterscheidung von verwandten Konzepten
Es ist wichtig, die Normalisierung von ähnlichen Begriffen der Vorverarbeitung und Architektur im Deep
Learning zu unterscheiden.
-
vs. Batch-Normalisierung:
Die Datennormalisierung ist ein Vorverarbeitungsschritt, der auf den rohen Eingabedatensatz angewendet wird, bevor dieser in das Netzwerk gelangt.
Im Gegensatz dazu arbeitet die Batch-Normalisierung intern zwischen den Schichten im gesamten Netzwerk während des
Modelltrainings. Sie normalisiert die Ausgabe einer vorherigen
Aktivierungsschicht, um den Lernprozess zu stabilisieren.
-
vs. Bildvergrößerung:
Während die Normalisierung die Skalierung der Pixelwerte verändert, verändert die Vergrößerung den Inhalt oder die
Geometrie des Bildes (z. B. durch Spiegeln, Drehen oder Ändern der Farben), um die Vielfalt des Datensatzes zu erhöhen. Tools wie
Albumentations werden für die Vergrößerung verwendet,
während die Normalisierung eine mathematische Skalierungsoperation ist.
Beispiel für die Umsetzung
In der Bildverarbeitung ist die Normalisierung oft der erste Schritt in der Pipeline. Die folgenden
Python Beispiel zeigt, wie Bilddaten manuell mit der
NumPy normalisiert werden können – ein Vorgang, der während des Trainings automatisch im
Ultralytics -Datenlader erfolgt.
import numpy as np
# Simulate a 2x2 pixel image with values ranging from 0 to 255
raw_image = np.array([[0, 255], [127, 64]], dtype=np.float32)
# Apply Min-Max normalization to scale values to [0, 1]
# This standardizes the input for the neural network
normalized_image = raw_image / 255.0
print(f"Original Range: {raw_image.min()} - {raw_image.max()}")
print(f"Normalized Range: {normalized_image.min()} - {normalized_image.max()}")