УДК 004.89
АРХИТЕКТУРА СВЁРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ
Д.А. Маршалко, О.В. Кубанских
ФГБОУ ВО «Брянский государственный университет имени акад. И.Г. Петровского»
Рассмотрена теория свёрточной искусственной нейронной сети. Описана структура свёрточной нейронной сети и методы её обучения, рассмотрены некоторые из существующих свёрточных нейронных стетей, выделены преимущества и недостатки.
Ключевые слова: оптическое распознавание, свёрточная нейронная сеть, применение нейросети.
В последние десятилетия в мире бурно развивается новая прикладная область математики, специализирующаяся на искусственных нейронных сетях (ИНС). В то время как на западе применение ИНС уже достаточно обширно, но российских фирм, использующие ИНС в практических целях, немного. Термин «нейронный сети» сформировался к середине 50-х годов XX века. Основные результаты в этой области связаны с именами У. Маккалоха, Д. Хеб-ба, Ф. Розенблатта, М. Минского, Дж. Хопфилда[2].
Свёрточная нейронная сеть - одна из моделей ИНС (искусственных нейронных сетей), была предложена в 1988 году французским учёным в области информатики Яном Ле-куном. Целью разработки данного послужило увеличение эффективности распознавания образов, которое находится в составе технологий глубокого обучения. Идея, заключённая в свёрточных нейронных сетях, состоит в попеременном использовании субдискретизирую-щих и свёрточных слоёв.
Неокогнитрон, предшественник сверточных сетей, был представлен в работе 1980 года. В 1988 году свёрточные нейронные сети были представлены отдельно, с явными параллельными слоями и способными к обучению свертками. Их конструкция была усовершенствована 1998 году, обобщена в 2003 и того же года упрощенна. Нейронная сеть LeNet-5 успешно классифицирует цифры, и применяется для распознавания чисел в чеках. Однако при увеличении объёма распознавания выявляются проблемы в производительности из-за ограничения в вычислительных ресурсах. В 1988 году была предложена отличная конструкция СНР для разложения одномерных сигналов. В 1989 году данная сеть была видоизменена для других схем на основе свертки.
Сверточная нейронная сеть не имеет обратных связей и является многослойной. В большинстве случаев, в её обучении применяется метод обучения с учителем.
Данная структура получила название из-за наличия так называемой операции свёртки над парой матриц А (размера пх х пу) и В (размера тх х ту), результатом которой является матрица С = А* В размера (пх — тх + 1) х (пу — ту + 1).
Работа данной модели обычно описывается как переход от определённых особенностей изображения к их абстрактным представлениям, а затем к ещё более абстрактным деталям вплоть до выявления представлений высокого уровня. При этом нейронная сеть изменяет свои настройки и вырабатывает необходимую ротацию абстрактных признаков, отбрасывая маловажные детали и выделяя существенное[1].
Двумерная свертка — это простая операция, начинающаяся с ядра, представляющего из себя матрицу весов. Ядро производит действия над двумерным изображением, поэлементно умножая ту часть входных данных, над которой оно сейчас находится, и затем суммирует все полученные значения в один выходной пиксель.
Ядро повторяет эту процедуру, преобразуя двумерную матрицу в матрицу признаков. Признаки на выходе являются взвешенными суммами признаков на входе, расположенных примерно в том же месте, что и выходной пиксель на входном слое.
Независимо от того куда попадает входной признак, он определяется в зависимости от нахождения в зоне ядра, создающего выходные данные. Следовательно, размер ядра свер-
точной нейронной сети определяется количеством признаков, которые будут объединены для получения нового признака на выходе [4].
Чаще всего в сверточных нейронных сетях используется техники Padding и Striding.
Padding добавляет к краям пиксели нулевого значения. Таким образом, ядро позволяет ненулевым пикселям оказываться в своем центре, а затем распространяется на нулевые пиксели за пределами края, создавая выходную матрицу того же размера, что и входная.
Striding же пропускает некоторые области, над которыми скользит ядро, в зависимости от заданного шага. Шаг означает, что берутся пролеты через пиксель, то есть по факту каждый пролет является стандартной сверткой, и чем выше шаг, тем выше сжатие.
Свёрточная нейронная сеть состоит из большого количества слоёв. Сначала идёт слой входного изображения, затем сигнал передаётся через серию свёрточных слоёв. Чередование таких слоёв даёт возможность группировать карты признаков, а на каждом следующем слое карта уменьшается в размере, однако количество каналов увеличивается. На практике это повышает способности к распознаванию сложных критериев признаков. На выходе свёрточ-ных слоёв сети дополнительно ставят слои полносвязной нейронной сети, на вход которому подаётся результат работы свёрточных слоёв (конечные карты признаков) (рис. 1).
I 2 3 4 5 6
Рис. 1. Архитектура свёрточной нейронной сети: 1 - вход, 2,4,6 - свёрточные слои, 3,5 - под-выборочные слои, 7 - слои из обычных нейронов, 8 - выход
Самым простым и популярным способом обучения сверточной нейронной сети является метод обратного распространения ошибки (метод обучения с учителем). Но обучение сверточной ИНС также возможно и без учителя. Например, фильтры свертывания можно обучать отдельно, что позволит следующему слою свёртки сети обучаться на результатах от уже обученного первого слоя. Также возможно скомбинировать сверточную нейросеть с другими методами глубинного обучения.
Существует множество моделей сверточных нейронных сетей, рейтинг точности можно увидеть на рисунке 2.
Рассмотрим некоторые из них отдельно.
AlexNet - нейронная сеть оказавшая в своё время большое влияние на развитие алгоритмов компьютерного зрения. В 2012 году выиграла конкурс по распознаванию изображений ImageNet LSVRC-2012. Архитектура данной сети схожа с архитектурой сети LeNet, но в AlexNet больше фильтров и слоёв.
VGG-16 - модель СНС, была предложена Кареном Симоняном и Андреем Зигерман. Данная модель является одной из самых знаменитых моделей участвующих в конкурсе ILSVRC-2014. Данная модель является своего рода улучшенной версией AlexNet, в ней заменены большие фильтры на группы фильтров размерами 3 на 3, которые следуют один за другим.
ResNet - результат кропотливой работы людей компании Microsoft Research Asia над проблемой обучения глубоких нейронных сетей. В отличии от VGG сетей, которые при увеличении количества уровней теряет свою производительность и точность, ResNet разработана с такой архитектурой, что получает обратный эффект - прирост качества с увеличение уровней.
Inception V3 - модель, основанная на нормализации откликов всех нейронных карт и поиске лучших комбинаций свойств, выделяемых из входных данных[3]. В основные идеи заложена максимизация потока обрабатываемой информации за счёт аккуратного баланса между глубиной и шириной, а так же использовании фильтров 3 на 3.
Inception V4 - своего рода комбинация сети ResNet и Inception V3, однако сеть получилась более запутанной и менее элегантной.
Рис. 2. Точность известных сверточных нейронных сетей
Преимущества сверточных нейронных сетей:
- Быстрота вычислений, путём распараллеливания;
- Значительная устойчивость к деформации распознаваемых изображений;
- Классическое обучение методом обратного распространения ошибки.
В последнее время во многих областях нашли применение сверточные нейронные сети - от задач распознавания образов до задач удаления шума и повышения разрешения изображений. Однако запуск сверточных нейронных сетей имеет ряд трудностей - это отсутствие готовых библиотек, высокая сложность разработки и отладки алгоритма на встраиваемой платформе.
Список литературы
1. Гелиг А.Х., Матвеев А.С. Введение в математическую теорию обучаемых распознающих систем и нейронных сетей. Учебное пособие: моногр., СПб.: Изд. СПбГУ, 2014. -224 c.
2. Олескин А.В. Сетевые структуры в биосистемах и человеческом обществе. - М.: Едиториал УРСС, Либроком, 2015. - 304 c.
3. Таганов А.И. Нейросетевые системы искусственного интеллекта в задачах обработки изображений - М.: Телеком, 2016. - 148 c.
4. Хайкин С. Нейронные сети. Полный курс - М.: Вильямс, 2016. - 973 c.
Сведения об авторах
Маршалко Дмитрий Александрович - магистрант кафедры информатики и прикладной математики Брянского государственного университета имени академика И.Г. Петровского, e-mail: dima.marshalko@yandex.ru.
Кубанских Олеся Владимировна - кандидат физико-математических наук, старший преподаватель кафедры информатики и прикладной математики Брянского государственного университета имени академика И.Г. Петровского, e-mail: netbay_ov@mail.ru.
CONVOLUTIONAL NEURAL NETWORK ARCHITECTURE
DA. Marshalko, O.V. Kubanskih
Bryansk State University named after Academician I.G. Petrovsky
The theory of convolutional artificial neural network is considered. The structure of convolutional neural network and methods of its training are described, some of the existing convolutional neural networks are considered, advantages and disadvantages are highlighted.
Keywords: optical recognition, convolutional neural network, neural network application.
References
1. Gelig A.H., Matveev A.S. Introduction to the mathematical theory of trainable recognition systems and neural networks. Textbook: Monogr. - St.Peter.: Publishing House of St. Petersburg State University, 2014. - 224 p.
2. Oleskin A.V. Network structures in Biosystems and human society. - M: Editorial URSS, Librocom, 2015. - 304 p.
3. Taganov A.I. Neural network systems of artificial intelligence in image processing problems - M: Telecom, 2016. - 148 p.
4. Haykin S. Neural networks. A complete course - M: Williams, 2016. - 973 p.
About authors
Marshalko D.A. - undergraduate student, the Department of Informatics and Applied Mathematics, Bryansk State University named after Academician I.G. Petrovskiy, e-mail: dima.marshalko@yandex.ru.
Kubanskikh O.V. - PhD in Physical and Mathematical Sciences, Senior Teacher of the Department of Informatics and Applied Mathematics, Bryansk State University named after Academician I.G. Petrovskiy, e-mail: netbay_ov@mail.ru.