티스토리 뷰

(본문의 의도를 가져오되, 개인적인 의견이 담길 수도 있습니다.)

Hyperparameter Selection for Offline Reinforcement Learning - Le Paine et al, NeurIPS 2020 Offline RL workshop (논문, 영상)

요약

Offline RL은 실제 환경에 RL 기법들을 적용하기 좋은 방법론이긴 하지만 환경상에서 어떤 policy가 좋은 policy인지 각 hyperparameter에 따라서 평가하는 과정으로 인해 offline 가정이 깨지게 된다. 이렇게 online 상에서 수행하는 과정으로 인해 offline RL을 통해 추구하는 목표가 상대적으로 약화된다. 그래서 이 논문에서는 offline hyperparameter selection, 즉 각각 다른 hyperparameter를 통해서 학습된 다양한 policy 중에서 주어진 데이터만 가지고 최적의 policy를 찾는 방법에 대해서 고민을 했다. 우선 다양한 실험을 통해서 확인할 수 있던 부분은

  1. Offline RL 알고리즘들은 애초에 hyperparameter 선택에 따라서 성능의 변화가 크다
  2. Offline RL에서는 Q value를 추정하는 과정이 이후에 있을 hyperparameter selection에 영향을 많이 준다.
  3. 그래서 Q value를 추정하는 과정의 다양한 설정들을 적절히 조절할 경우 hyperparameter에 따른 각 policy별 순위를 매길 수 있고, 이를 통해서 여러 후보군 중 가장 좋은 것에 가까운 policy를 뽑을 수 있다.

는 점이다.

서문

RL을 실제 환경 상의 광범위한 문제에 접목시키고자 하는 시도는 Offline RL에 대한 새로운 관심을 불러왔다. 이런 방법론은 agent가 policy를 수행하면서 환경과 interaction을 하는 과정이 challenge하고 risky할 경우에 유용한데, 예를 들면 로보틱스나 자율주행, 의료, 다이얼로그 같은 분야들이 그렇다.

Offline RL이 인상적인 결과를 보여줌에 불구하고, 사실 hyperparameter를 어떻게 선택하냐에 따라서 Offline RL 알고리즘들의 성능이 달라진다. 물론 이 문제는 ML에서 이미 알려져 있는 것이기도 한데, 일반적인 강화학습에서의 Hyperparameter selection이 수행되는 과정은 그냥 환경과 interaction을 하면서 policy에 대해 online으로 평가하는 단계이다. 하지만 Offline으로 한정짓게 되면 이제 Offline 방법을 사용해야 하는데, 이 말은 환경과의 interaction이 허용되지 않는다는 것을 의미하게 된다. 그렇게 때문에 여러 hyperparameter의 조합을 통해 만든 policy 중에서도 어떤 policy가 좋은지를 순위로 매기기 위해서는 offline statistics를 사용해야 한다. 그래서 이 논문을 통해서 수행한 내용은 다음과 같다.

  • Offline RL 의 hyperparameter selection에서 각각 다른 접근 방식에 대한 이점을 확보하기 위한 간단하고 확장가능한 평가 metric을 사용함
  • 고차원 action space와 observation space를 가지고, long time horizon을 가지는 복잡한 환경에서 수행
  • 모델 구조나 optimizer, loss function 과 같이 공통적으로 중요하게 인지되는 hyperparameter 조합에 초점을 맞춤

그래서 실험을 통해 확인한 것은 아래와 같다.

  • Offline RL 알고리즘 선택: 적어도 dataset을 쌓은 behavior policy에 가까운 policy로 학습되는 것이 평가하고 순위를 매기기 쉽다.
  • Q estimator 선택: 기존의 Offline RL에서 수행하던 Q value estimation기법들보다는 Fitted Q-Evaluation 방식이 조금 더 정확하게 Q value를 추정할 수 있다.
  • policy의 성능을 보여줄 수 있는 statistics에 대한 선택: 논문에서는 initial state에 대한 average critic value를 사용한 것이 가장 좋았다.

이런 점들을 결합했을때 현실적으로 어려운 문제들에 offline RL을 적용할 수 있는 전략이 될 수 있음을 확인할 수 있었다.

