[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의 장점을 혼합하여 이 문제를 해결.
Reinforcement LearningImitation LearningReinforcement Learning
⇒ Vision-based RL 환경에서는 효율적으로 explore & learn하는 것이 가장 중요한 문제
Imitation Learning
또한 IL은 기본적으로 expert의 성능을 넘을 수 없다는 한계가 있음.
그럼에도 불구하고, SOTA visuomotor policy learning 연구들은 대부분 IL framework 활용.
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에서 발생하는 문제임

State 정보를 활용해서 teacher policy를 먼저 학습
IL을 활용하여 teacher policy의 knowledge를 student policy로 transfer
= efficient baseline model 생성하는 과정
Policy 성능을 최대화하기 위해 constrained adaptive RL approach 적용하여 student policy finetune
는 gate index, 는 현재 위치로부터 다음 gate까지의 relative position
reward도 마찬가지로 매번 사용하던 형태

progress reward : track을 따라 빠르게 비행하도록perception reward : 다음 gate로 camera가 향하도록 → 는 camera의 optical axis와 현재 드론에서 다음 gate center까지의 벡터의 각도command smoothness penalty : 이전 action과 너무 크게 차이나는 action에 패널티body rate penalty : 너무 큰 bodyrate에 패널티sparse gate reward & collision reward : safe flight를 위해Vision-based student policy를 학습하기 위한 phase → full state로 학습한 teacher의 지식을 distilt
Student는 H개 timestep의 sequence 이미지를 input으로 받음. →
Temporal Convolutional Network 활용하여 여러 timestep의 정보를 하나의 vision embedding으로 (=최근 H개의 프레임의 시각 정보를 요약한 벡터) → action 출력
supervision loss는 teacher policy와 student policy output의 mean squared error
Behavior Cloning
DAgger
반복적으로 student policy도 실행을 해서 데이터를 얻음
학습이 진행됨에 따라 student의 실행 비율이 증가
즉, student가 실제로 만들 상태 분포에서도 teacher label을 받는 구조
→ 더 넓은 분포를 학습할 수 있음 → covariate shift 완화
➡️ 이 연구에서는 DAgger 방법 활용
RL finetuning을 통해 IL framework로 학습된 모델의 성능을 더 향상
Online policy fine-tuning의 가장 큰 문제는 exploration 시 catastrophic forgetting
→ intro에서 설명했듯이, exploration할 때 state distribution 변화가 pre-trained policy가 원래 잘하던 영역까지 망가뜨리는 현상

➡️ 따라서 학습 진행 상황 (agent의 성능)에 따라 critic과 actor의 업데이트 강도를 조절
= learning rate와 clip range를 policy rollout performance와 link
⇒ Heuristic하게 learning rate tuning할 필요 없음.
⇒ task-specific한 정보를 필요로 하지 않으므로 다른 task에서도 활용 가능
→ critic을 더 정확하게 학습하기 위해
→ 어차피 critic은 시뮬레이션에서만 사용하는 것이니까


위와 같은 race track에 대해서 아래 항목을 평가
Policy input으로는 두 가지 visual representation을 사용

➡️ 그러니까 사실상 이미지만 가지고 곧바로 쌩 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
Robutstness to unknown disturbances
