Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ф.Уоссермен - Нейрокомпьютерная техника - Теори...doc
Скачиваний:
21
Добавлен:
03.09.2019
Размер:
1.78 Mб
Скачать

Обучение выходной звезды

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

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

wi(t+1) = wi(t) + [yiwi(t)],

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

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

Обучение персептрона

В 1957 г. Розенблатт [4] разработал модель, которая вызвала большой интерес у исследователей. Несмотря на некоторые ограничения ее исходной формы, она стала основой для многих современных, наиболее сложных алгоритмов обучения с учителем. Персептрон является настолько важным, что вся гл. 2 посвящена его описанию; однако это описание является кратким и приводится в формате, несколько отличном от используемого в [4].

Персептрон является двухуровневой, нерекуррентной сетью, вид которой показан на рис. Б.3. Она использует алгоритм обучения с учителем; другими словами, обучающая выборка состоит из множества входных векторов, для каждого из которых указан свой требуемый вектор цели. Компоненты входного вектора представлены непрерывным диапазоном значений; компоненты вектора цели являются двоичными величинами (0 или 1). После обучения сеть получает на входе набор непрерывных входов и вырабатывает требуемый выход в виде вектора с бинарными компонентами.

Рис. Б.3. Однослоиная нейронная сеть

Обучение осуществляется следующим образом:

  1. Рандомизируются все веса сети в малые величины.

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

.

  1. Вычисляется значение пороговой функции активации для сигнала NET от каждого нейрона следующим образом:

OUTj = 1, если NETj больше чем порогθj,

OUTj = 0  в противном случае.

Здесь θj представляет собой порог, соответствующий нейрону j (в простейшем случае, все нейроны имеют один и тот же порог).

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

errorj = targetj – OUTj.

  1. Каждый вес модифицируется следующим образом:

Wij(t+1) = wij(t) +xierrorj.

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

Метод обучения уидроу-хоффа

Как мы видели, персептрон ограничивается бинарными выходами. Уидроу вместе со студентом университета Хоффом расширили алгоритм обучения персептрона на случай непрерывных выходов, используя сигмоидальную функцию [5,6]. Кроме того, они разработали математическое доказательство того, что сеть при определенных условиях будет сходиться к любой функции, которую она может представить. Их первая модель – Адалин – имеет один выходной нейрон, более поздняя модель – Мадалин – расширяет ее на случай с многими выходными нейронами.

Выражения, описывающие процесс обучения Адалина, очень схожи с персептронными. Существенные отличия имеются в четвертом шаге, где используются непрерывные сигналы NET вместо бинарных OUT. Модифицированный шаг 4 в этом случае реализуется следующим образом:

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

errorj = targetj – NETj.