Bộ dữ liệu MNIST
Bộ dữ liệu MNIST (Modified National Institute of Standards and Technology) là một cơ sở dữ liệu lớn gồm các chữ số viết tay thường được sử dụng để huấn luyện các hệ thống xử lý ảnh và mô hình học máy khác nhau. Nó được tạo ra bằng cách "trộn lại" các mẫu từ các bộ dữ liệu gốc của NIST và đã trở thành một tiêu chuẩn để đánh giá hiệu suất của các thuật toán phân loại ảnh.
Các tính năng chính
- MNIST chứa 60.000 ảnh huấn luyện và 10.000 ảnh kiểm thử các chữ số viết tay.
- Bộ dữ liệu bao gồm các hình ảnh thang độ xám có kích thước 28×28 pixel.
- Hình ảnh được chuẩn hóa để phù hợp với hộp giới hạn 28×28 pixel và khử răng cưa, giới thiệu các mức độ xám.
- MNIST được sử dụng rộng rãi để huấn luyện và kiểm thử trong lĩnh vực học máy, đặc biệt cho các tác vụ phân loại ảnh.
Cấu trúc bộ dữ liệu
Bộ dữ liệu MNIST được chia thành hai tập con:
- Tập huấn luyện: Tập hợp con này chứa 60.000 hình ảnh chữ số viết tay được sử dụng để huấn luyện các mô hình học máy.
- Tập kiểm thử: Tập hợp con này bao gồm 10.000 hình ảnh được sử dụng để kiểm thử và đánh giá các mô hình đã huấn luyện.
Truy cập Bộ dữ liệu
- Tệp gốc: Tải xuống các tệp lưu trữ gzip từ trang MNIST của Yann LeCun nếu bạn muốn kiểm soát trực tiếp quá trình tiền xử lý.
- Trình tải Ultralytics: Sử dụng
data="mnist"(hoặcdata="mnist160"cho tập con bên dưới) trong lệnh của bạn và bộ dữ liệu sẽ được tự động tải xuống, chuyển đổi sang định dạng PNG và lưu vào bộ nhớ đệm.
Mỗi hình ảnh trong bộ dữ liệu được gắn nhãn bằng chữ số tương ứng (0-9), làm cho nó trở thành một bộ dữ liệu học có giám sát lý tưởng cho các tác vụ phân loại.
Extended MNIST (EMNIST)
MNIST mở rộng (EMNIST) là một tập dữ liệu mới hơn được NIST phát triển và phát hành nhằm kế thừa MNIST. Trong khi MNIST chỉ bao gồm hình ảnh các chữ số viết tay, EMNIST bao gồm tất cả hình ảnh từ Cơ sở dữ liệu đặc biệt 19 của NIST, đây là một cơ sở dữ liệu lớn về các chữ cái viết tay (chữ hoa và chữ thường) cũng như các chữ số. Các hình ảnh trong EMNIST đã được chuyển đổi sang cùng định dạng 28×28 pixel, bằng cùng một quy trình, như các hình ảnh MNIST. Theo đó, các công cụ hoạt động với tập dữ liệu MNIST cũ hơn, nhỏ hơn có thể sẽ hoạt động mà không cần sửa đổi với EMNIST.
Các ứng dụng
Tập dữ liệu MNIST được sử dụng rộng rãi để huấn luyện và đánh giá các mô hình học sâu trong các tác vụ phân loại hình ảnh, như Mạng nơ-ron tích chập (CNNs), Máy vector hỗ trợ (SVMs), và nhiều thuật toán học máy khác. Định dạng đơn giản và có cấu trúc tốt của tập dữ liệu làm cho nó trở thành một tài nguyên thiết yếu cho các nhà nghiên cứu và chuyên gia trong lĩnh vực học máy và thị giác máy tính.
Một số ứng dụng phổ biến bao gồm:
- Đánh giá các thuật toán phân loại mới
- Mục đích giáo dục để giảng dạy các khái niệm về máy học
- Tạo mẫu hệ thống nhận dạng ảnh
- Kiểm tra các kỹ thuật tối ưu hóa mô hình
Cách sử dụng
Để huấn luyện một mô hình CNN trên tập dữ liệu MNIST trong 100 epoch với kích thước hình ảnh 28×28, bạn có thể sử dụng các đoạn mã sau. Để có danh sách đầy đủ các đối số có sẵn, hãy tham khảo trang Huấn luyện mô hình.
Ví dụ huấn luyện
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)
# Start training from a pretrained *.pt model
yolo classify train data=mnist model=yolo26n-cls.pt epochs=100 imgsz=28
Ảnh và Chú thích mẫu
Tập dữ liệu MNIST chứa các hình ảnh chữ số viết tay thang độ xám, cung cấp một tập dữ liệu có cấu trúc tốt cho các tác vụ phân loại hình ảnh. Dưới đây là một số ví dụ về hình ảnh từ tập dữ liệu:

