티스토리 뷰
Imitation Bootstrapped Reinforcement Learning
저자 : Hengyuan Hu, Suvir Mirchandani, Dorsa Sadigh
논문 : https://arxiv.org/abs/2311.02198
작성 : 이해구, gpt

il은 확실히 샘플링 효율이 좋다. 그래서 특정 테스크를 로봇에게 학습 시킬때 실제로 RL보다 잘 작동하는데, 당연하게도 소위 말하는 "전문가의 작업 데이터"를 모으는 게 힘들다. 따라서 il은 근본적인 확장성 문제를 가지게 된다. 비슷한 작업이라도 약간만 달라지면 fine 튜닝이 필요하게 된다. 이를 해결하기 위해 RL에서 IL 을 효율적인 자율 향상 방법으로 사용할 수 있다면 매우 좋은 프레임워크가 된다.
논문에서는 모방학습 부트스트랩 RL이라는 프레임워크를 제안한다. 우선 IL 정책을 전문가의 작업 데이터 기반으로 학습시키고 이를 이용해 온라인 탐색과 target value를 부트스트랩하기 위한 대체 액션을 만드는 데 사용한다.
기존 연구에서는
- RL과 IL을 결합하는 과정에서 시연 데이터를 과하게 샘플링 했다.
- RL에 imitation loss를 추가하여 정규화 하는 방식을 사용했다.
- imitation loss란 RL이 시연 데이터를 비슷하게 행동하도록 유도하는 손실 함수를 뜻한다.
이들은 모두 단점이 있는데, 이를 해결하기 위해 IBRL을 제안한다. IBRL은
- 초기 학습에서 부터 IL 정책에서부터 퀄리티 좋은 액션을 사용할 수 있기에 탐색과 학습 효율을 높일 수 있게 된다
배경 - 강화학습
IBRL은 표준 MPD를 기반으로 하며 아래와 같은 요소들로 구성된다.

IBRL에서 RL 방식은
- Off-policy RL 방법을 기반으로 한다.
- DDPG, TD3, SAC과 같은 방식을 이용하고, Off policy는 시연 데이터를 효율적으로 사용할 수 있는 장점이 있다.
- Actor와 Critic 함수 학습으로 진행 된다.
- 정책 함수는 에이전트의 행동을 결정하며 신경망 파라미터 \theta로 학습 된다.
- 가치 함수는 특정 행동을 했을 때 기대 되는 보상을 평가하는 함수로 신경망 파라미터 \phi로 학습 된다.
- Q-함수(가치 함수) 학습 방법은 TD-error를 최소화 하는 형태로 진행 된다.

- Actor 학습은 높은 Q 값을 갖는 행동을 선택하도록 학습 된다.

배경 - 모방 학습
시연 데이터셋 D가 있으며 이는 사람이 수행한 행동 데이터(trajectory) 로 구성된다. trajectory는 상태와 액션 시퀀스로 구성된다.

IL은 전문가 행동을 모방하는 정책 \mu_psi를 학습하며 특정 상태에서 전문가와 유사한 행동을 하도록 함이다.
가장 많이 사용되는 IL 방식은 Behavior Cloning (BC), 행동 복제 이다. 이는 정책 파라미터화 된 \mu_psi를 전문가 행동 a를 예측 할 확률을 최대화 하는 방향으로 학습하는 형태이다.
논문에서는 IL의 정책 \mu_psi가 등방성 가우시안(isotropic Gaussian)을 따른다고 가정한다.
Core Algorithm
IBRL의 핵심 아이디어는 IL 정책을 전문가 데이터로 학습 시키고, 이 정책을 2개의 페이즈에서 사용하는 것이다.
- 온라인 상호작용에서 탐색을 도와주는 용도
- TD 학습에서 target value 예측을 도와주는 용도
이를 위해 첫번째 페이즈인 Actor proposal과 두번째 페이즈인 bootstrap propsal을 제안한다.
Actor proposal에서는 RL 정책과 같이 추가적인 액션을 만들어서 탐색을 돕고, bootstrap propsal에서는 Q 네트워크 학습을 가속화 한다.
Online Interaction : Actor Proposal

