Открыть сервис

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 →