Научная статья на тему 'Осцилляторная нейронная сеть классификатор'

Осцилляторная нейронная сеть классификатор Текст научной статьи по специальности «Математика»

CC BY
1331
229
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
нейрон / осцилляторная нейронная сеть / точечные отображения / неподвижные точки / предельный цикл / классификация / когерентное сложение / neuron / oscillatory neural network / point map / critical point / boundary cycle / classification / coherent combining

Аннотация научной статьи по математике, автор научной работы — Стоянов Александр Кириллович

Рассматриваются особенности работы нейрона с локальной обратной связью. Показано, что возможен переход нейрона в колебательный режим работы. Это свойство положено в основу создания сети, решающей задачу классификации объектов. Даётся методика расчёта параметров нейронов сети. Приводятся результаты экспериментальной проверки работы такой сети.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Стоянов Александр Кириллович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The features of operation of a neuron with local reverse coupling have been considered. It was shown that neuron transfer to oscillation operation conditions is possible. This property is taken as a principle of developing a network solving the problem of object classification. The technique of network neuron parameter design is given. The results of experimental check of such network operation are introduced.

Текст научной работы на тему «Осцилляторная нейронная сеть классификатор»

ского обслуживания и ремонта превышает 90%.

3. Анализ контролируемых вторичных параметров во времени с использованием контрольных карт позволяет отслеживать динамику происходящих изменений в эксплуатационных характеристиках технологического оборудования

и обоснованно прогнозировать сроки и содержание его наладочных работ и ремонтов.

4. Периодическое обновление карт на оперативных горизонтах планирования технического обслуживания и ремонта позволяет использовать их в любом диапазоне изменения параметров оборудования.

СПИСОК ЛИТЕРАТУРЫ

1. ГОСТ Р 51814.3-2001. Методы статистического управления процессами. - М: Госстандарт России, 2001. - 40 с.

2. Рыбаков И.Н. Статистическое управление процессами (SPC). Ссылочное руководство. Корпорация Крайслер, Форд Мотор компании и Дженерал Моторс корпорейшн: Пер. с англ. -

Н. Новгород: ООО СмЦ «Приоритет», 2007. - 224 с.

3. ГОСТ Р 50779.42-99 (иСо 8258-91). Статистические методы. Контрольные карты Шухарта. - М.: ИПК «Изд-во стандартов», 1999. - 32 с.

4. Миттаг Х.-Й., Ринне Х. Статистические методы обеспечения качества: Пер. с нем. - М.: Машиностроение, 1995. - 616 с.

5. Александрова ТВ., Бикинеева Ю.Л., Громаков Е.И., Павлов В.М., Малышенко А.М. Интегрированная система автоматизации кабельного производства // Известия Томского политехнического университета. - 2009. - Т. 314. - № 5. - С. 69-75.

Поступила 17.09.2010 г.

УДК 004.89

ОСЦИЛЛЯТОРНАЯ НЕЙРОННАЯ СЕТЬ - КЛАССИФИКАТОР

А.К. Стоянов

Томский политехнический университет E-mail: stoj-ak@ad.cctpu.edu.ru

Рассматриваются особенности работы нейрона слокальной обратной связью. Показано, что возможен переход нейрона в колебательный режим работы. Это свойство положено в основу создания сети, решающей задачу классификации объектов. Даётся методика расчёта параметров нейронов сети. Приводятся результаты экспериментальной проверки работы такой сети.

Ключевые слова:

Нейрон, осцилляторная нейронная сеть, точечные отображения, неподвижные точки, предельный цикл, классификация, когерентное сложение.

Key words:

Neuron, oscillatory neural network, point map, critical point, boundary cycle, classification, coherent combining.

Введение

Существует класс нейронных сетей - осцилля-торных нейронных сетей, в котором рассматриваются колебательные аспекты их функционирования [1]. Изучение таких сетей стимулируется результатами нейрофизиологических экспериментов, указывающих на существенную роль колебательных процессов в работе нервной системы. Функциональной единицей осцилляторных нейронных сетей, как правило, является осциллятор, т. е. объект с колебательными свойствами. В зависимости от целей исследования выбирается не только определенная архитектура связей сети, но и конструкция отдельного осциллятора.

Предметом данной работы является моделирование колебательного режима нейрона и создание на его основе нейронной сети-классификатора.

Модель нейронного осциллятора

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

