Основы теории нейронных сетей

     Рулетка, смотреть онлайн порно видеочат еще здесь. | дома из оцилиндрованного бревна проекты и цены под ключ |   

Алгоритм обучения однослойного персептрона


Персептрон должен решать задачу классификации по бинарным входным сигналам. Набор входных сигналов будем обозначать

Алгоритм обучения однослойного персептрона
-мерным вектором
Алгоритм обучения однослойного персептрона
. Все элементы вектора являются булевыми переменными (переменными, принимающими значения "Истина" или "Ложь"). Однако иногда полезно оперировать числовыми значениями. Будем считать, что значению "ложь" соответствует числовое значение 0, а значению "Истина" соответствует 1.

Персептроном будем называть устройство, вычисляющее следующую систему функций:

Алгоритм обучения однослойного персептрона

(1)

где

Алгоритм обучения однослойного персептрона
— веса персептрона,
Алгоритм обучения однослойного персептрона
— порог,
Алгоритм обучения однослойного персептрона
— значения входных сигналов, скобки
Алгоритм обучения однослойного персептрона
означают переход от булевых (логических) значений к числовым значениям по правилам, изложенным выше.

Обучение персептрона состоит в подстройке весовых коэффициентов. Пусть имеется набор пар векторов

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

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

Шаг 0Начальные значения весов всех нейронов
Алгоритм обучения однослойного персептрона
полагаются случайными
Шаг 1Сети предъявляется входной образ
Алгоритм обучения однослойного персептрона
, в результате формируется выходной образ
Алгоритм обучения однослойного персептрона
.
Шаг 2Вычисляется вектор ошибки
Алгоритм обучения однослойного персептрона
, делаемой сетью на выходе. Дальнейшая идея состоит в том, что изменение вектора весовых коэффициентов в области малых ошибок должно быть пропорционально ошибке на выходе и равно нулю, если ошибка равна нулю.
Шаг 3Вектор весов модифицируется по следующей формуле:
Алгоритм обучения однослойного персептрона
. Здесь
Алгоритм обучения однослойного персептрона
— темп обучения.
Шаг 4Шаги 1—3 повторяются для всех обучающих векторов. Один цикл последовательного предъявления всей выборки называется эпохой. Обучение завершается по истечении нескольких эпох: а) когда итерации сойдутся, т.е. вектор весов перестает изменяться, или б) когда полная, просуммированная по всем векторам абсолютная ошибка станет меньше некоторого малого значения.



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

Первый тип ошибки: на выходе персептрона — 0, а правильный ответ — 1. Для того чтобы персептрон выдавал правильный ответ, необходимо, чтобы сумма в правой части (1) стала больше. Поскольку переменные принимают значения 0 или 1, увеличение суммы может быть достигнуто за счет увеличения весов
Алгоритм обучения однослойного персептрона
. Однако нет смысла увеличивать веса при переменных
Алгоритм обучения однослойного персептрона
, которые равны нулю. Таким образом, следует увеличить веса
Алгоритм обучения однослойного персептрона
при тех переменных xi, которые равны 1.

Первое правило. Если на выходе персептрона получен 0, а правильный ответ равен 1, то необходимо увеличить веса связей между одновременно активными нейронами. При этом выходной персептрон считается активным. Второй тип ошибки: на выходе персептрона — 1, а правильный ответ равен нулю. Для обучения правильному решению данного примера следует уменьшить сумму в правой части (1). Следовательно, необходимо уменьшить веса связей
Алгоритм обучения однослойного персептрона
при тех переменных, которые равны 1 (поскольку нет смысла уменьшать веса связей при равных нулю переменных
Алгоритм обучения однослойного персептрона
). Необходимо также провести эту процедуру для всех активных нейронов предыдущих слоев. В результате получаем второе правило.

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

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

Нерассмотренными остались два вопроса. Первый — о сходимости процедуры обучения.


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