Translate this page:
Please select your language to translate the article


You can just close the window to don't translate
Library
Your profile

Back to contents

Cybernetics and programming
Reference:

Modification of the Marquardt method for training a neural network predictor in eddy viscosity models

Pekunov Vladimir Viktorovich

Doctor of Technical Science

Software Engineer, JSC "Informatika"

153000, Russia, Ivanovskaya oblast', g. Ivanovo, ul. Tashkentskaya, 90

pekunov@mail.ru
Other publications by this author
 

 

DOI:

10.25136/2644-5522.2021.1.36059

Received:

03-07-2021


Published:

01-10-2021


Abstract: The subject of this article is the numerical optimization techniques used in training neural networks that serve as predicate components in certain modern eddy viscosity models. Qualitative solution to the problem of training (minimization of the functional of neural network offsets) often requires significant computational costs, which necessitates to increase the speed of such training based on combination of numerical methods and parallelization of calculations. The Marquardt method draws particular interest, as it contains  the parameter that allows speeding up the solution by switching the method from the descent away from the solution to the Newton’s method of approximate solution. The article offers modification of the Marquardt method, which uses the limited series of random samples for improving the current point and calculate the parameter of the method. The author demonstrate descent characteristics of the method in numerical experiments, both on the test functions of Himmelblau and Rosenbrock, as well as the actual task of training the neural network predictor applies in modeling of the turbulent flows. The use of this method may significantly speed up the training of neural network predictor in corrective models of eddy viscosity. The method is less time-consuming in comparison with random search, namely in terms of a small amount of compute kernels; however, it provides solution that is close to the result of random search and is better than the original Marquardt method.


Keywords:

deep neural network, learning, Marquardt method, model of turbulent viscosity, numerical experiment, optimization methods, approbation, random probes, parameter tuning, neural network predictor


Введение

Известны поправочные модели турбулентной вязкости [1], представляющие собой классические полуэмпирические модели (например, K-W), в которые включается нейросетевой предиктор, дающий прогнозные оценки турбулентной вязкости (обычно такие предикторы обучаются по более точным и совершенным образцовым моделям турбулентности, таким как V2-F). Такие модели имеют меньшие вычислительные затраты в сравнении с образцовыми и дают более точное решение в сравнении с исходными моделями. При этом весьма трудоемким является этап обучения нейросетевого предиктора, которое может занимать даже большее время, чем время моделирования с применением такого предиктора. Соответственно, актуальна задача повышения скорости обучения (сводимого к решению задачи нецелочисленной нелинейной оптимизации) нейросетевых предикторов в поправочных моделях турбулентности.

Задача оптимизации решается детерминированными или стохастическими методами [2]. Это могут быть специальные методы поиска глобального оптимума (метод Гомори, интервальный метод ветвей и границ, сканирование, имитация отжига, генетический алгоритм, случайный поиск [3], методы «роя частиц» [4] и другие) или подходы с многократным исполнением методов поиска локального оптимума [прямых (координатного спуска, Хука-Дживса, Розенброка) или градиентных первого (градиентного спуска, сопряженных градиентов и их разнообразные модификации в приложении к нейронным сетям: NAG, AdaGrad, AdaDelta) или второго (Бройдена-Флетчера-Гольдфарба-Шанно [5], Левенберга-Марквардта [5, 6]) порядка] из различных начальных точек и выбором лучшего варианта.

Проблема состоит в том, что известные быстрые методы оптимизации (Ньютона [5], Марквардта [7] или Левенберга-Марквардта [5, 6]) не гарантируют схождения к глобальному минимуму, а методы, достаточно успешные в смысле поиска глобального минимума, обычно основываются на вариациях случайного поиска [8] и быстрыми не являются, поскольку требуют выполнения значительного количества проб. В таких условиях интересным вариантом является разработка комбинированного метода, который сочетал бы скорость быстрого метода с надежностью метода случайного поиска.

Напрашивается решение с чередованием шагов по базовому быстрому методу и шагов с ограниченным количеством случайных проб, эффективно распараллеливаемых даже на небольших многоядерных системах. Если выбрать в качестве базового подхода, например, метод Марквардта [7], то статистику по случайным пробам можно использовать и для динамического определения величины параметра данного метода.

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

Для достижения данной цели поставим следующие задачи:

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

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

Модификация метода Марквардта

Задача обучения нейросетевого предиктора (глубокой нейронной сети прямого распространения) представляет собой задачу минимизации функционала ошибок

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

где — i-я обучающая пара, — функция выхода нейронной сети.

Алгоритм исходного метода Марквардта имеет вид:

А. Выбрать начальную точку ; положить k = 0.

Б. где I — единичная матрица, — гессиан, — градиент.

В. Тест на остановку: если не выполнен, то и возвращаемся к п.Б.

