Скачиваний:
125
Добавлен:
01.05.2014
Размер:
8 Mб
Скачать

Самоорганизующиеся сети

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

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

Демонстрационный пример «Competitive learning» показывает реализацию классификатора с использованием самоорганизующихся сетей.

Рисунок 31. Использование самоорганизующихся сетей для классификации

(Competitive learning)

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

Рисунок 32. Самоорганизующйся слой

Обучение сети происходит так, что при подаче на вход сети нового вектора, значительно отличающегося от существующих классов, в сети создается новый класс. Если же вектор близок к одному из существующих классов, то веса изменяются для приведения его в соответствие с новыми данными. Понятно, что для такого рода сети число классов, которые она способна выделять равно числу нейронов соревнующегося слоя. Создание сети осуществляется с помощью функции newc:

net = newc([0 1; 0 1], 2);

где первый аргумент – диапазоны значений входных сигналов, а второй – число нейронов в слое.

Обучается сеть с помощью правила обучения Кохонена (learnk):

где i –индекс выигравшего нейрона (обучению подвергается i-й ряд весовой матрицы)

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

Другой тип самообучающихся сетей, имеющих некоторые преимущества перед рассмотренными – это так называемые самообучающиеся карты. Архитектура этих сетей приведена на следующем рисунке:

Рисунок 33. Самоорганизующаяся карта

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

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

Соседние файлы в папке lecture8