MNIST
MNIST — это база данных рукописных цифр, широко используемая в области машинного обучения и компьютерного зрения для обучения и тестирования алгоритмов классификации изображений. Название является аббревиатурой от Modified National Institute of Standards and Technology (Модифицированный Национальный институт стандартов и технологий). MNIST считается одним из классических «игрушечных» наборов данных, который стал стандартом для начальной проверки работоспособности моделей распознавания образов.
История
База данных MNIST была создана в 1998 году исследователями Янном Лекуном (Yann LeCun), Кортиной Кортес (Corinna Cortes) и Кристофером Берджесом (Christopher J.C. Burges) на основе оригинальной базы данных NIST Special Database 3 и NIST Special Database 1, собранных Национальным институтом стандартов и технологий США (NIST). Оригинальные наборы NIST содержали рукописные цифры от сотрудников Бюро переписи населения США (Census Bureau) и старшеклассников. Однако эти данные были неудобны для использования: изображения имели разный размер, а цифры от разных групп авторов были плохо перемешаны.
Лекун и его коллеги модифицировали исходные данные: изображения были нормализованы до размера 28×28 пикселей, преобразованы в полутоновые (градации серого), а также перемешаны и разбиты на обучающую и тестовую выборки. Полученный набор был назван MNIST. С момента публикации MNIST стал де-факто стандартом для сравнительного анализа алгоритмов классификации изображений, особенно в задачах, не требующих сложной предобработки.
Структура и характеристики
MNIST состоит из 70 000 изображений рукописных цифр от 0 до 9. Каждое изображение представляет собой квадрат размером 28×28 пикселей (всего 784 пикселя). Каждый пиксель кодируется значением яркости от 0 (чёрный) до 255 (белый). Изображения являются полутоновыми, но из-за небольшого размера и простоты формы цифр многие алгоритмы работают с ними как с бинарными (после пороговой обработки).
Набор данных разделён на две части:
- Обучающая выборка (training set): 60 000 изображений.
- Тестовая выборка (test set): 10 000 изображений.
Такое разделение позволяет объективно оценивать качество обучения модели: модель обучается на обучающей выборке, а затем проверяется на тестовой, которая не участвовала в обучении. Каждое изображение сопровождается меткой (label) — правильной цифрой от 0 до 9.
Классификация и типы задач
MNIST используется для решения задачи классификации изображений — отнесения входного изображения к одному из 10 классов (цифр). В контексте машинного обучения это задача с учителем (supervised learning).
По сложности MNIST считается простым набором данных:
- Изображения имеют небольшой размер и низкое разрешение.
- Цифры центрированы и имеют умеренную вариативность начертания.
- Фон однородный (чёрный), объект — белый или серый.
Благодаря этим свойствам MNIST подходит для быстрого тестирования новых архитектур нейронных сетей, методов предобработки и алгоритмов оптимизации. Однако из-за низкой сложности современные модели (например, свёрточные нейронные сети) достигают на MNIST точности более 99,5%, что делает набор малопригодным для демонстрации преимущества сложных архитектур.
Применение
MNIST используется в нескольких ключевых областях:
Обучение и образование
MNIST является стандартным примером для изучения основ машинного обучения и глубокого обучения. Многие учебные курсы, книги и онлайн-платформы (например, Coursera, Fast.ai, TensorFlow tutorials) начинают знакомство с нейронными сетями именно с задачи распознавания цифр MNIST. Набор данных встроен в популярные библиотеки, такие как TensorFlow (tf.keras.datasets.mnist), PyTorch (torchvision.datasets.MNIST) и scikit-learn.
Бенчмаркинг и сравнение алгоритмов
До появления более сложных наборов (CIFAR-10, ImageNet) MNIST был основным бенчмарком для сравнения точности классификаторов. Результаты на MNIST публиковались для логистической регрессии, метода опорных векторов (SVM), многослойных перцептронов и свёрточных нейронных сетей. Хотя сегодня MNIST устарел для серьёзных исследований, он по-прежнему используется для быстрой проверки гипотез.
Демонстрация методов предобработки
На MNIST удобно демонстрировать эффекты аугментации данных (повороты, сдвиги, масштабирование), нормализации и шумоподавления. Например, можно показать, как добавление небольшого поворота изображения улучшает обобщающую способность модели.
Примеры моделей и точность
На MNIST было протестировано множество моделей. Ниже приведены примеры классических и современных подходов с указанием типичной точности на тестовой выборке:
| Модель | Точность (примерно) |
|---|---|
| Линейный классификатор (логистическая регрессия) | 92–93% |
| Метод опорных векторов (SVM) с RBF-ядром | 98–99% |
| Многослойный перцептрон (1 скрытый слой, 300 нейронов) | 98–99% |
| Свёрточная нейронная сеть (LeNet-5) | 99,2% |
| Современная глубокая свёрточная сеть (ResNet, EfficientNet) | 99,7–99,8% |
Рекордная точность на MNIST превышает 99,8% (например, с использованием ансамблей или методов увеличения данных). Однако из-за простоты набора разница между 99,5% и 99,8% может быть статистически незначимой.
Критика и ограничения
Несмотря на популярность, MNIST подвергается критике по нескольким причинам:
- Слишком простой. Современные модели достигают на MNIST практически максимальной точности, что не позволяет оценить их преимущества. Для сравнения сложных архитектур требуются более сложные наборы (CIFAR-100, ImageNet).
- Не репрезентативен. MNIST не отражает реальных условий распознавания рукописного текста: цифры центрированы, имеют фиксированный размер, отсутствуют шумы, искажения и перекрытия. Реальные рукописные документы (например, почтовые индексы) значительно сложнее.
- Узкая область. MNIST покрывает только цифры, а не полный алфавит или символы. Для задач распознавания текста используются другие наборы (например, EMNIST, расширяющий MNIST на буквы).
- Риск переобучения. Из-за малого размера изображений и небольшого числа классов модели могут легко переобучаться, если не использовать регуляризацию. Однако на практике это редко является проблемой.
Интересные факты
- MNIST стал первым крупным набором данных, на котором была продемонстрирована эффективность свёрточных нейронных сетей (архитектура LeNet-5).
- Набор данных используется в соревнованиях по машинному обучению, например, на платформе Kaggle, хотя в последние годы его вытеснили более сложные задачи.
- Существуют расширенные версии MNIST, такие как Fashion-MNIST (замена цифр на изображения одежды) и EMNIST (включает буквы). Fashion-MNIST был создан специально как более сложная альтернатива, сохраняющая тот же формат 28×28.
- Из-за простоты MNIST часто используется для демонстрации атак на нейронные сети (например, состязательные примеры — adversarial examples).
- В некоторых учебных материалах MNIST называют «Hello World» машинного обучения.
Источники
- LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 2278–2324.
- Официальный сайт MNIST: http://yann.lecun.com/exdb/mnist/
- Документация TensorFlow: tf.keras.datasets.mnist
- Документация PyTorch: torchvision.datasets.MNIST
- Xiao, H., Rasul, K., & Vollgraf, R. (2017). Fashion-MNIST: a novel image dataset for benchmarking machine learning algorithms. arXiv preprint arXiv:1708.07747.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →