Перейти на главную страницу
Простой персептрон – это модель МакКаллока-Питса (рис.1). Весовые коэффициенты входов сумматора, на которые подаются входные сигналы , обозначаются
, а пороговое значение -
. Нелинейная функция активации персептрона является ступенчатой, вследствие чего выходной сигнал нейрона может принимать только два значения – 0 и 1 в соответствии с правилом
или
где обозначает выходной сигнал сумматора
.
Обучение персептрона требует наличия учителя и состоит в таком подборе весов , чтобы выходной сигнал
был наиболее близок к заданному значению
.
С персептроном связана задача четкого разделения двух классов по обучающей выборке, которая ставится следующим образом: имеется два набора векторов и
. Заранее известно, что
относится к первому классу, а
- ко второму. Требуется построить решающее правило, т.е. определить такую функцию
, что при
вектор
относится к первому классу, а при
- ко второму.
Линейные решающие правила, построенные на основании разделения центров масс, могут ошибаться на примерах из обучающей выборки даже в тех случаях, когда возможно и безошибочное линейное разделение. Однако метод центров масс полезен как средство определения начального значения вектора весов для алгоритма обучения персептрона:
где - номер предыдущего цикла,
коэффициент обучения.
4. Если , а
, то значения весов уточняются по формуле
.
По завершении уточнения весовых коэффициентов представляются очередной обучающий вектор и связанное с ним ожидаемое значение
, и значения весов уточняются заново. Этот процесс многократно повторяется на всех обучающих выборках, пока не будут минимизированы различия между всеми значениями
и соответствующими им ожидаемыми значениями
.
Нейрон сигмоидального типа имеет структуру, подобную модели МакКаллока-Питса, с той разницей, что функция активации является непрерывной и может быть выражена в виде сигмоидальной униполярной или биполярной функции. Униполярная функция, как правило, представляется формулой
где означает разницу между фактическим и ожидаемым значением выходного сигнала нейрона. Если ввести обозначение
, то можно получить выражение, определяющее
-ю составляющую градиента в виде
где .
Применение градиентного метода для обучения нейрона гарантирует достижение только локального минимума. Для выхода из окрестности локального минимума результативным может оказаться обучение с моментом. В этом методе процесс уточнения весов определяется не только информацией о градиенте функции, но и предыдущим изменением весов. Подобный способ может быть задан выражением
,
в котором первый член соответствует обычному методу наискорейшего спуска, тогда как второй член, называемый моментом, отражает последнее изменение весов и не зависит от фактического значения градиента. Значение выбирается из интервала
.
где - коэффициент обучения.
При обучении с учителем вместо выходного сигнала используется ожидаемая от этого нейрона реакция
. В этом случае правило Хебба записывается в виде
.
В каждом цикле обучения происходит суммирование текущего значения веса и его приращения :
В результате применения правила Хебба веса нейрона могут принимать произвольно большие значения. Один из способов стабилизации процесса обучения по правилу Хебба состоит в учете последнего значения , уменьшенного на коэффициент забывания
. При этом правило Хебба представляется в виде
Значение выбирается из интервала
и чаще всего составляет некоторый процент от коэффициента обучения
. Рекомендуемые значения коэффициента забывания
, при которых нейрон сохраняет большую часть информации, накопленной в процессе обучения, и получает возможность стабилизировать значения весов на определенном уровне.
В нейроне типа «адалайн» (ADAptive LInear Neuron – адаптивный линейный нейрон) адаптивный подбор весовых коэффициентов осуществляется в процессе минимизации квадратичной ошибки, определяемой как
В связи с выполнением условия дифференцируемости целевой функции стало возможным применение алгоритма градиентного обучения. Значения весовых коэффициентов уточняются следующим способом
Паде-нейрон может использоваться как обобщение нейрона типа «адалайн» в тех случаях, когда линейных функций становится недостаточно, в частности в задачах интерполяции эмпирических зависимостей.
В случае Паде-нейрона квадратичная ошибка определяется как
и значения весовых коэффициентов уточняются по следующим формулам
Квадратичный сумматор может вычислять произвольный полином второго порядка от вектора входных сигналов
Для многомерных нормальных распределений нейрон с квадратичным сумматором является наилучшим классификатором. Минимум вероятности ошибки дает квадратичная разделяющая поверхность:
если , то объект принадлежит первому классу;
если , то объект принадлежит второму классу (при условии правильного выбора коэффициентов
).
Квадратичная ошибка здесь определяется как
.
Коэффициенты квадратичного сумматора уточняются по формулам
Недостаток такого классификатора – большое число настраиваемых параметров.
По результатам сравнения сигналов отдельных нейронов победителем признается нейрон, у которого
оказалось наибольшим. Нейрон-победитель вырабатывает на своем выходе состояние 1, а остальные (проигравшие) нейроны переходят в состояние 0.
Для обучения нейронов WTA учитель не требуется. На начальном этапе случайным образом выбираются весовые коэффициенты каждого нейрона, нормализуемые относительно 1 по формуле
.
После подачи входного вектора , компоненты которого нормализованы по формуле
определяется победитель этапа. Победитель переходит в состояние 1, что позволяет произвести уточнение весов его входных линий по правилу
Проигравшие нейроны формируют на своих выходах состояние 0, что блокирует процесс уточнения их весовых коэффициентов.
Выходной сигнал -го нейрона может быть описан векторным отношением
.
Поскольку , значение
определяется углом между векторами
и
,
. Поэтому победителем оказывается нейрон, вектор весов которого оказывается наиболее близким текущему обучающему вектору
. В результате победы нейрона уточняются его весовые коэффициенты, значения которых приближаются к значениям текущего обучающего вектора
.
Следствием конкуренции нейронов становится самоорганизация процесса обучения. Нейроны уточняют свои веса таким образом, что при предъявлении группы близких по значениям входных векторов победителем всегда оказывается один и тот же нейрон. Системы такого типа чаще всего применяются для классификации векторов.
Пример 1: Распознавание символов методом центров масс.
Ниже представлена программа на языке системы математического моделирования MATLAB, описывающая решение простейшей задачи разбиения векторов на два класса методом центров масс. В качестве входных векторов нейрона рассматриваются двоичные векторы размерности 63, полученные из изображений букв А и В размером пикселей. Согласно методу центров масс, весовой вектор нейрона, различающего эти две буквы, вычисляется по формуле
где - вектор, задающий букву А,
- вектор, задающий букву B. В результате, для буквы А нейрон дает выходной сигнал, равный 1, а для буквы B – выходной сигнал, равный –1.
% СЧИТЫВАНИЕ ИЗОБРАЖЕНИЯ БУКВЫ А
A=imread('A.bmp');
% ВЫВОД ИЗОБРАЖЕНИЯ
subplot(1,2,1);
imshow(A)
% СЧИТЫВАНИЕ ИЗОБРАЖЕНИЯ БУКВЫ B
B=imread('B.bmp');
% ВЫВОД ИЗОБРАЖЕНИЯ
subplot(1,2,2);
imshow(B)
% РАСЧЕТ ВЕСОВЫХ КОЭФФИЦИЕНТОВ МЕТОДОМ ЦЕНТРОВ МАСС
W=(double(A)-double(B))/2;
% ТЕСТИРОВАНИЕ НЕЙРОНА
S=sum(sum(W.*double(A)));
yA=sgn(S)
S=sum(sum(W.*double(B)));
yB=sgn(S)
%-----------------------------------------------------
% ФУНКЦИЯ АКТИВАЦИИ НЕЙРОНА
function y=sgn(x)
if (x>=0)
y=1;
else
end
Пример 2. Обучение персептрона распознаванию букв (класс1) и цифр (класс 2)
% СЧИТЫВАНИЕ ИЗОБРАЖЕНИЙ
L(:,:,1)=imread('A.bmp');
L(:,:,2)=imread('B.bmp');
L(:,:,3)=imread('C.bmp');
L(:,:,4)=imread('D.bmp');
D(:,:,1)=imread('0.bmp');
D(:,:,2)=imread('1.bmp');
D(:,:,3)=imread('2.bmp');
D(:,:,4)=imread('3.bmp');
%ВЫВОД ИЗОБРАЖЕНИЙ
subplot(2,4,1); imshow(L(:,:,1));
subplot(2,4,2); imshow(L(:,:,2));
subplot(2,4,3); imshow(L(:,:,3));
subplot(2,4,4); imshow(L(:,:,4));
subplot(2,4,5); imshow(D(:,:,1));
subplot(2,4,6); imshow(D(:,:,2));
subplot(2,4,7); imshow(D(:,:,3));
subplot(2,4,8); imshow(D(:,:,4));
%МЕТОД ЦЕНТРОВ МАСС
% расчет вектора весовых коэффициентов
W=0;
W=W+double(L(:,:,i))-double(D(:,:,i));
end
W=W/8
for i=1:4
S=sum(sum(W.*double(L(:,:,i))));
yL(i)=sgn(S);
end
yL
% тестирование нейрона на изображениях цифр
S=sum(sum(W.*double(D(:,:,i))));
yD(i)=sgn(S);
end
%АЛГОРИТМ ОБУЧЕНИЕ ПЕРСЕПТРОНА
training=1;
epoch=0; % число итераций
while (training > 0)
% этап обучения
training=0;
epoch=epoch+1;
alpha=1/epoch; % коэффициент обучения
for i=1:4
delta=(1-yL(i));
if (delta~=0)
training=1;
W=W+alpha*delta*double(L(:,:,i));
end
delta=(-1-yD(i));
training=1;
W=W+alpha*delta*double(D(:,:,i));
end
W % вывод весовых коэффициентов
%этап тестирования
% тестирование на буквах
for i=1:4
S=sum(sum(W.*double(L(:,:,i))));
yL(i)=sgn(S);
end
% тестирование на цифрах
for i=1:4
S=sum(sum(W.*double(D(:,:,i))));
yD(i)=sgn(S);
end
end % of while
epoch % число итераций
%-------------------------------------------
% ФУНКЦИЯ АКТИВАЦИИ НЕЙРОНА
function y=sgn(x)
if (x>0)
y=1;
y=-1;
В системе моделирования MATLAB реализовать следующие модели нейронов:
Весовые коэффициенты входов сумматора, на которые подаются входные сигналы, обозначаются, а пороговое значение. Нелинейная функция активации персептрона является ступенчатой
09 09 2014
1 стр.
Простейшая краевая задача для обыкновенного линейного дифференциального оператора
06 10 2014
1 стр.
Существование решения основной задачи линейного программирования способы ее нахождения
10 10 2014
1 стр.
Двойственная задача тесно связана задачей линейного программирования. Задача первоначальная называется исходной
10 10 2014
1 стр.
Простейшая нейронная сеть персептрон розенблатта. Линейная разделимость и теорема об обучении персептрона
26 09 2014
1 стр.
Определение Пусть линейное преобразование линейного пространства L над полем P. Множество {(X)
25 12 2014
1 стр.
Положительность коэффициентов вязкости. Термодинамическая модель линейного упругого тела. Тензор теплового расширения. Гипотеза Дюгамеля-Неймана. Адиабатические и изотермические мо
17 12 2014
1 стр.
Понятие, зарождение и эволюция идеи, современное понимание и конституционное оформление принципа разделения властей
02 09 2014
3 стр.