Рассмотрим нейрон, который охвачен локальной обратной связью, то есть выходной сигнал нейрона подаётся на его вход [2, 3]. Таким способом реализуется точечное отображение значения входного сигнала нейрона на его активационной функции.

Это отображение может быть записано соотношением вида х„+1=Дх„), где «=1,2,3, ... - номер итерации отображения входного значения, аДх«) - активационная функция нейрона. Положим, что в общем случае Дх) является сигмоидой с коэффициентом наклона а>0, смещением ¡3 и коэффициентом /и>0:

для нейронных сетей вид активационной функции. Производная функции (1) имеет вид:

/'(х) = аехр(ах + Р) / 2( х)/ ц.

Очевидно, что при указанных выше параметрах активационной функции производная /(х)>0 для любого х. В этом случае рассматриваемое отображение имеет три неподвижных точки, из которых одна неустойчивая, а две - устойчивые [4]. Именно этот факт в [2] положен в основу нейронной сети -классификатора, а в [3] - в основу сети, решающей задачу кластеризации.

Совсем иной характер имеет это отображение для случая /(х)<0. Здесь есть неподвижная точка, которая в зависимости от вида функции/(х) может быть устойчивой или неустойчивой. Изменение вида функции /(х) может привести к бифуркации, при которой устойчивая неподвижная точка теряет устойчивость, и рождается двукратный устойчивый цикл.

Рис. 1. Двукратный устойчивый цикл Хт и X™;,

На рис. 1 с помощью диаграммы Ламерея [4] представлен процесс отображения произвольных входных значений X и Х2 на активационной функции (1) для /(х)<0. Здесь X - неустойчивая неподвижная точка отображения, определяемая из уравнения Х=/ (X), Хшп и Хтах - двукратные неподвижные точки устойчивого цикла. Видно, что для любого Хш^<х<Хшах процесс отображения заканчивается периодическим повторением значений Хшп и Хшах, то есть нейрон переходит в колебательный режим работы и превращается в нейронный осциллятор с двумя состояниями. Из рис. 1 видно, что это повторение имеет разный вид для точек, расположенных слева и справа от неподвижной точки X. Действительно, для точки Х1 повторение начнётся со значения Хшах на четвёртом шаге отображения, а для точки Х2 - на третьем. Следовательно, в дальнейшем, на одном и том же шаге отображения у этих точек будут разные значения: у одной Х^, у другой - Хшах. Иными словами, входные значения нейрона х<Х и значения х>Х порождают противофазные выходные колебания значений.

Таким образом, для любого входного значения нейрона х из интервала Хшп<х<Хша после нескольких шагов отображения на выходе установится колебательный процесс, который можно записать в обычном для колебаний комплексном виде:

М М

у_(п0) = £а0т) + е‘жп" £а^Ы9^. (2)

ш=\ ш = \

Здесь У - выходное значение нейрона, ^(Хщт+Х^)^ - постоянная составляющая, а1=(Хшах-Хш,п)/2 - амплитуда выходного значения, п - номер шага отображения, на котором используется выходное значение, р - фазовый сдвиг, зависящий от х (р=0 при х<Хи р=пдля х>Х).

Проанализируем теперь, каким образом в нейронной сети возможна реализация ситуации, соответствующей /(х)<0. Из выражения для производной /(х) видно, что для изменения её знака достаточно взять коэффициент наклона а<0. Возможен и другой способ получения нужной ситуации. Рассмотрим отображение на вспомогательной функции g(x)=-/(x), где/х) задаётся ур. (1). Очевидно, g'(x)=-/(x), то есть вспомогательная функция имеет отрицательную производную. Следовательно, при отображении на этой функции можно получить двукратный устойчивый цикл и перевести нейрон в осцилляторный режим работы. Для указанного отображения имеем g(xn)=xn+1 или /хп)=-хп+1. Видно, что отображение на функции g(x) эквивалентно отображению на функции /(х), при котором на каждом его текущем шаге значение используемого аргумента равно значению функции на предыдущем шаге, взятому с противоположным знаком. Перемену знака функции / (х) можно осуществлять при выполнении обратной связи на нейроне, умножая на каждом шаге отображения выходное значение нейрона на -1.

