СИНТЕЗ НЕЙРОННОЙ СЕТИ НА ОСНОВЕ СЕТИ ПЕТРИ ДЛЯ ЗАДАЧ ДВИЖЕНИЯ И СТАБИЛИЗАЦИИ СТРОЯ ГРУППЫ БЕСПИЛОТНЫХ ЛЕТАТЕЛЬНЫХ АППАРАТОВ
Аннотация и ключевые слова
Аннотация (русский):
Рассматривается подход к формированию структуры нейронной сети при помощи предварительно построенного алгоритма с использованием сетей Петри, представляющих собой хорошо изученный математический аппарат, при помощи которого можно описывать алгоритмы и, в частности, распределенные асинхронные системы. Построенная модель в сетях Петри, согласно предлагаемому подходу, является основой для дальнейшего построения нейронной сети. Предложена идея неформального преобразования, которая имеет смысл из-за того, что структура сети Петри дает обоснование для структуры нейронной сети, что приводит к уменьшению числа параметров для обучения в нейронной сети (в рассматриваемом примере уменьшение произошло более чем в два раза: с 650 до 254), увеличению скорости обучения сети и получению начальных значений для параметров обучения. Отмечается, что при полученных начальных значениях скорость обучения возрастает еще сильнее, и фактически обучение при этом выступает только тонкой подстройкой значений параметров. Также преобразование может быть объяснено тем, что и сети Петри, и нейронные сети представляют собой языки описания функций, с той разницей, что в случае нейронных сетей представляемую функцию предварительно необходимо обучить (или найти значения параметров). Вышеприведенный подход иллюстрируется на примере задачи автоматического формирования строя группы беспилотных летательных аппаратов и их передвижения. В данной задаче одинаковые экземпляры нейронной сети располагаются на каждом беспилотном летательном аппарате и осуществляют взаимодействие в асинхронном режиме.

