Bootstrapping Reinforcement Learning with Imitation for Vision-Based Agile Flight 논문 리뷰

신희준·2025년 12월 15일

[Bootstrapping Reinforcement Learning with Imitation for Vision-Based Agile Flight] ([2403.12203] Bootstrapping Reinforcement Learning with Imitation for Vision-Based Agile Flight) (Jiaxu Xing, Angel Romero, Leonard Bauersfeld, Davide Scaramuzza / CoRL, 2024)

https://rpg.ifi.uzh.ch/bootstrap-rl-with-il/index.html

Notes

  • 오진 visual input만 사용하여 자율비행하는 알고리즘이 어려운 가장 큰 이유는 sample efficiency
  • RL과 IL의 장점을 혼합하여 이 문제를 해결.

My Insights and Takeaway

  • Pure vision으로만 visuomotor policy를 학습시키는 것은 매우 어려운 task
    → Sample efficiency를 향상시킬 여러 방법들을 더 많이 찾아보아야 할 것
    → Bootstrapping도 거의 필수적으로 사용되는 듯
    → 이번 페이퍼는 학습 방법론 (IL + adaptive RL finetune)을 통해 문제 해결
  • state 없이 vision만으로 policy 학습할 때는 확실히 sequence input이 필수적일 것 같음.
    • 여러 프레임에서 픽셀 변화를 통해 속도 정보나 회전 정보를 추정할 수 있을 것 같음.
    • optical flow를 활용해보는 것도 좋은 아이디어일 것 같음

Introduction

  • RGB 카메라만으로 state estimation없이 drone racing 수행하는 visumotor policy를 만드는 것이 목적
    Sample efficiency가 가장 큰 장벽임
    → 기본적으로 입력 차원자체가 너무 높기 때문
  • 이 task를 위해 주로 사용되는 접근 방법이 크게 두 가지 존재
    • Reinforcement Learning
    • Imitation Learning

RL vs. IL

Reinforcement Learning

  • Trial-and-error를 통해 환경과 상호작용하여 학습
  • 복잡한 제어기법을 경험으로 학습할 수 있음
  • 하지만 엄청나게 많은 데이터 샘플이 필요하다는 단점

⇒ Vision-based RL 환경에서는 효율적으로 explore & learn하는 것이 가장 중요한 문제

Imitation Learning

  • expert demonstration이나 privileged policy를 supervised learning으로 따라하도록 학습
  • 환경과 상호작용하면서 보상을 최대화하는게 아니고 단순히 expert의 행동을 따라하면 됨
    → 그래서 샘플 효율성이 훨씬 높고 학습이 빠름.
  • 하지만 covariate shift 문제가 있음.
    → 학습 데이터와 실제 데이터가 다를 경우 심각한 성능 저하
    → 일반화 약함
  • 또한 IL은 기본적으로 expert의 성능을 넘을 수 없다는 한계가 있음.

  • 그럼에도 불구하고, SOTA visuomotor policy learning 연구들은 대부분 IL framework 활용.

stability-plasticity dilemma의 개념

  • Expert demonstration을 통해 policy 성능을 올리는 IL 같은 방법론은 이전에도 자주 쓰이던 방법

  • 특히, RL에서는 Behavior cloning으로 시작해서 RL로 refine하는 방식이 흔함.

  • 대신 이런 방식에는 stability-plasticity dilemma가 있는데, 이는 이미 배운 좋은 행동을 유지하려는 경향과 새로운 상황에 적응하며 바뀌려는 경향이 충돌하면서 생기는 문제

  • 예를 들어서, RL refine 시에 RL이 exploration을 시도하면,

    → Out-of-distribution 데이터가 발생

    → Behavior cloning은 expert 분포에서만 잘 동작하기 때문에 이상하게 행동

    → 그 상태에서 gradient 업데이트 시 기존 잘 배운 행동도 갑자기 망가뜨림 = catastrophic forgetting

  • supervised learning에서는 데이터 분포가 거의 고정되어있기때문에 RL에서 발생하는 문제임

