智能交通(2)——IntelliLight智能交通灯

论文分享:IntelliLight | Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Miningicon-default.png?t=N7T8https://dl.acm.org/doi/10.1145/3219819.3220096摘要

智能交通灯控制对于高效的交通系统至关重要。目前现有的交通信号灯大多由手动制定的规则来操控,但智能交通信号灯控制系统应进行动态地调整以适应实时交通。使用深度强化学习技术来进行交通灯控制是一个新兴的趋势,其最近的研究也展现出一些具有前景的结果。然而,现有的研究还没有在现实世界的交通数据上测试其方法,他们只专注于研究奖励而没有解释政策。在本文中,我们提出了一个更有效的深度强化学习模型的交通灯控制。我们在基于监控摄像头获取的一个大规模的真实的交通数据集上测试了我们的方法。我们还展示了一些有趣的从真实数据中学习到的案例研究策略。

概括

使用深度强化学习来进行交通信号灯控制 现有的研究没有在真实数据上进行测试,也没有解释其运行策略

本文贡献

1.提出的方法在交通信号灯控制上更为有效

2.使用的数据集是基于监控摄像头获取的大规模真实交通数据

3.展示了从真实数据中学习到的案例策略

本文框架

图1展示了本文强化学习框架的基本思想。

Environment由交通灯相位和交通状况两个方面组成,环境根据智能代理的行动进行变化。

State是环境的特征表示。

1.每个车道的排队长度,表示为车辆数。

2.每个车道上的车辆总数。

3.车辆的更新等待时间,即车辆在车道上等待的时间,该时间会根据车辆的速度进行更新。

4.车辆位置的图像表示,通过摄像头捕获并作为CNN模型的输入。

5.当前信号灯的相位和下一个可能的信号灯相位。

Agent是深度强化学习模型的执行者,它通过与环境交互来学习如何控制交通信号灯。代理使用一个深度Q网络(DQN)来评估在给定状态下采取特定行动的潜在回报,并基于这个评估来选择行动。在每个时间间隔内,代理会观察当前交通状态,选择是保持当前信号灯相位还是切换到下一相位,并根据这个决策对交通流产生影响。

Action智能体可以执行的操作,即决定是否改变交通信号灯的阶段(例如,从绿色变为红色或反之)。

Reward是智能代理采取行动后从环境中获得的反馈,用于量化行动对交通流的正面或负面影响。奖励的具体计算方式是多个因素的加权和。

DQN

输入层: 1.图像特征:来自交通摄像头的图像数据,表示车辆的位置和数量。 2.队列长度(Queue Length):表示每个车道上等待车辆的数量。 3.更新等待时间(Updated Waiting Time):表示车辆在车道上等待的时间。 4.车辆数量(Number of Vehicles):每个车道上的车辆总数。 5.阶段选择器(Phase Selector):指示当前交通信号灯的相位

卷积层(Convolutional Layers): 卷积层用于从输入的图像数据中提取特征。这些层能够识别图像中的模式和对象,例如车辆的位置。

全连接层(Fully Connected Layers, FC Layers): 卷积层的输出与显式提供的特征(队列长度、等待时间和车辆数量)一起被送入全连接层。这些层负责学习从交通条件到潜在回报的映射。

阶段门(Phase Gate): 阶段门是一个特殊的结构,用于区分不同交通灯相位下的决策过程。根据当前的交通灯相位(例如,0或1),不同的路径会被激活。

输出层: 对于每个可能的行动(例如,保持当前相位或切换到下一相位),网络都会输出一个Q值。这些Q值表示在当前状态下,采取每个可能动作的预期回报。

动作选择: 根据当前状态和Q网络的输出,智能代理将选择一个动作,这个动作是预期能带来最高回报的动作。

Explore

图 1 中的 "Explore" 是指智能体在强化学习过程中的一个关键步骤,即探索(Exploration)。在这个阶段,智能体会采取一些随机动作,而不是总是选择当前策略下预期奖励最大的动作。这样做的目的是为了发现新的行为策略,可能会带来更高的长期回报。

