본문 바로가기

논문 리뷰

자율주행 논문 리뷰: Learning robust control policies for end-to-end autonomous driving from data-driven simulation

728x90

Author: Joonhee Lim
Team: UNIST RML
Date: 2022/01/18


0. Abstract

이 논문에서는 Sparse Rewards만을 이용하여 End to End 자율주행 Policy를 학습할 수 있는 Data 기반 시뮬레이션 및 엔진을 제시하였음.

 

Sparse Rewards란 Episode 내에서 보상을 받는 경우가 굉장히 희박한 경우를 뜻합니다.

-> Sparse Rewards일 때 초반 Replay Buffer를 쌓기 위해서 random policy로 transition을 수집하게 되면 학습에 악영향을 끼칠 수 있음(Random Policy로 Episode를 진행하면 Reward를 받는 경우가 거의 없기 때문에)

* 이를 해결하기 위해 초반 학습단계에서는 최대한 dense하게 Reward Function을 설계하고 이후 학습에서는 기존의 Reward Function을 사용하기도 합니다.

 

<해당 논문의 핵심 아이디어>

 

환경을 통해 사람이 수집한 실제 이동 경로를 활용하여 가상 에이전트가 운전할 수 있도록 하는 새로운 Train Data를 렌더링


1. Introduction

  • 자율주행을 위한 기존 End to End Neural Network의 한계점
  1. Robust한 모델을 학습하는 방법의 부족
  2. 막대한 시간과 비용이 드는 학습 데이터 구축(End to End 학습을 위해선 방향에서 벗어난 차량의 위치 복귀, 충돌 근처 지점에서의 복귀와 같은 모든 사례에 대응할 수 있도록 학습 데이터를 구축해야만 함)

이를 해결하기 위해서 학습 데이터 취득이 쉽고 안전한 Simultation 환경에서의 자율주행 학습잠재적 해결책으로 사용되고 있으나 시뮬레이션 학습을 통한 정책을 현실로 옮기는 것은 여전히 해결하지 못한 연구 과제임.

 

이 논문에서는 시뮬레이션으로 훈련한 RL Agent를 어떠한 미세 조정 없이 실제 환경에서의 도로와 환경(Agent가 훈련할 때 보지 못했던)에 직접 배치할 수 있음을 입증하였음.

Fig. 1. Training and deployment of policies from data-driven simulation 출처: 원문

 

  • VISTA(Virtual Image Synthesis and Transformation for Autonomy) - 해당 논문에서 제시한 학습 방법

인간이 수집한 적은 데이터셋(과연 적을까?)을 통해 현실에서의 주행이 가능하게끔 사실적이고 의미있는 연속 주행 경로를 합성

-> 이를 통해 방향에서 벗어난 차량의 위치 복귀, 충돌 근처 지점에서의 복귀와 같은 모든 사례에 대응할 수 있음

 

이 시스템은 인간의 행동만을 모방하는 기존의 End to End System(Imitation Learning)과 달리 다양한 도로 및 환경에 대한 안정적인 차선 제어 Policy를 학습할 수 있습니다.

-> 현재의 모방학습(Imitation Learning)을 넘어 이전에 보지 못한 도로와 복잡하고 충돌에 가까운 상황에서 일반화하고 주행할 수 있는 학습 방법(해당 논문에서 제시)이 존재하지 않기에 매우 큰 발전임

 

How?

실제 주행 데이터에서 광범위한 차량 위치와 방향에 대한 학습 데이터를 종합하여 해당 도로와 일치하는 새로운 경로를 생성하고 다른 도로로 이동하는 학습 정책을 생성함

-> 이러한 점이 시뮬레이션에서 학습된 Policy가 충돌에 가까운 위치(실제 환경에서 학습하기 어려운 상황)에서 에이전트가 회복할 수 있는 시나리오들을 생성해 냄

 


2. Related Work

  • Transferable Policy Learning using Domain randomization
  • Stochastic Augmentation techniques on smaller mobile robots
  • and so on..

