一种基于PPO和图卷积神经网络区域交叉口信号控制方法转让专利

申请号 : CN202110331958.9

文献号 : CN113299079B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王昊刘晓瀚董长印杨朝友

申请人 : 东南大学扬州市法马智能设备有限公司

摘要 :

本发明公开了一种基于PPO和图卷积神经网络区域交叉口信号控制方法,包括以下步骤:构建交叉口协调控制区域并确立强化学习的状态、动作、奖励信息和图卷积神经网络的特征矩阵;构建区域交叉口分层信号控制模型;构建回放经验池,处理和提取训练数据和测试数据;训练区域交叉口分层信号控制模型;对区域交叉口进行统筹联合控制。本发明对控制区域建立多层信号控制模型,下层模型基于PPO算法构建多智能体控制模型;上层模型基于图卷积神经网络对各个交叉口进行统筹协调控制。本发明通过构建两层控制结构,既减少了单点控制模型的运算负担,又实现了对控制区域的总体最优控制,提高了控制区域内的车辆运行效率。

权利要求 :

1.一种基于PPO和图卷积神经网络区域交叉口信号控制方法,其特征在于,包括如下步骤:步骤1、选择需要进行协调控制的交叉口构建交叉口协调控制区域,构建该区域的网络模型,并依此定义强化学习的状态、动作和奖励以及图卷积神经网络的特征矩阵;

步骤2、依据PPO强化学习算法和图卷积神经网络构建区域交叉口分层信号控制模型;

步骤3、构建仿真场景,运行仿真获取状态、动作和奖励相关数据存入回放经验池,并从回放经验池中提取处理数据构建训练数据集和测试数据集;

步骤4、对区域交叉口分层信号控制模型进行训练,保留经过训练的模型最终参数;

步骤5、依据训练好的区域交叉口分层信号控制模型对控制区域进行联合协同控制,对区域内各交叉口在下一阶段所要采用的信号相位进行集中管控分配;

步骤1所述选择需要进行协调控制的交叉口构建交叉口协调控制区域,构建该区域的网络模型,并依此定义强化学习的状态、动作和奖励以及图卷积神经网络的特征矩阵,具体如下:选择需要进行协调控制的网络区域I,I为区域内交叉口的集合,I=[i1,i2,…,in],其中,i1表示编号为1交叉口,n为协调控制区域内交叉口的数量;

控制区域内单个交叉口的状态由s表示,即 为交叉口i1的状态,交叉口的状态由该交叉口各车道组上的车辆数和交叉口当前所处 信号控制相位组成,s=[l1,l2,…,lz,c],l1为车道组1上的车辆数,z为交叉口中车道组的数量,c为该交叉口当前所处信号控制相位;

控制区域内单个交叉口的动作由a表示,即 表示交叉口i1的动作,交叉口的动作为该交叉口在下一阶段要采取的信号控制相位;

控制区域内单个交叉口的奖励由r表示,即 表示交叉口i1的奖励,奖励r为交叉口在s状态下采取动作a后获得的奖励,具体奖励形式为下一时间步长内通过交叉口的车辆总数;

step为单一时间步长;g(t)为时刻t时通过交叉口的车辆数;

控制区域的特征矩阵H为控制区域内各交叉口特征h的集合,即 为

交叉口i1的特征,单点交叉口特征h由该交叉口所处位置、各车道组车辆数、交叉口当前控制相位、交叉口下一时间步长要采用的控制相位组成,即h=[x,y,l1,l2,…,lz,c,a],x为交叉口的横坐标,y为交叉口的纵坐标,l为车道组的车辆数,z为车道组的数量,c为该交叉口当前所处信号控制相位,a为交叉口在下一时间步长选择的信号相位;

步骤2所述依据PPO强化学习算法和图卷积神经网络构建区域交叉口分层信号控制模型,该控制模型具有上下两层结构,下层结构为基于PPO强化学习算法的单点交叉口控制模型,上层结构为基于图卷积神经网络的区域统筹控制模型,具体实现步骤如下:步骤2.1、构建基于PPO强化学习算法的单点交叉口控制模型,该模型接受单点交叉口状态s,输出交叉口在该状态s下采取各个相位动作的概率和所能得到回报的期望值,该模型由Critic和Actor两个子模型构成,具体构建方法如下:步骤2.1.1、构建Critic网络模型,Critic网络模型是一个由多层全连接层FC构建的神经网络模型,输入层为单点交叉口的状态s,输出为该交叉口在状态s下获得回报的期望值V(s),计算过程如下:m

