Bunny Code
Efficient Off-Policy Meta-Reinforcement Learning via Probabilistic Context Variables[ICML 2019] 본문
Paper Review
Efficient Off-Policy Meta-Reinforcement Learning via Probabilistic Context Variables[ICML 2019]
버즈밴드 2022. 2. 28. 18:52저자 : Kate Rakelly*, Aurick Zhou*, Deirdre Quillen, Chelsea Finn, Sergey Levine
논문 출처 : https://arxiv.org/pdf/1903.08254.pdf
참고하면 좋은 영상 : https://www.youtube.com/watch?v=w9KAmvUA9WI&t=691s
0. Abstract
- 기존 Meta Learning 방법들은 대부분 on-policy 에 의존
- 이는 sample efficiency의 큰 저하를 불러옴
- 새로운 task에 적응할 때, task uncertainty를 추론하는 메커니즘이 부족해 sparse reward problems에서 효과를 제한함
- task inference와 control을 분리하는 off-policy Meta-RL 알고리즘을 사용하여 위의 문제들을 해결
- 적은 경험으로 어떻게 task를 푸는지 추론하는 online probabilistic filtering of latent task variables 이용
- 확률론적 추론은 구조적이고 효율적인 exploration을 위한 posterior sampling을 가능하게함
- 이전의 알고리즘들보다 sample efficiency 측면에서 20~100배의 성능을 보여줌
1. Introduction
- on-policy Meta Learning은 학습 과정에서 많은 양의 데이터를 필요로 하기 때문에 효율적이지 못함
- 부족한 sample efficiency를 향상시키기 위해서는 off-policy data로 학습하는 과정이 필요
- behavior policy와 target policy가 다른 policy가 off-policy임
- e.g. Soft Actor Critic, DQN (Replaybuffer 사용)
- 그러나 off-policy data를 사용하면 meta-train 과정에서 본 data와 test 과정에서 본 data가 구조적으로 다름으로 학습에 어려움이 생김
- 이를 해결하기 위해 meta-train 과정에서 probabilistic encoder를 학습함
- probabilistic encoder는 과거의 경험들을 context variables로 바꿔주고 이는 policy로 하여금 task를 수행할 수 있게 만들어줌
- 즉, task inference와 policy를 분리시켜줌으로서 off-policy data를 이용가능하게 만듬
- policy는 off-policy data로 학습됨
- probabilistic encoder(task inference)는 on-policy data로 학습됨 (meta-train과 meta-test data 사이의 distribution mismatch를 줄이는 방향으로)
- meta-test 과정에서는 meta-train에서 학습된 probabilistic encoder를 통하여 새로운 task inference를 수행한 후 생성된 latent variable을 이용해 효율적인 exploration 수행
2. Related Work
- Meta Learning
- Context-based method : task의 latent representation variable을 학습하고 이를 condition으로 policy 생성
- PEARL은 기존의 방법과 다르게 task를 probabilistic latent variable로 표현해 task의 uncertainty를 표현
- 또한 많이 사용하는 RNN을 사용하지 않고 encoder를 사용
- Context-based method : task의 latent representation variable을 학습하고 이를 condition으로 policy 생성
-
- Gradient-based method : on-policy data를 활용한 Policy gradient를 사용해 policy 생성
- PEARL은 off-policy data를 사용
- Gradient-based method : on-policy data를 활용한 Policy gradient를 사용해 policy 생성
- Probabilistic Meta Learning
- Posterior Sampling
- 고전적인 RL에서 posterior sampling은 가능한 MDP에 대해 posterior를 sampling 하고 sampling된 MDP를 고려해 확장된 exploration을 가능하게 함
- PEARL에서는 이를 meta-learning 입장에서 바라보고 현재 task의 uncertainty를 포착해 새로운 task에 대해서도 구조적인 exploration을 가능하게 만듬
- Partially observed MDPs
- task를 관측되지 않은 state의 일부로 본다면 test 과정에서 adaptation하는 문제는 POMDP의 문제로 볼 수도 있음
- PEARL은 task의 belief를 estimate하기 위해 기존 POMDP 문제를 풀 때 사용하는 variational 접근을 사용함
3. Problem Statement
- $\tau = \{p(s_0),p(s_{t+1}|s_t,a_t),r(s_t,a_t)\}$
- context c : the history of past transitions
- $C^\tau_n = (s_n,a_n,r_n,s_n')$
4. Probabilistic Latent Context
- 새로운 task의 recent experience를 이용하여 latent variable Z를 추론하기 위해 meta-train task 이용
- 추론된 Z를 이용해 $\pi_\theta(a|s,z)$를 optimize
4.1. Modeling and Learning Latent Contexts
- $p(z|c)$를 추정하기 위해 inference network $q_\phi(z|c)$ encoder를 활용
- $q_\phi(z|c)$를 optimize하기 위해 MDP의 reconstruct을 이용
- 알고리즘의 objective function(목적 함수)는 다음과 같음
- $\mathbb{E}_\tau[\mathbb{E}_{z\sim q_\phi(z|c^\tau)} [R(\tau,z) + \beta D_{KL}(q_\phi(z|c^\tau)||p(z))] ] $
- KL Divergence 항은 information bottleneck 역할을 맡음
- Deep variational information bottleneck, https://arxiv.org/pdf/1612.00410.pdf 참고
- meta-train data에 overfitting하는 것을 완화해줌
- meta-train할 때만, $q_\phi$가 optimize되고, meta-test 시에는 학습된 network를 이용하여 latent context Z를 추론만 함
- fully observed MDP는 순서에 상관 없는(permutation invariant) transitions들의 집합으로 task가 무엇인지 추론할 수 있어야함
- 위와 같은 생각으로, $q_\phi(z|c_{1:N}$을 단일 transition으로 추론한 factors의 곱으로 표현
- $q_\phi(z|c_{1:N})\propto \Pi^N_{n=1}\Psi_\phi (z|c_n)$
- 아래 그림 참고
4.2. Posterior Sampling and Exploration via Latent Contexts
- 확률론적으로 모델링한 latent context는 meta-test 과정에서 posterior sampling을 이용해 효율적인 exploration을 가능하게 함
- PEARL은 MDP reconstruction, Actor, Critic 등의 최적화를 통해 직접 posterior over the latent context Z 추론 가능
- meta-train 과정에서는 meta-train data를 활용하여 task에 대한 distribution을 포착하고 experience를 활용하여 새로운 task를 추론하는 방법을 학습함
- meta-test 과정에서는 episode마다 z를 prior에서 sampling 하고 z가 condition된 policy를 수행함
- 쌓이는 경험들을 모아 posterior를 다시 update하고 이 과정을 반복하면 점점 policy가 optimal하게됨
5. Off-Policy Meta-Reinforcement Learning
- off-policy를 probabilistic context model과 합치고 싶은 이유는 meta-training과 fast adaptation 모두에서 sample efficiency를 향상시키고 싶어서임
- 그러나 현대 meta-RL은 meta-train과 adaptation 하고 싶은 meta-test 사이의 distribution이 동일하다고 가정하기 때문에 off-policy를 meta-RL에 이용하기 쉽지 않음
- 이 말은 곧, meta-test 과정이 on-policy로 이루어지기 때문에 meta-train 과정도 on-policy로 이루어져야함을 뜻함
- 또한 meta-RL은 효과적인 확률적 exploration을 학습하기 위해 policy가 distribution에 대해 추론해야함
- 이 문제는 TD-error를 minimize하는 off-policy RL로 풀 수 없음
- 방문한 state들에 대한 distribution을 직접 optimize할 수 없기 때문
- 직접 action들을 control 하는 on-policy RL은 가능
- 위와 같은 문제점을 해결하고 sample efficiency가 좋은 off-policy RL을 활용하기 위해, encoder 학습을 위한 data(on-policy)와 policy 학습을 위한 data(off-policy loop)를 분리
- 전체 Replaybuffer B에서 sampling된 off-policy data로 actor와 critic이 학습됨
- encoder는 정의한 sampler Sc에서 sampling된 context batches를 이용해 학습됨
- sampler Sc가 entire buffer에서 sampling되는 경우, on-policy test data와의 distribution mismatch가 생길 수 있음
- 하지만 context는 on-policy를 엄격하게 따를 필요는 없음
- on-policy와 off-policy 사이의 접근방법으로 최근 수집된 data들로 이루어진 replaybuffer를 이용하는 것이 on-policy data를 사용하는 것보다 더 나은 효율성과 비슷한 성능을 보임
- meta-train procedure는 다음과 같음
5.1. Implementation
- SAC(Soft Actor Critic) 알고리즘을 off-policy method로 사용
- stability와 sample efficiency 측면에서 좋고, probabilistic interpretation(entropy)가 있기에 결합하기 좋다고 판단
- VAE(Variational Auto Encoder)와 마찬가지로, sampling에서 오는 미분 불가 문제를 reparameterization trick을 이용해 해결
- encoder를 학습할 때 MDP의 reconstruction이나 rewards를 maximize하는 것보다 state-action value function, 즉 qfunction을 reconstruct하는 방향으로 학습하는 것이 효율적임을 확인
- Critic Loss는 다음과 같음
- $L_{critic}=\mathbb{E}_{(s,a,r,s')\sim\beta, z\sim q_{\phi}(z|c)}[Q_\theta (s,a,z) - (r+\overline{V}(s',\overline{z}))]^2$
- $\overline{V}$는 target network를 의미하고 $\overline{z}$는 gradient가 계산되지 않음을 의미
- Actor Loss는 z가 추가된 것 뿐이지 SAC와 동일하고, 다음과 같음
- $L_{actor}=\mathbb{E}_{s\sim\beta,a\sim\pi_\theta,z\sim q_\phi(z|c)}[D_{KL}(\pi_\theta(a|s,\overline{z})||\frac{exp(Q_\theta(s,a,\overline{z}))}{Z_\theta(s)})]$
- context data sampler Sc는 최근에 수집된 data에서 sampling이 이루어지고, actor-critic을 위한 data는 entire replaybuffer에서 sampling이 이루어짐
- 위의 과정들이 정리된 알고리즘은 다음과 같음
6. Experiments
6.1. Sample Efficiency and Performance
- Mujoco Simulator 환경에서 실험 수행
- Half Cheetah, Humanoid, Ant : reward setting이 다른 task에 adaptation하는게 목표
- Walker : dynamics setting(transition probability)가 다른 task에 adaptation하는게 목표
- gradient-based meta-RL ProMP와 MAML-TRPO, recurrent-based meta-RL RL^2(with PPO)와 비교실험
- PEARL 방법은 기존의 meta-RL 방법들보다 sample-efficiency 측면에서 20-100x의 성능을 보여줌
- 뿐만 아니라, 최종 도달 성능도 50-100%의 높은 성능을 보여줌
6.2. Posterior Sampling For Exploration
- posterior sampling이 얼마나 exploration하는데 효율적인지 검증하는 실험을 수행함
- 2D navigation task with a point robot 사용
- edge 부분에 생기는 특정 radius를 가진 파란 원에 도달하는 것이 목표
- sparse reward problem임
- PEARL과 마찬가지로 probabilistic task variables를 모델링하지만 on-policy gradient-based meta-RL인 MAESN과 비교실험
- meta-train, meta-test 과정 모두 PEARL이 더 뛰어난 sample efficiency 성능을 보임
6.3. Ablations
- Inference Network Architecture
- permutation-invariant encoder vs RNN (unordrered transitions) vs RNN (sets of trajectories)
- permutation-invariant encoder의 성능이 가장 좋음
- RNN (sets of trajectories)가 성능이 제일 안 좋음
- 이는 RL objective로 사용된 sample들을 decorrelating하는 것이 중요함을 보여줌
- Data sampling strategies
- PEARL은 sampler Sc가 최근 수집된 data에서 sampling하고 off-policy를 위한 data와 분리됨
- 비교 실험 두 번째 방법은 최근 수집된 것을 고려하지 않고 off-policy와 분리되지만 entire replaybuffer에서 sampling하는 방법
- 비교 실험 세 번째 방법은 off-policy RL batch와 같은 data를 사용하는 방법 (off-policy RL-batch)
- 세 번째 방법이 두 번째 방법보다 나은 성능을 보였는데, 이는 둘 사이의 correlation이 학습을 쉽게 만들었을 것이라 판단됨
- Deterministic context
- encoder를 거쳐 나온 output이 distribution을 따르지 않고, deterministic 한 경우와 비교
- latent context variable의 stochasticity가 없으므로, 유일한 확률성은 policy에서 나오고 이는 시간 불변성함으로 exploration을 방해함
7. Conclusion
- task를 추론하는 것과 푸는 것을 나누어 train과 test 사이의 distribution mismatch를 minimize함
- 이러한 접근은 off-policy RL 알고리즘에 있어서 매우 의미있는 접근임
- Context를 확률적으로 모델링하면 test 과정에서 exploration을 위한 posterior sampling이 가능함
- 이는 일시적으로 adaptation efficiency를 향상시키는 exploration을 가능하게 함
Comments