УДК 004.8
ВЫЧИСЛИТЕЛЬНЫЙ ИНТЕЛЛЕКТ В ЗАДАЧЕ РАСПОЗНАВАНИЯ ОБРАЗОВ
Д. В. Плотников
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
Е-mail: Dmitry.plotnikov.1995@gmail.com
Рассматриваются различные методы вычислительного интеллекта для решения задачи распознавания образов изображений. Сверточная нейронная сеть показывает наилучший результат по сравнению с перцептроном и алгоритмом k-ближайших соседей в задаче классификации рукописных цифр.
Ключевые слова: сверточная нейронная сеть, перцептрон, метод k-ближайших соседей, распознавание образов изображений.
COMPUTATIONAL INTELLIGENCE IN PATTERN RECOGNITION
D. V. Plotnikov
Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation Е-mail: Dmitry.plotnikov.1995@gmail.com
The study considers various computational intelligence methods for image pattern recognition. Convolutional neural network outperforms perceptron and k-nearest neighbors algorithm in order to classify handwritten digits.
Keywords: convolutional neural network, perceptron, k-nearest neighbors algorithm, image pattern recognition.
Введение. Проблема распознавания образов приобретает все более актуальный характер, и сегодня многие области науки и техники нуждается в подобных технологиях. Один из наиболее популярных подходов к распознаванию графических образов - это использование искусственных нейронных сетей. Главным преимуществом этой технологии является возможность проектирования различных архитектур. Исследования показывают, что иерархичные модели нейронных сетей глубинного обучения показали себя как самое эффективное средство распознавания образов [1]. Однако существуют и другие методы вычислительного интеллекта, способные качественно решать поставленную задачу.
База данных MNIST.
В качестве тестовой задачи было выбрано распознавания рукописных цифр. Обучающая выборка для данной работы была предоставлена платформой «Kaggle» в рамках конкурса «Digit Recognizer».
MNIST - это известная база данных рукописных цифр, имеющая подготовленный набор обучающих примеров. В размещенной на странице конкурса выборке, присутствует 48000 обучающих и 28000 тестовых объектов, взятых из оригинальной базы данных MNIST. Цифры нормализованы и имеют фиксированный размер изображения 28^28 пикселя. Кроме того, каждый пиксель описан в режиме градации серого. Используется серая шкала. Таким образом, обучающая выборка представляет собой 48000 объекта с 785 атрибутами у каждого. Первый атрибут указывает класс объекта (цифра от 0 до 9), остальные 784 атрибута - значения цвета каждого пикселя в градации серого (от 0 до 255).
Секция «Математические методы моделирования, управления и анализа данных»
Описание используемых алгоритмов.
Перцептрон. Первый подход к решению задачи - это использование полносвязной нейронной сети прямого распространения. Обучается такая сеть методом обратного распространения ошибки. Так как время обучения перцептрона требует огромных вычислительных ресурсов, перед обучением входные данные были подготовлены следующим образом: к ним была применена операция пулинга по функции среднего значения (размер фильтра равен 4^4 пикселя). Основные параметры перцептрона следующие: количество скрытых слоев = 1, количество нейронов скрытого слоя = 105, функция активации = сигмоидальная функция, циклы обучения = 500, скорость обучения = 0.3, момент = 0.2.
К - ближайших соседей. Обычно, подобная технология интеллектуального анализа данных не используется в задачах распознавания. Однако если найдено лучшее значение основного параметра (к) относительно поставленной задачи, то алгоритм показывает хорошие результаты. В данной работе, лучшее число ближайших соседей равно 5. Значение найдено с помощью генетического алгоритма.
Сверточные нейронные сети. Данная архитектура входит в состав технологий глубинного обучения и была создана целенаправленно для решения современных проблем, связанных с восприятием, например, таких как зрение или распознавание речи. Под «глубиной» в моделях глубинного обучения подразумевается многослойная структура, где каждый слой выполняет определенную функцию. Уникальность сверточных нейронных сетей состоит в использовании и комбинировании двух типов слоев, а именно сверточных и субдискретизирующих. Первый тип отвечает за применение определенного набора фильтров к поданному на вход сигналу (изображению), формируя, таким образом карты признаков. Второй тип отвечает за уплотнение изображения. Благодаря тому, что каждый последующий слой (идущий после первого субдискритезируб-щего слоя) принимает на вход карты признаков меньшей размерности, увеличивается скорость работы сети.
Каждый такой слой может быть описан конкретными значениями своих собственных параметров (табл. 1). В рамках данного исследования было реализовано 5 различных архитектурных решений. Структура, показавшая наилучший результат, описана в табл. 1.
Таблица 1
Структура сверточной нейронной сети
Номер слоя Слой Параметры
Количество ядер Размер ядер Функция активации
1 Сверточный слой 1 40 5x5 Гиперболический тангенс
3 Сверточный слой 2 100 5x5 Гиперболический тангенс
Размер свертки Функция свертки
2 Субдискретизирующий слой 1 2x2 Функция максимума
4 Субдискретизирующий слой 2 2x2 Функция максимума
Количество нейронов Функция активации
5 Полносвязный слой 1 500 Гиперболический тангенс
6 Полносвязный слой 2 40 Гиперболический тангенс
Практические результаты.
Оценка эффективности каждого алгоритма основана на точности предсказания класса изображения. Предоставленная тестовая выборка не содержит информации о том, объект какого класса описан. Таким образом, для оценки точности классификации тестовой выборки, полученные данные (классы объектов) необходимо отправить на сайт проведения конкурса в соответствующий раздел. В табл. 2 продемонстрированы результаты всех рассмотренных алгоритмов.
Таблица 2
Точность работы алгоритмов
Алгоритм Точность, %
Сверточная нейронная сеть 99.1
K-ближайших соседей 97.31
Перцептрон 96.02
Выводы. Результаты показали, что все использованные методы вычислительного интеллекта способны эффективно решать задачу распознавания. Однако сверточная нейронная сеть демонстрирует наилучший результат. Кроме того, данная технология имеет огромный потенциал и способна достигать еще большей точности за счет возможностей настроек глубинной архитектуры, а именно: количество фильтров каждого свероточного слоя, размеры ядер свертки, глубина сети и т. д. Данное направление и будет являться объектом дальнейших исследований.
References
1. Szegedy C., Liu W., Jia Y., et al. Going deeper with convolutions. In: Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Vol. 7-12-NaN-2015; 2015:1-9.
2. Cire§an D. C., Meier U., Masci J., Gambardella L. M., Schmidhuber J. Flexible, high performance convolutional neural networks for image classification. In: IJCAI International Joint Conference on Artificial Intelligence.; 2011:1237-1242.
3. Krizhevsky A., Sutskever I., Hinton G. ImageNet Classification with Deep Convolutional Neural Networks. Adv Neural Inf Process Syst. 2012:1-9.
4. LeCun Y., Boser B., Denker J. S., et al. Backpropagation Applied to Handwritten Zip Code Recognition. Neural Comput. 1989;1(4):541-551.
5. Lin M., Chen Q., Yan S. Network In Network. arXiv Prepr. 2013:10.
6. Sopov E., Ivanov I. Design efficient technologies for context image analysis in dialog HCI using self-configuring novelty search genetic algorithm. Informatics Control Autom Robot (ICINCO), 2014 11th Int Conf. 2014;2:832-839.
© Плотников Д. В., 2017