V(s)=[σ(FC(s))]

式中,σ表示激活函数,用于神经网络全连接层之后,m为神经网络模型全连接层的层数;

步骤2.1.2、构建Actor网络模型,Actor网络模型也是一个由多层全连接层FC构建的神经网络模型,输入层为单点交叉口的状态s,输出为该交叉口在状态s下采取各个动作a的概率P(s),计算过程如下:d

P(s)=[σ(FC(s))]

式中,σ表示激活函数,d为神经网络模型全连接层的层数;

步骤2.2、构建基于图卷积神经网络的区域统筹控制模型,该模型输入为表示控制区域内交叉口拓扑结构的邻接矩阵A和步骤1中定义的特征矩阵H,输出为控制区域通过车辆总数的预测值gout,该模型构建关系如下:p p‑1 p‑1

H=σ(AH W )

p 0

H为第p层图卷积层,H=H,pend为图卷积的最终层;

邻接矩阵A为一个k×k大小的0‑1矩阵,k为控制区域I内交叉口的数量,如果交叉口o和交叉口r相连,o,r∈I,表示交叉口o和r都在控制区域I中,A[o,r]=1,否则A[o,r]=0;

p

W为第p层的权重系数矩阵,为待训练的矩阵;

△为将矩阵展开为向量的操作;

FC为全连接层;σ为激活函数;

步骤3所述构建仿真场景,运行仿真获取状态、动作和奖励相关数据存入回放经验池,并从回放经验池中提取处理数据构建训练数据集和测试数据集,具体如下:对于每个交叉口建立对应的回放经验池Mi,对于每次动作迭代收集元组填入经验回收池,si,ai,πi,ri,si′分别是交叉口i的当前状态,采取的动作,采取该动作的概率,采取该动作获取的奖励以及采取该动作后交叉口的状态,回放经验池设置最大存储容量O,采用队列结构存储数据,即当回放经验池中的数据量大于最大存储容量O时,最早进入回放经验池中的经验条目将被移除;

当需要训练时,首先需要对回放经验池中的数据进行处理,利用每个时间步长获取的奖励ri计算每个时间步长的累计奖励Ri,计算过程如下:t表示当前所处时刻,T为每迭代回合仿真总时长,γ为时间折减系数;

从经验回收池随机选取指定数量的经验数据,构建训练数据集和测试数据集;

步骤4所述对区域交叉口分层信号控制模型进行训练,保留经过训练的模型最终参数,具体实现需要分别依次训练步骤2.1中构造的基于PPO强化学习算法的单点交叉口控制模型和步骤2.2构建的基于图卷积神经网络的区域统筹控制模型,包括以下子步骤:步骤4.1、训练基于PPO强化学习算法的单点交叉口控制模型,具体构建过程包括以下几个子步骤:步骤4.1.1、设置训练迭代总回合数N;

步骤4.1.2、初始化步骤2.1构建的Critic和Actor网络模型参数;

步骤4.1.3、设置单次训练迭代回合的仿真运行总时长为T,单一时间步长为step;

步骤4.1.4、每经过一时间步长step,记录当前仿真时间t,对每个交叉口i,记录当前状态 根据步骤2.1构建的Actor网络模型求解出交叉口采用各个动作的概率,按概率选择下一阶段交叉口的动作 即下一阶段交叉口i需要切换的相位,并获取该动作的概率经过当前时间步长后记录交叉口的状态 和在这一时间步长内交叉口i得到的奖励 t′为t时刻经过单一时间步长step到达的时刻,即t′=t+step,将 存入经验回收池Mi中;

步骤4.1.5、检查当前时间t是否超过仿真运行时长T,如果超过,按照步骤3获取训练数据集,对步骤2.1构建的Critic和Actor网络模型参数进行训练更新,并且当前迭代回合数加1,返回步骤4.1.3;

Critic和Actor网络模型的损失函数如下:

Losscritic为Critic模型损失值,Lossactor为Actor模型损失值;training_set为训练集中的全部数据;ε为截断系数; 为步骤2.1.2取得对应动作 的概率;clip为截取操作,即若 的值在[1‑ε,1+ε]范围外,则截取到[1‑ε,1+ε]边界;

步骤4.1.6、检查当前回合数是否超过训练迭代总回合数N,如果超过,结束训练;

步骤4.2、训练基于图卷积神经网络的区域统筹控制模型,具体构建过程包括以下几个子步骤:步骤4.2.1、设置训练迭代总回合数N;

