УДК 004.855.5
А. С. Катасёв, Д. В. Катасёва, А. П. Кирпичников
РАСПОЗНАВАНИЕ РУКОПИСНЫХ СИМВОЛОВ НА БАЗЕ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ
Ключевые слова: нейронная сеть, рукописные символы, распознавание образов.
В работе описываются принципы и технология применения нейронных сетей для распознавания образов на примере распознавания десятичных цифр. Рассматриваются особенности подготовки обучающей выборки для обучения нейронной сети. Приводится описание архитектуры сети, а также результаты ее обучения и тестирования на исходных и зашумленных входных образах. Показывается эффективность и перспективность применения нейросетевых технологий для решения прикладных задач распознавания образов.
Keywords: neural network, handwritten characters, pattern recognition.
We describe the principles and technology of neural networks application for pattern recognition as an example of recognition of decimal digits. The features of the preparation of training sample to train the neural network. The description of the network architecture, as well as the results of its training and testing for source and noisy input images. Showing effective and promising application of neural network technology for applications ofpattern recognition.
В настоящее время для решения многих практических задач в различных сферах человеческой деятельности наряду с экспертными системами [6] широкое распространение получили нейронные сети [4,8,9]. Данные модели искусственного интеллекта используются при диагностике [3,12], прогнозировании [2,10], в решении оптимизационных задач [11], а также в задачах распознавания образов и анализа изображений [1]. Обладая высокой аппроксимирующей способностью, нейронная сеть, обучившись на экспериментальных данных, способна решать поставленные задачи с высокой степенью точности.
Как известно, задачи распознавания зрительных и речевых образов, выполнения преобразований при обработке сигналов, задачи управления, прогнозирования, структурной и параметрической идентификации сложных объектов и систем можно свести к одной общей математической постановке. Требуется найти некоторое функциональное отображение X—-У, при котором для каждого возможного вектора входных сигналов X формировался бы правильный выходной результат У. Подобное отображение задается множеством пар «входы» - «выход» (обучающих примеров), представляющих собой обучающую выборку. Количество таких пар должно быть меньше общего числа сочетаний значений входных и выходных параметров.
Например, при решении задач распознавания зрительных и речевых образов X представляет собой некоторую формализацию входного образа, а У - порядковый номер класса, к которому относится распознаваемый образ.
В задачах нейросетевого управления вектор X представляет собой множество значений контролируемых параметров управляемого объекта, а выход У - некоторое управляющее воздействие, соответствующее текущим значениям входного образа, соответствующего контролируемым параметрам.
При прогнозировании в качестве исходных данных для обучения нейронной сети выступают временные ряды [7,10], после трансформации которых формируется обучающая выборка, представ-
ляющая собой примеры последовательных значений временного ряда. Полученные таким образом исходные данные представляют собой контролируемые переменные на некотором интервале времени, соответствующие заданному параметру ширины окна временного ряда [13]. Выходными сигналами в обучающей выборке будут являться значения переменных, соответствующих очередным значениям временного ряда.
В задачах структурной и параметрической идентификации сложных объектов и систем нейронная сеть используется в качестве инструмента, позволяющего по заданным значениям входных и выходных параметров некоторого объекта или системы выбирать их оптимальную структуру, а также настраивать значения (производить идентификацию) параметров, описывающих идентифицируемую систему или объект [5].
Следовательно, большое количество прикладных задач могут быть сведены к формированию некоторого отображения, представляющего собой функциональное преобразование X—У, при котором обеспечивается получение необходимых выходных сигналов нейронной сети в соответствии со значениями входных сигналов из обучающей выборки. Получаемое функциональное преобразование представляет собой результат нейросетевой аппроксимации данных в обучающей выборке.
Таким образом, обобщенная задача обучения искусственной нейронной сети может быть сформулирована следующим образом.
1. Решение задачи представляет некоторое функциональное отображение X— У, где X - п-мерный вектор входных сигналов, У - да-мерный вектор выходных сигналов.
2. Искомое функциональное отображение задано совокупностью известных значений входных и соответствующих им выходных сигналов
, У')}, представляющих собой обучающую выборку, где X' = (X,...,X), У' = (У,...,У,), ' = ЦУ , N - объем обучающей выборки.
3. Объем выборки N должен быть меньше общего количества сочетаний значений входных и выходных параметров нейронной сети.
4. Требуется произвести обучение сети для настройки весовых коэффициентов межнейронных связей, при которых для реализуемого нейронной сетью отображения X^Y ошибка обучения нейронной сети минимизируется для всех элементов {(X', Y')} обучающей выборки.
Рассмотрим особенности и возможности использования нейронных сетей при решении задачи распознавания образов. Нейросетевые алгоритмы распознавания, как правило, работают с нормализованными растрами изображений символов, например, размерностью 16x16 пикселов. В качестве входных параметров нейронной сети используются значения яркости или перепада яркости в узлах изображения отдельного символа. Число выходных нейронов сети определяется числом распознаваемых символов. Результатом распознавания является символ, которому соответствует наибольшее из значений на выходе сети.
Рассмотрим решение поставленной задачи на примере распознавания десятичных цифр. Для простоты при кодировании каждой цифры будем использовать бинарную матрицу размерностью 8x8. Подготовим в программе MS Excel 10 битовых масок указанной размерности, каждая из которых представляет собой пример написания соответствующей десятичной цифры (см. рис. 1).
и 1 1 1 г; U
п 1 п п п 1 п
0 1 0 О 0 1 О
0 о] 1 1 1 О О
0 О О О О
0 0 О 0 0
0 0 О 0 О
0 о 1 1 1 Го 0
Рис. 1 - Пример подготовленной битовой маски, соответствующей цифре «8»
На основе битовых масок десятичных цифр сформируем выборку для обучения нейронной сети. Минимальный объем обучающей выборки должен быть равен 10, т.е. соответствовать числу обучающих примеров (по одному примеру для написания каждой десятичной цифры).
На рисунках 2 и 3 представлены фрагменты сформированной обучающей выборки.
На основе сформированной обучающей выборки требуется построить такую нейросетевую модель, которая позволяла бы с высокой степенью точности распознавать как исходные десятичные цифры, образы которых представлены в обучающей выборке, так и цифры, представленные в условиях помех (случайных появлений или пропаданий отдельных пикселов, изменении формы написания цифры и других искажениях).
1 2 3 4 5 ь 7 8 9 10 11
0 0 0 1 1 0 0 0 0 1
0 0 0 0 1 J 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 1
0 0 0 1 1 0 0 0 0 0 1
0 0 1 0 1 0 0 0 0 1
0 0 1 1 1 1 0 0 0 0 1
0 0 0 1 1 0 0 0 0 0 1
0 0 1 1 1 1 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0 1
0 0 0 1 1 0 0 0 0 0 1
Рис. 2 - Фрагмент обучающей выборки (входные параметры нейронной сети)
Рис. 3 - Фрагмент обучающей выборки (выходные параметры нейронной сети)
Для распознавания такого рода десятичных цифр необходимо обучить нейронную сеть, состоящую из 64 входных и 10 выходных нейронов. Входами нейронной сети будут являться числа 0 или 1, в зависимости от того, черная или белая клетка используется в соответствующей ячейке битовой маски. Выходные нейроны будут отвечать за соответствующую цифру от 0 до 9. Например, первый - за цифру 0, второй - за 1, ... десятый - за 9. Значениями выходов нейронной сети также будут являться числа 0 или 1. Величина активности каждого выходного нейрона будет определять похожесть входного образа на соответствующую ему цифру.
Обучение нейронной сети производилось на базе нейроэмулятора Neural Network Wizard. Для оценки точности построенной нейросетевой модели распознавания рукописных символов исследуем работу обученной нейронной сети на исходных битовых масках. Для этого поочередно подадим на ее вход каждый образ из обучающей выборки.
Для оценки обобщающей способности ней-росетевой модели исследуем ее работу на зашум-ленных входных образах. Для этого подготовим тестовые примеры для каждой цифры, включающие шумовые элементы (появление или пропадание от-
дельных битов в битовой маске образа каждой цифры). На рисунке 4 представлен пример зашумленной битовой маски, соответствующей цифре «8».
ттцпцг
о оПаТаПо
о пДп ■ пДп п п ТПщТ п о оПоТоПо о аНа • аИа о о НовоН о
Рис. 4 - Зашумленный образ маски, соответствующей цифре «8»
В качестве шумовых элементов в данном случае использовались дополнительные биты в угловых точках битовой маски.
В таблице 1 представлены результаты работы нейросетевой модели при распознавании входных образов, соответствующих исходной и зашум-ленной цифре «8».
Таблица 1 - Результаты распознавания исходного и зашумленного образа цифры «8»
Номер выходного нейрона Значения выходов нейронной сети при распознавании исходного образа цифры «8» Значения выходов нейронной сети при распознавании за-шумленного образа цифры «8»
0 0,02 0
1 0 0
2 0 0
3 0 0,01
4 0 0
5 0 0
6 0,11 0,01
7 0 0
8 0,99 0,98
9 0 0
Как видно из таблицы, наибольшее из рассчитанных значений выходных параметров нейронной сети соответствует цифре 8 (значение данного выхода сети близко к единице). Все остальные выходные значения близки к нулю. Это говорит о хорошей разделяющей способности построенной ней-росетевой модели. В результате обучения нейронная сеть научилась распознавать все входные образы из обучающей выборки со 100% точностью.
При подаче на вход сети зашумленного образа цифры «8» данный образ также был правильно распознаны нейронной сетью. Аналогичные результаты были получены при распознавании зашумлен-ных образов других десятичных цифр.
Итоговые результаты проведенного исследования по точности распознавания десятичных цифр на основе построенной нейросетевой модели представлены в таблице 2.
Таблица 2 - Результаты распознавания исходных и зашумленных образов всех десятичных цифр
Цифра Значение соответствующего выхода нейронной сети при распознавании исходного образа цифры Значение соответствующего выхода нейронной сети при распознавании за-шумленного образа цифры
0 0,95 0,95
1 0,93 0,92
2 0,97 0,96
3 0,94 0,71
4 0,94 0,88
5 0,93 0,93
6 0,94 0,94
7 0,93 0,91
8 0,99 0,98
9 0,95 0,95
Из таблицы видно, что точность распознавания нейросетевой моделью как исходных, так и зашумленных образов составляет 100%, что говорит о высокой эффективности построенной модели при распознавании рукописных десятичных цифр.
Полученные в данной работе результаты распознавания рукописных десятичных цифр подтверждают высокую эффективность применения математического аппарата искусственных нейронных сетей при решении прикладных задач. На базе разработанной нейросетевой модели можно строить адаптивные интеллектуальные системы распознавания образов, в частности, системы оптического распознавания текста, распознавания автомобильных номерных знаков, биометрические системы идентификации и аутентификации личности по отпечаткам пальцев, геометрии лица и другим биометрическим признакам и т. д. Подобные системы используются в различных областях человеческой деятельности. Их эффективность определяется возможностями математического аппарата искусственных нейронных сетей: самообучаемостью, адаптивностью, аппроксимирующей способностью и другими важными свойствами. Кроме того, при построении нейросетевой модели можно управлять не только параметрами обучения нейронной сети, но и выбирать ее архитектуру, что также влияет на эффективность применения построенной модели.
Литература
1. Багаев Д.В., Кузнецова Е.В. Распознавание образов при помощи нейронных сетей с обучением по алгоритму обратного распространения // Промышленные АСУ и контроллеры. - 2007. - № 11. - С. 40-42.
2. Глова В.И., Аникин И.В., Катасев А.С. Система предупреждения аварий оборудования в процессах поддер-
жания пластового давления // Вестник КГТУ им. А.Н. Туполева. - 2006. - № 2. - С. 46-49.
3. Глова В.И., Аникин И.В., Катасёв А.С. Формирование базы знаний медицинской диагностической экспертной системы на основе нечеткой нейронной сети // Исследования по информатике. - 2007. - № 12. - С. 31-46.
4. Головко В.А. Нейронные сети: обучение, организация и применение. Кн. 4: Учебное пособие для вузов / Общая ред. А.И. Галушкина. М.: ИПРЖР, 2001. - 256 с.: ил.
5. Катасёв А.С., Ахатова Ч.Ф. Нейронечеткая система обнаружения продукционных зависимостей в базах данных // Программные продукты и системы. - 2011. - № 3. С. 26-32.
6. Катасёв А.С., Газимова Д.Р. Инвариантная нечетко-продукционная модель представления знаний в экспертных системах // Вестник КГТУ им. А.Н. Туполева. -2011. - № 1. - С. 142-148.
7. Катасёв А.С., Катасёва Д.В. Интеллектуальный анализ временных рядов в системах диагностики и поддержки принятия решений // Поиск эффективных решений в процессе создания и реализации научных разработок в российской авиационной и ракетно-космической промышленности. Международная научно-практическая конференция. - Казань. - 2014. - С. 481-483.
8. Катасёв А.С., Катасёва Д.В., Кирпичников А.П. Ней-росетевая диагностика аномальной сетевой активности // Вестник технологического университета. - 2015. - Т. 18. № 6. - С. 163-167.
9. Катасёв А.С., Катасёва Д.В., Кирпичников А.П. Ней-росетевая технология классификации электронных почтовых сообщений // Вестник технологического университета. - 2015. - Т. 18. № 5. - С. 180-183.
10. Катасёв А.С., Катасёва Д.В., Кирпичников А.П. Ней-росетевое прогнозирование инцидентов информационной безопасности предприятия // Вестник технологического университета. - 2015. - Т. 18. № 9. - С. 215-218.
11. Катасёв А.С., Катасёва Д.В., Кирпичников А.П. Оценка стойкости шифрующих преобразований моноалфавитной замены с использованием генетического алгоритма // Вестник технологического университета. -2015. - Т. 18. № 7. - С. 255-259.
12. Подольская М.А., Катасёв А.С. Применение систем искусственного интеллекта для диагностического процесса в вертеброневрологии // Казанский медицинский журнал. - 2007. - Т. 88. № 4. - С. 346-351.
13. Рыбин А. Л. Метод скользящего окна для выявления участков концентрации ДТП при аудите безопасности дорожного движения // Автотранспортное предприятие. - 2014. - № 10. - С. 23-26.
© А. С. Катасёв - д-р. техн. наук, доц. кафедры систем информационной безопасности КНИТУ-КАИ, e-mail: kat_726@mail.ru; Д. В. Катасёва - аспирант кафедры систем информационной безопасности КНИТУ-КАИ, e-mail: 415pisarevadv@mail.ru; А. П. Кирпичников - д-р. физ.-мат. наук, профессор, зав. кафедрой интеллектуальных систем и управления информационными ресурсами КНИТУ, e-mail: kirpichnikov@kstu.ru
© A. S. Katasev - Dr. Sci, Associate Professor the Information Security Systems Department, KNRTU named after A.N. Tupolev, e-mail: kat_726@mail.ru; D. V. Kataseva - Postgraduate Student the Information Security Systems Department, KNRTU named after A.N. Tupolev, e-mail: 415pisarevadv@mail.ru; А. P. Kirpichnikov - Dr. Sci, Prof, Head of the Department of Intelligent Systems & Information Systems Control, KNRTU, e-mail: kirpichnikov@kstu.ru