Offline Hyperparameter Selection

그림 1. Offline Policy Evaluation과 구별되는 Offline Hyperparameter Selection (출처: 논문)

사실 Offline Hyperparameter Selection(OHS)은 Offline RL에서 수행하는 단계 중 하나인 Offline Policy Evaluation(OPE)과 연관이 깊다. 위의 그림 중 B로 설명할 수 있는 OPE는 주어진 데이터를 바탕으로 현재 Policy의 value, 즉 \(Q^{\pi}\)를 추정하는 것이다. 반면 A에서 소개되어 있는 Offline Hyperparameter selection은 Offline RL을 통해서 \(N\)개의 policy를 학습하는데, 이때 각각 다른 hyperparameter를 사용해서 이중 최적의 policy \(\pi^*\)를 찾는 것이다. 물론 두개의 방식 모두 환경과의 interaction은 고려하지 않은 상태에서 log data만 활용한다. 그래서 OHS와 OPE의 차이라고 하면, OHS에서는 기본적으로 문제를 단순화시킬 수 있는 뭔가 데이터와 policy간의 어떤 관계를 이미 알고 있다고 가정을 하고, 여러 policy 중 최적의 policy를 찾는 것이고, OPE는 그런 관계는 모르는 상태에서 현재 policy의 value를 구하는 과정이다. 그래서 사실 OHS에서는 policy의 value에 대해서 그렇게 정확히 구하지 않아도 된다는 점이 특징이고, 그렇기 때문에 OHS와 OPE가 최적화하고자 하는 지표는 서로 다르게 된다.

그림 2. Offline Hyperparameter Selection에서의 성능 평가 (출처: 논문)

위의 그림은 논문에 나온 내용인데, 회색 실선이 추정 policy, 초록색 점 각각이 각 policy의 value를 나타낸것이다. OPE에서는 이 실선과 점간의 error를 최소화하는데 목적을 둔다. 그래서 첫번째 그래프와 같이 초록색 점들이 실선상에 있는 과정이 되는 것을 목표로 하는데, OHS는 뭔가 어떤 기준을 두고 최선의 policy를 찾는 것이 목적이다. 그래서 추정치와는 거리가 있다고 해도, 두번째 그림처럼 spearman correlation을 반영한 rank를 사용하거나 regret 기반을 통해서 policy를 찾으면 된다. 사실 이 맥락이 어떻게보면 Offline RL이 효율적으로 동작할 수 있는 근거가 된다. Offline RL의 목적이 최소한 dataset을 수집한 behavior policy에 가깝게 target policy를 학습시키는 것이 목적이지, policy가 내뱉는 값 자체가 정확한 것을 요구하는 것은 아니기 때문이다. 

아마 hyperparameter에 대해서 들어본 사람이라면 앞에서 소개한 모든 과정이 일련의 tuning과 관련되어 있는게 아닌가 생각할 수도 있겠지만, tuning에는 사실 좋은 hyperparameter를 찾으면서도 그 좋은 parameter를 어떻게 빠르게 찾을 수 있을지 전략 관점도 들어 있기 때문에 selection과는 다르고, 이 논문에는 tuning이 아닌 selection 관점에서 접근하고 있다.

Offline Statistics for Policy Ranking

바로 앞에서 소개한 것처럼 Offline RL로 학습시킨 여러 policy 중에서 어떤 policy가 좋은지는 결국 rank를 매겨야 하고, 그 수단이 offline dataset으로부터 뽑을 수 있는 statistics가 될 것이다. 논문에서는 다음과 같은 과정으로 hyperparameter selection을 수행하고자 했다.

  1. 각각 다른 hyperparameter 설정을 사용해서 여러 Offline RL policy를 학습시킨다.
  2. 각 policy마다 policy의 성능을 요약할 수 있는 특정 값을 가지는 statistics를 계산한다.
  3. 실제 환경에서 실행했을 때 앞에서 구한 statistics를 바탕으로 \(k\)개의 best policy를 선택한다.

