一种基于Q值迁移深度强化学习的多交叉口信号灯协同控制方法与流程

文档序号:17293381发布日期:2019-04-03 04:08阅读:1425来源:国知局
一种基于Q值迁移深度强化学习的多交叉口信号灯协同控制方法与流程

本发明属于机器学习与智能交通的交叉领域,涉及一种基于q值迁移深度强化学习的多交叉口信号灯协同控制方法。



背景技术:

交通拥堵问题已成为城市交通面临的迫切挑战,然而现存的基础道路设施由于空间、环境和经济方面的限制难以扩张。因此,交通信号灯的优化控制是解决这一问题的有效途径之一。通过信号灯的自适应控制,能够优化区域道路网络的交通,减少拥堵及二氧化碳的排放。

目前,不同的机器学习方法已被用于城市交通信号灯控制的研究,主要包括模糊逻辑、进化算法和动态规划。基于模糊逻辑的控制通常依据专家知识建立一组规则,再根据交通状态选择近似的信号灯相位。然而,由于规则的制定过分依赖于专家知识,对于拥有大量相位的多交叉口,获得一套有效的规则更为困难。遗传算法和蚁群算法等进化算法,由于其较低的搜索效率,在应用于大规模的交通协同优化控制时,难以满足交通信号灯决策的实时性要求。动态规划难以建立有效的交通环境模型,难以解决计算成本和计算环境转移概率的问题。

交通信号灯控制实际上是一个序列决策问题,很多研究利用强化学习的框架来寻求最优控制策略。强化学习通过感知环境状态并从中获得不确定奖赏来学习由agent组成的动态系统的最优行为策略。该方法将学习视为一个试错的过程,如果agent的某个行为策略导致环境正的奖赏(强化信号),那么agent以后产生这个行为策略的趋势便会加强。agent的目标是在每个离散状态发现最优策略以使期望的累积奖赏最大。

强化学习方法在单路口和区域多路口信号灯控制方面已有大量应用。对于多路口的信号灯控制,主要有集中式控制和分布式控制两种方式。集中控制利用强化学习训练一个单独的agent控制整个道路网络,在每个时间步agent对道路网络的各交叉口信号灯相位进行决策。然而,集中控制由于状态空间和动作空间会随着交叉口的线性增加而指数增长,导致状态空间和动作空间的维度灾难;分布式控制将多路口信号灯控制问题建模为多agent系统,其中每个agent负责控制一个单路口的信号灯。agent通过单个路口的局部环境进行决策的方式易于扩展到多交叉口。

传统的强化学习通过人工提取的路口特征来表示状态空间。为避免状态空间过大,通常都简化状态表示,往往忽略了一些重要信息。基于强化学习的agent通过对周围环境的状态观察进行决策,如果丢失重要的信息,agent难以做出对真实环境最优的决策。例如,仅利用道路上车辆排队长度表示状态空间忽略了正在移动的车辆以及车辆的位置、速度等信息;而仅利用平均车辆延迟只反映了历史交通数据,忽略了实时交通需求。这些解决状态空间过大的方法没有充分利用交叉口的有效状态信息,导致agent所做的决策是基于部分信息的。

