Think2Drive: Efficient Reinforcement Learning by Thinking in Latent World Model for Quasi-Realistic Autonomous Driving in CARLA-v2
https://arxiv.org/abs/2402.16720
Think2Drive: Efficient Reinforcement Learning by Thinking in Latent World Model for Quasi-Realistic Autonomous Driving (in CARLA
Real-world autonomous driving (AD) especially urban driving involves many corner cases. The lately released AD simulator CARLA v2 adds 39 common events in the driving scene, and provide more quasi-realistic testbed compared to CARLA v1. It poses new challe
arxiv.org
0. Abstract
- Real world의 Corner case를 포함하는 자율주행 벤치마크 CARLA V2의 등장
Real world 에서의 자율 주행, 특히 도시 주행에는 많은 Corner cases가 포함된다. 최근 공개된 자율 주행 벤치마크인 CARLA Leaderboard v2는 이러한 코너 케이스를 포함하여 39개의 새로운 일반적인 이벤트를 포함하며, 이는 새로운 도전 과제를 제시한다.
cf1. Corner Case: 일반적인 상황은 아니지만, 특정한 환경에서 문제가 될 수 있는 복잡한 상황 ex) 무단 횡단
cf2. 해당 논문이 나올 당시 아직까지 CARLA V2를 완주한 모델은 없었음.
- Model Based RL 방법론 적용
해당 연구는 신경망을 기반으로 한 주행 플래너를 학습하는 방법을 사용하여 CARLA V2로 파생된 도전 과제를 해결하고자 한다. 자율 주행을 위해 최초로 Model-based RL 방법을 사용하는 Think2Drive를 개발했으며, 환경 전이를 학습하는 컴팩트한 잠재 세계 모델((latent-world model))을 사용하고, 이후 신경망 시뮬레이터로 작동하여 에이전트 즉, 플래너를 훈련시킨다.
Think2Drive는 단일 A6000 GPU에서 3일간의 훈련 후 CARLA v2에서 전문가 수준의 성능을 달성, CARLA v2에서 100% 경로 완료함. 또한 특정 시나리오별 평가를 가능하게 하는 새로운 벤치마크 CornerCaseRepo, 시나리오 밀도를 고려한 균형 잡힌 성능 평가 지표를 제안한다.
1. Introduction
- Rule based AD vs E2E AD
자율 주행, 특히 도시 주행은 차량이 밀집하고 다양한 교통 참여자들과 상호 작용해야 하며, 복잡하고 동적인 교통 상황에 적응해야 한다.
모든 경우를 철저히 고려해야하는 규칙 기반((rule-based)) 경로 계획 방법은 롱테일((long-tail)) 시나리오를 다루는 것이 사실상 불가능하며, 시스템이 확장될 수록 규칙 간 충돌 가능성이 증가하기 때문에 한계를 갖는다.
cf. long-tail scenarios: 매우 드물게 발생하지만, 현실에서는 중요한 복잡한 상황들 = corner cases
현재는 데이터와 연산을 확장하여 완전한 자율 주행을 달성할 수 있는 신경망 기반 플래너(E2E)를 도입하는 추세를 보인다.
- 기존 자율 주행 벤치마크 데이터 셋의 한계 # 너무 단순함 -> 여기서 개발된 모델들은 실용성 X
CARLA Leaderboard v1, HighwayEnv와 같은 벤치마크 데이터셋은 환경 내 에이전트(agent)의 행동이 일반적으로 단순하며, 도로 조건의 다양성과 복잡성이 제한적이어서 실제 도로 주행과의 차이가 존재한다. 따라서 이러한 환경에서 개발된 방법들은 일반적인 실제 교통 시나리오를 처리하지 못할 가능성이 높으며, 이는 실용성을 크게 제한한다.
cf. CARLA v1는 생각보다 단순하여, 기본적인 rule-based 코드로도 거의 완벽한 성능을 달성할 수 있다. 즉 이렇게 단순한 데이터셋에서 성능이 좋았다고 해서 현실에서도 동일한 성능이 나온다고 보장할 수 없다.
- 준현실적인((quasi-realistic)) 벤치마크 CARLA Leaderboard v2 # Corner Case에 대한 데이터 부족...
2022년 11월에 공개된 CARLA V2는 기존 V1 대비 39개의 추가적인 복잡한 주행 시나리오가 포함한다.
하지만 Corner Case는 말 그대로 모든 경로에서 드물게 발생하기에 아직까지 학습에서 롱테일 문제(long-tail problem)를 야기하게 된다.
CARLA 팀은 이러한 벤치 마크의 난이도를 고려하여, 코너 케이스에 대해 사람이 직접 주행하여 시나리오를 해결하는 데모의 일부를 제공했는데, 모방 학습((imitation-learning)) 방법을 소수의 샘플만으로 적용하는 것도 쉽지 않다.
이러한 어려움 때문에 기존의 규칙 기반 방법론 혹은 Model Free RL을 사용하는 선행 연구 모두 CARLA v2에서는 전혀 작동하지 못한다.
cf1. v1는 10개의 시나리오만 존재했음.
cf2. v2에서는 차선이 없는 도로에서 전방에 공사 구역을 마주하는 등의 복잡한 시나리오들이 추가된다.
cf3. long-tail problem: 데이터가 특정 몇몇 상황에 집중되어 있고, 드문 상황인 코너 케이스에 대한 학습이 부족한 문제
cf4. 모방 학습: 사람이 주행한 데이터를 보고 모델이 학습하는 방식. 모방 학습을 위한 코너 케이스 데이터가 부족해서 쉽지 않다는 것이다..
- 연구의 목표 및 핵심 아이디어 # Model-based RL ***
해당 연구는 데이터 효율성((data-efficiency))과 복잡한 시나리오에 대한 유연성((flexibility))을 갖춘 모델 기반 강화 학습 접근 방식을 활용하여 CARLA v2 환경에서의 주행 Policy를 학습하여 얻고자 한다.
cf. data efficiency: 적은 데이터로도 학습 가능
그냥 Model based RL을 적용한다고 해서 문제가 해결되는 것은 아니다. 이는 복잡한 도로 환경, 롱테일 분포에서 상호 작용이 많은 행동과 같은 자율 주행의 본질적인 어려움을 포함할 뿐만 아니라, 시뮬레이터에서 대량의 샘플을 효율적으로 수집하는 공학적 문제도 포함하게 된다.
해당 연구에서는 구체적으로 환경의 transition function를 World Model을 사용하여 모델링하고, 이를 신경망 기반 시뮬레이터로 활용하여 플래너가 학습된 잠재 공간((Latent Space))에서 생각하며 주행할 수 있도록 한다.
물리적인 시뮬레이터가 아닌, 학습된 환경 전이 함수를 사용하여 latent space에서의 신경망 기반 시뮬레이터에서 학습 데이터를 구할 수 있게되고 이로 인해 훨씬 빠른 반복 속도로 수백 개의 롤아웃(rollout)을 병렬로 수행할 수 있게 된다.
cf. Rollout: 정책을 실행하여 상태-행동-보상 데이터를 생성하는 과정
좀 더 자세한 설명
World model이 환경이 어떻게 변하는지 예측하도록 학습된다. 이 학습된 world model을 사용하면 강화 학습이 실제 환경과 직접 상호작용하지 않고도 world model이 만드는 가상의 환경에서 정책을 학습할 수 있다는 거다.
기존 CARLA 같은 물리적인 시뮬레이터는 실행 속도가 느리고 병렬화가 어렵지만, World model이 만드는 신경망 기반의 가상 시뮬레이터는 말 그대로 신경망 기반이기 때문에 GPU를 사용하여 수 백개의 롤 아웃을 동시에 수행할 수 있다. 따라서 반복 속도가 훨씬 빨라지고, 더 적은 데이터로도 효과적인 학습이 가능해진다.
https://worldmodels.github.io/
World Models
Can agents learn inside of their own dreams?
worldmodels.github.io
이러한 장점에도 불구하고 World model 기반의 Model-based RL는 자율 주행에 적용하는 것은 여전히 어렵다. 다음과 같은 문제점 때문이다.
- Model-Based RL을 자율 주행에 적용할 때의 주요 문제점 및 해결 방법
문제점 1) 정책 저하 Policy Degradation # 서로 다른 시나리오 에서 Optimal policy 간의 모순이 있을 수 있다.
이 때문에 주행 모델은 local optima에 빠질 가능성이 높다.
ex) 막히지 않는 고속도로에서는 차량 간 안전 거리 유지 vs 막히는 출퇴근 시간에는 적극적으로 앞차와 상호작용
-> 훈련 중간에 플래너의 모든 가중치를 초기화, World model은 유지하여 국소 최적해를 벗어나도록 유도
2) 롱테일 문제 # 보기 드문 일에 대한 훈련 데이터를 확보하기 어렵다.
-> 도로 상황을 기반으로 시나리오를 생성할 수 있는 자동화된 시나리오 생성기를 구현하여, 플래너에 풍부하고 시나리오 밀도가 높은 데이터를 제공
cf. 코너 케이스를 인위적으로 생성하여 학습 데이터를 확보한다는 것이다.
3) 차량 핸들링 안정성 Vehicle Heading Stabilization # 동일한 행동 오랜 시간 유지하는 것이 어렵다.
-> 조향 값을 지나치게 자주 변경하지 않도록 패널티 비용를 부여하는 loss function를 추가
이 세가지 문제점 이외에도 초기 실행, 학습 신호가 지연되는 등 추가적인 어려움이 발생하게 된다. 이는 3장에서 더 자세히 다루게 된다.
- 주요 기여
1) CARLA v2의 39개 시나리오를 단일 A6000 GPU에서 3일 만에 해결
2) 기존 모델 프리 RL보다 데이터 효율성이 뛰어나고 복잡한 시나리오에서도 강력한 성능
3) 경로 계획(Planning) 및 교사 모델 Teacher Model로 활용 가능
https://thinklab-sjtu.github.io/CornerCaseRepo/
Think2Drive: Efficient Reinforcement Learning by Thinking with Latent World Model for Autonomous Driving (in CARLA-v2)
Real-world autonomous driving (AD) especially urban driving involves many corner cases. The lately released AD simulator CARLA v2 adds 39 common events in the driving scene, and provide more quasi-realistic testbed compared to CARLA v1. It poses new challe
thinklab-sjtu.github.io
- 참고) 왜 Model free RL는 자율주행 테스크에서 좋은 성능을 못보이는가?
해당 논문이 쓰여질 때 알려진 기존 자율 주행을 위한 강화 학습 방법론들은 대부분 Model-free 방식이었으며 위에서 언급한 CARLA v2의 복잡성으로 인해 본질적으로 데이터 비효율성 문제를 겪는다. 다음을 참고하자
모델 프리 강화학습이, 모델 기반 강화학습보다 데이터가 더 필요한 이유 # 데이터 비효율성
1. Model-Free RL은 왜 데이터가 많이 필요할까?
Model-Free RL은 환경의 동작(전이 함수)을 직접 모델링하지 않고, 주어진 데이터에서만 학습한다.
즉, 실제 환경에서 직접 샘플을 수집하여 행동(action)의 결과를 학습해야 한다.
✔ Model-Free RL의 특징
환경 모델이 없음 → 정책(policy)을 학습하려면 매번 실제 환경과 상호작용해야 함.
샘플 효율이 낮음 → 같은 상황을 여러 번 경험해야 학습이 안정적으로 이루어짐.
고차원 환경에서 어려움 → 복잡한 시나리오일수록 더 많은 경험이 필요함.
✔ CARLA v2에서 Model-Free RL이 비효율적인 이유
CARLA v2의 시뮬레이션은 무겁고 실행 속도가 느림 → 데이터를 많이 모으는 데 시간이 오래 걸림.
희귀한 코너 케이스(예: 공사 구역 우회)는 자주 발생하지 않음 → 학습하려면 해당 상황을 반복적으로 수집해야 하지만 현실적으로 어렵다.
다양한 차량/보행자 상호작용이 있음 → 단순한 강화 학습 정책으로는 일반화가 어렵고 더 많은 데이터가 필요함.
즉, Model-Free RL은 환경을 직접 경험해야 하므로, 데이터를 효율적으로 사용하지 못한다.
# 데이터가 많이 필요한데, 코너 케이스에 대한 데이터를 잘 구할 수 없다.
예를 들어, 차선을 변경하는 행동을 학습하려면 실제 차량이 차선을 변경하면서 발생하는 데이터를 직접 수집해야 한다.
2. Model-Based RL은 왜 데이터 효율성이 높을까?
Model-Based RL은 환경의 전이 함수(환경 모델)를 학습한 후, 이 모델을 활용하여 정책을 학습한다.
즉, 실제 환경에서 샘플을 수집한 후, 이를 바탕으로 가상의 환경 모델을 만들어 추가적인 데이터를 생성할 수 있다.
✔ Model-Based RL의 특징
환경 모델을 학습 → 실제 환경을 경험한 데이터를 기반으로 내부 시뮬레이터(환경 모델)를 생성함.
샘플 효율이 높음 → 실제 환경과 직접 상호작용하지 않아도 모델을 이용해 가상의 데이터를 생성할 수 있음.
고차원 환경에서도 효과적 → 복잡한 시나리오를 모델을 통해 더 빠르게 학습 가능함.
✔ CARLA v2에서 Model-Based RL이 효율적인 이유
실제 시뮬레이션이 느려도, 한 번 수집한 데이터를 바탕으로 가상의 환경에서 추가 학습할 수 있음.
코너 케이스를 직접 샘플링하기 어려워도, 학습한 환경 모델을 통해 희귀한 상황을 시뮬레이션 가능함.
Model-Free 방식처럼 모든 행동을 실제 환경에서 반복 실행할 필요가 없음 → 적은 데이터로도 효과적인 학습 가능.
예를 들어, 차선 변경을 학습할 때, Model-Based RL은 한 번의 차선 변경 데이터를 학습한 후, 환경 모델을 이용하여 가상의 시뮬레이션을 통해 추가적인 학습이 가능하다.
즉, 실제 환경에서 데이터를 수집하는 비용이 줄어든다.
cf. 모델 기반 강화학습 모델이 존재하긴 하지만, CARLA V2를 해결하고자 하지는 않았다.
2. Related Work
- Model Based Reinforcement Learning
Model-Based RL은 월드 모델World Model 을 활용하여 환경의 전이((Transition))를 학습하고, 이를 통해 실제 환경과의 상호작용 없이 강화 학습을 수행하여 데이터 효율성을 높이는 방법.
- PlaNet: Recurrent State-Space Model (RSSM) 기반으로 환경을 모델링.
- Dreamer 시리즈 (Dreamer, Dreamer2, Dreamer3): RSSM을 기반으로 월드 모델 성능 개선.
- 특히 DreamerV3는 Minecraft, Crafter 등에서 SOTA 성능을 달성하며, 별도 하이퍼파라미터 튜닝 없이도 뛰어난 성능을 보임.
- Daydreamer: Model-Based RL을 물리적 로봇(Physical Robots)으로 확장.
다음과 같은 장점을 보인다.
데이터 효율성Data Efficiency → 물리적 시뮬레이터(CARLA) 없이 학습 가능
자율 주행 장면의 전이 학습이 쉬움 → BEV 기반 학습이 Atari, Minecraft보다 용이
- Reinforcement Learning-based Agents in CARLA
CARLA에서는 강화 학습(RL)을 활용한 주행 모델이 Expert Model로 사용될 수 있음
1) 기존 접근법
- DDQN, TD3, SAC: BEV 데이터를 활용한 강화 학습 적용.
- MaRLn: 원본 센서 입력을 활용한 RL → Leaderboard v1에서 성능 부족.
- Roach: SOTA Model-Free RL 모델 → CARLA v2에서는 실패.
2. 기존 Model-Based RL의 한계
- 일부 연구에서 AD에 Model-Based RL을 적용했지만, CARLA v2 수준의 복잡한 환경에서는 실패.
cf. 1장에서 한계를 정리해놨다.
3. Think2Drive 이후 등장한 PDM-Lite
- 규칙 기반(rule-based) 플래너로 CARLA v2의 모든 시나리오 해결 가능.
- 하지만 각 시나리오별 다른 하이퍼파라미터 설정이 필요하여 수동 조정이 많음.
3. Methodology
3.1) Problem Formulation with Model-based RL
CARLA 시뮬레이터 상의 주변 차량 및 장애물의 BBOX, HD-Map, 신호등 상태 등의 정보를 포함하는 (x_t)를 입력으로 사용한다. 해당 연구는 경로 계획에 초점을 맞추기 때문에, perception 영향은 제거하고 모든 정보를 직접 준다.
경로 계획의 최종 목적은 차량을 실제로 제어하는 것이기에 가속, 조향, 브레이크 값을 출력으로 갖는다.
현재 상태를 기반으로 행동을 출력하는 플래너 모델을 설계하고, 주행 환경이 어떻게 변화하는지 학습하는 World model F를 구축하여 물리적 시뮬레이터와 직접 상호작용하지 않고 생각하며 주행하고 학습할 수 있도록 한다. 다음과 같은 수식을 보면서 이해해보자.
World model이 latent space에서의 state로 변경한다. 즉 물리적인 시뮬레이터 정보가 아닌 latent space에서의 state 정보를 사용하게 된다. 월드 모델의 잠재 상태 공간 latent space에서 시뮬레이션을 실행하므로써, 플래너는 무거운 물리적 시뮬레이터와 상호작용하지 않고도 효율적으로 학습할 수 있다.
해당 state 정보를 받아 플래너 모델 π가 어떤 행동을 취할 지 결정한다.
마지막으로 world model은 state와 action을 받아 reward ( r_t), 종료 상태 (c_t), 다음 상태를 예측한다.
요약:
학습 모델: world model F , 플래너 모델 π
input: BBox, HD-Map, 신호등 상태를 latent space로 보내 사용 ((x_t -> s_t)) # 효율적 학습 위함
output: 제어 신호((a_t))
3.2) World Model Learning and Planner Learning
해당 연구는 DreamerV3이라는 구조를 사용하여 World model과 플래너를 모델링한다. 해당 연구의 핵심 기여는 자율 주행에서 최초로 Latent space 기반 월드 모델을 성공적으로 도입한 것이다.
https://arxiv.org/abs/2301.04104
Mastering Diverse Domains through World Models
Developing a general algorithm that learns to solve tasks across a wide range of applications has been a fundamental challenge in artificial intelligence. Although current reinforcement learning algorithms can be readily applied to tasks similar to what th
arxiv.org
cf. 현재 SOTA 모델
- World Model의 환경 전이 학습
World model은 Recurrent State-Space Model (RSSM)을 사용하여 환경의 전이를 학습하게 되며, 아래의 주요 4가지 요소로 이루어진다. # State = h + z
헷갈릴 수 있으니 잘 정리하고 넘어가자. h는 과거 맥락을 포함한 hidden state이다. 이걸 이제 '현재' 환경에서 얻은 정보 (x_t) 와 함께 인코더에 넣어서 latent space로 보내는 것이다!!!!!!!!!!! 이렇게 나온 z가 latent space에서의 state이다.
이제 이 과거 맥락인 hidden state와 latent space에서의 state 그리고 행동을 합쳐 다음 hidden state를 구할 수 있다.
플래너를 학습시키는 과정에서는 Dynamics predictor가 작동하여, latent space의 state z를 계속 예측해나 갈 것이다.
1) Recurrent State-Space Model ( RSSM )
- 환경의 전이(Transition)를 학습하여 잠재 공간Latent Space에서의 상태 변화 예측
- 핵심 요소:
- Sequence Model: 과거 상태, 행동, 잠재 변수를 기반으로 새로운 상태 (h_t) 예측
- Encoder: 실제 입력 (x_t)를 받아 확률적 표현 (z_t)생성
- Dynamics Predictor: 현재 상태 (h_t) 를 기반으로 다음 상태 (z_t) 예측
2) Reward Predictor
- 모델 상태 state = h, z 를 기반으로 보상 r 예측
- 플래너 학습을 위한 보상 신호 제공
3) Termination Predictor
- 모델 상태 state = h, z 를 기반으로 에피소드 종료 여부 예측
- 강화 학습에서 학습 종료 조건을 설정하는 역할
4) Decoder
- 잠재 상태 h, t에서 원본 입력 x를 복원
- 해석 가능한 표현을 생성하여 학습을 안정화, latent space에서의 vector가 잘 구성되어 있는지 검증.
이러한 구조를 통해 잠재 공간 Latent space에서 정확한 환경 전이 함수를 제공하여 플래더 모델이 효율적으로 학습할 수 있도록 한다.
다음과 같은 Loss function통해 학습을 이어 나간다.
- Planner Learning
플래너는 actor-critic 구조를 사용하여 학습된다.
- 플래너 모델(Actor): 주어진 상태에서 최적의 행동을 선택하는 역할.
- 크리틱 모델(Critic): 각 상태에서 행동의 가치(보상 기대값)를 평가하여 플래너 학습을 지원.
...
더 공부 필요함..
3.3) Challenges and Our Devised Bricks ***
이 파트가 논문의 핵심이라고 볼 수 있다. 기존 Model-Based RL 방식이 자율 주행에 적용되기 어려운 여러 문제를 해결하기 위해 핵심 기법 Bricks를 도입한다.
Challenge 1: 정책 저하 Policy Degradation
- 특정 쉬운 시나리오에 최적화될 경우, 어려운 시나리오를 학습하지 못하는 문제 발생
- 예: 앞 차량 급정거(안전 거리 유지) vs. 고속도로 합류(공격적 주행 필요)
- 쉬운 전략에 최적화되면 국소 최적해(Local Optima)에 갇힐 위험 존재
>> Brick 1: Reset Technique 적용
- 학습 중간에 플래너의 모든 파라미터를 무작위 초기화하여 국소 최적해 탈출
- World Model은 유지하여 Cold-Start 문제 방지
Challenge 2: 시나리오 다양성 부족 Sparse Scenarios in CARLA v2
- CARLA v2의 39개 시나리오가 특정 경로에서만 발생하여 학습 데이터 편향 문제 발생
>> Brick 2: 자동화된 시나리오 생성기 도입 - 경로를 짧게 분할하여 다양한 시나리오 생성
- 새로운 평가 벤치마크 "CornerCaseRepo" 도입 → 시나리오별 성능 분석 가능
Challenge 3: 학습 효율 저하 Inefficient Transition Sampling
- 중요한 전이(Transition)들이 시간에 따라 불균등하게 발생
- 예: 신호 대기 중 100프레임 생성되지만 대부분 의미 없음
>> Brick 3: 종료 우선 샘플링 Termination-Priority Sampling 적용
- 예: 신호 대기 중 100프레임 생성되지만 대부분 의미 없음
- 중요한 전이를 효율적으로 학습하기 위해, 에피소드 종료 직전 𝐾개의 프레임을 우선 샘플링
- World Model 학습 향상 → 환경 전이 예측 정교화
- cf. latent space로 보내기 전 BBox, HD-map 등을 포함한 데이터를 latent space로 보내 world model를 학습한다. 이때의 데이터를 종료 직전에 우선적으로 샘플링한다는 것이다..
Challenge 4: 차량 핸들링 안정성 Vehicle Heading Stabilization
- RL 기반 모델 특히 확률적 정책이 일관된 주행 행동 유지 어려움
- 예: Roach 모델에서 차량이 직선 도로에서 헤드 흔들림 문제 발생
>> Brick 4: 조향 비용 함수 Steering Cost Function 도입
- 예: Roach 모델에서 차량이 직선 도로에서 헤드 흔들림 문제 발생
- 조향 값의 잦은 변경에 패널티를 부여하여 차량 주행 안정성 향상
Challenge 5: 시나리오 난이도 차이 Difficulty Imbalance in Scenarios
- 모든 시나리오를 한꺼번에 학습하면 학습 곡선이 급격하게 형성
- 안전이 중요한 시나리오에서는 지나치게 보수적인 정책 Local Optima에 갇힐 위험 존재
>> Brick 5: 난이도 조절 학습 Curriculum Learning 적용
- 안전이 중요한 시나리오에서는 지나치게 보수적인 정책 Local Optima에 갇힐 위험 존재
- 초기: 직진, 단순 회전과 같은 쉬운 시나리오 학습
- 점진적으로 난이도를 증가시켜 복잡한 시나리오 학습
Challenge 6: 학습 속도 저하 Slow Convergence Due to Reward Delay
- 보상이 지연되면서 플래너 학습 속도가 느려질 위험 존재
>> Brick 6: 점진적 학습 속도 증가 Incremental Training Ratio 적용 - 초기: 플래너와 World Model 학습 비율 동일
- 후반: 플래너 학습 비율을 World Model보다 4배 증가
Challenge 7: RL 학습 시 환경 리셋 속도 문제 Slow Environment Reset in CARLA
- CARLA에서 환경 리셋에 40초 이상 소요 → RL 학습 속도 저하
>> Brick 7: CARLA의 RL 환경 최적화 - RL 학습에 최적화된 환경 래핑 Standardized APIs 적용
- 비동기 로딩(Asynchronous Reloading) 및 병렬 실행(Parallel Execution) 기법 도입하여 속도 향상
4. Experiment
4.1) CARLA Leaderboard v2 주요 변경점 및 난이도 증가 원인
- 버전 업그레이드: CARLA v2는 0.9.14 버전에서 평가, 기존 v1(0.9.10)보다 더 복잡한 도시 주행 시나리오 추가
- 난이도 증가 원인
- 경로 길이 증가: v1의 1km → v2는 7~10km로 확대
- 시나리오 복잡도 증가: 경로당 약 60개의 복잡한 주행 시나리오 포함
- 점수 감점 방식 변경: 위반 시 지수적(Exponential) 감점 적용, 높은 점수 획득 어려움
- 제한된 학습 데이터: 공식 제공 90개 학습 경로 외 추가 시나리오 배치 지원 없음
4.2) CornerCaseRepo Benchmark
- 기존 문제점 해결: 공식 벤치마크는 여러 시나리오가 긴 경로(>7km)에 포함되어 있어 모델 학습 및 평가가 어려움
- CornerCaseRepo 개선점
- 경로 개수 증가: 학습용 1,600개 경로, 평가용 390개 경로 제공
- 단일 시나리오 포함: 각 경로는 단일 시나리오만 포함하며, 길이 300m 미만으로 설정
- 학습 데이터 구성: 시나리오별 40개 경로 + 시나리오 없는 40개 경로 제공
- RL 훈련 방식: 경로를 랜덤 샘플링하여 훈련
>> CARLA 공식 메트릭 지원: 주행 점수(DS), 경로 완료율(RC) 등을 활용해 개별 시나리오 성능 분석 가능
4.3) Weighted Driving Score(WDS) # metric
- 기존 CARLA 점수 체계의 문제점
- 주행 중 위반률이 일정할 경우, 주행 거리가 길어질수록 점수가 감소하는 현상 발생
- 예) 5km 주행 시 점수 0.8 → 10km 주행 시 점수 0.64 (비합리적)
- 새로운 평가 방식: WDS(Weighted Driving Score) 제안
- 기존 점수 체계를 보완하여 주행 거리(Route Completion), 위반 횟수(Number of Infractions), 시나리오 밀도(Scenario Density)를 고려한 가중 점수
- 주행 거리와 위반 횟수를 균형 있게 반영하여 평가 결과의 왜곡을 방지
- ego vehicle이 주행 중 평균적으로 경험한 위반 횟수를 기반으로 평가 가능
4.4) Performance
1) 훈련 환경: A6000 GPU + AMD EPYC 7542 (128코어), 훈련 시간 3일, CornerCaseRepo 벤치마크:
- Think2Drive(model-based RL) → PPO 기반 RL 모델 Roach보다 성능 우수
- TCP: E2E 모방 학습 → 인지 및 학습 한계로 전문가 모델과 큰 성능 차이
2) CARLA Leaderboard v1 & v2 성능 비교:
- Think2Drive가 Roach보다 모든 환경에서 뛰어난 성능
- PPO는 로컬 옵티마 문제로 성능 저하 -> 리셋 해도 아무 도움 없이 policy를 다시 학습해야함..
- 모델 기반 RL이 더 안정적이고 효율적인 학습 가능
>> Think2Drive는 기존 모델(PPO, Roach) 대비 우수하며, 특히 복잡한 CARLA v2에서도 강력한 성능을 입증.
4.5) Infraction Analysis on Hard Scenarios
- Think2Drive는 복잡한 차선 변경 및 교차로 주행 협상에서 높은 난이도를 경험
- 특히, CARLA v2의 랜덤 교통 생성 및 공격적인 교통 흐름 설정으로 인해 사고 위험 증가
- 결과적으로, Ego 차량은 빠른 판단과 정확한 가속·감속 조절이 필요함
4.6) Visualization of World Model Prediction
1) World Model의 역할
- 에이전트의 행동(Action)에 따라 관측 값(Observation)과 미래 보상(Future Rewards)을 예측 가능
- 예측된 데이터를 디코딩하여 BEV(Bird’s Eye View)에서 해석 가능한 마스크로 변환
2) 시각화 분석
- 초기 입력(Initial Input)과 50 스텝 후 예측된 BEV 마스크 비교
- World Model이 실제와 유사한 미래 상태를 생성할 수 있음
- → 이는 모델 기반 RL(Model-Based RL)이 자율주행(AD)에서 효과적인 이유 중 하나
3) 결론
- World Model이 환경 전이(Transition Function)를 잘 학습할 수 있으며, 이를 활용해 미래 주행 상태를 예측할 수 있음 >> 자율주행 환경에서 모델 기반 RL의 강점을 입증
4.7) Ablation Study
3.3에서 설명한 Brick들을 제거해보며 영향을 실험한 결과다. Reset(Brick 1)과 Warmup(Brick 5) 이 가장 중요한 요소로 확인 되었으며, 나머지 Bricks도 학습 속도 및 안정성에 큰 영향을 미친다.
이런 테크니컬한 부분도 결과에 큰 영향을 줄 수 있으며, 논문의 포인트가 될 수 있다는 점이 신기하다....
5. Implement Details
1) 입력 데이터
Think2Drive는 BEV 시맨틱 세그멘테이션 마스크와 차량 상태 정보를 입력으로 사용한다.
- BEV 세그멘테이션 마스크
- 각 채널은 특정 객체 유형을 나타냄
- 경로, 차선, 차선 표시는 변하지 않는 정적 요소로 하나의 마스크로 표현됨
- 차량, 보행자 등 동적 객체는 과거 여러 스텝 동안의 상태를 개별 마스크로 포함
- 추가 입력 데이터
- Ego 차량의 속도, 조향, 가속, 브레이크 값과 상대 높이 정보를 포함
2) 출력 데이터
- 행동을 30개의 이산적인 선택지로 변환하여 제어 복잡성을 줄임
- 세부적인 행동 목록은 Table 6에 정리됨
3) 보상 함수
Think2Drive는 안전한 주행과 경로 완수를 유도하기 위해 보상 함수를 구성했다.
>> Think2Drive는 BEV 기반 입력을 활용하여 정적, 동적 객체 정보를 반영하고 행동을 이산적으로 조정해 복잡성을 줄였다. 속도, 이동 거리, 차선 유지, 조향 안정성을 반영한 보상 함수를 통해 안전하고 효율적인 주행을 학습하도록 설계함
6. Conclusion
Think2Drive는 순수 학습 기반의 주행 플래너로, 모델 기반 강화 학습(Model-Based RL) 프레임워크를 활용하여 자율주행 환경에서 효과적인 주행을 수행할 수 있도록 설계되었다.
- CARLA Leaderboard v2의 39개 모든 시나리오에서 학습 가능하며, 단일 GPU에서 3일 이내에 훈련 완료
- Resetting Technique, Automated Scenario Generation, Termination-Priority Replay, Steering Cost Function 등의 맞춤형 기법(Bricks) 적용
- 모델 기반 RL을 활용하여 quasi-realistic 자율주행 시나리오에서 효과적인 해결책을 제시
- Think2Drive는 E2E 자율주행 모델을 위한 전문가 주행 데이터 수집 모델로도 활용 가능