논문에서 사용한 statistics는 보통 각 policy에 대해 "critics"이라고 알려져 있는 value function에 대한 추정치를 기반으로 계산하는데, 이 policy들은 각각 다른 hyperparameter를 가지고 Offline RL 기법으로 학습된 것이다. Offline RL을 얘기했지만, critics는 다음과 같은 것으로 부터 구할 수 있다.

  • Offline RL 
    : 다양한 학습 알고리즘 (Behavior Cloning이나 D4PG, Critic Regularized Regression)같은 방법을 통해서 학습된 critic을 사용하는데, 전체 모델 학습에는 영향을 주지 않으면서 statistics를 얻기 위한 목적으로 사용했다.
  • Off-policy Evaluation
    : Offline RL을 통해서 생성된 policy에 대한 critic을 재학습시키기 위해서 Fitted Q Evaluation을 사용했다.

그리고 나서 critic \(Q_{\theta}\)와 dataset \(\mathcal{D}\)을 바탕으로 statistic을 계산해서 각 policy에 대한 ranking을 매길 수 있는 scalar value를 구했다. 이 과정 또한 두가지 접근 방법이 있었다.

  • \(\hat{V}(s_0)\)
    : 논문에서는 initial state distribution에 대한 evaluation policy의 기대값의 추정치를 사용했다 (\(\mathbb{E}_{s_0 \sim \mathcal{D}}[Q_{\theta}(s_0, \pi_e (a)]\)) 다시 말해 initial state에서 policy를 수행했을 때 얻을 수 있는 값을 활용한 것이다.
  • Soft Off-Policy Classification
    : Off-policy evaluation via off-policy classification. (Irpan et al, 2019)에서 소개된 soft OPC를 사용했는데, 이 statistics는 다음과 같이 정의된다.
    $$ \mathbb{E}_{(s, a) \sim \mathcal{D}, \text{success}}[Q_{\theta}(s, a)] - \mathbb{E}_{(s, a) \sim \mathcal{D}}[Q_{\theta}(s, a)] $$
    여기에서 \(\text{success}\)란 \((s, a)\) 쌍이 성공한 trajectory안에 있으면서 return이 특정 기준 이상을 가지는 경우를 말하며, 실험에서는 다양한 기준을 사용해서 최적의 값을 찾았다.

여기에 더불어 전체 state에 대한 average Q 값을 사용해보기도 하고, average TD error를 사용해보기도 했지만, 성능이 미묘하게 앞에서 언급한 두가지 요소보다 낮은 이유로 사용하지 않았다.

Metrics for Evaluating Offline Hyperparameter Selection

앞에서 구한 statistic를 통해서 좋은 hyperparameter setting을 찾기 위해서 논문에서는 각각의 statistic들이 여러 policy들의 ranking을 매기는데 얼마나 유용하고, 이를 통해서 좋은 policy를 찾기 위한 evaluation metric를 사용했다. 이 값들을 구하기 위해서 먼저 환경에서 initial state distribution에서 시작한 각 policy를 실제 환경에서 돌려봄으로써 discounted return에 대한 실제 기대값의 추정치를 구했다. 이 값이 학습내에서는 실제값(ground truth)처럼 활용되고, 그 후에 다음과 같은 metric을 활용했다.

  • Spearman rank correlation
    : 먼저 statistics와 실제 값간의 각 policy 별 rank값을 구한 후, 두 rank set간의 Pearson correlation을 구하는 방법이다.
  • Regret @ \(k\)
    : 먼저 statistic이 가장 높은 \(k\)개의 policy를 구하는데, Regret @ \(k\)는 전체 policy set 중 가장 좋은 policy의 실제값과 앞에서 구한 \(k\)개의 policy 중 가장 좋은 policy의 실제값간의 차이를 나타낸 것이다. 이 metric을 통해서 "만약 실제 환경에서 \(k\)개의 hyperparameter 조합에 대한 policy들을 수행할 수 있고, 위와 같은 방법으로 추정치를 구할 수 있다면, 전체 hyperparameter 조합을 통해 뽑은 best policy와 \(k\)개 중 뽑은 best policy간의 차이가 얼마만큼 존재할까?"에 대한 답을 구하고자 했다.
  • Absolute Error

(작성중)

댓글