Введение

Каждый день разработчики усердно работают над машинами, чтобы сделать их более умными и интеллектуальными, используя методы машинного обучения и глубокого обучения, чтобы они могли выполнять задачи, аналогичные людям. С помощью этих методов можно уменьшить человеческие усилия и сэкономить много времени на распознавание, обучение, предсказания и многие другие области.

Постановка задачи

Человеку легко выполнить задачу точно, многократно выполняя ее и запоминая в следующий раз. Человеческий мозг может легко обрабатывать и анализировать изображения. Также узнавайте различные элементы, присутствующие на изображениях.

В этом соревновании цель состоит в том, чтобы правильно идентифицировать цифры из набора данных из десятков тысяч рукописных изображений и экспериментировать с различными алгоритмами, чтобы из первых рук узнать, что работает хорошо и как сравниваются методы.

НАБОР ДАННЫХ MNIST

MNIST («Модифицированный национальный институт стандартов и технологий») - это фактический набор данных компьютерного зрения «привет, мир». С момента своего выпуска в 1999 году этот классический набор рукописных изображений служил основой для алгоритмов классификации тестов. По мере появления новых методов машинного обучения MNIST остается надежным ресурсом как для исследователей, так и для учащихся.

Система распознавания рукописных цифр была реализована с использованием известного набора данных MNIST.

Проблема распознавания рукописных цифр изучается исследователями с 1998 года с использованием почти всех алгоритмов, разработанных к тому времени и даже до сих пор. Частота ошибок тестирования снизилась с 12% в 1988 г. по линейному классификатору до 0,23% в 2012 г. по сверточным сетям, и в наши дни все больше и больше специалистов по обработке данных и экспертов по машинному обучению пытаются разработать и проверить методы неконтролируемого обучения, такие как автокодировщик и глубокое обучение. модель обучения. Кроме того, существует также проект Kaggle, основанный на MNIST, который является отличным ресурсом для начала.

Почему глубокое обучение?

Глубокое обучение - это класс машинного обучения, который использует несколько уровней для постепенного извлечения функций более высокого уровня из входных данных. Следовательно, глубокое обучение сокращает задачу разработки нового средства извлечения функций для каждой проблемы. Эта характеристика глубокого обучения - важный шаг впереди традиционного машинного обучения.

Большинство современных моделей глубокого обучения основаны на искусственных нейронных сетях, в частности, на сверточных нейронных сетях (CNN), которые мы будем использовать в этом соревновании.

Шаги по реализации распознавания рукописных цифр CNN с использованием NLP:

  1. Импортируйте библиотеки и загрузите набор данных MNIST.
  2. Предварительная обработка и нормализация данных
  3. Разделение тестового поезда
  4. Создать модель
  5. Увеличение изображения
  6. Снижение скорости обучения
  7. Обратное распространение
  8. вывод

Импортируйте библиотеки и загрузите набор данных MNIST.

Во-первых, мы собираемся импортировать библиотеки, необходимые для обучения нашей модели.

Предварительная обработка данных

Мы знаем, что все изображения (набор данных) представлены в виде матрицы 28 × 28, содержащей значения пикселей в градациях серого. В соответствии с этим размер обучающих данных равен (70000,28,28), но для модели CNN потребуется еще одно измерение, поэтому нам нужно обработать данные, изменив форму матрицы до формы (70000,28,28,1).

Нормализация данных

при использовании моделей нейронных сетей рекомендуется выполнить некоторое масштабирование входных значений, чтобы нормализовать значения пикселей в диапазоне от 0 до 1, разделив каждое значение на максимальное значение (Примечание: значения пикселей имеют шкалу серого от 0 до 255).

Создать модель

Теперь мы создадим последовательную модель CNN с двойным сверточным слоем того же размера 3 × 3, максимальным количеством слоев объединения и полностью связанными слоями. Слой исключения используется для деактивации некоторых нейронов для уменьшения переобучения. Наконец, выходной слой имеет 10 нейронов для 10 классов.

Увеличение изображения:

Увеличение изображения искусственно создает обучающие изображения с помощью различных способов обработки или комбинации множественной обработки, такой как случайное вращение, сдвиги, сдвиг и переворачивание и т. Д.

Снижение скорости обучения:

Скорость обучения изменяется с течением времени (эпохи обучения), что называется графиком скорости обучения или снижением скорости обучения.

График скорости обучения предназначен для линейного уменьшения скорости обучения от большого начального значения до небольшого значения, что позволяет вносить большие изменения веса в начале процесса обучения и небольшие изменения или точную настройку к концу процесса обучения.

Обратное распространение:

Алгоритм обратного распространения ошибки ищет минимальное значение функции ошибок в пространстве весов, используя метод, называемый правилом дельты или градиентным спуском. Тогда веса, которые минимизируют функцию ошибок, считаются решением проблемы обучения.

ВЫХОД

Заключение / результаты

В результате можно сказать, что набор данных дает точность 0,9912. Точность может измениться, поскольку она зависит от разделения данных обучения и тестирования, и это можно дополнительно улучшить, если будет предоставлено количество данных для обучения и тестирования. Всегда есть шанс повысить точность, если размер данных увеличится. Результат отображается в файле csv.

Перспективы на будущее

В будущих исследованиях можно было бы рассмотреть возможность использования архитектуры сверточной сети, которая дала лучший результат в базе данных MNIST, а предлагаемая система распознавания реализована на рукописных цифрах. Такая дополнительная система может быть разработана для распознавания рукописных символов, распознавания объектов, сегментации изображений, распознавания рукописного текста, распознавания языка текста, и будущие исследования также могут быть рассмотрены на аппаратной реализации в онлайн-системе распознавания цифр с большей производительностью и эффективностью с живыми результатами из живого тестового случая. сценарии.