- •Предисловие.
- •1. Основные задачи искусственного интеллекта.
- •1.1. История развития систем искусственного интеллекта.
- •1.2. Обзор основных направлений в области искусственного интеллекта
- •1.3. Решение задач и искусственный интеллект
- •1.3.1. Графовое представление задачи в пространстве состояний.
- •1.3.2. Стратегии поиска в пространстве состояний
- •2. Проблемная область искусственного интеллекта
- •2.1. Представление знаний
- •2.2 Модели представления знаний
- •2.2.1. Семантические сети
- •2.2.2. Фреймы
- •2.2.3. Формальные логические модели
- •2.2.4. Продукционная модель
- •2.2.5. Вывод на знаниях
- •3. Сильные методы решения задач. Экспертные системы
- •3.1. Структура экспертных систем
- •3.2. Классификация экспертных систем
- •3.3. Отличие эс от других программных продуктов
- •3.4. Цикл работы экспертных систем
- •3.5. Технология проектирования и разработки экспертных систем
- •4. Принятие решений в условиях неопределенности
- •4.1. Нечеткая логика
- •4.1.1. Нечеткие множества
- •4.1.2. Более строгое представление о нечетких множествах
- •4.1.3. Основные характеристики нечетких множеств
- •4.1.4. Примеры нечетких множеств и их характеристик
- •4.1.5. Операции над нечеткими множествами
- •4.1.6. Четкое множество α-уровня (или уровня α)
- •4.1.7. Нечеткая и лингвистическая переменные
- •4.1.8. Нечеткие числа
- •5. Машинное обучение на основе нейронных сетей
- •5.1. Биологический нейрон и его математическая модель
- •5.1.1. Биологический нейрон
- •5.1.2. Искусственный нейрон
- •5.2. Нейросети
- •5.2.1. Классификация и свойства нейросетей
- •5.2.2. Обучение искусственных нейронных сетей
- •5.3. Теорема Колмогорова
- •5.4. Персептрон
- •5.4.1. Алгоритм обучения персептрона
- •5.4.2. Линейная разделимость и персептронная представляемость
- •Логическая функция
- •Входы и выходы нейронов сети,
- •5.5. Сеть обратного распространения
- •5.5.1. Алгоритм обучения сети обратного распространения
- •5.6. Сеть встречного распространения
- •5.6.1. Сеть Кохонена. Классификация образов
- •5.6.2. Алгоритм обучения сети Кохонена
- •5. 6.3. Нейроны Гроссберга. Входные и выходные звезды
- •5.6.4. О бучение входной звезды
- •5.6.5. Обучение выходной звезды
- •5.6.6. Двухслойная сеть встречного распространения
- •5.6.7. Алгоритм обучения сети встречного распространения
- •5.7. Стохастические сети
- •5.7.1. Обучение Больцмана
- •5.7.2. Обучение Коши
- •5.8. Сети с обратными связями
- •5.8.1. Сеть Хопфилда
- •5.8.2. Правило обучения Хебба
- •5.8.3. Процедура ортогонализации образов
- •5.9. Сеть дап (двунаправленная ассоциативная память)
- •5.10. Сеть арт (адаптивная резонансная теория)
- •5.10.1. Алгоритм функционирования сети арт-1
- •Список иллюстраций
5.4. Персептрон
Одной из первых искусственных сетей, способных к перцепции (восприятию) и формированию реакции на воспринятый стимул, явился PERCEPTRON Розенблатта (F. Rosenblatt, 1958). Персептроном, как правило, называют однослойную нейронную сеть, при этом каждый персептронный нейрон в качестве активационной функции использует функцию единичного скачка (пороговую).
5.4.1. Алгоритм обучения персептрона
Для простоты рассмотрим вначале процедуру обучения персептрона, состоящего только из одного нейрона. Подробная схема такого персептрона изображена на рис. 6.7.
Как
отмечалось ранее, будем считать, что
персептрон имеет дополнительный
вход
,
который
всегда равен 1. В таком случае, пороговое
смещение
и
О
бучение
персептрона состоит в подстройке
весовых коэффициентов
,
где
Обученный
персептрон способен разделять требуемое
множество образов на два класса. (К
первому классу относятся
входные образы, для которых на выходе
персептрона получено нулевое
значение, ко второму классу — образы,
для которых получено единичное
значение.)
Рис. 6.7. Однонейронный персептрон с n входами
Обучение
персептрона — это обучение с учителем,
т. е. должен существовать
набор векторов
называемый обучающей
выборкой.
Здесь
- примеры входных
образов, для которых заранее известна
их принадлежность к одному из
двух данных классов.
Будем
называть персептрон обученным на данной
обучающей выборке,
если при подаче на вход каждого вектора
на выходе всякий раз получается
соответствующее значение
Предложенный Ф. Розенблаттом
метод обучения состоит в итерационной
подстройке весовых коэффициентов
последовательно уменьшающей выходные
ошибки.
Алгоритм включает несколько шагов:
Шаг
0. Проинициализировать весовые
коэффициенты
,
небольшими
случайными значениями, например, из
диапазона [-0,3; 0,3].
Шаг 1. Подать на вход персептрона один из обучающих векторов и вычислить его выход y.
Шаг
2. Если выход правильный
,
перейти
на шаг 4. Иначе вычислить
ошибку — разницу между верным и
полученным значениями выхода:
Шаг
3. Весовые коэффициенты модифицируются
по следующей формуле:
Здесь
и
-
номера соответственно текущей
и следующей итераций; V
- коэффициент скорости обучения
-
1-я
компонента
входного вектора
.
Шаг 4. Шаги 1—3 повторяются для всех обучающих векторов. Один цикл последовательного предъявления всей выборки называется эпохой. Обучение завершается по истечении нескольких эпох, когда сеть перестанет ошибаться.
Замечание 1. Коэффициент скорости обучения v является параметром данного алгоритма. Как правило, его выбирают из диапазона [0,5; 0,7]. В некоторых случаях (при большом объеме обучающей выборки) целесообразно постепенно уменьшать значение у начиная, например, с 1.
Замечание
2. Используемая на шаге 3 формула
модифицирует только весовые
коэффициенты, отвечающие ненулевым
значениям входов
,
поскольку только они влияли на величину
,
а следовательно, и на значение y.
Очевидно,
что если
(получен
неправильный нулевой выход вместо
правильного единичного), то, поскольку
,
весовые коэффициенты
(а вместе с ними и величина s)
будут увеличены и тем самым уменьшат
ошибку. В противном случае весовые
коэффициенты будут уменьшены
и сумма s
тоже уменьшится, приближая тем самым
y
к значению
Обобщим теперь этот алгоритм обучения на случай однослойной сети, включающей n персептронных нейронов (рис. 6.4). Такая сеть (при достаточно большом числе нейронов) может осуществлять разбиение образов на произвольное требуемое число классов.
Пусть имеется обучающая выборка, состоящая из пар векторов
.
Назовем
нейронную сеть обученной на данной
обучающей
выборке, если при подаче на входы сети
каждого вектора
на выходах всякий раз получается
соответствующий вектор
.
Обучение заключается
в итерационной подстройке матрицы
весов W
(
-
вес
синаптической
связи между i-м
входом и j-м
нейроном), последовательно
уменьшающей ошибку в выходных векторах.
Алгоритм включает следующие
шаги:
Шаг 0. Проинициализировать элементы весовой матрицы W небольшими случайными значениями.
Шаг 1. Подать на входы один из входных векторов и вычислить его выход Y.
Шаг
2. Если выход правильный
,
перейти
на шаг 4. Иначе, вычислить
вектор ошибки — разницу между идеальным
и полученным значениями
выхода:
.
Шаг
3. Матрица весов модифицируется по
следующей формуле:
Здесь
и
-
номера соответственно текущей и
следующей
итераций; v
- коэффициент скорости обучения
-
i-я
компонента
входного вектора
;
-
номер
нейрона в слое.
Шаг 4. Шаги 1—3 повторяются для всех обучающих векторов. Обучение завершается, когда сеть перестанет ошибаться.
Представленный
метод обучения носит название
-правило.
Доказанная
Розенблаттом теорема о сходимости
обучения по
-правилу
говорит о
том, что персептрон способен обучиться
любому обучающему набору, который
он способен представить. Ниже мы более
подробно обсудим возможности
персептрона по представлению информации.