논문에서는 물건을 들어 올리는 것과 같은 sparse reward 형태인 로봇 테스크가 어려운 이유에 대해 이야기 한다. IBRL은 전문가 데이터로 부터 학습 된 IL 정책을 가지고 있기 때문에 RL 정책의 액션과는 다른 추가적인 액션을 온라인 상호작용에서 생성할 수 있다.
RL은 target Q 네트워크로 두개의 액션을 평가하고 더 높은 Q값을 가지는 액션(a*)을 선택한다.

RL Training : Bootstrap Proposal

Target Q 네트워크를 학습할 때도 RL 정책 기반인 Q 네트워크를 부트스트랩 하는 것이 아닌 IL 액션과 RL 액션 중 높은 Q를 갖는 값으로 부트스트랩을 한다. (부트스트랩 : 자기 스스로 학습하고 개선하는 것, 다음 상태의 추정된 Q값을 이용해 현재 Q값을 업데이트 하는 방식)

이를 통해 초반에 덜 학습 된 정책으로 이상한 액션을 선택하는 RL을 IL 정책으로 보안하여 Q 함수 학습을 안정적이고 빠르게 만들 수 있게 된다.
* 논문의 RL은 TD3 기반이다. replay 버퍼를 전문가 시연데이터로 초기화 하지만, 시연데이터 자체를 과샘플 하지는 않는다고 한다(..?)
Soft IBRL Variant
이제까지 설명한 IBRL은 기본적으로 Q value가 높은 액션을 취하는 형태의 "greedy"한 방식이다. 하지만 이는 최적해가 아닌 sub-optimal에 빠질 수 있다. 특히 실제 환경에서는 더더욱 그렇다. 논문에서는 raw 픽셀의 뎁스 이미지 엔코더를 처리하는 경우에 더더욱 그렇다고 한다(?)
쉽게 생각하면 IL 정책에서 나온 액션의 Q 값이 RL 정책에서 나온 Q값보다 항상 크다면, RL 자체는 학습이 안되고 이는 sub-optimal이 된다. 이는 단순히 greedy가 아닌 soft하게 접근해서 action을 argmax로 선택하는 게 아닌 Q 값에서 Boltzmann 분포로 sample하는 형태로 바꾸면 해결된다. 아래 수식은 기존 argmax 였던 액션 선택을 바꾼 형태.


여기서 베타는 inverse of the temperature that controls the sharpness of distribution라고 하는데 단순히 분포의 뾰족함을 조절하는 매개변수이다. 간단하게는 그냥 argmax를 softmax로 바꾸는 형태, 다만 논문에서는 state-based 실험에서만 효과적이라고 한다.
이점
- RLPD / Hybrid RL처럼 시연데이터를 과샘플링 하는 방식은 꽤 효과적이었다.
- ROT 같은 기법에서 BC로 먼저 사전학습 시키고, RL을 진행하면서 BC 손실을 정책 학습에 정규화 요소로 추가하는 것도 꽤 괜찮았다.
- BC 정규화 항의 가중치를 직접 정해야했고, annealing 스케줄도 설계해야했음.
IBRL의 경우
- 하이퍼파라미터 없이 자동으로 학습 가능 IL-RL 비율 자동 조정
- IL을 탐색과 학습에 모두 같이 사용함
- IBRL 자체의 모듈화로 인해 자유롭게 조합이 가능함
- IL과 RL에 더 좋은 다른 네트워크를 사용할 수 있음 (IL은 RestNet-18이 좋지만, RL은 Visual Transformer가 더 좋음)
- 액션 분포도 다르게 선택할 수 있음. IL은 가우시안 혼합 모델, RL은 단일 가우시안 분포
구조 개선
정책 네트워크 드롭아웃 정규화
기존 연구들을 보면 정규화를 정책이나 Q 함수에 적용하면 RL 학습이 안정적이고 샘플 효율적이라는 걸 알 수 있다. IBRL에서도 actor(정책 네트워크)에 dropout을 적용하여 안정적이고 효율적인 모습을 보인다.
- 초기 시그널이 희소하거나 노이즈가 많은 어려운 태스크에 효과적이다.
- update-to-data 비율을 높이지 않고, 계산도 증가하지 않은 상태에서 빠르게 수렴하게 한다.(UTD : 학습 데이터 1개에 gradient step을 몇번 수행하는지를 나타내는 비율)
ViT기반 시작 인코터 + Q 네트워크 구조
기존 온라인 RL은 얕은 ConvNex + Linear layers 구조를 사용했다. 다만 태스크가 어려워지면 잘 작동하지 않았고 단순히 깊은 네트워크를 추가하는 걸로는 해결되지 않았다.

