Интеллектуальное управление интенсивностью транспортных потоков на базе алгоритма машинного обучения с подкреплением
|
Введение 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
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) для взаимодействия с модулем и агент искусственного интеллекта на базе нейронной сети, который обучается корректировкам длительностей фаз на основании загруженностей направлений светофорного объекта.
• В конце работы проведен ряд экспериментов для проверки работоспособности модуля и исследования влияния изменения параметров, влияющих на обучение агента искусственного интеллекта. В результате проведенных экспериментов были получены различные режимы работы модуля в зависимости от настроек алгоритма машинного обучения.
В результате проведенных экспериментов, модуль интеллектуального управления позволил выровнять колебания в загруженности каждого из направлений движения на светофорном объекте и уменьшить разброс загруженностей более чем в два раза. Таким образом все поставленные задачи были выполнены и цель магистерской диссертации достигнута.
• В первой главе был проведен анализ предметной области и литературный обзор источников научной информации на тему алгоритмов машинного обучения. Рассмотрены текущие исследования в области изучения алгоритмов управления дорожным движением, а также существующие системы управления дорожным движением.
• Выбрано программное средство для моделирования транспортных потоков и окружения светофорного объекта, разработана модель на основании фотографии светофорного объекта со спутника. Определена структура решения и выбраны технологии для сериализации данных и передачи сообщений между модулем и СУДД.
• Разработана модель окружения, которая симулирует транспортные потоки и светофорный объект.
• Разработано программное обеспечение симуляции, которое позволяет определять транспортные потоки со сложным законом распределения - экспоненциальным законом распределения с модулируемым параметром интенсивности в зависимости от модельного времени. Кроме этого, в состав симуляции входит эмулятор СУДД, который реализует простейший функционал по переключению фаз и отслеживанию загруженностей направлений светофорных объектов.
• Разработан модуль интеллектуального управления транспортными потоками, в состав которого входит программный интерфейс (API) для взаимодействия с модулем и агент искусственного интеллекта на базе нейронной сети, который обучается корректировкам длительностей фаз на основании загруженностей направлений светофорного объекта.
• В конце работы проведен ряд экспериментов для проверки работоспособности модуля и исследования влияния изменения параметров, влияющих на обучение агента искусственного интеллекта. В результате проведенных экспериментов были получены различные режимы работы модуля в зависимости от настроек алгоритма машинного обучения.
В результате проведенных экспериментов, модуль интеллектуального управления позволил выровнять колебания в загруженности каждого из направлений движения на светофорном объекте и уменьшить разброс загруженностей более чем в два раза. Таким образом все поставленные задачи были выполнены и цель магистерской диссертации достигнута.



