gototopgototop

УДК 004.93'1

Искусственные нейронные сети в задачах распознавания образов

Бабаев Андрей Михайлович – студент Института сферы обслуживания и предпринимательства (филиала) Донского государственного технического университета в г. Шахты.

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

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

Введение

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

Ранее распознавание объектов обычно выполнялось с использованием особенностей внешнего вида объектов [1], распознавания характерных точек и методов машинного обучения (kNN, SVM) [2]. Хотя упомянутые выше методы все еще используются во многих приложениях, в настоящее время наибольшей популярностью пользуются искусственные нейронные сети, которые позволили достигнуть выдающихся результатов в распознавании объектов [3].

Искусственные нейронные сети

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

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

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

Сверточные нейронные сети

Описанные выше архитектуры нейронных сетей крайне неэффективны при распознавании изображений в плане вычислительной сложности. Например, для изображения 64×64 пикселя размер входного вектора составит 4096 элемента, а общее число настраиваемых параметров в может составить около миллиона весов. Настройка сети в таком виде потребует большого количества обучающих данных и займет длительное время.

Для исключения данного недостатка при распознавании изображений применяют разновидность гибридных нейронных сетей – свёрточные нейронные сети (далее – СНС). Начиная с 2012 года на различных соревнованиях по распознаванию СНС показывают наиболее высокую точность распознавания изображений среди всех имеющихся технологий. В общем случае свёрточная нейронная сеть состоит из комбинации нескольких слоев, выполняющих различные функции [4]:

a) Свёрточный слой, в котором выполняется операция свёртки. Заключается она в том, что к входному изображению применяется матричный фильтр, кодирующий определенный признак на изображении, например, определенные линии или углы. Для более эффективной работы CNN в каждом свёрточном слое изображение обрабатывается несколькими фильтрами. Благодаря этому формируется несколько карт признаков, что делает нейронную сеть многомерной. Процесс обучения такого слоя заключается в настройке ядер свёртки с помощью метода обратного распространения ошибки. Пример операции свёртки приведен на рисунке 1.

1

Рисунок 1. Визуализация операции свёртки с размером ядра 3×3.

б) Слой субдискретизации (pooling), которые используются для понижения размерности карт признаков. Для снижения размерности вся карта признаков делится на непересекающиеся участки размером 2х2 нейрона, после чего применяется один из двух подходов: maxpooling – из четырех нейронов каждой области выбирается нейрон с наибольшим значением и принимается за один нейрон в уменьшенной карте признаков –, или averagepooling – один нейрон в уменьшенной карте признаков соответствует среднему значению нейронов в первоначальной карте. Благодаря данному слою уменьшается количество настраиваемых параметров СНС. Пример операции субдискретизации приведен на рисунке 2.

2

Рисунок 2. Визуализация операции субдискретизации.

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

Тестирование

Для тестирования различных технологий распознавания образов был использован набор данных Modified National Institute of Standards and Technology (MNIST) [5]. Он содержит 60000 изображений для обучения и 10000 изображений для тестирования, каждое из которых содержит одну рукописную цифру (всего 10 классов различных объектов). Были использованы реализации алгоритмов из библиотек Kerasи Scikit-learn. Для ускорения работы СНС была применена технология параллельных вычислений CUDAи графическая карта GeForce GTX 1080 Ti. Результаты тестирования приведены в таблице 1.

Таблица 1. Результаты тестирования.

MLP CNN kNN SVM LinearRegression
Точность, % 97,42 99,14 97,47 97,94 87,93
Длительность обучения, с 30,69 53,72 0,161 28,4 9,38
Длительность тестирования, с 0,04 0,013 13,1 6,99 0,029

Заключение

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

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

  1. Shape Matching and Color Segmentation Based Traffic Sign Detection System / S. B. Wali, M. A. Hannah, S. Abdullah, A. Hussain, S. A. Samad // PRZEGLĄD ELEKTROTECHNICZNY. – 2015. – P. 36-40.
  2. Muralidharan, R. Object Recognition using SVM-KNN based on Geometric Moment Invariant // International Journal of Computer Trends and Technology- July to Aug Issue 2011. – 2011. – P. 215-220.
  3. Charniak, E. Introduction to Deep Learning. – The MIT Press. – 2019. – 192 p.
  4. NVIDIA and IBM Cloud Support ILSVRC / ОфициальныйсайткомпанииURL: https://devblogs.nvidia.com/nvidia-ibm-cloud-support-imagenet-large-scale-visual-recognition-challenge/ (дата обращения: 22.12.2019).
  5. The MNIST database of handwritten digit database / Yann LeCun's home page. URL: http://yann.lecun.com/exdb/mnist/ (датаобращения: 23.12.2019).

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

Внимание, откроется в новом окне. PDFПечатьE-mail