Научная статья на тему 'Кластеризация данных однослойными импульсными нейронными сетями с динамически формируемыми синаптическими терминалами'

Кластеризация данных однослойными импульсными нейронными сетями с динамически формируемыми синаптическими терминалами Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
627
112
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИМПУЛЬСНЫЕ НЕЙРОННЫЕ СЕТИ / КЛАССИФИКАЦИЯ ДАННЫХ / ХЕББОВСКОЕ ОБУЧЕНИЕ / ОБУЧЕНИЕ "БЕЗ УЧИТЕЛЯ" / HEBB'S INSTRUCTION / SPIKING NEURAL NETWORKS / DATA CLUSTERING / UNSUPERVISED TRAINING

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

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

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

COMPLEX DATA CLUSTERING WITH SINGLE-LAYER DYNAMICALLY LINKED SPIKING NEURAL NETWORK

An improved method for constructing and training single-layered spiking neural networks is preposed. The method allows to apply single-layered spiking neural networks that encode each data dimension by one neuron of the input layer for the recognition of complex and overlapping clusters with procedure of unsupervised training. The presented approach allows to obtain acceptable accuracy of the classification with the ability to detect complex data clusters at considerably simplified structure of the neural network.

Текст научной работы на тему «Кластеризация данных однослойными импульсными нейронными сетями с динамически формируемыми синаптическими терминалами»

УДК 681.51

А.А. КРАСНОЩЁКОВ

КЛАСТЕРИЗАЦИЯ ДАННЫХ ОДНОСЛОЙНЫМИ ИМПУЛЬСНЫМИ НЕЙРОННЫМИ СЕТЯМИ С ДИНАМИЧЕСКИ ФОРМИРУЕМЫМИ СИНАПТИЧЕСКИМИ ТЕРМИНАЛАМИ

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

Ключевые слова: импульсные нейронные сети, классификация данных, Хеббовское обучение, обучение "без учителя".

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

( т \

образованием взвешенной суммы его входных значений ук= ф

I

™кхі

, определяет частоту

генерации импульсов данным нейроном в ответ на входной вектор х = їх, ,х

(Х ,Х2г..,Хт ) .

Рис.1. Модель нейрона: х ^,] е [1,т] - входные сигналы;

[1 ,т] - веса синапсов; vk - взвешенная сумма х^; р - функция активации

Описанный подход к определению принципа функционирования нейрона применяется в первых двух поколениях нейронных сетей [3] (1-е поколение: многослойный персептрон, сети

Хопфилда, машины Больцмана; 2-е поколение: сети прямого распространения, рекуррентные сети, радиально-базисные сети).

В настоящее время нарастающей тенденцией становится использование импульсных нейронных сетей [2, 4, 5] (spiking neural networks), сетей 3-го поколения, являющихся более адекватными с точки зрения нейробиологического моделирования [4, 6]. В рамках этого типа сетей вычисления производятся уже на уровне отдельных импульсов, а не средней частоты их генерации. Таким образом, понятие функции активации заменяется понятием модели импульсного ответа (spike response function), модели изменения потенциала нейрона во времени.

Итак, импульсная сеть представляет собой сеть прямого распространения с несколькими терминалами в каждой синаптической связи (рис.2).

Рис.2. Каждый синапс состоит из множества терминалов с различной задержкой, таким образом,

личество терминалов; w - вес терминала k; d k - задержка терминала k, ti - время генерации импуль-

j

са нейроном i; e(At) - функция изменения потенциала (spike response function) нейрона [7]

Входной вектор кодируется во времени и подаётся на вход сети в виде импульсов, которые, следуя по синаптическим связям, передаются сети с разными временными задержками. Каждый полученный импульс может повысить или понизить потенциал нейрона. Нейрон, получив определённое количество импульсов и достигнув заданного уровня активации (значения внутренней переменной - потенциала), генерирует импульс, который передаётся далее по сети.

Таким образом, вычисления проводятся на уровне отдельных импульсов, а механизм взаимодействия нейронов основывается на временном домене. Более подробно импульсные сети описаны в работах [4,5,7].

Идея использования импульсных нейронных сетей для классификации данных «без учителя» была предложена Хопфилдом [8]. В [9] был предложен обучающий алгоритм, который использует временное кодирование входного вектора в задержки синаптических терминалов для нахождения центров многомерных кластеров данных. В работе Бохте [7]. доказывается, что данный метод имеет ряд недостатков и предлагается его следующая итерация с использованием концепции локальных полей (local respective fields), основанная на принципах действия биологических нейронов.

