一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于群体智能强化学习的交通信号灯优化方法与流程

2021-11-10 03:50:00 来源:中国专利 TAG:


1.本发明属于人工智能(强化学习)领域,特别涉及一种基于群体智能强化学习的交通信号灯优化方法。


背景技术:

2.领域内总体技术现状描述
3.交通调度过程中,交通信号灯成为控制交通的关键。以往的交通信号灯都处于静态状态,信号灯时长以及切换速度均不能动态更改。而随着交通复杂度提高,交通信号灯时常会造成适得其反的效果。因此将强化学习决策过程加入信号灯控制中,通过道路上检测装置,动态获取环境反馈,决策模型中的状态与奖励处于动态状态,跟随环境反馈而做出适当更改。通过群体智能之间的合作与博弈,做出一个恰当的决策方法。近年来,随着群体智能以及博弈论研究的深入,群体智能已经被用于交通决策中。群体智能的信息交互通过交通拓扑网络传递,即时的信息交互,将让智能体具有对即将到来车流的预见作用,能够提前采取适当决策舒缓交通拥堵。群体智能强化学习中三个关键点:状态与行为以及奖励,这三者如何制定,需要通过不断的接近真实状态的交通模拟获取。
4.与本发明创造最接近的现有技术一
5.现有技术一的技术内容
6.单智能体强化学习发展已经较为成熟,其采用分布式框架,将智能体分别设立在每个道路交叉口,能够独立地对信号灯进行调度控制。因其智能体的独立性和资源占有率较高,获得一定效率提升。随后深度强化学习应运而生,该技术使得强化学习与与具有感知能力的深度学习结合在一起。
7.现有技术一的缺陷
8.单智能体强化学习会因其分布式结构造成协调性较差,信息存在封闭性,不能形成有效的合作。出现突发情况时,单一智能体停止工作,就会造成整个系统的工作停滞甚至崩溃。q学习的学习适合处理离散的状态,并且使用q学习部署到现在的交通环境中,面对单路口环境下,路口的情况有成千上万种,q表的容量有限的,无法统计数以万计的状态,并不适合交通环境。
9.与本发明创造最接近的现有技术二
10.现有技术二的技术内容
11.群体智能强化学习以最大程度地减少车辆行驶时间或多个交叉路口的站点数量例如文献。在常规的多路口环境中可以实现协调通过设置路网的所有交叉点之间的绿灯开始之间的时间间隔。还有些优化的方法例如文献,以最小化车辆的行驶时间和/或多个交叉路口的站点数量,代替优化偏移量或最大压力,旨在最大化网络的吞吐量,从而最小化行程时间。但是很多这样的方法依旧是根据静态环境或者假设来构建的简化交通状况,并不保证实际的运营会有所改善。
12.现有技术二的缺陷
13.随着智能体数量的增长,集中式训练的计算工作量太大;在测试期间。每个智能体都是独立行动的,在动态的环境下智能体的变动需要根据结合周围其他智能体进行上下协调。


技术实现要素:

14.针对现有利用集中式强化学习优化交通组织存在的缺陷,使用分散式的强化学习智能体来控制多路口进行交互。分散式的通讯更加的实用,并不需要集中决策具有良好的伸缩性,但在模型的收敛和速度上往往是很不稳定的。
15.本发明的目的是通过以下技术方案来实现的:
16.基于群体智能强化学习的交通信号灯优化方法,包括以下步骤:
17.s1、将待优化区域的当前交通信号灯配时方案分为具有完全合作关系的n个智能体;其中,s为联合状态,s1,s2,

,s
n
为智能体当前时刻对应的状态,s
1_next
,s
2_next


,s
n_next
为智能体下一时刻对应的状态,o1,o2,

,o
n
为n个智能体对应的观察值,a1,a2,

,a
n
为智能体对应的行为,r0,r1,

,r
n
为n个智能体对应的回报,actor1,actor2,

