1. 项目概述
智慧城市交通信号AI优化系统正成为解决城市拥堵问题的关键技术方案。我们团队近期完成了一项针对15个交叉路口的交通信号AI优化测试,采用多智能体深度强化学习(MADRQN)算法,在SUMO仿真环境下实现了平均等待时间降低23.7%的优化效果。这个项目最核心的创新点在于将传统的单路口信号控制升级为区域协同优化,通过智能体聚类和信息共享机制,在保证实时性的同时显著提升了整体路网通行效率。
2. 技术架构解析
2.1 系统整体设计
项目采用"集中训练-分散执行"的架构,每个路口信号控制器作为一个独立智能体。系统包含三个关键模块:
- 感知层:通过路侧单元获取400米范围内的车辆位置、速度和排队长度
- 决策层:基于DRQN的神经网络架构,包含64个GRU单元处理时序数据
- 通信层:采用GNG聚类算法动态分组,组内共享关键参数
我们在SUMO仿真环境中构建了包含15个交叉路口的测试路网,每个路口配置4相位信号灯,仿真步长设置为0.1秒,确保与真实场景的时间尺度一致。
2.2 核心算法实现
MADRQN算法融合了深度学习和强化学习的优势:
python复制class MADRQN(nn.Module):
def __init__(self, input_dim, hidden_dim):
super().__init__()
self.gru = nn.GRU(input_dim, hidden_dim, batch_first=True)
self.fc = nn.Linear(hidden_dim, 4) # 4个相位动作
def forward(self, x, h=None):
x, h = self.gru(x, h)
return self.fc(x), h
关键参数设置:
- 折扣因子γ=0.9
- 学习率α=5e-4
- 经验回放池大小=5000
- 贪婪策略ε从1衰减到0.001
3. 关键技术创新
3.1 动态聚类机制
采用生长型神经气(GNG)算法实现智能体动态分组:
- 输入特征:路口位置坐标+实时交通状态向量
- 聚类过程:
- 初始随机选择两个节点
- 迭代2500次调整网络结构
- 每1000个时间步重新聚类
实测表明,这种机制比固定分区方法通信量减少42%,同时保持了90%以上的协同效果。
3.2 混合训练策略
我们设计了独特的参数共享机制:
-
组内定期评估各智能体的critic值
-
将表现最好的智能体网络参数作为基准
-
其他智能体参数按公式更新:
θ_i = c1×θ_best + c2×θ_i_hist + (1-c1-c2)×θ_i
其中c1=0.9,c2=0.3,这种设置既保证了组内一致性,又保留了个体特性。
4. 实施细节与调优
4.1 状态空间设计
状态向量包含12个维度:
- 各方向排队长度(4维)
- 平均等待时间(4维)
- 相邻路口状态(4维)
采用Min-Max归一化处理,确保各维度量纲统一。
4.2 奖励函数设计
我们采用复合奖励机制:
R = -0.3×等待时间 - 0.2×排队长度 + 0.1×通行量
这种设计避免了单一指标导致的局部最优,实测显示比纯惩罚机制训练稳定性提升35%。
5. 测试结果分析
5.1 性能对比
| 指标 | 传统定时控制 | 单路口RL | MADRQN |
|---|---|---|---|
| 平均等待时间(s) | 58.7 | 46.2 | 35.1 |
| 通行量(辆/h) | 620 | 710 | 850 |
| 停车次数 | 3.2 | 2.8 | 1.9 |
5.2 典型问题解决
-
震荡问题:
- 现象:相邻路口周期长度反复波动
- 解决方案:在奖励函数中加入平滑项,惩罚相邻周期差异过大
-
探索不足:
- 现象:早期陷入固定模式
- 改进:采用课程学习,先简单场景后复杂场景
6. 工程实践建议
-
部署注意事项:
- 建议从3-5个路口开始试点
- 硬件配置:至少4核CPU/路口,16GB内存
- 网络延迟需<100ms
-
参数调优经验:
- 首先固定γ=0.9调α
- 批量大小建议128-256
- 目标网络更新频率500-1000步
实际部署中我们发现,在早晚高峰时段将ε最小值设为0.01(而非0.001)能保持更好的适应性。
7. 扩展应用方向
当前系统还可向以下方向延伸:
- 特种车辆优先通行
- 结合V2X的预测控制
- 异常交通事件处理
特别是在公交优先场景下,只需在奖励函数中加入公交延误惩罚项,测试显示公交准点率可提升40%以上。
