PARAMETRIC OPTIMIZATION METHOD FOR WIDE NEURAL NETWORKS USING GENETIC ALGORITHMS


Cite item

Full Text

Abstract

In many complex technical problems, the number of parameters available for analysis is in the thousands. At the same time, depending on the specifics of the problem being solved, usually the number of key parameters, that is, parameters that have a significant impact on the processes associated with the target problem, does not exceed several tens. However, determining a subset of these parameters from those available in itself is a difficult task, which in most cases is solved with the assistance of experts in the relevant subject area. This paper proposes a parametric optimization method that can be used for wide neural networks, that is, neural networks with a large number of neurons in a layer. This method uses evolutionary optimization methods, namely, genetic algorithms, together with the method of invariant data representation in wide neural networks, using the algebra of hyperdimensional binary vectors, due to which, when the number of parameters of a neural network model changes during optimization, its topology does not change. At the same time, the more parameters are included in the model, the less accurately their values are transmitted, thus, in the course of optimization, a balance is achieved between the composition, number and accuracy of the parameters of the target problem. The proposed method does not require the participation of an expert corresponding to the subject area, allowing the process of parametric optimization to be fully automated.

Full Text

ВВЕДЕНИЕ Проблема параметрической оптимизации возникает в ходе решения многих прикладных технических задач, в том числе решаемых с использованием нейросетевых методов. В сложных практических задачах количество доступных параметров часто может достигать нескольких тысяч, а в ряде случаев десятков тысяч. Поэтому прежде чем перейти к непосредственному решению задачи, выделяют подмножество ключевых параметров, исключив параметры, которые не влияют или оказывают несущественное влияние на качество решения задачи. На первом шаге обычно используется экспертный подход, когда специалист в соответствующей предметной области самостоятельно исключает ряд несущественных, по его мнению, параметров. Этот шаг иногда пропускается, чтобы исключить человеческий фактор, особенно, если количество параметров не столь велико, чтобы перейти к следующему шагу. Второй шаг состоит в применении эвристических методов оптимизации, поскольку формальные методы обычно требуют слишком больших вычислительных затрат, которые чаще всего не достижимы. Нейросетевые модели часто имеют существенные ограничения на возможность применения методов параметрической оптимизации по двум причинам. Во-первых, изменение количества параметров требует изменить топологию нейронной сети, что является не всегда возможным, например, в случае аппаратной реализации нейросетевой модели. Во-вторых, максимально возможное количество параметров обычно ограничено доступными вычислительными ресурсами, как следствие, оптимизации подвергается только состав параметров, но не их количество, что делает такую оптимизацию недостаточно гибкой. Для решения обозначенных проблем в работе предлагается использовать метод представления данных в широких нейронных сетях с использованием алгебры гиперразмерных двоичных векторов. Применение данного метода обеспечит более гибкое представление параметров в нейросетевых моделях, что в свою очередь позволит использовать генетические алгоритмы для параметрической оптимизации, в ходе которой будет изменяться не только состав, но количество используемых параметров целевой задачи. ПРЕДСТАВЛЕНИЕ ДАННЫХ В ШИРОКИХ НЕЙРОННЫХ СЕТЯХ С ИСПОЛЬЗОВАНИЕМ АЛГЕБРЫ ГИПЕРРАЗМЕРНЫХ ДВОИЧНЫХ ВЕКТОРОВ Как было сказано выше, для обеспечения параметрической оптимизации в нейросетевых моделях предлагается использовать описанный автором в работе [1], метод представления данных в широких нейронных сетях с использованием алгебры гиперразмерных двоичных векторов, который позволяет нивелировать зависимость между размерностями параметрической и математической моделей. Проблема изменения не только состава, но числа параметров, решается в силу одного из свойств гиперразмерных векторов, а именно при константной длине гиперразмерного вектора наблюдается прямая зависимость количества хранимых элементов (количества бит исходного вектора) и вероятности возникновения ошибки при извлечении значения целевого бита исходного вектора. Таким образом, в ходе оптимизации решается проблема, которую можно кратко сформулировать как «что лучше больше или точнее?». Здесь речь идет о том, что при неизменной физической топологии нейронной сети (и, как следствие, константной длине гиперразмерного вектора параметров нейросетевой модели), чем больше параметров задачи использует нейросетевая модель, тем выше шанс возникновения ошибки в одном или нескольких параметрах, то есть ниже точность. Обратное также верно, чем больше точности требуется достичь при передаче параметров, тем меньшее количество параметров должно быть использовано в нейросетевой модели. Рассмотрим кратко, как именно планируется использовать данный метод, для представления значений динамически изменяемого подмножества параметров. Пусть значение каждого параметра целевой задачи представляет собой двоичный вектор константной длины. Тогда значения всех параметров в заданный момент времени будут представлять множество таких векторов. В ходе оптимизации требуется найти подмножество параметров, значения которых следует использовать для решения целевой задачи классификации или прогнозирования. При этом на вход нейронной сети подается вектор константной длины, который содержит в закодированном виде значения всех параметров искомого подмножества. В ходе кодирования предлагается использовать операции умножения и сложения алгебры гиперразмерных двоичных векторов [2] и следующие основные этапы кодирования: Синтезируем для всех разрядов вектора каждого параметра целевой задачи пару гиперразмерных двоичных векторов, соответствующих единичному и нулевому значению этого разряда. Формируем множество гиперразмерных двоичных векторов, соответствующих значению каждого из выбранных параметров. Для этого выбираем для значения каждого параметра один из двух гиперразмерных векторов (пар, полученных на первом этапе) в зависимости от значения соответствующего разряда параметра, а затем находим произведение выбранных векторов. Следует отметить, что здесь используется произведение из алгебры гиперразмерных векторов, которое определено, как поразрядное сложение по модулю два множителей. В результате получаем для каждого значения параметра свой гиперразмерный вектор. Находим гиперразмерный вектор, представляющий обобщенное значение всех значений выбранных параметров целевой задачи. Для этого находим сумму всех гиперразмерных векторов, полученных на предыдущем этапе. Сумма гиперразмерных векторов представляет собой поразрядную операцию, в ходе которой определяется наиболее часто встречающиеся значение в каждом разряде для всех слагаемых. В итоге получаем гиперразмерный вектор, представляющий собой закодированное представление всех значений выбранных параметров целевой задачи. Предложенный подход к кодированию значений параметров позволяет эффективно использовать эволюционные, генетические и другие эвристические алгоритмы для параметрической оптимизации нейросетевых моделей, поскольку в ходе такого кодирования формируется вектор значений параметров константной длины. Важно еще раз отметить, что в данном случае эти алгоритмы используются не для обучения, как в большинстве работ [3], [4], а для оптимизации параметров нейросетевых моделей. ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ ДЛЯ ПАРАМЕТРИЧЕСКОЙ ОПТИМИЗАЦИИ Представим искомое параметрическое подмножество представить в виде двоичного вектора - хромосомы или особи в терминах генетических алгоритмов [5], каждый разряд (ген) которого показывает включать (если равен единице) или не включать (если равен нулю) параметр в целевое подмножество. Схематично это можно изобразить следующим образом (рис. 1). Отображение множества параметров решаемой задачи на множество генов является биективным [6], поскольку каждому параметру соответствует ровно один ген, значение которого, в хромосоме показывает, включается ли параметр, соответствующий данному гену, в целевое подмножество параметров нейросетевой модели. Таким образом, каждая особь представляет параметрическую модель нейронной сети. В ходе работы генетического алгоритма происходит поиск наиболее приспособленной особи. Для этого вводят так называемую функцию приспособленности (аналог целевой функции из теории оптимизации [7]). При этом каждая особь выступает в качестве аргумента функции. Особь, для которой значение функции приспособленности максимально, считается наиболее приспособленной. Необходимо отметить, что функция приспособленности очень часто задается в виде алгоритма, однако формально это не вызывает проблем, поскольку любой алгоритм, согласно тезису Чёрча - Тьюринга, может быть вычислен на машине Тьюринга, а она в свою очередь может быть представлена в виде частично рекурсивной функции. В задаче параметрической оптимизации нейросетевой модели, решаемой в данной работе, в качестве значения функции приспособленности для заданной особи, которой является параметрическая модель, предлагается использовать долю успешно классифицированных/спрогнозированных образцов из тестовой выборки [8-10], после выполнения константного числа обучающих итераций нейронной сети (эпох обучения). Такой выбор функции приспособленности покажет насколько эффективно можно обучить нейронную сеть, использующую оцениваемую параметрическую модель, при константных вычислительных затратах на обучение. Таким образом, в очередной итерации генетического алгоритма примут участие только те параметрические модели, использование которых демонстрирует низкую долю ошибок классификации/прогнозирования, выполненной нейронной сетью. Теперь, когда определен способ представления параметрической модели в терминах генетических алгоритмов и выбрана функция приспособленности [11-12], необходимо определиться, как именно будут синтезироваться новые особи. Для этих целей обычно используют операции скрещивания, мутации и инверсии [13], в ряде случаев применяют более «экзотические» операции. В данной работе предлагается остановиться на классических реализациях указанных операций. Рассмотрим кратко выполнение каждой операции генетического алгоритма для его лучшего понимания. Операция скрещивания выполняется путем разделения хромосомы особи на две части (в ряде случаев на несколько частей - многоточечное скрещивание), в результате формируются два набора генов, один из которых с 50% вероятностью выбирается для особи-потомка [14-15]. Данная операция является основным механизмом сохранения генов наиболее приспособленных особей за счет того, что вероятность особи поучаствовать в скрещивании (размножении) прямо пропорциональна значению функции приспособленности, другими словами размножаются преимущественно более приспособленные особи. Операция мутации выполняется путем инверсии значений генов в хромосоме с определенной вероятностью [16]. При этом вероятность мутации выбирается в зависти от имеющихся вычислительных ресурсов, а точнее времени, за которое необходимо найти решение при имеющихся вычислительных ресурсах. Чем больше вероятность мутации, тем быстрее генетический алгоритм находит решение и тем ниже точность найденного решения. Данная операция является основным механизмом модификации генов существующих особей, именно она обеспечивает генетическое разнообразие нового поколения, в то время как операция скрещивания направлена на сохранение лучших генов потомков. Операция инверсии выполняется путем выбора двух случайных точек (аллель) хромосомы и изменения порядка генов между ними (используется обратный порядок, отсюда название - инверсия) [17-19]. При этом важно понимать, что в отличие от операции мутации никакой модификации ген не происходит, меняется лишь их порядок, то есть отображение множества параметров модели на множество генов. Данная операция позволяет переупорядочить гены, что обеспечивает существенное повышение эффективности операции скрещивания. Генетический алгоритм, обобщающий применение описанных выше операций применительно к задаче параметрической оптимизации представлен на (Рис. 2). На первом шаге алгоритма выполняется синтез случайных параметрических моделей [20], которые являются особями в терминах генетических алгоритмов. Далее происходит определение значений функций приспособленности. Это наиболее трудоемкий шаг, поскольку на нем происходит обучение нейросетевых моделей для новых параметрических моделей. После чего проверяется, не достигнуто ли требуемое значение функции приспособленности (в зависимости от специфики прикладной задачи точность классификации или прогнозирования, достигаемая с использованием полученных нейросетевых моделей). Последующие шаги представляют собой цикл из ряда классических операций генетического алгоритма, описанных ранее, в ходе которых формируется новое поколение особей, после чего основной цикл генетического алгоритма повторяется [21]. Предложенный алгоритм позволяет без участия эксперта в предметной области, соответствующей решаемой прикладной задаче, определить подмножество параметров, которое необходимо использовать при построении нейросетевой модели для решения целевой задачи. Применение генетических алгоритмов для параметрической оптимизации нейросетевых моделей стало возможным благодаря переходу от активно используемых в настоящее время глубоких нейронных сетей к широким нейросетевым моделям. Это в свою очередь позволило применить алгебру гиперразмерных двоичных векторов для представления переменного количества параметров целевой задачи в двоичном векторе константной длины. Таким образом, отпала необходимость изменения топологии нейросетевой модели в ходе параметрической оптимизации. При этом следует учитывать, что константное количество входов нейронной сети ведет к необходимости поиска баланса между количеством и составом используемых параметров целевой задачи и их точностью. Предложенный в данной работе метод параметрической оптимизации позволяет эффективно решать обозначенную проблему, обеспечивая выделение подмножества ключевых параметров в ходе решения целевой задачи. ЗАКЛЮЧЕНИЕ В работе был предложен метод параметрической оптимизации для широких нейронных сетей с использованием генетических алгоритмов, который позволяет определить подмножество ключевых параметров, используемых при решении сложных технических задач с использованием нейронных сетей. В основе данного метода лежит идея использования эволюционных методов оптимизации, в частности генетических алгоритмов, совместно с методом инвариантного представления данных в широких нейронных сетях с использованием алгебры гиперразмерных двоичных векторов, позволившим нивелировать зависимость между размерностями параметрической и математической моделей. Это позволило при неизменной топологии нейросетевой модели модифицировать количество ее параметров в ходе оптимизации, а эвристическая природа генетических алгоритмов устранила необходимость в привлечении экспертов предметной области решаемой технической задачи к процессу оптимизации. Таким образом, предложенный метод может использоваться для автоматизации процесса параметрической оптимизации для нейросетевых моделей без изменения их топологии и привлечения экспертов соответствующей предметной области.
×

