Обучение нейронной сети интеллектуальной системы управления городскими светофорами

УДК 004.89

О.П. Тимофеева, С.С. Палицына

ОБУЧЕНИЕ НЕЙРОННОЙ СЕТИ ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ УПРАВЛЕНИЯ ГОРОДСКИМИ СВЕТОФОРАМИ

Нижегородский государственный технический университет им. Р.Е. Алексеева

Цель работы: Рассматривается проблема обучения нейронной сети, лежащей в основе интеллектуальной системы управления светофорами, регулирующей движение в соответствии с текущей дорожной ситуацией. Методология: Система использует нейросетевой подход, что обеспечивает гибкость в выборе оптимального состояния перекрестка. Для проверки результатов обучения нейронной сети используется метод имитационного моделирования.

Результаты: Рассматриваемая система основана на двухслойной нейронной сети. Первый слой был обучен с помощью алгоритмов Хебба, алгоритма Кохонена и алгоритма с подкреплением. Второй слой был обучен по алгоритму обучения без учителя.

Выводы: Сеть реагирует на загруженность дорог и выбирает оптимальное для текущей ситуации состояние. Для первого слоя сети наилучшие результаты показало обучение по алгоритму Кохонена.

Ключевые слова: нейронная сеть, алгоритмы обучения нейронной сети

Введение

Одной из наиболее актуальных проблем крупных городов является проблема организации дорожного движения транспортных средств. Причина возникновения данной проблемы - несовершенный способ управления транспортными потоками. В управлении транспортными потоками особое значение имеет светофорное регулирование. Большинство современных систем управления светофорами работает по заданным интервалам времени и не способно справиться с непрерывно меняющейся ситуацией на дороге.

Для решения этой проблемы была поставлена задача разработки интеллектуальной системы управления светофорами, которая позволит управлять транспортными потоками, основываясь на данных, отражающих загруженность направлений перекрестка и дорог, идущих от соседних с ним перекрестков.

Перспективным направлением для решения этой задачи является моделирование системы с помощью искусственных нейронных сетей. Преимущество нейронных сетей заключается в возможности самообучения, что позволяет системе подстраиваться под изменяющуюся ситуацию на дороге.

Объект исследования

Ранее была спроектирована нейронная сеть, предназначенная для решения задачи светофорного регулирования на перекрестке, представляющая собой множество нейронов, связанных между собой. Создание архитектуры нейронной сети предполагало выбор типов используемых нейронов, определение количества слоев сети, описание входных и выходных параметров сети[1].

Крестообразный перекресток в [1] представляет собой совокупность светофоров, регулирующих каждую полосу движения в каждом направлении движения. Под «состоянием перекрестка» в данный момент времени подразумевается, что каждый светофор перекрестка включен в определенный режим (зеленый или красный), т.е. совокупность представляет собой вектор, длина которого соответствует количеству светофоров на перекрестке, и каждая компонента которого равна 1 (если соответствующий светофор горит зеленым) или 0 (если светофор горит красным). Множество возможных состояний, в которых может находиться перекресток для обеспечения безаварийного проезда по нему, определено заранее.

© Тимофеева О.П., Палицына С.С., 2016.

Каждый нейрон в нейронной сети перекрестка может иметь несколько входов, имеющих свой весовой коэффициент, определяющий важность поступающей по нему информации [1]. Правильность решения поставленной задачи преимущественно определяется оптимальными для конкретной ситуации значениями весовых коэффициентов. Процесс подбора этих параметров называется обучением нейронной сети. Примечательна способность нейронных сетей к обобщению, т.е. правильно обученная сеть выдает адекватные ответы не только для примеров, на которых была обучена, но и для любых входных значений. Схема обучения сети отражена на рис. 1.

Рис. 1. Схема обучения нейронной сети

Методы обучения нейронной сети

Существует множество методов обучения, каждый из которых можно отнести к одной из двух групп: обучение с учителем и обучение без учителя. Отличительной чертой алгоритма "с учителем" является наличие во время обучения правильного ответа для каждого входного вектора. Алгоритм обучения без учителя предполагает наличие только значений, которые будут поданы на вход сети [2]. Кроме того, среди множества методов машинного обучения существует такой, который можно отнести и к обучению с учителем и к обучению без учителя - обучение с подкреплением. Суть этого метода заключается во взаимодействии обучаемой сети со средой, которая влияет на подстройку весов. Результатом обучения является набор весовых коэффициентов, оптимальных для данной задачи, что позволяет сети давать наиболее подходящие значения выходов.