Заметим, что вспомогательную функцию g(x) можно взять в несколько ином виде, а именно: g(x)=C-/(x), где С - произвольная константа. В этом случае производная вспомогательной функции также будет отрицательной, что приведёт к созданию колебательного режима работы нейрона. Для реализации этой ситуации достаточно при выполнении обратной связи на каждом шаге выходное значение нейрона вычитать из константы С.

Структура и работа сети

Практически полезным свойством нейронного осциллятора является то, что он даёт одну и ту же выходную величину для входных величин из интервала между неустойчивой и двукратной неподвижной точкой отображения. Рассмотрим, что происходит в сети из нейронных осцилляторов на упрощённом примере задачи классификации. Пусть, для определённости, сеть должна различать сигналы, относящиеся к двум разным классам. Каждый класс имеет М признаков (т-м признаком будем считать значение т-го отсчёта классифицируемого сигнала, т<М). Каждый признак принимает числовое значение х® (/=1,2 - номер класса),

которое имеет статистический разброс для своего класса вокруг некоторого среднего значения. Пусть все наблюдаемые числовые значения любого т-го признака для этих классов лежат в раздельных, не-пересекающихся числовых диапазонах [г1(т)Д(т)] и [г2(т)Д(т)] где г1(т), г2(т) - минимальные, а Л/т), Л2(т) - максимальные значения т-го признака для первого и второго классов, соответственно. Требуется построить сеть, которая определяет, к какому классу относится предъявленный ей сигнал.

Очевидно, что искомая сеть должна иметь во входном слое М нейронных осцилляторов (то есть нейронов, охваченных локальной обратной связью). У каждого т-го нейрона параметры а, Р и л подбираются такими, чтобы неустойчивая точка отображения Хт* разделяла числовые значения этого признака, то есть Я1(т)<Хт'<г2(т). Кроме того, параметры должны быть такими, чтобы для обоих классов значения двукратных неподвижных точек устойчивого цикла для соответствующих признаков ХПП и Хтт различались, а числовые значения х® попадали в интервал между ними. Такой подбор приводит к тому, что на каждом нейроне диапазоны входных значений признака будут создавать разные, но постоянные для своего класса, выходные значения.

Пусть после установления колебательного режима на всех нейронах значения выходных сигналов с нейронов на некотором шаге п0 отображения суммируются на нейроне выходного слоя. Для каждого из двух классов такая сумма $;(п0), 7=1,2 имеет вид:

Б; Ю =£У (Х,^, И0).

Б- К) =1

(т) _

а (т)е19(х<т))

мы при заданном значении п0 определяется видом последовательности фазовых множителей еМх-]. Действительно, пусть есть два сигнала, для которых у признаков при т=1,2,...,М-1 фазовые множители совпадают. Ясно, что достаточно иметь разные значения фазового множителя у М-го признака для этих классов, чтобы результирующая сумма (3) дала для них разные значения. Очевидно, что количество различающихся сумм $(п0), а, следовательно, и различимых классов равно количеству различающихся последовательностей /0. Так как выходное значение сигнала нейрона на некотором шаге п0 принимает одно их двух возможных значений, то для Мвходных нейронов общее количество таких последовательностей /0=2М.

Определение параметров нейронного осциллятора

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

Параметры нейрона а, Р и л достаточно просто определить, обратившись к рис. 1. Очевидно, что двукратные неподвижные точки устойчивого цикла Хпп и Хпах удовлетворяют уравнениям

Д(ХПп, а,р,л) Хпах и Д(Хпх, а,рл) Хпп, где активационная функция Дх) задаётся соотношением (1). При известных Хпп, Хпах и л эти уравнения составляют систему, которая легко решается аналитически относительно неизвестных а и р. Выбор Хпп и Хпах обсуждался ранее. Решение системы имеет вид:

