Нейрокомпьютерная техника. Теория и практика
bf1271d8

ОБУЧЕНИЕ ПЕРСЕПТРОНА


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

Используя критерий линейной разделимости, можно решить, способна ли однослойная нейронная сеть реализовывать требуемую функцию. Даже в том случае, когда ответ положительный, это принесет мало пользы, если у нас нет способа найти нужные значения для весов и порогов. Чтобы сеть представляла практическую ценность, нужен систематический метод (алгоритм) для вычисления этих значений. Розенблатт [4] сделал это в своем алгоритме обучения персептрона вместе с доказательством того, что персептрон может быть обучен всему, что он может реализовывать.

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

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


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

однако это описание является кратким и приводится в формате, несколько отличном от используемого в [4].

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

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

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

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

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

                                              

.

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

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

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

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

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

                                               errorj

= targetj – OUTj.

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

                                               Wij(t+1) = wij(t) +axierrorj.

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



Содержание раздела