Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИИС(X-file).doc
Скачиваний:
45
Добавлен:
19.04.2019
Размер:
2.33 Mб
Скачать

22. Многослойный персептрон и его обучение с помощью алгоритма обратного распространения ошибки.

Опр: Многослойный персептрон (МП) – в самой простой версии это сеть с одним входным (сенсорным) слоем, одним выходным (моторным) слоем и одним или несколькими внутренними (скрытыми) слоями нейрона. Характерная черта такого персептрона – прямонаправленность. Это значит, что информация, преобразуясь, передается через К скрытых слоев от входного слоя к выходному, при этом, в стандартной топологии, узел i в слое k = 1,2, … , К+1 соединяется посредством синаптических весов i j k со всеми узлами j предыдущего, (k-1)-го слоя, где k=0 – сенсорный слой, k=К+1 – моторный слой.

* Нейроны сенсорного и моторного слоев не имеют активационных функций, т.к. их задачи – принять и ретранслировать сигналы на первый скрытый слой (для сенсорного) и, суммировав сигналы, подать их на выход (для моторного).

Модифицированные версии многослойного персептрона могут иметь:

- нерегулярные связи между слоями (неполный граф соединений);

- прямые связи между несмежными слоями;

- межнейронные связи внутри одного слоя;

- обратных связей БЫТЬ НЕ МОЖЕТ.

  • Входной слой многослойного персептрона выполняет функции приема и ретрансляции входных сигналов х1, х2, … , хN на нейроны первого скрытого слоя;

  • Основное нелинейное преобразование сигналов происходит в скрытых слоях;

  • Выходной слой осуществляет суперпозицию взвешенных сигналов последнего скрытого слоя.

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

Обучение многослойного персептрона – это задача оптимизации (подбор оптимальных ij и порогов АФН так, чтобы ошибка стремилась к нулю или была равна нулю). Для обучения МП был предложен алгоритм «Обратного распространения ошибки» (Back Propagation Error). В основу этого алгоритма положен метод градиентного спуска, направленный на уменьшение ошибки:

Q M

e = ½   (yiq – Yiq)2

q=1 i=1

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

jik = –  e / jik , j = 1..Hk-1, i = 1..Hk (k = 1..K);

0ik = –  e / 0ik , j = 1..Hk-1, I = 1..Hk (k = 1..K),

где jik – синаптический вес связи j-го нейрона k–1-го слоя с i-м нейроном k-го слоя;

0ik – порог АФН i-го нейрона k-го слоя;

Нk – число нейронов в k-м слое;

 – настроечный параметр обучения (0,1];

К – число слоев персептрона.

Согласно правилам дифференцирования сложной функции, производная от функции ошибки по jik может быть записана как:

e / jik = (e / yik)*(yik / sik)*(sik / jik) = (обозн.) = ik * yjk-1 (1)

yik – сигнал на выходе i-го нейрона k-го слоя;

Нk-1

sik =  j i k yjk-1 – 0 ik – сдвинутая на величину порога взвешенная сумма входных

j=1 сигналов i-го нейрона k-го слоя;

ik = (e / yik)*(yik / sik)

* Выражение (1) и все последующие выкладки приведены для случая оценки ЛОКАЛЬНОЙ ОШИБКИ e = eq, т.е. для одного шаблона. Поэтому индекс шаблона опущен и нет  по q.

Представление производной e / yik через выходы k+1-го слоя имеет вид:

Нk+1 Нk+1

e / yik =  (e / yjk+1)*(yjk+1 / sjk+1)*(sjk+1 / yik) =  (e / yjk+1)*(yjk+1 / sjk+1)*ijk+1 (2)

На основании этого (*(yik / sik)) можно получить рекуррентную формулу:

Нk+1

ik = [  ik+1ijk+1] *(yik / sik) (3)

j=1

Эта формула может быть использована для пересчета величин ik со слоя k+1 на слой k (т.е. в обратную сторону – обратное распространение ошибки).

Для слоя К+1 (выходной, последний), с которого начинается BPE (ОРО) величина:

iК+1 = (yjК+1 – Yj)*(yjK+1 / sjK+1) (4)

Т.о. итерационная формула для коррекции значений синаптических весов имеет вид:

jik+1 = –  ik+1 yjk (k = K, K-1, … , 1, 0) (5)

Аналогично получается итерационная формула для коррекции порогов АФН:

0ik+1 =  ik+1 (k = K, K-1, … , 1, 0) (6)

Выбор той или иной АФН определяется многими факторами, среди которых в первую очередь выделяется существование производной на всей оси абсцисс и удобство организации вычислений. С этой точки зрения, в алгоритме BPE (ОРО) чаще всего используют сигмаидальную АФН. Для нее, согласно (4):

iК+1 = a(yj – Yj) yj(1 – yj) – непрерывная функция