В данной работе рассмотрен частный случай применения импульсных сетей - однослойная импульсная нейронная сеть для кластеризации данных. Предложен алгоритм построения и обучения этого типа сети, основанный на динамически формируемых синаптических терминалах и адаптивном Хеббовском обучении [1]. Целью создания алгоритма является получение соизме-

влияние нейрона і на потенциал нейрона ] в момент времени t равен (г-(tj+dm)), где т - ко-

римой алгоритму Бохте точности классификации при значительно меньшем количестве используемых нейронов.

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

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

Рис.3. Структура сети: а - нейросеть, проецирующая 4-мерные входные данные на три кластера; б - нейросеть, выполняющая то же преобразование с использованием концепции локальных полей; в - функция импульсного ответа; г - функция обучения

Потенциал нейрона ./(см.рис.2) представляется в общем виде

m к к

x, (О = SIw*/(t),

,еГ,к=1 j j

(1)

где Г - множество нейронов, предшествующих ^ wк - вес терминала ксинапса между нейронами /и ;ук - невзвешенный вклад терминала к в состояние потенциала нейрона,

k

y

(t) = є(t - - dk ),

(2)

d к - задержка терминала к; tj - время генерации импульса нейроном ; £ - функция импульсного ответа (см.рис.3,в),

e(t) = —є т

t

1----

(3)

>0, т - константа, определяющая время угасания импульса.

Входные векторы данных кодируются в веса синапсов (терминалов) с применением временного варианта обучения Хебба, после чего время генерации импульса конкретным нейроном отражает расстояние между входным вектором и вектором, на который настроен нейрон (тем самым реализуя временной вариант радиально-базисного нейрона). Для схемы обучения "без учителя" используется правило "победитель получает всё" - на каждой итерации изменяются веса только одного нейрона, первым сгенерировавшего импульс.

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

Aw = nL (At) = п (1 - Ъ) e ij

в

(4)

где Aw к - изменение веса к после обучения нейрона і; п - температура обучения; в - ширина положительной части функции; Ь - максимальное значение уменьшения веса терминала; с - центр обучающей функции.

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

При кодировании входного вектора напрямую во временной домен каждый его компонент отображается на дискретный временной интервал Т={1/2,../п} и подаётся на входной нейрон в момент времени і є Т. Этот простой способ кодирования применим в случае распознавания не-пересекающихся кластеров данных.

Для выявления пересекающихся кластеров в работе [7] предлагается кодировать компоненты вектора популяциями нейронов. Целью данного подхода является повышение точности распознавания за счёт преодоления минимальной дискретной разрешающей способности терминалов.

Оптимально стимулированный нейрон в популяции, отвечающий за определённый компонент входного вектора, генерирует импульс в момент времени, близкий к 0, его соседи - с большей задержкой, а наименее стимулированные нейроны произведут импульс только в момент времени 9 (рис.4).

Рис.4. Графическое представление концепции локальных полей: Tn(A) - время генерации импульса нейроном входного слоя (на рис. представлены 8 нейронов, остальные отмечены как other)

т

п

Для компонента входного вектора п с минимальным значением I и максимальным значением

тт

I П и т нейронов популяции время генерации импульса нейроном КЕ [1..т] определяется с потах

мощью функции Гаусса:

где

(x-b)

9 2

t1=e 2c , (5)

n n

. {I -I }

T n 2i - 3 max min

b = I . +—0----------1----,m> 2 ; (6)

min 2 m 2

n n

JI -I .}

1 max min

c =----------2----. (7)

у m - 2

Данный метод точно распознаёт сложные кластеры, например, на наборе данных Фишера достигнута средняя точность классификации в 92,6% [7].

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

Метод решения. Разберём процесс на уровне пары нейронов: входного нейрона i и выходного j

Используем прямое кодирование входных векторов во временной интервал, но, в отличие от кодирования входного вектора напрямую во временной домен, не привязываем их к дискретному набору значений. Получаем относительное временное значение t компонента x вектора X из формулы

n

xi-! .

_ min

xi n n-’, (8)

I -I

max min

n n

где I и I - минимальное и максимальное значения для компонента xi .

min max

В результате преобразования получаем t на интервале [0, 1] и подаём в это время импульс на нейрон i. В начале обучения синапс Sj нейросети инициализируется случайным образом, т.е. наполняется определённым количеством терминалов с произвольными весами [0, wmax] и задержками [0,1].

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