Ключевые слова:
нейронные сети, сети Петри, классификация, структура нейронных сетей, методы обучения, управление группой беспилотных летательных аппаратов, алгоритмы управления
Текст
Введение В настоящее время нейронные сети получили широкое распространение во многих задачах, к которым, например, относятся задачи распознавания изображений [1] и речи [2, 3], задачи обучения с подкреплением (reinforcement learning) [4], автоматическое формирование подписей к изображениям [5] и т. д. Однако существует ряд проблем, из-за которых разработка нейронных систем остается сложной задачей. К таким недостаткам можно отнести отсутствие однозначных рекомендаций по выбору структуры нейронной сети, ее начальных значений, видов используемых нейронов, метода обучения, шага обучения, проблемы переобучения и пр. На практике вышеприведенные проблемы решаются путем выбора наиболее «удачного» варианта нейронной сети и метода обучения из серии проведенных экспериментов с разными значениями параметров. Также существуют другие методы решения вышеприведенных проблем, в частности, проблема получения начальных данных может быть решена методами мета-обучения, проблемы переобучения нейронных моделей решаются использованием dropout слоя или методом раннего останова [6, 7]. С другой стороны, такая проблема, как выбор структуры нейронной сети, решается исключительно при помощи опыта исследователя. Но при этом выбранная сеть обладает изрядной избыточностью по параметрам, что приводит к меньшей скорости обучения нейронной сети. В статье предлагается подход к получению структуры нейронной сети путем ее составления на основе предварительно рассчитанной сети Петри. Исторически нейронные сети рассматривались как инструмент решения двух задач: классификации (кластеризацию можно рассматривать как частный случай классификации) и регрессии. При этом построение традиционных алгоритмов с использованием любого полного по Тьюрингу инструмента (языка программирования, сетей Петри и др.) также может быть рассмотрена как задача классификации или регрессии. Тогда рассмотрим задачу получения структуры нейронной сети как задачу адаптации сети Петри (используемой в качестве инструмента описания традиционного алгоритма) к структуре нейронной сети. В статье рассматривается определение структуры нейронной сети на основе предварительно построенной сети Петри на примере решения задачи управления перемещением строя беспилотных летательных аппаратов (БЛА). Состояние проблемы, постановка задачи Задача разработки различных алгоритмов управления БЛА является актуальной. Так, в работе [8] рассматривается задача оптимизации методов расчета траектории полета группы БЛА, в [9] рассматривается алгоритм управления полетом БЛА в групповых порядках, основанный на использовании пропорциональных интегрально-дифференциальных (ПИД) регуляторов, а в [10, 11] приводятся алгоритмы группового управления БЛА, где рассмотрены примеры следования курсу, поворота и разворота. В отличие от вышеприведенных публикаций в данной статье будет приведена реализация алгоритма перемещения группы БЛА с учетом построения и удержания строя группы БЛА без использования единого центра управления. На рис. 1 проиллюстрированы примеры формирования строя и его перемещения. а б Рис. 1. Группы из девяти БЛА: направления формирования строя (а) и перемещения (б) При этом задача перемещения группы БЛА будет представлена как задача исполнения команды на перемещение в одном из четырех направлений. Тогда для перемещения группы БЛА из одной точки в другую необходимо составить последовательность направлений для перемещения. Построение сети Петри Сети Петри являются полным по Тьюрингу инструментом описания алгоритмов, а следовательно, подходят для решения поставленной в статье задачи. Каждый БЛА из группы содержит однотипную структуру сети, с помощью которой реализован алгоритм управления формированием строя группы БЛА и ее перемещением. На рис. 2 приведена сеть Петри для представления группы БЛА из девяти объектов, на рис. 3 - сеть переходов, в которой представлено поведение одного БЛА. Рис. 2. Сеть Петри, моделирующая поведение группы БЛА Рис. 3. Сеть Петри для управления одним БЛА На рис. 2 местами h1-h9 обозначены БЛА. Каждое из этих мест содержит по одной метке, в которой хранится информация о наличии БЛА слева, сверху, справа и снизу (первые четыре булевых значения метки) и о направлении движения: влево, вверх, вправо и вниз (значения булевых переменных метки от 4-го по 8-й). Значения расстояний находятся в местах, соединяющих h1-h9. В сети Петри, моделирующей поведение управления одним БЛА (рис. 2), возможны четыре варианта передвижения. Для передвижения влево используется переход left, вверх - top, вправо - right, вниз - down. Каждый из этих переходов ограничен условием срабатывания. Для перехода влево (остальные условия реализованы аналогично) используется условие (#1(s1) orelse #3(s1)) andalso (r2 < 10 orelse #3(s1) = false) andalso (r1 > 10 orelse #1(s1) = false) andalso #7(s1) = false orelse (#5(s1) andalso r1 > 10), записанное в синтаксисе программного пакета CPN Tools 3.4.0 и означающее, что для срабатывания перехода необходима истинность одной из 2-х частей условия. Первая часть условия - наличие либо левого, либо правого БЛА (#1(s1) orelse #3(s1)) и (логическое «и») расстояние от правого БЛА должно быть меньше заданного порога или правый БЛА отсутствует (r2 < 10 orelse #3(s1) = false), и расстояние от левого БЛА меньше порогового или левый БЛА отсутствует (r1 > 10 orelse #1(s1) = false) и отсутствие сигнала движения вправо (#7(s1) = false) - необходима для формирования строя группы БЛА и поддержания расстояния между ними. Вторая часть условия - наличие сигнала о движении влево и расстояние от левого БЛА больше порогового - позволяет выполнять движение одного БЛА и в целом всей группы БЛА. Построение нейронной сети Согласно предлагаемому в статье подходу структура нейронной сети формируется на основе построенной сети Петри. Использование сети Петри для разработки нейронной сети, по сравнению с использованием традиционных нейронных структур, имеет смысл из-за: 1) значительного уменьшения числа параметров нейронной сети; 2) задания (и обоснования) структуры нейронной сети, а также ее начальных параметров. Рассмотрим часть сети Петри для управления одним БЛА, изображенную на рис. 3. Нейронная сеть, выполняющая аналогичную функцию, должна принимать на входе такие же признаки, которые учитываются в работе сети Петри: наличие БЛА слева/справа и сверху/снизу, расстояние от БЛА, наличие сигнала о движении. Результатом работы нейронной сети является выходной сигнал, обозначающий движение БЛА в одну из сторон. Бинарные признаки можно легко представить в виде нулей/единиц на входе или выходе нейронной сети. Расстояние - числовой показатель, для которого в нейронных сетях будет использоваться бинарное представление. Тогда представим алгоритм функционирования сети Петри, реализованной в виде нейронной сети. Большая часть логики сети Петри (рис. 3) заключается в защитном условии переходов left, right, top, down. Реализация логических функций «и» и «или» в нейронных сетях является тривиальной задачей [12-15]. Функцию реализации оператора сравнения двух целых чисел можно получить из элементарных логических функций и их модификаций. Общая схема реализации функции сравнения двух чисел приведена на рис. 4. В рамках данного примера числа ограничены тремя разрядами в бинарном представлении. Данная схема сравнения также была получена путем преобразования сети Петри [16, 17]. При сравнении чисел каждая пара разрядов сравнивается последовательно. В результате сравнения единица появляется на одном из 3-х возможных выходов: eq - числа равны (если сравниваемые и предыдущие разряды были равны), x1 > x2 - первое сравниваемое число больше второго и x1 < x2 - второе число больше первого. Рис. 4. Нейронная сеть для сравнения двух чисел Используя вышеприведенную схему сравнения, можно составить логику из сети Петри на рис. 3. Часть алгоритма определения движения влево приведена на рис. 5. Рис. 5. Часть нейронной сети для определения движения влево На рис. 5 закрашенными кругами обозначены входы нейронной сети: left, right - входы, обозначающие наличие БЛА слева и справа соответственно; go left, go right - команды передвижения влево и вправо; left dist, right dist - расстояния от левого, правого БЛА в бинарном виде. Прямоугольниками обозначены логические функции. Для функционирования нейронной сети (рис. 4, 5) необходимо получить значения обучаемых параметров, что можно сделать разными способами. Традиционным способом настройки коэффициентов является их обучение. Другим способом, предлагаемым в статье, является вывод значений коэффициентов на основе функционирования сети Петри, а далее их использование для однотипных логических функций. Преимуществом полученной структуры нейронной сети является меньшее количество параметров обучения и обоснование самой структуры. В частности, для многослойного персептрона из 4-х скрытых слоев число обучаемых параметров равно 650, а для представленной в статье структуры - 254. Кроме того, скорость обучения нейронной сети с предварительно заданной структурой выше по сравнению, например, с многослойным представлением нейронной сети (персептрона). Моделирование полученной нейронной сети, даже без обучения параметров, подтвердило работоспособность предложенной нейронной сети, разработанной на основе преобразования сети Петри. Заключение В статье представлен подход к формированию структуры нейронной сети, основанный на предварительно построенном алгоритме при помощи сетей Петри. При этом сами сети Петри выступают в роли хорошо изученного инструмента, на котором легко разрабатывать алгоритмы. Нейронная сеть при этом рассматривается как универсальный аппроксиматор, способный «повторить» представленный в сети Петри алгоритм. Само преобразование носит неформальный характер, а в результате преобразования формируется структура нейронной сети, которая в дальнейшем может быть обучена традиционным способом или при помощи расчета значений коэффициентов. При преобразовании предлагается использовать логические функции («и», «или» и др.), при помощи которых и выполняется реализация алгоритма в сетях Петри и реализация которых в нейронных сетях является тривиальной задачей. Полученная структура нейронной сети содержит меньшее количество параметров обучения: для рассматриваемой задачи это 254 параметра против 650 для многослойного персептрона с четырьмя скрытыми слоями. Данная особенность приводит к тому, что обучение сети с такой структурой происходит намного быстрее. Также при расчете значений параметров обучения нейронная сеть сразу же готова к работе.
Список литературы

1. Krizhevsky A., Sutskever I., Hinton G. E. ImageNet Classification with Deep Convolutional Neural Networks // Proceedings of Neural Information Processing Systems (NIPS). Nevada, 2012. P. 1097-1105.

2. Graves A., Mohamed A., Hinton G. Speech recognition with deep recurrent neural networks // Proceedings of 38th International Conference on Acoustics, Speech and Signal Processing (ICASSP). Vancouver, IEEE, 2013. P. 6645-6649.

3. Deng L., Hinton G. E., Kingsbury B. New types of deep neural network learning for speech recognition and related applications: An overview // Proceedings of 38th International Conference on Acoustics, Speech and Signal Processing (ICASSP). Vancouver, IEEE, 2013. P. 8599-8603.

4. Mnih V., Kavukcuoglu K., Silver D., Graves A., Antonoglou I., Wierstra D., Riedmiller M. Playing Atari with Deep Reinforcement Learning // Proceedings of Neural Information Processing Systems (NIPS). Nevada, 2013. URL: https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf (дата обращения: 12.02.2018).

5. Karpathy A., Fei-Fei L. Deep Visual-Semantic Alignments for Generating Image Descriptions // IEEE Transactions on Pattern Analysis and Machine Intelligence. 2016. Vol. 39. P. 664-676.

6. Srivastava N., Hinton G., Krizhevsky A., Sutskever I., Salakhutdinov R. Dropout: A Simple Way to Prevent Neural Networks from Overfitting // Journal of Machine Learning Research 15. 2014. P. 1929-1958.

7. Mahsereci M., Balles L., Lassner C., Hennig P. Early Stopping without a Validation Set // ArXiv e-prints. May 2017. URL: https://arxiv.org/pdf/1703.09580.pdf (дата обращения: 12.02.2018).

8. Меркулов В. И., Миляков Д. А., Самодов И. О. Оптимизация алгоритма группового управления беспилотными летательными аппаратами в составе локальной сети // Изв. ЮФУ. Технические науки. 2014. № 12. С. 157-166.

9. Евдокименков В. Н., Красильщиков М. Н., Себряков Г. Г. Распределенная интеллектуальная система управления группой беспилотных летательных аппаратов: архитектура и программно-математическое обеспечение // Изв. ЮФУ. Технические науки. 2016. № 1. С. 29-44.

10. Гайдук А. Р., Капустян С. Г., Дьяченко А. А., Плаксиенко Е. А. Автономное осуществление миссий БЛА // Изв. ЮФУ. Технические науки. 2017. № 1. С. 87-96.

11. Гайдук А. Р., Капустян С. Г., Дьяченко А. А., Плаксиенко Е. А. Система автономного управления маневрами БЛА. Системный анализ, управление и обработка информации // Тр. 7-го Междунар. семинара (Ростов-на-Дону, 6- 12 октября 2016 г.) / под общ. ред. Р. А. Нейдорфа. Ростов-на-Дону: ДГТУ, 2016. С. 210-218.

12. Bishop C. Pattern Recognition and Machine Learning (Information Science and Statistics). New York: Springer-Verlag, 2006. 738 p.

13. Goodfellow I., Bengio Y., Courville A. Deep Learning. MIT Press, 2016. 802 p.

14. Романников Д. О. О преобразовании сети Петри в нейронную сеть // Сб. науч. тр. НГТУ. 2016. № 4 (86). С. 98-103.

15. Воевода А. А., Полубинский В. Л., Романников Д. О. Сортировка массива целых чисел с использованием нейронной сети // Науч. вестн. НГТУ. 2016. № 2 (63). C. 151-157.

16. Воевода А. А., Романников Д. О. Синтез нейронной сети для решения логико-арифметических задач // Тр. СПИИРАН. 2017. Вып. 54. C. 205-223.

17. Voevoda A. A., Romannikov D. O. A Binary Array Asynchronous Sorting Algorithm with Using Petri Nets // Journal of Physics: Conference Series. 2017. Vol. 803. P. 012178. DOIhttps://doi.org/10.1088/1742-6596/803/1/012178.


Войти или Создать
* Забыли пароль?