УДК 004.032.26

Автоматизированная система распознавания рукописных символов с помощью нейронных сетей

Щекин Илья Павлович – студент магистратуры Самарского национального исследовательского университета имени академика С. П. Королёва.

Соловьева Яна Владимировна – кандидат технических наук, доцент Самарского национального исследовательского университета имени академика С. П. Королёва.

Аннотация: Целью данной работы является автоматизация процесса распознавания рукописных символов и исследования эффективности использованных моделей нейронных сетей.

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

Ключевые слова: CNN, MLP, многослойный персептрон, нейронные сети, метод обратного распространения ошибки, распознавание рукописных символов.

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

Существуют два типа методов распознавания объектов: основанные на теории решений и структурные. Первые используют количественные величины, такие как длина и текстура, в то время как вторые ориентированы на качественные величины, например, реляционные для описания образов. Обучение на основе выборки играет важную роль в распознавании объектов. Образ описывается набором признаков, а класс - группой объектов с одинаковыми свойствами.

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

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

Нейронные сети – это раздел искусственного интеллекта, в котором для обработки сигналов используются явления, аналогичные происходящим в нейронах живых существ. Сеть имеет особенность, которая говорит о ее широких возможностях и потенциале — это возможность параллельной обработки информации всеми ее элементами, что в свою очередь способствует ускорению процесса обработки информации. Так же, при большом количестве соединений между нейронами, сеть становится устойчива к ошибкам, возникающим на некоторых линиях. Другое свойство нейронной сети – способность к обучению и обобщению накопленной информации, так как она обладает чертами искусственного интеллекта. Натренированная на ограниченном множестве данных сеть способна обобщать полученную информацию и показывать хорошие результаты на данных, не использовавшихся при ее обучении [1].

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

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

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

На рисунке 1 представлена структура MLP с двумя скрытыми слоями.

1

Рисунок 1. Структура MLP.

Сверточная нейронная сеть представляет из себя специальную архитектуру нейронных сетей, изначально применявшуюся для распознавания двумерных изображений, например, поверхностей, однако сейчас они находят широкое применение в задачах распознавания текстов [2]. На вход сверточной нейронной сети подаётся изображение. Если изображение является трехканальным, возможны два варианта обработки: приведение к чёрно-белому или рассмотрение каждого из каналов отдельно. Аритектура сверточной нейронной сети представлена на рисунке 2.

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

2

Рисунок 2. Архитектура сверточной нейронной сети.

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

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

По аналогии со сверточным, в подвыброчном слое также присутствуют карты. Количество карт, как правило, совпадает с предыдущим слоем. Цель - уменьшение размерности изображения. Использование этого позволяет:

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

Процесс прохождения слоя подвыборки похож на сверточный. Заданное ядро проходится по карте предыдущего слоя, но при этом проходы не пересекаются друг с другом, а операцией между ядром и участком карты является операцией подвыборки, в качестве которой чаще всего выбирают Max Pooling. Max Pooling – это операция объединения, которая вычисляет максимальное значение для кусков карты объектов и использует его для создания карты объектов с пониженной дискретизацией.

Использование полносвязного слоя заключается в классификации. Этот слой является многослойным персептроном. Он позволяет повысить точность распознавания посредствам имитации сложной нелинейной функции. Пример полно связного слоя приведен на рисунке 3.

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

3

Рисунок 3. Полносвязный слой.

В качестве оценки эффективности работы классификатора была взята мера точности, показывающая долю правильных ответов, представленная в виде:

f1

где T – количество правильно найденных ответов, а N – общее количество ответов. Для наглядности, мера точности выражалась в процентах, поэтому полученное значение метрики умножается на 100, а также категориальная перекрёстная энтропия в качестве функции потерь. Она представляется в виде:

f2

где p – распределение вероятности, q – истинное распределение вероятности, M – количество наблюдений, N – количество категорий [3].

В качестве данных, на которых происходило обучение и тестирование моделей было выбрано два датасета:

  1. MNIST - это база данных, в которой хранятся образцы написания рукописных цифр. Она состоит из 70 тысяч картинок одинакового размера, где изображены написанные от руки цифры.
  2. Датасет, содержащий рукописные символы русского алфавита.

В качестве объектов исследования эффективности были выбраны две модели:

  1. Многослойный персептрон.
  2. Сверточная нейронная сеть.

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

Далее исследования проводились на датасете символов русского алфавита. Сравнение работы моделей на их лучших конфигурациях представлено на рисунке 5.

4

Рисунок 4. Зависимость точности работы моделей от эпохи обучения на датасете MNIST.

5

Рисунок 5. Зависимость точности работы моделей от эпохи обучения на датасете символов русского алфавита.

Наибольшую эффективность распознавании символов на наборе данных MNIST показала модель сверточной нейронной сети со значением точности 98.61%. При этом многослойный персептрон так же показал неплохие результаты на тех же входных данных, точность распознавания составила 98.03%.

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

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

Список литературы

  1. Солдатова, О.П. Основы нейроинфоматики [Текст]: учеб. пособие/ О.П. Солдатова. – Изд-во Самар, гос. аэрокосм, ун-та, 2006.-132 с.
  2. Сверточые нейронные сети [Электронный ресурс]. – URL: https://neerc.ifmo.ru/wiki/index.php?title=Сверточные_нейронные_сети.
  3. Categorical crossentropy [Электронный ресурс]. – URL: https://peltarion.com/knowledge-center/documentation/modeling-view/build-an-ai-model/loss-functions/categorical-crossentropy.

Интересная статья? Поделись ей с другими: