Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по нейроинформатике.doc
Скачиваний:
0
Добавлен:
22.02.2020
Размер:
9.7 Mб
Скачать

Комбинированные нс

Комбинированные нейронные сети объединяют возможности разных типов НС.

Одной из наиболее популярных комбинированных сетей, использующихся на практике, является сеть встречного распространения CPN (Counter Propagation Network), первым слоем которой является сеть Кохонена, вторым – сеть Гроссберга.

Сеть CPN была предложена Р. Хехт-Нильсеном в 1987 году.

Слой Гроссберга представляет собой конфигурацию входных и выходных звёзд Гроссберга.

Нейрон в форме входной звезды имеет n входов, которым соответствуют весовые коэффициенты W= , и один выход Y, являющийся взвешенной суммой входов. Входная звезда обучается выдавать сигнал на выходе всякий раз, когда на входы поступает определенный вектор.

Подстройка весовых коэффициентов проводится по следующей формуле:

,

где – весовой вектор i-той входной звезды на t-м такте обучения; – входной вектор; μ – скорость обучения. μ имеет начальное значение в пределах 0,1…0,2 и постепенно уменьшается в процессе обучения.

Выходная звезда Гроссберга выполняет противоположную функцию – при поступлении сигнала на вход выдается определенный вектор. Нейрон этого типа имеет один вход и m выходов с весами W= , которые подстраиваются в соответствии с формулой:

,

где – весовой вектор i-той выходной звезды на t-м такте обучения; – выходной вектор; α – скорость обучения. Рекомендуется начать обучение со значения α в пределах единицы, постепенно уменьшая до значений, близких к нулю.

Обучение CPN состоит из двух фаз:

  1. Обучение слоя Кохонена.

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

Выходное значение нейронов в слое Кохонена:

.

  1. Обучение слоя Гроссберга.

Осуществляется обучение с учителем. Функция активации нейронов в слое Гроссберга является линейной.

Выходное значение нейронов в слое Гроссбнрга:

, где m – число выходных нейронов.

– весовые коэффициенты связи выходного нейрона слоя Кохонена и i-того входа нейрона слоя Гроссберга. Таким образом, сеть CPN каждому i-тому кластеру промежуточного слоя ставит в соответствии весовой коэффициент . Это может быть использовано для выполнения с помощью НС аппроксимации функции.

Пример.

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

Алгоритм обучения:

Для обучения нейронов слоя Кохонена используется конкурентное обучение:

, где k – номер нейрона победителя; i – номер входного вектора.

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

Необходимо найти оптимальные весовые коэффициенты связи выходного нейрона слоя Кохонена и i-того входа нейрона слоя Гроссберга так, чтобы сеть наилучшим образом аппроксимировала воспроизводимую функцию . Для этого используется алгоритм BP и минимизируется ошибка обучения методом наименьших квадратов:

, где α – скорость обучения: ; – эталонное значение функции для данного входного вектора.

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

Алгоритм обучения сводится к следующей последовательности действий:

  1. Инициализируем весовые коэффициенты сети случайными числами из интервала .

  2. (t – номер итерации).

  3. Для каждого входного вектора :

  1. вычисляем норму вектора ;

  2. определяем нейрон победитель ;

  3. модифицируем весовые коэффициенты нейрона победителя (возможно с учётом эффекта латерального торможения):

      1. модифицируем весовые коэффициенты k-того нейрона последнего слоя с учётом эталонного значения функции в соответствии с алгоритмом BP:

.

    1. , и переходим к п. 3. Останов, если выполнено заданное число итераций.