해당 연구와 비슷한 맥락의 연구들(End to End 학습, Transfer Learning)은 많았지만 이전 연구에서 해결하지 못했던 다양한 문제점들을 이 논문에서 해결했다는 내용들이 담겨있음 - 시간이 되면 여기서 나온 다양한 이전 사례들도 리뷰해보겠습니다.


3. Data-Driven Simulation

VISTA는 Virtual Agent가 환경을 지날 때 사실적이고 의미있는 정확한 로컬의 관점을 통합시킴

Fig. 2. Simulating novel viewpoints for learning 출처: 원문

Global State Update Process(좌표 변환을 위한 과정)

1. 환경을 t라는 시점에 관찰한 Agent는 바람직한 Steering 값과 Velocity값을 다음 관찰까지 실행하도록 명령한다

 * 이 때 Δt는 관측치 사이의 시간 차이를 나타냄

2. VISTA는 마지막 time step 이후의 Global State 변화를 계산한다.

3. Global State를 Update한다.

Global State 변화량&amp;amp;amp;nbsp; &amp;amp;amp;nbsp;출처: 원본

 

Global State Update 수식

Applying a 2D Rotational Matrix&amp;amp;amp;nbsp; &amp;amp;amp;nbsp;출처: 원문

 

이 과정은 환경을 탐색하는 Virtual Agent와 실제 환경에서 운전한 인간의 데이터 모두에 대해 반복된다.

그 후 VISTA는 두 State Vector의 차이를 계산하여 상대 변위를 계산함으로써 VISTA는 항상 가장 가까운 인간의 State에 대한 Agent의 이동 방향 및 각도 섭동 추정치를 유지함(무슨 말인지 잘.. ㅋㅋ)

 

Synthesis Process

  1. Depth Map은 CNN을 통해 추정함(Depth camera를 쓰면 안되나?)
  2. 추정된 Depth Map과 Original Image를 사용하여 2D Image를 3D Image로 변환시킨다.
  3. Agent와 사람 사이에 상대적 변환을 설명하기 위해 상대 좌표 변환을 적용
  4. 좌표 변환이 적용된 3D Image를 다시 차량 Frame의 2D Image로 변환
  5. 변환 된 이미지를 다음 State로 반환한다.

가상환경에서 약간 이동시킨 Agent의 데이터를 이용하여 학습진행(?)

이러한 Process를 통해 도로의 가로 및 세로 변환뿐만 아니라 국소 회전까지 시뮬레이션할 수 있음

-> 충돌에 가까운 위치(실제 환경에서 학습하기 어려운 상황)를 시뮬레이션할 수 있음

 

A. End to End Learning

 

CNN을 통해 이미지에서 저차원 Feature 공간으로 특징을 추출한 다음 Fully connected layers로 최종 제어 명령을 학습한다.

 

일단, 인간의 운전에서 관찰된 n개의 State, Action 쌍(St,At)이 주어지면 우리는 aˆt = f(st; θ)를 추정하는 θ에 의해 파라미터화된 Policy를 학습하는 것을 목표로 한다. 지도학습에서 Agent는 경험적 오류를 최소화함으로써 결정론적인 Action을 출력한다.

Loss Function&amp;amp;amp;nbsp; &amp;amp;amp;nbsp; 출처: 원문

하지만 RL에선 Agent는 인간의 실제 Command에 대한 Feedback이 없으며 할인된 누적 보상 Rt로 이를 평가한다.

&amp;amp;amp;nbsp;discounted accumulated reward&amp;amp;amp;nbsp; 출처: 원문

* γ ∈ (0, 1)은 할인 계수이다.

 

Agent는 지도 학습과 달리 모든 가능한 Action space로 확률적 Policy를 최적화한다.

이를 가우시안 분포로 매개변수화하여 출력하고 따라서 Policy Gradient를 계산할 수 있다.

Policy Gradient 계산&amp;amp;amp;nbsp; &amp;amp;amp;nbsp;출처: 원문

계산 식에 따라 θ는 ∇θ log(π(a|st; θ)) · Rt방향으로 업데이트된다.

 

Agent는 개입없이 주행할 수 있는 정도에 따라 보상을 받게 된다.