Нейронная сеть перекрестка состоит из трех слоев (сенсорный, скрытый и выходной), каждый из которых решает свою задачу. При решении задачи оптимального светофорного регулирования невозможно получить верный результат заранее, поэтому предлагается использовать смешанный алгоритм обучения. Это означает, что матрицу весовых коэффициентовмежду первым и вторым слоем (первая часть нейронной сети) будем обучать "без учителя", так как решается задача оптимизации и неизвестно верное решение, а между вторым и выходным слоем (вторая часть нейронной сети) - "с учителем", так как решается задача классификации для определения конкретного состояния перекрестка из множества возможных.

Рассмотрим несколько алгоритмов обучения первой части нейронной сети, отвечающей за поиск оптимального решения, с целью выбора алгоритма, дающего наилучший результат регулирования дорожной ситуации перекрестка. Эту часть сети можно обучить по схеме "без учителя" или по методу "с подкреплением". Рассмотрим оба варианта.

Обучение по схеме "без учителя". Введем обозначения: ^ = 1,2,..., момент времени (дискретная величина); весовой коэффициент синапса, расположенного между г-м

нейроном сенсорного слоя иу-м нейроном скрытого слоя, в момент времени V, у- результирующее значение /-го нейрона сенсорного слоя; у- результирующее значение у-го нейрона скрытого слоя (п - номер слоя сети); а - коэффициент скорости обучения, управляет величиной изменения весов (в нашей задаче - небольшое константное значение).

Алгоритм обучения нейронной сети "без учителя":

Шаг 1.1=0. Весовые коэффициенты сети ^(0) инициализируются случайными числами.

Шаг 2. Очередной входной вектор подается на вход первого слоя и рассчитывается выходной результирующий вектор сети у (1).

Шаг 3. Модификация весов в соответствии с формулой выбранного алгоритма.

Шаг 4. Если требуемая точность обучения не достигнута (используется косвенная оценка точности), 1=1+1, возвращаемся на шаг 2; иначе - выход из алгоритма.

В работе предлагается использовать несколько алгоритмов обучения без учителя: сигнальный алгоритм Хебба, дифференциальный алгоритм Хебба и алгоритм Кохонена. Разница в реализации будет проявляться только на шаге 3, где расчет будет производиться в соответствии с выбранным алгоритмом (формулы алгоритмов приведены далее).

Формула обучения для сигнального алгоритма Хебба:

м ](1) = м и(1 -1) + а-^ • У

] .

Формула обучения для дифференциального алгоритма Хебба:

мг] (1) = мг] (1 -1) + а • [Уй-1)01) - У"--1)(1 - !)]• ^(1) - У)*\1 -1)].

Формула обучения алгоритма Кохонена:

М] (1) = М] (1 -1) + а • \у\"~11 - М] (1 -1)]

Обучение с подкреплением. Общая схема алгоритма обучения с подкреплением показана на рис. 2. Идея состоит в том, что нейронная сеть рассматривается во взаимодействии с внешней средой - текущей дорожной ситуацией. Находясь в текущий момент времени 1 в одном из возможных состояний, нейронная сеть вычисляет следующее оптимальное для текущей дорожной ситуации состояние и переходит в него, за что получает подкрепление - г1. Подкрепление может быть положительным (награда) или отрицательным (наказание).

Нейронная сеть стремится к достижению максимума суммарной награды, которую можно получить в будущем - Я1. Прогнозирование будущей награды ведется с помощью коэффициента забывания - у (0<у<1), который отражает степень уверенности в предполагаемой оценке. Расчет суммарной награды ведется по формуле:

