Zum Inhalt springen

MNIST-Datensatz

Der MNIST-Datensatz (Modified National Institute of Standards and Technology) ist eine umfangreiche Datenbank handgeschriebener Ziffern, die häufig zum Training verschiedener Bildverarbeitungssysteme und Machine-Learning-Modelle verwendet wird. Er wurde durch das „Neu-Mischen“ der Stichproben aus den ursprünglichen NIST-Datensätzen erstellt und hat sich zu einem Benchmark für die Bewertung der Leistung von Bildklassifizierungsalgorithmen entwickelt.

Hauptmerkmale

  • MNIST enthält 60.000 Trainingsbilder und 10.000 Testbilder von handgeschriebenen Ziffern.
  • Der Datensatz umfasst Graustufenbilder der Größe 28×28 Pixel.
  • Die Bilder werden normalisiert, um in einen 28×28-Pixel-Bounding Box zu passen, und Anti-Aliasing wird angewendet, wodurch Graustufen eingeführt werden.
  • MNIST wird im Bereich des maschinellen Lernens häufig zum Training und Testen eingesetzt, insbesondere für Bildklassifizierungsaufgaben.

Dataset-Struktur

Der MNIST-Datensatz ist in zwei Untergruppen aufgeteilt:

  1. Trainingsdatensatz: Diese Teilmenge enthält 60.000 Bilder von handgeschriebenen Ziffern, die zum Trainieren von Modellen des maschinellen Lernens verwendet werden.
  2. Testdatensatz: Diese Teilmenge besteht aus 10.000 Bildern, die zum Testen und Benchmarking der trainierten Modelle verwendet werden.

Datensatzzugriff

  • Originaldateien: Laden Sie die gzip-Archive von Yann LeCuns MNIST-Seite herunter, wenn Sie die Vorverarbeitung direkt steuern möchten.
  • Ultralytics Ladefunktion: Verwenden Sie data="mnist" (oder data="mnist160" für die untenstehende Untermenge) in Ihrem Befehl und der Datensatz wird automatisch heruntergeladen, in PNG konvertiert und zwischengespeichert.

Jedes Bild im Datensatz ist mit der entsprechenden Ziffer (0-9) beschriftet, was es zu einem überwachten Lerndatensatz macht, der ideal für Klassifizierungsaufgaben ist.

Erweitertes MNIST (EMNIST)

Extended MNIST (EMNIST) ist ein neuerer Datensatz, der von NIST entwickelt und veröffentlicht wurde, um der Nachfolger von MNIST zu sein. Während MNIST nur Bilder von handgeschriebenen Ziffern enthielt, umfasst EMNIST alle Bilder aus der NIST Special Database 19, einer großen Datenbank handgeschriebener Groß- und Kleinbuchstaben sowie Ziffern. Die Bilder in EMNIST wurden im selben Verfahren in das gleiche 28×28-Pixel-Format konvertiert wie die MNIST-Bilder. Dementsprechend werden Tools, die mit dem älteren, kleineren MNIST-Datensatz arbeiten, wahrscheinlich unverändert mit EMNIST funktionieren.

Anwendungen

Der MNIST-Datensatz wird häufig zum Trainieren und Evaluieren von Deep-Learning-Modellen bei Bildklassifizierungsaufgaben eingesetzt, wie z. B. 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 Praktiker im Bereich des maschinellen Lernens und der Computer Vision.

Einige gängige Anwendungen sind:

  • Benchmarking neuer Klassifizierungsalgorithmen
  • Bildungszwecke zum Lehren von Konzepten des maschinellen Lernens
  • Prototyping von Bilderkennungssystemen
  • Testen von Modelloptimierungstechniken

Nutzung

Um ein CNN-Modell auf dem MNIST-Datensatz für 100 Epochen mit einer Bildgröße von 28×28 zu trainieren, können Sie die folgenden Code-Snippets verwenden. Eine umfassende Liste der verfügbaren Argumente finden Sie auf der Trainingsseite des Modells.

Trainingsbeispiel

from ultralytics import YOLO

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

# Train the model
results = model.train(data="mnist", epochs=100, imgsz=28)
# Start training from a pretrained *.pt model
yolo classify train data=mnist model=yolo11n-cls.pt epochs=100 imgsz=28

sample_images und Anmerkungen

Der MNIST-Datensatz enthält Graustufenbilder von handgeschriebenen Ziffern und bietet somit einen gut strukturierten Datensatz für Bildklassifizierungsaufgaben. Hier sind einige Beispiele von Bildern aus dem Datensatz:

Beispielbild des Datensatzes

Das Beispiel veranschaulicht die Vielfalt und Komplexität der handgeschriebenen Ziffern im MNIST-Datensatz und unterstreicht die Bedeutung eines vielfältigen Datensatzes für das Training robuster Bildklassifizierungsmodelle.

