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

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

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

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

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

Таблица 3.1

М-функция ППП Алгоритм Время, с Циклы обучения Число операций, Mflops
traingds GDS 57.71   2.50
trainrp Rprop 12.95   0.56
trainscg SCG 16.06   0.70
traincgf CGF 16.40   0.99
traincgp CGP 16.16   0.75
traincgb CGB 15.03   0.59
trainoss OSS 18.46   0.75
trainbfg BFGS 10.86   1.02
trainlm LM 1.87   0.46

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: