Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

DEEP NEURAL NETWORKS FOR SOLVING PERSONAL RECOGNITION TASK

Andrushko D.Yu. 1 Smetanina O.N. 1 Sazonova E.Yu. 1
1 Ufa State Aviation Technical University
This article defines the place of neural networks in pattern recognition task. Neural network architectures (Neocognitron, Autoencoder, Cresceptron, History Compressor, Deep Belief Network, Long Short-Term Memory, Inception) are given. Also, the history of these architectures’ development is described. Authors presented the analysis of the learning methods of deep neural networks, namely, Hebb Rule Method, Group method of data handling, The backpropagation algorithm, Stochastic gradient descent algorithm. The results of existing libraries analysis are given, in many respects thanks to which a high growth in the use of the described technologies has been noted recently. A wide range of neural network architectures, learning methods and ready-made libraries allow to identify the most suitable for a particular task and data type. The results of the face recognition problem solving by photographs using deep neural networks. The technique for solving the face recognition problem by photographs includes five steps. The first two stages are aimed at preparing data using histogram equalization methods, color image segmentation in RGB color space based on color saliency. The next two stages are the search for «points of interest», that is finding the distances between them and their relationships are performed in order to detect facial features and using the nearest neighbor algorithm. The final step in face recognition is identification process. That is, points of interest are classified as depicted in a photograph obtained in previous steps using neural networks. The proposed technique for solving the problem assures a positive result.
deep neural networks
pattern recognition
neural network training
neural network architecture
machine learning

Широкое распространение информационных технологий, усовершенствование архитектур нейронных сетей (НС), методов их обучения и разнообразие их программных реализаций [1–3], рост производительности компьютеров, в том числе GPU, способствуют использованию НС для решения задач в области распознавания образов. При наличии других инструментов для решения задач распознавания [4–6], в том числе с использованием машинного обучения, перечисленные факторы позволили глубоким нейронным сетям (ГНС) занять одну из значимых позиций за счет большей точности распознавания. В частности, ГНС хорошо себя зарекомендовали в компьютерном зрении, распознавании речи, биоинформатике и пр.

Вопросами разработки и использования ГНС для решения задач распознавания образов занимались многие российские и зарубежные специалисты [7–9].

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

Современное состояние проблемы распознавания образов с использованием нейронных сетей

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

Согласно [10] алгоритм распознавания – есть некоторая абстрактная система R: R= <A, S, P>, где A – множество классов, S – множество признаков для классификации, P – правила принятия решения при отнесении образа к классу.

Для рассматриваемых задач в настоящее время разработано множество методов и их реализация. Лопатина А.Д. [4] рассматривает решение задачи с использованием метода алгоритмических композиций. В публикациях Зенина А.В. [11], Туркова П.А., Красоткиной О.В. [12] приведен байесовский подход к распознаванию образов, Фомина А.Я., Каркищенко А.Н. [13] – методы статистической классификации, Симакова В.С., Луценко Е.В. [5] – методы классификации по сходству / разделимости и др. Как уже отмечено ранее, одним из средств решения задачи распознавания образов выступают НС (рис. 2) [7–9; 14].

Модель искусственного нейрона Маккаллока-Питтса, предложенная в 1943 г. [15], имеет N входных бинарных величин x1,..., xn, трактующихся как импульсы, и веса ω1,..., ωn [8]. Связи могут быть возбуждающими (вес положительный), тормозящими (вес отрицательный). Выходной сигнал нейрона определяется как gabdiev01.wmf где φ – функция активации преобразует суммарный импульс в выходное значение нейрона [16]. В НС нейроны соединяются между собой определенным образом, сети имеют входной и выходной слои. При наличии нескольких слоев между ними можно говорить о многослойной НС.

Gabd1.wmf

Рис. 1. Задачи системы распознавания образов и их математическая постановка

Gabd2.wmf

Рис. 2. Место НС в системе распознавания образов

Gabd3.wmf

Рис. 3. Развитие архитектур НС

Среди трендов нынешнего времени в области нейронных сетей следует отметить сложность их архитектур («глубина», «ветвление слоев», «блочность», «структура»). Другими характеристиками как решаемой задачи, так и НС являются число описываемых нейронной сетью параметров, а также количество данных для обучения. С обучением также связана проблема «затухающего градиента».

Начало создания архитектур НС относят к 1980 г. Была предложена архитектура НС – неокогнитрон (рис. 3, 4). Во второй половине 80-х годов прошлого столетия Д. Баллард предложил подход к обучению НС без учителя на основе автокодировщика [17].

В 1992 г. появилась архитектура НС кресцептрон, в основу которого положен неокогнитрон. Наличие проблемы исчезающего градиента при обучении привело к новым архитектурам: очень глубокий обучатель (1992 г., сотни слоев) [18] направлен на применение предварительного обучения без учителя иерархии рекуррентных НС; НС – сеть долго-краткосрочной памяти. В 2006 г. Дж. Хинтоном и Р. Салахутдиновым была создана архитектура НС – глубокие сети доверия. Компанией Google в 2014 г. предложена архитектура сверточных НС Inception, которые начали активно развиваться [19].

