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

news2024/11/26 7:35:39

论文分享: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.coloradmin.cn/o/1878952.html

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

相关文章

共模和差模的基本概念

电压电流在导体或导线中传播时,存在两种工作形态:共模和差模。电子设备的信号线在进行相互通信时,至少会存在两根导线以形成电传输回路,除此之外,通常还存在第三个导体,即“参考地”。当信号正常传输时&…

JAVA学习笔记-JAVA基础语法-DAY19-File类、递归

第一章 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 1.2 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。public File(St…

go Channel 原理 (一)

Channel 设计原理 不要通过共享内存的方式进行通信,而是应该通过通信的方式共享内存。 在主流编程语言中,多个线程传递数据的方式一般都是共享内存。 Go 可以使用共享内存加互斥锁进行通信,同时也提供了一种不同的并发模型,即通…

python课程设计作业-TCP客户端-服务端通信

说明文档 目录 小组成员分工 作品功能介绍 使用的工具和方法 设计的步骤 课程设计中遇到的问题 结论 1. 小组成员分工 本次课程设计由以下小组成员完成: xxx 2. 作品功能介绍 本次课程设计的作品是一个简单的基于 TCP 协议的客户端-服务端通信示例。通过这个示…

Halcon 特征检测使用

一 Region area: 面积row: 中心的行坐标column: 中心的列坐标width: 区域的宽度(平行于坐标轴)height: 区域的高度(平行于坐标轴)row1: 左上角的行坐标column1: 左上角的列坐标row2: 右下角的行坐标column2: 右下角的列坐标‘ra’; 椭圆的长半轴…

【杂说咋说】中国历史上最古老的十大建筑​,看看你都去过几个?

【杂说咋说】中国历史上最古老的十大建筑​,看看你都去过几个? 中国作为世界四大文明古国之一,历史文化源远流长。在几千年的历史变迁中,中华先祖在神州大地上留下了无数遗迹,其中包括很多古建筑。本期就来介绍一下中…

C语言图书管理系统控制台程序

程序示例精选 C语言图书管理系统控制台程序 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《C语言图书管理系统控制台程序》编写代码,代码整洁,规则,易读…

Web支持rtmp,rtsp,flv,h265,mp4,hls,裸流,低延时全功能播放器ovplayer解决方案

Web视频,监控,直播等业务需一个方便快捷在线播放器,在web上支持低延时的视频直播,会议,交互已经是工作必需,像终端播放器有vlc之类,在Web上没有相关全功能的,业务也需要这种功能全面…

Elasticsearch环境搭建|ES单机|ES单节点模式启动|ES集群搭建|ES集群环境搭建

文章目录 版本选择单机ES安装与配置创建非root用户导入安装包安装包解压配置JDK环境变量配置single-node配置JVM参数后台启动|启动日志查看启动成功,访问终端访问浏览器访问 Kibana安装修改配置后台启动|启动日志查看浏览器访问 ES三节点集群搭建停止es服务域名配置…

洛谷 P1548 [NOIP1997 普及组] 棋盘问题

题目 洛谷 P1548 [NOIP1997 普及组] 棋盘问题 [NOIP1997 普及组] 棋盘问题 题目背景 NOIP1997 普及组第一题 题目描述 设有一个 N M N \times M NM 方格的棋盘 ( 1 ≤ N ≤ 100 , 1 ≤ M ≤ 100 ) (1≤N≤100,1≤M≤100) (1≤N≤100,1≤M≤100) 求出该棋盘中包含有多少个正…

Vue结合Element UI的el-table打造加工工序甘特图可视化解决方案

引言 在玻璃加工行业,高效管理切割、磨边、洗、钢化、丝印等复杂工序对于提升生产效率至关重要。本文将介绍如何利用Vue.js框架结合Element UI组件库,自定义实现一个工序甘特图,以可视化展示各道工序的时间线与进度,为生产调度带…

秋招突击——6/28、6.29——复习{数位DP——度的数量}——新作{}

文章目录 引言复习数位DP——度的数量个人实现参考实现 总结 引言 头一次产生了那么强烈的动摇,对于未来没有任何的感觉的,不知道将会往哪里走,不知道怎么办。可能还是因为实习吧,再加上最近复习也没有什么进展,并不知…

浅谈一下VScode如何配置C环境

1.这几天突然发现在VScode写C程序比在DevC效果更好,因为在VScode中写代码有代码补全功能。所以我突然对在VScode中配置C环境变量产生了兴趣。 2.不过在VScode中配置C环境要是按照官方的来配置有点麻烦。 3.我这里有一个直接配置VScode中C环境变量的应用。 前提是…

K8S 集群节点缩容

环境说明: 主机名IP地址CPU/内存角色K8S版本Docker版本k8s231192.168.99.2312C4Gmaster1.23.1720.10.24k8s232192.168.99.2322C4Gwoker1.23.1720.10.24k8s233(需下线)192.168.99.2332C4Gwoker1.23.1720.10.24 1. K8S 集群节点缩容 当集群中有…

8.12 矢量图层面要素单一符号使用十一(短划线渲染边界)

前言 本章介绍矢量图层线要素单一符号中短划线渲染边界的使用说明:文章中的示例代码均来自开源项目qgis_cpp_api_apps 短划线渲染边界(Outline: Hashed Line) Outline系列只画边界,不填充内容以protected_areas.shp为例&#x…

羊了个羊:羊、羊、羊

一、I am me,羊羊羊 英文中的 我就是我(I am me),其实就是:羊 羊 羊,为什么会有这么一个结论呢? 请往下看: I,就是羊 am(是),也是羊 …

2-20 基于matlab的利用准二维发散喷嘴的特性法给出理想喷嘴的几何形状

基于matlab的利用准二维发散喷嘴的特性法给出理想喷嘴的几何形状。 假设气体从燃烧室排出,燃烧室内没有质量流量。 利用二维喷嘴流动关系,找到一个最佳喉管区域,该区域将在给定环境压力和燃烧室参数下产生最大推力。 该区域将自动设置并输入代…

【Verilog HDL-1】基本、向量、模块

HDL习题 1 阻塞型赋值‘’与非阻塞型赋值‘<’ 阻塞型赋值 b a ba ba&#xff1a;适用于纯组合电路 非阻塞型赋值 b < a b<a b<a&#xff1a;适用与时序逻辑电路 2 wire线型,assign连续赋值 wire a,b,c; assign b a; assign c a;与编程语言不同&#xff…

SpringDataJPA系列(2)Commons核心Repository

SpringDataJPA系列(2)Commons核心Repository Spring Data Commons依赖关系 我们通过 Gradle 看一下项目依赖&#xff0c;了解一下 Spring Data Common 的依赖关系 通过上图的项目依赖&#xff0c;不难发现&#xff0c;数据库连接用的是 JDBC&#xff0c;连接池用的是 HikariC…

Orangepi Zero2使用外设驱动库wiringOP配合定时器驱动SG90舵机

目录 一、舵机的基本认知和硬件接线 1.1 舵机的基本认知&#xff1a; 1.2 硬件接线&#xff1a; 1.3 怎么控制舵机旋转不同的角度&#xff1a; 二、Linux定时器 2.1 定时器setitimer()函数原型和头文件&#xff1a; 2.2 信号处理函数signal()原型和头文件&#xff1a; 2…