步骤4.2.2、初始化步骤2.2构建的图卷积神经网络模型参数;

步骤4.2.3、设置单次训练迭代回合的仿真运行总时长为T,单次时间步长为step;

步骤4.2.4、每经过一时间步长step,记录当前仿真时间t,对每个交叉口i,根据步骤

2.1构建的Actor网络模型求解出交叉口采用各个动作的概率,取出概率前三的动作,并从中随机选择一个动作作为下一阶段交叉口的动作 即下一阶段交叉口i需要切换的相位,记录交叉口特征 和在该时间步长内控制区域通过的车辆总数,并将区域特征矩阵和控制区域通过的车辆总数 存储到数据存储库D中;

步骤4.2.5、检查当前时间t是否超过仿真运行时长T,如果超过,从D中获取数据,对步骤2.2构建的图卷积神经网络模型参数进行训练更新,并且当前迭代回合数加1,返回步骤

4.2.3;

图卷积神经网络模型的损失函数如下:

步骤4.2.6、检查当前回合数是否超过训练迭代总回合数N,如果超过,结束训练。

2.根据权利要求1所述的基于PPO和图卷积神经网络区域交叉口信号控制方法,其特征在于,步骤5所述依据训练好的区域交叉口分层信号控制模型对控制区域进行联合协同控制,对区域内各交叉口在下一阶段所要采用的相位进行集中管控分配,具体如下:交通网络运行时,每个时间步长step,对每个交叉口,利用步骤2.1构建的Actor网络模型求解下阶段选择各个动作的概率,并提取出概率前2的动作,对每个交叉口的前2动作进行排列组合,即k如果协调控制区域内交叉口的数量为k,共有2 种排列组合方式,对于每一种组合方式都会对应一个特征矩阵H,将该特征矩阵代入步骤2.2构建的图卷积神经网络模型中求出控制区域通过车辆总数的预测值gout,选择最大的gout所对应的动作排列组合方式,即为该区域统筹控制的动作组合,将其应用到区域内的各自交叉口中,获取该区域的最优控制方式。

说明书 :

一种基于PPO和图卷积神经网络区域交叉口信号控制方法

技术领域

[0001] 本发明涉及自适应交通信号灯协调控制领域,具体涉及一种基于PPO和图卷积神经网络区域交叉口信号控制方法。

背景技术

[0002] 随着人工智能的兴起,计算机视觉技术不断完善,强化学习、图卷积神经网络等智能新算法的不断兴起,实时获取交叉口交通信息并且基于数据驱动型算法快速稳定地计算出适应性强的信号控制方案成为实现交叉口信号高效稳定控制的有效新方法。多智能体方法与边缘计算相配合减少了硬件的计算负担,使控制变得更加实时可靠。
[0003] 强化学习算法在不断与环境交互中回去奖励最终自学习到一种相对较好的策略的性质很适合应用到对交叉口信号控制中,使得交叉口通过不断检测环境信息自学习到适应当前交通状态的控制策略。已有研究中,中国专利CN202010064330.2基于强化学习中的3DQN_PSER算法对交叉口进行信号控制,通过双Q网络来调整Q值的选择并使用竞争架构Q网络来微调网络结构,可以保证其应用到交叉口信号控制问题上算法具有很好的收敛性;中国专利CN202010034436.8基于深度循环Q学习构建单点交叉口信号控制算法,在模型中加入LSTM神经网络记录交叉口一段时间内的运行信息数据,考虑到交通现象形成的时间堆积性,提高了交叉口控制效率。总体来说,当前将强化学习类算法应用于交叉口信号控制领域多为单点交叉口或区域内交叉口独立控制,很少能够从整体上统筹各个独立的交叉口联合协调控制,并且交通网络具有其特定的网络拓扑结构,图卷积神经网络可以很好地应用于对区域交叉口信号灯的整体控制,目前对此方面的研究还较少。

发明内容

