Выберите многослойную функцию обучения нейронной сети

Очень сложно узнать, какой алгоритм настройки будет самым быстрым для данной задачи. Это зависит от многих факторов, включая сложность задачи, количество точек данных в набор обучающих данных, количество весов и смещений в сети, цель ошибки и используется ли сеть для распознавания шаблона (дискриминантный анализ) или приближение функций (регрессия). В этом разделе сравниваются различные алгоритмы настройки. Сети прямого распространения обучаются по шести различным проблемам. Три проблемы относятся к категории распознавания шаблона, а три другие относятся к категории приближения функций. Две из проблем - простые «игрушечные» проблемы, а другие четыре - проблемы «реального мира». Используются сети с различными архитектурами и сложностями, и сети обучаются до различных уровней точности.

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

Акроним

Алгоритм

Описание

LM

trainlm

Левенберг-Марквардт

BFG

trainbfg

BFGS Квази-Ньютон

RP

trainrp

Упругое обратное распространение

SCG

trainscg

Масштабированный сопряженный градиент

CGB

traincgb

Сопряженный градиент с перезапусками Powell/Beale

CGF

traincgf

Сопряженный градиент Флетчера-Пауэлла

CGP

traincgp

Сопряженный градиент Полак-Рибьер

OSS

trainoss

Одношаговый секант

GDX

traingdx

Обратное распространение переменной скорости обучения

В следующей таблице перечислены шесть задач бенчмарка и некоторые характеристики используемых сетей, процессов обучения и компьютеров.

Заголовок задачи

Тип задачи

Структура сети

Цель ошибки

Компьютер

SIN

Приближение функций

1-5-10.002

Солнечный Спарк 2

ПАРИТЕТ

Распознавание шаблона

3-10-10-10.001

Солнечный Спарк 2

ENGINE

Приближение функций

2-30-20.005

Sun Enterprise 4000

РАК

Распознавание шаблона

9-5-5-20.012

Солнечный Спарк 2

ХОЛЕСТЕРИН

Приближение функций

21-15-30.027

Солнечный Спарк 20

ДИАБЕТ

Распознавание шаблона

8-15-15-20.05

Солнечный Спарк 20

Набор данных SIN

Первый набор данных бенчмарка является простым приближением функций проблемой. A 1-5-1 сеть, с tansig передаточные функции в скрытом слое и линейная передаточная функция в выход слое используются, чтобы аппроксимировать один период синусоиды. В следующей таблице представлены результаты настройки сети с использованием девяти различных алгоритмов настройки. Каждая запись в таблице представляет 30 различных испытаний, где различные случайные начальные веса используются в каждом испытании. В каждом случае сеть обучается до тех пор, пока квадратичная невязка не станет меньше 0,002. Самым быстрым алгоритмом для этой задачи является алгоритм Левенберга-Марквардта. В среднем он более чем в четыре раза быстрее, чем следующий самый быстрый алгоритм. Это тип задачи, для которой лучше всего подходит алгоритм LM - приближение функций задача, где сеть имеет менее ста весов, и приближение должно быть очень точным.

Алгоритм

Среднее время (ы)ОтношениеMin. Время (ы) Max. Время (ы)Стд. (ы)

LM

1.14 1.00 0.65 1.830.38

BFG

5.22 4.58 3.17 14.38 2.08

RP

5.67 4.97 2.66 17.243.72

SCG

6.09 5.34 3.1823.643.81

CGB

6.61 5.80 2.9923.653.67

CGF

7.86 6.89 3.5731.234.76

CGP

8.24 7.23 4.0732.325.03

OSS

9.64 8.46 3.9759.639.79

GDX

27.69 24.29 17.21258.1543.65

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

Связь между алгоритмами дополнительно проиллюстрирована на следующем рисунке, на котором строится график времени, необходимого для сходимости в зависимости от цели сходимости среднеквадратичных ошибок. Здесь можно увидеть, что, когда цель ошибки уменьшается, улучшение, предоставляемое алгоритмом LM, становится более выраженным. Некоторые алгоритмы работают лучше, когда цель ошибки уменьшена (LM и BFG), а другие алгоритмы ухудшаются, когда цель ошибки уменьшается (OSS и GDX).

