УДК 004.931
ЛОГИЧЕСКОЕ И ФИЗИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ АРХИТЕКТУРЫ СВЁРТОЧНОЙ НЕЙРОННОЙ СЕТИ
Умяров Н.Х., Федяев О.И.
Донецкий национальный технический университет
кафедра прикладной математики и информатики
E-mail: nailumyarov@mail.ru
Аннотация:
Умяров Н.Х., Федяев О.И. Логическое и физическое представление архитектуры свёрточной нейронной сети. На основании ранее составленной параметрической модели свёрточной нейронной сети разработаны логическая и физическая модели сети. Логическая модель представлена в виде диаграммы классов на языке UML, отражающая главные сущности свёрточной нейронной сети. Физическая модель определена совокупностью объектов нейронной сети с описанием атрибутов и реализаций поведения этих объектов на уровне компонент.
Проблема распознавания образов
Распознавание образов имеет важное значение в различных сферах человеческой деятельности, например, в построение системы идентификации личности по его лицу, сетчатке глаза, отпечатку пальца и др. При автоматизации производства и создании роботов также возникает необходимость решать задачи распознавания объектов. На данный момент существует ряд программных систем распознавания, например, ABBYY FineReader, ScanSoft OmniPage и другие. Однако, эти программы ориентированы на решение узкого круга задач по распознавание текста на изображении, который не всегда происходит успешно.
В настоящее время определённые перспективы в распознавании образов связывают с искусственными нейронными сетями и в особенности с новыми архитектурами типа неокогнитрон и сверточные нейронные сети (СНС). Неокогнитрон ориентирован на моделирование зрительной системы человека. Он получает на входе двумерные образы, аналогичные изображениям на сетчатой оболочке глаза, и обрабатывает их в последующих слоях аналогично тому, как это было обнаружено в зрительной коре человека. В неокогнитроне нет ничего ограничивающего его использование только для обработки визуальных данных. Он достаточно универсален и может найти широкое применение в качестве обобщённой системы распознавания образов [1, 4]. СНС также ориентирована на распознавание изображений. Архитектура СНС проще чем у неокогнитрона, но ей также свойственно при распознавании проявлять частичную устойчивость к изменениям масштаба, смещениям, поворотам, смене ракурса и прочим искажениям. Опыты доказали эффективность их использования, но эти классы нейронных сетей слишком сложны [2].
Целью исследования в работе является построение программной модели СНС для распознавания лиц. На вход СНС подаётся изображение лица человека, а на выходе формируется результат распознавания. Таким образом, актуальность настоящей работы с одной стороны обусловливается определённым научным интересом к данному классу нейронных сетей, а с другой стороны – ожидаемым хорошим качеством распознавания, важным для практики.
Переход от параметрической к логической модели СНС
На рис. 1 представлена общая архитектура сверточной нейронной сети, со всеми связями и слоями. В работе [3] была построена параметрическая модель свёрточной нейронной сети.
Рисунок 1 – Архитектура свёрточной нейронной сети
На теоретико-множественном уровне модель свёрточной нейронной сети CNN (Convolution Neural Network) представлена в виде кортежа 1.
где M – количество слоёв в сети; - номер слоя ; - число карт признаков в -м слое; C, S – весовые коэффициенты связи C и S слоёв соответственно, функции активации нейронов - го слоя, C и S слоёв соответственно; - число нейронов последнего слоя нейронной сети; w - матрица весовых коэффициентов выходного слоя; -функция активации нейронов выходного слоя.
Параметрическая модель выявила и упорядочила основные абстракции СНС как объекта проектирования, но она не отражает поведенческий (функциональный) аспект элементов нейронной сети. Этот недостаток устраняет логическая модель в виде диаграммы классов, которая содержит основные объекты из параметрической модели СНС, наделённые свойствами и операционной возможностью нейронной сети.
Построение логической модели начинается с определения сущностей (классов и объектов) системы. На рис. 2 можно видеть реализацию системы в виде диаграммы классов. Исходя из топологии свёрточной нейронной сети, выделены следующие классы системы: Нейрон – хранит в себе всю необходимую информацию для работы нейрона (входы, весовые коэффициенты, выходы); абстрактный класс Базовая_плоскость – описывает механизмы работы всех типов плоскостей (входная, C-плоскость, S-плоскость, выходные), объявляет методы, ответственные за режимы обучение и распознавания. Также в этом классе реализованы структуры связей между картами соседних слоев. Абстрактный класс Подплоскость (расширение класса Базовая_плоскость) - реализует методы, специфические для свёрточной и подвыборочной плоскостей. Класс Плоскость_входного_изображения инкапсулирует в себе работу с изображением, т.е. переводит его в двумерный массив входных значений и хранит в себе изображение. Нейроны на данном этапе еще не требуются. Класс Свёрточная_плоскость реализует функциональность C-слоя сети. Класс Подвыборочная_плоскость – это реализация S-слоя сети. Класс Результирующая_плоскость – слой нейронов, который полностью связан с предыдущим слоем сети (S2), генерирует выходные значения сети. Класс Нейронная_сеть представляет из себя «черный ящик», т.е на входе требуется изображения, на выходе генерируется выходные сигналы. В общем случае, слои могут взаимодействовать между собой, на что указывает связь карт признаков.
Рисунок 2 – Логическая модель свёрточной нейронной сети
Структура физической модели СНС
В логической модели невозможно отобразить поведение выделенных объектов, их взаимосвязь, поэтому была построена физическая модель СНС, которая отобразит взаимосвязь компонентов нейронной сети на уровне программных модулей и использования памяти. Каждая карта признаков, а также карта входного изображения и выходной слой – имеют своё состояние, поведение, что хорошо иллюстрируется на рис. 3.
На этапе создания нейронной сети, каждый слой получает представление о связях карт признаков текущего слоя с соседними, например карты признаков C1 слоя связаны с входным изображением и картами признаков S1 слоя. Представленная физическая модель нейронной сети, описывает принцип синтеза этих связей на этапе создания сети. Распознаватель – структурная модель нашей сети, строится на этапе создания объекта нейронной сети. Менеджер сети управляет работой сети: посылает сигнал к началу процесса обучения, распознавания или построения сети. Этап автоматического построения сети включает в себя формирование дерева связей в памяти (карт признаков), определение всех входных и выходных сигналов каждого нейрона каждой карты. Каждая карта признаков хранит в себе массив ссылок на предшествующие карты признаков и последующие, что отражено в верхней части рисунка. Информационная часть (INFO) карты – это нейрон, весовые коэффициенты, вектор ошибки и другие данные. Построитель сети генерирует алгоритм, согласно которому, для каждого слоя, все нейроны каждой карты признаков получат именно свои входные сигналы, а также отправят выходные сигналы в нужную позицию карты. Таким образом, на этапе построения сети, строится полная архитектура нейронной сети, т.е это этап подготовке сети к этапу распознавания. После этого менеджер сети может отправить сигнал сети к запуску процесса распознавания. Этап распознавания образов – вычисление по определенному критерию выходного значения по входным данным. При работе СНС в штатном режиме (распознавание) она использует алгоритм прохода сигналов по сети, который генерирует построитель сети. Весовые коэффициенты, входное изображение сети, а также результаты хранятся в памяти.
Рисунок 3 – Физическое представление свёрточной нейронной сети
Рассмотрим работу построителя сверточной сети. Структура сети создается динамически. Менеджер посылает сигнал «построить сеть». Построитель сети рассматривает каждый выход в отдельности. Для вычисления выбранного выхода требуется знать локальную рецептивную область для выходного нейрона. Для каждого нейрона имеется набор связей в каждом из слоев – входных (In) и выходных (Out) связей. Так как последний слой связан со всеми выходами слоя S2, то его нейроны должны знать параметры своей рецептивной области. Нейронам слоя S2 также требуются входные значения – выходы сверточного слоя C2. На рис. 3 видно (верхняя часть), как пара C-S слоев посылают друг другу сообщения. Построение связей продолжается от слоя к слою до тех пор, пока не выстраивается так называемое «дерево связей» нейронов. В результате, на входной образ поступает сигнал «вернуть выходное значение сканирующего окна» со слоя C1. Для каждого выходного нейрона строится свое такое дерево. Зная выход с входного слоя, можно вычислить выход для C1 слоя, затем S1 и так далее, до Res слоя, используя построенное дерево связей фрагмента многослойной нейронной сети для одного нейрона выходного слоя. После окончания синтеза в памяти будет сформирована полная структура нейронной сети со всеми связями.
В целом, можно сказать, что такой подход имеет как преимущества, так и недостатки. К преимуществам стоит отнести, во-первых, удобство программирования, во-вторых, экономия памяти при программном моделировании многоуровневой и многосвязной СНС. Каждый слой точно знает откуда взять данные для его входа. К недостаткам можно отнести возрастание времени на программное моделирование СНС [5].
Выводы
В данной работе рассмотрены логическая и физическая модели архитектуры СНС. Показана связь этих моделей между собой и с параметрической моделью, что очень важно для качественного проектирования программной модели СНС. Логическая модель важна на первом этапе абстрактного представления о работе сети, т.к. описывает структуру объектов и их иерархию, реализуется диаграммой классов. Однако логическая модель СНС не может описать динамику поведения системы. Поэтому на заключительном этапе многомодельного подхода должна быть построена физическая модель СНС, описывающая связи слоёв на программном уровне, а также поведенческий аспект объектов СНС.
Литература
[1] Федяев О.И., Махно Ю.С. Система распознавания зашумлённых и искажённых графических образов на основе нейронной сети типа неокогнитрон // Одиннадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-2008: Труды конференции. Т. 3. – М .: ЛЕНАНД, 2008. – 464 с.
[2] Le Cunn Y, Bengio Y., “Convolutional neural networks for Images, Speech and Time
Series”, AT&T Laboratories, 1995, – Р. 1 – 14.
[3] Умяров Н.Х., Федяев О.И. Параметрическая модель свёрточной нейронной сети // VI международная научно-техническая конференция студентов, аспирантов и молодых научных работников «Информатика и компьютерные технологии»: Т. 2 – Донецк, ДонНТУ, 2010. – 292с.
[4] Федяев О.И., Куликов С.А. Многоуровневые нейронные модели типа неокогнитрон // Труды 8-й Всероссийской конференции «Нейрокомпьютеры и их применение» НКП-2002, 21-22 марта 2002. – М.: Век книги, 2002 – с. 489-494.
[5] Костецкая Г.Ю., Федяев О.И. Распознавание образов на основе свёрточных нейронных сете // V научно-техническая конференция студентов, аспирантов и молодых учёных «Компьютерный мониторинг и информационные технологии»(КМИТ-2009): – Донецк, ДонНТУ, 2010. – с.274-276