[0004] 发明目的:为了克服上述现有技术的不足,本发明目的在于提出一种基于PPO和图卷积神经网络区域交叉口信号控制方法,构建区域交叉口分层信号控制模型,上层基于图卷积神经网络对区域交叉口从总体上进行统筹控制,下层基于PPO强化学习算法构建多智能体控制模型,降低区域控制维度,减少硬件计算负担,最终实现对区域交叉口实时高效的统筹协调控制,减少交通拥堵,提高交通网络的运行效率。
[0005] 技术方案:为解决上述技术问题,本发明采用的技术方案为:一种基于PPO和图卷积神经网络区域交叉口信号控制方法,包括如下步骤:
[0006] 步骤1、选择需要进行协调控制的交叉口构建交叉口协调控制区域,构建该区域的网络模型,并依此定义强化学习的状态、动作和奖励以及图卷积神经网络的特征矩阵;
[0007] 步骤2、依据PPO强化学习算法和图卷积神经网络构建区域交叉口分层信号控制模型;
[0008] 步骤3、构建仿真场景,运行仿真获取状态、动作和奖励相关数据存入回放经验池,并从回放经验池中提取处理数据构建训练数据集和测试数据集;
[0009] 步骤4、对区域交叉口分层信号控制模型进行训练,保留经过训练的模型最终参数;
[0010] 步骤5、依据训练好的区域交叉口分层信号控制模型对控制区域进行联合协同控制,对区域内各交叉口在下一阶段所要采用的信号相位进行集中管控分配。
[0011] 进一步地,步骤1所述选择需要进行协调控制的交叉口构建交叉口协调控制区域,构建该区域的网络模型,并依此定义强化学习的状态、动作和奖励以及图卷积神经网络的特征矩阵,具体为:
[0012] 选择需要进行协调控制的网络区域I,I为区域内交叉口的集合,I=[i1,i2,...,in],其中i1表示编号为1交叉口,n为协调控制区域内交叉口的数量;
[0013] 控制区域内单个交叉口的状态由s表示,即 为交叉口i1的状态,交叉口的状态由该交叉口各车道组上的车辆数和交叉口当前所出信号控制相位组成,s=[l1,l2,...,lz,c],l1为车道组1上的车辆数,z为交叉口中车道组的数量,c为该交叉口当前所处信号控制相位。
[0014] 控制区域内单个交叉口的动作由a表示,即 表示交叉口i1的动作。交叉口的动作为该交叉口在下一阶段要采取的信号控制相位。
[0015] 控制区域内单个交叉口的奖励由r表示,即 表示交叉口i1的奖励,奖励r为交叉口在s状态下采取动作a后获得的奖励,具体奖励形式为下一时间步长内通过交叉口的车辆总数。
[0016]
[0017] step为单一时间步长;g(t)为时刻t时通过交叉口的车辆数。
[0018] 控制区域的特征矩阵H为控制区域内各交叉口特征h的集合,即为交叉口i1的特征。单点交叉口特征h由该交叉口所处位置、各车道组车辆数、交叉口当前控制相位、交叉口下一时间步长要采用的控制相位组成,即h=[x,y,l1,l2,...,lz,c,a],x为交叉口的横坐标,y为交叉口的纵坐标,l为车道组的车辆数,z为车道组的数量,c为该交叉口当前所处信号控制相位,a为交叉口在下一时间步长选择的信号相位。
[0019] 进一步地,步骤2所述依据PPO强化学习算法和图卷积神经网络构建区域交叉口分层信号控制模型,该控制模型具有上下两层结构,下层结构为基于PPO强化学习算法的单点交叉口控制模型,上层结构为基于图卷积神经网络的区域统筹控制模型,具体实现步骤如下:
[0020] 步骤2.1、构建基于PPO强化学习算法的单点交叉口控制模型,该模型接受单点交叉口状态s,输出交叉口在该状态s下采取各个相位动作的概率和所能得到回报的期望值。该模型由Critic和Actor两个子模型构成,具体构建方法如下:
[0021] 步骤2.1.1、构建Critic网络模型,Critic网络模型是一个由多层全连接层FC构建的神经网络模型,输入层为单点交叉口的状态s,输出为该交叉口在状态s下获得回报的期望值V(s),计算过程如下:
[0022] V(s)=[σ(FC(s))]m
[0023] 式中,σ表示激活函数,用于神经网络全连接层之后;m为神经网络模型全连接层的层数。
[0024] 步骤2.1.2、构建Actor网络模型,Actor网络模型也是一个由多层全连接层FC构建的神经网络模型,输入层为单点交叉口的状态s,输出为该交叉口在状态s下采取各个动作a的概率P(s),计算过程如下:
[0025] P(s)=[σ(FC(s))]d
[0026] 式中,σ表示激活函数,d为神经网络模型全连接层的层数。
[0027] 步骤2.2、构建基于图卷积神经网络的区域统筹控制模型,该模型输入为表示控制区域内交叉口拓扑结构的邻接矩阵A和步骤1中定义的特征矩阵H,输出为控制区域通过车辆总数的预测值gout。该模型构建如下:
[0028] Hp=σ(AHp‑1Wp‑1)
[0029]
[0030] Hp为第p层图卷积层,H0=H,pend为图卷积的最终层;
[0031] 邻接矩阵A为一个k×k大小的0‑1矩阵,k为控制区域I内交叉口的数量,如果交叉口o和交叉口r相连(o,r∈I),A[o,r]=1,否则A[o,r]=0;
[0032] Wp为第p层的权重系数矩阵,为待训练的矩阵;
[0033] Δ为将矩阵展开为向量的操作;
[0034] FC为全连接层;σ为激活函数。
[0035] 进一步地,步骤3所述构建仿真场景,运行仿真获取状态、动作和奖励相关数据存入回放经验池,并从回放经验池中提取处理数据构建训练数据集和测试数据集,具体为:
[0036] 对于每个交叉口建立对应的回放经验池Mi,对于每次动作迭代收集元组
[0037] 当需要训练时,首先需要对回放经验池中的数据进行处理,利用每个时间步长获取的奖励ri计算每个时间步长的累计奖励Ri,计算过程如下:
[0038]
[0039]
[0040] t表示当前所处时刻,T为每迭代回合仿真总时长,γ为时间折减系数。
[0041] 从经验回收池随机选取指定数量的经验数据,构建训练数据集和测试数据集。
[0042] 进一步地,步骤4对区域交叉口分层信号控制模型进行训练,保留经过训练的模型最终参数,具体实现需要分别依次训练步骤2.1中构造的基于PPO强化学习算法的单点交叉口控制模型和步骤2.2构建的基于图卷积神经网络的区域统筹控制模型,包括以下子步骤:
[0043] 步骤4.1、训练基于PPO强化学习算法的单点交叉口控制模型,具体构建过程包括以下几个子步骤:
[0044] 步骤4.1.1、设置训练迭代总回合数N;
[0045] 步骤4.1.2、初始化步骤2.1构建的Critic和Actor网络模型参数;
[0046] 步骤4.1.3、设置单次训练迭代回合的仿真运行总时长为T,单一时间步长为step;
[0047] 步骤4.1.4、每经过一时间步长step,记录当前仿真时间t,对每个交叉口i,记录当前状态 根据步骤2.1构建的Actor网络模型求解出交叉口采用各个动作的概率,按概率选择下一阶段交叉口的动作 即下一阶段交叉口i需要切换的相位,并获取该动作的概率经过当前时间步长后记录交叉口的状态 和在这一时间步长内交叉口i得到的奖励t′为t时刻经过单一时间步长step到达的时刻,即t′=t+step,将 存入
经验回收池Mi中;
[0048] 步骤4.1.5、检查当前时间t是否超过仿真运行时长T,如果超过,按照步骤3获取训练数据集,对步骤2.1构建的Critic和Actor网络模型参数进行训练更新,并且当前迭代回合数加1,返回步骤4.1.3。
[0049] Critic和Actor网络模型的损失函数如下:
[0050]
[0051]
[0052] Losscritic为Critic模型损失值,Lossactor为Actor模型损失值;training_set为训练集中的全部数据;ε为截断系数,建议取值为0.2; 为步骤2.1.2取得对应动作 的概率;clip为截取操作,即若 的值在[1‑ε,1+ε]范围外,则截取到[1‑ε,1+ε]边界;
[0053] 步骤4.1.6、检查当前回合数是否超过训练迭代总回合数N,如果超过,结束训练;
[0054] 步骤4.2、训练基于图卷积神经网络的区域统筹控制模型,具体构建过程包括以下几个子步骤:
[0055] 步骤4.2.1、设置训练迭代总回合数N;
[0056] 步骤4.2.2、初始化步骤2.2构建的图卷积神经网络模型参数;
[0057] 步骤4.2.3、设置单次训练迭代回合的仿真运行总时长为T,单次时间步长为step;
[0058] 步骤4.2.4、每经过一时间步长step,记录当前仿真时间t,对每个交叉口i,根据步骤2.1构建的Actor网络模型求解出交叉口采用各个动作的概率,取出概率前三的动作,并从中随机选择一个动作作为下一阶段交叉口的动作 即下一阶段交叉口i需要切换的相位,记录交叉口特征 和在该时间步长内控制区域通过的车辆总数,并将区域特征矩阵和控制区域通过的车辆总数 存储到数据存储库D中。
[0059] 步骤4.2.5、检查当前时间t是否超过仿真运行时长T,如果超过,从D中获取数据,对步骤2.2构建的图卷积神经网络模型参数进行训练更新,并且当前迭代回合数加1,返回步骤4.2.3。
[0060] 图卷积神经网络模型的损失函数如下:
[0061]
[0062] 步骤4.2.6、检查当前回合数是否超过训练迭代总回合数N,如果超过,结束训练。
[0063] 进一步地,步骤5所述依据训练好的区域交叉口分层信号控制模型对控制区域进行联合协同控制,对区域内各交叉口在下一阶段所要采用的相位进行集中管控分配,具体为:
[0064] 交通网络运行时,每个时间步长step,对每个交叉口,利用步骤2.1构建的Actor网络模型求解下阶段选择各个动作的概率,并提取出概率前2的动作,对每个交叉口的前2动k作进行排列组合,即如果协调控制区域内交叉口的数量为k,共有2种排列组合方式,对于每一种组合方式都会对应一个特征矩阵H,将该特征矩阵代入步骤2.2构建的图卷积神经网络模型中求出控制区域通过车辆总数的预测值gout,选择最大的gout所对应的动作排列组合方式,即为该区域统筹控制的动作组合,将其应用到区域内的各自交叉口中,获取该区域的最优控制方式。
[0065] 有益效果:与现有技术相比,本发明的技术方案具有以下有益技术效果:
[0066] 本发明提出了一种基于PPO和图卷积神经网络区域交叉口信号控制方法,利用PPO强化学习算法构建多智能体控制模型,可以很好地结合边缘计算方法,通过将单个交叉口控制方案控制在有限维度内,降低硬件的计算负担,加快模型收敛速度,保证了控制方案的实时稳定;基于图卷积神经网络构建上层区域总体控制中心,在全局层面统筹规划整个区域内的交叉口信号控制方案,得到信号控制方案全局优解,从而可以极大地提高交通网络的运行效率,减少交通网络间的交通拥堵。