Набор данных четности

Вторая задача бенчмарка - задача распознавания простого шаблона - обнаружить четность 3-битного числа. Если количество таковых в шаблоне входа нечетно, то сеть должна выводить 1; в противном случае это должно привести к значению -1. Для этой задачи используется сеть 3-10-10-1 с нейронами тансига в каждом слое. В следующей таблице представлены результаты настройки этой сети с помощью девяти различных алгоритмов. Каждая запись в таблице представляет 30 различных испытаний, где различные случайные начальные веса используются в каждом испытании. В каждом случае сеть обучается до тех пор, пока квадратичная невязка не станет меньше 0,001. Самый быстрый алгоритм для этой задачи является алгоритмом упругого обратного распространения, хотя сопряженные алгоритмы градиента (в частности, масштабированный алгоритм сопряженного градиента) почти так же быстро. Заметьте, что алгоритм LM плохо работает с этой проблемой. В целом алгоритм LM не так хорошо работает с задачами распознавания шаблона, как с задачами приближения функций. Алгоритм LM разработан для задач методом наименьших квадратов, которые являются приблизительно линейными. Поскольку выходные нейроны в задачах распознавания шаблонов обычно насыщены, вы не будете работать в линейной области.

Алгоритм

Среднее время (ы)ОтношениеMin. Время (ы) Max. Время (ы)Стд. (ы)

RP

3.731.00 2.356.891.26

SCG

4.091.10 2.367.481.56

CGP

5.131.38 3.508.731.05

CGB

5.301.423.9111.591.35

CGF

6.621.77 3.9628.054.32

OSS

8.002.14 5.0614.411.92

LM

13.073.50 6.4823.784.96

BFG

19.685.28 14.1926.642.85

GDX

27.077.26 25.2128.520.86

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

Связь между алгоритмами дополнительно проиллюстрирована на следующем рисунке, на котором строится график времени, необходимого для сходимости в зависимости от цели сходимости среднеквадратичных ошибок. Снова можно увидеть, что некоторые алгоритмы деградируют, когда цель ошибки уменьшается (OSS и BFG).

Набор данных ENGINE

Третья задача бенчмарка является реалистичной задачей приближения функций (или нелинейной регрессии). Данные получаются от операции двигателя. Входами в сеть являются скорость вращения двигателя и уровни заправки, а выходами сети являются крутящий момент и уровни выбросов. Для этой задачи используется сеть 2-30-2 с нейронами тансига в скрытом слое и линейными нейронами в выход слое. В следующей таблице представлены результаты настройки этой сети с помощью девяти различных алгоритмов. Каждая запись в таблице представляет 30 различных испытаний (10 испытаний для RP и GDX из-за временных ограничений), где различные случайные начальные веса используются в каждом исследовании. В каждом случае сеть обучается до тех пор, пока квадратичной невязки не будет меньше 0,005. Самым быстрым алгоритмом для этой задачи является алгоритм LM, за которым следуют алгоритм BFGS квази-Ньютона и сопряженные алгоритмы градиента. Несмотря на то, что это задача приближения функций, алгоритм LM не так явно превосходен, как на наборе данных SIN. В этом случае количество весов и смещений в сети намного больше, чем используемое в задаче SIN (152 против 16), и преимущества алгоритма LM уменьшаются по мере увеличения количества сетевых параметров.

Алгоритм

Среднее время (ы)ОтношениеMin. Время (ы) Max. Время (ы)Стд. (ы)

LM

18.45 1.00 12.01 30.034.27

BFG

27.12 1.47 16.42 47.365.95

SCG

36.02 1.95 19.39 52.457.78

CGF

37.93 2.06 18.89 50.346.12

CGB

39.93 2.16 23.33 55.427.50

CGP

44.30 2.40 24.99 71.559.89

OSS

48.71 2.64 23.51 80.9012.33

RP

65.91 3.57 31.83 134.3134.24

GDX

188.50 10.22 81.59 279.9066.67

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