x2

£ (t) = e 2c , (9)

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

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

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

где в - эталонная ширина обучающей функции; Dr - количество терминалов синапса tp, отвечающих Id p-d | < r; r- радиус.

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

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

Важным аспектом метода является ограничение, накладываемое на суммарный импульс, полученный нейроном от синапса s p в момент времени t:

Z w"£ (t-ti )< а 1, (12)

l£T П

где T - множество терминалов синапса; а - предполагаемая степень корреляции компонентов входного вектора.

Для моделирования представленного метода была создана программа для ЭВМ на языке программирования python. Программа распространяется под лицензией MIT и доступна по адресу http://code.google.eom/p/python-strike/. Результаты выполнения программы представлены на сайте проекта.

В результате проведённых компьютерных экспериментов было показано, что представленный метод даёт среднюю точность в 81,56% при классификации набора данных Фишера, содержащего сложные кластеры. Полученные результаты показывают, что с помощью представленного метода можно получить 5-кратное уменьшение количества нейронов при потере точности классификации в 11%.

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

Представленный метод позволяет перенести вычислительную нагрузку на синапсы сети, тем самым упростить её структуру за счёт уменьшения количества нейронов. Из полученных экспериментальных данных следует, что применение предложенного метода позволяет снизить вычислительную нагрузку при моделировании (фаза обучения и фаза тестирования) однослойной импульсной сети на 67,2 %.

Полученные импульсные сети имеют адаптивное поведение и являются помехоустойчивыми. То есть динамически добавленные во время обучения кластеры входных данных будут успешно классифицированы.

(10)

(11)

Выводы

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

Библиографический список

1. Хайкин С. Нейронные сети. Полный курс / С. Хайкин. - М.: Вильямс, 2006. - С.43-48,

95.

2. Henk A.K. Mastebroek, Johan E. Vos Plausible neural networks for biological model-ling.//Kluwer Academic Publishers, 2001. - С.23-33.

3. Olivier B., Manuel C. A survey on continuous time computations. // Springer, 2008, - С. 5,6.

4. Maass W. Networks of Spiking Neurons: The Third Generation of Neural Network Models // Neural Networks, 1997, Vol. 10, Issue 9. - С. 1659-1671.

5.Терехин А.Т. Нейросетевое моделирование когнитивных функций мозга: обзор основных идей / А.Т. Терехин, Е.В. Будилова, Л.М. Качалова, М.П. Кариенко // Психологические исследования: электрон. журн. - 2009. - № 2(4). URL: http://psystudy.ru (01.12.09). 20-22.

6. Maass W., Natschlager T. Associative memory with networks of spiking neurons in temporal coding // Neuromorphic Systems: Engineering Silicon from Neurobiology. Amsrerdam: World Scientific, 1998. - С. 21-32.

7. Bohte S.M., La Poutre H., Kok J.N. Unsupervised classification in a layered network of spiking neurons // 2002, IEEE Transactions on Neural Networks, 13(2), March 2002. - С. 426-435.

8. Hopfield, J. Pattern recognition computation using action potential timing for stimulus representation // Nature 376, 1995. - С.33-36.

9.Natschlager T., Ruf, B. Spatial and temporal pattern analysis via spiking neurons // Network: Computational Neural Systems. 9(3), 1998. - C. 319-338..

Материал поступил в редакцию 20.02.10.

A.A. KRASNOSHCHEKOV

COMPLEX DATA CLUSTERING WITH SINGLE-LAYER DYNAMICALLY LINKED SPIKING NEURAL NETWORK

An improved method for constructing and training single-layered spiking neural networks is preposed. The method allows to apply single-layered spiking neural networks that encode each data dimension by one neuron of the input layer for the recognition of complex and overlapping clusters with procedure of unsupervised training. The presented approach allows to obtain acceptable accuracy of the classification with the ability to detect complex data clusters at considerably simplified structure of the neural network.

Keywords: spiking neural networks, data clustering, Hebb's instruction, unsupervised training.

КРАСНОЩЁКОВ Александр Александрович (р.1988), программист вычислительного центра ДГТУ.

Область научных интересов: искусственный интеллект, распределённые вычисления, нечёткая логика, семантический Интернет, мультиагентные системы, технологии сетевого взаимодействия, системы поддержки принятия решений, построение корпоративных информационных систем. Автор 4 научных работ.

akrasnoschekov@gmail.com

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