Library
|
Your profile |
Cybernetics and programming
Reference:
Pekunov, V.V. (2021). Modification of the Marquardt method for training a neural network predictor in eddy viscosity models. Cybernetics and programming, 1, 27–34. https://doi.org/10.25136/2644-5522.2021.1.36059
Modification of the Marquardt method for training a neural network predictor in eddy viscosity models
DOI: 10.25136/2644-5522.2021.1.36059Received: 03-07-2021Published: 01-10-2021Abstract: 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 predictorThis article written in Russian. You can find original text of the article here . Введение Известны поправочные модели турбулентной вязкости [1], представляющие собой классические полуэмпирические модели (например, K-W), в которые включается нейросетевой предиктор, дающий прогнозные оценки турбулентной вязкости (обычно такие предикторы обучаются по более точным и совершенным образцовым моделям турбулентности, таким как V2-F). Такие модели имеют меньшие вычислительные затраты в сравнении с образцовыми и дают более точное решение в сравнении с исходными моделями. При этом весьма трудоемким является этап обучения нейросетевого предиктора, которое может занимать даже большее время, чем время моделирования с применением такого предиктора. Соответственно, актуальна задача повышения скорости обучения (сводимого к решению задачи нецелочисленной нелинейной оптимизации) нейросетевых предикторов в поправочных моделях турбулентности. Задача оптимизации решается детерминированными или стохастическими методами [2]. Это могут быть специальные методы поиска глобального оптимума (метод Гомори, интервальный метод ветвей и границ, сканирование, имитация отжига, генетический алгоритм, случайный поиск [3], методы «роя частиц» [4] и другие) или подходы с многократным исполнением методов поиска локального оптимума [прямых (координатного спуска, Хука-Дживса, Розенброка) или градиентных первого (градиентного спуска, сопряженных градиентов и их разнообразные модификации в приложении к нейронным сетям: NAG, AdaGrad, AdaDelta) или второго (Бройдена-Флетчера-Гольдфарба-Шанно [5], Левенберга-Марквардта [5, 6]) порядка] из различных начальных точек и выбором лучшего варианта. Проблема состоит в том, что известные быстрые методы оптимизации (Ньютона [5], Марквардта [7] или Левенберга-Марквардта [5, 6]) не гарантируют схождения к глобальному минимуму, а методы, достаточно успешные в смысле поиска глобального минимума, обычно основываются на вариациях случайного поиска [8] и быстрыми не являются, поскольку требуют выполнения значительного количества проб. В таких условиях интересным вариантом является разработка комбинированного метода, который сочетал бы скорость быстрого метода с надежностью метода случайного поиска. Напрашивается решение с чередованием шагов по базовому быстрому методу и шагов с ограниченным количеством случайных проб, эффективно распараллеливаемых даже на небольших многоядерных системах. Если выбрать в качестве базового подхода, например, метод Марквардта [7], то статистику по случайным пробам можно использовать и для динамического определения величины параметра данного метода. Итак, целью данной работы является повышение скорости обучения нейросетевых предикторов при сохранении достаточно высокого качества обучения на вычислительных системах с небольшим числом процессорных ядер. Для достижения данной цели поставим следующие задачи: а) предложить такую модификацию метода Марквардта, которая использовала бы ограниченное количество случайных проб как для повышения вероятности схождения к глобальному оптимуму, так и для повышения скорости работы базового метода; б) провести апробацию предложенного метода на некоторых стандартных тестовых функциях, а также на реальной задаче обучения нейросетевого предиктора (глубокой нейронной сети прямого распространения).
Модификация метода Марквардта Задача обучения нейросетевого предиктора (глубокой нейронной сети прямого распространения) представляет собой задачу минимизации функционала ошибок где где Алгоритм исходного метода Марквардта имеет вид: А. Выбрать начальную точку Б. В. Тест на остановку: если не выполнен, то Данный алгоритм можно ускорить, заметив, что целесообразно выбирать большие значения Полученные удачные случайные пробы можно использовать не только для регулирования величины Предлагаемая модификация метода Марквардта имеет вид: А. Выбрать начальную точку Б. Осуществить N случайных проб в окрестности радиуса Rk вокруг точки Xk. Определить число удачных проб Lk, в которых значение функции меньше F(Xk). Как вариант – можно не выполнять случайные пробы, а предсказать Lk с помощью экстраполирующего полинома небольшой степени (1...3), построенного по предыдущим значениям Lk-1, Lk-2 и т.д. В. Если Lk > 0, то переместить точку Xk в точку лучшей пробы. Г. Если k > 0 и Lk < Lk-1 и Rk мало, то Д. Вычисляем Е. Ж. Тест на остановку: если выполнен, то конец, иначе – выполнить Такой алгоритм может быть оптимальным даже для небольших вычислительных систем с 4...16 ядрами, поддерживающими векторные вычисления по типу SSE, и/или с графическим многоядерным видеоускорителем. Это связано с тем, что алгоритм требует достаточно небольшого числа проб (1000...3000, легко распараллеливаемых на таких системах) и потенциально обеспечивает параллельное решение, более близкое к глобальному минимуму, чем у стандартного метода Марквардта (исполняемого в непараллельном варианте) при тех же затратах машинного времени.
Апробация Целью первой серии экспериментов являлось определение потенциального качества схождения к минимуму на стандартных тестовых функциях Химмельблау и Розенброка, с варьированием начальной точки (четыре варианта) и величины Расчет останавливался при одновременном выполнении двух условий: 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 с, было достигнуто значение Таким образом, предложенная модификация метода Марквардта менее трудоемка в сравнении с генетическим случайным поиском, что особенно ярко проявляется при небольшом числе используемых ядер, при этом находит решение, близкое к результату метода генетического случайного поиска, имеющего неплохие характеристики в сравнении с некоторыми прочими методами, использующими случайный поиск [9].
Выводы В данной работе получено ускорение обучения нейросетевого предиктора (в моделях турбулентной вязкости), особенно заметное на небольших многоядерных системах, при сохранении хорошего качества обучения. Для этого был разработан и применен модифицированный метод Марквардта, использующий некоторое количество случайных проб для определения параметра метода, а также непосредственно для улучшения текущего результата. Свойства метода исследованы в численных экспериментах.
References
1. Pekunov, V.V. Popravochnye modeli turbulentnosti // Mat. Mezhdunar. nauch.-tekhn. konf. "XX Benardosovskie chteniya".-Ivanovo, 2019.-T.2.-S.307-310.
2. Zakharova, E.M., Minashina, I.K. Obzor metodov mnogomernoi optimizatsii // Informatsionnye protsessy. — 2014. — T.14.— №3.— S.256-274. 3. Rastrigin, L.A. Adaptatsiya slozhnykh sistem. — Riga: Zinatie, 1981. — 375 s. 4. Zaitsev, A.A., Kureichik, V.V., Polupanov, A.A. Obzor evolyutsionnykh metodov optimizatsii na osnove roevogo intellekta // Izvestiya YuFU. Tekhnicheskie nauki. — 2010.— T.113.— №12.— S.7-11. 5. Press, W.H. et al. Numerical recipes in C: The art of scientific computing. — Cambridge University Press, 1992.— 994 p. 6. Izmailov A. F., Kurennoi A. S., Stetsyuk P. I. Metod Levenberga–Markvardta dlya zadach bezuslovnoi optimizatsii // Vestnik Tambovskogo universiteta. Seriya: estestvennye i tekhnicheskie nauki. Tambov, 2019. T. 24. № 125. S. 60–74. DOI 10.20310/1810-0198-2019-24-125-60-74 7. Nielsen H.B. (1999) Damping parameter in Marquardt's method. Technical Report IMM-REP-1999-05. URL: http://www.imm.dtu.dk/∼hbn/publ/ 8. Sidorov, S.G. Razrabotka uskorennykh algoritmov obucheniya neironnykh setei i ikh primenenie v zadachakh avtomatizatsii proektirovaniya: dis. ... kand. tekh. nauk.— Ivanovo, 2003.— 161 s. 9. Pekunov, V.V. Yazyk programmirovaniya Planning C. Instrumental'nye sredstva. Novye podkhody k obucheniyu neironnykh setei.-LAP LAMBERT Academic Publishing, 2017.-171 s. |