Связь между алгоритмами дополнительно проиллюстрирована на следующем рисунке, на котором строится график времени, необходимого для сходимости в зависимости от цели сходимости среднеквадратичных ошибок. Снова можно увидеть, что некоторые алгоритмы деградируют, когда цель ошибки уменьшается (GDX и RP), в то время как алгоритм LM улучшается.

Набор данных CANCER

Четвёртая задача бенчмарка является реалистичной задачей распознавания шаблонов (или нелинейного дискриминантного анализа). Цель сети состоит в том, чтобы классифицировать опухоль как доброкачественную или злокачественную на основе описаний камер, собранных микроскопическим исследованием. Входные атрибуты включают толщину комка, однородность размера камеры и формы камеры, количество маргинальной адгезии и частоту голых ядер. Данные были получены из больниц Висконсинского университета, Мэдисон, от доктора Уильяма Х. Вольберга. Сеть, используемая для этой задачи, является сетью 9-5-5-2 с нейронами тансига во всех слоях. В следующей таблице представлены результаты настройки этой сети с помощью девяти различных алгоритмов. Каждая запись в таблице представляет 30 различных испытаний, где различные случайные начальные веса используются в каждом испытании. В каждом случае сеть обучается до тех пор, пока квадратичная невязка не станет меньше 0,012. Нескольким запуски не удалось сходиться для некоторых алгоритмов, поэтому для получения статистики использовались только 75% лучших запусков от каждого алгоритма.

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

Алгоритм

Среднее время (ы)ОтношениеMin. Время (ы) Max. Время (ы)Стд. (ы)

CGB

80.27 1.00 55.07102.31 13.17

RP

83.41 1.04 59.51109.39 13.44

SCG

86.58 1.08 41.21112.19 18.25

CGP

87.70 1.09 56.35116.37 18.03

CGF

110.05 1.37 63.33171.53 30.13

LM

110.33 1.37 58.94201.07 38.20

BFG

209.60 2.61 118.92318.18 58.44

GDX

313.22 3.90 166.48446.43 75.44

OSS

463.87 5.78 250.62599.99 97.35

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

Связь между алгоритмами дополнительно проиллюстрирована на следующем рисунке, на котором строится график времени, необходимого для сходимости в зависимости от цели сходимости среднеквадратичных ошибок. Снова можно увидеть, что некоторые алгоритмы ухудшаются, когда цель ошибки уменьшается (OSS и BFG), в то время как алгоритм LM улучшается. Для алгоритма LM в любой задаче характерно, что его эффективность улучшается относительно других алгоритмов, когда цель ошибки уменьшается.

Набор данных ХОЛЕСТЕРИНА

Пятая задача бенчмарка является реалистичной задачей приближения функций (или нелинейной регрессии). Цель сети состоит в том, чтобы предсказать уровни холестерина (ldl, hdl и vldl) на основе измерений 21 спектрального компонента. Данные были получены от доктора Нила Пурди, химический факультет Университета штата Оклахома [PuLu92]. Сеть, используемая для этой задачи, является сетью 21-15-3 с нейронами тансига в скрытых слоях и линейными нейронами в выход слое. В следующей таблице представлены результаты настройки этой сети с помощью девяти различных алгоритмов. Каждая запись в таблице представляет 20 различных испытаний (10 испытаний для RP и GDX), где различные случайные начальные веса используются в каждом исследовании. В каждом случае сеть обучается до тех пор, пока квадратичная невязка не станет меньше 0,027.

Масштабированный алгоритм сопряженного градиента имеет лучшую эффективность в этой задаче, хотя все сопряженные алгоритмы градиента работают хорошо. Алгоритм LM не так хорошо работает с этой задачей приближения функций, как с другими двумя. Это связано с тем, что количество весов и смещений в сети снова увеличилось (378 против 152 против 16). Когда количество параметров увеличивается, расчеты, необходимые в алгоритме LM, увеличиваются геометрически.

Алгоритм

Среднее время (ы)ОтношениеMin. Время (ы) Max. Время (ы)Стд. (ы)

SCG

99.731.0083.10113.409.93

CGP

121.541.22101.76162.4916.34

