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 and keywords
Abstract (English):
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.

Keywords:
neural networks, Petri nets, classification, structure of neural networks, teaching methods, control of a group of unmanned aerial vehicles, control algorithms
Text
Введение В настоящее время нейронные сети получили широкое распространение во многих задачах, к которым, например, относятся задачи распознавания изображений [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 для многослойного персептрона с четырьмя скрытыми слоями. Данная особенность приводит к тому, что обучение сети с такой структурой происходит намного быстрее. Также при расчете значений параметров обучения нейронная сеть сразу же готова к работе.
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. 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 (data obrascheniya: 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 (data obrascheniya: 12.02.2018).

8. Merkulov V. I., Milyakov D. A., Samodov I. O. Optimizaciya algoritma gruppovogo upravleniya bespilotnymi letatel'nymi apparatami v sostave lokal'noy seti // Izv. YuFU. Tehnicheskie nauki. 2014. № 12. S. 157-166.

9. Evdokimenkov V. N., Krasil'schikov M. N., Sebryakov G. G. Raspredelennaya intellektual'naya sistema upravleniya gruppoy bespilotnyh letatel'nyh apparatov: arhitektura i programmno-matematicheskoe obespechenie // Izv. YuFU. Tehnicheskie nauki. 2016. № 1. S. 29-44.

10. Gayduk A. R., Kapustyan S. G., D'yachenko A. A., Plaksienko E. A. Avtonomnoe osuschestvlenie missiy BLA // Izv. YuFU. Tehnicheskie nauki. 2017. № 1. S. 87-96.

11. Gayduk A. R., Kapustyan S. G., D'yachenko A. A., Plaksienko E. A. Sistema avtonomnogo upravleniya manevrami BLA. Sistemnyy analiz, upravlenie i obrabotka informacii // Tr. 7-go Mezhdunar. seminara (Rostov-na-Donu, 6- 12 oktyabrya 2016 g.) / pod obsch. red. R. A. Neydorfa. Rostov-na-Donu: DGTU, 2016. S. 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 neyronnuyu set' // Sb. nauch. tr. NGTU. 2016. № 4 (86). S. 98-103.

15. Voevoda A. A., Polubinskiy V. L., Romannikov D. O. Sortirovka massiva celyh chisel s ispol'zovaniem neyronnoy seti // Nauch. vestn. NGTU. 2016. № 2 (63). C. 151-157.

16. Voevoda A. A., Romannikov D. O. Sintez neyronnoy seti dlya resheniya logiko-arifmeticheskih zadach // Tr. SPIIRAN. 2017. Vyp. 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. DOI:10.1088/1742-6596/803/1/012178.


Login or Create
* Forgot password?