- •Лекция 1
- •Системы искусственного интеллекта -
- •Существуют два понятия:
- •Подходы к построению систем искусственного интеллекта
- •Логический подход (логическое моделирование)
- •Примеры записей на основе логики предикатов:
- •Фреймовое представление знаний.
- •Продукционное представление знаний — модель основанная на правилах, позволяет представить знание в виде
- •Языки сентенционного программирования
- •Экспертная система (ЭС) – это программное обеспечение, которое выполняет функции эксперта при решении
- •Семантическая сеть является одной из моделей представления знаний. Основное преимущество этой модели -
- •Концептуальный поиск на основе семантических сетей привнёс элементы искусственного интеллекта в информационно- поисковые
- •Наиболее часто в семантических сетях используются следующие отношения:
- •Структурный подход (структурное моделирование)
- •Потенциальными областями применения искусственных нейронных сетей являются те, где традиционные вычисления трудоемки или
- •Эволюционный подход (эволюционное моделирование)
- •Имитационный подход
- •Лекция 2
- •Рассматриваемые вопросы:
- •Параметры нейрона
- •лица 2. 1.Виды активационных функций F
- •Продолжение таблицы 2.1. Виды активационных функций F
- •Классификация нейронных сетей
- •1.2.2.2 Сети прямого распространения:
- •№2 Классификация по типам структур:
- •Методы обучения НС делятся на
- •Входная
- •Нейронные сети прямого распространения:
- •2.Многослойный перцептрон - один из наиболее
- •Методики обучения нейронных сетей
- •Вывод формул для определения градиентов ошибок на входе выходного нейрона и нейрона j
- •Третий множитель
- •Подставляя в формулу 9 вторую часть формулы 7, получим рекурсивную
- •Для выходного слоя при гиперболической функции активации нейрона:
- •Пошаговое описание алгоритма обратного распространения ошибок
- •Шаг 5. Веса сети корректируются так, чтобы минимизировать ошибку (формула 2). Вычисление приращения
- •Входные элементы с линейной функцией активации передают входной сигнал
- •Вычислим значения приращений весовых коэффициентов по формуле (15), когда момент инерции µ равен
- •Вычислим новые значения весовых коэффициентов по формуле (17)
- •Новые значения весов
- •АЛГОРИТМЫ ОБУЧЕНИЯ НС
- •Парадиг
- •Лекция 3
- •Алгоритм Кохонена формирования карт признаков:
- •Шаг 5. Настройка весов нейрона j* и его соседей:
- •Рис.3.3.Вид основных окон программы Statistica Neurel Networks при моделировании сети Кохонена
- •Нейронная сеть Хопфилда
- •Рекуррентная сеть Хопфилда представлена в виде системы с обратной связью выхода сети с
- •В качестве входных данных сети Хопфилда можно использовать двоичные значения. Здесь мы будем
- •Когда элемент обновляется, его состояние изменяется в соответствии с правилом:
- •Сеть Хопфилда ведет себя как память и процедура сохранения отдельного вектора (образца) представляет
- •Рассмотрим практический пример использования сети
- •Первый элемент обновляется путем умножения образца на первый столбец матрицы весов
- •Проверим устойчивое состояние сети Хопфилда для найденных весов W, но для искаженного образца:
- •Рассмотрим состояние для элемента 4-го:
- •Рассмотрим состояние для элемента 2-го:
- •Определим весовую матрицу сети Хопфилда для двух образцов:
- •Существует зависимость между количеством элементов сети N и количеством образцов, которые она может
- •Запустить программу для моделирования работы сети Хопфилда по распознаванию образов
Вывод формул для определения градиентов ошибок на входе выходного нейрона и нейрона j скрытого слоя n.
(3
)
где под yj, подразумевается выход нейрона j, а под sj– взвешенная
сумма его входных сигналов (PSP), т. е. аргумент активационной функции. Так как множитель dyj /dsj является производной этой функции по ее
аргументу, следовательно, производная активационной функции должна быть определена на всей оси абсцисс. Поэтому функция единичного
скачка и прочие активационные функции с неоднородностями не подходят для рассматриваемой нейронной сети и данной методики обучения. Как правило, применяются такие гладкие функции, как гиперболическая или
логистическая. В случае гиперболического тангенса:
(4
)
В случае логистической функции:
(5
)
Третий множитель |
в формуле 3 равен выходу |
нейрона |
предыдущего слоя :
(6
)
Первый множитель формулы 3 раскладывается следующим образом:
, |
(7 |
|
) |
где суммирование по k выполняется среди нейронов слоя n+1 и :
(8
)
Введем переменную |
, |
(9 |
|
|
|
|
|
) |
которая называется градиентом ошибки на входе нейрона j слоя n.
Подставляя в формулу 9 вторую часть формулы 7, получим рекурсивную
формулу для расчётов величин |
слоя n из величин |
более |
старшего слоя n+1 : |
|
|
(10
)
С учётом формул 4 и 5 получим при гиперболической функции активации нейрона j слоя n:
(11
)
при логистической функции активации нейрона j слоя n:
(12
)
Для выходного слоя при гиперболической функции активации нейрона:
(13
)
Для выходного слоя при логистической функции активации нейрона:
(14
)
где L - номер нейрона в выходном слое.
Подставляя выражения 9 и 6 в формулу 3, а выражение 3 в формулу 1 (формулу для приращения веса), получим формулу 1 в виде:
(15
)
Для придания процессу коррекции весов инерционности, сглаживающей резкие скачки при перемещении по поверхности целевой функции, формула 15 дополняется значением изменения веса на предыдущей итерации:
(16
)
Пошаговое описание алгоритма обратного распространения ошибок
Рассматриваем нейронную сеть рис.4. Считаем, что все нейроны имеют
логистическую функцию активации.
Шаг 1. Весам сети присваиваются небольшие начальные значения, например значениями из диапазона между -0.3 и +0.3, полученные с помощью генератора случайных чисел, распределённых по нормальному, равномерному или иному закону.
Шаг 2. Выбирается очередная обучающая пара (X,Y) из обучающего множества; вектор X подаётся на вход сети. C каждым входным образцом X связывается целевой выходной образец Y.
Шаг 3. Вычисляется результат на каждом j-м выходе сети.
Шаг 4. Вычисляется разность между требуемым d (целевым Y) и реальным y (вычисленным) выходом сети, т.е. каждый из выходов сети вычитается из соответствующего компонента целевого вектора (выходного образца) с целью получения ошибки. После этого вычисляется локальный градиент ошибки для каждого элемента сети, кроме входных. Для выходных элементов используется формула (14):
а для элементов внутренних слоёв – формула (12):
Шаг 5. Веса сети корректируются так, чтобы минимизировать ошибку (формула 2). Вычисление приращения веса выполняется по формуле (16):
Если момент инерции выбрать равным 0, то формула 16 переходит в формулу 15:
Таким образом, новый вес на шаге t определяется как сумма веса на шаге (t-1) и приращения на шаге t:
wij t wij t wij (t 1)
(17
)
Шаги со 2-го по 5-й повторяются для каждой пары тренировочного множества до тех пор, пока не выполнится условие останова. . Например, обучение продолжается до тех пор, пока изменение квадратичной ошибки не окажется меньше некоторого допустимого значения при переходе от одной эпохи к следующей (или не выполнится другое условие останова). Шаги 2 и 3 можно рассматривать как «проход вперёд», так как сигнал распространяется по сети от входа к выходу. Шаги 4 и 5 составляют «обратный проход», поскольку здесь вычисляемый сигнал ошибки распространяется обратно по сети и используется для подстройки весов.
2
3
1
-1
Прямой
проход
-1 |
0.99606 |
|
7 |
||
|
||
|
5.532739 |
23
Целевым является |
значение |
0.8, |
|
||
поэтому |
ошибка для выходного |
||||
элемента |
равна |
|
|
|
|
(0.800 - 0.99606) x |
0.99606 |
|
|
||
x (1 - 0.99606) = -0.00077 |
|
|
|||
|
|
-1 |
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-0.00077 |
|
|
Ошибка предыдущего |
|
|
|
|
|
|
|
|
|
|
|
слоя, умноженная на |
|
2 |
|
3 |
|
весовые значения |
|
|
0.778713 0.991771 5 6
1.258181 4.791865
1 |
2 |
0,598688 |
0,731059 |
3 |
4 |
0.4 |
1 |
22
0.2 |
0.8 |
1 |
2 |
-2 |
2 |
Фактическая ошибка 0.778713 x(1- 0.778713 ) x -0.00154
3 |
3 |
1 |
1 |
2 |
-1 |
|
-0.00154 |
-0.00231 |
5 |
6 |
-0.00027 |
-0.000019 |
1 |
2 |
-0.00083 |
-0.0006 |
3 |
4 |
-0.0002 |
-0.00012 |
2 |
2 |
0.2 |
0.8 |
1 |
2 |
-2
3
1
2
Входные элементы с линейной функцией активации передают входной сигнал
на свои выходы без изменений. Они также не имеют порогов. Совокупный входной |
||||||
сигнал будем считать по формуле . |
|
n |
|
|
||
s j |
xi |
wij |
w0 j |
|||
|
|
|||||
Для третьего элемента w(0,3)=1, w(1,3)=-1, w(2,3)=2, i 1 |
|
|
||||
S3 |
= (-1*0.2) + (2*0.8) - (1*1) = 0.4 |
|
|
|
|
|
Выходной сигнал третьего элемента рассчитаем по формуле (2) |
|
|||||
Y3 |
= 1/(1 + exp(-0.4))= 0,598688 |
|
|
|
|
|
Выполним подобные вычисления для остальных элементов сети |
|
|||||
S4 |
= (2 * 0.2) + (2 * 0.8) - (1*1) = 1 |
|
|
|
|
|
Y4 |
= 1/(1+exp(-3)) = 0,731059 |
|
|
|
|
|
S5 |
= (3 * 0,598688) + (2 * 0,731059 ) - (2 * 1) = 1.258181 |
|
|
|||
Y5 |
= 1/(1+exp(- 1.258181)) = 0.778713 |
|
|
|
|
|
S6 |
= (1 * 0,598688) + (3 * 0,731059 ) - (-2*1) = 4.791865 |
|
|
|||
Y6 |
= 1/(1+exp(- 4.791865)) = 0.991771 |
|
|
|
|
|
S7 |
= (2* 0.778713 ) + (3 * 0.991771) - ( -1*1) = 5.532739 |
|
|
|||
Y7 |
= 1/(1+exp(- 5.532739)) = 0.99606 |
|
|
|
|
Градиент ошибки выходного элемента рассчитаем по формуле (14) δ7 = 0.99606 * (1 – 0.99606) * (0.8 – 0.99606) = -0.00077.
Градиенты ошибок скрытых элементов рассчитаем по формуле (12) δ6 = 0.991771 * (1 – 0.991771 ) * (3 * - 0.00077) = -0.000019 δ5 = 0.778713 * (1 – 0.778713 ) * (2*- 0.00077) = -0.00027
δ4 = 0.731059*(1- 0.731059)*(2* -0.00027 +3*- 0.000019) = -0.00012 δ3 = 0.598688*(1- 0.598688)*(3*-0.00027+1*-0.000019) = -0.0002
Вычислим значения приращений весовых коэффициентов по формуле (15), когда момент инерции µ равен нулю. Такая ситуация характерна для первого образца из обучающей выборки, поскольку для этого образца нет изменения предыдущего веса.
Δw(0,7) = 0.07 * (-0.00077) = -0.0000539
Δw(5,7) = 0.07 * (-0.00077) * 0.778713 = -0.000042 Δw(6,7) = 0.07 * (-0.00077) * 0.991771 = -0.000053 Δw(0,6) = 0.07 * (-0.000019) * 1 = -0.000001
Δw(3,6) = 0.07 * (-0.000019) * 0.598688 = -0.00000008 Δw(4,6) = 0.07 * (-0.000019) * 0.731059 = -0.00000001 Δw(0,5) = 0.07 * (-0.00027) * 1 =- 0.0000019
Δw(3,5) = 0.07 * (-0.00027) * 0.598688 = -0.000011 Δw(4,5) = 0.07 * (-0.00027) * 0.731059 = -0.000014 Δw(0,4) = 0.07 * (-0.00012) * 1 = -0.0000084 Δw(1,4) = 0.07 * (-0.00012) * 0.2 = -0.0000017 Δw(2,4) = 0.07 * (-0.00012) * 0.8 = -0.0000067 Δw(0,3) = 0.07 * (-0.0002) * 1 = -0.000014
Δw(1,3) = 0.07 * (-0.0002) * 0.2 = -0.0000028 Δw(2,3) = 0.07 * (-0.0002) * 0.8 = -0.000011
Вычислим новые значения весовых коэффициентов по формуле (17)
w(0,7) = -1 + -0.0000539 = -1.0000539 w(5,7) = 2 + -0.000042 = 1.999958 w(6,7) = 3 + -0.000053 = 2.999947 w(0,6) = -2 + -0.000001 = -2.000001 w(3,6) = 1 + -0.00000008 = 0.99999992 w(4,6) = 3 + -0.00000001 = 2.99999999 w(0,5) = 2 + - 0.0000019 = 1.9999981 w(3,5) = 3 + -0.000011 = 2.999989 w(4,5) = 2 + -0.000014 = 1.999986 w(0,4) = 1 + -0.0000084 = 0.999986 w(1,4) = 2 + -0.0000017 = 1.9999972 w(2,4) = 2 + -0.0000067 = 1.9999983 w(0,3) = 1 + -0.000014 = 0.999986 w(1,3) = -1 + -0.0000028 = -1.0000028 w(2,3) = 2 + -0.000011 = 1.999989