Назад в библиотеку


 

УДК 004.931

 

Т. И. Труханов, О. И. Федяев

Донецкий национальный технический университет, г. Донецк

кафедра прикладной математики и информатики

 

МОДЕЛЬ МНОГОСЛОЙНОЙ НЕЙРОСЕТИ С АРХИТЕКТУРОЙ НЕОКОГНИТРОНА

 

Аннотация

Труханов Т. И., Федяев О. И. Модель многослойной нейросети с архитектурой неокогнитрона. Выполнен параметрический анализ многослойной нейросети типа неокогнитрон, спроектирована программная модель нейросети. Проведен ряд экспериментов с целью изучения процессов обучения и распознавания на примерах простых графических изображений.

Ключевые слова: многослойные нейросети, архитектура неокогнитрона, алгоритмы обучения и распознавания

 

Введение. Искусственные нейронные сети в настоящее время становятся эффективным инструментом для решения сложных задач распознавания образов, управления, прогнозирования и т. п. Среди множества различных нейросетевых архитектур сейчас большие надежды возлагают на многослойную нейросеть типа неокогнитрон. В основу архитектуры неокогнитрона положена организация зрительной системы человека. Первая модель неокогнитрона была разработана в 1980 г. японским учёным К.Фукушимой [1] специально для решения задач распознавания образов, подверженных различным искажениям. Эта модель являлась последующим развитием нейросети когнитрон [2].

Архитектура нейросети типа неокогнитрон очень сложная, поэтому требует всесторонней настройки на конкретную задачу. Качество нейросетевого решения задачи распознавания во многом зависит от понимания принципов функционирования многопараметрической архитектуры неокогнитрона. Примеры решения задач распознавания образов и исследование влияния архитектурных особенностей неокогнитрона на качество распознавания рассмотрены в работах [3,4,5]. К нерешённым вопросам можно отнести отсутствие точной формулировки и решения задачи оптимизации многочисленных параметров неокогнитрона, адекватных природе распознаваемых графических и зрительных образов.

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

Постановка задачи. На теоретико-множественном уровне параметрическую модель многослойного неокогнитрона NC (NeoCognitron) можно представить в виде кортежа:

где Lколичество модулей в неокогнитроне; l – номер модуля, 1≤ lL; количество плоскостей в одном слое (s или C) l-го модуля; Х, Y – соответственно входы (выходы) неокогнитрона для приёма (снятия) входных (выходных) сигналов; – весовой коэффициент связи m-го входа (ij) нейрона р-й плоскости S-го слоя модуля l с выходом ν-го нейрона (– координаты нейрона в области связи); – область связи на p-й плоскости С слоя (l-1)-го модуля; – весовой коэффициент связи n-го входа (ij) нейрона р-й плоскости слоя С модуля l с выходом ν-го нейрона из его рецептивной области (); – область связи для (ij) нейрона, расположенная на р-й плоскости S-го слоя модуля l.

В слоях S и C каждого модуля неокогнитрона имеются тормозящие нейроны, которые в кортеже описываются параметрами , . Это постоянные коэффициенты тормозящего входа для всех нейронов соответственно слоёв S и С модуля l. Функции активации базовых нейронов обозначены как и , а функции активации тормозящих нейронов – и .

Параметрическая модель и многослойная структура неокогнитрона с последовательными связями позволяет в явном виде получить функциональную зависимость выходных сигналов Y нейросети от её входных сигналов Х:

Задача состоит в разработке такой имитационной (программной) модели неокогнитрона и алгоритма его обучения, которые в совокупности минимизируют функционал и тем самым настраивают (обучают) его распознавать множество требуемых образов :

,

где a, bнастраиваемые весовые коэффициенты неокогнитрона; реальные и желаемые выходные сигналы неокогнитрона; – выбранная норма вектора.

Модель неокогнитрона. Неокогнитрон является иерархической нейронной сетью, состоящей из достаточно большого числа идущих друг за другом слоёв и имеющих неполные (можно сказать достаточно редкие) связи между слоями. На рис.1 представлена упрощенная структура неокогнитрона. На нём изображены три модуля нейросети, в каждом из которых имеются два типа слоёв: «простые» (S-слои, от слова simpl) и «комплексные» (C-слои, от слова complex), которые состоят соответственно из «простых матриц» (распознают входную информацию) и «комплексных матриц» (обобщают распознанную информацию). С целью простоты рисунка на нём не показаны плоскости с тормозящими нейронами. Из приведенной структуры видно, что размер первого слоя совпадает с размером входного образа (U0) и к последнему слою размеры плоскостей уменьшаются. В последнем слое в каждой плоскости находится только по одному нейрону.

Для построения программной модели неокогнитрона была проведена его объектно-ориентированная декомпозиция. В результате выделены следующие основные объектные компоненты нейросети: S-слой, C-слой, Модуль и Нейросеть.

 