에이전트가 단순히 인간 운전자의 행동을 모방하는 방법을 배우는 지도 학습과 비교하여, 시뮬레이션의 RL은 에이전트가 특정 상황에서 총 보상을 최대화하는 적절한 행동을 학습할 수 있도록 한다. 따라서, 그 에이전트는 그 상황에서 인간이 어떻게 운전했는지 알지 못하고 에이전트는 자체 정책을 최적화하여(Algorithm 1) 더 먼 거리를 주행하는 방법을 배운다.

Algorithm 1&amp;amp;amp;nbsp; &amp;amp;amp;nbsp; 출처:&amp;amp;amp;nbsp; 원문

 

학습 환경 세팅

#Done Option

  • 차선 경계를 벗어나면 Episode 종료
  • 짧거나 긴 도로를 온전히 지났을 때 종료
  • 10km 주행 시 종료

각 Episode 종료 후 랜덤의 Train Position으로 이동!

Agent가 개입 없이 10km 주행에 성공하면 충분히 학습하였다고 지정함

 

알고리즘 흐름도

  • θ 초기화, D = 0로 초기화(distance)
  1. St 입력(Image Input)
  2. St에 대한 At Sampling
  3. VISTA를 이용한 St+1 입력
  4. time step마다 Reward 1 부여
  • D update
  • Rt update
  • θ PG update

4. Baselines

이 장에서는 비교가능한 평가 기준에 대해 논의한다.

 

A. Real-World: Imitation Learning

현실의 이미지를 이용하여 End to End Imitation Learning을 진행하였다.

카메라의 대수를 늘려 학습을 강화하는 것이 충돌에 가까운 위치(실제 환경에서 학습하기 어려운 상황)에서 복구하도록 가르치는 표준의 접근 방식이다.

 

* Augmented Inputs을 이용하기 위해 [2], [20]에서 사용한 기술을 사용한다고 나와있는데 나중에 시간이 있다면 리뷰..

 

Imitation Learning에 대한 자세한 설명은 https://cding.tistory.com/71 을 참고하면 좋습니다.

 

강화학습 강의 (CS234) 7강 - Imitation Learning / Inverse RL

- 본 포스팅은 CS234 7강의 내용을 정리합니다. * 강의 앞부분에 DQN을 정리하는 부분이 있는데, 그 부분은 그냥 빼고 설명하겠습니다. 오늘 배울 것들로는, Behavioral Cloning, Inverse Reinforcement Learnin..

cding.tistory.com

 

B. Model-Based Simulation: Sim-to-Real

CARLA 시뮬레이션 환경에서 Sim-to-Real 기법을 사용하였다.

CARLA 환경을 최대한 사실적으로 만들기 위해 엄청난 노력을 기울였지만 시뮬레이션과 현실과의 격차는 여전히 존재.

 

또한, CARLA에서만 훈련된 End to End 모델이 현실로 이전할 수 없다는 사실을 발견했다.

따라서 CARLA의 시뮬레이션 학습을 현실에 적용하기 위한 두 가지 기법을 평가했다.

 

  • Domain Randomization(DR)

    Agent를 환경의 많은 무작위 변형에 노출시켜 실제 환경에서의 견고성을 향상하고자한다.

    -> 태양 위치, 날씨 및 세계의 Object들의 색조(도로, 차선, 건물 등)을 무작위화시켰다.

DR-AUG&amp;amp;amp;nbsp; &amp;amp;amp;nbsp;출처: 원문

관점 증대를 통해 CARLA DR을 학습시키기 때문에 이러한 모델을 DR-AUG라고 부른다.

  • Domain Adaptation(S2R-AUG)

    실제 이미지와 시뮬레이션 이미지를 모두 사용하여 모델을 평가한다.

    두 도메인 사이의 잠재 공간이 공유되기 때문에 모델은 시뮬레이션 이미지로만 학습되었더라도 실제 이미지에서          값을 출력할 수 있다.

 

마찬가지로 관점 증대를 통해 학습시키기 때문에 이러한 모델을 S2R-AUG라고 부른다.

 

C. Expert Human

