Model-Ensemble Trust-Region Policy Optimization
in Paper on Reinforcement-Learning
- 논문 저자: Thanard Kurutach(Berkely AI Research)
- 논문 링크: https://openreview.net/pdf?id=SJJinbWRZ
- 함께 보면 좋을 논문:
- 논문을 보는 이유: TRPO와 관련이 있을 것 같아서(결국은 TRPO에 대한 이야기는 거의 없다)
개인적인 생각들로 재해석해서 요약한 거라고 생각하시면 될 것 같습니다(부정확할 수 있다는 이야기입니다).
1. Abstract
- 최근 많은 task에서 model-free RL은 성공적이었다. 하지만 실제 세상에 적용하기에는 학습 데이터가 너무 많이 필요하다.
- model-based RL은 적은 학습 데이터로 학습 가능하다. 하지만 비교적 간단한 task에서만 잘 작동했었다.
- model-based RL에서 DNN으로 model과 policy를 둘 다 학습하면 문제가 생긴다. model을 학습하기에 충분한 데이터가 없는 region에서 policy가 exploit하는 경향이 있는 것이다.
- 이런 문제를 해결하기 위해서 여러개의 모델(환경에 대한 모델)을 ensemble로 사용할건데 그러면 model uncertainty를 유지할 수 있으며 regularization 효과를 볼 수 있다.
- model-based RL에서 backprop through time을 사용하지 않고 likelihood ratio derivative를 사용할 것이다. 그 말인즉슨 TRPO를 사용해서 policy를 학습할거라는 이야기.
- 이러한 알고리즘을 Model-Ensemble Trust-Region Policy Optimization(ME-TRPO)이라고 부를 것이다.
- continuous control task에서 model-free RL에 비해 ME-TRPO가 더 적은 데이터로도 비슷한 성능을 내도록 학습했다.
2. model-based vs model-free RL
결국 현실 세계에 강화학습을 적용하려면 학습에 들어가는 cost가 중요하다. 보통 사용하는 model-free RL은 제대로된 policy를 학습하려면 많은 데이터가 필요하다. 즉, 많은 시행착오가 필요하다는 것이고 이것이 bottle neck이 된다. 그래서 model-based RL에 대한 연구가 진행이 되어왔다. 간단히 세상에 대한 model을 학습한다고 생각하면 된다. 환경과의 직접적인 상호작용으로 policy를 학습하지 않고 에이전트가 학습한 model에서 상호작용해서 데이터를 모아서 policy를 학습한다. 이 때 환경의 model은 transition probability라고 생각하면 된다. 어떤 상태에서 어떤 행동을 했을 때 다음 어떤 상태가 될지에 대한 정보이다. 이 정보가 있으면 에이전트는 행동을 선택한 다음 다음 상태를 바로 알 수 있다. 그러면 또 다음 상태에서 행동을 선택하는 식으로 일종의 “imagination”이 가능하다고 볼 수 있다.
3. vanilla model-based RL
3.1 model learning
이 때, model이 처음에는 부정확하기 때문에 적당히 model도 꾸준히 학습해야한다. 그래서 보통 vanilla model-based RL에서는 model learning과 policy learning(혹은 policy optimization)을 반복해서 진행했다. model learning은 지도학습이라고 생각하면 된다. 현재의 policy를 가지고 환경에서 상호작용하면서 데이터를 모은다. 데이터는 (s, a, s’)이라고 생각하면 된다. 이 데이터를 가지고 model(이 논문에서는 DNN을 사용한다)이 supervised learning으로 학습한다. (s, a)를 input으로 넣으면 s’을 모델이 출력하도록 학습하는 것이다.
다음 상태 s’을 그대로 출력하도록 뉴럴넷을 학습하면 문제가 있다. s와 s’이 별 차이가 없는 경우 뉴럴넷은 그냥 s를 외워버린다. 따라서 s’이 아닌 상태의 변화인 (s’-s)를 예측하도록 모델을 학습한다. 환경의 모델을 학습하는 loss function은 다음과 같다. \(f_{\phi}(s_t, a_t)\)는 원래 상태 s에다가 뉴럴넷 아웃풋을 합친 것을 뜻한다.
3.2 policy learning
보통 강화학습의 목표는 expected sum of rewards를 최대화하는 것이다. model-based RL이므로 환경을 approximate model이 있고 이 model을 base로 하는 approximate MDP가 있다. 이 MDP 상에서의 expected sum of rewards를 최대화하도록 policy를 optimize 한다.
다음은 policy optimization의 objective function이다.
stochastic policy는 다음 논문의 본문에서와 같이 reparameterization trick을 사용해서 나타낸다. 평균과 분산 그리고 노이즈를 통해 gaussian distribution을 나타낸다. 이렇게 나타내는 정책의 형태는 continuous action에 대한 policy라는 것을 기억하자.
policy gradient는 다음과 같다. 이 미분을 하려면 backpropagation through time (BPTT)를 해야한다. 이 미분은 문제가 있다. gradient가 explode 하거나 vanish 할 수 있다는 것이다. 그래서 gradient clipping을 사용했다.
model learning과 policy learning을 합쳐서 하나의 알고리즘으로 보자면 다음과 같다. real world에서 데이터를 모아서 model를 학습한 다음에 그 model을 사용해서 policy를 improve 한다.
4. ME-TRPO
4.1 vanilla model-based RL의 문제
- learned policy often exploits regions where scarce training data is available for the dynamics model
- the predictions can be erroneous to the policy’s advantage –> overfitting
즉 model이 부정확해서 overfitting 된다는 것이다. 지도학습에서와 마찬가지로 이는 regularization의 필요를 의미한다.
4.2 ME-TRPO
이 논문에서는 regularization 방법으로 환경의 모델을 여러개 학습해서 ensemble로 사용하는 방법을 제안한다. 여러 모델이 서로 다른 것은 initial parameter이다. 또한 BPTT를 통해 학습하는 것이 아니라 TRPO를 통해 policy를 학습함으로서 policy optimization 과정도 개선했다. 또한 policy의 성능을 평가할 때도 여러개의 모델을 사용한다. 다음과 같이 K 개의 모델에 대해서 policy가 improve 된건지를 체크해서 70%가 improve되었다면 다음 단계로 넘어간다.
전체 알고리즘은 다음과 같다. 심플하다.
5. Experiment
5.1 무슨 실험?
세가지 실험을 했다.
- 기존 model-free RL 중에 제일 잘 되는 놈이랑 성능 비교
- 기존 model-based RL이 어떻게 실패하는지 테스트, 같은 상황에서 ME-TRPO가 잘 하는지 테스트
- 성능에 ensemble로 사용하는 모델 개수가 미치는 영향
환경은 다음과 같은 전형적인 continuous control 환경을 사용했다.
5.2 실험 결과
기존 model-free RL 중에 제일 잘 되는 놈이랑 성능 비교. 꽤나 잘 된다.
- 기존 model-based RL이 어떻게 실패하는지 테스트
같은 상황에서 ME-TRPO가 잘 하는지 테스트
- 성능에 ensemble로 사용하는 모델 개수가 미치는 영향
6. Discussion
- 여러개의 challengin domain에서 학습하는 간단하고 안정적인 model-based RL 알고리즘 = ME-TRPO. 핵심은 Model을 ensemble로 학습해서 policy 학습한 것과 policy 학습할 때 TRPO를 쓴 것.
- model-free RL의 state-of-art랑 비교했을 때 sample complexity를 상당히 줄임, 동일한 performance
- model bias를 model의 uncertainty를 유지함으로서 줄임
[앞으로 가능한 연구]
- 서로 다른 model이 disagree하는 state space를 더 탐험하도록 하는 것
- ME-TRPO를 real world에 적용하는 것