Персептрон
§4.3 Персептрон
4.3.1 Персептрон Розенблатта и обучение одно нейронного персептрона
Одной из первых искусственных нейронных сетей, способных к восприятию (перцепция), и формированию реакции на восприимчивость ему явился PERCEPTRON Розенблатта. Персептрон как правило называют однослойную нейронную сеть, при этом каждый персептронный нейрон в качестве активационной функции использует функцию порогового единичного скачка вида (4.3). Для простоты сначала рассмотрим процедуру обучения персептрона, состоящего только из одного нейрона. Пусть имеется дополнительный вход , тогда в формуле (4.3) для активационной функции пороговое смещение можно установить равно 0. Тогда
Обучение персептрона состоит в подстройке значений , обученный персептрон способе разделять множества на два класса, для которых получено значение 0 и для других значение 1.
Обучение персептрона — это обучение с учителем. То есть должен существовать набор пар .
Будем называть персептрон обученным, если при подаче на вход каждого вектора , будем получать соответствующее
. Предложенный алгоритм состоит в итерационной подстройки
, последовательно уменьшающие ошибки.
Алгоритм 4.1
Рекомендуемые материалы
Исходные данные:
И коэффициент скорости обучения β = [0 ..1]
И выходной параметр:
Шаг 0: проинициализировать весовые коэффициенты , для
, небольшими случайными значениями. Положить
.
Шаг 1: Подать на вход персептрона обучающий вектор и вычислить его выход вектор y.
Шаг 2: Если , то есть выход правильный, то перейти к шагу 4. В противном случае вычислить ошибку
.
Шаг 3: Весовые коэффициенты модифицируются по формуле:
Шаг 4:
Замечание 4.1 Шаги 1-3 алгоритма 4.1 повторяются несколько раз для всех обучающих векторов. Один цикл последовательного предъявления векторов всей выборки называется эпохой. Обучение завершается по истечении нескольких эпох, когда сеть перестанет ошибаться. Замечание 4.2 Коэффициент скорости обучения β является параметром метода. Обычно его выбирают из диапазона 0.5-0.7. Это коэффициент влияющей на скорость обучения сети.
Теорема 4.3
Если существует множество значений весов персептрона, которые обеспечивают конкретное различение образов, то существует такое бетта, что алгоритм 4.1 за конечное число шагов приводит либо к этому множеству, либо эквивалентному множеству, при котором данное различение образов будет достигнуто.
4.3.2 Δ(дельта) - правило для обучения персептрона.
Δ - правило называют обобщение алгоритма 4.1 на случай однослойной сети, включающей n персептронных нейронов с пороговой функцией активации. Такая сеть при достаточно большом числе нейронов может осуществлять разбиение образов на произвольное число классов.
Пусть имеется обучающая выборка, состоящая из пар векторов: . Назовем нейронную сеть обученной на данной обучающей выборке, если при подаче на входы сети каждого вектора
из этой выборки на выходах каждый раз получается вектор
. Обучение заключается в итерационной подстройки матрицы весов W, состоящей из элементов
— вес синоптической связи между j - входом и i - нейроном, последовательно уменьшающей ошибку на входных векторах.
Алгоритм 4.2: (дельта-правило):
Исходные данные:
Коэффициент скорости обучения
Выходной параметр
Шаг 0: проинициализировать элементы весовой матрицы W, для , небольшими случайными значениями. Положить
.
Шаг 1: Подать на вход персептрона обучающий вектор и вычислить его выход вектор y.
Шаг 2: Если , то есть выход правильный, то перейти к шагу 4. В противном случае вычислить ошибку n-мерный вектор
. (d- дельта).
Шаг 3: Элементы весовые матрицы модифицируются по формуле:
Шаг 4:
Замечание 4.3: Шаги 1-3 алгоритма 4.2 повторяются несколько раз для всех обучающих векторов. Обучение завершается, когда сеть перестает ошибаться.
Розенблаттом доказана теорема о сходимости обучения по алгоритму 4.2, которая утверждает, что однослойный персептрон способен обучиться любому обучающему набору, который он способен представить.
4.3.3 Адалайн, мадалайн и обобщенное дельто-правило.
Персептроны со ступенчатой функцией активацией выдают бинарные выходные сигналы и способны к распознаванию дискретных образов. Круг решаемых персептроном задач значительно расшириться, если научить персептрон выдавать не только бинарные выходные сигналы, но и аналоговые, то есть имеющие непрерывные значения. Такое обобщение персептрона было сделано Уидроу Хофф вместо ступенчатой функции активации использовали логистическую (сигмаидальную ) функцию вида 4.5 (см лекции выше) . При а=1, она имеет вид:
Персептроны с сигмаидальными активационными функциями с одним выходом назвали адалайн, с несколькими выходами мадалайн. От английских слов (ADAptive neuron LINE , Many ADAptive neuron LINE).
26.11.09
Было предложено уменьшить ошибку СКО, определяемую как разность между полученными и реальными сигналами персептрона ( в общем между выводом и правильным ответом).
Если персептрон имеет m - входов и n- выходов, то
- является многомерной функцией весовых коэффициентов и в пространстве координат представляется в виде многомерной поверхности. Характерно, что существует только один либо максимум, либо минимум.
При обучении персептрона мы имеет дело с оптимизационной задачей, целевая функция которой имеет вид (4.16). Существует множество методов. При использовании метода градиентного спуска, коррекция проводиться в стороны противоположные градиенту функции.
Отсюда можно вывести формулу для обучения однослойного персептрона.
Что-то там вместе с формулой и представляет собой обобщенное дельта-правило.
4.3.3 Линейная разделимость и ограниченность однослойного персептрона.
Множество входных векторов , при которых нейрон активен, отделено от множества векторов
, на которых нейрон пассивен. Гиперплоскостью, уравнение которой
. Следовательно, нейрон может отделить только такие два множества, для которых имеется гиперплоскость, отсекающая одно множество от другого. Такие множества называют линейно разделимыми. Рассмотрим однослойный персептрон, состоящий из одного нейрона с двумя входами. В это случае ситуацию с разделением векторов можно изобразить на плоскости в координатах
.
| | |
0 | 0 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
1 | Вместе с этой лекцией читают "Лекция 1". 1 | 0 |
Нельзя провести прямую, которая бы отделила закрашенные точки от незакрашенных. Таким образом, однослойный персептрон не может реализовать многие простейшие функции ( в данном случае XOR). Существуют теоремы, что реализация подобных функций возможна лишь в том случае, когда можно линейно разделить эти множества. Однако простейшая нейроная двухслойная сеть вполне реализует эту функцию.
Пример.