Персептрон Ф.Розенблатта - Процесс обучения персептрона

Процесс обучения персептрона наиболее наглядно можно продемонстрировать при решении задач распознавания образов, где его применение нашло наиболее яркое воплощение.

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

В [15] обучение персептрона рассматривается на примере решения следующей задачи: требуется научить его включать индикатор (лампочку) при подаче на персептрон множества входов, задающих нечетное число (цифру), и не включать в случае четного. В данном случае персептрон выступает в роли бинарного классификатора (рис. 2.3).

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

Рис. 2.3. Персептрон как устройство распознавания образов

Каждая компонента входного вектора X = ( x1, x2,..., хn ) умножается на соответствующую компоненту вектора весов W = (w1, w2, ,…, wn ). Эти произведения суммируются. Если полученная сумма превышает порог в q, то выход нейрона Y равен 1 (индикатор зажигается), в противном случае - 0 (индикатор не горит).

Для обучения сети образ X подается на вход и вычисляется выход Y. Если Y правилен, то ничего не меняется; в противном случае веса, присоединенные ко входам, усиливающим ошибочный результат, модифицируются, чтобы уменьшить ошибку.

Например, карта с цифрой "3" предъявляется персептрону и выход Y равен 1 (нечетное число). Так как этот ответ является правильным, то веса не изменяются. Если же на вход подается карта с цифрой "4" и выход Y также равен 1 (неправильный ответ), то веса, присоединенные к единичным входам (xi=1), должны быть уменьшены, т.к. они стремятся дать неверный результат. Аналогично, если при предъявлении карты "3" получаем Y = 0, то необходимо увеличить веса, присоединенные к единичным входам, чтобы скорректировать ошибку.

Данный алгоритм обучения может быть обобщен следующим образом:

begin

stepl: Подать входной вектор образа X и вычислить значение выхода сети Y;

if (значение Y= TRUE) then step 1;

if (Y = 0) and (значение Y = FALSE) then

begin

wi(n+l) = wi(n) + xi;

go_to step 1

end;

if (Y = 1) and (значение Y = FALSE) then

begin

wi(n+l) = wi(n) + xi;

go_to step 1

end

end.

Как видно из алгоритма, на первом шаге проверяется, является ли значение Y правильным (TRUE). Если это так, то - переход на метку step 1. Далее проводится анализ для случаев Y = 0 и Y = 1. Если эти значения - неправильные (FALSE), то в соответствии с правилом обучения персептрона производится коррекция синоптических весов для соответствующих входных сигналов.

За конечное число шагов сеть научится разделять карты на четные и нечетные при условии, что множество цифр линейно разделимо. Это значит, что для всех нечетных карт выход будет больше порога, а для всех четных - меньше. Заметим, что это обучение является глобальным, т.е. нейронная сеть обучается на всем множестве карт.

В процессе обучения персептрона могут возникнуть следующие трудности:

- поскольку входные образы меняются во времени, то они могут быть разделимы на каком-то этапе обучения и неразделимы в последующем (т.е. качество обучения может временно ухудшиться);

- при применении алгоритма обучения заранее известно, сколько шагов для этого потребуется (какова длительность обучения);

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

К наиболее существенным недостаткам однослойного персептрона следует отнести невозможность реализации на его основе функции "Исключающего ИЛИ" (см. разд. 1.3). М. Минский подверг резкой критике однослойные персептроны, назвав их вещами, "вплотную примыкающими к бесполезным", и строго математически обосновал ограничения, накладываемые на процесс обучения таких НС. Уже упоминавшийся американский ученый Стаффорд Бир, один из творцов кибернетики, также подверг жестокой критике работу Розенблатта: «Поскольку в ней по существу ничего не сказано, то ее и не следовало писать, хотя она и создает вокруг персептрона дух могущества" [13]. Однако главным преимуществом однослойных персептронов явилась впервые показанная возможность их обучения и решения с их помощью ряда важных практических задач. Таким образом, персептрон Розенблатта стал "первым кирпичиком" в теории обучения НС.

Twitter
Нравится

Дополнительная информация



ZZZZZZZZZ