MNIST-Datensatz

Der MNIST (Modified National Institute of Standards and Technology)-Datensatz ist eine große Datenbank handgeschriebener Ziffern, die häufig für das Training verschiedener Bildverarbeitungssysteme und Machine-Learning-Modelle verwendet wird. Er wurde durch das „Neumischen“ der Stichproben aus den ursprünglichen Datensätzen des NIST erstellt und ist zu einem Standard für die Leistungsbewertung von Algorithmen zur Bildklassifizierung geworden.

Hauptmerkmale

  • MNIST enthält 60.000 Trainingsbilder und 10.000 Testbilder von handgeschriebenen Ziffern.
  • Der Datensatz besteht aus Graustufenbildern der Größe 28×28 Pixel.
  • Die Bilder sind normalisiert, um in eine 28×28-Pixel-Begrenzungsbox zu passen, und weisen eine Kantenglättung auf, wodurch Graustufen eingeführt werden.
  • MNIST wird im Bereich des Machine Learning häufig für Training und Tests eingesetzt, insbesondere für Aufgaben der Bildklassifizierung.

Datensatzstruktur

Der MNIST-Datensatz ist in zwei Teilmengen unterteilt:

  1. Trainingsset: Diese Teilmenge enthält 60.000 Bilder handgeschriebener Ziffern, die zum Trainieren von Machine-Learning-Modellen verwendet werden.
  2. Testdatensatz: Diese Teilmenge besteht aus 10.000 Bildern, die zum Testen und Bewerten der trainierten Modelle verwendet werden.

Zugriff auf den Datensatz

  • Originaldateien: Lade die gzip-Archive aus dem ursprünglichen MNIST-Archiv herunter, wenn du die Vorverarbeitung direkt kontrollieren möchtest.
  • Ultralytics Loader: Verwende data="mnist" (oder data="mnist160" für die unten aufgeführte Teilmenge) in deinem Befehl; der Datensatz wird dann automatisch heruntergeladen, in PNG konvertiert und zwischengespeichert.

Jedes Bild im Datensatz ist mit der entsprechenden Ziffer (0-9) gekennzeichnet, was ihn zu einem idealen Datensatz für überwachtes Lernen bei Klassifizierungsaufgaben macht.

Extended MNIST (EMNIST)

Extended MNIST (EMNIST) ist ein neuerer Datensatz, der vom NIST entwickelt und als Nachfolger von MNIST veröffentlicht wurde. Während MNIST nur Bilder von handgeschriebenen Ziffern enthielt, beinhaltet EMNIST alle Bilder aus der NIST Special Database 19, einer umfangreichen Datenbank mit handgeschriebenen Groß- und Kleinbuchstaben sowie Ziffern. Die Bilder in EMNIST wurden nach demselben Verfahren in das gleiche 28×28-Pixel-Format konvertiert wie die MNIST-Bilder. Dementsprechend funktionieren Tools, die mit dem älteren, kleineren MNIST-Datensatz arbeiten, wahrscheinlich auch ohne Änderungen mit EMNIST.

Anwendungen

Der MNIST-Datensatz wird häufig zum Training und zur Evaluierung von Deep Learning-Modellen bei Bildklassifizierungsaufgaben verwendet, wie etwa Convolutional Neural Networks (CNNs), Support Vector Machines (SVMs) und verschiedenen anderen Machine-Learning-Algorithmen. Das einfache und gut strukturierte Format des Datensatzes macht ihn zu einer unverzichtbaren Ressource für Forscher und Anwender im Bereich Machine Learning und Computer Vision.

Einige gängige Anwendungen sind:

  • Benchmarking neuer Klassifizierungsalgorithmen
  • Bildungszwecke zur Vermittlung von Machine-Learning-Konzepten
  • Prototyping von Bilderkennungssystemen
  • Testen von Modelloptimierungstechniken

Verwendung

Um ein CNN-Modell auf dem MNIST-Datensatz für 100 Epochen mit einer Bildgröße von 28×28 zu trainieren, kannst du die folgenden Code-Schnipsel verwenden. Eine umfassende Liste der verfügbaren Argumente findest du auf der Seite Training.

Trainingsbeispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="mnist", epochs=100, imgsz=28)

Beispielbilder und Annotationen

Der MNIST-Datensatz enthält Graustufenbilder handgeschriebener Ziffern und bietet eine gut strukturierte Datenbasis für Bildklassifizierungsaufgaben. Hier sind einige Beispiele für Bilder aus dem Datensatz:

MNIST-Beispiele für die Klassifizierung handgeschriebener Ziffern

Das Beispiel zeigt die Vielfalt und Komplexität der handgeschriebenen Ziffern im MNIST-Datensatz und unterstreicht, wie wichtig ein vielfältiger Datensatz für das Training robuster Bildklassifizierungsmodelle ist.

Zitate und Danksagungen

