APP下载

基于深度强化学习的单路口交通信号控制

2020-06-03吕宜生

交通工程 2020年2期
关键词:交通信号信号灯路网

刘 皓, 吕宜生

(1.中国科学院大学, 北京 100049; 2.中国科学院自动化研究所,复杂系统管理与控制国家重点实验室, 北京 100190)

0 引言

交通信号灯可从时间上对冲突交通流进行分配. 但是,不合理的交通信号灯控制方案将会导致此交叉口,乃至附近多个交叉口、多条道路严重拥堵. 所以如何制定一个合理的交通信号灯控制方案成为解决交通拥堵的关键问题.

由于路口交通流具有非线性、时变性、不确定性等特点,对其建模困难,从而导致无法借助其精确的数学模型来优化交通信号控制方案. 我们需要一个能够适应道路交通系统非线性、时变性、不确定性等特点的新的控制方法. 强化学习Agent(智能体)能够从与环境的交互中学习、自适应生成控制策略. 近年来因AlphaGo等[1-5]的成功越来越受到人们的关注.

在交通信号控制领域,强化学习也经过了一系列的探索,从Q学习算法到SARSA,再到自适应动态规划方法等[6-10]. 传统的强化学习依赖于人工提取特征,值函数和策略函数表示简单,难以处理复杂高维状态空间下的问题. 深度强化学习将深度学习的特征学习和复杂表示与强化学习的决策能力相结合,可以用于解决智能体在复杂高维状态空间中的感知决策问题. 为此,本文将深度强化学习应用到交通信号控制领域,借助深度强化学习强大的端到端的学习能力,优化交通信号灯控制方案,提高交叉口通行能力,从而缓解城市道路交通拥堵情况.

1 交通信号控制的深度强化学习算法

强化学习凭借其无需被控对象精确的数学模型、只需少量甚至无需先验知识、通用性强等特点,逐渐成为机器学习领域热门的方向之一. 而强化学习与深度学习2个热门的结合——深度强化学习,使强化学习得以应用于高维、复杂的控制系统,越来越多的领域开始出现深度强化学习的身影. 本文以一单路口的交通仿真环境为实例,将深度强化学习应用到交叉口的交通信号灯控制.

1.1 智能体

在深度强化学习中,Agent是具有行为能力的软硬件实体,比如机器人、无人车等,它通过与所处环境的不断交互来学习最优策略. 在交通信号控制中,交通信号灯具有从时间上对冲突交通流进行优化分配的能力,所以当深度强化学习应用于交通信号控制时,Agent就应该是交通信号.

1.2 状态

Agent所处的环境具有很多状态,需要从中挑选出合适的状态让Agent来进行观察,从而使Agent学习到好的策略. 如果选择的状态过多,过大的状态空间会导致计算量过大,减慢学习过程,如果选择的状态过少,这些状态将丢失环境的部分信息,使得Agent无法学习到最优策略,所以状态的选择十分重要.

将交叉口处每条道路的3条入口车道的排队车辆数之和作为状态的一个分量,因为路网中共有4条道路,所以每个状态拥有4个分量,即式(1)

st=(Lwt,Let,Lnt,Lst)

(1)

式中,Lwt,Let,Lnt,Lst表示时间步t时交叉口西、东、北、南侧道路3条入口车道的排队车辆数之和.

1.3 动作

Agent通过观察所处环境现在的状态,根据一定的策略从可选动作集合中选择一个动作来执行,可选动作集合的确定对于Agent能否学习到最优策略也十分重要. 对于交通信号控制问题,可选动作集合一般有以下几种:改变交通信号灯的相位、相序;固定交通信号灯的周期时长,改变各相位的绿信比;固定交通信号灯的相位、相序,动态切换相位状态. 本实验选择最后一种可选动作集合方案,即可选动作集为{保持当前相位,切换至下一相位}.

1.4 奖励

