Библиотека
|
ваш профиль |
Кибернетика и программирование
Правильная ссылка на статью:
Пекунов В.В.
Модификация метода Марквардта для обучения нейросетевого предиктора в моделях турбулентной вязкости
// Кибернетика и программирование.
2021. № 1.
С. 27-34.
DOI: 10.25136/2644-5522.2021.1.36059 URL: https://nbpublish.com/library_read_article.php?id=36059
Модификация метода Марквардта для обучения нейросетевого предиктора в моделях турбулентной вязкости
DOI: 10.25136/2644-5522.2021.1.36059Дата направления статьи в редакцию: 03-07-2021Дата публикации: 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].
Выводы В данной работе получено ускорение обучения нейросетевого предиктора (в моделях турбулентной вязкости), особенно заметное на небольших многоядерных системах, при сохранении хорошего качества обучения. Для этого был разработан и применен модифицированный метод Марквардта, использующий некоторое количество случайных проб для определения параметра метода, а также непосредственно для улучшения текущего результата. Свойства метода исследованы в численных экспериментах.
Библиография
1. Пекунов, В.В. Поправочные модели турбулентности // Мат. Междунар. науч.-техн. конф. "XX Бенардосовские чтения".-Иваново, 2019.-Т.2.-С.307-310.
2. Захарова, Е.М., Минашина, И.К. Обзор методов многомерной оптимизации // Информационные процессы. — 2014. — Т.14.— №3.— С.256-274. 3. Растригин, Л.А. Адаптация сложных систем. — Рига: Зинатие, 1981. — 375 с. 4. Зайцев, А.А., Курейчик, В.В., Полупанов, А.А. Обзор эволюционных методов оптимизации на основе роевого интеллекта // Известия ЮФУ. Технические науки. — 2010.— Т.113.— №12.— С.7-11. 5. Press, W.H. et al. Numerical recipes in C: The art of scientific computing. — Cambridge University Press, 1992.— 994 p. 6. Измаилов А. Ф., Куренной А. С., Стецюк П. И. Метод Левенберга–Марквардта для задач безусловной оптимизации // Вестник Тамбовского университета. Серия: естественные и технические науки. Тамбов, 2019. Т. 24. № 125. С. 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. Сидоров, С.Г. Разработка ускоренных алгоритмов обучения нейронных сетей и их применение в задачах автоматизации проектирования: дис. ... канд. тех. наук.— Иваново, 2003.— 161 с. 9. Пекунов, В.В. Язык программирования Planning C. Инструментальные средства. Новые подходы к обучению нейронных сетей.-LAP LAMBERT Academic Publishing, 2017.-171 с. 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.
Результаты процедуры рецензирования статьи
В связи с политикой двойного слепого рецензирования личность рецензента не раскрывается.
Методология исследования базируется на корректировке и модификация метода Марквардта, направленной на ускорение его алгоритма. Научная новизна представленного исследования, по мнению рецензента, состоит в ускорении обучения нейросетевого предиктора в моделях турбулентной вязкости, в модификации метода Марквардта с использованием некоторого количества случайных проб и проведенных численных экспериментах по применению предложенных разработок. Статья структурно содержит следующие разделы: Введение, Модификация метода Марквардта, Апробация, Выводы, Библиография. Во введении автор проводит обоснование актуальности исследования и связывает его необходимость с тем, что известные быстрые методы оптимизации (Ньютона, Марквардта или Левенберга-Марквардта) не гарантируют схождения к глобальному минимуму, а методы, достаточно успешные в смысле поиска глобального минимума, обычно основываются на вариациях случайного поиска и не являются быстрыми, так как требуют выполнения значительного количества проб. Поэтому в статье предлагается разработка комбинированного метода, сочетающего скорость быстрого метода с надежностью метода случайного поиска. В следующем разделе изложена задача обучения нейросетевого предиктора (глубокой нейронной сети прямого распространения) и внесены предложения по модификации метода Марквардта с детальным изложением алгоритма, который по мнению авторов, алгоритм требует достаточно небольшого числа проб и обеспечивает параллельное решение, более близкое к глобальному минимуму, чем у стандартного метода Марквардта, исполняемого в непараллельном варианте, при тех же затратах машинного времени. Проведенная автором апробация предложений показала сокращение числа итераций на 55 % по сравнению с методом Марквардта. При изложении материала использован графический способ подачи материала, приведены иллюстрации хода работы и изменение количества успешных проб в предложенной модификации метода Марквардта для тестовой функции Розенброка. Библиографический список включает 9 источников – современные публикации в научных периодических отечественных и зарубежных журналах. На каждый из приведенных в списке литературы источников в тексте имеется адресная ссылка, что свидетельствует о наличии в публикации апелляции к оппонентам. В целом содержание и стиль изложения материала соответствует сложившейся при оформлении результатов научных исследований практике публикаций. Однако, можно высказать и некоторые замечания, выводы по статье можно было бы представить более развернуто, не ограничиваться тремя предложениями, поскольку зачастую профессиональный просмотр новых научны публикаций предусматривает изучение этого раздела статей. Актуальность темы статьи, ее соответствие тематике журнала «Программные системы и вычислительные методы», наличие элементов приращения научного знания, ориентация на повышение ускорение обучения искусственных нейронных сетей и практическое применение элементов искусственного интеллекта, свидетельствуют о возможности опубликования рецензируемой статьи. |