Hierarchical reinforcement learning-based traffic signal control

2026. 9. 20. 06:59·Review/Paper
728x90

 

https://www.nature.com/articles/s41598-025-18449-1

 

 

 

Problem

기존 deep reinforcement learning traffic signal conrol은 보통 intersection마다 하나의 RL agent를 둔다.

문제는, 각 intersection이 local objective만 최적화하면, 전체 road network의 traffic efficiency는 오히려 최적이 아닐 수 있을 수 있다는 점

따라서 "How should multiple intersection coordinate so that local decisions also improve regional traffic" 이라는 질문을 던지는 SHLight (Sample selection-based Hierarchical traffic Light control method)를 제안한다.

Core idea

SHLight는 traffic network를 여러 region으로 나누고, 각 region 안에 1 manager, multiple workers를 둔다.

                Manager
           Regional / Global Goal
                   ↓
       ┌───────────┼───────────┐
       ↓           ↓           ↓
    Worker 1    Worker 2    Worker 3
       ↓           ↓           ↓
Intersection 1  Intersection 2  Intersection 3

  • Manager은 intersection 하나의 signal을 직접 제어하지 않는다. 대신 region 전체의 traffic condition을 보고, "이 region에서는 앞으로 이런 방향의 traffic flow를 만들어라"라는 goal을 worker들에게 내려준다.
    • Manager은 비교적 긴 시간 단위인 every T time steps마다 goal을 업데이트하고, 그 goal은 다음 manager decision까지 유지된다.
  • Worker은 자기 intersection의 local state, 주변 intersection 정보, manager가 준 goal을 받아 각 intersection의 actual traffic signal을 control한다.

Challenge 1: Non-stationarity -> Sample Selection

worker의 lower-level policy가 계속 변하기 때문에, 과거에 특정 high-level action에 대해 수집한 experience가 현재의 lower-level behavior를 더 이상 잘 나타내지 못할 수 있다.

(i.e. worker policy도 계속 학습하면서 바뀌기 때문에 manager가 같은 goal을 줘도 다른 behavior을 유도할 수 있다)

그래서 manager 입장에서 environment가 stationary하지 않게 보이는 문제가 발생할 수 있다.

 

조금 더 구체적으로 설명하자면 -

 

강화학습에서 agent가 한 번 행동할 때마다 보통 하나의 experience가 생긴다. 

experience = (현재 state, action, reward, 다음 state)

만약 매 step마다 방금 생긴 experience 하나만 가지고 바로 학습하면 문제가 생길 수 있다. 연속된 traffic state은 서로 굉장히 비슷하기 때문에, sample들이 서로 강하게 corrleated되고, 특정 순간의 traffic condition에 update가 과하게 끌릴 수 있으며, 과거에 봤던 중요한 traffic situation을 다시 활용하기 어려워지면서, 학습이 불안정해질 수 있다.

따라서 DQN, DDPG 같은 off-policy RL에서는 experience들을 replay buffer에 저장해둔다. 그리고 나중에 여러 과거 sample을 다시 뽑아서 학습한다. 이렇게 하면, 같은 exrperience를 여러 번 활용할 수 있어서 sample efficiency가 좋아지고, 서로 다른 시점의 sample을 섞어서 쓰기 때문에 학습이 더 안정적이어질 수 있다.

 

하지만 오래된 experience에는 문제가 있다.

policy는 계속 학습하면서 변하는데, replay buffer에 저장된 오래된 experience는 예전 policy가 만들어낸 behavior을 담고 있는 것.

일반적인 off-policy RL에서도 이런 mismatch가 존재하지만, SHLight 같은 hierarchical RL에서는 이 문제가 더 심해진다.

 

그 이유는 -

 

