Обучение нейросетей в Matlab


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

Вообще говоря, для сетей, которые содержат до нескольких сотен параметров, алгоритм 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.

Поэтому из выше всего сказанного можно сделать вывод, что вам необходимо просмотреть много дополнительной информации и альтернатив!


Добавить комментарий


Защитный код
Обновить

Сайт создан в Seo-Dubna.ru