- •Лекция 1. Общие сведения об интеллектуальных системах.
- •Лекция 2. Основные понятия нейробиологии. Нейроны. Нейронные сети.
- •Модель Маккаллока—Питтса
- •Другие модели.
- •Лекция 3. Конечные автоматы и нейронные сети.
- •Лекция 4. Машины Тьюринга.
- •Лекция 5. Рекурсивные множества и тезис Тьюринга. Идея эффективной процедуры.
- •Лекция 6. Регулярные и представимые события
- •Лекция 7. Нейронные сети. Методы обучения нейронных сетей
- •Обучение однослойного персептрона
- •Обучение многослойного персептрона
- •Обучение без учителя
- •Нейронные сети Хопфилда и Хэмминга
- •Лекция 8. Персептрон Розенблатта
- •Лекция 9. Теорема Новикова
- •Лекция 10. Постановка задач распознавания.
- •1. Принцип перечисления членов класса
- •2. Принцип общности свойств
- •3. Принцип кластеризации
- •1. Эвристические методы
- •2. Математические методы
- •3. Лингвистические (синтаксические) методы
- •Простая модель распознавания образов.
- •Лекция 11. Структура знания. Представление знаний об окружающей среде
- •Модель окружающей среды. Исходные понятия
- •Формальные и неформальные отношения.
- •Природа времени.
- •Лекция 12. Представление знаний и вывод на знаниях Данные и знания
- •Модели представления знаний
- •Вывод на знаниях
- •Нечеткие знания
- •Лекция 13. Введение в основы нечеткой логики
- •Лекция 14. Экспертные системы, базовые понятия
- •Лекция 15. Машинная эволюция
- •Лекция 16. Игровые программы.
- •Конец повторять
- •Лекция 17. Интеллектуальные системы в Интернет
- •Машины поиска.
- •Неспециализированные и специализированные поисковые агенты
- •Системы интеллектуальных поисковых агентов
- •Система marri
- •Оглавление.
Обучение однослойного персептрона
Задача обучения однослойного персептрона решается просто. Его работа определяется выражением:
|
|
(7.5) |
Подадим на вход один вектор xs из обучающего множества. Рассчитаем выход и сравним полученный выходной векторys с эталоном:ds. Зная разницу между ними, можно ввести коррекции для весовых коэффициентов и пороговых уровней:
|
|
(7.6) |
где
– небольшое
положительное число, характеризующее
скорость обучения. Разница между выходом
и эталоном,
и умножение на текущее значение входаxijобеспечивают правильное направление
коррекций: если
,
то выход должен увеличиться, и вес
увеличивается, еслиxij>0,
и уменьшается, еслиxij<0.
Еслиxij=0,
то вес менять нельзя, т.к. он не влияет
на выход. Абсолютное значениеxij
также учитывается при обучении. Чем
меньше меняются веса, тем меньше
вероятность искажения уже запомненных
образов. Поэтому множительxij
оправдан.
Обучение многослойного персептрона
В многослойных же сетях оптимальные выходные значения нейронов всех слоев, кроме последнего, как правило, не известны, и двух или более слойный персептрон уже невозможно обучить, руководствуясь только величинами ошибок на выходах НС. Один из вариантов решения этой проблемы – разработка наборов выходных сигналов, соответствующих входным, для каждого слоя НС, что, конечно, является очень трудоемкой операцией и не всегда осуществимо. Второй вариант – динамическая подстройка весовых коэффициентов синапсов, в ходе которой выбираются, как правило, наиболее слабые связи и изменяются на малую величину в ту или иную сторону, а сохраняются только те изменения, которые повлекли уменьшение ошибки на выходе всей сети. Очевидно, что данный метод "тыка", несмотря на свою кажущуюся простоту, требует громоздких рутинных вычислений. И, наконец, третий, более приемлемый вариант – распространение сигналов ошибки от выходов НС к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы. Этот алгоритм обучения НС получил название процедуры обратного распространения. Именно он будет рассмотрен в дальнейшем.
Согласно методу наименьших квадратов, минимизируемой целевой функцией ошибки НС является величина:
|
|
(7.7) |
где
– реальное выходное состояние нейрона
j выходного слояNнейронной сети
при подаче на ее входы p-го образа;djp– идеальное (желаемое) выходное состояние
этого нейрона.
Суммирование ведется по всем нейронам выходного слоя и по всем обрабатываемым сетью образам. Минимизация ведется методом градиентного спуска, что означает подстройку весовых коэффициентов следующим образом:
|
|
(7.8) |
Здесь wij– весовой коэффициент синаптической связи, соединяющейi-ый нейрон слояn-1сj-ым нейроном слояn,– коэффициент скорости обучения, 0<<1.
Нетрудно видеть, что
|
|
(7.9) |
Здесь под yj,
как и раньше, подразумевается выход
нейронаj, а подsj–
взвешенная сумма его входных сигналов,
то есть аргумент активационной функции.
Так как множительdyj/dsjявляется производной этой функции по
ее аргументу, из этого следует, что
производная активационной функция
должна быть определена на всей оси
абсцисс. В связи с этим функция единичного
скачка и прочие активационные функции
с неоднородностями не подходят для
рассматриваемых НС. В них применяются
такие гладкие функции, как гиперболический
тангенс или классический сигмоид с
экспонентой. В случае гиперболического
тангенса
.
Третий множитель sj/wij, очевидно, равен выходу нейрона предыдущего слояyi(n-1).
Что касается первого множителя в (7.9), он легко раскладывается следующим образом:
|
|
(7.10) |
Здесь суммирование по kвыполняется среди нейронов слояn+1.
Введем новую переменную
|
|
(7.11) |
и получим рекурсивную формулу для расчетов величин j(n)слоя n из величинk(n+1)более старшего слояn+1.
|
|
(7.12) |
Для выходного же слоя
|
|
(7.13) |
Теперь мы можем записать (7.8) в раскрытом виде:
|
|
(7.14) |
Иногда для придания процессу коррекции весов некоторой инерционности, сглаживающей резкие скачки при перемещении по поверхности целевой функции, (7.14) дополняется значением изменения веса на предыдущей итерации
|
|
(7.15) |
где – коэффициент инерционности,t– номер текущей итерации.
Таким образом, полный алгоритм обучения НС с помощью процедуры обратного распространения строится так:
1. Подать на входы сети один из возможных образов и в режиме обычного функционирования НС, когда сигналы распространяются от входов к выходам, рассчитать значения последних. Напомним, что
|
|
(7.16) |
где M– число нейронов в слоеn-1с учетом нейрона с постоянным выходным состоянием +1, задающего смещение;yi(n-1)=xij(n)–i-ый вход нейронаjслояn.
|
yj(n) = f(sj(n)), гдеf()– сигмоид |
(7.17) |
|
yq(0)=Iq, |
(7.18) |
где Iq– q-ая компонента вектора входного образа.
2. Рассчитать (N)для выходного слоя по формуле (7.13).
Рассчитать по формуле (7.14) или (7.15) изменения весов w(N)слояN.
3. Рассчитать по формулам (7.12) и (7.14) (или (7.12) и (7.15)) соответственно (n)иw(n)для всех остальных слоев,n=N-1,...1.
4. Скорректировать все веса в НС
|
|
(7.19) |
5. Если ошибка сети существенна, перейти на шаг 1. В противном случае – конец.
Сети на шаге 1 попеременно в случайном порядке предъявляются все тренировочные образы, чтобы сеть, образно говоря, не забывала одни по мере запоминания других.
Из выражения (7.14) следует, что когда выходное значение yi(n-1)стремится к нулю, эффективность обучения заметно снижается.

.
.