Ví dụ này minh họa sự đa dạng và phức tạp của các chữ số viết tay trong tập dữ liệu MNIST, nhấn mạnh tầm quan trọng của một tập dữ liệu đa dạng để huấn luyện các mô hình phân loại hình ảnh mạnh mẽ.
Trích dẫn và Lời cảm ơn
Nếu bạn sử dụng tập dữ liệu MNIST trong công việc nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo sau:
@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}
}
Chúng tôi xin ghi nhận Yann LeCun, Corinna Cortes và Christopher J.C. Burges vì đã tạo ra và duy trì tập dữ liệu MNIST như một tài nguyên quý giá cho cộng đồng nghiên cứu học máy và thị giác máy tính. Để biết thêm thông tin về tập dữ liệu MNIST và những người tạo ra nó, hãy truy cập trang web tập dữ liệu MNIST.
Kiểm tra nhanh MNIST160
Cần một bài kiểm tra hồi quy cực nhanh? Ultralytics cũng cung cấp data="mnist160", một phần 160 ảnh chứa tám mẫu đầu tiên từ mỗi lớp chữ số. Nó phản ánh cấu trúc thư mục MNIST, vì vậy bạn có thể hoán đổi các tập dữ liệu mà không cần thay đổi bất kỳ tham số nào khác:
Ví dụ huấn luyện với MNIST160
yolo classify train data=mnist160 model=yolo26n-cls.pt epochs=5 imgsz=28
Sử dụng tập con này cho các pipeline CI hoặc kiểm tra tính hợp lệ trước khi cam kết với bộ dữ liệu đầy đủ 70.000 ảnh.
Câu hỏi thường gặp
Bộ dữ liệu MNIST là gì và tại sao nó quan trọng trong học máy?
Tập dữ liệu MNIST, hay tập dữ liệu Viện Tiêu chuẩn và Công nghệ Quốc gia đã sửa đổi, là một bộ sưu tập chữ số viết tay được sử dụng rộng rãi, được thiết kế để huấn luyện và kiểm tra các hệ thống phân loại hình ảnh. Nó bao gồm 60.000 hình ảnh huấn luyện và 10.000 hình ảnh kiểm tra, tất cả đều là hình ảnh thang độ xám và có kích thước 28×28 pixel. Tầm quan trọng của tập dữ liệu nằm ở vai trò của nó như một tiêu chuẩn đánh giá các thuật toán phân loại hình ảnh, giúp các nhà nghiên cứu và kỹ sư so sánh các phương pháp và theo dõi tiến độ trong lĩnh vực này.
Làm thế nào tôi có thể sử dụng Ultralytics YOLO để huấn luyện một mô hình trên bộ dữ liệu MNIST?
Để huấn luyện một mô hình trên tập dữ liệu MNIST bằng Ultralytics YOLO, bạn có thể làm theo các bước sau:
Ví dụ huấn luyện
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)
# Start training from a pretrained *.pt model
yolo classify train data=mnist model=yolo26n-cls.pt epochs=100 imgsz=28
Để có danh sách chi tiết về các đối số huấn luyện có sẵn, hãy tham khảo trang Huấn luyện.
Sự khác biệt giữa bộ dữ liệu MNIST và EMNIST là gì?
Bộ dữ liệu MNIST chỉ chứa các chữ số viết tay, trong khi bộ dữ liệu Extended MNIST (EMNIST) bao gồm cả chữ số và chữ cái viết hoa, viết thường. EMNIST được phát triển như một phiên bản kế nhiệm của MNIST và sử dụng cùng định dạng pixel 28×28 cho các ảnh, giúp nó tương thích với các công cụ và mô hình được thiết kế cho bộ dữ liệu MNIST gốc. Phạm vi ký tự rộng hơn này trong EMNIST làm cho nó hữu ích cho nhiều ứng dụng học máy đa dạng hơn.
Tôi có thể sử dụng Ultralytics Platform để huấn luyện mô hình trên các tập dữ liệu tùy chỉnh như MNIST không?
Có, bạn có thể sử dụng Ultralytics Platform để huấn luyện mô hình trên các tập dữ liệu tùy chỉnh như MNIST. Ultralytics Platform cung cấp giao diện thân thiện với người dùng để tải lên tập dữ liệu, huấn luyện mô hình và quản lý dự án mà không yêu cầu kiến thức lập trình chuyên sâu. Để biết thêm chi tiết về cách bắt đầu, hãy xem trang Bắt đầu nhanh của Ultralytics Platform.
MNIST so sánh với các bộ dữ liệu phân loại ảnh khác như thế nào?
MNIST đơn giản hơn nhiều tập dữ liệu hiện đại như CIFAR-10 hoặc ImageNet, làm cho nó lý tưởng cho người mới bắt đầu và thử nghiệm nhanh. Trong khi các tập dữ liệu phức tạp hơn mang lại những thách thức lớn hơn với hình ảnh màu và các danh mục đối tượng đa dạng, MNIST vẫn có giá trị nhờ sự đơn giản, kích thước tệp nhỏ và ý nghĩa lịch sử trong việc phát triển các thuật toán học máy. Đối với các tác vụ phân loại nâng cao hơn, hãy cân nhắc sử dụng Fashion-MNIST, tập dữ liệu này duy trì cấu trúc tương tự nhưng có các mặt hàng quần áo thay vì chữ số.