Zitate und Danksagungen

Wenn Sie den MNIST-Datensatz in Ihrer Forschungs- oder Entwicklungsarbeit verwenden, zitieren Sie bitte das folgende Paper:

@article{lecun2010mnist,
         title={MNIST handwritten digit database},
         author={LeCun, Yann and Cortes, Corinna and Burges, CJ},
         journal={ATT Labs [Online]. Available: http://yann.lecun.com/exdb/mnist},
         volume={2},
         year={2010}
}

Wir möchten Yann LeCun, Corinna Cortes und Christopher J.C. Burges für die Erstellung und Pflege des MNIST-Datensatzes als wertvolle Ressource für die Forschungs-Community in den Bereichen maschinelles Lernen und Computer Vision würdigen. Weitere Informationen zum MNIST-Datensatz und seinen Erstellern finden Sie auf der Website des MNIST-Datensatzes.

MNIST160 Schnelltests

Benötigen Sie einen blitzschnellen Regressionstest? Ultralytics bietet auch data="mnist160", ein 160-Bild-Slice, das die ersten acht Beispiele aus jeder Ziffernklasse enthält. Es spiegelt die MNIST-Verzeichnisstruktur wider, sodass Sie Datensätze austauschen können, ohne andere Argumente zu ändern:

Trainingsbeispiel mit MNIST160

yolo classify train data=mnist160 model=yolo11n-cls.pt epochs=5 imgsz=28

Verwenden Sie diesen Teildatensatz für CI-Pipelines oder Plausibilitätsprüfungen, bevor Sie sich für den vollständigen Datensatz von 70.000 Bildern entscheiden.

FAQ

Was ist der MNIST-Datensatz und warum ist er im maschinellen Lernen 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 entwickelt wurde. Er umfasst 60.000 Trainingsbilder und 10.000 Testbilder, die alle Graustufenbilder sind und eine Größe von 28×28 Pixeln haben. Die Bedeutung des Datensatzes liegt in seiner Rolle als Standard-Benchmark zur Bewertung von Bildklassifizierungsalgorithmen, der Forschern und Ingenieuren hilft, Methoden zu vergleichen und Fortschritte in diesem Bereich zu verfolgen.

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

Um ein Modell auf dem MNIST-Datensatz mit Ultralytics YOLO zu trainieren, können Sie diese Schritte befolgen:

Trainingsbeispiel

from ultralytics import YOLO

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

# Train the model
results = model.train(data="mnist", epochs=100, imgsz=28)
# Start training from a pretrained *.pt model
yolo classify train data=mnist model=yolo11n-cls.pt epochs=100 imgsz=28

Eine detaillierte Liste der verfügbaren Trainingsargumente finden Sie auf der Seite Training.

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

Der MNIST-Datensatz enthält ausschließlich handgeschriebene Ziffern, während der Extended MNIST (EMNIST) Datensatz sowohl Ziffern als auch Groß- und Kleinbuchstaben umfasst. EMNIST wurde als Nachfolger von MNIST entwickelt und verwendet dasselbe 28×28-Pixelformat für die Bilder, wodurch er mit Tools und Modellen kompatibel ist, die für den ursprünglichen MNIST-Datensatz konzipiert wurden. Diese größere Zeichenvielfalt in EMNIST macht ihn für eine breitere Palette von Machine-Learning-Anwendungen nützlich.

Kann ich Ultralytics HUB verwenden, um Modelle auf benutzerdefinierten Datensätzen wie MNIST zu trainieren?

Ja, Sie können Ultralytics HUB verwenden, um Modelle auf benutzerdefinierten Datensätzen wie MNIST zu trainieren. Ultralytics HUB bietet eine benutzerfreundliche Oberfläche zum Hochladen von Datensätzen, Trainieren von Modellen und Verwalten von Projekten, ohne dass umfassende Programmierkenntnisse erforderlich sind. Weitere Informationen zum Einstieg finden Sie auf der Ultralytics HUB Quickstart-Seite.

Wie vergleicht sich MNIST mit anderen Bildklassifizierungsdatensätzen?

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, geringen Dateigröße und historischen Bedeutung für die Entwicklung von Machine-Learning-Algorithmen wertvoll. Für fortgeschrittenere Klassifizierungsaufgaben empfiehlt sich die Verwendung von Fashion-MNIST, das die gleiche Struktur beibehält, aber Kleidungsstücke anstelle von Ziffern enthält.



📅 Erstellt vor 2 Jahren ✏️ Aktualisiert vor 1 Monat
glenn-jocherpderrengerUltralyticsAssistantMatthewNoycejk4e

Kommentare