,actor
n
为n个智能体构造的actor本地网络,ctritic1,critic2,

,critic
n
为n个智能体的actor本地网络对应的critic本地网络,共同构成actor

critic1,actor

critic2,

,actor

critic
n
;actor
global
为全局actor网络,critic
global
为全局critic网络,共同构成actor

critic
global
,下标1,2,

,n为智能体的编号;
18.s2、初始化n个智能体的参数;
19.所述智能体的参数包括s、行为a、td_error;
20.s3、初始化n个智能体对应的actor

critic网络,以及全局actor

critic
global
网络;
21.s4、基于当前n个智能体的参数,将s分别输入到各自actor网络中;各自actor网络分别选择对应智能体的行为a,使环境根据该智能体的状态、行为以及确定的回报函数给出相应的回报r,转移至下一个状态s
next

22.s5、将s3步骤获得的s,a,s
next
作为critic网络的输入,计算获得td_error;
23.s6、更新本地actor

crtic网络的参数和权重;
24.s7、更新全局actor

critic
global
网络的参合和权重;
25.s8、重复s4至s7步骤,直到达到设置的回合次数或智能体完成actor

critic
global
网络所预设的训练目标,得到训练完善的交通信号灯优化模型;
26.s9、通过交通信号灯优化模型对当前交通信号灯方案进行优化,获得优化后的交通信号灯方案。
27.作为优选方式,所述步骤s2中状态s设定包括:状态s利用当前相位序列号idphase、当前相位对应配时duration以及当前红绿灯路口汇入道路车辆排位长度queue这三个值综合计算获得;
28.每个指标取相应的factor进行数据加权处理利于训练结果的收敛,factor1为idphase权重,factor2为duration权重,factor3为queue权重,具体状态空间取值公式为:
29.s=idphase*factor1 duration*factor2 queue*factor3;
30.其中factor1=len(green_list),green_list意思是环境中所有交通信号灯,len
(green_list)即表示环境中所有交通信号灯的个数;
31.factor1取相位中绿灯相位个factor2,factor3根据测试结果取整数。
32.作为优选方式,当前相位对应配时数据需做一定离散化处理,便于后期收敛;具体离散处理如下:
[0033][0034]
作为优选方式,所述步骤s2中行为a设定包括:
[0035]
获取动作a,动作a表示下一状态红绿灯即将变更到的相位,长度为独立红绿灯相位个数,状态空间a利用one

hot编码方式,能够完整表示每一个相位。
[0036]
作为优选方式,所述步骤s4中n个智能体分别进行actor

critic网络训练包括以下步骤:
[0037]
a1、初始化状态s和动作矩阵a以及td_error;
[0038]
a2、将s,a,td_error传导进入actor网络中,输出act_prob,因为actor网络基于概率分布选择动作,act_prob即为当前s下,进行所有行为选择的概率分布;并且将act_prob概率分布进行如下取对数转换,利于更快的达到收敛:
[0039]
log_prob=log(act_prob)
[0040]
a3:将由critic网络传入的td_error与a2步骤计算得到的log_prob进行如下计算得到利益导向损失值exp_v;
[0041]
exp_v=reduce_mean(log_prob*td_error)
[0042]
其中,reduce_mean即为神经网络中求平均值。
[0043]
a4:actor基于a2步骤下计算得到的act_prob,提取出具有最大概率的行为a;智能体进行行为a,并从环境中得到对应的奖励反馈,并且智能体状态切换至状态s
next

[0044]
a5:利用梯度下降最大化利益导向损失值exp_v,训练并更新智能体actor网络的参数和权重;
[0045]
a6:将当前状态s以及状态s
next
传入critic网络中,分别获得当前状态价值v和下一状态v
next

[0046]
a7:利用从环境中获取的奖励值r,以及从a6步骤获得的v,v
next
,计算得到td_error,计算公式如下:
[0047]
td_error=r gamma*v
next