在强化学习中,探索与利用(Exploitation)是两个基本的决策策略:

  • 利用(Exploitation):智能体选择当前已知的最佳动作来最大化即时奖励。
  • 探索(Exploration):智能体以一定的概率选择非最佳或随机的动作,以便学习更多关于环境的信息。

探索是必要的,因为:

  • 在学习初期,智能体对环境了解有限,需要通过探索来收集信息。
  • 即使在学习过程中,也可能存在当前策略未覆盖的更优解,探索有助于发现这些潜在的更优策略。

在交通信号控制的上下文中,探索可能意味着智能体在某些时间点不选择最优的信号灯变化动作,而是尝试其他动作,以观察这些动作对交通流量的长期影响。通过这种方式,智能体可以学习到在不同交通条件下如何更有效地控制交通信号灯。

Memory

智能体将定期从内存中获取样本,并使用它们更新网络。通过偶尔添加新的数据样本并删除旧的样本来维护这种内存。这种技术被称为经验回放,并已广泛应用于强化学习模型。 然而,在真实的交通环境中,不同车道上的交通是非常不平衡的。以往的方法将所有的状态-行为-奖励训练样本存储在一个记忆中,这个记忆将被不平衡环境中出现最频繁的阶段和行为所支配。然后,智能体将学会估计这些频繁相作用组合的奖励,但忽略其他较不频繁的相作用组合。这将导致学习智能体对不常见的相位-动作组合做出错误的决策。因此,当不同车道的交通差异较大时,这些不平衡的样本会导致在不太频繁的情况下性能较差。 根据认知心理学中的记忆宫殿理论,我们可以通过使用不同的记忆宫殿进行不同的相位-动作组合来解决这种不平衡。如图6所示,不同相位-动作组合的训练样本存储在不同的内存宫殿中。然后从不同的宫殿中选取相同数量的样本。这些均衡的样本可以防止不同的相位-动作组合干扰彼此的训练过程,从而提高网络的拟合能力,准确预测奖励。

Reward

如等式3所示,奖励被定义为以下因素的加权和:

Li:所有进场车道上的车辆排队长度L之和,其中L计算为给定车道上等待车辆的总数。车速小于0.1m/s的车辆可以视为等待。

Di:所有进场车道上的延迟D之和,其中车道i的延迟Di在等式1中定义,其中lane speed是车道i上车辆的平均速度,speed limit是车道i上允许的最大速度。

Wi:所有进场车道的最新等待时间W的总和。这等于所有车辆在进场车道上等待时间W的总和。车辆j在时间t的最新的等待时间W在等式2中定义。请注意,车辆每次移动时,最新的等待时间将重置为0。例如,如果车辆的速度从0 s到15 s为0.01m/s,从15 s到30 s为5 m/s,并且从30 s到60 s为0.01m/s,则当t = 15 s、30 s和60 s时刻,Wj相对地为15秒、0秒和30秒。

C:信号灯的切换指示器C,其中C = 0用于保持当前相位,C = 1用于改变当前相位。

N:在上一个动作a之后的时间间隔Δ t内通过交叉口的车辆总数N。

T:在最后一个动作a之后,车辆T在时间间隔∆T通过交叉口的总行驶时间T ,定义为车辆在驶近车道上花费的总时间(分钟)。

给定交通状况的当前状态s,  agent 的任务是根据Bellman方程(等式4),找到可能导致长期最大回报r的动作a(改变或保持当前阶段)。在这种情况下,时间t的动作值函数q是下一个时间戳t + 1的奖励和最大潜在未来奖励的总和。通过这种对未来的推测,行为主体可以选择更适合长期奖励的行为.

总结

状态:状态是对当前交通环境的描述,包括交通信号灯的相位、车道的车辆排队长度、车辆数量、车辆的更新等待时间以及车辆位置的图像表示等。状态是智能代理(Agent)做出决策的基础。

动作:动作是智能代理在给定状态下所采取的决策,通常表示为是否改变交通信号灯的相位。

奖励:奖励的具体计算方式是多个因素的加权和。

策略:在本文的模型中,策略是由深度Q网络(DQN)学习的,它映射从状态到动作的期望回报。

