Введение 7
1. Анализ предметной области и литературный обзор 9
1.1. Предметная область 9
1.1.1. Текущие исследования в области алгоритмов управления
дорожным движением 9
1.1.2. Существующие системы управления дорожным движением 11
1.2. Литературный обзор источников научной информации 13
1.2.1. Yann LeCun et al. Efficient BackProp 13
1.2.2. Andrew Y. Ng. Shaping and policy search in Reinforcement learning 16
1.2.3. Richard S. Sutton. Reinforcement Learning: An Introduction 19
1.2.4. Выводы по литературному обзору 20
2. Решение задач управления с помощью машинного обучения 20
2.1. Обзор принципов машинного обучения с подкреплением 20
2.1.1. Особенности алгоритмов обучения с подкреплением 20
2.1.2. Составляющие машинного обучения с подкреплением 22
2.1.3. Ограничения и область применения 24
2.1.4. Многорукий бандит 24
2.1.5. Определение ценности действий 25
2.1.6. Марковский процесс принятия решений 27
2.1.7. Ожидаемая награда 28
2.1.8. Политики и функции наград 29
2.1.9. Q-обучение 30
2.1.10. Глубинное Q-обучение 32
2.2. Краткий обзор иных алгоритмов машинного обучения 32
2.2.1. Линейная регрессия 33
2.2.2. Логистическая регрессия 35
2.2.3. Нейронные сети 37
2.2.4. Основные способы обучения нейронных сетей 44
2.2.5. Алгоритм обратного распространения ошибки нейронной сети... 48
2.3. Диагностика и настройка алгоритмов машинного обучения 51
2.3.1. Регуляризация 52
2.3.2. Выборка данных 54
2.3.3. Недообучение и переобучение 55
2.3.4. Кривые обучения 56
3. Выбор и обоснование технических средств, реализация симуляции и модуля интеллектуального управления 59
3.1. Выбор программного средства для моделирования транспортных
потоков 59
3.1.1. Создание модели в SUMO 62
3.1.2. Задание маршрутов и проверка симуляции 64
3.2. Определение структуры разрабатываемого решения 66
3.3. Выбор средства обмена сообщениями между модулем и системой
управления дорожного движения 68
3.4. Выбор технологии сериализации данных 70
3.5. Обоснование выбора языка программирования 71
3.6. Разработка программного обеспечения симуляции 72
3.6.1. Создание транспортных потоков с заданной плотностью
распределения вероятности 74
3.6.2. Эмулятор системы управления дорожным движением 80
3.7. Подсистема сбора телеметрических данных симуляции 91
3.8. Разработка модуля интеллектуального управления транспортными
потоками 95
3.8.1. Программный интерфейс модуля 96
3.8.2. Реализация программного интерфейса 99
3.8.3. Агент искусственного интеллекта 101
4. Проведение экспериментов и анализ результатов 113
4.1. Описание методики проведения экспериментов 113
4.2. Проведение экспериментов 114
4.2.1. Эксперимент 1 115
4.2.2. Эксперимент 2 117
4.2.3. Эксперимент 3 120
4.2.4. Эксперимент 4 123
4.3. Выводы по проведенным экспериментам 126
Заключение 127
Список использованных источников 129
Приложения 133
Приложение 1. Исходный код программы управления симуляцией 133
Приложение 2. Исходный код модуля симуляции 135
Приложение 3. Исходный код генератора потоков 138
Приложение 4. Исходный код эмулятора системы управления 141
Приложение 5. Исходный код класса перекрестка 143
Приложение 6. Исходный код класса зоны учета транспортных средств 144
Приложение 7. Исходный код конечного автомата для светофорного объекта 145
Приложение 8. Конфигурационный файл симуляции 147
Приложение 9. Исходный код модуля телеметрии симуляции 151
Приложение 10. Программа управления светофорами 152
Приложение 11. Конфигурационный файл системы управления 153
Приложение 12. Исходный код клиента сбора телеметрических данных 154
Приложение 13. Исходный код клиента интеллектуального модуля 158
Приложение 14. Исходный код сервера интеллектуального модуля 160
Приложение 15. Исходный код агента искусственного интеллекта 162
Приложение 16. Исходный код окружения светофорного объекта 167
В современном мире, при большом числе автомобилей в городах, появляется необходимость улучшения существующих и разработки новых программных средств, которые бы позволяли управлять транспортными потоками как можно наиболее эффективно для уменьшения числа заторов на дорогах и увеличения пропускной способности на перекрестках.
Не все существующие системы управления дорожным движением имеют возможность интеллектуального управления, то есть такого управления, при котором оператору, либо непосредственно системе управления предоставляется помощь в принятии решения алгоритмом, который реализует функции интеллектуальной системы. Интеллектуальная система (ИС) — это система, которая может решать задачи конкретной предметной области, используя знания об этой предметной области, хранящиеся обычно в памяти такой системы.
В настоящее время алгоритмы, использующие функции интеллектуальной системы, часто реализуются с применением принципов машинного обучения. В частности, все чаще и чаще наблюдается тенденция использования подходов машинного обучения с подкреплением при реализации такого рода систем. В свою очередь применение средств машинного обучения выдвигает новые требования к оценке алгоритмов, а также подходы к их настройке и отладке, в том числе их мониторинг в процессе обучения и эксплуатации.
Поскольку в последнее время наблюдается тенденция автоматизации систем управления, в том числе и систем управления дорожным движением, в частности за счет добавления элементов интеллектуальных систем в их состав, то этим самым обуславливая актуальность данной работы. Большинство текущих систем управления дорожным движением не имеют элементов интеллектуальной системы, которые бы позволяли использовать систему в качестве экспертной для лица, принимающего решение, либо же для автоматизированного или даже автоматического управления на основе как исторических данных, так и конкретной ситуации на дороге. Исходя из этого можно сделать вывод о том, что разработка интеллектуального модуля является актуальной, поскольку такой модуль может расширить функционал уже существующих систем управления дорожным движением.
Таким образом целью магистерской диссертации является разработка программного средства для интеллектуального управления светофорами, которое будет реализовано в виде модуля для системы управления светофорными объектами на базе алгоритма машинного обучения с подкреплением, которое позволит применить принципы интеллектуального управления в уже существующих системах управления. Для достижения поставленной цели необходимо решить следующие задачи:
• Провести литературный обзор и анализ существующих разработок в области исследования;
• Выбрать и обосновать технические средств для реализации модуля;
• Разработать модель окружения, симулирующую транспортные потоки и светофорный объект;
• Разработать программное обеспечения симуляции;
• Разработать модуля интеллектуального управления светофорами;
• Провести эксперименты и анализ полученных результатов в ходе их выполнения;
В ходе выполнения магистерской диссертации был разработан модуль интеллектуального управления транспортными потоками на базе алгоритма машинного обучения с подкреплением с применением нейронных сетей. Для достижения поставленной цели работы был решен ряд задач:
• В первой главе был проведен анализ предметной области и литературный обзор источников научной информации на тему алгоритмов машинного обучения. Рассмотрены текущие исследования в области изучения алгоритмов управления дорожным движением, а также существующие системы управления дорожным движением.
• Выбрано программное средство для моделирования транспортных потоков и окружения светофорного объекта, разработана модель на основании фотографии светофорного объекта со спутника. Определена структура решения и выбраны технологии для сериализации данных и передачи сообщений между модулем и СУДД.
• Разработана модель окружения, которая симулирует транспортные потоки и светофорный объект.
• Разработано программное обеспечение симуляции, которое позволяет определять транспортные потоки со сложным законом распределения - экспоненциальным законом распределения с модулируемым параметром интенсивности в зависимости от модельного времени. Кроме этого, в состав симуляции входит эмулятор СУДД, который реализует простейший функционал по переключению фаз и отслеживанию загруженностей направлений светофорных объектов.
• Разработан модуль интеллектуального управления транспортными потоками, в состав которого входит программный интерфейс (API) для взаимодействия с модулем и агент искусственного интеллекта на базе нейронной сети, который обучается корректировкам длительностей фаз на основании загруженностей направлений светофорного объекта.
• В конце работы проведен ряд экспериментов для проверки работоспособности модуля и исследования влияния изменения параметров, влияющих на обучение агента искусственного интеллекта. В результате проведенных экспериментов были получены различные режимы работы модуля в зависимости от настроек алгоритма машинного обучения.
В результате проведенных экспериментов, модуль интеллектуального управления позволил выровнять колебания в загруженности каждого из направлений движения на светофорном объекте и уменьшить разброс загруженностей более чем в два раза. Таким образом все поставленные задачи были выполнены и цель магистерской диссертации достигнута.
1. Van der Pol E., Frans A. O. Coordinated deep reinforcement learners for traffic light control. Proceedings of Learning, Inference and Control of Multi-Agent Systems. 2016.
2. Hua Wei, Guanjie Zheng, Huaxiu Yao, Zhenhui Li. Intellilight: A reinforcement learning approach for intelligent traffic light control. Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2018, pp. 2496-2505.
3. Программное обеспечение АСУДД «МИКРО» [Электронный ресурс] URL: http://asud55.ru/archives/671(Дата обращения: 05.05.2019)
4. Система управления дорожным движением «Вектор» [Электронный
ресурс] URL: https://www.elmeh.ru/catalog/traffic-control/traffic-control-
system/dispatch-control-system-traffic-lights-vektor/ (Дата обращения:
05.05.2019)
5. Yann LeCun et al. Efficient BackProp // Neural Networks: tricks of trade, Springer, Berlin, Heidelberg, 2012, pp. 9-48
6. Andrew Y. Ng. Shaping and policy search in Reinforcement learning. PhD dissertation. UC Berkeley, California, 2003.
7. Richard S. Sutton, Andrew G. Barto. Reinforcement Learning: An Introduction. The MIT Press, 2017. 385 p.
8. R. Sathya. Comparison of Supervised and Unsupervised Learning Algorithms for Pattern Classification. Bangalore, India, 2013.
9. Гурьянов А.К., Дьяконов А.Г. Стратегии исследования окружений в обучении с подкреплением с непрерывными пространствами состояний. Магистерская диссертация. Москва: МГУ, 2017.
10. Николенко С. Обучение с подкреплением: многорукие бандиты // Казанский Федеральный Университет. 2014. [Электронный ресурс] URL: https://logic.pdmi.ras.ru/~sergey/teaching/mlkfu14/08-bandits.pdf
ll.Tyler L., David P., Martin P. Contextual Multi-Armed Bandits. Journal of Machine Learning Research Proceedings Track 9, 2010. pp. 485-492.
12.Stanford CS231n: Convolutional Neural Networks for Visual Recognition: Convolutional Neural Networks [Электронный ресурс] URL:
http://cs231n. github.io/convolutional-networks
13. Pieter Abbeel. Apprenticeship learning and reinforcement learning with application to robotic control. PhD thesis. Stanford University, California, 2008.
14. Сокурский Ю.В. Применение методов обучения с подкреплением к задаче алгоритмической торговли. 2015.
15. Christopher W., Peter D. Q-learning // Machine learning. 1992.
16. Timothy P. L., Jonathan J. H., Alexander P., Nicolas H., Tom E., Yuval T., David S., Daan W. Continuous control with deep reinforcement learning // 4th International Conference on Learning Representations. 2016.
17. Andrew Ng. Machine Learning - Logistic Regression. [Электронный ресурс]
URL: https://www.coursera.org/learn/machine-
learning/supplement/QEYX8/lecture-slides
18. Andrew Ng. Machine Learning - Neural Networks: Representation.
[Электронный ресурс] URL: https://www.coursera.org/learn/machine-
learning/supplement/jtFHI/lecture-slides
19. Иванов А.В., Меркурьев С.А., Абу-Абед Ф.Н., Асеева Т.А. Наглядное представление алгоритма обратного распространения ошибки в нейронных сетях. В сборнике: «Информационные ресурсы и системы в экономике, науке и образовании» - сборник статей 9 Международной научно-практической конференции. Под редакцией А.П. Ремонтова. Пенза, 2019. С. 58-62
20. Andrew Ng. Machine Learning - Regularization. [Электронный ресурс] URL: https://www.coursera.org/learn/machine-learning/supplement/CUz2O/lecture- slides
21. Jeffrey Glick. Reinforcement Learning For Adaptive Traffic Signal Control // Stanford University. 2015.
22. Marco Wiering. Multi-agent Reinforcement Learningfor Traffic Light Control // University of Utrecht, Netherlands. 2000.
23. Kotusevski G., Hawick K.A. A Review of Traffic Simulation Software // Res. Lett. Inf. Math. Sci., Vol.13, 2009, pp. 35-54.
24. Matt Stevens, Christopher Yeh. Reinforcement Learning For Traffic Optimization // Stanford University
25. Введение в систему обмена сообщениями ZeroMQ // OpenNET
[Электронный ресурс] URL:
https://www.opennet.ru/opennews/art.shtml?num=27137
26. Traffic Control Interface - Sumo [Электронный ресурс] URL: https://sumo.dlr.de/wiki/TraCI(Дата обращения: 06.05.2020)
27.Stefan-Alexander Schneider, Tobias Hofmann. Functional Development with Modelica: A Use-Case Analysis // 9th International MODELICA Conference. Munich, Germany. 2012.
28.Simulation/Traffic Lights - SUMO Documentation [Электронный ресурс] URL: http s: // sumo. dlr. de/docs/Simulation/T raffic_Lights.html (Дата
обращения: 15.05.2020)
29. Салмре И. Программирование мобильных устройств на платформе .Net Compact Framework. М.: Вильямс. 2006.
30. Телеби Г., Курманходжаев Д. Анализ существующих дорожных детекторов для снятия измерений // Вестник Казахстанско-Британского технического университета, №1 (48), 2019, с. 73-78.
31. Khan U., Godec M., Quaritsch M., Hennecke M., Bischof H., Rinner B. MobiTrick-Mobile traffic checker // 19th ITS World Congress, 2012.
32.Simulation/Output/Induction Loops Detectors (E1) - SUMO Documentation [Электронный ресурс] URL:
https:// sumo. dlr.de/docs/Simulation/Output/Induction_Loops_Detectors_(E 1).ht ml (Дата обращения: 16.05.2020)
33.Ivanov A., Abu-abed F.N. Usage of sumo computer modeling software for road traffic control system validation // International Journal of Recent Technology and Engineering. 2019. Т. 8. № 2. С. 4662-4666
34. Лиясов Д.С., Кумова Ж.В. Этапы статистического исследования: "ящик с усами" или боксплот // Сборник тезисов студенческой научно-технической конференции, Мурманск. Изд. МГТУ. 2012. с. 91-92.
35. Language Guide (proto3) | Protocol Buffers | Google Developers [Электронный
ресурс] URL: https://developers.google.com/protocol-buffers/docs/proto3
(Дата обращения: 16.05.2020)
36.Чио К., Фримэн Д. Машинное обучение и безопасность / пер. с анг. А. В. Снастина. - М.: ДМК Пресс, 2020. - 388 с.: ил.
37. Lillicrap, T. P., Hunt, J. J., Pritzel, A., Heess, N., Erez, T., Tassa, Y. Continuous control with deep reinforcement learning // arXiv preprint arXiv:1509.02971
38. Kingma D., Baa J. Adam: A Method for Stochastic Optimization // arXiv preprint arXiv:1412.6980, 2014
39.Silver D., Lever G., Heess N., Degris T., Wierstra D., Riedmiller M. Deterministic Policy Gradient Algorithms // Proceedings of the 31st International Conference on Machine Learning, 2014
40. DDPGAgent - Keras-RL Documentation [Электронный ресурс] URL:
https://keras-rl.readthedocs.io/en/latest/agents/ddpg/ (Дата обращения:
20.05.2020)
41. Patikhom C., Ruangsak K. Empirical Study on Maximum Traffic Throughputs at Intersections // 6th International Conference on Traffic and Logistic Engineering, 2018