3.7. Сравнение эффективности алгоритмов обучения
Эффективность алгоритмов обучения проверяется на определенных тестах, соответствующих принятым мировым стандартам. Такими стандартными тестами, в частности, считаются задача логистики, задача парности, кодирование и декодирование двоичных данных, аппроксимация определенного вида нелинейной функции, задача двух спиралей и многие другие [155]. Различные алгоритмы сравниваются по количеству циклов обучения, количеству расчетов значения целевой функции, количеству знакопеременных произведений, чувствительности к локальным минимумам и т.п.
Например, решение задачи логистики состоит в предсказании очередного значения случайной цифровой последовательности по предыдущему значению Этап обучения сети, имеющей, к примеру, структуру
1-5-1 (1 входной узел, 5 скрытых нейронов, 1 выходной нейрон), имеет целью сформировать такие значения весов, чтобы реализовать логистическое отображение
для которое при значении будет демонстрировать свойства случайной последовательности.
В свою очередь, тестовая задача кодирования двоичных векторов заключается в таком подборе весов сети, чтобы при размерности входного вектора закодировать его с помощью нейронов скрытого слоя, с последующим декодированием в выходном слое к исходному виду. Обучающие векторы состоят из одной единицы и нулей. Каждому сформированному таким образом входному вектору сопоставляется идентичный выходной вектор.
По результатам многих имитационных экспериментов можно утверждать, что наименее эффективным является алгоритм наискорейшего спуска, особенно при постоянном шаге обучения. Стратегия выбора этого шага имеет ключевое значение для эффективности алгоритма. Чем ближе минимальное значение целевой функции в направлении тем лучше результаты обучения на отдельных итерациях и тем выше конечный результат. С этой точки зрения наибольший эффект обеспечивает метод направленной минимизации, применяемый в каждом оптимизационном цикле для выбора оптимального размера шага. Однако при сравнении эффективности различных методов следует принимать во внимание объем дополнительных вычислений, требуемых для расчета оптимальной величины
Эффективность различных алгоритмов сравнивается либо путем измерения среднего времени, требуемого для решения конкретной задачи, либо по количеству циклов обучения, либо по количеству знакопеременных операций (по вычислительной сложности алгоритма). Эти характеристики могут существенно отличаться в зависимости от характера тестовой задачи, объема обучающих данных, размерности нейронной сети, используемого вычислительного оборудования, а также деталей реализации отдельных этапов алгоритма. Поэтому невозможно дать однозначный ответ на вопрос: какой алгоритм считается абсолютно лучшим?
В табл. 3.2 представлены результаты, полученные на компьютере Macintosh Powerbook 1400 при использовании прикладного пакета “Neural Networks” программы Matlab [27], позволяющие сравнить длительность, количество циклов обучения и вычислительную сложность различных алгоритмов. В ходе экспериментов обучался многослойный персептрон со структурой 1-10-1, предназначенный для аппроксимации 41 пары обучающих одномерных данных. Все алгоритмы были реализованы в инструментальной среде одной и той же программы Matlab, что создало основу для получения объективных оценок.
Таблица 3.2. (см. скан) Сравнение эффективности алгоритмов обучения
Получены усредненные результаты по 20 процессам обучения. На малой сети, использованной в ходе тестирования, наибольшую эффективность продемонстрировал алгоритм Левенберга-Марквардта (наименьшее зремя обучения, наименьшее количество циклов обучения, наименьшая вычислительная сложность). Следующими по количеству циклов и времени обучения идут алгоритмы переменной метрики BFGS и сопряженных градиентов. Самую низкую эффективность в ходе тестирования показал алгоритм наискорейшего спуска (все показатели имеют наихудшие значения). Эвристический алгоритм RPROP в этом соревновании выглядел совсем неплохо - он занял второе место по вычислительной сложности.
По результатам многочисленных и различных тестов сделан общий зывод, что ньютоновские алгоритмы, в том числе методы переменной метрики и Левенберга-Марквардта, по эффективности доминируют как над методами наискорейшего спуска, так и над методом сопряженных градиентов. Однако это очевидное превосходство исчезает при значительном увеличении размеров сети. Уже при 1000 взвешенных связей наиболее эффективным становится, как правило, метод сопряженных градиентов.