따라서 논문에서는 ViT 기반 Q네트워크 구조를 제안한다. 기본적으로 트랜스포머 레이러를 사용하여 이미지의 다른 파트들로부터 나온 정보를 얉은 네트워크에서 효율적으로 전달할 수 있게 하는 것이다.
이미지를 겹치는 패치들로 분할하고, Conv 레이러를 거쳐 patch embedding을 생성 후 이를 트랜스포머 레이어로 통과 시킨다. 이후 각 채널을 평탄화 하고 액션과 proprioception을 추가하여 MLP로 통합시킨다. Large linear layer들을 사용하지 않고 특징들의 차원을 줄이기 위해서 learned spatial embeddings을 이용해 특징 행렬을 곱해준다. 그 후 채널 차원을 전부 합하여 1D 벡터를 만들어 Q-MLP에 넣어준다.
TD3가 두개의 Q-head를 사용하기 때문에 전체 구조를 복제하여 사용한다. 최종적으로 ViT 인코더 출력 벡터를 fully connected actor 인풋으로 받는 형태.
실험
META_WORLD https://github.com/Farama-Foundation/Metaworld
ROBOMIMIC https://github.com/ARISE-Initiative/robomimic
에 있는 태스크들을 가져와서 테스트 하였다.


그 외 논문에서 언급하는 Actor Dropout이나 IBRL 구조가 어떤 효과가 있는지를 보여주는 실험도 진행.

네트워크 구조의 자율성의 효과도 비교할 수 있게 보여줬다.

실제 환경 실험에서는 3개의 테스크를 진행했으며 Policy는 10hz로 동작한다. 오큘러스 텔레오퍼레이션으로 demonstraion 데이터를 모았다.
한계점 및 추후 연구
실제 환경 실험에서는 IBRL을 테스트하기 위해서 였기 때문에 리셋 과정에서 생기는 노이즈를 줄이기 위해 사람이 직접 수동으로 리셋했다. 이는 자동 리셋을 진행했다가 실패하면 에이전트가 잘못된 상태에서 학습되어 평가를 왜곡시킬 수 있기 때문.
자동 리셋을 하기 위해서는 로봇이 환경을 원상복귀 시키는 작업이 필요함..
IBRL은 모듈화가 가능하기 때문에 IL에 최근 기술들을 적용해볼 수 있음. Diffusion Policy 방법이나 Hybrid Action Learning 방법을 얘기한다.
최근 imitation learning과 RL 관련하여 진행해야하는 프로젝트가 있어서 오랜만에 한번 리뷰해봤습니다. 요즘 사실 gpt가 엄청 잘해주기 때문에 논문리뷰 글을 쓸 필요가 없어졌지만, 작성하면서 좀 더 자세히 이해하게 되는 것 같아서 해봤네요. 방법이 그렇게 어렵지 않고 꽤나 직관적인 프레임워크라 생각해서 굳입니다.
'미니멀공대생 > Control' 카테고리의 다른 글
Trajectory optimization 사용 후기 혹은 Tips & Tricks (2) | 2025.01.20 |
---|---|
MuJoCo :: SDF와 자세한 Collision mesh 만들기 (2) | 2024.10.20 |
Linear Complementarity Problem을 이용한 접촉 모델(Contact Model)(2) :: 접촉 시뮬레이션 (0) | 2024.09.20 |
contact model, contact force 기초 논문 (0) | 2024.09.19 |
Linear Complementarity Problem을 이용한 접촉 모델(Contact Model)(1) (2) | 2024.09.12 |