Agent执行完动作后,其所处环境将会发生变化,并反馈给Agent一个奖励值,指引Agent学习的方向. 最直观最容易理解的奖励是排队车辆数,本文选择交叉口处4条入口道路的排队车辆数之和作为奖励值. 在仿真实验中,若交叉口处4条入口道路的排队车辆数之和过大,则会出现车辆从交叉口拥堵至路网边缘的现象,导致车辆无法进入路网而出现车辆丢失的情况,所以需要设置一个最大排队车辆数之和Lmax,当总的排队车辆数大于Lmax时,则终止本次仿真,直接开始下次仿真. 文中,Lmax设置为200,当总的排队车辆数小于Lmax时,排队车辆数越大,奖励值越小,排队车辆数越小,奖励值越大,奖励值的表达式如式(2).

(2)

1.5 深度强化学习控制算法-深度Q网络算法

作为深度强化学习算法中的一种,深度Q网络算法将传统的Q学习算法与深度神经网络相结合,使用深度神经网络作为Q学习算法中动作价值函数的逼近器,解决了“维数灾难”问题,使Q学习算法得以应用于大规模决策问题之中.

本文使用Nature DQN算法来进行交通信号控制,其神经网络结构图如图1所示.

图1 Nature DQN算法神经网络结构图

图2 Nature DQN算法Q网络结构图

1.5.1 目标Q网络

Nature DQN在NIPS DQN的基础上进行改进,增加了目标网络. 目标网络的值采取延迟更新的策略,即每训练一定的次数后再将当前估计Q网络的参数复制给目标网络. 目标值的计算使用该目标网络,而不是直接使用预更新的估计Q网络,减少了目标计算与当前值的相关性.

图1中的“eval_net”和“target_net”分别为Nature DQN算法中的估计Q网络和目标网络.Q网络的作用是替代Q学习算法中的Q表格来存储动作价值函数Q(s,a),其本质是神经网络,2个Q网络的结构如图2所示.

对比2个Q网络的结构图可知,2个Q网络的结构相同,都由1个输入层、3个隐藏层、1个输出层组成. 但估计Q网络“eval_net”中每个神经层旁边都有1个“train”,而目标网络“target_net”中的神经层没有. 这是因为根据Nature DQN算法,我们使用得到的样本数据不断训练估计Q网络“eval_net”,其参数是实时更新的,而目标网络“target_net”并不进行训练,其参数不会实时更新,只在每经过一定的训练步数后把其参数替换成估计Q网络“eval_net”的参数.

2 仿真实验

2.1 仿真环境

为验证本文提出的交通信号灯控制方法的有效性,使用德国宇航中心(DLR)开发的软件(Simulation of Urban Mobility SUMO)构建了一个单路口的交通仿真环境,如图2、3所示.

图3 路网总览图

该仿真环境所使用的路网为一现实生活中最常见的十字交叉路口,路网中共有4条双向六车道的道路,每条道路长500 m. 路网中共有1个交叉口,在该交叉口处安装有1个两相位的交通信号灯,各相位的控制状态如图4所示,图中每条绿线和红线连接了一条入口车道和一条出口车道,绿线表示允许其所连接的入口车道的车辆行驶至其所连接的出口车道,红线则表示禁止其所连接的入口车道的车辆行驶至其所连接的出口车道. 各相位的持续时间由实验时所使用的信号灯控制方法来决定.

图4 交通信号灯相位示意图

2.2 实验策略

2.2.1 回放记忆积累策略

为降低样本之间的关联性,本文使用了经验回放机制,这就要求Q网络开始训练时回放记忆中存储有足够多数量且有价值的样本. 由于仿真环境中车辆是从道路远离信号灯的一端进入路网,车辆需要一定的时间才能到达信号灯处,每次仿真最开始的一段时间内采集到的样本是无效的,所以本文从每次仿真执行到第50步后开始存储样本,舍弃掉无效样本.

为保样本的数量足够多,本文在进行实验时,前10次仿真只进行仿真模拟,不进行训练,待回放记忆中存储有充足样本后,再开始训练Q网络.

2.2.2 动态贪婪率策略

贪婪率ε对于训练来说十分重要,它决定了Agent以ε的概率根据现有Q网络选择动作,而以1-ε的概率随机选择动作. 根据常理可知,在训练初期,Q网络并未训练好,应该以更大的概率随机选择动作,尽可能地去探索未知的状态空间,而在训练后期,Q网络已基本训练好,应该以更大的概率根据Q网络选择动作,使训练结果尽快收敛. 为满足上述常理,使用动态贪婪率策略,在训练开始时,将贪婪率ε设为0,然后使贪婪率ε随着训练次数增大,增大至0.9后不再变化,其式为:ε=min{0.000 1x,0.9},其中x为训练次数.

