利索能及
我要发布
收藏
专利号: 2022111079420
申请人: 内蒙古工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于多代理深度强化学习的智能交通信号灯控制方法,其特征在于,路网中具有多个红绿灯代理,每个红绿灯代理运行一个深度强化学习算法,每个红绿灯代理会根据十字路口的具体情况对红绿灯的时长进行调节,通过对红绿灯时长的调节可以完成车流调节;具体控制交通信号灯的方法包括:S1、通过随机的方式初始化每个红绿灯代理的对应深度强化学习算法中的深度Q网络的参数;

S2、每个红绿灯代理在特定时刻采集与其对应的十字路口的交通状态,所述十字路口的交通状态指在特定时刻经过该十字路口的所有机动车的速度信息和位置信息;

S3、将每个红绿灯代理采集的十字路口的交通状态输入到与之对应的深度Q网络中,所述深度Q网络输出多个评分值,每个评分值对应一个所述红绿灯代理对红绿灯的时长进行调节的行动;选择评分值最高的行动作为红绿灯代理即将采取的行动,则每个红绿灯代理都获得即将采取的针对十字路口车流进行调度的行动;

S4、每个红绿灯代理确定采取的行动时将自己将要采取的行动的消息发送给邻接的红绿灯代理;

S5、邻接的红绿灯代理检查是否有其他红绿灯代理发送来的消息,根据接收消息的情况,以及通过与该邻接的红绿灯代理对应的深度Q网络选择的即将采取的行动,调整自身即将采取的针对十字路口车流进行调度的行动,从而输出最终所要采取的对红绿灯的时长进行调节的行动;

S6、每个红绿灯代理执行完各自选择采取的行动后,根据红绿灯代理采取行动前后十字路口所有机动车等待时间长度的变化量计算奖赏值,根据所述奖赏值更新每个红绿灯代理对应的深度强化学习算法中的网络参数,然后重复执行步骤S2‑S6,完成路网中智能交通信号灯的控制;

S6中每个红绿灯代理执行完各自选择采取的行动后,根据红绿灯代理采取行动前后十字路口所有机动车等待时间长度的变化量计算奖赏值,根据所述奖赏值更新每个红绿灯代理对应的深度强化学习算法中的网络参数,具体包括:所述深度强化学习算法的框架中包括原始CNN网络和目标CNN网络,原始CNN网络即为深度Q网络,所述目标CNN网络是用来协助完成原始CNN网络更新的,目标CNN网络与原始CNN网络结构相同,起始时原始CNN网络与目标CNN网络的参数也相同,原始CNN网络以及目标CNN网络的参数更新过程如下所述:S601、在更新CNN网络参数时需要从红绿灯的状态的四元组缓存中选择多个红绿灯的状态的四元组,这些四元组将构成一个四元组集合;

S602、对四元组集合中进行遍历并针对每个四元组执行以下过程;

S602‑1、将第i个四元组中的状态s输入到原始CNN网络,原始CNN网络基于状态s发现Q值最大的行动a并输出行动a对应的Q值,即Q(s,a;θ);其中θ表示原始CNN网络参数;

S602‑2、将s’输入到起始CNN网络中,基于原始CNN网络可以获得Q值最大的行动a’;

S602‑3、状态s’和行动a’被输入到目标CNN网络,目标CNN网络将输出对应的Q值,Q(s’,‑ ‑a’;θ);其中θ表示目标CNN网络参数;

S602‑4、基于步骤S602‑2获得的Q(s,a;θ)值和步骤S602‑3获得的Q(s’,a’;θ)的值计算目标Q值,目标Q值的计算方法如下所示:;

S603、如果没有完成四元组遍历跳转到步骤S602;

S604、基于获得的所有四元组对应的Q(s,a;θ)值和Qtarget(s,a)值可以构造损失函数,损失函数的形式如下所示:;

其中,P(s)表示状态s在所选择的四元组集合中出现的概率,基于原始网络获得的Q值应当尽量接近目标Q值,因此损失函数应当被最小化;

S605、利用反向传播算法来对原始CNN网络参数θ进行更新;

S606、对目标CNN网络的网络参数θ进行更新,更新方式如下所示:

每当θ被更新后θ也会被更新;

十字路口的红绿灯的状态通过四元组描述,其中t1表示南北向绿灯的时长,t2表示由北向东及由南向西绿灯的时长,t3表示东西向绿灯的时长,t4表示由东向南及由西向北绿灯的时长。

2.根据权利要求1所述的一种基于多代理深度强化学习的智能交通信号灯控制方法,其特征在于, S3中所述红绿灯代理对红绿灯的时长进行调节的行动包括:将十字路口南北向绿灯的时长t1增加5秒、南北向绿灯的时长减少5秒、由北向东及由南向西绿灯的时长t2增加5秒、由北向东及由南向西绿灯的时长t2减少5秒、东西向绿灯的时长t3增加5秒、东西向绿灯的时长t3减少5秒、由东向南及由西向北绿灯的时长t4增加5秒、由东向南及由西向北绿灯的时长t4减少5秒和不做任何绿灯时长的变化;

采取以上九种行动之后,十字路口对应的九个红绿灯状态分别表示为

3.根据权利要求2所述的一种基于多代理深度强化学习的智能交通信号灯控制方法,其特征在于,所述奖赏值通过以下方法获得:假设it表示第i辆机动车,该机动车从到达十字路口一直等到十字路口的第t轮循环开始,Nt表示在第t轮循环中十字路口出现的汽车数量;所述循环指:红绿灯代理执行完针对十字路口车流进行调度的行动后,十字路口的红绿灯状态中的各个通行方向的所有红绿灯转换被认为是一个完整的循环,所以红绿灯代理的工作过程是由多个循环组成的;

