2.1.2 Топология свёрточной нейронной сети
Одной из важнейших проблем построения систем распознавания образов на основе нейронных сетей является то, что возникает необходимость подбора значений ряда параметров, имеющих отдаленное отношение к данной предметной области - параметров, касающихся самой нейронной сети: количество слоев, количество нейронов в каждом конкретном слое, вид функции активации нейрона.
Это приводит к тому, что в процессе построения системы при-ходится искать не только наиболее оптимальную модель данной предметной области, но и наиболее оптимальное сочетание параметров нейронной сети - строить и обучать множество сетей, соответствующих определенной модели и определенным параметрам. Процесс обучения нейронной сети достаточно продолжителен, а эффективного метода, позволяющего определить оптимальные параметры сети без ее предварительного обучения - нет, следовательно, поиск оптимальных параметров ведется «в слепую», занимает продолжительное время, приводит к дороговизне систем на нейронных сетях.Проведенное моделирование различных классических нейросетевых структур (многослойный персептроны, радиально-базисные нейронные сети, карты Кохонена) показало, что применение данных нейросетевых архитектур к данной задаче является неэффективным, а именно:
данные нейронные сети не обеспечивают необходимый уровень надежности детектирования лица. При проведении моделирования уровень правильно классифицированных изображений не превышал 70%;
являются очень громоздкими и медленными для применения к задаче выделения сюжетной части для систем видеоконтроля и видеонаблюдения;
- не обладают инвариантностью к изменениям различных внешних условий (условий съемки, искажениям, качеству изображения).
Именно поэтому было решено продолжить исследования в направлении свёрточных нейронных сетей.
Исходя из этого и успешного применения свёрточных нейронных сетей к решению данной задачи в работе [62], было принято решение, что наиболее оптимальным будет модификация и дальнейшее усовершенствование предложенной в данной работе нейронной сети.
Топология предложенной нами нейронной сети, изображена на рисунке 2.4.
Данная нейронная сеть состоит из 6 слоев. Входными данными нейронной сети являются полутоновые изображения размером 32x36 пикселей, которые классифицируются как лицо или нелицо.Так как, задача решаемая нейронной сетью - классификация, то для решения данной задачи нейронной сети достаточно одного выхода. Выходное значение нейронной сети находится в интервале [-1;1], что соответственно означает отсутствие или присутствие лица на классифицируемом изображении. Рассмотрим структуру данной нейронной сети в деталях.
Входной слой размером 32x36 нейронов не несет какой-либо функциональной нагрузки и служит лишь для подачи входного образа в нейронную сеть. Следом за входным слоем находится свёрточный слой С1. Слой С1 состоит из 5 свёрточных плоскостей и выполняет свёртывание входного изображения с помощью синаптической маски размером 5x5, таким образом слой С1 осуществляет 5 свёрток входного изображения. Каждая плоскость выделяет из входного изображения свои индивидуальные особенности, таким образом давая нейронной сети инвариантность к сдвигу и повороту входного изображения.
Размер свёрточной плоскости определяется в соответствии со следующим выражением:
wc = wu-K +1, hc = hu-K +1.
где Wc,/*c - ширина и высота свёрточной плоскости соответственно;
- ширина и высота плоскости предыдущего слоя; К - ширина (высота) окна сканирования.
Исходя из соотношений для расчета размера свёрточной плоскости имеем, что размер плоскости свёрточного слоя С 1-28x32 нейрона.
Каждая плоскость слоя С1 имеет собственную синаптическую маску размером 5x5 и нейронное смещение. Рецептивные области нейронов пересекаются. Нейроны извлекают одни и те же особенности входного изображения, независимо от их точного местоположения. Слой N2 Таким образом слой С1 имеет всего лишь 130 настраиваемых параметров (синапсов).
Следующий за слоем С1, подвыборочный слой S1 состоит из 5 карт характеристик и обеспечивает локальное усреднение и подвыборку. После операции подвыборки, точное местоположения и специфические признаки каждой особенности становятся менее важными, что дает довольно большую степень инвариантности данной сети.
Таким образом, слой S1 необходим для придания нейронной сети инвариантности к изменению масштаба и сдвигу входного изображения. Затем результат работы нейрона пропускается через активационную функцию. В качестве активационной функции используется гиперболический тангенс.Каждая плоскость слоя S1 связана лишь с одной плоскостью слоя С1. Размер каждой плоскости слоя S1 14x16 нейронов, что вдвое меньше чем размер плоскости предыдущего слоя. Каждая плоскость слоя S1 имеет единствен-ный синаптический коэффициент и нейронное смещение, что дает в итоге 10 настраиваемых параметров.
Свёрточный слой С2 состоит из 20 плоскостей, слои S1 и С2 перекрестно связаны. Различные карты особенностей необходимы для извлечения различных характеристик, потому что они получают различные наборы входов. Плоскости слоя С2 формируются следующим образом, каждая из 5 плоскостей слоя S1 свернута 2 различными синаптическими масками 3x3, обеспечивая 10 плоскостей в С2, другие 10 плоскостей С2 получены, суммируя результаты 2 свёртываний на каждой возможной паре плоскостей слоя S1, как показано в таблице 2.1. Таким образом, сети добавляется способность объединять различные виды особенностей, чтобы составлять новые, менее зависящие от искажений входного изображения.
Размер плоскости слоя С2 - 12x14 нейронов. Таким образом, данный слой имеет 290 синаптических коэффициентов. Таблица 2.1- Карта связей между слоем С2 и SL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 X X X X X X 2 X X X X X X 3 X X X X X X 4 X X X X X X 5 X X X X X X
Слой S2 состоит из 20 плоскостей, по каждой на одну плоскость слоя С2, размер каждой плоскости 6x7 нейронов. Каждая плоскость слоя S2 имеет единственный синаптический коэффициент и нейронное смещение, что дает в итоге 40 настраиваемых параметров.
Слои N1 и N2 содержат простые сигмоидальные нейроны. Роль этих слоев состоит в обеспечении классификации, после того, как выполнены извлечение особенностей и сокращение размерности входа.
В слое N1 находится 20 нейронов (по одному на каждую плоскость слоя S2), каждый нейрон полностью связан с каждым нейроном только одной плоскости слоя S2, он выполняет взвешенное суммирование своих 42 входов, добавляет нейронное смещение и пропускает результат через активационную функцию. Таким образом, данный слой содержит 860 синаптических коэффициентов.Единственный нейрон слоя N2 полностью связан со всеми нейронами слоя N1. Роль этого нейрона в вычислении окончательного результата классификации. Выход этого нейрона используется для классификации входного образа на лица и не лица.
Использование принципа объединения синаптических коэффициентов дает эффект уменьшения количества настраиваемых параметров нейронной сети. Данная нейронная сеть имеет 1351 синаптический коэффициент.
При решении задачи был проведен анализ и модификация нейронной сети предложенной в работе [62], а именно:
В слой С1 была добавлена дополнительная карта характеристик, что позволяет сети улучшить свои способности к обобщению, и увеличить инвариантность к различного рода преобразованиям и искажениям входного сигнала.
Были проведены модификации алгоритма обучения, описанные в разделе 2.2, что позволило улучшить качество обучения нейронной сети.
Был модифицирован процесс функционирования нейрона, а именно заменена стандартная активационная функция на активационную функцию, ука-занную в разделе 2.2.3, что позволило ускорить процесс обучения нейронной сети, увеличить точность обучения, улучшить процесс функционирования.
Преимущества внесенных в топологию нейронной сети изменений будут рассмотрены в следующей главе.