v
[0048]
gamma:在强化学习中表示学习率,在强化学习的过程中,gamma越大,衰减越小。这意味着智能体的学习过程更关注于长期的回报。另一方面,更小的gamma,会带来更大的衰减。这意味着智能体更关心于短期的回报。
[0049]
a8:利用a7步骤得到的td_error反向传递给critic网络,用于更新智能体critic网络的参数和权重。
[0050]
a9:利用a5步骤的行为a以及状态s
next
,a7步骤获取的td_error传递给actor网络,利用梯度下降最大化利益导向损失值exp_v,训练并更新智能体actor网络的参数和权重。
[0051]
作为优选方式,所述步骤s4中获取相应的回报r包括以下内容:
[0052]
r=rncr(t) cr*0.3
[0053]
(1)路网畅通率
[0054]
路网畅通率定义为路网在某一时间段t内,交通状态较好的路段里程与路网中所有路段里程的比值,描述了路网总体畅通程度,是路网交通总体运行质量的一个度量,可以用于评价交通管理效果;
[0055][0056]
其中,rncr(t)表示t时间段内的路网畅通率(t可取5min或者3min),n为路网中所包含路段数,l
ij
为第i条路段的长度,k
i
为二值函数,当路段i的交通状态等级属于可接受交通状态时,k
i
=1,否则k
i
=0;路段平均速度meanspeed≥20km/h时,为可接受交通状态;meanspeed<20km/h时,为不可接受状态;rncr(t)的取值范围为[0,1],值越大,表示路网状态越好,反之,路网状态越差。
[0057]
(2)拥堵里程占比
[0058]
拥堵里程占比是拥挤路段的长度占整个路网的长度的比例,描述了路网整体的运行状态:
[0059][0060]
其中,cr表示路网拥挤里程占比,jamlengthinmeterssum表示拥挤里程占比,l
ij
为路段l
ij
的长度。
[0061]
本发明的有益效果是:
[0062]
在多交叉口环境下,通过控制交通信号灯设计一种模型,借助了actor

critic的算法框架,同时使用了智能体之间集中式学习分散式执行的方法,结合了集中式学习和分散式学习的优点,使得算法在收敛速度上得到了较大的提升。本发明使得交通状态得到改善,为后期群体智能强化学习的交通信号控制的应用奠定了基础。
附图说明
[0063]
为了更清楚地说明本发明实施方式的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0064]
图1为实施例的结构示意图。
具体实施方式
[0065]
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
[0066]
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施
方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
[0067]
实施例
[0068]
基于群体智能强化学习的交通信号灯优化方法,包括以下步骤:
[0069]
s1、将待优化区域的当前交通信号灯配时方案分为具有完全合作关系的n个智能体;其中,s为n个智能体当前时刻对应的状态,s1,s2,

,s
n
为智能体当前时刻对应的状态,s
1_next
,s
2_next


,s
n_next
为智能体下一时刻对应的状态,o1,o2,

,o
n
为n个智能体对应的观察值,a1,a2,

,a
n
为智能体对应的行为,r0,r1,

,r
n
为n个智能体对应的回报,actor1,actor2,

,actor
n
为n个智能体构造的actor本地网络,ctritic1,critic2,

,critic
n
为n个智能体的actor本地网络对应的critic本地网络,共同构成actor

critic1,actor

critic2,

,actor

critic
n
;actor
global
为全局actor网络,critic
global
为全局critic网络,共同构成actor

critic
global
,下标1,2,

,n为智能体的编号;
[0070]
s2、初始化n个智能体的参数;
[0071]
所述智能体的参数包括s、行为a、td_error;
[0072]
td_error用来衡量每次智能体完成行为a后,此行为从环境中获得的奖励反馈与上一次动作选择带来的奖励反馈之间的差距,用来衡量actor网络进行的动作选择是否更合理有效;actor网络的角色类似于演绎者,基于策略进行动作选择,critic网络则利用td_error来评估actor网络进行的动作选择是否更有效。
[0073]
s3、初始化n个智能体对应的actor