Ъ = 1 (У4

Г1+к

к=0

где г1+к - прогнозируемое подкрепление в момент времени (1+к).

Рис. 2. Схема обучения с подкреплением

Опишем потребность и мотивации «умного светофора»: потребность - оптимизация дорожного движения, мотивация этой потребности - входные данные светофора. То есть чем меньше скорость, с которой машины проезжают под светофором и чем больше плотность потока, тем больше потребность в оптимизации. Количественно на данную мотивацию влия-

ет оценка - М, сообщающая, улучшилась или ухудшилась дорожная ситуация при смене состояния перекрестка. Оценку состояния каждого светофора рассматриваемого перекрестка будем вычислять по формуле:

м. = р, +1,

г у,

' 1

где М/ - оценка состояния /-го светофора перекрестка; рг - средняя плотность транспортного потока, проходящего через /-й светофор; V - средняя скорость потока, проходящего через /-й светофор.

Количество очков для награждения высчитывается по формуле:

як = М\ - МГ1,

где Я/ - награда, передаваемая /-му светофору в момент времени 1, М/ - оценка состояния /-го светофора в момент временив

С помощью полученных очков происходит укрепление или ослабление нейронных связей, поэтому решения, приводящие к положительной награде, будут усиливать связь и, оказываясь в похожих состояниях, сеть будет выбирать то решение, которое уже приносило ей положительную награду.

Алгоритм обучения нейронной сети с подкреплением:

Шаг 1. Выбрано одно из состояний перекрестка, поступают данные о плотности р;- и скорости потока V/.

Шаг 2. Нейронная сеть выбирает следующее состояние.

Шаг 3. Нейронная сеть переходит в новое состояние, получает награду Я/, на основе чего происходит коррекция весовых коэффициентов.

Сложность использования этого метода заключается в том, что нужно получать обратную связь - ответ от среды, т.е. полностью моделировать поведение транспортных потоков.

Обучение по схеме "с учителем". Рассмотрим механизм обучения второй части нейронной сети. Обучение проводилось на этапе проектирования, так как решается задача классификации - по набору входных данных, поступивших с выходов первой части сети, требуется определить состояние перекрестка (из множества возможных). Для обучения использовался итерационный алгоритм "с учителем", который предполагает наличие входных данных и эталонных результатов - константных значений, которые представляют собой правильный выход сети при заданных входных значениях. Эталонный вектор нужен для проверки качества обучения. На каждой итерации вычислялось отклонение полученного результата от эталонного по формуле среднеквадратичной ошибки:

1 р

Е=N л)2.

здесь N - количество примеров; у1 - выходное значение /-го нейрона; ^ - эталонный результат /-го нейрона; р - размерность выходного вектора.

Цель «настройки» весовых коэффициентов заключается в минимизации функции ошибки Е. Формула алгоритма обучения с подкреплением:

мг

где wi - весовой коэффициент входа х/ на итерации к; а - коэффициент скорости обучения (перед началом обучения он имеет значение, равное 0.1, которое затем постепенно уменьшается); х/ - значение /-го входного параметра.

Алгоритм обучения с учителем:

Шаг 1. Веса сети ^(к) инициализируются случайными числами.

Шаг 2. Очередной входной пример х/ поступает на вход сети.

Шаг 3. Для каждого нейрона вычисляется выходное значение у/.

Шаг 4. Если результат не совпадает с эталонным - модифицировать веса wi в соответ-

ствии с формулой (8) и снова подать рассматриваемый входной вектор xi на вход сети. Перейти на шаг 3. Если приемлемая точность не достигнута, вернуться на шаг 2.

Постепенное регулирование весовых коэффициентов позволяет нейрону выдавать правильный ответ на произвольный входной вектор.

Следует отметить, что все знания о задаче, которыми обладает сеть, заключены в обучающей выборке, поэтому от размера и достоверности обучающих примеров зависит качество обучения. Главный вопрос, решаемый при составлении обучающей выборки, заключается в определении количества наблюдений, которые потребуются для обучения сети. При этом необходимо учитывать различные факторы, такие как число нейронов сети, количество связей и другие. Наиболее распространенное правило для приблизительной оценки количества обучающих примеров выражается формулой:

где Q - число регулируемых весов; ё - размерность входного обучающего вектора; p - количество обучающих примеров. Следует помнить, что полученное по этой формуле значение является приблизительным, более точный размер обучающей выборки может быть установлен в ходе обучения.

Первая часть нейронной сети перекрестка обучалась на 2000 примерах по четырем алгоритмам: сигнальному алгоритму Хебба, дифференциальному алгоритму Хебба, алгоритму Кохонена и алгоритму обучения с подкреплением.

При обучении сети с использованием первых двух алгоритмов наблюдалось неограниченное увеличение весовых коэффициентов. Это приводило к тому, что значения аксонов всех нейронов скрытого слоя принимали свое максимальное значение, равное единице. Применительно к предметной области это означает, что требуется включить все светофоры одновременно (соответствует аварийной ситуации на перекрестке). Вторая часть сети, исходя из этих данных, не может принять решение в пользу того или иного состояния, поэтому на выходе результирующего слоя нейронной сети появляется вектор значений, не соответствующий ни одному из возможных состояний. Таким образом, становится понятным, что обучение данной сети по алгоритмам Хебба не дало приемлемых результатов; значит эти алгоритмы неприменимы для рассматриваемой сети.

При обучении сети по алгоритму Кохонена сеть реагирует на изменение плотности потока и переходит в наиболее загруженное на момент работы сети состояние. Проанализируем результаты обучения сети по этому алгоритму для одного из возможных состояний перекрестка, полученные на примере тестовой конфигурации.

На рис. 3 представлена зависимость плотности потока на подконтрольных рассматриваемому состоянию светофорах от номера шага (шаг обучения принят равным 10 с).

