Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Медведев В.С., Потемкин В.Г. Нейронные сети. MATLAB 6.doc
Скачиваний:
857
Добавлен:
07.03.2016
Размер:
15.55 Mб
Скачать

3.3.5. Расширение возможностей процедур обучения

Очень трудно определить, какой обучающий алгоритм будет самым быстрым при решении той или иной практической задачи. Это зависит от многих факторов, включая сложность задачи, число элементов обучающего множества, число настраиваемых параметров сети и конечную ошибку. Вообще говоря, для сетей, которые содержат до нескольких сотен параметров, алгоритм LMимеет самую быструю сходимость. Это преимущество особенно значимо, если требуется высокая точность обучения. Алгоритмы методов Ньютона и секущих плоскостей занимают следующее место для нейронных сетей умеренных размеров. Алгоритм BFGSтребует значительного объема памяти для хранения матрицы Гессе, но при этом значительно превосходит по быстродействию алгоритмы метода сопряженных градиентов.

Среди алгоритмов метода сопряженных градиентов алгоритм CGBПауэлла – Биеле требует наибольших объемов памяти, но обычно имеет самую быструю сходимость. Алгоритмы Rprop иSCGне требуют использования процедур одномерного поиска и предъявляют незначительные требования к памяти. Они работают достаточно быстро и могут быть рекомендованы для решения задач большой размерности. АлгоритмCGSс переменным параметром скорости настройки обычно работает намного медленнее других алгоритмов и требует приблизительно столько же памяти, как алгоритм Rprop, но при решении некоторых практических задач он может оказаться весьма полезным, поскольку возникают ситуации, когда оказываются предпочтительными алгоритмы с медленной сходимостью, например при использовании стратегии прерывания.

При решении практических задач рекомендуется начинать с алгоритма LM. Если при этом требуется слишком много памяти, то следует перейти к алгоритмуBFGили одному из алгоритмов метода сопряженных градиентов. Алгоритм Rprop также характеризуется высоким быстродействием и предъявляет относительно малые требования к объему используемой памяти.

Табл. 3.1 иллюстрирует характеристики различных алгоритмов при решении с помощью нейронных сетей одной частной задачи регрессионного анализа.

Таблица 3.1

М-функция ППП

Алгоритм

Время, с

Циклы обучения

Число операций, Mflops

traingds

GDS

57.71

980

2.50

trainrp

Rprop

12.95

185

0.56

trainscg

SCG

16.06

106

0.70

traincgf

CGF

16.40

81

0.99

traincgp

CGP

16.16

89

0.75

traincgb

CGB

15.03

74

0.59

trainoss

OSS

18.46

101

0.75

trainbfg

BFGS

10.86

44

1.02

trainlm

LM

1.87

6

0.46

Сеть типа 1–10–1, имеющая 1 вход, 10 скрытых нейронов и 1 выход, обучалась с использованием последовательности из 41 элемента, представляющих пары вход – целевой выход, пока не была достигнута среднеквадратичная погрешность обучения, равная 0.01. Для каждого алгоритма обучения было выполнено 20 прогонов, чтобы получить усредненные показатели, приведенные в таблице. Рассматривать эти показатели надо весьма осторожно, поскольку приведенные данные относятся к конкретной задаче и могут существенно измениться при решении какой-либо другой задачи.

Обратите внимание, что нет прямой связи между количеством операций с плавающей точкой и временем выполнения алгоритма. Это связано с тем, что некоторые алгоритмы используют особые приемы при реализации встроенных функций системой MATLAB. Это в первую очередь касается реализации алгоритма LM.