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를 사용
    • Gradient-based method : on-policy data를 활용한 Policy gradient를 사용해 policy 생성
      • PEARL은 off-policy data를 사용
  • 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