critic网络,以及全局actor

critic
global
网络;
[0074]
s4、基于当前n个智能体的参数,将s分别输入到各自actor网络中;各自actor网络分别选择对应智能体的行为a,使环境根据该智能体的状态、行为以及确定的回报函数给出相应的回报r,转移至下一个状态s
next

[0075]
s5、将s3步骤获得的s,a,s
next
作为critic网络的输入,计算获得td_error;
[0076]
s6、更新本地actor

crtic网络的参数和权重;
[0077]
s7、更新全局actor

critic
global
网络的参合和权重;
[0078]
s8、重复s4至s7步骤,直到达到设置的回合次数或智能体完成actor

critic
global
网络所预设的训练目标(训练目标为路网畅通率以及拥堵里程占比指标达到更佳状态或者训练模型达到收敛状态。),得到训练完善的交通信号灯优化模型;
[0079]
s9、通过交通信号灯优化模型对当前交通信号灯方案进行优化,获得优化后的交通信号灯方案。
[0080]
在一个优选实施例中,所述步骤s2中状态s设定包括:状态s利用当前相位序列号idphase、当前相位对应配时duration以及当前红绿灯路口汇入道路车辆排位长度queue这三个值综合计算获得;
[0081]
每个指标取相应的factor(权重)进行数据加权处理利于训练结果的收敛,factor1为idphase权重,factor2为duration权重,factor3为queue权重,具体状态空间取值公式为:
[0082]
s=idphase*factor1 duration*factor2 queue*factor3;
[0083]
其中factor1=len(green_list),
[0084]
green_list意思是环境中所有交通信号灯,len(green_list)即表示环境中所有交通信号灯的个数。
[0085]
factor1取相位中绿灯相位个factor2,factor3根据测试结果取整数。factor2=[factor1÷
3],factor3=[factor1×
0.7 factor2÷
2],其中[]为取整符号。
[0086]
在一个优选实施例中,当前相位对应配时数据需做一定离散化处理,便于后期收敛;具体离散处理如下:
[0087][0088]
在一个优选实施例中,所述步骤s2中行为a设定包括:
[0089]
获取动作a,动作a表示下一状态红绿灯即将变更到的相位,长度为独立红绿灯相位个数,状态空间a利用one

hot编码方式,能够完整表示每一个相位。(例如:[1,0,0,0,0]表示该红绿灯有5组相位,并且当前one

hot编码表示第0组相位,所有相位以0作为开始)。
[0090]
在一个优选实施例中,所述步骤s4中n个智能体分别进行actor

critic网络训练包括以下步骤:
[0091]
a1、初始化状态s和动作a以及td_error;
[0092]
a2、将s,a,td_error传导进入actor网络中,输出act_prob,因为actor网络基于概率分布选择动作,act_prob即为当前s下,进行所有行为选择的概率分布;并且将act_prob概率分布进行如下取对数转换,利于更快的达到收敛:
[0093]
log_prob=log(act_prob)
[0094]
a3:将由critic网络传入的td_error与a2步骤计算得到的log_prob进行如下计算得到利益导向损失值exp_v;
[0095]
exp_v=reduce_mean(log_prob*td_error)
[0096]
其中,reduce_mean即为神经网络中求平均值。
[0097]
a4:actor基于a2步骤下计算得到的act_prob,提取出具有最大概率的行为a;智能体进行行为a,并从环境中得到对应的奖励反馈,并且智能体状态切换至状态s
next

[0098]
a5:利用梯度下降最大化利益导向损失值exp_v,训练并更新智能体actor网络的参数和权重;
[0099]
a6:将当前状态s以及状态s
next
传入critic网络中,分别获得当前状态价值v和下一状态v
next