表示第it辆机动车的等待时长,该等待时长的起始时间点为机

动车的到达时间,终止时间为十字路口第t轮循环的起始时间点;如果在采取十字路口车流调度行动之前红绿灯代理进入第t轮循环,而采取该行动之后进入第t+1轮循环,那么红绿灯代理采取所述行动所获得的奖赏rt通过以下的方式来计算:;

其中,Wt表示直到第t轮循环开始前十字路口所有机动车的等待时间总和,Wt+1表示直到第t+1轮循环开始前十字路口所有机动车的等待时间总和,那么该值的计算方法如下所示:;

红绿灯代理采取该行动所获得的奖赏rt表示采取行动前后十字路口机动车等待时间长度的变化量。

4.根据权利要求2所述的一种基于多代理深度强化学习的智能交通信号灯控制方法,其特征在于,S2中所述十字路口的交通状态指在特定时刻经过该十字路口的所有机动车的速度信息和位置信息,具体包括:在特定的时刻,所述红绿灯代理会采集当前十字路口的快照,该快照包含了十字路口所有机动车的速度和位置信息,在快照中整个十字路口会被划分为大小相同的多个方格,每个方格只能够容纳一辆机动车,单个方格所包含的值为一个二元组,其中position表示方格中所包含机动车所处的位置,speed为方格中机动车的行驶速度;

position值为一个二元值,用来表示该方格中是否包含机动车,如果该值为1表示方格中包含机动车,如果该值为0,表示方格中不包含机动车,则十字路口所有机动车的位置信息可以构成位置矩阵;如果方格中无机动车或机动车静止,那么方格对应speed值为0,十字路口所有机动车的速度信息可以构成速度矩阵。

5.根据权利要求4所述的一种基于多代理深度强化学习的智能交通信号灯控制方法,所述深度Q网络的输入包含两个矩阵分别是位置矩阵以及速度矩阵,这两个矩阵都是红绿灯代理在十字路口采集获得的交通状态信息,所述深度Q网络中包含三个卷积层,第一个卷积层包含32个过滤器,每个过滤器的结构均为4*4,且在卷积的过程中每个过滤器会移动2*

2步;第二个卷积层包含64个过滤器,经过第二个卷积层之后会输出64*15*15的张量;第三个卷积层包含128个过滤器,每个过滤器的尺寸2*2,且每次移动1*1步,第三个卷积层会输出15*15*128的张量;第三个卷积层输出的结果被输入到一个全连接层,该全连接层为一个

128维的向量,该全连接层会将数据划分为两个部分,其中每个部分都是一个64维的向量,其中第一个64维向量被用来计算一个V值,而第二个64维向量被用来计算一个优势向量advantage,利用V值和advantage向量就可以计算所有针对十字路口车流进行调度的行动对应的Q值,该Q值即为行动对应的评分值,基于Q值的大小就可以进行行动的选择。

6.根据权利要求2所述的一种基于多代理深度强化学习的智能交通信号灯控制方法,其特征在于,所述消息的格式为[行动方式,方向],其中,若“行动方式”为1,表示特定方向绿灯被延长5秒,若“行动方式”为0,表示特定方向绿灯被缩短5秒,“方向”表示接收消息的红绿灯代理与发送消息的红绿灯代理的位置关系,“NS”表示两个红绿灯代理是南北向关系,“EW”表示两个红绿灯代理是东西向关系。

7.根据权利要求2所述的一种基于多代理深度强化学习的智能交通信号灯控制方法,其特征在于,S5中邻接的红绿灯代理检查是否有其他红绿灯代理发送来的消息,所述消息的格式为[行动方式,方向],根据接收消息的情况,调整自身即将采取的针对十字路口车流进行最佳调度的行动,从而输出最终所要采取的对红绿灯的时长进行调节的行动,具体包括:假设第一轮某个红绿灯代理所采取的行动是,那么在执行完该行动之后,需要确定下一轮采取的行动,行动确定的过程如下所述:首先通过深度Q网络确定的下一轮行动对应的十字路口红绿灯的交通状态为

;然后检查 中 和 是否有值大于

120秒或小于30秒,若有则继续采用交通状态为对应的行动作为新的行动,若没有则执行以下任务A;

所述任务A为:检查是否收到邻接红绿灯代理的消息,如果没有收到,那么就将交通状态为 的行动作为新的行动,如果收到消息就执行以下的任务B;

所述任务B为:对收到的所有消息进行遍历,并针对收到的每个消息执行以下过程:检查收到消息的方向信息,如果消息中的方向信息为“NS”,“NS”表示某个红绿灯代理与邻接红绿灯代理是南北向关系,并且收到的消息中行动方式为1,就需要进一步增加和 的时长,即 , ;相反收到消息中的行动方式为0,就需要减少 和 的时长,即 , ;然后删除消息缓存中所有包含

“NS”的消息;

检查收到消息的方向信息,如果消息中的方向信息为“EW”,“EW”表示某个红绿灯代理与邻接红绿灯代理是东西向关系,并且收到的消息中行动方式为1,那么需要进一步增加和 的时长,即  , ;相反收到消息中的行动方式为0,就需要减少 和 的时长,即 , ;然后删除消息缓存中所有包

含“EW”的消息。