Синтез нейронной сети на основе сети Петри для задач движения и стабилизации строя группы беспилотных летательных аппаратов

УПРАВЛЕНИЕ, МОДЕЛИРОВАНИЕ, АВТОМАТИЗАЦИЯ

DOI: 10.24143/2072-9502-2018-2-26-33 УДК 519.24

А. А. Воевода, Д. О. Романников

СИНТЕЗ НЕЙРОННОЙ СЕТИ НА ОСНОВЕ СЕТИ ПЕТРИ

ДЛЯ ЗАДАЧ ДВИЖЕНИЯ И СТАБИЛИЗАЦИИ СТРОЯ ГРУППЫ БЕСПИЛОТНЫХ ЛЕТАТЕЛЬНЫХ АППАРАТОВ

Рассматривается подход к формированию структуры нейронной сети при помощи предварительно построенного алгоритма с использованием сетей Петри, представляющих собой хорошо изученный математический аппарат, при помощи которого можно описывать алгоритмы и, в частности, распределенные асинхронные системы. Построенная модель в сетях Петри, согласно предлагаемому подходу, является основой для дальнейшего построения нейронной сети. Предложена идея неформального преобразования, которая имеет смысл из-за того, что структура сети Петри дает обоснование для структуры нейронной сети, что приводит к уменьшению числа параметров для обучения в нейронной сети (в рассматриваемом примере уменьшение произошло более чем в два раза: с 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 - второе число больше первого.

Ц ^ xlo>x2o

eqo [ or

/ xli f \

x1o<x2o

and_not cmpl

mp2 I \

eqi

, + / ^r /

lo^s I cmp1_1 I I cmp2_1

—* \ --T-

\ v x1i>x2i x1i<x2i

and and_not cmpl /

I or \ I cmpl_l I I cmp2_l |

^ eq2 xl2>^ xl2<x22^

Рис. 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. D0I:10.1088/1742-6596/803/1/012178.

Статья поступила в редакцию 01.03.2018

ИНФОРМАЦИЯ ОБ АВТОРАХ

Воевода Александр Александрович — Россия, 630073, Новосибирск; Новосибирский государственный технический университет; д-р техн. наук, профессор; профессор кафедры автоматики; ucit@ucit.ru.

Романников Дмитрий Олегович — Россия, 630073, Новосибирск; Новосибирский государственный технический университет; канд. техн. наук; доцент кафедры автоматики; dmitry.romannikov@gmail.com.

A. A. Voevoda, D. O. Romannikov

SYNTHESIS OF NEURAL NETWORK BASED ON PETRY NET USING AS EXAMPLE THE PROBLEM OF MOVEMENT AND STABILIZATION OF STRUCTURE GROUPS OF UNMANNED AERIAL VEHICLES

Abstract. The article focuses on the approach to forming the structure of a neural network with application of a pre-built algorithm using Petri nets which represent a well-characterized body of mathematics and help to describe algorithms, in particular, distributed asynchronous systems. According to the proposed approach, the model built in Petri nets serves as the basis for further developing the neural network. There was proposed the idea of informal transformation, which makes sense because the structure of Petri net provides substantiation for the structure of the neural network. This fact leads to decreasing the number of training parameters in the neural network (in the example described in the article the decrease was more than twice: from 650 to 254), increasing the time of the network training and getting initial values for the training parameters. It has been stated that with the initial values obtained the training time grows even more and, thus, training process acts as fine-adjusting values of parameters. Transformation can be explained by the fact that both Petri nets and neural networks act as languages for describing functions, and differ only in the case of neural networks, where the presented function must be trained first (or to find parameter values). The above-mentioned approach is illustrated by the example of the problem of automatic formation of a group of unmanned aerial vehicles (UAV) and their movement. In this problem, identical instances of the neural network are located on each UAV and interact in asynchronous mode.

Key words: neural networks, Petri nets, classification, structure of neural networks, teaching methods, control of a group of unmanned aerial vehicles, control algorithms.

REFERENCES

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

2. Graves A., Mohamed A., Hinton G. Speech recognition with deep recurrent neural networks. Proceedings of International Conference on Acoustics, Speech and Signal Processing (ICASSP). Vancouver, IEEE, 2013. Pp. 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. Pp. 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. Available at: https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf (accessed: 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, pp. 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, pp. 1929-1958.

7. Mahsereci M., Balles L., Lassner C., Hennig P. Early Stopping without a Validation Set. ArXiv e-prints. May 2017. Available at: https://arxiv.org/pdf/1703.09580.pdf (accessed: 12.02.2018).

8. Merkulov V. I., Miliakov D. A., Samodov I. O. Optimizatsiia algoritma gruppovogo upravleniia bespi-lotnymi letatel'nymi apparatami v sostave lokal'noi seti [Optimization of group control algorithm of unmanned aerial vehicles in terms of local aerial network]. Izvestiia IuFU. Tekhnicheskie nauki, 2014, no. 12, pp. 157-166.

9. Evdokimenkov V. N., Krasil'shchikov M. N., Sebriakov G. G. Raspredelennaia intellektual'naia sistema upravleniia gruppoi bespilotnykh letatel'nykh apparatov: arkhitektura i programmno-matematicheskoe obespech-enie [Distributed intelligent system of control of a group of unmanned aerial vehicles]. Izvestiia IuFU. Tekhnicheskie nauki, 2016, no. 1, pp. 29-44.

10. Gaïduk A. R., Kapustian S. G., D'iachenko A. A., Plaksienko E. A. Avtonomnoe osushchestvlenie missii BLA [Autonomous missions of UAVs]. Izvestiia IuFU. Tekhnicheskie nauki, 2017, no. 1, pp. 87-96.

11. Gaïduk A. R., Kapustian S. G., D'iachenko A. A., Plaksienko E. A. Sistema avtonomnogo upravleniia manevrami BLA. Sistemnyï analiz, upravlenie i obrabotka informatsii [System of autonomous control of UAV maneuvering]. Trudy 7-go Mezhdunarodnogo seminara (Rostov-na-Donu, 6-12 oktiabria 2016 g.). Pod obshcheï redaktsiei R. A. Neïdorfa. Rostov-on-Don, DGTU, 2016. Pp. 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. Romannikov D. O. O preobrazovanii seti Petri v neironnuiu set' [On transformation of Petri net into a neural network]. Sbornik nauchnykh trudov NGTU, 2016, no. 4 (86), pp. 98-103.

15. Voevoda A. A., Polubinskii V. L., Romannikov D. O. Sortirovka massiva tselykh chisel s ispol'zovaniem neironnoi seti [Sorting array of whole numbers using neural network]. Nauchnyi vestnikNGTU, 2016, no. 2 (63), pp. 151-157.

16. Voevoda A. A., Romannikov D. O. Sintez neironnoi seti dlia resheniia logiko-arifmeticheskikh zadach [Synthesis of neural network for solving logical-arythmetic problems]. Trudy SPIIRAN, 2017, iss. 54, pp. 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, no. 1, pp. 012178. DOI:10.1088/1742-6596/803/1/012178.

The article submitted to the editors 01.03.2018

INFORMATION ABOUT THE AUTHORS

Voevoda Alexander Aleksandrovich — Russia, 630073, Novosibirsk; Novosibirsk State Technical University; Doctor of Technical Sciences, Professor; Professor of the Department of Automation; ucit@ucit.ru.

Romannikov Dmitry Olegovich — Russia, 630073, Novosibirsk; Novosibirsk State Technical University; Candidate of Technical Sciences; Assistant Professor of the Department of Automation; dmitry.romannikov@gmail.com.