Также предложена архитектура рекуррентных НС – управляемые рекуррентные НС. К 2017 г. НС имеют от нескольких тысяч до нескольких миллионов единиц и миллионы соединений. В 2017 г. Дж. Хинтоном описаны капсульные НС, позволяющие снижать ошибку распознавания объекта в другом ракурсе на 45 %, для обучения предложен алгоритм динамической маршрутизации между капсулами [7].

Процесс обучения НС направлен на настройку ее параметров посредством моделирования среды, в которую эта сеть встроена. Ниже представлены несколько методов обучения ГНС (рис. 5) [20–22]. Для указанных методов часто используются модификации, которые описаны далее при рассмотрении конкретной задачи.

Библиотеки глубокого машинного обучения

За последнее время создано множество библиотек для обучения НС, среди них можно отметить ApacheMXNet, Caffe, Keras, Theano и др. (рис. 6). Сравним наиболее популярные библиотеки (табл. 1) Theano, Caffe, Keras.

Gabd4.wmf

Рис. 4. Архитектуры НС

Библиотека Theano написана на Python. Вычисления в Theano выражаются синтаксисом NumPy и компилируются для эффективных параллельных вычислений. Keras, надстройка над Theano, позволяет настраивать гиперпараметры, предоставляет богатый выбор таких необходимых средств, как функции потерь, алгоритмы оптимизации, инструменты визуализации и загрузки популярных датасетов.

Caffe обеспечивает сверточные нейронные сети, долго-краткосрочную память и полностью соединенные НС.

Gabd5.wmf

Рис. 5. Методы обучения ГНС

Таблица 1

Сравнение наиболее популярных библиотек

Наименование

библиотеки

Критерии

Theano

Caffe

Keras

Язык

Python

C++

Python

Интерфейс

Python

Python, MATLAB

Python

API

+ (Python)

+ (C++, Python)

+ (Python)

Открытый исходный код

+

+

+

ОС

межплатформенность

Linux, Mac OS X, Windows

Linux, macOS, Windows

Точность на многослойном перцептроне Румельхарта, %

97.42

98.26

Нет данных

сверточной НС, %

99.16

99.1

Нет данных

Возможность создания сверточные НС

+

+

+

глубокие сети доверия

+

+

ограниченные машины Больцмана

+

+

 

Решение задачи распознавания лиц по фотоизображению

Методика решения задачи распознавания лиц по фотоизображению включает пять этапов. Первые два этапа направлены на подготовку данных с использованием методов выравнивания гистограммы, сегментации цветного изображения в цветовом пространстве RGB на основе цветопередачи [8; 25]. Два следующих этапа – поиск «точек интереса», дальнейшее нахождение расстояний между ними и их отношениями – выполняются с целью обнаружить черты лица с использованием алгоритма ближайшего соседа. Заключительным этапом в распознавании лиц в методике на основе фотографий является процесс идентификации, когда классифицируются точки интереса, изображенные на фотографии, полученной на предыдущих этапах с использованием НС.

Используются в эксперименте библиотеки Theano, Keras. Взаимодействие с Theano осуществлялось посредством библиотеки Keras, включающей ряд алгоритмов, в частности RMSProp, Adagrad, Adam и др. Обучение сверточной нейронной сети проведено с их использованием на базе 3 наборов по 1000 изображений различных размеров формата JPEG (табл. 2). Предложенный подход к решению проблемы в виде набора методов, реализованных на разных этапах, дает хороший результат.

Gabd6.wmf

Рис. 6. Библиотеки глубокого машинного обучения

Таблица 2

Анализ характеристик методов

Наименование метода

Точность, %

Характеристики метода

RMSProp

83

+* решение нестационарных задач

Метод адаптивного градиента (Adagrad)

81

+ отсутствие необходимости точно подбирать скорость обучения,

–** сумма квадратов обновлений может увеличиваться сколько угодно, что может привести к параличу алгоритма

Adadelta

73

+* сумма градиентов заменяется на экспоненциально затухающее среднее квадратов градиентов, полученных на предыдущих шагах

Метод адаптивной оценки моментов (Adam)

76

+* способность справляться с разреженными градиентами,

+* способность решать нестационарные задачи

Метод стохастического градиентного спуска (SGD)

78

+* легко реализуется, легко добавить регуляризацию,

+* функция потерь и семейство алгоритмов могут быть любыми,

+* возможно потоковое обучение,

+* подходит для задач с большими данными,

–** нет универсального набора эвристик, их нужно выбирать для конкретной задачи отдельно

*достоинства, ** недостатки методов

 

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

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

Выводы

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

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

Результаты исследований, приведенные в статье, получены в рамках выполнения грантов РФФИ 18-07-00193, 19-07-00709 и государственного задания № FEUE-2020-0007.