high-level에 있는 manager은 보통 "state s에서 goal g를 주면 대략 이런 next state과 reward가 나온다"라는 관계를 학습해야 하는데, lower-level policy가 계속 진화함에 따라 transition dynamics P(s'|s, g)가 고정되어 있지 않고 계속 변하는 것처럼 보이게 되고,

manager 입장에서는 자신이 상대해야 하는 환경의 규칙이 worker의 학습 때문에 계속 바뀌게 되면서 오히려 혼란을 야기하는 것.

 

SHLight는 Sample Selection이라는 solution을 택하는데 - 

 

sample efficiency, stability, experience reuse라는 장점이 있기 때문에 replay buffer 자체를 없애기 보다는,

'현재 worker behavior와 current traffic environment에 더 잘 맞는 sample을 우선적으로 사용하자"라는 아이디어를 사용한다.

Manager Replay Buffer
        ↓
Many old experiences
        ↓
Sample importance 계산
        ↓
현재 worker/environment와 더 consistent한 samples 선택
        ↓
Manager training

 

sample importance를 계산할 때는: sample이 얼마나 자주 사용됐는지, manager와 worker의 behavior가 얼마나 일치하는지, sample이 현재 environment와 얼마나 잘 맞는지를 고려한다.

(i.e. manager experience와 worker trajectory를 embedding으로 만들고, worker sequence를 이용해 future manager state를 예측해서 현재 hierarchy와 sample이 얼마나 consistent한지 확인한다)

Challenge 2: Parital Observability -> (1) Worker-side STNet

hierarchical 구조를 통해 regional traffic efficiency를 위한 goal을 공유한다고 하더라도, 각 agent가 충분한 정보를 보고 있다는 뜻은 아니다. goal을 regional하게 받아도, observation은 여전히 local할 수 있기 때문이다.

e.g. A -> B -> C 라는 세 intersection이 있다고 해보자. manager가 worker B에게 "east-west traffic flow를 개선해"라는 regional goal을 줬다고 했을 때, worker B가 자기 intersection B의 queue와 waiting time만 보고 green을 길게 줬는데, C가 이미 포화 상태라면 downstream congestion을 악화시킬 수 있다.

 

그래서 SHLight는 worker state를 Si = [Lic, Lin]으로 구성한다.

  • Lic: central intersection의 local traffic state
  • Lin: 1-hop neighboring intersections의 traffic feature
  • local feature에는 queue length, waiting time, number of vehicles

하지만 이때 주의해야 할 점은 neighbor 정보를 그냥 concatenate하지 않는다는 것.

"어떤 intersection이 어떤 intersection과 연결되어 있는가?"라는 정보를 담고 있는 spatial information과 "traffic이 시간에 따라 어떻게 변하고 있는가?"라는 정보를 담고 있는 termporal information이 있기 때문에, STNet을 설계했다.

Central + 1-hop neighboring intersections
              ↓
             Graph
          ↙        ↘
        GCN         FC
         ↓           ↓
 spatial/topology   node features
          \          /
           concatenate
               ↓
              GRU
               ↓
      Neighboring representation
  • GCN graph convolutional network
    • input은 A: [queue, waiting time, vehicles], B: [queue, waiting time, vehicles], C: ... 이런식의 node feature과 A-B, B-C, B-D ... 이런식의 graph structure
    • GCN 안에서 각 node들은 자신과 직접 연결된 neighbor들의 feature을 활용해 그들 자신의 representation을 업데이트한다.
    • output은 각 node를 나타내는 새로운 embedding vector이다.
      • e.g. B = [queue=20, wait=15, vehicles=30] -> B_embedding = [0.31, -0.42, 1.14, ...]
      • 숫자 각각을 우리가 직접 해석할 필요는 없음
  • FC fully connected layer
    • input은 각 node의 feature를 concatenate한 것
    • FC 안에서 모든 input 값들은 weighted combination으로 섞인다.
      • e.g. 어떤 hidden neuron은 0.4 x queue_B + 0.8 x vehicles_A - ...
      • "지금 주변 intersection들의 raw traffic 값들을 어떻게 조합하면 유용한 feature가 될까?"를 학습하는 것
    • output은 현재 시점에서 주변 node들의 traffic condition을 압축한 representation embedding vector이다.
  • GRU gated recurrent unit
    • GNC와 FC를 거쳐도 "지금 현재 traffic이 어떤지"만 represent한 뿐이다. 하지만 traffic signal control에서는 trend도 중요하다. 현재 queue가 30인 두 intersection이 있다고 하더라도 10 → 20 → 30과 50 → 40 → 30은 다른 해석이 필요하기 때문이다.
    • input은 time step별 [GCN output | FC output]
    • GRU는 sequence를 처리하는 neural network이다. 현재 time step의 vector와 이전 time step에서 기억하고 있던 hidden state를 같이 사용하며, gate를 통해 과거 정보 중에서 무엇을 계속 기억할지, 무엇을 잊을지, 새로운 정보를 얼마나 반영할지를 학습한다.
    • output은 현재 주변 traffic 상태 + spatial relationship + temporal trend가 모두 반영된 vector이다.
      • 이는 worker에 의해 neighboring feature로 사용된다.

*즉 정리하자면, local objective vs regional/global objective 문제를 해결하기 위해 hierarchy를 택하고, partial observability 문제를 해결하기 위해 각 intersection agent에게 자기 intersection 정보 뿐 아니라 neighboring intersection 정보, GCN/GRU 기반 spatial-temporal feature을 넣어준다.

Challenge 2: Parital Observability -> (2) Manager-side Dual Actor-Critic

 

partial observability는 worker만의 문제는 아니다. manager도 coarse regional summary만 보면 특정 interseciton의 local bottleneck을 놓칠 수 있다. (e.g. 전체적으로 east-west traffic volume이 높다는 건 알 수 있어도, B가 심하게 막혔는지 .. E는 거의 비어 있는지 .. 등은 놓칠 수 있다)

 

따라서 manager에게 두 개의 actor-critic branch를 두는데,

  • actor은 state를 보고 "어떤 action을 할까"를 결정하고, critic은 actor가 고른 action을 보고 "이 action이 얼마나 좋은가"를 평가한다.
  • basic actor-critic = macro-control
    • regions 전체를 압축된 형태로 보는 branch로,
    • 여기서 manager state는 S = [Lmn, Lme, Lms, Lmw] 인데, 여기서 각 Lmd는 해당 방향의 traffic wave 즉 intersection 근처 50m 안의 incoming vehicles 수를 나타낸다.
    • manager action는 North → South, South → North, East → West, West → East 중 어떤 flow를 우선시키는 게 좋을지 결정하는 것이다.
  • enhanced actor-critic = mirco-control
    • region 안의 모든 intersections의 fine-grained feature를 보는 branch로,
      • 다음과 같은 흐름으로 진행된다: intersection-level features → attention → important intersections emphasized → region-specific model + general model → concatenate → enhanced actor-critic → micro action a'
    • 각 intersection의 queue length, waiting time, number of vehicles를 본다. 예를 들어, A = [queue=5, wait=4, vehicles=12] ... 이런 정보가 micro branch로 들어가는 것
    • 모든 intersection에 같은 중요도를 주는 건 아니고, attention layer가 각 intersection feature에 weight를 줘서 현재 traffic situation에서 더 중요한 intersection을 강조한 regional representation을 만든다.
    • attention output은 두 방향으로 처리하는데, Region-specific model은 해당 region만의 traffic pattern을 학습하고, general model은 여러 region에서 공유되는 공통 traffic pattern을 학습한다.
    • 두 model의 output을 합쳐 하나의 richer feature vecotr를 만든다. 그리고 이 combined feature를 enhanced actor-critic에 넣어서 micro-level action a'을 만든다.
  • 두 actor-critic의 state를 concatentate해서 autoencoder에 넣고 macro/micro pattern을 얼마나 믿을지 구한다. 이후에 macro-control의 action과 micro-control의 action을 상황에 맞는 weight로 결합한 것이 최종 manager goal이 된다.

Overall SHLight Workflow

Divide the traffic network into regions

전체 road network를 여러 region으로 나누고, each region에 one manager, each intersection에 one worker를 둔다. manager은 region-level coordination을, worker는 actual traffic signal control을 담당한다.

  • region을 나눌 땐 METIS graph partitioning을 사용한다.

 

Manager observes the region and generates a goal

manager는 region traffic을 두 관점으로 본다. macro-control branch는 direction traffic flow를, micro-control branch는 intersection-level detailed traffic condition을 본다. 두 branch의 action은 fusion되어 최종 manager goal g를 생성한다.

 

The region goal is sent to workers

manager는 매 step마다 goal을 바꾸는 게 아니라 every T time steps마다 update한다. 

 

Each worker observes its intersection and neighbors

worker는 Si = [Lic, Lin]을 state로 활용한다. 이때 Lic는 central intersection information, Lin은 1-hop neighboring information이다. 이때 Lin은 앞에서 설명한 STNet으로 만들어진다.

 

Worker Action

worker가 traffic signal을 결정할 때 action으로 하나의 discrete phase만 고르는 건 아니다. Worker의 action은 ai = (iphase, tnext)라고 볼 수 있고, 이때 iphase는 next phase index, tnext는 그 phase를 얼마나 유지할지이다. 즉 신호 keep/change 외에도 duration도 결정하는 것.

 

Worker reward

worker는 manager가 준 regional goal을 따르면서 도잇에 자기 intersection의 local traffic efficiency도 개선해야 한다. 

 

Manager reward

manager reward는 rM = Narrival + Nliquid로 정의된다. 이때 Narrival은 region 내에서 destination에 도착한 차량 수, Nliquid는 region 전체 traffic flow의 liquidity를 나타낸다. 

Training: MADDPG + CTDE

SHLight는 manager와 worker 모두 MADDPG를 사용하고, centralized training with decentralized execution CTDE framework를 사용한다.

  • MADDPG multi-agent DDPG: uses an actor for each agent to select actions and a centralized critic during training that can use information from multiple agents. This allows agents to learn cooperative policies under the CTDE framework.
  • CTDE: training할 때는 넓은 information을 활용해 cooperation을 배우고, execution할 때는 각 agent가 decentralized하게 동작한다.

Result

이 framework가 실제로 traffic control performance를 개선하는지 SUMO simulation에서 평가한다.

평가에는 queue length, waiting time, delay 세 가지 traffic efficiency metric을 사용했다.

 

Synthetic traffic

synthetic network는 25 intersections로 구성되어 있고, 서로 다른 traffic density를 가진 여러 configuration을 사용한다.

(i.e. congestion level을 다르게 해서 SHLight가 traffic condition 변화에 얼마나 robust한지 확인한다)

 

SHLight performs particularly well in the medium- and high-density synthetic configurations, although its relative advantage does not increase monotonically with traffic density.

저자들은 이를 traffic이 더 복잡하고 congested해질수록, 단순 local control보다 regional coordination을 사용하는 hierarchical structure의 이점이 커진 것으로 해석한다.

 

Real-world road networks

SHLight consistently achieves the lowest queue length and waiting time on both real-world networks, while the delay improvement is not uniformly the best in every scenario.

 

특히 peak period에서 다른 방법들과 비교했을 때 SHLight는 queue length 증가가 비교적 smooth 했고, peak가 지나간 뒤 queue length가 더 빨리 normal level로 돌아왔고, cumulative delay 역시 다른 baseline보다 빠르게 정상 수준으로 회복했다. (i.e. SHLight가 단순한 average traffic뿐 아니라 changing traffic conditions와 peak congestion에도 잘 대응한다는 evidence로 해석한다)

 

또한 performance depends on how the road network is partitioned, indicating that region design is an important component of the hierarchical framework. 단순한 traffic에서는 larger region이 global information 활용에 도움이 되고, 복잡한 network에서는 더 세분화된 partition이 유리할 수 있다고 해석한다.

Ablation

"그래서 성능 향상이 정말 SHLIght의 각 proposed component 때문인가?"를 확인하는 게 ablation study.

 

논문은 macro-control, micro-control, sample importance, LSTM, autoencoder 등을 제거해서 성능 변화를 확인한다. 

특히 sample selection은 여러 traffic density에서 비교적 일관되게 성능을 개선했고, macro+micro를 함꼐 쓴 full model이 전반적으로 더 좋은 결과를 보였으며, micro-only는 대부분의 상황에서 성능이 좋지 않았다.

Limitations & Future work

저자들이 명시적으로 future work로 적은 것: real-world factors such as traffic signal malfunctions, accidents, external events를 포함한 data로 확장, 그리고 model robustness를 개선.

 

어떤 limitation이 있을까?

  • SUMO simulation 기반 평가: 실제 road network와 traffic data를 사용하지만 evaluation은 simulation에서 수행된다.
  • heterogeneous intersections에서 성능이 조금 감소: network가 더 복잡하고 transformed features가 real environment를 완전히 represent하지 못해서 regular network보다 slightly worse라고 써 있다. 
728x90

'Review > Paper' 카테고리의 다른 글

IntelliLight: A Reinforcement Learning Approach for IntelligentTraffic Light Control  (0) 2026.09.19
Statistical analysis supports pervasive RNA subcellular localization and alternative 3’ UTR regulation  (0) 2026.09.19
Intracellular spatial transcriptomic analysistoolkit (InSTAnT)  (0) 2026.09.17
MANTIS: Analytics toolkit for spatial metabolomics with matching spatial transcriptomics data  (0) 2026.08.30
Statewide Integration of ATSPM and Crash Data to Identify High-Risk Intersections and Guide Signal Timing Strategies  (0) 2026.08.25
'Review/Paper' 카테고리의 다른 글
  • IntelliLight: A Reinforcement Learning Approach for IntelligentTraffic Light Control
  • Statistical analysis supports pervasive RNA subcellular localization and alternative 3’ UTR regulation
  • Intracellular spatial transcriptomic analysistoolkit (InSTAnT)
  • MANTIS: Analytics toolkit for spatial metabolomics with matching spatial transcriptomics data
  • neonii
    말하는 감자 탈출기
    neonii
  • 전체
    오늘
    어제
    • 분류 전체보기 (74) N
      • Transportation (11)
        • Engineering (6)
        • Planning (4)
        • Autonomous (1)
      • Data (36)
        • Data Analytics (8)
        • Data Science (20)
        • Deep Learning (8)
      • Statistics (7)
        • Intro (2)
        • Network Analysis (5)
      • Review (9) N
        • Paper (9) N
        • Book (0)
      • Coding Test (6)
      • Computer Science (5)
  • 250x250
  • hELLO· Designed By정상우.v4.10.6
neonii
Hierarchical reinforcement learning-based traffic signal control
상단으로

티스토리툴바