在deepmind实验室的mnih提出将强化学习与深度学习联合的深度q网络(deepqnetwork,dqn)学习算法后(mnihv,kavukcuogluk,silverd,etal.human-levelcontrolthroughdeepreinforcementlearning[j].nature,2015,518(7540):529-533.),很多学者将深度强化学习技术应用于单路口和多路口的信号灯控制。通过卷积神经网络(convolutionalneuralnetwork,cnn)、堆叠自编码器(stackedauto-encoder,sae)等深度学习模型进行路口状态信息的自动提取特征,agent能够充分地利用路口状态信息进行最优决策。li等人使用各道路车辆排队长度作为路口状态,并利用深度堆叠的自编码器来估计最优的q值(lil,yishengl,wangfy.trafficsignaltimingviadeepreinforcementlearning[j].actaautomaticasinica,2016,3(3):247-254.)。genders等人提出基于cnn的深度强化学习控制单路口信号灯,将状态空间定义为车辆的位置矩阵、速度矩阵和最近时刻的信号灯相位,应用带有经验回放的q-learning算法训练单交叉口的信号灯控制器。该方法由于动作值与目标值之间的潜在相关性,使得算法的稳定性较差(gendersw,razavis.usingadeepreinforcementlearningagentfortrafficsignalcontrol[j].//arxivpreprintarxiv:1611.01142,2016.)。为了解决不稳定的问题,gao等人采用目标网络改进了genders的方法(gaoj,sheny,liuj,etal.adaptivetrafficsignalcontrol:deepreinforcementlearningalgorithmwithexperiencereplayandtargetnetwork.//arxivpreprintarxiv:1705.02755,2017.)。jeon等人指出以往大多数强化学习研究中的参数不能完全表示实际交通状态的复杂性,他们直接使用交叉口的视频图像来表示交通状态(jeonhj,leejandsohnk.artificialintelligencefortrafficsignalcontrolbasedsolelyonvideoimages.journalofintelligenttransportationsystems,2018,22(5):433-445)。最近,vanderpol等人首次将多agent深度强化学习应用于规则的多路口信号灯自适应控制(vanderpoleandoliehoekfa,coordinateddeepreinforcementlearnersfortrafficlightcontrol.//innips’16workshoponlearning,inferenceandcontrolofmulti-agentsystems,2016)。首先将多agent问题划分为多个较小的子问题(两个相邻交叉口的agent为一个子问题,又称为“源问题”),利用dqn算法在源问题上训练并得到近似的联合q函数,进而将训练源问题得到的近似联合q函数迁移至其他子问题,最后应用max-plus算法寻找最优联合动作。然而,将max-plus算法应用于以协同图表示的协作多agent系统,不能保证收敛到最优解,且在不同的源问题之间迁移q函数要求各源问题状态空间和动作空间大小相同,因而该方法对各交叉口的网络结构施加了较强的限制。

针对多交叉口交通状态特征提取困难、信号灯控制缺乏有效的协同策略以及协同策略过分依赖交叉口结构的问题,本发明提出了一种基于q值迁移深度强化学习的多交叉口信号灯协同控制方法(cooperativedeepq-learningwithq-valuetransfer,qt-cdqn)。qt-cdqn将区域道路网络建模为多agent系统,每个agent通过一个dqn网络控制一个交叉口,网络的输入为车辆的原始状态信息的离散交通状态编码。各路口对应的agent在训练过程中,考虑相邻路口最优动作对本路口的影响,将相邻agent最近时刻的最优动作的q值迁移到网络的损失函数中。这在一定程度上能够平衡各路口的交通流量,提高区域交通中道路的利用率,减少车辆的排队长度,缓解交通拥堵。该方法对交通网络具有较好的可扩展性,并且对各交叉口结构无限制。



技术实现要素:

针对传统的信号灯控制方法存在交通状态特征提取困难、多路口信号灯之间缺乏有效的协同策略以及算法过分依赖交叉口结构等问题,本发明提出一种带有q值迁移的协同深度q网络(qt-cdqn)用于多交叉口信号灯协同控制。该方法对交通状态的原始信息进行自动特征提取,并充分考虑相邻交叉口的影响,对多交叉口信号灯进行协同控制,提升了多交叉口的交通效率,缓解了各交叉口的拥堵。

本发明的技术方案:

一种基于q值迁移深度强化学习的多交叉口信号灯协同控制方法,包括如下步骤:

步骤1:将一个区域的交通网络建模为多agent系统,每个交叉口由一个agent控制,每个agent包括一个经验池m、一个估计网络和一个目标网络组成,分别初始化估计网络和目标网络的参数θi和θi′,初始化每个经验池。

步骤2:对进入交叉口的所有道路上的车辆进行离散状态编码,对于某个交叉口i,将从停车线开始长度为l的道路k划分为长度c的离散单元,将交叉口i的道路k的车辆位置和速度记录为车辆位置矩阵和车辆速度矩阵当车辆头部在某个离散单元上时,则车辆位置矩阵对应的位置值为1,否则值为0;将车辆速度与道路限制的最大速度归一化后的值作为速度矩阵对应单元格的值。对于每条进入交叉口i的车道,相应的都有一个位置矩阵和一个速度矩阵对于第i个交叉口,所有车道的组成交叉口i的位置矩阵pi和速度矩阵vi。在t时刻,agent观察到第i个交叉口的状态为其中si表示第i个路口的状态空间。

定义第i个交叉口的动作空间ai,即第i个交叉口的所有可切换信号灯相位。

定义奖赏函数r为t时刻和t+1时刻进入第i个交叉口所有车道上车辆的平均排队长度的变化。计算公式为:

其中,分别为t时刻和t+1时刻进入第i个交叉口所有车道上车辆的平均排队长度。

步骤3:在每个时间步t,将第i个交叉口当前状态输入第i个agent的估计网络,估计网络自动提取交叉口的特征并估计各个动作对应的q值,agent根据估计网络输出的各个动作对应的的q值,依据ε-贪心策略,以概率1-ε选择最大的q值对应的动作,即否则在动作空间中随机选择一个动作然后agent执行选择的动作动作停留时间为τg(最小单元时间),交叉口进入下一个状态agent根据公式(1)计算奖赏其中,ε的初始值为1,呈线性递减。

步骤4:将各agent的经验存入agent对应的经验池m中。其中,表示t时刻第i个agent的估计网络输出的所有动作的q值;

步骤5:从经验池m中随机采样m条经验,采用rmsprop梯度下降算法更新估计网络参数θi,损失函数为

其中,γ为学习率。a′为动作空间中可选的某个动作。n是第i个agent的邻居集合,j为其中的某个邻居agent,aj为第j个agent的动作空间,为第j个agent在t-1时刻的状态,为邻居j最近时刻的最优q值。

步骤6:令

步骤7:重复t次步骤3至步骤6。

步骤8:更新目标网络的参数θi′=θi,ε值递减直至值为0.1。

步骤9:重复步骤3至步骤8,定时(约50小时的交通)计算一次车辆平均排队长度l,当l连续3次非递减且相邻的l差值小于0.02时,则多交叉口协同网络训练完成。

步骤10:多交叉口协同网络训练完成后,在每个时间步t,将第i个交叉口的当前状态输入第i个agent的估计网络,各agent的估计网络输出各个动作对应的q值,agent以概率1-ε选择最大的q值对应的动作,即否则在动作空间中随机选择一个动作agent执行动作

所述估计网络和目标网络均为卷积神经网络,均包含4个隐层,第一个卷积层由16个4×4的滤波器组成,步长为2;第二个卷积层由32个2×2的滤波器组成,步长为1;第三层和第四层是两个全连接层,分别由128和64个神经元组成。四个隐层都采用relu非线性激活函数,然后将网络的输出值再作为最后的输出层的输入,输出层采用softmax激活函数,其中输出层的神经元个数与对应交叉口的动作空间大小相等。

本发明的有益效果:基于q值迁移深度强化学习的信号灯协同控制方法充分利用了交叉口的状态信息,并能够协同地控制多交叉口的信号灯,该方法能扩展到更多的交叉口,且对各交叉口结构无限制。

附图说明

图1非对称结构的四交叉口示意图;

图2交通信息的离散状态编码;

图3四交叉口的动作空间;

图4估计网络和目标网络的结构;

图5带有q值迁移的多交叉口协同控制结构;

图6基于q值迁移深度强化学习的信号灯协同控制流程图;

图7qt-cdqn方法在四路口上的平均排队长度(其中,qt-cdqn为带有q值迁移深度强化学习的协同控制方法,madqn为无协同的dqn方法,fta为根据车流量提前设定的最优定时控制方法);

图8qt-cdqn方法在四路口上的平均速度;

图9qt-cdqn方法在四路口上的平均等待时间;

图10qt-cdqn方法在每个交叉口的平均排队长度;

图11qt-cdqn方法在每个交叉口的平均速度;

图12qt-cdqn方法在每个交叉口的平均等待时间。

具体实施方式

本发明提供一种基于q值迁移深度强化学习的多交叉口信号灯协同控制方法。所论述的具体实施例仅用于说明本发明的实现方式,而不限制本发明的范围。下面结合附图对本发明的实施方式进行详细说明,具体包括以下步骤:

1.四交叉口的示意图。本发明的应用不限制交叉口的结构,以图1中不规则的四交叉口为例说明,其中路口3为四路交叉口,其他的为三路交叉口,每个交叉路口都有一个信号灯控制车辆的通行。三路交叉口和四路交叉口分别有三条和四条进入路口的道路,每条道路均有两条车道。根据路口的结构,左侧车道允许车辆直行或左转,右侧车道允许车辆直行或右转。

2.交通信息的离散状态编码。将从停车线开始长度为l的道路k(k=0,1,…12)划分为长度c的离散单元,其中c的取值要适中,c值过大则容易忽略个体车辆状态,过小会造成计算量太大。如图2所示,将路口i的道路k的车辆位置和速度记录在两个矩阵:车辆位置矩阵和车辆速度矩阵如果车辆头部在某个单元格上,则矩阵对应的位置值为1,否则值为0;将车辆速度与道路限制的最大速度归一化后的值作为速度矩阵对应单元格的值。对于第i个交叉口(这里以四路交叉口为例),所有道路的车辆位置矩阵pi和车辆速度矩阵vi分别表示为在t时刻,agent观察到第i个路口的状态为其中si表示第i个路口的状态空间。

3.四交叉口的动作空间。在t时刻,agent得到第i个交叉口的状态后,选择一个动作其中ai表示第i个交叉口的动作空间,不同的交叉口对应的动作空间ai不同,如图3所示,三路交叉口和四路交叉口分别有三个和四个不同的动作。每次选择的动作,其相位时间是一段固定长度的时间间隔τg(6s),当前相位时间结束后,当前时刻t随之结束,并且开始下一个时刻t+1,agent开始观察第i个交叉口的下一个状态状态会受最近一次所执行动作的影响,对于新状态选择下一个动作并执行(此时可能选择与上一时刻相同的动作)。

4.奖赏函数的设置。奖赏函数是在与环境交互的过程中获取的奖励信号,奖赏函数反应了agent所面临的任务的性质,同时作为agent修改策略的基础。在agent观察到第i个交叉口的状态后,选择一个动作并执行,agent将从环境中获得一个标量奖赏值以评价所执行动作的好坏。agent追求的目标就是寻找一种状态-动作策略,使最终得到的累积奖赏值达到最大。本发明选择路口车辆平均排队长度的变化作为奖赏函数,分别为t时刻和t+1时刻进入第i个交叉口所有车道上车辆的平均排队长度,奖赏如式(1)所示,奖赏值为正,表示t时刻采取的动作对环境有一个积极的影响,使车辆平均排队长度减少,为负表示动作导致环境中车辆平均排队长度增加。

5.估计网络和目标网络的结构。以四交叉口的道路网络为例,每个交叉口由一个agent控制,每个agent由一个估计网络和一个目标网络组成,每个网络都是一个卷积神经网络。估计网络能够根据各自路口的原始交通状态进行自动特征提取并逼近状态动作值函数(q函数)。cnn估计网络结构如图4所示(图中矩阵的维度和输出层神经元个数在实现时应根据实际情况设置)。每个路口以车辆的位置矩阵和车辆的速度构建的归一化矩阵作为对应cnn网络的输入,网络的输出为在所观察的状态下对所有动作的价值评估(q值经过softmax后的概率值)。cnn网络包含4个隐层,第一个卷积层由16个4×4的滤波器组成,步长为2;第二个卷积层由32个2×2的滤波器组成,步长为1;第三层和第四层是两个全连接层,分别由128和64个神经元组成。四个隐层都采用relu非线性激活函数,然后将网络的输出值再作为最后的输出层的输入,输出层采用softmax激活函数,其中输出层的神经元个数与对应路口的动作空间大小相等。为缓解决策过程中微小的q值变化可能导致的策略震荡问题,每个agent新增一个与估计网络结构相同参数不同的目标网络,估计网络估计当前状态下各个动作的q值目标网络估计目标值yt,其中通过在一段时间内冻结目标网络的参数,使得估计网络更平稳。

6.网络的训练过程。如图5所示,各agent只考虑相邻路口最优动作对本路口的影响,通过将相邻agent的最近时刻的q值迁移到各自agent系统的损失函数中,使得多个agent能协同地进行多交叉口的信号灯控制。通过采取协同机制,一个交叉口的行为选择策略不仅依赖于其自身q值,还取决于其相邻交叉口的q值,该方法提升了区域路网的交通流量,缓解了交通拥堵。

将相邻路口最近时刻的最优q值迁移到每个路口的损失函数中,损失函数为

其中,m为批大小,θ为估计网络的参数,为第i个agent的估计网络的输出,θ′为目标网络的参数,为相应的目标网络的输出,n是第i个agent的邻居集合,为邻居j最近时刻的最优q值。

qt-cdqn方法的流程图如图6所示,在每个时间步t,第i个agent将对交叉口的状态观察输入网络,根据网络输出的值使用贪心策略选择动作并执行,此时agent由公式(2)计算得到来自环境的奖赏并进入下一个状态在每个时间步t将对第i个路口的经验存入经验池mi中(每个agent对应一个经验池)。每个经验池最多能存储max_size(2×105)条经验,存满后将最早的数据舍弃继续存入最新的经验。为了更有效的训练估计网络cnni的参数θi,每间隔一定的步数从经验池mi中随机采样m(32)条经验,对网络进行更新。由于在更新第i个agent的网络时会将其邻居最近时刻的最优q值迁移到当前agent的损失函数中,因此,从经验池mi中随机采样后,需要从其邻居的经验池中采样对应的最近时刻的经验。

在训练中,在动作选择时采用递减的ε-贪心策略,即以概率ε(初始值为1)随机选择一个动作,以概率1-ε选择动作值最大的一个动作,ε随着训练回合的递增而递减,这种选择方法倾向于由探索逐渐转向利用,直至ε值降为0.1后保持不变。各个估计网络都采用学习率为0.0002的rmsprop梯度下降算法,目标网络的参数每t(200)步更新为最新值,即估计网络的最新参数。当估计网络能够充分地近似动作值函数q后,通过选择当前状态下网络输出的最大值对应的动作来达到最优控制。

多交叉口协同网络训练完成后,在每个时间步t,将第i个交叉口当前状态输入第i个agent的估计网络,各agent的估计网络输出各个动作对应的q值,agent以概率1-ε选择最大的q值对应的动作,否则在动作空间中随机选择一个动作,agent执行所选动作。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1