Contribution

  • IL의 sample efficiency + RL의 robustness & performance를 합친 방법론 제시
  • 기존의 IL 방법론들보다 성능이 좋고, RL from scratch가 실패하는 조건에서도 학습 성공
    → 특히, IL policy를 bootstrapping하여 초기정책으로 사용하고 RL로 fine-tuning하여 성능을 더 끌어올림
  • 이 논문에서는 drone racing에만 적용하였지만, 실제로 다른 task나 robot에도 쉽게 적용될 수 있음

Methodology

  • Drone racing task = 정해진 gate를 순서대로 최소한의 시간으로 통과하는 문제를 푸는 optimization problem
  • 드론은 오직 RGB 카메라 input만 받고 policy 네트워크는 이로부터 Collective Thrust + Bodyrate Control을 출력

  • 논문의 방법론은 3가지 phase로 구분
  1. State 정보를 활용해서 teacher policy를 먼저 학습

  2. IL을 활용하여 teacher policy의 knowledge를 student policy로 transfer

    = efficient baseline model 생성하는 과정

  3. Policy 성능을 최대화하기 위해 constrained adaptive RL approach 적용하여 student policy finetune

Phase 1 : State-based Teacher Policy Training

  • 먼저 teacher policy를 PPO로 학습.
  • input으로는 state가 주어짐. 이전 state-based drone racing policy에서 계속 사용하던 state
s=[p,R,v,w,i,d]s=[p,R,v,w,i,d]
  • ii는 gate index, dd는 현재 위치로부터 다음 gate까지의 relative position

  • reward도 마찬가지로 매번 사용하던 형태

rt=rtprog+rtprec+rtact+rtbr+rtpass+rtcrashr_t=r_t^{prog}+r_t^{prec}+r_t^{act}+r_t^{br}+r_t^{pass}+r_t^{crash}

  • progress reward : track을 따라 빠르게 비행하도록
  • perception reward : 다음 gate로 camera가 향하도록 → δ\delta는 camera의 optical axis와 현재 드론에서 다음 gate center까지의 벡터의 각도
  • command smoothness penalty : 이전 action과 너무 크게 차이나는 action에 패널티
  • body rate penalty : 너무 큰 bodyrate에 패널티
  • sparse gate reward & collision reward : safe flight를 위해

Phase 2 : Imitation Learning using Visual Input

  • Vision-based student policy를 학습하기 위한 phase → full state로 학습한 teacher의 지식을 distilt

  • Student는 H개 timestep의 sequence 이미지를 input으로 받음. → [otH+1,...,ot][o_{t-H+1},...,o_t]

  • Temporal Convolutional Network 활용하여 여러 timestep의 정보를 하나의 vision embedding으로 (=최근 H개의 프레임의 시각 정보를 요약한 벡터) → action 출력

  • supervision loss는 teacher policy와 student policy output의 mean squared error

LA(D,θstudent)=ED[πstudent([otN+1,...,ot];θstudent)πteacher(st)]\mathcal L_A(\mathcal D,\theta_{student})= \mathbb E_\mathcal D[||\pi_{student}([o_{t-N+1},...,o_t];\theta_{student})-\pi_{teacher}(s_t)]

Behavior Cloning vs. DAgger

  • Imitation Learning의 두 가지 대표적인 방법론

Behavior Cloning

  • Teacher policy를 fixed number of steps만큼 실행
    → (observation + action output) 데이터 수집
    → student는 offline supervised learning
  • 즉, student는 teacher가 본 observation만 학습
  • 실제 student policy로 execute 시 covariate shift 문제

DAgger

  • 반복적으로 student policy도 실행을 해서 데이터를 얻음

  • 학습이 진행됨에 따라 student의 실행 비율이 증가

  • 즉, student가 실제로 만들 상태 분포에서도 teacher label을 받는 구조

    → 더 넓은 분포를 학습할 수 있음 → covariate shift 완화