В результате обучения по алгоритму Кохонена система чаще всего выбирает состояние, имеющее максимальную плотность потока на подконтрольных полосах. В некоторых случаях, система выбирает не самое загруженное состояние, что связано со скоростью изменения весовых коэффициентов, которая задается в алгоритме коэффициентом скорости обучения. Такое поведение является следствием резкого увеличения плотности входного потока - сети нужно время, чтобы приспособиться к резкой смене ситуации. Скорость изменения весовых коэффициентов является особенностью нейронных сетей, обеспечивающей определенную гибкость в работе системы.

При стандартном подходе, когда светофоры на перекрестке переключаются через равные промежутки времени (возьмем интервал переключения равным 10 с), плотности потока будут расти в течение 30 с и убывать только 10 с. По графику видно, что такой подход справляется с загруженностью при небольших плотностях потока, но с течением времени и ростом нагрузки, очереди на светофорах существенно больше, чем при аналогичной ситуа-

Анализ результатов обучения нейронной сети

ции для системы "умных светофоров". Очереди будут постепенно убывать в том случае, когда исходная плотность потока начнет убывать.

Рис. 3. Диаграмма зависимости плотности потока от времени для конфигурации с использованием алгоритма Кохонена и стандартного алгоритма

Рис. 4. Диаграмма зависимости плотности потока от времени для конфигурации с использованием алгоритма обучения с подкреплением и алгоритма Кохонена

Из рисунка видно, при использовании системы "умных светофоров" значения плотности потока в большинстве случаев меньше аналогичных значений для стандартной системы светофорного регулирования.

Проанализируем результаты работы алгоритма обучения с подкреплением в аналогичной ситуации, шаг обучения так же принят равным 10 с. Из графика (рис. 4) видно, что в целом алгоритм обучения с подкреплением справляется хуже алгоритма Кохонена, особенно при малой загруженности дорог (шаги 1-6). С другой стороны, этот алгоритм работает лучше при больших плотностях потока, не позволяя очереди долго расти, в отличие от алгоритма

Кохонена (шаги 10-14). Это может быть исправлено путем добавления к входным параметрам сети времени простоя машин на светофорах. Добавление этого значения позволит сети не допускать блокировки каких-либо направлений на долгий период, что поможет избежать больших очередей на подконтрольных светофору участках.

Выводы

Анализ полученных результатов позволяет сделать вывод о том, что при обучении первой части сети по алгоритму Кохонена и алгоритму "с подкреплением" были получены хорошие результаты. Тем не менее, алгоритм Кохонена хорошо справляется при любых значениях плотности потока, в то время как алгоритм "с подкреплением" показывает худшие результаты при малой загруженности потока.

Вторая часть сети была обучена на выборке, состоящей из 650 примеров, с помощью алгоритма обучения с учителем. Следует отметить, что при обучении второй части сети потребовалось введение дополнительных обучающих примеров, так как ошибка вычислений, имевшая место при меньшем количестве примеров, была слишком велика.

Следующим этапом разработки системы "умных светофоров" является увеличение количества входных данных, подаваемых на вход нейронной сети, а именно параметра, отвечающего за время простоя машин на каждом из направлений движения. Так же планируется построить модель, состоящую из 5 перекрестков, что позволит передавать перекрестку данные с соседних дорог.

Библиографический список

1. Тимофеева, О.П. Проектирование интеллектуальной системы управления светофорами на основе нейронной сети / О.П.Тимофеева, Е.М. Малышева, Ю.В. Соколова // Современные проблемы науки и образования. 2014. № 6. URL: www.science-education.ru/120-16496.

2. Васенков, Д.В. Методы обучения искусственных нейронных сетей // Компьютерные инструменты в образовании. - СПб.: Изд-во ЦПО "Информатизация образования", 2007. № 1. С. 20-29.

Дата поступления в редакцию 08.02.2016

O.P. Timofeeva, S.S. Palitsyna

TRAINING OF THE NEURAL NETWORK OF THE INTELLECTUAL SYSTEM AIMED TO CONTROL URBAN TRAFFIC LIGHTS

Nizhny Novgorod state technical university n.a. R.E. Alexeev

Purpose: This article deals with the problem of the neural networktraining. The network underlies the intelligent system that controls traffic lights according to current traffic situation.

Approach: This system includes the neural network approach that provides flexibility in choosing an optimal crossroad state. Also, the considered system uses simulation modeling approach to test the training results. Findings: The neural network consists of three layers. First part of the neural network was trained by Hebbian algorithms, Kohonen and reinforcement training methods. The other part uses supervised learning method. Value: After training neural network chooses the most optimal state according to the current traffic flow density. The most suitable training algorithm for the first part of the neural network is Kohonen algorithm.

Key words: neural networks, learning algorithms of neural network.