[0100]
a7:利用从环境中获取的奖励值r,以及从a6步骤获得的v,v
next
,计算得到td_error,计算公式如下:
[0101]
td_error=r gamma*v
next

v
[0102]
a8:利用a7步骤得到的td_error反向传递给critic网络,用于更新智能体critic网络的参数和权重。
[0103]
在一个优选实施例中,所述步骤s4中获取相应的回报r包括以下内容:
[0104]
r=rncr(t) cr*0.3
[0105]
(1)路网畅通率
[0106]
路网畅通率定义为路网在某一时间段t内,交通状态较好的路段里程与路网中所有路段里程的比值,描述了路网总体畅通程度,是路网交通总体运行质量的一个度量,可以用于评价交通管理效果;
[0107][0108]
其中,rncr(t)表示t时间段内的路网畅通率(t可取5min或者3min),n为路网中所包含路段数,l
ij
为第i条路段的长度,k
i
为二值函数,当路段i的交通状态等级属于可接受交通状态时,k
i
=1,否则k
i
=0;路段平均速度meanspeed≥20km/h时,为可接受交通状态;meanspeed<20km/h时,为不可接受状态;rncr(t)的取值范围为[0,1],值越大,表示路网状态越好,反之,路网状态越差。
[0109]
(2)拥堵里程占比
[0110]
拥堵里程占比是拥挤路段的长度占整个路网的长度的比例,描述了路网整体的运行状态:
[0111][0112]
其中,cr表示路网拥挤里程占比,jamlengthinmeterssum表示拥挤里程占比,l
ij
为路段l
ij
的长度。cr越小则表示交通状态越好。
[0113]
通过实验表明,此回报函数设定利于帮助区分优化程度的好坏,使模型具备更佳的辨识能力。
[0114]
在一个优选实施例中,红绿灯a对应交通信号灯配时为:
[0115]
0:<phase duration=

36

state=〞rrrgggrrrggg〞/>
[0116]
1:<phase duration=
″4″
state=〞rrryygrrryyg

/>
[0117]
2:<phase duration=
″6″
state=

rrrrrgrrrrrg

/>
[0118]
3:<phase duration=
″4″
state=

rrrrryrrrrry

/>
[0119]
4:<phase duration=

36

state=

gggrrrgggrrr

/>
[0120]
5:<phase duration=
″4″
state=

yyyrrryyyrrr

/>
[0121]
此配时说明,红绿灯总共有6个相位,相位对应时间duration为36s,4s,6s,4s,36s,4s。
[0122]
其state代表每个相位下红绿灯控制的道路连接状态,例如:
[0123]
如图1所示,该图表示红绿灯a在0号相位下,state状态。
[0124]
r,r代表交通信号灯控制道路连接为红灯状态,g,g代表交通信号灯控制道路连接
处于绿灯状态,y,y代表交通信号灯控制道路连接处于黄灯状态。大小写字母区分也意义在于通行优先级,大写字母优先级大于小写字母。
[0125]
state=〞rrrgggrrrggg

表示的含义为:在此phase(相位)下,
①②③⑦⑧⑨
道路连接为红灯状态,
④⑤⑥⑩
道路连接为绿灯状态。
[0126]
通过本发明优化后;
[0127]
红绿灯a对应优化后交通信号灯配时为
[0128]
0:<phase duration=

27

state=

rrrgggrrrggg

/>
[0129]
1:<phase duration=
″2″
state=

rrryygrrryyg

/>
[0130]
2:<phase duration=
″4″
state=

rrrrrgrrrrrg

/>
[0131]
3:<phase duration=
″7″
state=

rrrrryrrrrry

/>
[0132]
4:<phase duration=

43

state=

gggrrrgggrrr

/>
[0133]
5:<phase duration=〞6

state=

yyyrrryyyrrr

/>
[0134]
主要优化体现在每个phase(相位)对应的duration(配时)的优化上。
[0135]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献