1п(т/т^

а =-

Здесь У определяется выражением (2). Непосредственные вычисления Б-(п0) с учётом (2) дают выражение:

М М

Р = 0,51п( т/т^

X — X

тах тт

X + X

тах______тт

X — X

тах тт

+ 0,51п( тт1).

Здесь:

(3)

т=1 т = 1

где индекс т обозначает принадлежность значения к т-му признаку одного из классов. При соблюдении указанных выше требований к неподвижным точкам предельного цикла постоянные составляющие и амплитуды выходных колебаний будут неизменными для одного признака, но отличаться от соответствующих значений для других признаков. Множитель перед второй суммой в (3) равен е‘'""0=±1 для чётного значения и для нечётного значения п0, соответственно. Кроме того, для противофазных колебаний описанного выше типа, очевидно, что е‘т(х')=е‘т‘'х') причём \е‘т(х')\=1. Следовательно, вклад одной и той же амплитуды а1т для разных классов также будет отличаться своим знаком, и, значит, сумма 81(п0)фБ1(п0), то есть каждая из сумм полностью и однозначно характеризует один из классов.

Рассмотрим ситуацию, когда нужно различать принадлежность к одному из нескольких классов. Из анализа (3) понятно, что величина второй сум-

т = -

Л— Xm

Л— Xт

Полученные выражения для а и р содержат в качестве задаваемого параметра коэффициент /л. Изменяя значение л, можно менять а и р, то есть менять форму функции Дх). Это, в свою очередь, влечёт за собой изменение значения неподвижной неустойчивой точки X. Действительно, величина Х определяется из очевидного уравнения Х=ДХ,а,Р,л), которое также просто решается численно. Изменяя X, можно разделять числовые значения т-го признака разных классов, что приводит к изменению фазовых множителей е‘ф-], и, следовательно, позволяет управлять значением суммы (3).

Экспериментальная проверка

Предметом проведённых экспериментов была проверка возможностей создания колебательного режима нейрона, а также использования осцилля-торной нейронной сети для классификации сигналов. Моделирование работы нейрона и сети прово-

п=1

дилось средствами табличного процессора MS Excel, где отдельный нейрон представлял собой ячейку таблицы с записанной в ней формулой преобразования входного значения.

На рис. 2 представлено значение выходного сигнала нейрона, охваченного обратной связью, при которой на каждом шаге отображения значение сигнала умножается на -1.

Рис. 2. Колебательный режим нейрона для а=5,82, ¡3=3,24 и ц=1,5

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

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

Сеть тестировалась на так называемой задаче ирисов Фишера. Задача классификации ставится следующим образом. По известным значениям четырех признаков цветка ириса необходимо отнести ирис к одному из трех классов: Setosa, Versicolor или Virginica. Цветок характеризуется набором четырёх признаков: длина и ширина чашелистика, длина и ширина лепестка. Исходная выборка состоит из 150 наборов признаков цветков, по 50 наборов в каждом классе [5]. В классе 40 случайно выбранных наборов составляли обучающую выборку, 10 - тестовую. Обучающая выборка использовалась для расчёта параметров нейронов. Её размер достаточен, чтобы считать, что значения признаков в классе распределены по нормальному закону вокруг некоторого своего среднего значения. Тестовая выборка использовалась для верификации работы созданной нейронной сети.

При выводе (3) предполагалось, что входные значения признаков для любого нейрона располагались в неперекрывающихся областях. Это обеспечивало равноправное участие выходных сигналов всех нейронов в формировании суммы S¡(n0). Иными словами, все признаки были классифици-

рующими. В реальной ситуации у некоторых признаков значения могут существенно перекрываться. Такие признаки нельзя считать классифицирующими, и их лучше исключить из формирования суммы ^-(п0). Выбор исключающего правила обсуждался в [3]. В соответствии с ним признаки классифицируемых объектов можно разбить на две группы. У одной из них дисперсии будут значительно превышать дисперсии другой группы. И тогда сумму £Дп0) следует вычислять для тех признаков, которые входят в группу с большей дисперсией.

1 слой

Рис. 3. Структура осцилляторной сети-классификатора

Для исследуемой выборки по каждому из характеризующих её признаков вычислялось относительное стандартное отклонение. Эти значения для первого и второго признаков, из перечисленных выше, составили 0,15, для третьего и четвёртого признаков, соответственно, 0,48 и 0,70. Видно, что значения отклонения для третьего и четвёртого признаков более чем в 3 раза превосходят значения первых двух признаков. На основании этого два первых признака отнесены к неклассифицирующим, и в дальнейшем они не обрабатывались.