Рисунок 1Структура многослойной нейросети типа неокогнитрон

 

UML-диаграмма классов, которая описывает логическую структуру программной модели неокогнитрона представлена на рис. 2. На ней каждая отдельная сущность представлена в виде отдельного класса со своими атрибутами и методами. Управляющим классом является класс Нейросеть, который агрегирует в себе объекты класса Модуль, который в свою очередь агрегирует в себе объекты классов S-слой и C-слой. Обучение нейросети происходит с помощью вызова методов обучить(), выбрать представителя(), усилить коэффициенты(), а распознавание инициируется методами распознать() и посчитать выходы().

 

Рисунок 2 – Диаграмма классов программной модели многослойной нейросети типа неокогнитрон

 

Для вычисления выходных сигналов нейронов S-плоскости использовалась формула (1) [1]. В этой формуле учитываются выходные сигналы тормозящей плоскости , которые вычисляются по формуле (2).

(1)

(2)

Упрощенная модель S-нейрона представлена на рис. 3а. Входной слой U0 обычно представляется как нулевой комплексный слой. Каждый нейрон как простого, так и комплексного слоя получает сигналы не от всех нейронов, а лишь от некоторых, с которыми он связан. Такие нейроны образуют «область видимости».

 

Анализ работы двухслойного неокогнитрона. Для обучения неокогнитрона применялась стратегия «обучение без учителя». Настраиваемыми коэффициентами выступали коэффициенты от нейронов комплексного слоя к нейронам простого слоя и коэффициент от тормозящего нейрона к нейрону простого слоя. Коэффициенты от комплексных нейронов к тормозящему нейрону и от простых нейронов к комплексным являются фиксированными.

Рисунок 3Модель S-нейрона: а – структура S-нейрона; б – зависимость выходного сигнала нейрона от входного при разных соотношениях коэффициентов усиления и торможения (a:b)

 

На этом рисунке используются следующие обозначения:

- Ui – входные сигналы;

- VC – выходные сигналы тормозящих нейронов;

- ai – коэффициенты усиления;

- bi – коэффициенты торможения;

- y – выходные сигналы;

- φ(g) – функция активации.

В первую очередь были проведены исследования по определению зависимости соотношения между коэффициентами усиления ai и торможения b на обучение S-нейрона. Для этого был проведен эксперимент, результаты которого представлены на рис. 3б (с целью упрощения число входов принималось n=1). Из графика следует, что в зависимости от соотношения коэффициентов выходной сигнал S-нейрона с ростом входного сигнала устанавливается на различных значениях. Например, для соотношения a и b, как 3 к 1 выходной сигнал устанавливается на уровне, близком к значению 2.

 

Рисунок 4Выходные сигналы S-нейронов после их обучения на простейшие графические примитивы

 

Далее был проведен эксперимент с обучением одного слоя S-нейронов, состоящего из трёх плоскостей. В качестве образов были взяты три графических примитива: линии «вертикаль», «горизонталь» и «диагональ». Каждая плоскость обучалась на отдельный образ без учителя.

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

По результатам эксперимента выяснилось, что после длительного обучения выходные сигналы S-нейронов стабилизируются на значении близком к 1. А коэффициенты усиления и торможения в ходе настройки приходят к соотношению a:b=2:1, что соответствует эксперименту, показанному на рис.3б.

На рис.4 показаны значения выходных сигналов нейронов первого слоя неокогнитрона после обучения их на простые графические примитивы. Входные образы показаны на плоскости U0. Плоскость Vc0 является плоскостью с тормозящими нейронами. В S-слое представлены три плоскости Us1, которые обучены на распознавание разных графических примитивов. Слой C-нейронов обозначен как Uc1.

 

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

 

Список литературы

 

1. Kunihiko Fukushima, Sei Miyake Neocognitron: a new algorithm for pattern recognition tolerant of deformations and shifts in position – Great Britain: Pattern Recognition Vol 15, No 6, 1982. – pp 455-469.

2. Уоссермен Ф. Нейрокомпьютерная техника. Теория и практика. – М.: Мир, 1992.

3. Руденко О.Г., Бодянский Е.В. Основы теории искусственных нейронных сетей. Уч. пособие. – Харьков: ТЕЛЕТЕХ , 2002. – 317 с.

4. Федяев О.И. Куликов С.А. Применение многоуровневых нейронных сетей типа неокогнитрон для распознавания символов // Сб. тр. междунар. науч. конф. «Нейросетевые технологии и их применение». – Краматорск: ДГМА, 2003. - С. 247-256.

5. Федяев О.И., Махно Ю.С. Распознавание графических образов при наличии искажений с помощью неокогнитронных нейросетей // Тр. 8-й междунар. науч. конф. «Интеллектуальный анализ информации ИАИ-2008». – К.: Просвіта, 2008. - С. 512-521.