3 实验结果分析

3.1 训练过程

本实验中,Agent在仿真环境共进行了100次训练,每次训练持续500个仿真步长,每个仿真步长为现实生活中的1 s,即每次训练持续500 s.

每次训练的累计奖励值随训练次数变化的曲线如图5所示,图中x轴为训练次数,y轴为每次训练的累计奖励值,即每次训练中各仿真时刻的奖励值之和. 从图5中可看出,每次训练的累计奖励值随着训练次数不断增加,这说明Agent逐渐了解了其所处的仿真环境,能根据环境的状态选择出高奖励值的动作,即能减少仿真环境中的排队车辆数.

图5 Nature DQN算法累计奖励值变化曲线图

图6为基于Nature DQN算法的交通信号控制方法和定时控制方法每次训练的累积排队车辆数随训练次数的变化曲线图,图中x轴为训练次数,y轴为每次训练的累计排队车辆数,即每次训练中各仿真时刻的排队车辆数之和. 图中的点划线表示定时控制方法下每次训练的累计排队车辆数,由于定时控制方法下红绿灯的相位、相序以及各相位的持续时间都是固定的,所以每次训练的累计排队车辆数为一常数,其值为28 944,在图中表现为一水平的直线. 图6中的蓝线表示基于Nature DQN算法的交通信号控制方法下每次训练的累计排队车辆数,从图中可以看出,刚开始训练时,由于Agent对其所处的环境一无所知,只能通过随机的方法来选择动作,所以累计排队车辆数很大,最大值超过了60 000,是定时控制方法下累计排队车辆数的两倍多. 随着训练次数的不断增加,Agent不断地进行学习,逐渐地了解了仿真环境,累计排队车辆数开始下降,最终逐渐趋于稳定. 图中红线为第51次训练至第100次训练每次训练的累积排队车辆数的平均值,其值为18 914,远远小于定时控制下的累计排队车辆数.

图6 Nature DQN算法和定时控制方法的累积排队车辆数变化曲线图

3.2 测试结果

使用训练好的Agent在具有不同交通需求的同一仿真环境中进行测试,测试的结果如表1所示. 表中的交通需求为每小时从1条入口道路进入路网的车辆数,车辆随机出现,车辆到达信号灯处,随机左转、右转或直行,控制效果使用1次仿真中整个路网的4条入口道路每秒的平均排队车辆数之和来表示. 对比了不同的定时控制信号灯周期时长,括号内为信号灯周期时长.

从测试结果可以看出,DQN算法的控制效果明显好于定时控制的控制效果.

4 结论

城市道路交通拥堵问题是当今世界许多国家面临的一个严峻问题,交通信号灯作为道路交通系统的重要组成元素,可以从时间上对冲突交通流进行优化分配. 但目前现实生活中绝大部分的交通信号灯都使用定时控制方法,其控制方案易与实际交通需求不匹配,对交通流的控制不合理.

表1 测试结果

本文提出了一种基于Nature DQN算法的交通信号灯控制方法,并使用SUMO仿真平台进行了不同交通需求下的测试实验,实验结果表明,相较于定时控制方法,本文所提出的交通信号灯控制方法具有更好的控制效果,能显著减少交叉口处的排队车辆数. 需要指出的是,本文所提出的方法只进行了仿真实验,未在实际场景中测试过其控制效果;此外,本文所提出的方法仍存在一些有待改进的地方,未来需要将应用场景从简单的单路口扩展到具有多个路口的复杂路网.

猜你喜欢

交通信号信号灯路网
《城市轨道交通信号图册》正式出版
交通信号灯
《城市轨道交通信号设备》正式出版
城市轨道交通信号设备监测技术探讨
打着“飞的”去上班 城市空中交通路网还有多远
信号灯为什么选这三个颜色?
省际路网联动机制的锦囊妙计
首都路网 不堪其重——2016年重大节假日高速公路免通期的北京路网运行状况
路网标志该如何指路?
交通信号智能指挥模型