Таким образом, первый слой осцилляторной сети содержал два входных нейрона, параметры которых определялись так, как это обсуждалось выше. Для каждого признака Xmin и Х^ выбирались таким образом, чтобы все имеющиеся значения признака для обучающей выборки оказались внутри интервала [Xmin, XmJ. Далее менялось значение л и вычислялись а и 3, а затем определялось положение неустойчивой точки X. Для четвёртого признака точка X была подобрана таким образом, что она полностью отделила значения класса Setosa от значений других классов. Для третьего признака точка X делит классы Versicolor и Virginica таким образом, что три значения класса Versicolor попадают в класс Virginica, и три значения класса Virginica попадают в класс Versicolor. То есть признак создавал на выходе нейрона для классов Setosa и Versicolor синфазные, а для класса Virginica противофазные колебания, но при этом по три значения при обучении ошибочно относились не к своему классу.

На рис. 4 представлены изменения выходных значений нейрона у третьего признака для разных классов.

Выходные значения от обоих нейронов когерентно суммировались на нейроне второго слоя. Суммирование проводилось для двух соседних моментов времени, измеренных в шагах отображения. Это делалось для того, чтобы продемонстрировать независимость классификации от выбора момента суммирования выходных значений. Очевидно, что каждый класс полностью характеризуется своим значением суммы $(п0), полученным либо на чётном, либо на нечётном шагах режима установившихся колебаний.

Класс Момент времени суммирования (в шагах отображения)

15 16

Вых. значение Кол-во объектов Вых. значение Кол-во объектов

Setosa 1,2 40 0,1 40

Versicolor 0,9 37 0,4 37

0,1 3 1,2 3

Virginica 0,1 37 1,2 37

0,9 3 0,4 3

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ошибка классификации при обучении составила по 7,5 % (3/40).

В табл. 2 приведены результаты классификации сигналов из тестовой выборки (по 10 сигналов из каждого класса) с помощью созданной нейронной сети.

Таблица 2. Когерентное сложение колебаний при тестировании

Класс Момент времени суммирования (в шагах отображения)

15 16

Вых. значение Кол-во объектов Вых. значение Кол-во объектов

Setosa 1,2 10 0,1 10

Versicolor 0,9 9 0,4 9

0,1 1 1,2 1

Virginica 0,1 10 1,2 10

о

1 2 3 4 5 6 7 8 9 10 11 12

Число шагов

Рис. 4. Колебательный режим нейрона для значений разных классов

Таблица 1. Когерентное сложение колебаний при обучении

В табл. 1 приведены результаты обучения сети. Значения сумм, полученных в результате когерентного сложения, для каждого класса и для разных моментов времени были разными, но неизменными в пределах класса и момента времени для большинства сигналов (цветков). У класса Setosa сумма была неизменной для всех 40 объектов (100 % классификация). Для классов Versicolo и Virginica

Анализ данных, табл. 2, позволяет утверждать, что осциллирующая нейронная сеть с достаточной точностью определяет принадлежность ирисов к одному из трех классов. Классификация при тестировании для классов Setosa и Virginica была безошибочной, а для класса Versicolor ошибка составила 10 % (1/10). В целом по тестовой выборке ошибка составляет 1/З0, т. е. чуть больше З %.

Выводы

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

2. Когерентное сложение выходных значений сигналов нейронных осцилляторов позволяет создать нейронную сеть, способную решать задачу классификации. Для сигналов, имеющих M признаков, сеть обеспечивает решение задачи классификации для J0=2M разных классов.

3. Модель сети из нейронных осцилляторов позволяет определить их параметры, исходя из числовых характеристик классифицируемых сигналов.

4. Нейронная сеть, рассчитанная для определения принадлежности сигналов к одному из заранее известных классов, позволила идентифицировать сигнал по отдельным классам с точностью от 90 до 100 %, а по тестовой выборке в целом - чуть менее 97 %.

СПИСОК ЛИТЕРАТУРЫ

1. Кащенко С.А., Майоров В.В. Модели волновой памяти. - М.: Книжный дом «ЛИБРОКОМ», 2009. - 288 с.

2. Стоянов А.К. Нейронная сеть, основанная на точечных отображениях // Известия Томского политехнического университета. - 2008. - Т. 313. - № 5. - С. 96-101.

3. Стоянов А.К. Применение рекуррентной нейронной сети для решения задачи кластеризации // Известия Томского политехнического университета. - 2009. - Т 315. - № 5. - С. 144-149.

4. Малинецкий ГГ. Математические основы синергетики. - М.: Изд-во ЛКИ, 2007. - 312 с.

5. The UCI Machine Learning Repository. 2010. URL: http://archi-ve.ics.uci.edu/ml/datasets/Iris (дата обращения: 04.05.2010).

Поступила 05.05.2010 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.