Распознавание символов
с помощью аппарата искусственных нейронных сетей
Загинайло Максим Васильевич
аспирант, кафедра «Вычислительные системы и информационная безопасность», Донской государственный технический университет (ДГТУ), [email protected]
Фатхи Владимир Ахатович
доктор технических наук, профессор, заведующий кафедрой «Вычислительные системы и информационная безопасность», Донской государственный технический университет (ДГТУ), [email protected]
В настоящее время при решении трудно формализуемых задач активно используются различные интеллектуальные системы, в том числе искусственные нейронные сети. Обладая рядом уникальных свойств нейронные сети показывают высокую степень работы и точность результатов при решении задач в условиях неопределенности. В работе описываются основные принципы работы искусственных нейронных сетей (ИНС) в задачах распознавания образов. Рассматриваются этапы преобразования поставленной задачи в форму удобную для реализации в нейросетевой программе. Уделено внимание подготовке эталонного обучающего набора данных для этапа обучения ИНС. Проводятся эксперименты по распознавания входных изображений, так же для усложнения задачи изображения подвергаются влиянию шума, что позволяет наиболее точно оценить полученные входе эксперимента результаты и сделать выводы об эффективности применения нейронных сетей в большом количестве математических задач. Ключевые слова: искусственные нейронные сети, распознавание образов, нейросетевые алгоритмы.
Нейронные сети [1] на сегодняшний день могут применяться в различных сферах жизнедеятельности человека, например, они получили широкое распространение в экспертных системах (ЭС) [2] и используются для решения различных практических задач. Сфера применения таких нейронных сетей достаточна обширна и включает в себя такие отрасли как диагностика, решения в оптимизационной сфере, различные типы прогнозирования, и наиболее известная область применения нейросетей это распознавание образов [1]. Высокая аппроксимация данных, способность к адаптации при изменяющихся входных данных, способность к обучению и другие свойства позволяют добиваться высокой точности работы данных алгоритмов.
Классы трудно формализованных математических задач, связанных с обработкой сигналов, идентификацией объектов и прогнозированием можно свести к более простому для машины математическому описанию. Для входного набора данных X необходимо определить правильный выходной набор данных У [3] Для обучения такой системы необходим эталонный набор данных Х^ У. Установка взаимосвязи между переменными нейронным алгоритмом и является процессом обучения. Для более правильной оценки качества обучения эталонный набор данных должен быть меньше общего количества данных, участвующих в эксперименте.
Для задач, в которых требуется нейросетевое управление, входной параметр X является вектором, который содержит различные значения объекта управления, которые возможно контролировать. В свою очередь выходное значение У - представляет собой результат воздействия входного параметра на одно из контролируемых значений.
Временные ряды также могут выступать эталонным обучающим набором в задачах распознавания образов и прогнозирования. Формирование эталонного набора данных происходит входе трансформации данных на основе применения определенных математических функций. Результатом является массив переменных, расположенных на заданном временном интервале. Выходными данными в подобных задах будут являться значения переменных, которые будут соответствовать входным значениям временного ряда. Сведение большинства сложным математических задач к виду Х^У, по сути является составлением условия задачи для нейросетевой аппроксимации данных.
В общем виде задача, решаемая при помощи аппарата искусственных нейронных сетей, выглядит так:
1. Преобразование условий задачи к функциональному виду Х^У, где X переменная — это входной вектор данных длинной п, а У это выходной вектор данных длинной т.
2. Выходной набор данных, который необходимо получить, представлен набором входных и выходных векторов {Х1,У1},
3. Формирование эталонного набора данных, являющегося обучающей выборкой Х = {х1,х2,х3,...,х1},х Е
X X
о
го А с.
X
го т
о
ю
2 О
м
[0,1] и У = {у1,у2,Уз,...,Уг},У е [0,1], (= где N - количество элементов в наборе данных[4].
4. Для настройки весовых коэффициентов связей нейронов требуется провести обучение данной сети. Это приводит к минимизации ошибок первого и второго родов при работе нейросетевого алгоритма.
В качестве примера работы нейросетевого алгоритма поставим задачу распознавания образов, а именно натуральных чисел. В таких задачах входными данными являются растровые изображения определенного разрешения пикселей. Так же разрешение изображения является его размерностью при моделировании матрицы данных. Яркость каждого пикселя в изображении является входным параметром нейронной сети. Количество цифр, которые будет способна распознать нейронная сеть является количеством выходных нейронов. Учитывая, что все натуральные числа можно задать при помощи чисел от 0 до 9, число выходных нейронов целесообразно установить на отметке в 10. Активация определенного нейрона соответствующему одному из простых чисел и является результатом работы нейронной сети.
Для удобства экспериментов будем использовать изображения чисел размерностью 16х16. Для начала работы необходимо подготовить набор входных данных, а именно, 10 битовых изображений, пример которых представлен на рисунке 1.
входные изображения добавив шум, пиксели с оттенком серого, цифровые значения между нулем и единицей. Пример зашумленного изображения представлен на рисунке 2.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0.3 0 0 0 0 0 0 0 0 0.1 0 0 0 0
0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0.7 0 0
0 0 0 0 1 1 0.3 1 1 0 0 0 0 0 0 0
0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0
0 0 0.5 0 0 0 0 1 1 0 0 0.9 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0.1 0 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0 0.5 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
0 0 0 0 1 1 3 1 I 0.7 1 1 0 0 0 0
0 0 0.!) 0 1 1 1 1 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0000000000000000 0000000000000000
см о см
!Л
О!
о ш т
X
3
<
т
о
X X
1 1
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
000000000000 000000000000 01 1 111000000 111111100000 110001 1 10000 0000001 10000 000000110000 000001 1 10000 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 10000000 00000000 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 00000000
ООО ООО О О 1
0 1 1
1 1 I 1 1 1 ООО
0000000000000000
0000000000000000
Рисунок 2 - Пример искаженного образа для распознавания
В таблице 1 приведены результаты эксперимента для нейросетевой модели распознающей входное изображение цифры 5, в «чистом» виде и в усложненной форме с шумом.
Таблица 1
Рисунок 1 - Примеры входных данных
Набор изображений так же является эталонным обучающим набором, который применится на этапе обучения нейронной сети. С помощью полученной обучающей выборки построенная нейросетевая модель позволит распознавать не только символы, представленные в выборке, но и символы с некоторым количеством помех.
Чтобы нейросеть с 256 выходными и 10 выходными нейронами могла распознавать десятичные цифры такого вида ей требуется обучение. На входные нейроны сети будут подаваться двоичные значения 0 или 1, означающие белый или черный цвет пикселя соответственно. Средние значения между этими числами будут являться шумом, необходимым для усложнения задачи распознавания. Выходные нейроны соответствуют одному из натуральных чисел по порядку от 0 до 9. Активация определенного порядкового нейрона означает высокую степень схожести входного изображения определенному натуральному числу.
В качестве среды для программирования нейронной среды выберем язык МАТЬАВ. Язык МАТЬАВ является высокоуровневым интерпретируемым языком программирования.
Для того, чтобы наиболее корректно оценить качество работы проектируемой нейронной сети, усложним
Значение выходного Значение выход-
Номер выходного узла при распознава- ного узла при рас-
узла нии «чистого» изобра- познавании изобра-
жения, поданного на жения с шумом
вход
0 0 0
1 0 0
2 0 0
3 0 0
4 0 0
5 0,96 0,92
6 0,15 0,11
7 0 0
8 0,07 0,06
9 0 0
По результатам эксперимента видно, что значения функции высоки только на пятом выходном нейроне, что привело к его активации. Для остальных чисел значение функции очень низкое, что не приводит к их активации.
Из представленной таблицы видно, что вероятность распознавания входных образов как в чистом, так и в за-шумлённом виде стремится к единице, что говорит о том, что построенная нейросетевая модель является эффективной для распознавания десятичных цифр.
Результаты, которые были получены в ходе данного исследования подтвердили эффективность применения нейросетей в задачах распознавания рукописных десятичных цифр. Можно сказать, что разработанная нейросеть может являться базовой и на её основе
можно разработать нейросети для распознавания других символов рукописного текста и различных сложных изображений. Эффективность разработанной системы будет зависеть от математического аппарата нейронной сети, а именно, адаптивности и самообучения. Так же для повышения эффективности сети можно изменять ей архитектуру, что так же может положительно сказаться на её работе.
Литература
1. Хайкин С. Нейронные сети: полный курс, 2-е издание. — М.: Вильямс, 2006.
2. Sommer G., Kassahun Y Efficient reinforcement learning through evolutionary acquisition of neural topologies // 13th European Symposium on Artificial Neural Networks, 2005. P. 259-266.
3. Stanley K., Miikkulainen R. O. Evolving neural networks through augmenting topologies //Evolutionary Computation. 2002. Vol. 10. No. 2. P. 99-127.
4. Forsyth D. A. Computer Vision: A Modern Approach / D.A. Forsyth, J. Ponce. - 2nd ed. - New Jersey: Prentice Hall, 2011. - 792 p.
Recognition of characters using the apparatus of artificial neural
networks Zaginailo M.V., Fathi V.A.
Don State Technical University (DSTU)
JEL classification: C10, C50, C60, C61, C80, C87, C90_
At present, various intelligent systems, including artificial neural networks, are actively used in solving problems that are difficult to formalize. Having a number of unique properties, neural networks show a high degree of performance and accuracy of results when solving problems in conditions of uncertainty. The paper describes the basic principles of artificial neural networks (ANN) in image recognition problems. The stages of transforming the task into a form that is convenient for implementation in a neural network program are considered. Attention is paid to the preparation of a reference training data set for the ANN training stage. Experiments on the recognition of input images are carried out, as well as to complicate the problem, images are affected by noise, which allows you to most accurately evaluate the results obtained from the experiment and draw conclusions about the effectiveness of using neural networks in a large number of mathematical problems. Keywords: artificial neural networks, pattern recognition, neural network
algorithms. References
1. Haykin S. Neural networks: a complete course, 2nd edition. - M .: Vil-yams,
2006.
2. Sommer G., Kassahun Y. Efficient reinforcement learning through evolu-
tionary acquisition of neural topologies // 13th European Symposium on Artificial Neural Networks, 2005. P. 259-266.
3. Stanley K., Miikkulainen R. O. Evolving neural networks through aug-
menting topologies // Evolutionary Computation. 2002. Vol. 10.No. 2. P. 99-127.
4. Forsyth D. A. Computer Vision: A Modern Approach / D.A. Forsyth, J.
Ponce. - 2nd ed. - New Jersey: Prentice Hall, 2011 .-- 792 p.
X X О го А С.
X
го m
о
ю
2 О
м