Данный алгоритм можно ускорить, заметив, что целесообразно выбирать большие значения (сводя процесс к методу наискорейшего спуска) вдали от решения и малые значения (сводя процесс к методу Ньютона) вблизи решения. Для определения степени близости к решению можно воспользоваться серией из N случайных проб в некоторой окрестности радиуса Rk с центром в точке Xk. Также можно регулировать радиус окрестности проб, увеличивая его при стабильном снижении величины числа удачных проб Lk и уменьшая его при стабильном увеличении данной величины. Это повысит вероятность схождения к глобальному минимуму.

Полученные удачные случайные пробы можно использовать не только для регулирования величины , но и для прямого «перехода» точки поиска в точку лучшей пробы. Еще одной возможной оптимизацией может быть периодическая предикция числа удачных проб Lk (при этом сами пробы не выполняются) по предыдущим значениям Lk-1, Lk-2 и т.д. Такая предикция может быть валидна для серии из 2...3 шагов. В результате может быть получено некоторое дополнительное снижение временных затрат на работу метода при малом количестве доступных ядер.

Предлагаемая модификация метода Марквардта имеет вид:

А. Выбрать начальную точку , задать начальный радиус проб R0, задать число проб N, задать , положить k = 0.

Б. Осуществить N случайных проб в окрестности радиуса Rk вокруг точки Xk. Определить число удачных проб Lk, в которых значение функции меньше F(Xk). Как вариант – можно не выполнять случайные пробы, а предсказать Lk с помощью экстраполирующего полинома небольшой степени (1...3), построенного по предыдущим значениям Lk-1, Lk-2 и т.д.

В. Если Lk > 0, то переместить точку Xk в точку лучшей пробы.

Г. Если k > 0 и Lk < Lk-1 и Rk мало, то , где k1 – повышающий коэффициент. Иначе, если k > 0 и Lk > Lk-1 и Rk велико, то , где k2 – понижающий коэффициент.

Д. Вычисляем , где – минимально возможное значение .

Е. . Величина выбирается из условия F(Xk+1) < F(Xk).

Ж. Тест на остановку: если выполнен, то конец, иначе ­– выполнить и возвратиться к п.Б.

Такой алгоритм может быть оптимальным даже для небольших вычислительных систем с 4...16 ядрами, поддерживающими векторные вычисления по типу SSE, и/или с графическим многоядерным видеоускорителем. Это связано с тем, что алгоритм требует достаточно небольшого числа проб (1000...3000, легко распараллеливаемых на таких системах) и потенциально обеспечивает параллельное решение, более близкое к глобальному минимуму, чем у стандартного метода Марквардта (исполняемого в непараллельном варианте) при тех же затратах машинного времени.

Апробация

Целью первой серии экспериментов являлось определение потенциального качества схождения к минимуму на стандартных тестовых функциях Химмельблау и Розенброка, с варьированием начальной точки (четыре варианта) и величины . При этом замерялось исключительно суммарное (по всем вариациям эксперимента) количество итераций каждого метода, время поиска минимума в расчет не принималось, вычисления производились на одном ядре процессора Intel Atom.

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

1. Метод наискорейшего спуска: 6276 итераций.

2. Стандартный метод Марквардта: 1170 итераций.

3. Метод Ньютона: 384 итерации.

4. Предложенная модификация метода Марквардта: 524 итерации.

На рис.1 показан ход работы предложенной модификации метода Марквардта для функции Розенброка в одном из экспериментов с начальной точкой (-2, -3) – было выполнено 24 итерации (примечательно, что в данном конкретном случае методу Ньютона понадобилось 25 итераций), овражный эффект не наблюдался. На рис.2 показано, как в ходе работы менялось число успешных проб.

Рис.1. Ход работы предложенной модификации метода Марквардта для тестовой функции Розенброка

Рис.2. Изменение количества успешных проб в предложенной модификации метода Марквардта для тестовой функции Розенброка

Достаточно очевидно, что по числу итераций предложенный метод уступает только методу Ньютона (к которому он сводится при малых ), хотя трудоемкость на итерацию у предложенного метода выше.

Целью второй серии экспериментов являлось определение как времени, так и качества схождения к минимуму на реальной задаче обучения нейросетевого предиктора - трехслойной ИНС прямого распространения (6х5х1 нейронов). Использовались параллельные вычисления, поддержка которых была реализована на языке Planning C [9].

Предлагаемая модификация метода Марквардта сравнивалась с вариацией генетического случайного поиска [9]. Задача являлась многоэкстремальной.

Вычисления производились на небольшой системе с четырехъядерном процессором Intel Atom, поддерживающим SSE-инструкции (4 потока на ядро, всего 16 потоков), и графическим видеоускорителем Intel HD Graphics 400 с 12 потоковыми процессорами. Модификация метода Марквардта нашла решение за 656 с, было достигнуто значение = 4,104. Вариация генетического случайного поиска нашла несколько худшее решение = 5,857, за значительно большее время 14003 с.

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

Выводы

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

References
1.
2.
3.
4.
5.
6.
7.
8.
9.