➡️ 이 연구에서는 DAgger 방법 활용

Phase 3 : Performance-Adaptive Online Fine-Tuning

  • RL finetuning을 통해 IL framework로 학습된 모델의 성능을 더 향상

  • Online policy fine-tuning의 가장 큰 문제는 exploration 시 catastrophic forgetting

    → intro에서 설명했듯이, exploration할 때 state distribution 변화가 pre-trained policy가 원래 잘하던 영역까지 망가뜨리는 현상

  • 이 문제를 해결하기위해 exploration과 network update를 제한하는 알고리즘을 제안

  • 먼저 pretrained student policy를 starting actor로 사용
  • 하지만 이 policy를 RL 알고리즘에 그대로 초기 policy로 갖다붙이고 학습 시작하면 안됨.
    1. pre-trained actor에 critic function이 적응할 수 있도록 warm-up이 필요함. (critic은 아직 아무것도 모름)
    2. catastrophic forgetting을 막기 위해 갑작스럽고, 큰 update를 막아줘야함.

➡️ 따라서 학습 진행 상황 (agent의 성능)에 따라 critic과 actor의 업데이트 강도를 조절
= learning rate와 clip range를 policy rollout performance와 link

  • policy improvement가 작으면, critic이 아직 학습이 잘 안되었을 가능성이 제일 높음 → critic의 update rate를 높임
  • 그리고 policy가 높은 보상을 얻는 action을 만들어내기 시작하면 policy update rate를 높임

⇒ Heuristic하게 learning rate tuning할 필요 없음.

⇒ task-specific한 정보를 필요로 하지 않으므로 다른 task에서도 활용 가능

Asymmetric Critic

  • phase 3에서 vision-based RL을 학습할때, critic은 asymmetric critic으로, privileged state 정보를 추가로 받는 구조이다.

→ critic을 더 정확하게 학습하기 위해

→ 어차피 critic은 시뮬레이션에서만 사용하는 것이니까

Experiments and Results

Exp Settings

  • 위와 같은 race track에 대해서 아래 항목을 평가

    • Success rate (SR)
    • mean-gate-passing-error (MGE)
    • lap time (LP)
  • Policy input으로는 두 가지 visual representation을 사용

    1. ResNety에서 추출한 feature → TCN 네트워크 인풋은 H개의 ResNet feature를 쌓은것
    2. Gate corner → Gate detection을 통해 얻은 normlized pixel coordinates

Results

  • RL을 scratch에서 학습한 모델 (RL)이랑 adaptation없이 RL을 바로 finetuning한 모델 (BC)는 아예 실패해버린다.

➡️ 그러니까 사실상 이미지만 가지고 곧바로 쌩 RL을 학습하는 것은 기본적으로는 불가능한 수준으로 어렵다고 봐도 무방할 듯 하다.

Training effectiveness with difference RL configuration

  • RL : RL from scratch, asymmetric critic with privileged states

  • Vanilla Bootstrap : DAgger로 pretrain한 student policy를 초기 actor로 사용하고 일반적인 RL 학습을 그대로 수행하는 경우

  • Ours : DAgger → adaptive RL fine-tuning

  • Scratch로 학습하는건 아예 학습이 안됨 → bootstrapping이 거의 필수

  • Vanilla bootstrapping도 결국 성능 떨어짐 → adaptive 기법이 있어야 추가 학습 시에도 성능을 망치지 않음.

Sample Efficiency Analysis

  • 위에서 오른쪽 figure를 보면 총 데이터 sample 갯수를 정해두었을 때, 60%정도를 IL pretraining에 사용하고, 40%정도를 finetuning에 사용하였을 때 최고 성능이 나온다고 한다.

Robutstness to unknown disturbances

  • 추가로, sensor failure 시뮬레이션 하기 위해 random frame blackout을 넣거나 강한 바람의 영향을 시뮬레이션하기 위해 positional jump도 넣어서 실험
profile
공부하고 싶은 사람

0개의 댓글