附图说明

[0067] 图1是本发明实施例的方法流程图;
[0068] 图2是本发明实施例的控制区域示意图;
[0069] 图3是本发明实施例交叉口1的示意图;
[0070] 图4是本发明实施例信号控制方案相位示意图;
[0071] 图5是本发明实施例的Critic网络模型结构示意图;
[0072] 图6是本发明实施例的Actor网络模型结构示意图;
[0073] 图7是本发明实施例的图卷积神经网络模型结构示意图。

具体实施方式

[0074] 为了使本发明的内容更容易被清楚的理解,下面结合附图和具体实施例对本发明作进一步详细的说明。
[0075] 如图1所示,本发明实施例公开的一种基于PPO和图卷积神经网络区域交叉口信号控制方法,包括如下步骤:
[0076] 步骤1、选择需要进行协调控制的交叉口构建交叉口协调控制区域,构建该区域的网络模型,并依此定义强化学习的状态、动作和奖励以及图卷积神经网络的特征矩阵。
[0077] 具体地,选择需要进行协调控制的网络区域I,I为区域内交叉口的集合,I=[i1,i2,...,in],其中i1表示编号为1交叉口,n为协调控制区域内交叉口的数量;图2所示示例为3×3交通网络,交叉口数量为9,即n=9。
[0078] 控制区域内单个交叉口的状态由s表示,即 为交叉口i1的状态。交叉口的状态由该交叉口各车道组上的车辆数和交叉口当前所出信号控制相位组成,s=[l1,l2,...,lz,c],l1为车道组1上的车辆数,z为交叉口中车道组的数量,c为该交叉口当前所处信号控制相位。图3所示示例为区域I中交叉口1的局部展开图,每个进口道都由两个车道组成,一个左转车道,一个直行右转车道,在本示例中其他交叉口结构与该交叉口相同。交叉口的信号控制方案如图4所示,按照北、东、南、西,直行、左转的顺序,该示例中车道组数量z为8,当前所处信号控制相位为南北直行,即c=1。因此,该示例中交叉口状态s为[2,0,2,3,2,1,2,2,1]
[0079] 控制区域内单个交叉口的动作由a表示,即 表示交叉口i1的动作。交叉口的动作为该交叉口在下一阶段要采取的信号控制相位。在图4信号控制方案中,a∈[1,2,3,4,5,6,7,8]
[0080] 控制区域内单个交叉口的奖励由r表示,即 表示交叉口i1的奖励,奖励r为交叉口在s状态下采取动作a后获得的奖励,具体奖励形式为下一时间步长内通过交叉口的车辆总数。
[0081]
[0082] step为单一时间步长;g(t)为时刻t时通过交叉口的车辆数,在本示例中step取值为5。
[0083] 控制区域的特征矩阵H为控制区域内各交叉口特征h的集合,即为交叉口i1的特征。单点交叉口特征h由该交叉口所处位置、各车道组车辆数、交叉口当前控制相位、交叉口下一时间步长要采用的控制相位组成,即h=[x,y,l1,l2,...,lz,c,a],x为交叉口的横坐标,y为交叉口的纵坐标,I为车道组的车辆数,z为车道组的数量,c为该交叉口当前所处信号控制相位,a为交叉口在下一时间步长选择的信号相位。
[0084] 步骤2、依据PPO强化学习算法和图卷积神经网络构建区域交叉口分层信号控制模型。该控制模型具有上下两层结构,下层结构为基于PPO强化学习算法的单点交叉口控制模型,上层结构为基于图卷积神经网络的区域统筹控制模型,具体实现步骤如下:
[0085] 步骤2.1、构建基于PPO强化学习算法的单点交叉口控制模型,该模型接受单点交叉口状态s,输出交叉口在该状态s下采取各个相位动作的概率和所能得到回报的期望值。该模型由Critic和Actor两个子模型构成,具体构建方法如下:
[0086] 步骤2.1.1、构建Critic网络模型,Critic网络模型是一个由多层全连接层FC构建的神经网络模型,如图5所示,输入层为单点交叉口的状态s,输出为该交叉口在状态s下获得回报的期望值V(s),计算过程如下:
[0087] V(s)=[σ(FC(s))]m
[0088] 式中,σ表示激活函数,用于神经网络全连接层之后,本示例中σ采用relu激活函数;m为神经网络模型全连接层的层数,本示例构建了三层神经网络模型,m=3。
[0089] 步骤2.1.2、构建Actor网络模型,Actor网络模型也是一个由多层全连接层FC构建的神经网络模型,如图6所示,输入层为单点交叉口的状态s,输出为该交叉口在状态s下采取各个动作a的概率P(s),计算过程如下:
[0090] P(s)=[σ(FC(s))]d
[0091] 式中,σ表示激活函数,d为神经网络模型全连接层的层数。本示例中σ采用relu激活函数,d=3。
[0092] 步骤2.2、构建基于图卷积神经网络的区域统筹控制模型,该模型输入为表示控制区域内交叉口拓扑结构的邻接矩阵A和步骤1中定义的特征矩阵H,输出为控制区域通过车辆总数的预测值gout。该模型的模型结构如下:
[0093] Hp=σ(AHp‑1Wp‑1)
[0094]
[0095] Hp为第p层图卷积层,H0=H,pend为图卷积的最终层。示例中模型结构如图7所示,一共进行4次图卷积操作,pend=4。
[0096] 邻接矩阵A为一个k×k大小的0‑1矩阵,k为控制区域I内交叉口的数量,如果交叉口o和交叉口r相连(o,r∈I),A[o,r]=1,否则A[o,r]=0;图2示例中,k=9,
[0097] Wp为第p层的权重系数矩阵,为待训练的矩阵;
[0098] Δ为将矩阵展开为向量的操作;
[0099] FC为全连接层;σ为激活函数;本示例提供模型使用relu激活函数。
[0100] 步骤3、构建仿真场景,运行仿真获取状态、动作和奖励相关数据存入回放经验池,并从回放经验池中提取处理数据构建训练数据集和测试数据集。
[0101] 具体地,对于每个交叉口建立对应的回放经验池Mi,对于每次动作迭代收集元组<si,ai,πi,ri,si′>填入经验回收池,si,ai,πi,ri,si′分别是交叉口i的当前状态,采取的动作,采取该动作的概率,采取该动作获取的奖励以及采取该动作后交叉口的状态。回放经验池设置最大存储容量O,采用队列结构存储数据,即当回放经验池中的数据量大于最大存储容量O时,最早进入回放经验池中的经验条目将被移除。本示例中最大容量O取值为16000。
[0102] 当需要训练时,首先需要对回放经验池中的数据进行处理,利用每个时间步长获取的奖励ri计算每个时间步长的累计奖励Ri,计算过程如下:
[0103]
[0104]
[0105] t表示当前所处时刻,T为每迭代回合仿真总时长,γ为时间折减系数。本示例中T设置为3600秒,γ设置为0.99。
[0106] 从经验回收池随机选取指定数量的经验数据,构建训练数据集和测试数据集,本示例设定一次抽取8000个数据作为训练数据,500个数据作为测试数据。
[0107] 步骤4、对区域交叉口分层信号控制模型进行训练,保留经过训练的模型最终参数。具体包括以下子步骤:
[0108] 步骤4.1、训练基于PPO强化学习算法的单点交叉口控制模型,具体构建过程包括以下几个子步骤:
[0109] 步骤4.1.1、设置训练迭代总回合数N,本示例中N取值为200。
[0110] 步骤4.1.2、初始化步骤2.1构建的Critic和Actor网络模型参数,本示例中网络模型的权重系数初始化为符合正太分布的随机数。
[0111] 步骤4.1.3、设置单次训练迭代回合的仿真运行总时长为T,单一时间步长为step,本示例中T设置为3600秒,step设置为5秒。
[0112] 步骤4.1.4、每经过一时间步长step,记录当前仿真时间t,对每个交叉口i,记录当前状态 限据步骤2.1构建的Actor网络模型求解出交叉口采用各个动作的概率,按概率选择下一阶段交叉口的动作 即下一阶段交叉口i需要切换的相位,并获取该动作的概率经过当前时间步长后记录交叉口的状态 和在这一时间步长内交叉口i得到的奖励t′为t时刻经过单一时间步长step到达的时刻,即t′=t+step,将 存入
经验回收池Mi中;
[0113] 步骤4.1.5、检查当前时间t是否超过仿真运行时长T,如果超过,按照步骤3获取训练数据集,对步骤2.1构建的Critic和Actor网络模型参数进行训练更新,并且当前迭代回合数加1,返回步骤4.1.3。
[0114] Critic和Actor网络模型的损失函数如下:
[0115]
[0116]
[0117] Losscritic为Critic模型损失值,Lossactor为Actor模型损失值;training_set为训练集中的全部数据;ε为截断系数,建议取值为0.2; 为步骤2.1.2取得对应动作 的概率;clip为截取操作,即若 的值在[1‑ε,1+ε]范围外,则截取到[1‑ε,1+ε]边界;
[0118] 步骤4.1.6、检查当前回合数是否超过训练迭代总回合数N,如果超过,结束训练;
[0119] 步骤4.2、训练基于图卷积神经网络的区域统筹控制模型,具体构建过程包括以下几个子步骤:
[0120] 步骤4.2.1、设置训练迭代总回合数N,本示例中设置N为300;
[0121] 步骤4.2.2、初始化步骤2.2构建的图卷积神经网络模型参数,模型参数初始化为符合正太分布的随机数;
[0122] 步骤4.2.3、设置单次训练迭代回合的仿真运行总时长为T,单次时间步长为step,本示例中T设置为3600秒,step设置为5秒。
[0123] 步骤4.2.4、每经过一时间步长step,记录当前仿真时间t,对每个交叉口i,根据步骤2.1构建的Actor网络模型求解出交叉口采用各个动作的概率,取出概率前三的动作,并从中随机选择一个动作作为下一阶段交叉口的动作 即下一阶段交叉口i需要切换的相位,记录交叉口特征 和在该时间步长内控制区域通过的车辆总数,并将区域特征矩阵和控制区域通过的车辆总数 存储到数据存储库D中。
[0124] 步骤4.2.5、检查当前时间t是否超过仿真运行时长T,如果超过,从D中获取数据,对步骤2.2构建的图卷积神经网络模型参数进行训练更新,并且当前迭代回合数加1,返回步骤4.2.3。
[0125] 图卷积神经网络模型的损失函数如下:
[0126]
[0127] 步骤4.2.6、检查当前回合数是否超过训练迭代总回合数N,如果超过,结束训练。
[0128] 步骤5、依据训练好的区域交叉口分层信号控制模型对控制区域进行联合协同控制,对区域内各交叉口在下一阶段所要采用的相位进行集中管控分配。
[0129] 具体为,交通网络运行时,每个时间步长step,对每个交叉口,利用步骤2.1构建的Actor网络模型求解下阶段选择各个动作的概率,并提取出概率前2的动作,对每个交叉口k的前2动作进行排列组合,即如果协调控制区域内交叉口的数量为k,共有2种排列组合方式,对于每一种组合方式都会对应一个特征矩阵H,将该特征矩阵代入步骤2.2构建的图卷积神经网络模型中求出控制区域通过车辆总数的预测值gout,选择最大的gout所对应的动作排列组合方式,即为该区域统筹控制的动作组合,将其应用到区域内的各自交叉口中,获取该区域的最优控制方式。本示例中,k=9,即从512种交叉口信号控制方案中找到控制效果最好的方案进行区域控制。
[0130] 以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。