CGB

124.061.2 107.64146.9014.62

CGF

136.041.36106.46167.2817.67

LM

261.502.62103.52398.45102.06

OSS

268.552.69197.84372.9956.79

BFG

550.925.52471.61676.3946.59

RP

1519.0015.23581.172256.10557.34

GDX

3169.5031.782514.904168.20610.52

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

Связь между алгоритмами дополнительно проиллюстрирована на следующем рисунке, на котором строится график времени, необходимого для сходимости в зависимости от цели сходимости среднеквадратичных ошибок. Вы можете увидеть, что алгоритмы LM и BFG улучшаются относительно других алгоритмов, когда цель ошибки уменьшается.

Набор данных о диабете

Шестая задача бенчмарка является задачей распознавания шаблонов. Цель сети состоит в том, чтобы решить, есть ли у индивидуум диабет, на основе личных данных (возраст, количество беременных) и результатов медицинских обследований (например, артериальное давление, индекс массы тела, результат теста допуска к глюкозе и т. Д.). Данные были получены из основы данных машинного обучения Калифорнийского университета в Ирвине. Сеть, используемая для этой задачи, является сетью 8-15-15-2 с нейронами тансига во всех слоях. В следующей таблице представлены результаты настройки этой сети с помощью девяти различных алгоритмов. Каждая запись в таблице представляет 10 различных испытаний, где различные случайные начальные веса используются в каждом испытании. В каждом случае сеть обучается до тех пор, пока квадратичная невязка не станет меньше 0,05.

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

Алгоритм

Среднее время (ы)ОтношениеMin. Время (ы) Max. Время (ы)Стд. (ы)

RP

323.901.00187.43576.90111.37

SCG

390.531.21267.99487.1775.07

CGB

394.671.22312.25558.2185.38

CGP

415.901.28320.62614.6294.77

OSS

784.002.42706.89936.5276.37

CGF

784.502.42629.421082.20144.63

LM

1028.103.17802.011269.50166.31

BFG

1821.005.621415.803254.50546.36

GDX

7687.0023.735169.2010350.002015.00

Следующий рисунок строит графики средней квадратной ошибки в зависимости от времени выполнения для некоторых типичных алгоритмов. Как и в случае с другими проблемами, вы видите, что SCG и RP имеют быструю начальную сходимость, в то время как алгоритм LM способен обеспечить меньшую конечную ошибку.

Связь между алгоритмами дополнительно проиллюстрирована на следующем рисунке, на котором строится график времени, необходимого для сходимости в зависимости от цели сходимости среднеквадратичных ошибок. В этом случае можно увидеть, что алгоритм BFG ухудшается, когда цель ошибки уменьшается, в то время как алгоритм LM улучшается. Алгоритм RP лучше всего, кроме самой маленькой цели ошибки, где SCG лучше.

Сводные данные

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

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

Сопряженные алгоритмы градиента, в частности trainscg, по-видимому, хорошо работает над широким спектром проблем, особенно для сетей с большим количеством весов. Алгоритм SCG почти так же быстро, как и алгоритм LM при приближении функций задачах (быстрее для больших сетей) и почти так же быстро, как trainrp по проблемам распознавания шаблонов. Его эффективность не ухудшается так быстро, как trainrp эффективность происходит, когда ошибка уменьшается. Сопряженные алгоритмы градиента имеют относительно скромные требования к памяти.

Область эффективности trainbfg аналогично тому, как trainlm. Для этого не требуется столько памяти, сколько trainlm, но требуемый расчет действительно увеличивается геометрически с размером сети, потому что эквивалент обратной матрицы должен быть вычислен при каждой итерации.

Алгоритм переменной скорости обучения traingdx обычно намного медленнее, чем другие методы, и имеет примерно те же требования к хранению, что и trainrpно это все еще может быть полезно для некоторых проблем. Существуют определенные ситуации, в которых лучше сходиться медленнее. Например, при использовании ранней остановки у вас могут быть несогласованные результаты, если вы используете алгоритм, который сходится слишком быстро. Можно перерегулировать точку, в которой ошибка на наборе валидации минимизирована.