Wenn du den MNIST-Datensatz in deiner Forschung oder Entwicklungsarbeit verwendest, zitiere bitte das folgende Paper:

Zitat
@article{lecun2010mnist,
         title={MNIST handwritten digit database},
         author={LeCun, Yann and Cortes, Corinna and Burges, CJ},
         journal={ATT Labs [Online]},
         volume={2},
         year={2010}
}

Wir möchten Yann LeCun, Corinna Cortes und Christopher J.C. Burges dafür danken, dass sie den MNIST-Datensatz als wertvolle Ressource für die Machine-Learning- und Computer-Vision-Forschungsgemeinschaft erstellt und gepflegt haben. Weitere Informationen über den MNIST-Datensatz und seine Ersteller findest du auf der Website zum MNIST-Datensatz.

MNIST160 Schnelle Tests

Benötigst du einen blitzschnellen Regressionstest? Ultralytics stellt auch data="mnist160" bereit, einen Ausschnitt mit 160 Bildern, der die ersten acht Stichproben jeder Ziffernklasse enthält. Er spiegelt die Verzeichnisstruktur von MNIST wider, sodass du die Datensätze austauschen kannst, ohne weitere Argumente ändern zu müssen:

Trainingsbeispiel mit MNIST160
yolo classify train data=mnist160 model=yolo26n-cls.pt epochs=5 imgsz=28

Verwende diese Teilmenge für CI-Pipelines oder Plausibilitätsprüfungen, bevor du dich auf den vollständigen Datensatz mit 70.000 Bildern festlegst.

FAQ

Was ist der MNIST-Datensatz und warum ist er im Machine Learning wichtig?

Der MNIST-Datensatz, oder Modified National Institute of Standards and Technology-Datensatz, ist eine weit verbreitete Sammlung handgeschriebener Ziffern, die für das Training und Testen von Bildklassifizierungssystemen konzipiert wurde. Er umfasst 60.000 Trainingsbilder und 10.000 Testbilder, die alle Graustufenbilder mit einer Größe von 28×28 Pixeln sind. Die Bedeutung des Datensatzes liegt in seiner Rolle als Standard-Benchmark für die Evaluierung von Bildklassifizierungsalgorithmen, was Forschern und Ingenieuren hilft, Methoden zu vergleichen und Fortschritte auf diesem Gebiet nachzuverfolgen.

Wie kann ich Ultralytics YOLO verwenden, um ein Modell auf dem MNIST-Datensatz zu trainieren?

Um ein Modell mit Ultralytics YOLO auf dem MNIST-Datensatz zu trainieren, kannst du diese Schritte befolgen:

Trainingsbeispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="mnist", epochs=100, imgsz=28)

Eine detaillierte Liste der verfügbaren Trainingsargumente findest du auf der Training-Seite.

Was ist der Unterschied zwischen den Datensätzen MNIST und EMNIST?

Der MNIST-Datensatz enthält nur handgeschriebene Ziffern, während der Extended MNIST (EMNIST)-Datensatz sowohl Ziffern als auch Groß- und Kleinbuchstaben enthält. EMNIST wurde als Nachfolger von MNIST entwickelt und verwendet dasselbe 28×28-Pixel-Format für die Bilder, was es kompatibel mit Tools und Modellen macht, die für den ursprünglichen MNIST-Datensatz konzipiert wurden. Diese größere Bandbreite an Zeichen in EMNIST macht ihn für eine Vielzahl von Machine-Learning-Anwendungen nützlich.

Kann ich die Ultralytics Platform nutzen, um Modelle auf benutzerdefinierten Datensätzen wie MNIST zu trainieren?

Ja, du kannst die Ultralytics Platform verwenden, um Modelle auf benutzerdefinierten Datensätzen wie MNIST zu trainieren. Die Ultralytics Platform bietet eine benutzerfreundliche Oberfläche zum Hochladen von Datensätzen, zum Trainieren von Modellen und zur Verwaltung von Projekten, ohne dass tiefgreifende Programmierkenntnisse erforderlich sind. Weitere Details zum Einstieg findest du auf der Seite Ultralytics Platform Quickstart.

Wie schneidet MNIST im Vergleich zu anderen Datensätzen zur Bildklassifizierung ab?

MNIST ist einfacher als viele moderne Datensätze wie CIFAR-10 oder ImageNet, was ihn ideal für Anfänger und schnelle Experimente macht. Während komplexere Datensätze größere Herausforderungen mit Farbbildern und vielfältigen Objektkategorien bieten, bleibt MNIST aufgrund seiner Einfachheit, der geringen Dateigröße und seiner historischen Bedeutung bei der Entwicklung von Machine-Learning-Algorithmen wertvoll. Für fortgeschrittene Klassifizierungsaufgaben solltest du Fashion-MNIST in Betracht ziehen, das dieselbe Struktur beibehält, aber Kleidungsstücke anstelle von Ziffern enthält.

Kommentare