(yj = yjК+1 – сигнал на выходе j-го нейрона выходного слоя).

Общее описание алгоритма обратного распространения ошибки

1. Инициализация синаптических весов jik и порогов АФН 0ik во всех слоях персептрона (j = 1..Hk-1, i = 1..Hk) как маленьких величин, например [-1,1].

2. Выбор очередного шаблона < X , Y >  S из набора тренировочных шаблонов случайным образом или согласно определенному правилу.

3. Прямой ход: вычисление фактических выходов персептрона по формулам:

Нk-1

yjk = f ( j i k yjk-1 – 0 ik) , j = 1..Hk-1, i = 1..Hk, k = 1..K+1;

j=1

yj0 = xj – j-я компонента левой части шаблона.

Вычисление ошибки и проверка критерия выхода из алгоритма (достаточная малость ошибки).

4. Обратный ход: коррекция значений синаптических весов и порогов АФН с использованием формул (3) – (7). Причем коррекция порогов АФН осуществляется после каждого шаблона (по распределенной, но не по суммарной ошибке).

5. Переход к 2.

-) Для повышения эффективности алгоритма, априорный задаваемый параметр  можно заменить на поиск величины шага вдоль антиградиента с помощью метода одномерной минимизации. Это может привести к увеличению времени продолжения одной итерации алгоритма, но в целом уменьшит число итераций.

23. RBF-сеть.

Опр: RBF-сеть (Radial Basis Function) – однослойная ИНС, способная аппроксимировать произвольную непрерывную функцию в базисе радиально-симметричных активационных функций нейронов (с любой заданной точностью).

Алгоритм обучения RBF-сети – простой, не требующий рекурсий алгоритм; аппроксимируемая функция* задается набором шаблонов:

P = {< X , Y >q, q = 1..Q}, где

X = (X1, X2, … , XN) – вектор переменных (аргументов) аппроксимируемой функции, определяющий N-мерное пространство входных сигналов RBF-сети;

Y = (Y1, Y2, … , YM) – вектор соответствующих значений аппроксимируемой функции.

* Имеется в виду НАБОР аппроксимируемых функций, число которых (М) определяет количество выходов RBF-сети.

RBF – сеть имеет единственный скрытый слой из Н нейронов, только эти нейроны обладают радиально-симметричной АФН и осуществляют нелинейное преобразование поступающих на их вход сигналов. Синаптические веса всех связей между нейронами входного и скрытого слоев принимаются равными 1 (невзвешенная сумма сигналов).

В АФН i-го нейрона скрытого слоя:

– X-Ci2*(1/2i) – [ (Xj – Cji)2]*(1/2i)

f (X, Ci) = e = e i=1..N

- вектор Ci = (C1i, C2i, … , CNi) – центр АФН i-го нейрона;

- скаляр iширина окна АФН i-го нейрона.

Матричные выражения для вычисления синаптических весов связей между нейронами скрытого и выходного слоев j i (j = 1..H, i = 1..M) получаются следующим образом:

  • Сигнал выхода i-го нейрона выходного слоя, получаемый под воздействием вектора аргументов q-го шаблона (Xq) приравнивается i-му элементу выходного вектора q-го шаблона (Yiq):

yi = 1 i f(Xq, C1) + 2 i f(Xq, C2) + … + H i f(Xq, CH) = yiq (8)

  • Если положить H=Q, Ci = Xi (i=1..H), то уравнение (8) можно представить в виде:

1 i fq1 + 2 i fq2 + … + H i fqH = Yqi ,

где fqi = f(Xq,Ci)

yqi = Yqi – желаемый отклик i-го выходного нейрона на q-й шаблон.

  • Записав аналогичные уравнения для всех выходов сети и всех шаблонов, получим матричное уравнение вида:

F * W = Y, где (9)

  • Синаптические веса из (9) получаются:

W = F-1 * Y (10)

Алгоритм синтеза RBF-сети

  1. Оопределяется размер Н скрытого слоя RBF-сети, равный количеству тренировочных шаблонов (Н=Q).

  2. В качестве центров АФН скрытого слоя берутся точки пространства входных сигналов, заданные в наборе тренировочных шаблонов P: Ci = Xi (i=1..H).

  3. Задается ширина окон АФН скрытого слоя i (i=1..H). Причем, окна должны покрывать пространство входных сигналов сети, не накладываясь друг на друга (эвристические параметры).

  1. Формируются матрицы F и Y.

  2. Вычисляется матрица F-1.

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

* Наиболее ответственные моменты реализации алгоритма это:

- выбор размера скрытого слоя;

- задание ширины окон АФН,

т.к. от этого существенно зависит ошибка аппроксимации в точках входного пространства, не фигурирующих в наборе тренировочных шаблонов Р.