인간 운전자는 차선 중앙에 최대한 가깝게 설계된 경로를 운전하며,

학습된 다른 모든 모델과 공정하게 평가하고 비교하는 데 사용된다.


5. Results

A. Real-World Testbed

학습된 모델은 완전 자율 차량에 직접 배치되었다.

 

기본 카메라: LI AR0231-GMSL camera (120 degree field-of view), Operating 15 Hz

센서: IMU, Wheel Encoders, GPS

보드: NVIDIA PX2

 

차량은 20km/h로 유지하면서 주행하였고 훈련 데이터에는 없는 도로를 주행하였다

 

B. Reinforcement Learning in VISTA

VISTA 내에서 다양한 날씨 조건, 시간 및 도로 형태에서 자율 주행 차량의 종단 간 제어를 학습한 결과를 제시한다.

Test Results&amp;amp;amp;nbsp; &amp;amp;amp;nbsp;출처: 원문

발견한 사실

  1. 야간보다 낮에 더 빨리 학습한다는 것
  2. 비가 오는 것은 학습에 큰 영향을 끼치지 않는다는 것
  3. 도시의 도로를 시골의 도로보다 훨씬 빠르게 학습한다는 것(시골 도로에는 차선 표시가 없는 시각적 특징이 학습을 어렵게 만듦)

약 150만번의 훈련 반복 내에서 충돌 없이 10Km를 자율 주행하도록 수렴하였다.

 

C. Evaluation in the Real World

우리는 실제 배치된 VISTA 및 기준선 모델을 평가한다.

 

발견한 사실

  1. CARLA에서만 훈련된 모델은 전송되지 않았음
  2. 데이터 관점 증강을 사용한 훈련이 성능을 엄청나게 개선하였음

 

Evaluation of end to end Autonomous Driving&amp;amp;amp;nbsp; &amp;amp;amp;nbsp; &amp;amp;amp;nbsp;출처: 원문

각 모델들은 3회 학습을 받고 개별적으로 테스트된다.

내부 운전자는 차량이 차선을 벗어날 때 개입합니다.

세 번의 시행 평균 궤적은 그림 5에 나와있으며 빨간색 점은 운전자의 개입 위치이다.

 

IMIT-AUG는 인간 운전자의 실제 데이터로 직접 훈련되었기 때문에 일반적으로 좋은 성능을 보였다.

 

CARLA로 학습한 두 모델 중 S2R-AUGDR-AUG보다 우수한 성능을 보였고 이를 통해 시뮬레이션의 특정 속성을 무작위화하는 것보다 S2R-AUG 방식이 좀 더 안정적임을 알 수 있었다.

 

VISTA는 고려된 모든 모델 중 최고의 성능을 보였고 어떠한 인간의 개입도 요구하지 않았다.

VISTA의 분산은 인간의 개입을 초래하는 위치에서 급증하긴 하지만 교차로와 같은 애매한 상황에서의 분산이 더 높았다.

이를 통해 충돌에 가까운 시나리오에서 강한 면모를 보인다는 것을 확인할 수 있었다.

-> 평균적으로 다른 방식에 비해 2배 이상 복구 성공률이 높았다.

 

모든 모델은 Rotation보다 Translation에서 복구하는데 더 강력함을 보여주었습니다.


6. Conclusion

  • 이 논문에서는 실제 환경에 적용이 가능한 End to End 데이터 기반 시뮬레이터인 VISTA를 제시한다.
  • 우리의 실험은 RL을 사용하여 VISTA에서 모델을 교육하고, 이전에 보지 못한 실제 도로에서 자율 주행에 성공할 수 있는 전면적인 자율 주행 차량에 이러한 학습된 정책을 직접 배포할 수 있는 능력을 경험적으로 검증한다.
  • 여기에 제시된 방법과 시뮬레이터는 지점 간 내비게이션, 객체 회피 및 차선 변경과 같은 보다 복잡한 정책에 대한 강력한 학습으로 확장할 수 있다.

 

틀린부분이나 궁금한 부분이 있다면 언제든지 댓글 남겨주세요~

반응형