- •Восходящий и нисходящий методы построения систем искусственного интеллекта.
- •2.Понятие системы, основанной на знаниях.
- •3.Автономная и гибридная соз.
- •4. Оболочка соз и ее основные компоненты.
- •5. Базовые свойства, отличающие знания от данных.
- •6. Логические модели представления данных.
- •7. Сетевые модели представления знаний.
- •8. Представление знаний в виде иерархической структуры фреймов.
- •9.Продукционное правило как форма представления знаний.
- •10. Основные компоненты соз продукционного типа.
- •11. База знаний в соз продукционного типа.
- •12. Описание знаний на инфологическом уровне в виде графа решений
- •13.Механизм вывода в соз продукционного типа.
- •14. Прямой, обратный и комбинированный вывод в соз продукционного типа.
- •15. Стратегия поиска (вывода) в ширину.
- •16. Стратегия поиска в глубину.
- •17. Подсистема объяснения в соз продукционного типа.
- •18. Подсистема приобретения знаний в соз продукционного типа
- •19. Понятие искусственной нейронной сети.
- •20. Искусственный нейрон. Активационная функция нейрона и ее основные виды.
- •21. Межнейронные синаптические связи. Веса связей. Обучение инс.
- •22. Многослойный персептрон и его обучение с помощью алгоритма обратного распространения ошибки.
- •24. Сеть Хопфилда.
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-Ci2*(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-сети
Оопределяется размер Н скрытого слоя RBF-сети, равный количеству тренировочных шаблонов (Н=Q).
В качестве центров АФН скрытого слоя берутся точки пространства входных сигналов, заданные в наборе тренировочных шаблонов P: Ci = Xi (i=1..H).
Задается ширина окон АФН скрытого слоя i (i=1..H). Причем, окна должны покрывать пространство входных сигналов сети, не накладываясь друг на друга (эвристические параметры).
Формируются матрицы F и Y.
Вычисляется матрица F-1.
По формуле (10) определяется матрица синаптических весов W, эти значения должны обеспечить совпадение точек интерполяционной поверхности с тренировочными шаблонами в пространстве выходных сигналов RBF-сети.
* Наиболее ответственные моменты реализации алгоритма это:
- выбор размера скрытого слоя;
- задание ширины окон АФН,
т.к. от этого существенно зависит ошибка аппроксимации в точках входного пространства, не фигурирующих в наборе тренировочных шаблонов Р.