数据集: 1.时间戳(Time):记录数据收集的具体时间点。 2.摄像头ID(Camera ID):标识安装在特定位置的交通监控摄像头。 3.车辆信息(Vehicle Information):包括车辆的轨迹、位置、速度等信息。 4.车辆记录数(Vehicle Records):数据集中记录的车辆总数,论文中提到有超过405百万条车辆记录。 5.唯一车牌数(Unique Vehicle Plates):数据集中记录的不同车辆的数量,超过1100万个。 6.交通流量(Traffic Flow):每个方向上车辆到达的速率,可能以车辆每秒(cars/s)为单位。 7.车道排队长度(Queue Length):每个车道上等待车辆的数量。 8.车辆等待时间(Waiting Time):车辆在车道上等待的时间。 9.车辆位置的图像表示(Image Representation of Vehicles' Position):通过摄像头捕获的图像数据,用于表示车辆的位置。 10.当前信号灯相位(Current Phase):交通信号灯的当前状态,例如东西向绿灯(Green-WE)或南北向绿灯。 11.下一信号灯相位(Next Phase):交通信号灯的下一个状态。 12.车辆通过交叉口的数量(Number of Vehicles Passed):在特定时间间隔内通过交叉口的车辆总数。 13.车辆的总时间(Total Travel Time):车辆在接近车道上花费的总时间。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python系列】列表推导式:简洁而强大的数据操作工具

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

已成功与服务器建立连接,但是在登录过程中发生错误。(provider: SSL提供程序,error:0-证书链是由不受信任的颁发机构颁发的。)

已成功与服务器建立连接,但是在登录过程中发生错误。(provider: SSL提供程序,error:0-证书链是由不受信任的颁发机构颁发的。) 在连接SQL Server2008R2数据库时发生错误。 连接字符串:server127.0.0.1;uidsa;pwd1;databasedb; 解决办法: 方…

PySide(PyQt)在图像上画线

1、按鼠标左键任意画线 import sys from PySide6.QtWidgets import QApplication, QLabel, QVBoxLayout, QWidget from PySide6.QtGui import QPainter, QPixmap, QMouseEvent, QColor, QPen from PySide6.QtCore import Qt, QPointclass PaintLabel(QLabel):def __init__(self…

如何使用FlowUs打造爆款自媒体内容?内容资产管理沉淀的先进工具选息流

FlowUs 是一款流行的在线协作工具,它以其灵活的块编辑器、看板视图、数据库管理等功能受到众多个人和团队的喜爱。将其应用于内容资产管理,尤其是对于追求打造爆款自媒体的创作者而言,可以极大地提升内容创作、组织、分发及分析的效率。 内容…

无刷直流电机(BLDCM)仿真建模

无刷直流电机,即BLDCM在各个行业应用非常广泛。在汽车电子领域,BLDCM被广泛用于电动汽车、混合动力汽车、电动自行车等车辆的驱动系统中。由于BLDCM具有高效率、高力矩密度和快速响应的优势,它可以提供可靠的动力输出,并且可以通过…

idea常用配置 | 快捷注释

idea快速注释 一、类上快速注释 (本方法是IDEA环境自带的,设置特别方便简单易使用) 1、偏好设置->编辑器->文件和代码模版 | File-Settings-Editor-File and Code Templates 2、右下方的“描述”中有相对应的自动注注释配置格式 贴…

力扣 单词规律

所用数据结构 哈希表 核心方法 判断字符串pattern 和字符串s 是否存在一对一的映射关系,按照题意,双向连接的对应规律。 思路以及实现步骤 1.字符串s带有空格,因此需要转换成字符数组进行更方便的操作,将字符串s拆分成单词列表…

Java单体架构项目_云霄外卖-特殊点

项目介绍: 定位: 专门为餐饮企业(餐厅、饭店)定制的一款软件商品 分为: 管理端:外卖商家使用 用户端(微信小程序):点餐用户使用。 功能架构: &#xff08…

Python学习笔记20:进阶篇(九)常见标准库使用之sys模块和re模块

前言 本文是根据python官方教程中标准库模块的介绍,自己查询资料并整理,编写代码示例做出的学习笔记。 根据模块知识,一次讲解单个或者多个模块的内容。 教程链接:https://docs.python.org/zh-cn/3/tutorial/index.html 错误输出…

电商平台数据爬取经验分享

一、引言 在电商领域,数据的重要性不言而喻。无论是市场趋势分析、竞争对手研究,还是用户行为洞察,都离不开数据的支持。而数据爬虫作为获取这些数据的重要工具,其技术的掌握和运用对于电商平台来说至关重要。本文将结合个人实际…

AI绘画 Stable Diffusion【实战进阶】:图片的创成式填充,竖图秒变横屏壁纸!想怎么扩就怎么扩!

大家好,我是向阳。 所谓图片的创成式填充,就是基于原有图片进行扩展或延展,在保证图片合理性的同时实现与原图片的高度契合。是目前图像处理中常见应用之一。之前大部分都是通过PS工具来处理的。今天我们来看看在AI绘画工具 Stable Diffusio…

架构师篇-7、企业安全架构设计及实践

摘要: 认识企业安全架构企业安全案例分析及实践 内容: 为什么做企业安全架构怎么做好安全架构设计案例实践分析&随堂练 为什么要做企业安全架构 安全是麻烦制造者? 整天提安全需求增加开发工作增加运维要求增加不确定性延后业务上线…

[C++][设计模式][适配器模式]详细讲解

目录 1.动机2.模式定义3.要点总结4.代码感受 1.动机 在软件系统中,由于应用环境的变化,常常需要将”一些现存的对象“放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足如何应对这些”迁移的变化“?如何既能利用现…

【单片机毕业设计选题24038】-基于STM32的木材厂环境监测系统

系统功能: 系统上电后根据采集到的传感器值自动控制,温度过高后自动开启风扇通风降温,湿度过 高后自动开启风扇除湿,光照过低后自动开启补光,雨量过高蜂鸣器报警,火焰传感器检 测到火灾后蜂鸣器报警并打开水泵灭火。…

20240629在飞凌的OK3588-C开发板的Linux R4系统下使用i2cdetect确认I2C总线

rootok3588:/# i2cdetect -y -r 0 rootrk3588-buildroot:/# i2cdetect -l rootrk3588-buildroot:/# i2cdetect -F 0 20240629在飞凌的OK3588-C开发板的Linux R4系统下使用i2cdetect确认I2C总线 2024/6/29 15:37 在CAM1、CAM2挂载OV13850。 在CAM3、CAM4和CAM5挂载OV5645了。 in…

Spring-循环依赖是如何解决的

1、bean被创建保存到spring容器的过程 1、实例化 -> 获取对象; 2、填充属性;这里可能需要依赖其它的bean。 3、AOP代理对象替换; 4、加入单例池; 问题: 循环依赖怎么处理 ServiceA 中有属性ServiceB b&#…

phpMyAdmin | mysqli::real_connect(): (HY000/2002): No such file or directory

法一:第一次安装宝塔 第一次安装宝塔mysql服务是默认关闭的,需要手动打开,打开服务再次进入phpMyAdmin发现可以进入了 法二:第一种方法没解决用这种 出现mysqli::real_connect(): (HY000/2002): No such file or directory错误通…

【数据结构|C语言版】四大排序(算法)

前言1. 插入排序1.1 直接插入排序1.2 希尔排序 2. 选择排序2.1 选择排序2.2 堆排序 3. 交换排序3.1 冒泡排序冒泡排序的步骤 3.2 快速排序快速排序的步骤 4. 归并排序归并排序的步骤:代码解释:归并排序的性能: 上期回顾: 【数据结构|C语言版】…

kubuadm 方式部署 k8s 集群

准备三台机器 主机名IP地址CPU/内存角色K8S版本Docker版本k8s231192.168.99.2312C4Gmaster1.23.1720.10.24k8s232192.168.99.2322C4Gwoker1.23.1720.10.24k8s233192.168.99.2332C4Gwoker1.23.1720.10.24 需要在K8S集群各节点上面安装docker,如未安装则参考 …

【Linux】已解决:Ubuntu虚拟机安装Java/JDK

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项结论 已解决:Ubuntu虚拟机安装Java/JDK 一、分析问题背景 在Ubuntu虚拟机上安装Java开发工具包(JDK)是许多开发者的常见任务。然而,在…