About the authors

D. A Trokoz

Penza State Technological University

Email: trokoz@penzgtu.ru
Penza, Russia

References

  1. Using Algebra of Hyper-Dimensional Vectors for Heuristic Representation of Data While Training Wide Neural Networks / D. Pashchenko, D. Trokoz, A. Martyshkin, M. Sinev // 2019 XXI International Conference Complex Systems: Control and Modeling Problems (CSCMP), Samara, Russia, 2019, pp. 168-171.
  2. Kanerva P. Hyperdimensional Computing: An Introduction to Computing in Distributed Representation with High-Dimensional Random Vectors // Cognitive Computation - 2009. - Т. 1 - № 2 - С.139-159.
  3. Мищенко В. А., Коробкин А. А. Использование генетических алгоритмов в обучении нейронных сетей // Современные проблемы науки и образования, № 6, 2011. С. 116-124.
  4. Котляров Е. В., Петрушина Т. И. Гибридный метод обучения искусственной нейронной сети на основе модифицированного алгоритма муравья // Восточно-Европейский журнал передовых технологий, Т. 5, № 4, 2012. С. 16-21.
  5. Биоинспирированные методы в оптимизации / Л. А. Гладков, В. В. Курейчик, В. М. Курейчик [и др.]. ФИЗМАТЛИТ, 2009. 384 с.
  6. Любич Ю. И. Основные понятия и теоремы эволюционной генетики свободных популяций // Успехи математических наук. - 1971. - Т. 26. - №. 5 (161). - С. 51-116.
  7. Васильев Ф.П. Методы оптимизации. МЦНМО, 2011. 620 с.
  8. Крючин О. В., Козадаев А. С., Арзамасцев А. А. Способы анализа обучающей выборки искусственной нейронной сети при прогнозировании временных рядов //Вестник российских университетов. Математика. - 2011. - Т. 16. - №. 1.
  9. Крючин О. В., Козадаев А. С., Дудаков В. П. Прогнозирование временных рядов с помощью искусственных нейронных сетей и регрессионных моделей на примере прогнозирования котировок валютных пар //Исследовано в России. - 2010. - Т. 13. - С. 953.
  10. Лагунов Н. А., Мезенцева О. С. Анализ и экспериментальное исследование зависимости качества обучения нейронных сетей от параметров обучающих выборок //Вестник СКФУ: научный журнал. Ставрополь: Изд-во СКФУ. - 2014. - №. 5.
  11. Мокшин В. В. Параллельный генетический алгоритм отбора значимых факторов, влияющих на эволюцию сложной системы // Вестник Казанского государственного технического университета им. АН Туполева. - 2009. - №. 3. - С. 89-93.
  12. Афанасьева А. С., Буздалов М. В. Выбор функции приспособленности особей генетического алгоритма с помощью обучения с подкреплением // Научно-технический вестник информационных технологий, механики и оптики. - 2012. - №. 1 (77).
  13. Прокопович И. В. Адаптивный генетический алгоритм для «мягких» эволюционных вычислений // Праці Одеського політехнічного університету. - 2012. - №. 2. - С. 218-223.
  14. Семенкин Е. С., Семенкина М. Е. Применение генетического алгоритма с модифицированным оператором равномерной рекомбинации при автоматизированном формировании интеллектуальных информационных технологий //Сибирский журнал науки и технологий. - 2007. - №. 3.
  15. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. - 2013.
  16. Курейчик В. М. Генетические алгоритмы //Известия Южного федерального университета. Технические науки. - 1998. - Т. 8. - №. 2.
  17. Монова Д. А., Перпери А. А., Швец П. С. Комплексный генетический алгоритм //Праці Одеського політехнічного університету. - 2011. - №. 1. - С. 176-179.
  18. Еськова О. И., Яскович М. Применение генетических алгоритмов в имитационных моделях. - 2017.
  19. Гладков Л., Курейчик В., Курейчик В. Генетические алгоритмы. - Litres, 2018.
  20. Петросов Д. А. и др. Применение генетических алгоритмов к решению задачи параметрического синтеза больших дискретных систем с заданным поведением //Научные ведомости Белгородского государственного университета. Серия: Экономика. Информатика. - 2016. - Т. 40. - №. 23 (244).
  21. Курейчик В. М. Генетические алгоритмы и их применение. - 2002.

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2021 Trokoz D.A.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies