Обучение персептрона
В 1957 г. Розенблатт [4] разработал модель, которая вызвала большой интерес у исследователей. Несмотря на некоторые ограничения ее исходной формы, она стала основой для многих современных, наиболее сложных алгоритмов обучения с учителем. Персептрон является настолько важным, что вся гл. 2 посвящена его описанию; однако это описание является кратким и приводится в формате, несколько отличном от используемого в [4].
Персептрон является двухуровневой, нерекуррентной сетью, вид которой показан на рис. Б.3. Она использует алгоритм обучения с учителем; другими словами, обучающая выборка состоит из множества входных векторов, для каждого из которых указан свой требуемый вектор цели. Компоненты входного вектора представлены непрерывным диапазоном значений; компоненты вектора цели являются двоичными величинами (0 или 1). После обучения сеть получает на входе набор непрерывных входов и вырабатывает требуемый выход в виде вектора с бинарными компонентами.
Рис. Б.3. Однослоиная нейронная сеть
Обучение осуществляется следующим образом:
1. Рандомизируются все веса сети в малые величины.
2. На вход сети подается входной обучающий вектор Х и вычисляется сигнал NET от каждого нейрона, используя стандартное выражение
3. Вычисляется значение пороговой функции активации для сигнала NET от каждого нейрона следующим образом:
OUT
j = 1, если NET
j больше чем порогθ
j,
OUT
j = 0 в противном случае.
Здесь θ
j представляет собой порог, соответствующий нейрону j (в простейшем случае, все нейроны имеют один и тот же порог).
4. Вычисляется ошибка для каждого нейрона посредством вычитания полученного выхода из требуемого выхода:
error
j = target
j – OUT
j.
5. Каждый вес модифицируется следующим образом:
W
ij(t+1) = w
ij(t) +ax
ierror
j.
6. Повторяются шаги со второго по пятый до тех пор, пока ошибка не станет достаточно малой.
Содержание раздела