УДК 004.032.26: 519.237.8 Баталов А.С. КОНСТРУКТИВНЫЙ МЕТОД ОБУЧЕНИЯ

advertisement
УДК 004.032.26: 519.237.8
Баталов А.С.
КОНСТРУКТИВНЫЙ МЕТОД ОБУЧЕНИЯ
НЕЙРОННОЙ СЕТИ КОХОНЕНА
Пермский государственный педагогический университет
В данной статье рассматривается конструктивный метод обучения
нейронной
сети
Кохонена
и
проводится
сравнительный
анализ
с
существующими методами обучения нейронной сети Кохонена, в результате
которого выявлены преимущества и недостатки каждого метода.
Ключевые слова: нейронные сети, слой Кохонена, методы обучения.
Задача кластеризации возникает в самых разнообразных областях
человеческой деятельности: в биологии, социологии, информатике и т.д.
Поскольку с помощью нейронной сети Кохонена можно решать задачи
кластеризации объектов, и обучение сети проходит без учителя, то данная
парадигма представляет практический интерес в областях, где обучение с
учителем не представляется возможным, либо этот процесс неэффективен из-за
очень длительного времени обучения.
Алгоритм обучения без учителя – алгоритм Кохонена – сводится к
минимизации разницы между входными сигналами данного нейрона и
весовыми коэффициентами данного нейрона [2]. Этот алгоритм называется
алгоритмом WTA (Winner Takes All – Победитель забирает все):
(1)
Подстройка весов связей по формуле (1) осуществляется не для всех
нейронов слоя, а только для одного нейрона-победителя, вектор весов которого
в наименьшей степени отличается от поданного на вход сети вектора . Чаще
всего в качестве меры расстояния между векторами
и
используют
эвклидову меру [2, 4, 5, 6, 9]:
(2)
Параметр
в формуле (1) – скорость обучения, уменьшающаяся с
увеличением времени . Данный параметр управляет быстротой приближения
вектора весов к входному вектору. Так как параметр
должен уменьшаться
с увеличением времени , то рекомендуется использовать для этого параметра
следующую экспоненциальную функцию [8]:
,
где – временная константа, а
(3)
– начальное значение скорости обучения.
Перед началом обучения всем весам сети следует придавать некоторые
начальные значения. Чаще всего на практике применяется присваивание весам
небольших случайных значений, равномерно распределенных в некотором
ограниченном диапазоне, например (0 – 1) [2]. Разумеется, если ядра классов
нормированы, то и начальные значения должны быть также нормированы [3].
Часто бывает, что параметрами обучающего вектора могут быть
семантически различные значения, например,
– возраст, вес, температура,
давление пациента. В зависимости от шкалы измерения численные значения
этих величин могут различаться в несколько раз, и не обязательно, что большие
по величине значения являются более значимыми, чем малые [1]. Поэтому
необходима нормализация входного вектора. Например, нормализация может
быть проведена с помощью масштабирования, рассчитанного по следующей
формуле:
,
где
– компонента входного вектора , а
максимальное значение
(4)
и
– минимальное и
соответственно.
Рандомизация весов слоя Кохонена в классическом алгоритме обучения
может породить серьезные проблемы при обучении, так как в результате ее
весовые векторы распределяются равномерно по поверхности гиперсферы [7].
Из-за того, что входные векторы, как правило, распределены неравномерно и
имеют тенденцию группироваться на относительно малой части поверхности
гиперсферы, большинство весовых векторов будут так удалены от любого
входного вектора, что они никогда не будут давать наилучшего соответствия.
Эти нейроны Кохонена будут всегда иметь нулевой выход и окажутся
бесполезными. Более того, оставшихся весов, дающих наилучшие соответствия,
может оказаться слишком мало, чтобы разделить входные векторы на классы,
которые расположены близко друг к другу на поверхности гиперсферы.
Решением данной проблемы является распределение весовых векторов в
соответствии со сложностью входных векторов. Существует несколько путей
приближенного достижения этой цели, одним из наилучших и наиболее
быстрых считается алгоритм CWTA (Conscience Winner Takes All – Победитель
справедливо получает все) [2, 3, 5, 6, 7, 9].
Данный метод является улучшенной модификацией WTA. Он позволяет
учитывать усталость нейронов путем подсчета потенциала
каждого нейрона,
значение которого модифицируется всякий раз после представления очередной
реализации входного вектора в соответствии со следующей формулой:
,
В формуле (5)
– количество нейронов,
(5)
– минимальное значение
потенциала, разрешающее нейрону участвовать в конкурентной борьбе. Если
текущее значение потенциала
падает ниже
,
-й нейрон временно
отдыхает, уступая место для конкурентной борьбы другим нейронам. На
практике хорошие результаты достигаются, когда
[6].
Рассмотрим работу алгоритма CWTA на примере решения задачи
кластеризации
двумерных
представленной на рис 1.
обучающих
данных
сложной
структуры,
Рис 1. Обучающее множество
Для кластеризации данных используется три множества нейронов (каждое
множество
содержит 2, 3
и
4
элемента), разбивающие
данные на
соответствующее количество классов. На рис. 2 приведен результат работы
алгоритма CWTA.
Рис. 2. Результат применения алгоритма CWTA
Однако недостаток данного метода заключается в том, что для его
применения необходимо задать то количество классов, на которое требуется
разбить обучающее множество. Поскольку метод CWTA не содержит в себе
алгоритма автоматического определения количества классов, автором статьи
был
разработан
другой
метод
обучения,
который
заключается
в
последовательном добавлении нейронов в слой Кохонена.
Конструктивный метод обучения строится по следующему алгоритму: на
начальном этапе обучения слой Кохонена состоит из одного нейрона, при
подаче первого обучающего вектора весам нейрона присваиваются его
значения. При подаче следующего обучающего вектора рассчитывается
евклидово расстояние
до всех нейронов в слое Кохонена по формуле
,
(6)
где
.
Если
(7)
удовлетворяет условию
,
(8)
то происходит обучение данного нейрона, которое осуществляется по
формуле (1). В неравенстве (8)
– это количество входов сети, а
– радиус
чувствительности нейрона, задаваемый в пределах (0,1). Если входной вектор
не удовлетворяет условию (8), т.е. не принадлежит ни одному из классов, то
добавляется новый нейрон, веса которого инициализируются значениями
входного вектора.
По сути,
в условии (8) – это не что иное, как евклидово расстояние, для
которого ошибка из формулы (7) является максимальной. Поскольку входной
вектор
нормирован в пределах (0,1), максимальное значение ошибки равно
единице. Подставив это значение в формулу (6) получим:
.
(9)
Результат работы алгоритма конструктивного обучения сети Кохонена
приведен на рис. 3. Данный метод не только не уступает методу наделения
нейронов
«чувством
справедливости»,
но
даже
превосходит
его
по
быстродействию.
Рис 3. Работа алгоритма конструктивного обучения сети Кохонена при
радиусе чувствительности равном 0.7, 0.5, 0.15
Алгоритм CWTA считается наилучшим и наиболее быстрым методом
обучения сети Кохонена. Однако недостаток данного метода заключается в
возможности использовать его только с заранее заданным количеством
кластеров. Предложенный в статье конструктивный метод обучения обладает
преимуществами
метода
CWTA
и
решает
проблему
автоматического
определения количества классов.
Литература:
1. Аксенов С.В., Новосельцев В.Б. Организация и использование
нейронных сетей (методы и технологии) / Под общ. Ред. В.Б. Новосельцева. –
Томск: Изд-во НТЛ, 2006. – 128 с.
2. Брюхомицкий Ю.А. Нейросетевые модели для систем информационной
безопасности. Учебное пособие. – Таганрог: Изд-во ТРТУ, 2005. – 160 с.
3. Заенцев И.В. Нейронные сети: основные модели. Учебное пособие. –
Воронеж: Изд-во ВГУ, 1999. – 76 с.
4. Каллан Р. Основные концепции нейронных сетей. : Пер. с англ. – М.:
Издательский дом «Вильямс», 2001. – 291 с.
5. Круглов В.В., Борисов В.В. Искусственные нейронные сети. Теория и
практика. – 2-е изд., стереотип. – М.: Горячая линия – Телеком, 2002. – 382 с.
6. Осовский С. Нейронные сети для обработки информации / Пер. с
польского И.Д. Рудинского. – М.: Финансы и статистика, 2002. – 344 с.
7. Уоссермен Ф. Нейрокомпьютерная техника: теория и практика. : Пер. с
англ. – М.: Мир, 1992. – 184 с.
8. Хайкин С. Нейронные сети: полный курс, 2-e издание. : Пер. с анrл. – М.
Издательский дом "Вильямс", 2006. – 1104 с.
9. Ясницкий Л.Н. Введение в искусственный интеллект: учеб. Пособие для
студ. высш. учеб. заведений / Л.Н. Ясницкий. – 2-е изд., испр. – М.:
Издательский цент «Академия», 2008. – 176 с.
Download