CN116137103B - 基于图元学习和深度强化学习的大规模交通灯信号控制方法 - Google Patents

基于图元学习和深度强化学习的大规模交通灯信号控制方法 Download PDF

Info

Publication number
CN116137103B
CN116137103B CN202310135757.0A CN202310135757A CN116137103B CN 116137103 B CN116137103 B CN 116137103B CN 202310135757 A CN202310135757 A CN 202310135757A CN 116137103 B CN116137103 B CN 116137103B
Authority
CN
China
Prior art keywords
training
node
traffic
network
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310135757.0A
Other languages
English (en)
Other versions
CN116137103A (zh
Inventor
张亚
周志成
张辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN202310135757.0A priority Critical patent/CN116137103B/zh
Publication of CN116137103A publication Critical patent/CN116137103A/zh
Application granted granted Critical
Publication of CN116137103B publication Critical patent/CN116137103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/07Controlling traffic signals
    • G08G1/081Plural intersections under common control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/095Traffic lights
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B20/00Energy efficient lighting technologies, e.g. halogen lamps or gas discharge lamps
    • Y02B20/40Control techniques providing energy savings, e.g. smart controller or presence detection

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明公开了一种基于图元学习和深度强化学习的大规模交通灯信号控制方法,使用交通灯的相位和进入车道的队列长度作为状态值,交通灯的相位作为输出值,将交通路网建模成图结构数据,每个交通灯都为一个节点,并对该路网中每个节点提取多跳邻居节点形成以该节点为中心的子图,再使用基于局部子图的图元学习方法进行深度强化学习训练,使智能体能够根据路网实时状况,进行智能信号控制;本发明适用于一千个以上交通灯的大规模场景,利用基于局部子图的图元学习的优势,将小规模路网中训练的模型迁移至大规模交通灯的场景,减小了大规模路网的训练难度,提高了训练效率。

Description

基于图元学习和深度强化学习的大规模交通灯信号控制方法
技术领域
本发明属于智能交通控制技术领域,主要涉及了一种基于图元学习和深度强化学习的大规模交通灯信号控制方法。
背景技术
交通信号控制是一个重要而具有挑战性的现实问题,其目的是通过协调车辆在十字路口的运动来最小化车辆的行驶时间。现在城市里所广泛使用的交通信号控制系统都依赖人工设计,这种方法配时效率比较低,不够灵活。深度强化学习这类机器学习算法越来越受到关注,多种深度多智能体强化学习算法不断被提出,以优化给定场景中多个智能体的对抗与合作。深度多智能体强化学习被研究用于智能交通信号控制,这类方法灵活,不需要依赖人工配时。目前用于交通信号控制的深度强化学习模型大多基于DQN框架,比如IG-RL、CoLight、PressLight、FRAP、MPLight。选择合适的状态定义和奖励定义是强化学习用于交通信号控制的重要环节,所选择的状态量要能准确快速地反应交通路网的情况,经常使用的状态值有队列长度、等待时间、交通灯相位等。需要找到能反应智能体学习目标的因素作为奖励函数,奖励函数的设计常常考虑队列长度、等待时间、吞吐量等。动作定义通常考虑选择一个交通灯相位,基于DQN框架的模型会根据对应交通灯相位的各个动作的Q值选取动作。为了让智能体充分捕捉路网的结构信息,一些模型采用了图神经网络算法,将路网表示成图结构数据,CoLight把每个交叉口都用一个节点表示,用GAT来考虑邻居交叉口的时空影响。
这些技术大多只考虑小规模的交通路网场景,难以用于大规模的场景,CoLight可以用于196个交通灯的场景,但未考虑一千以上交通灯的场景,在大规模的多交叉口环境中,交叉口数量庞大,路网复杂,难以训练,智能体更加难以学会合作交流,学习效率大大降低。MPLight考虑了一千个以上交通灯的场景,但是没有考虑将小规模路网训练的模型转移到大规模路网上训练来提高训练效率,减小训练难度。此外,运用图神经网络的模型都把交通路网作为整图来处理,在大规模的场景下,在整图上直接采用图神经网络不能让智能体充分捕捉复杂大路网的结构信息。
发明内容
本发明正是针对现有技术中深度强化学习模型难以用于大规模交通路网场景的问题,提供一种基于图元学习和深度强化学习的大规模交通灯信号控制方法,考虑使用交通灯的相位和进入车道的队列长度作为状态值,交通灯的相位作为输出值,将交通路网建模成图结构数据,每个交通灯都为一个节点,并对该路网中每个节点提取多跳邻居节点形成以该节点为中心的子图,再使用基于局部子图的图元学习方法进行深度强化学习训练,使智能体能够根据路网实时状况,进行智能信号控制;本发明适用于一千个以上交通灯的大规模场景,利用基于局部子图的图元学习的优势,将小规模路网中训练的模型迁移至大规模交通灯的场景,减小了大规模路网的训练难度,提高了训练效率。
为了实现上述目的,本发明采取的技术方案是:基于图元学习和深度强化学习的大规模交通灯信号控制方法,包括如下步骤:
S1:分别对小规模交通路网和大规模交通路网构建图结构数据G=(V,E),V表示节点集合,E表示边集合;对两种交通路网图结构数据中的每个节点提取第1跳到第L跳的邻居节点,形成以该节点为中心的子图;
S2:设置超参数,搭建双深度Q网络,所述双深度Q网络由L层GraphSAGE层和一层全连接层构成;
S3:定义离散控制器对应交通灯底层的控制信号,控制器的动作指令对应交通灯的相位,设计状态值,设计奖励函数;
S4:使用基于局部子图的图元学习方法在小规模交通路网上进行深度强化学习训练,得到训练后的模型;
S5:将步骤S4中在小规模交通路网上训练的模型转移到大规模交通路网上,继续用基于局部子图的图元学习方法进行深度强化学习训练,实现交通信号灯的控制。
作为本发明的一种改进,所述步骤S1中的节点为交通路网中的交通灯,若两个交通灯有道路连接,则在图结构数据中对应这两个交通灯的节点之间有无向边连接;以每个节点i为中心节点ncenter(i)提取第1跳到第L跳邻居节点,形成以该节点为中心的子图Ui=(Vi,Ei),同时获得该中心节点在所在子图节点集合ui中的索引indexi
作为本发明的一种改进,所述步骤S2的双深度Q网络中,初始化内环参数θinner,内环目标参数外环参数θmeta和外环目标参数/>置时间步数tstep为0,初始化ε-greedy算法中ε值,初始化经验回放池D,设置经验回放池上限Dmax
作为本发明的一种改进,所述步骤S3的状态值设置为该智能体所控制的交通灯的相位和该交通灯路口进入车道的队列长度;奖励函数设置为交通灯路口所有进入车道的队列长度之和的相反数,即其中ri表示智能体i的奖励,/>是交叉口i进入车道的集合,q(l)表示车道l的队列长度。
作为本发明的另一种改进,所述步骤S4具体包括:
S41:路网中每个交叉口都由一个智能体控制,每个智能体是参数共享的,收集小规模路网的交通数据,对交通数据进行处理,生成交通路网中各个交通灯的状态值s={s1,s2,…,si,…},其中表示智能体i也即i节点的状态值,e是节点状态值的特征维数;根据小规模路网子图集合{U1,U2,…,Uk,…},得到输入节点集合{u1,u2,…,uk,…}以及对应的状态集合/>其中uk表示第k个子图的节点集合/>对每个子图Uk,累加计算出前k-1个子图{U1,U2,…,Uk-1}的节点数之和sumk=n1+n2+…+nk-1,其中ni表示子图Ui的节点数之和,接着把该子图的中心节点ncenter(k)∈uk在所在子图节点集合uk中的索引indexk加上sumk,得到该中心节点在所有输入节点集合{u1,u2,…,uk,…}中的索引/>将子图状态值/>和子图集合{U1,U2,…,Uk,…}输入双深度Q网络,经过L层GraphSAGE层前向传播得到所有输入节点的变换后特征/> 其中一层GraphSAGE的前向传播表达式如下:
其中mean表示平均聚合操作,表示i节点在子图Uk上第l+1次变换后的特征,表示i节点在子图Uk上第l+1次变换前的特征,/>Nk(i)表示i节点在子图Uk上的邻居节点的集合,/>表示i节点在子图Uk上对邻居节点第l次变换后的特征信息的聚合,σ表示ReLU激活函数,/>和/>是要学习的权重矩阵和偏置向量,c是隐藏层神经元数,concat表示拼接操作;然后再根据索引/>得到对应中心节点ncenter(k)变换后的特征featurek;最后将特征featurek经过一层全连接层前向传播得到各动作的Q值qk,该步骤中得到Q值的过程使用的神经网络参数都是内环参数,表达式如下:
其中,和/>是要学习的权重矩阵和偏置向量,v是交通灯相位的个数,/>利用ε-greedy算法得到所有交通灯的动作,交通灯根据这些动作进行行动选择相应的相位,交通路网进入到一个新的状态并返回奖励,将上一时间步的状态、动作、新的状态、奖励/>存入经验回放池D,ai是i节点的动作,ri是i节点的奖励,D达到上限Dmax则删除早期经验,减少ε的值,tstep加1;当tstep没有到达内环训练步数频次也没有到达外环训练步数频次时,返回步骤S41开始;当tstep到达内环训练步数频次时,进入步骤S42;当tstep到达外环训练步数频次时,进入步骤S43;当tstep既到达内环训练步数频次又到达外环训练步数频次时,先执行步骤S42,再执行步骤S43;当tstep到达测试步数频次时,执行步骤S44;
S42:内环训练更新的是内环参数θinner和内环目标参数从D中抽取训练数据根据Double DQN公式进行神经网络的更新,更新公式如下:
其中,T是这次更新中所含训练数据的总的时间步,Wt是本次更新所用训练数据中t时间步的节点集合,是目标值,/> 是k节点在t时间步的状态值,/>是相对/>下一个时间步的状态,/>是i节点在t时间步的动作,ri t是i节点在t时间步的回报,γ是折扣,α是内环训练学习率,β为标准化系数,/>表示损失函数,/>表示损失函数的梯度,返回步骤S41;
S43:外环训练更新的是外环参数θmeta和外环目标参数从D中抽取训练数据,采用步骤S42中的更新方法进行外环参数更新,更新公式中θinner都换成θmeta并且最后一步换成/>其中λ是外环训练学习率;外环目标网络参数/>使用z次更新前的外环估值网络参数θmeta,如果更新不足z次的,使用初始外环估值网络参数,z为外环目标网络更新频数;当外环网络更新后内环参数θinner被替换为最新的外环参数θmeta,内环目标网络参数/>也被替换为最新的外环目标网络参数/>并且在下一次外环更新前的内环更新都不改变内环目标网络参数,返回步骤S41;
S44:内环参数θinner初始化为最新的元学习参数θmeta,内环目标网络参数也被替换为最新的外环目标网络参数/>测试阶段也会进行训练,但只会进行内环训练,不会进行外环训练,智能体根据Q值贪婪地选择动作,不会存经验到D,其他部分和步骤S41一样,到达大规模路网训练时间后进入步骤S5。
作为本发明的一种改进,所述步骤S5的深度强化学习训练中,置tstep为0,初始化ε-greedy算法中ε值,初始化D,设置Dmax,将步骤S4训练得到的外环参数θmeta作为初始外环参数和初始内环参数,外环目标参数作为初始外环目标参数和初始内环目标参数。
与现有技术相比,本发明具有的有益效果:
(1)将交通路网构建成图结构数据,用图神经网络GraphSAGE层进行图信息的处理,获取路网中不同交叉口的连接位置关系,一个交叉口节点聚合邻居交叉口节点的信息,加快多交叉口场景下智能体之间的交流合作学习,加快训练。
(2)对该路网中每个节点提取第1跳到第L跳邻居节点形成以该节点为中心的子图,图神经网络处理的不是整图,而是子图,减小了图输入规模,提高迁移到大规模路网上的性能。
(3)本发明的网络训练分为内环训练和外环训练,可以让网络训练得更好,在迁移到新场景下能训练得更快。在小规模路网上训练的模型迁移到大规模路网上继续训练,利用使用局部子图的图元学习算法的特点,减小了大规模路网的训练难度,提高了训练效率。
附图说明
图1是本发明方法的算法框图;
图2是本发明方法的步骤流程图;
图3是本发明实施例2中实施环境交叉口的示例图;
图4是本发明实施例2中八个交通移动信号的示例图;
图5是本发明实施例2中交通相位的示例图;
图6-9是本发明实施例2中仿真结果图;
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
实施例1
本发明提供了一种基于图元学习和深度强化学习的大规模交通灯信号控制方法,总体算法网络结构和流程图如图1和图2所示。
CityFlow是一个针对城市大规模交通场景的多智能体强化学习环境,它能灵活地提供各种路网场景与交通流设置。本实施例中利用CityFlow环境进行仿真验证。场景有真实4×4杭州路网场景、真实28×7纽约路网场景、模拟25×40大规模路网场景,其中杭州和纽约场景都各采用两种不同的真实交通流数据。
仿真验证有两个环节,第一个环节是直接在每个场景的每种交通流情况下进行训练,第二个环节是将在小规模路网杭州场景训练好的模型迁移至25×40大规模路网训练。本发明设置的强化学习智能体状态为交通灯的相位和交通灯进入车道的队列长度,奖励设置为所控制的交通灯的所有进入车道的队列长度之和的相反数,交互时CityFlow会把实时的状态数据传给智能体,智能体将决策产生动作传给CityFlow,CityFlow将会给每个交叉口红绿灯一个相位并执行10s,10s过后将有5s的红灯,红灯过后,报酬和新的实时状态数据被传给智能体,智能体再进行决策产生动作。本实施例仿真实验使用的CityFlow场景中的车辆可以直行、左转和右转,直行和左转受红绿灯控制,右转不受红绿灯控制,右转车辆到了交叉路口就可右转。进入路网的车辆会按照预先设定好的速度和路线行进直到驶离路网。一个时间步对应15s时间。
每个交叉口都有24个车道与它连接,12个进入车道与12个出去车道,如图3所示,标数字的是12个进入车道。这12个进入车道每3个为一组,一组中3个车道分别代表了左转、直行和右转,进入这个交叉口的车必须选择相应的车道来进行转弯或直行。
在虚拟25×40大规模路网场景中,每个车道的长度是300米,宽度是4米,车辆的相关参数设置如下表所示:
车辆预先的轨迹包括一路向北、南、西、东直行,还包括直行接左转接直行接右转循环行进直至抵达终点以及直行接右转接直行接左转循环行进直至抵达终点。一路直行轨迹的车辆进入路网频次为19500辆每300秒,其他轨迹的车辆进入路网频次为1200辆每300秒。
真实杭州和纽约场景的路网和交通流数据来自公开数据集[https://trafficsignal-control.github.io]。所有仿真实验都用随机种子进行了五次,结果取五次的平均值。
车辆的通行时间定义为离开路网和进入路网的时间差。平均通行时间定义为所有已离开路网的车辆的通行时间的平均值。本发明的目标是通过控制交通灯相位,减少路网交通拥堵,提高强化学习报酬,最小化路网平均通行时间。
基于上述目标,本发明的具体步骤如下,如图2所示:
步骤S1:对小规模路网和大规模路网构建图结构G=(V,E),V表示节点集合,E表示边集合,其中把交通路网中的每个交通灯作为图结构的一个节点,再根据交通路网的结构定义图结构的边:如果在交通路网中两个交通灯有道路连接,那么在图结构中对应这两个交通灯的节点之间就有无向边连接;图结构数据构建好之后,以每个节点i为中心节点ncenter(i)提取第1跳到第L跳邻居节点,形成以该节点为中心的子图Ui=(Vi,Ei),同时获得该中心节点在所在子图节点集合ui中的索引indexi
步骤S2:设置超参数,搭建双深度Q网络,网络由L层GraphSAGE层和一层全连接层构成,它的输入是步骤S1中构建的子图和所有这些子图中输入节点的状态,输出是对应步骤S3中所述每个动作的Q值,网络结构在图1中体现,初始化内环参数θinner,内环目标参数外环参数θmeta,外环目标参数/>将θinner、/>和/>的初始值都置为θmeta的初始值,置时间步数tstep为0,一个时间步表示所有智能体动作一次,初始化ε-greedy算法中ε值,初始化经验回放池D,设置经验回放池上限Dmax,初始化一幕经验回放池D’,D’只保存当幕的经验,设置D’上限D’max,初始化训练幕数epi为0,设置幕数上限epimax
步骤S3:深度强化学习离散控制器定义了对应交通灯相位的动作指令,每个动作对应交通灯的一个相位,交通灯会根据控制器发出的动作指令选择相应的相位;强化学习智能体的状态设置为该智能体所控制的交通灯的相位和该交通灯路口进入车道的队列长度;强化学习智能体的奖励设置为该智能体所控制的交通灯路口所有进入车道的队列长度之和的相反数即其中ri表示智能体i的奖励,/>是交叉口i进入车道的集合,q(l)表示车道l的队列长度。
步骤S4:定义一幕为3600s,置此刻时间t为0s,初始化交通环境,路网中每个交叉口都由一个智能体控制,每个智能体是参数共享的,使用基于局部子图的图元学习方法在小规模路网上进行深度强化学习训练时,具体包括以下几个步骤:
步骤S41:收集该小规模路网的交通数据,对交通数据进行处理,生成交通路网中各个交通灯的状态值s={s1,s2,…,si,…},其中表示智能体i也即i节点的状态值,e是节点状态值的特征维数;根据步骤1生成的小规模路网子图集合{U1,U2,…,Uk,…},得到输入节点集合{u1,u2,…,uk,…}以及对应的状态集合/>其中uk表示第k个子图的节点集合,/> 对每个子图Uk,累加计算出前k一1个子图{U1,U2,…,Uk-1}的节点数之和sumk=n1+n2+…+nk-1,其中ni表示子图Ui的节点数之和,接着把该子图的中心节点ncenter(k)∈uk在所在子图节点集合uk中的索引indexk加上sumk,得到该中心节点在所有输入节点集合{u1,u2,…,uk,…}中的索引/> 神经网络接收到子图状态值/>后,经过步骤S2中的L层GraphSAGE层前向传播得到所有输入节点的变换后特征/> 其中一层GraphSAGE的前向传播表达式如下:
其中mean表示平均聚合操作,表示i节点在子图Uk上第l+1次变换后的特征,表示i节点在子图Uk上第l+1次变换前的特征,/>Nk(i)表示i节点在子图Uk上的邻居节点的集合,/>表示i节点在子图Uk上对邻居节点第l次变换后的特征信息的聚合,σ表示ReLU激活函数,/>和/>是要学习的权重矩阵和偏置向量,c是隐藏层神经元数,concat表示拼接操作;然后再根据索引/>得到对应中心节点ncenter(k)变换后的特征featurek;最后将特征featurek经过一层全连接层前向传播得到对应步骤S3中所述各动作的Q值qk,该步骤中得到Q值的过程使用的神经网络参数都是内环参数,表达式如下:
其中,和/>是要学习的权重矩阵和偏置向量,v是交通灯相位的个数,/>最后根据得到的Q值利用ε-greedy算法得到所有交通灯的动作,交通灯根据这些动作进行行动选择相应的相位,前述智能体与环境互动的过程在图1中体现,交通路网进入到一个新的状态并返回奖励,将上一时间步的状态、动作、新的状态、奖励存入经验回放池D和D′,ai是i节点的动作,ri是i节点的奖励,D达到上限Dmax则删除一些早期的经验;tstep加1;t增加15;当tstep没有到达内环训练步数频次也没有到达外环训练步数频次时,返回该步骤开始;当tstep到达内环训练步数频次时,进入步骤S42;当tstep到达外环训练步数频次时,进入步骤S43;当tstep既到达内环训练步数频次又到达外环训练步数频次时,先执行步骤S42,再执行步骤S43;当t到达3600s时,置t为0s,置tstep为0,初始化交通环境,清空D’,将最新的外环参数θmeta替换θinner,外环目标参数/>替换/>减少ε的值,进入步骤S44。
步骤S42:内环训练更新的是内环参数θinner和内环目标参数在小规模路网上,使用D’里所有样本作为训练数据,对前述训练数据随机分组,对每组数据采用步骤S2中的神经网络得到中心节点的对应步骤S3中所述动作的Q值,然后根据Double DQN公式进行神经网络的更新,更新公式如下:
其中T是这次更新中所含训练数据的总的时间步,Wt是本次更新所用训练数据中t时间步的节点集合,是目标值,/> 是k节点在t时间步的状态值,/>是相对/>下一个时间步的状态,/>是i节点在t时间步的动作,ri t是i节点在t时间步的回报,γ是折扣,α是内环训练学习率,β为标准化系数,γ,α,β是预先给定的,/>表示损失函数,/>表示损失函数的梯度。返回步骤S41;内环训练的过程在图1中体现。
步骤S43:外环训练更新的是外环参数θmeta和外环目标参数外环参数也就是元学习参数,在小规模路网上,从D中抽取训练数据D1,使用训练数据{D1∪D’}采用步骤S42中的更新方法进行外环参数更新,也是对前述训练数据随机分组训练,更新公式中θinner都换成θmeta并且最后一步换成/> 其中λ是外环训练学习率;外环目标网络参数/>使用z次更新前的外环估值网络参数θmeta,如果更新不足z次的,使用初始外环估值网络参数,z为外环目标网络更新频数;当外环网络更新后内环参数θinner被替换为最新的外环参数θmeta,内环目标网络参数/>也被替换为最新的外环目标网络参数/>并且在下一次外环更新前的内环更新都不改变内环目标网络参数;返回步骤S41;外环训练的过程在图1中体现。
步骤S44:测试时采用内环参数,测试阶段也会进行训练,但只会进行内环训练,不会进行外环训练,智能体根据Q值贪婪地选择动作,不会存经验到D,D’,其他部分和步骤S41一样,此外,当t到达3600s时,保存该次测试得到的交叉口奖励的平均值和路网平均通行时间,置t为0s,置tstep为0,初始化交通环境,清空D’,将最新的外环参数θmeta替换θinner,外环目标参数替换/>epi加1,若epi达到epimax,则进入步骤S5;否则进入步骤S41。
步骤S5:将步骤S4中在小规模路网上训练的模型转移到大规模路网上继续用基于局部子图的图元学习方法进行深度强化学习训练,置tstep为0,初始化ε-greedy算法中ε值,置t为0s,初始化D,D’,设置经验回放池上限Dmax,D’max,初始化训练幕数epi为0,设置幕数上限epimax,将步骤S4训练得到的外环参数θmeta作为初始外环参数和初始内环参数,外环目标参数作为初始外环目标参数和初始内环目标参数进行深度强化学习训练,训练过程和步骤S4一样,但是使用的子图为步骤1得到的大规模路网各节点子图,此外,当有数据存入D’时,若D’达到上限D’max,则删除早期经验。
将步骤S5中训练得到的模型用于CityFlow中大规模路网场景的交通灯控制,实现交通灯的控制指挥。
实施例2
(1)对4×4路网、28×7路网、25×40路网使用图神经网络模型Python包DGL构建图结构数据G=(V,E),把交通路网中的每个交通灯作为图结构的一个节点,再根据交通路网的结构定义图结构的边,如果在交通路网中两个交通灯有道路连接,那么在图结构中对应这两个交通灯的节点之间就有无向边连接;图结构数据构建好之后,以每个节点i为中心节点ncenter(i)提取第1跳和第2跳邻居节点,形成以该节点为中心的子图Ui=(Vi,Ei),同时获得该中心节点在所在子图节点集合ui中的索引indexi
(2)设置超参数,小规模路网中内环训练epoch为5,外环训练epoch为30,大规模路网中内环训练epoch为2,外环训练epoch为10,内环训练间隔时间步数为20,外环训练间隔时间步数为60,隐藏层神经元数为64,α,λ都为0.001,公式(4)中β为20,目标网络替换频数z为5,γ为0.8,ε初始化为0.8,在收集训练数据时每经过一幕e减少5%,ε最小值为0.2,设置经验回放池上限Dmax为3000,设置幕数上限epimax为80,搭建由两层GraphSAGE层和一层全连接层构成的神经网络,初始化元学习参数θmeta,GraphSAGE层的权重初始值服从Xavier初始化均匀分布,全连接层的权重初始值服从Kaiming初始化分布,偏置初始值为0,内环参数θinner,内环目标参数外环目标参数/>也用前述规则初始化,将θinner、/>和/>的初始值都置为θmeta的初始值,置时间步数tstep为0,初始化经验回放池D,初始化一幕经验回放池D’,D和D’中的1容量涵盖了那个时间步t路网所有节点的经验/>初始化训练幕数epi为0。
(3)定义深度强化学习控制器的四个动作指令,分别对应交通灯的四个相位,交通灯的四个相位为南北直行、东西直行、南北左转、东西左转,交通灯会根据控制器发出的动作指令选择相应的相位。强化学习智能体的状态设置为该智能体所控制的交通灯的相位和该交通灯路口进入车道的队列长度;强化学习智能体的奖励设置为该智能体所控制的交通灯路口所有进入车道的队列长度之和的相反数。
(4)使用CityFlow交通模拟器,使用4×4路网或28×7路网地图,每一幕时间为3600s,置此刻时间t为0s,初始化CityFlow环境。路网中每个交叉口都由一个智能体控制,每个智能体是参数共享的。
(5)智能体与交通模拟器CityFlow交互,接收CityFlow传来的交通数据,对交通数据进行处理,生成交通路网中各个交通灯的状态值state,state是20维向量<m1,…,m8,q1,…,q12>,其中m表示八个交通移动信号,如图4所示,q表示的是进入车道的队列长度,12个进入车道如图3所示,采取步骤S41得到(3)中所述四个动作的Q值,再根据Q值利用ε-greedy算法得到所有交通灯的动作,将这些动作输入给交通模拟器CityFlow,CityFlow根据这些动作进行行动,交通路网会进入到一个新的状态并返回奖励,将所有节点的上一时间步的状态、动作、新的状态、奖励存入经验回放池D和D′,ai是i节点的动作,ri是i节点的奖励,D达到上限3000会删除一些早期的经验;tstep加1;t增加15s;当tstep没有到达内环训练步数间隔20也没有到达外环训练步数间隔60时,返回该步骤开始;当tstep到达内环训练步数间隔20时,进入(6);当tstep到达外环训练步数间隔60时,进入(7);当tstep既到达内环训练步数步数间隔20又到达外环训练步数间隔60时,先执行(6),再执行(7);当t到达3600s时,置t为0s,置tstep为0,初始化CityFlow环境,清空D’,将最新的外环参数θmeta替换θinner,外环目标参数/>替换/>ε减少5%,但不小于0.2,进入(8)。
(6)内环训练更新的是内环参数θinner和内环目标参数使用D’里所有样本作为训练数据,对前述训练数据随机分组,对每组数据根据(4)、(5)、(6)公式进行训练,训练epoch为5,返回(5)。
(7)外环训练更新的是外环参数θmeta和外环目标参数外环参数也就是元学习参数,从D中抽取训练数据D1,D1容量为240,使用训练数据{D1∪D’},随机分组对每组数据根据(4)、(5)、(6)公式进行训练,更新公式中θinner都换成θmeta并且最后一步换成训练epoch为30;外环目标网络参数/>使用5次更新前的外环估值网络参数θmeta,如果更新不足5次的,使用初始外环估值网络参数;当外环网络更新后内环参数θinner被替换为最新的外环参数θmeta,内环目标网络参数/>也被替换为最新的外环目标网络参数/>并且在下一次外环更新前的内环更新都不改变内环目标网络参数;返回(5)。
(8)测试时采用内环参数,测试阶段也会进行训练,但只会进行内环训练,不会进行外环训练,智能体根据Q值贪婪地选择动作,不会存经验到D,D’,其他部分和(5)一样,此外,当t到达3600s时,保存该次测试得到的交叉口奖励的平均值和路网平均通行时间,置t为0s,置tstep为0,初始化CityFlow环境,清空D’,将最新的外环参数θmeta替换θinner,外环目标参数替换/>epi加1,若epi达到80,则进入(9);否则进入(5)。
(9)进行结果比较。作为比较的方法有Fixedtime:交通灯执行预先设定的包含相位序列和持续时间的控制方案;CoLight:使用GAT来获取邻接交叉口的时间和空间的影响的深度强化学习方法;QL-DQN:把队列长度和当前相位作为状态,把队列长度作为奖励。每一个交叉口由一个智能体控制,智能体之间是参数共享的,一个智能体不能观察邻居智能体的信息;GCN:与QL-DQN相比,神经网络架构替换为两层GCN和一层全连接层,GCN会提取相邻路口的信息,其他设置比如参数共享与QL-DQN相同;GraphSAGE:与QL-DQN相比,神经网络架构被替换为两层GraphSAGE和一层全连接层。GraphSAGE层中的聚合器类型是取平均,其他设置与QL-DQN相同;GMSLight是我们的发明。Fixedtime采用的是八相位设置,其他都采用的是四相位设置如图5。纵坐标reward表示交叉口奖励的平均值。纵坐标travel time表示平均通行时间。曲线的横坐标episode表示幕,我们让两个幕之间不同算法训练所使用的数据量Depisode基本相同。Depisode指的是集合的数目。在4×4路网上两幕之后,GMSLight的Depisode是7680,其他方法Depisode是8000。在28×7路网上一幕之后,QL-DQN的Depisode是80000,其他方法的Depisode是94080。在25×40路网上一幕之后,所有方法的Depisode都是300000。图6和图7是在两个杭州交通流数据集上的结果,和其他方法相比,GMSLight取得了最高的奖励和最低的平均通行时间。图6显示了GMSLight在10幕之后比CoLight学的更快,在42幕之后GMSLight非常稳定。图8是在两个纽约交通流数据集上的结果。进入(10)。
(10)将前述在4×4路网上训练得到的元学习参数θmeta作为初始外环参数和初始内环参数,外环目标参数作为初始外环目标参数和初始内环目标参数在25×40路网上进行深度强化学习训练,置tstep为0,初始化ε-greedy算法中ε值为0.8,置t为0s,初始化D,D’,设置经验回放池上限Dmax为2000,D’max为150,当有数据存入D’时,若D’达到上限D’max,则删除早期经验,初始化训练幕数epi为0,epimax改为15,外环训练时从D中抽取训练数据D1,D1容量改为150,使用的子图为步骤(1)得到的25×40路网各节点子图,其他部分与(5)中进行的深度强化学习一样。若epi达到15,则进行结果比较。转移训练的结果如图9所示,跟其他算法相比,GMSLight获得了最好的效果,并且经过一开始的少量训练就取得很好效果,不同算法在相同横坐标间隔使用的数据量大致相同,GMSLight学习效率更高。
(11)将(10)中训练得到的模型用于CityFlow中大规模路网场景的交通灯控制。
需要说明的是,以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰均落入本发明权利要求书的保护范围之内。

Claims (1)

1.基于图元学习和深度强化学习的大规模交通灯信号控制方法,其特征在于,包括如下步骤:
S1:分别对小规模交通路网和大规模交通路网构建图结构数据G=(V,E),V表示节点集合,E表示边集合;对两种交通路网图结构数据中的每个节点提取第1跳到第L跳的邻居节点,形成以该节点为中心的子图;其中,节点为交通路网中的交通灯,若两个交通灯有道路连接,则在图结构数据中对应这两个交通灯的节点之间有无向边连接;以每个节点i为中心节点ncent er(i)提取第1跳到第L跳邻居节点,形成以该节点为中心的子图Ui=(Vi,Ei),同时获得该中心节点在所在子图节点集合ui中的索引indexi
S2:设置超参数,搭建双深度Q网络,所述双深度Q网络由L层GraphSAGE层和一层全连接层构成;双深度Q网络中,初始化内环参数θinner,内环目标参数外环参数θmet a和外环目标参数/>置时间步数tstep为0,初始化ε-greedy算法中ε值,初始化经验回放池D,设置经验回放池上限Dmax
S3:定义离散控制器对应交通灯底层的控制信号,控制器的动作指令对应交通灯的相位,设计状态值,设计奖励函数;状态值设置为智能体所控制的交通灯的相位和该交通灯路口进入车道的队列长度;奖励函数设置为交通灯路口所有进入车道的队列长度之和的相反数,即其中ri表示智能体i的奖励,/>是交叉口i进入车道的集合,q(l)表示车道l的队列长度;
S4:使用基于局部子图的图元学习方法在小规模交通路网上进行深度强化学习训练,得到训练后的模型;所述步骤具体包括:
S41:路网中每个交叉口都由一个智能体控制,每个智能体是参数共享的,收集小规模路网的交通数据,对交通数据进行处理,生成交通路网中各个交通灯的状态值s={s1,s2,…,si,…},其中表示智能体i也即i节点的状态值,e是节点状态值的特征维数;根据小规模路网子图集合{U1,U2,…,Uk,…},得到输入节点集合{u1,u2,…,uk,…}以及对应的状态集合/>其中uk表示第k个子图的节点集合/>对每个子图Uk,累加计算出前k-1个子图{U1,U2,…,Uk-1}的节点数之和sumk=n1+n2+…ni+…+nk-1,其中ni表示子图Ui的节点数之和,接着把该子图的中心节点ncenter(k)∈uk在所在子图节点集合uk中的索引indexk加上sumk,得到该中心节点在所有输入节点集合{u1,u2,…,uk,…}中的索引/>将子图状态值/>和子图集合{U1,U2,…,Uk,…}输入双深度Q网络,经过L层GraphSAGE层前向传播得到所有输入节点的变换后特征/> 其中一层GraphSAGE的前向传播表达式如下:
其中mean表示平均聚合操作,表示i节点在子图Uk上第l+1次变换后的特征,/>表示i节点在子图Uk上第l+1次变换前的特征,/>Nk(i)表示i节点在子图Uk上的邻居节点的集合,/>表示i节点在子图Uk上对邻居节点第l次变换后的特征信息的聚合,σ表示ReLU激活函数,/>和/>是要学习的权重矩阵和偏置向量,c是隐藏层神经元数,concat表示拼接操作;然后再根据索引/>得到对应中心节点ncenter(k)变换后的特征featurek;最后将特征featurek经过一层全连接层前向传播得到各动作的Q值qk,步骤中得到Q值的过程使用的神经网络参数都是内环参数,表达式如下:
其中,和/>是要学习的权重矩阵和偏置向量,v是交通灯相位的个数,/>利用ε-greedy算法得到所有交通灯的动作,交通灯根据这些动作进行行动选择相应的相位,交通路网进入到一个新的状态并返回奖励,将上一时间步的状态、动作、新的状态、奖励/>存入经验回放池D,ai是i节点的动作,ri是i节点的奖励,D达到上限Dmax则删除早期经验,减少ε的值,tstep加1;当tstep没有到达内环训练步数频次也没有到达外环训练步数频次时,返回步骤S41开始;当tstep到达内环训练步数频次时,进入步骤S42;当tstep到达外环训练步数频次时,进入步骤S43;当tstep既到达内环训练步数频次又到达外环训练步数频次时,先执行步骤S42,再执行步骤S43;当tstep到达测试步数频次时,执行步骤S44;
S42:内环训练更新的是内环参数θin ner和内环目标参数从D中抽取训练数据根据Double DQN公式进行神经网络的更新,更新公式如下:
迭代后的θin ner=迭代前的
其中,T是这次更新中所含训练数据的总的时间步,Wt是本次更新所用训练数据中t时间步的节点集合,是目标值,/> 是k节点在t时间步的状态值,/>是相对/>下一个时间步的状态,/>是i节点在t时间步的动作,ri t是i节点在t时间步的回报,γ是折扣,α是内环训练学习率,β为标准化系数,/>表示损失函数,/>表示损失函数的梯度,返回步骤S41;
S43:外环训练更新的是外环参数θmet a和外环目标参数从D中抽取训练数据,采用步骤S42中的更新方法进行外环参数更新,更新公式中θinner都换成θmeta并且最后一步换成迭代后的θmet a=迭代前的/>其中λ是外环训练学习率;外环目标网络参数/>使用z次更新前的外环估值网络参数θmet a,如果更新不足z次的,使用初始外环估值网络参数,z为外环目标网络更新频数;当外环网络更新后内环参数θin ner被替换为最新的外环参数θmeta,内环目标网络参数/>也被替换为最新的外环目标网络参数/>并且在下一次外环更新前的内环更新都不改变内环目标网络参数,返回步骤S41;
S44:内环参数θinner初始化为最新的元学习参数θmeta,内环目标网络参数也被替换为最新的外环目标网络参数/>测试阶段也会进行训练,但只会进行内环训练,不会进行外环训练,智能体根据Q值贪婪地选择动作,不会存经验到D,其他部分和步骤S41一样,到达大规模路网训练时间后进入步骤S5;
S5:将步骤S4中在小规模交通路网上训练的模型转移到大规模交通路网上,继续用基于局部子图的图元学习方法进行深度强化学习训练,实现交通信号灯的控制;深度强化学习训练中,置tstep为0,初始化ε-greedy算法中ε值,初始化D,设置Dmax,将步骤S4训练得到的外环参数θmet a作为初始外环参数和初始内环参数,外环目标参数作为初始外环目标参数和初始内环目标参数。
CN202310135757.0A 2023-02-20 2023-02-20 基于图元学习和深度强化学习的大规模交通灯信号控制方法 Active CN116137103B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310135757.0A CN116137103B (zh) 2023-02-20 2023-02-20 基于图元学习和深度强化学习的大规模交通灯信号控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310135757.0A CN116137103B (zh) 2023-02-20 2023-02-20 基于图元学习和深度强化学习的大规模交通灯信号控制方法

Publications (2)

Publication Number Publication Date
CN116137103A CN116137103A (zh) 2023-05-19
CN116137103B true CN116137103B (zh) 2023-12-08

Family

ID=86334516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310135757.0A Active CN116137103B (zh) 2023-02-20 2023-02-20 基于图元学习和深度强化学习的大规模交通灯信号控制方法

Country Status (1)

Country Link
CN (1) CN116137103B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1154389A1 (de) * 2000-05-10 2001-11-14 DaimlerChrysler AG Verfahren zur Verkehrslagebestimmung für ein Verkehrsnetz
CN1691083A (zh) * 2004-04-14 2005-11-02 王大海 多相位平面交叉路口的交通信号控制系统
CN1766232A (zh) * 2005-11-21 2006-05-03 钱红波 一种新型城市路网与交叉口交通设计与交通控制方法
CN2904157Y (zh) * 2004-04-14 2007-05-23 王大海 多相位平面交叉口的交通信号控制系统
KR20070094362A (ko) * 2006-03-17 2007-09-20 김영대 효율적인 공간 활용을 위한 운송교통로의 축조 방법 및교통 체계의 수립 방법
CN210743199U (zh) * 2019-12-30 2020-06-12 李玉宝 一种公路交通预警安全装置
CN113066160A (zh) * 2021-03-09 2021-07-02 浙江大学 室内移动机器人场景数据及其测试用例的生成方法
CN113269322A (zh) * 2021-05-24 2021-08-17 东南大学 一种基于自适应超参数的深度强化学习改进方法
CN113436443A (zh) * 2021-03-29 2021-09-24 东南大学 一种基于生成对抗网络和强化学习的分布式交通信号控制方法
CN216817730U (zh) * 2021-12-08 2022-06-24 深圳市三笠恒盈科技有限公司 一种道路交通岛用led交通诱导显示屏
CN115221722A (zh) * 2022-07-28 2022-10-21 北京百度网讯科技有限公司 自动驾驶车辆的仿真测试方法、模型训练方法和设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022040366A1 (en) * 2020-08-18 2022-02-24 IntelliShot Holdings, Inc. Automated threat detection and deterrence apparatus

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1154389A1 (de) * 2000-05-10 2001-11-14 DaimlerChrysler AG Verfahren zur Verkehrslagebestimmung für ein Verkehrsnetz
CN1691083A (zh) * 2004-04-14 2005-11-02 王大海 多相位平面交叉路口的交通信号控制系统
CN2904157Y (zh) * 2004-04-14 2007-05-23 王大海 多相位平面交叉口的交通信号控制系统
CN1766232A (zh) * 2005-11-21 2006-05-03 钱红波 一种新型城市路网与交叉口交通设计与交通控制方法
KR20070094362A (ko) * 2006-03-17 2007-09-20 김영대 효율적인 공간 활용을 위한 운송교통로의 축조 방법 및교통 체계의 수립 방법
CN210743199U (zh) * 2019-12-30 2020-06-12 李玉宝 一种公路交通预警安全装置
CN113066160A (zh) * 2021-03-09 2021-07-02 浙江大学 室内移动机器人场景数据及其测试用例的生成方法
CN113436443A (zh) * 2021-03-29 2021-09-24 东南大学 一种基于生成对抗网络和强化学习的分布式交通信号控制方法
CN113269322A (zh) * 2021-05-24 2021-08-17 东南大学 一种基于自适应超参数的深度强化学习改进方法
CN216817730U (zh) * 2021-12-08 2022-06-24 深圳市三笠恒盈科技有限公司 一种道路交通岛用led交通诱导显示屏
CN115221722A (zh) * 2022-07-28 2022-10-21 北京百度网讯科技有限公司 自动驾驶车辆的仿真测试方法、模型训练方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于主线拥堵场景的快速路级联信号控制方法;代磊磊;刘东波;华璟怡;徐棱;王波;;交通运输系统工程与信息(04);全文 *

Also Published As

Publication number Publication date
CN116137103A (zh) 2023-05-19

Similar Documents

Publication Publication Date Title
CN112700664B (zh) 一种基于深度强化学习的交通信号配时优化方法
CN112216124B (zh) 一种基于深度强化学习的交通信号控制方法
CN111243299B (zh) 一种基于3dqn_pser算法的单交叉口信号控制方法
CN110060475A (zh) 一种基于深度强化学习的多交叉口信号灯协同控制方法
CN111696370A (zh) 基于启发式深度q网络的交通灯控制方法
CN112365724B (zh) 一种基于深度强化学习的连续交叉口信号协同控制方法
CN110794842A (zh) 基于势场的强化学习路径规划算法
CN109215355A (zh) 一种基于深度强化学习的单点交叉口信号配时优化方法
CN113223305B (zh) 基于强化学习的多路口交通灯控制方法、系统及存储介质
CN113643553B (zh) 基于联邦强化学习的多路口智能交通信号灯控制方法及系统
CN115691167A (zh) 一种基于交叉口全息数据的单点交通信号控制方法
CN114613169B (zh) 一种基于双经验池dqn的交通信号灯控制方法
Ye et al. Fedlight: Federated reinforcement learning for autonomous multi-intersection traffic signal control
CN113392577B (zh) 一种基于深度强化学习的区域边界主交叉口信号控制方法
CN113724507B (zh) 基于深度强化学习的交通控制与车辆诱导协同方法和系统
CN113299079B (zh) 一种基于ppo和图卷积神经网络区域交叉口信号控制方法
CN113276852B (zh) 一种基于最大熵强化学习框架的无人驾驶车道保持方法
CN115019523A (zh) 基于最小化压力差的深度强化学习交通信号协调优化控制方法
Hussain et al. Optimizing traffic lights with multi-agent deep reinforcement learning and v2x communication
CN116137103B (zh) 基于图元学习和深度强化学习的大规模交通灯信号控制方法
Mukhtar et al. CCGN: Centralized collaborative graphical transformer multi-agent reinforcement learning for multi-intersection signal free-corridor
CN111507499B (zh) 预测用模型的构建方法、测试方法、装置及系统
CN110021168B (zh) 一种车联网下实现实时智能交通管理的分级决策方法
CN115273502B (zh) 一种交通信号协同控制方法
CN117133138A (zh) 一种多交叉口交通信号协同控制方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant