728x90
반응형

Offline Reinforcement Learning: From Algorithms to Practical Challenges 튜토리얼 강의이다. 이 강의는 2020년 survey 논문과 함께 나온 튜토리얼로, offline RL에 대한 전반적인 내용을 다루고 있어 도움이 많이 될 것이라 생각하고 들어보았다. 

 

영어 강의라 다른 분들이 혹시 이 강의를 보실 때 좀 더 편하게 공부를 했으면 하는 마음에 튜토리얼 해석본을 작성하였다. 강의가 두 부분으로 이루어져있는데 다음은 강의의 두번 째 부분이다.  

 

(강의를 들으면서 작성하였으나 오역 혹은 어색한 문장이 있을 수 있으니 참고 바랍니다.)

정리한 내용도 곧 포스팅할 예정이다. 

(강의 해석 (1)을 확인하고 싶으시다면 다음 링크를 참고 바랍니다.)


(41) - 슬라이드 번호

, 이제 modern offline rl algorithms에 대해 이야기해 보겠습니다.

 

 

(42)

설명했듯이 action distribution shift offline RL methods에서 가장 큰 문제 중 하나입니다. 특히 우리가 actor-critic method를 사용할 때, target Q-network는 현재 policy에서 샘플링된 action a’에 대해 쿼리됩니다. action a’ out-of-distribution 또는 보지 못한 action일 수 있습니다. 이러한 action에서 target network를 생성하고, backup에 해당 값을 활용할 때, 우리는 학습 중에 실제로는 수정되지 않는 잘못된 값을 backup하고 있습니다. 왜냐하면 우리는 behavior policy가 정의한 분포에서 훈련하기 때문입니다.

이 문제를 어떻게 해결할 수 있을까요? 이 문제를 해결하기 위해, 우리는 단순한 수정을 추가할 수 있습니다. , expected Q-value를 최대화하기 위해 policy를 훈련하는 것 외에도, 이 경우 학습된 policy πθ가 behavior policy πβ와 가까워지도록 해야 합니다. closeness constraint는 여러 가지 방식으로 표현될 수 있으며, 이 튜토리얼에서 일부를 다루겠습니다. 이 종류의 방법을 일반적으로 policy constraint라고 합니다. 이러한 방법들은 behavior policy와 가까운 policy를 유지하기 위해 divergence metric 등을 사용하여 policy constraint합니다.

action distribution shift 문제를 해결하는 데 도움이 되는 이유에 대한 직관을 얻기 위해, 주어진 state s에 대한 Q function landscape를 시각화해 봅시다. (across the action dimension) 이 경우 점선으로 표시된 빨간색 선은 behavior policy를 나타내며, 파란색 선은 Q function manifold를 나타냅니다. 위에서 말한 correction을 적용하지 않으면, 그림에서 볼 수 있듯이 backup을 위해 unseen or out-of-distribution action에 대한 잘못된 높은 Q value를 사용하게 됩니다.

action이나 policy constraint를 실제로 사용할 때, 우리가 하는 일은 target이나 backup에 사용되는 action a’ behavior policy의 분포와 가까운 영역에서 추출되도록 하는 것입니다. 이는 슬라이드의 점선 빨간 곡선과 가깝다는 의미입니다.

이렇게 함으로써 Q-function 학습에 사용되는 out-of-distribution action의 양을 제한할 수 있습니다. Q-function 학습에 사용되는 action은 실제로 우리가 학습하는 action이기도 합니다. , Q-function을 학습하는 데 사용되는 action Q-function 학습을 위한 target label을 생성하는 데 사용되는 action이기도 합니다. 이는 offline RL에서 action distribution shift 문제를 방지하는 역할을 합니다.

 

 

(43)

policy constraint 방법에는 어떤 종류가 있을까요? divergence D는 우리가 자유롭게 선택할 수 있습니다. 어떤 방식으로 이를 구현할 수 있을까요? 저는 이 방법들을 크게 두 가지 종류로 나누겠습니다. 첫 번째는 distribution constraint 방법입니다. 이 방법들은 기본적으로 divergence D를 πθ와 πβ 사이의 확률적 거리로 선택합니다. 예를 들어, KL divergence나 더 일반적인 f-divergence, 또는 두 분포 간의 확률적 거리 개념을 나타내는 다른 거리 척도를 선택할 수 있습니다.

이러한 distribution constraint를 사용하면, 보라색으로 표시된 결과 policy를 발견할 수 있는데, 이는 다이어그램에서 볼 수 있듯이 밀도 측면에서 behavior policy와 가깝습니다. , 주어진 s에 대한 πθ의 밀도는 주어진 s에 대한 πβ의 밀도와 가깝습니다.

우리는 또한 이 distribution constraintimplicit하게 해결할 수 있습니다. 앞서 언급한 현재의 방법들은 이 constraint를 표현하고 어떤 기술을 사용하여 policy에 대한 constrained optimization problem를 해결합니다. 예를 들어, Lagrangian dual descent를 사용할 수 있습니다. 그러나 다른 클래스의 방법들은 이러한 constrained optimization problem closed form으로 해결하고 그 해결책을 code에서 직접 구현합니다.

이를 위해 Q-value를 최대화하고 divergence(예를 들어 이 경우 KL divergence)를 최소화하는 문제를 해결할 수 있습니다. 예를 들어 KL divergence에 대해 이 문제를 closed form으로 해결할 수 있으며, 그 결과 πθ는 주어진 s에 대한 behavioral policy 밀도 πβ에 alpha로 나눈 Q-value의 기댓값를 곱한 것에 비례하게 됩니다.(슬라이드에 나온 식 확인) 이를 코드에 직접 구현할 수 있으며, 저는 이를 implicit distribution constraint 방법이라고 부르겠습니다. 이 방법들도 지금까지 문헌에서 많이 연구되었습니다.

요약하자면, 이 경우 다양한 형태의 distribution constraint 방법이 있으며, 각각 서로 다른 이점을 가지고 있습니다. 예를 들어, 어떤 경우에는 최적화가 더 쉽고, 어떤 경우에는 constraint를 쉽게 표현할 수 있으며, 어떤 경우에는 closed form으로 해결할 수 있습니다. 실제 시나리오에서 무엇을 사용할지는 정말 케이스별로 다릅니다.

 

 

(44)

다음으로, policy constraint 방법의 두 번째 종류는 support constraint 방법입니다. support constraint 방법은 학습된 policy 기준을 behavior policy support로 제한하는 것을 목표로 합니다. behavior policy support behavior policy 하에서 매우 가능성이 높은 모든 가능한 action의 집합입니다. 예를 들어, 슬라이드에서 수직 점선 사이에 있는 action 집합입니다.

이 방법들의 직관은 학습된 policy πθ가 behavior policy support 내에 있는 action만 샘플링하거나, behavior policy에 의해 샘플링될 가능성이 높은 action만 샘플링하도록 제한하려는 것입니다. distribution constraint 방법이 했던 것처럼 πθ와 πβ의 밀도 비율을 비교하는 것은 원하지 않습니다.

이러한 support constraint 방법을 구현하는 한 가지 방법은, 예를 들어 학습된 policy πθ와 behavior policy πβ 사이의 maximum mean discrepancy 거리를 취하고, 이를 몇 가지 설정과 몇 가지 action 샘플만을 사용하여 추정하는 것입니다. 이렇게 하면 어느 정도 support constraint 또는 support matching 스타일의 divergence를 수행하고 있다고 주장할 수 있습니다.

support constraint는 무엇을 하는 걸까요? support constraint는 원칙적으로 이 주어진 state에 대한 Q-function landscape에서 점선 빨간색 선으로 표시된 behavior policy가 주어졌을 때 이 노란색 policy 중 하나를 찾을 수 있습니다.

우리는 또한 support constraint를 다른 종류의 거리를 사용하도록 일반화할 수 있습니다. 예를 들어, integral probability metrics이라고 불리는 일반적인 종류의 metric을 사용할 수 있습니다. 이들은 무엇을 하는 걸까요? 기본적으로 함수 클래스 calligraphic F를 선택하고, 이 함수 클래스의 모든 가능한 함수에 대해 분포 πθ와 분포 πβ 하에서의 expected function value을 계산합니다. 그리고 그 차이를 계산하고, absolute differenece를 계산한 다음, maximums possible difference value을 취합니다.

원칙적으로 무한한 샘플이 있다면 이러한 metric은 πθ가 정확히 πβ 와 같을 때 0이 될 것입니다. 그러나 유한한 샘플을 사용하여 이를 구현할 때, 여러분은 πθ와 πβ 의 밀도를 비교하는 것이 아니라 단지 그들로부터의 샘플에 대한 expected function value을 보고 있는 것과 같은 행동을 하게 됩니다. 따라서 이들은 일종의 support matching 스타일의 특성을 가지고 있습니다.

또한 다른 방법을 사용할 수도 있습니다. 예를 들어, SPIB라는 논문에서는 학습된 policy πθ가 support 밖의 action에 대해 behavior policy가 취하는 것과 정확히 같은 밀도 값을 취하도록 제한합니다. , support 밖의 action에 대해 πθ(a|s)는 πβ(a|s)와 같아야 하며, support 내의 다른 모든 action에 대해서는 원하는 밀도를 자유롭게 선택할 수 있습니다. 이 또한 밀도 비율보다는 집합을 비교하는 것과 유사한 특성을 가집니다.

discrete action space에서 작업할 때 다른 종류의 constraint를 사용할 수도 있습니다. 예를 들어, 여기서 사용할 수 있는 constraint 중 하나는 주어진 state s에 대해 본 모든 action 샘플을 취하는 것입니다. 저는 이를 state s에서의 action 분포의 support라고 부릅니다. 그리고 보지 못한 다른 모든 action에 대해, 학습된 policy πθ가 그 action들에 부여하는 total amount of probability mass를 페널티로 부과합니다. 따라서 슬라이드에서 볼 수 있는 것과 같은 거리, state s에서의 데이터 분포의 support에서 추출되지 않은 action에 대한 πθ(a|s)의 합을 사용할 수 있습니다.

또 다른 방법도 있습니다. 예를 들어, a' 에 대한 최대값을 사용하는 Q-learning을 수행할 때, Q(s', a') a'에 대한 최대값을 계산하는 대신 최대값을 계산하는 action support를 제한할 수 있습니다. 이 또한 이 경우에 유효한 support constraint 방법입니다.

따라서 support constraint를 수행하는 방법은 여러 가지가 있습니다. 이러한 discrete action 방법 중 일부는 continuous action space로 쉽게 일반화되지 않거나 약간 편향될 수 있지만, 수행할 수 있는 방법은 많이 있습니다.

 

 

(45)

지금까지 우리는 distribution constraint support constraint라는 두 가지 종류의 방법에 대해 논의했습니다. 그렇다면 이러한 방법들이 실제로 어떻게 수행되는지, 또는 실제로 차이가 있는지, 왜 실제로 다를 것으로 예상하는지에 대해 알아보겠습니다.

이 질문에 답하기 위해 먼저 한 걸음 물러서서 policy constraint 방법이 실제로 무엇을 하는지 살펴보겠습니다. policy constraint 방법은 policy가 최적화하는 objective를 변경합니다. 더 이상 표준 RL objective를 푸는 것이 아니라, behavior policy에서 너무 멀리 벗어나는 것에 대해 페널티를 받습니다. 그런 의미에서 학습하고 있는 policy에 대해 더 conservative behavior(보수적인 행동)을 장려하는 term이 있습니다.

따라서 여기서 D의 다른 constraint이나 다른 선택은 알고리즘의 behavior를 변경할 것입니다. D의 다른 선택은 standard RL objective를 매우 잘 최적화하거나 그렇지 않을 수 있는 매우 다른 policy를 제공할 것이기 때문입니다.

그렇다면 support distribution constraint는 어떻게 작용할까요? support constraint가 반드시 더 나은 것일까요? distribution constraint가 반드시 더 나은 것일까요? 둘을 비교할 방법이 있을까요? 아니면 어떤 일이 일어날까요?

지금까지 살펴본 그림으로 돌아가보면, distribution constraint 또는 distribution matching은 밀도 측면에서 behavior 분포와 가까운 policy를 선택하게 만듭니다.(보라색) , 주어진 s에 대한 πθ(a|s)가 밀도 측면에서 주어진 s에 대한 πβ(a|s)와 가깝기를 원합니다. 반면에 support constraint는 밀도 측면에서 behavior policy와 가깝지 않지만 behavior policy 밀도가 충분히 큰 action을 선택하는 노란색 policy 중 하나를 선택하게 만듭니다.

uniform behavior policy를 가진 시나리오를 상상해 봅시다. , 우리의 offline 문제에 있는 behavior policy가 각 action을 균일하게 취한다고 가정해 봅시다. 이 경우 우리는 distribution constraint 옵션이 각 action을 어떤 또는 다른 확률로 선택해야 하는 πθ policy를 학습하게 될 것입니다. 반면에 support constraint 버전은 optimal action 100% 확률로 정확히 선택하고 다른 모든 것에 0의 질량을 부여하는 policy를 제공할 것입니다. policy가 더 최적일 것입니다. 왜냐하면 return을 최대화하는 우리가 관심 있는 하나의 action을 정확히 선택하기 때문입니다. 반면에 distribution matching 방식은 최적이 아닐 수 있습니다. 이는 분포를 일치시켜야 하므로 어떤 방식으로든 action에 대한 uniform 분포와 가까워야 하기 때문입니다.

따라서 이론적으로는 support constraint가 더 나을 수 있습니다. 이러한 직관을 여러 간단한 예시에서 형식화할 수 있습니다. 예를 들어, one D line world 예시에서는 support constraint만이 시작 위치에서 목표 위치로 이동할 수 있는 policy를 제공할 수 있습니다. distribution constraint를 사용하는 즉시, 시작 상태에서 목표에 도달하는 데 필요한 단계 수에 따라 목표 위치에 도달할 가능성이 무시할 만큼 작아집니다. 이 궤적이 얼마나 긴지에 따라 distribution matching을 수행하면 목표 위치에 도달할 가능성이 지수적으로 낮아집니다.

 

 

(46)

policy constraint 방법에는 다른 변형들도 있습니다. 지금까지 우리는 distribution constraint support constraint에 대해 논의했지만, 다른 변형들도 있습니다. 예를 들어, policy 분포 π(a|s)를 활용하거나 페널티를 부과하지 않는 변형이 있을 수 있습니다. 지금까지 논의한 모든 방법들은 π (a|s) 또는 πθ(a|s)의 어떤 특성에 대해 이야기하고 그것을 πβ(a|s)의 어떤 특성과 비교합니다.

하지만 우리는 다른 것을 할 수도 있습니다. 예를 들어, policy state-action marginal distribution에 대해 직접 constraint를 정의할 수 있습니다. 우리는 πθ와 πβ에 대한 D policy 하에서의 marginal state-action 분포인 dπ(s,a) behavior policy marginal state-action 분포인 dπβ(s,a) 사이의 KL divergence로 정의할 수 있습니다. 이러한 것도 기술적으로 policy constraint로 볼 수 있습니다.

이에 대해 실제로 많은 연구가 이루어졌습니다. 특히 최근에는 DICE 방법의 family가 이를 기반으로 하고 있습니다. 이 작업의 대부분은 주로 off-policy evaluation 문헌에서 이루어졌지만, 이러한 작업 중 일부에서 볼 수 있듯이 offline RL에도 사용될 수 있습니다.

너무 자세히 들어가지는 않겠지만, 여기서 한 가지 점을 간단히 언급하겠습니다. 이러한 marginal분포는 offline 시나리오에서 쉽게 계산할 수 없습니다. π(a|s)는 일반적으로 우리가 모델링하는 모델이지만, dπ는 policy를 환경에서 정확히 unroll하고 state-action 쌍에 대한 분포를 계산하지 않는 한 계산할 수 없기 때문입니다.

따라서, offline 시나리오에서 dπ 자체를 계산하는 것은 매우 어려울 수 있습니다. 일부 방법들이 일반적으로 하는 것은 밀도 비율을 추정하는 것입니다. , dπ(s,a)dπβ(s,a)로 나눈 값을 추정하고, 이를 implicit하게 modified objective를 가진 RL에 사용합니다. Sergey가 이전에 논의했듯이, s,a에 대한 weights w에 대한 Bellman 방정식 또는 Bellman과 유사한 방정식을 작성하고 이를 해결할 수 있지만, 너무 자세히 다루지는 않겠습니다. 관심이 있다면 이 슬라이드에 나열된 참고 문헌에서 많은 세부 사항을 찾을 수 있습니다.

 

 

(47)

마지막으로, policy constraint 방법들이 실제로 어떻게 수행되는지 살펴보겠습니다. 우리는 여러 가지 방법들을 보았는데, 이들을 deep neural network와 함께 실제 task에서 실행하면 어떻게 수행될까요?

이를 이해하기 위해 problem setup에 대해 간단히 소개하겠습니다. 이 경우 우리는 여러 방법들을 비교할 것인데, 문제는 reward를 최적화하는 것입니다. 하지만 우리에게 주어진 dataset, offline dataset random policy에서 생성된 데이터로 구성됩니다. random policy는 모든 action을 균일하게 무작위로 취합니다.

또한 부분적으로 학습된 policy도 있습니다. 이는 표준 online agent를 부분적으로 학습하여 얻은 policy입니다. , 몇 단계 동안 학습한 다음, policy를 고정하고 그로부터 많은 데이터를 수집하여 dataset으로 사용합니다. 이를 mediocre policy 또는 intermediate policy라고 부릅니다.

우리는 이러한 random policy mediocre policy 각각에서 데이터를 가져와 혼합하여, 우리 agent에 제공되는 datasetreplay buffer로 사용합니다. 예를 들어, Hopper Walker 도메인에서 이러한 방법들이 어떻게 수행되는지 살펴보겠습니다.

이 방법들의 성능을 살펴보기 전에, 먼저 우리가 이야기할 baseline들을 살펴보겠습니다. 우리는 naive policy RL baseline Soft Actor-Critic, 표준 supervised learning imitation Behavior Cloning, 그리고 세 가지 policy constraint 방법에 대해 이야기할 것입니다. 이 중 빨간색으로 표시된 BEAR support constraint 방법이고, BCQ BRAC distribution constraint 방법입니다.

첫 번째 insight, 세 가지 offline RL 방법 또는 세 가지 policy constraint 방법 모두 노란색으로 표시된 Behavior Cloning보다 실제로 더 나은 성능을 보인다는 점에 주목하세요. 이는 offline RL이 데이터 세트에 대한 단순한 vanilla cloning이나 supervised learning보다 훨씬 더 잘 수행할 수 있음을 나타냅니다. 이는 좋은 점입니다. offline RL이 정말로 유망한 것임을 보여주기 때문입니다.

주목해야 할 두 번째 점은 D의 다른 선택이 실제로 중요하다는 것입니다. 예를 들어, plot 중 하나에서 BCQ, BEAR, BRAC 사이에 명확한 차이가 있으며, 이는 단순한 무작위성이 아닙니다. 그러나 여기서 주목할 또 다른 점은 support constraint 방법인 BEAR가 두 환경 모두에서 가장 최적이 아니라는 것입니다. 결국 가장 최적인 것은 distribution constraint를 사용하는 BRAC 방법입니다.

support distribution constraint에 대해 우리가 논의한 내용은 실제로 이론에서는 성립하지만, 실제 task에서 예상되는 행동에는 약간의 차이가 있을 수 있습니다. 이는 우리가 아직 분석하지 않았거나 아직 모르는 다른 요인들이 작용할 수 있기 때문입니다. 따라서 우리가 기대하는 것과 실제로 얻는 것 사이에 불일치가 있으며, 이것이 왜 그런지, 그리고 이에 대한 조사가 향후 알고리즘 개발에 무엇을 시사하는지는 중요한 연구 질문입니다.

그러나 우리는 policy constraint 방법이 지금 충분한지 물어볼 수 있습니다. BEAR BRAC와 같은 policy constraint 방법을 하드웨어 task에서 실행해보면, 예를 들어 ant maze navigation task에서는 시작 위치에서 목표 위치로 개미 로봇을 조종하도록 훈련시키는 것입니다. 이 때 offline 데이터 세트는 원하는 시작 위치에서 원하는 목표 위치로 이동하는 단일 궤적조차 포함하지 않으며, 실제로 그러한 행동을 얻기 위해 궤적의 일부를 연결해야 합니다.

이러한 복잡한 offline novel task 시나리오에서, 우리는 대부분의 이러한 방법들이 매우 잘 수행되지 않는다는 것을 발견합니다. 예를 들어, 여기서 볼 수 있는 medium large maze의 경우 미로의 복잡성을 증가시키자마자 이러한 policy constraint 방법 중 어느 것도 이 시나리오에서 non-trivial 행동을 수행하지 않습니다. 이는 우리에게 아직 해야 할 일이 있다는 것을 말해줍니다. policy constraint 방법이 모든 것에 대한 답은 아닙니다.

 

 

(48)

그렇다면 우리는 다음으로 어디로 가야 할까요? policy constraint 방법이 그다지 좋지 않다는 것을 깨달았지만, 그렇다면 무엇이 좋을까요? 또는 알고리즘 개발을 위해 어떤 종류의 것들을 생각해야 할까요?

이를 이해하기 위해 policy constraint 방법의 몇 가지 단점을 다시 살펴보겠습니다. 우선, policy constraint 방법은 일반적으로 behavior policy를 추정해야 합니다. 이는 policy improvement 단계에서 이러한 제약을 적용할 때, policy πβ가 일반적으로 데이터 세트에서 추정된다는 것을 의미합니다. πβ(a|s)가 무엇인지 알려주지 않기 때문에 우리는 정적 데이터 세트에서 πβ를 추정합니다.

만약 우리가 이 behavior policy를 잘못 추정한다면, 예를 들어 multimodal 분포에 unimodal policy를 맞추면, πθ를 실제로 in-distribution인 영역으로 의미 있게 제한하지 않는 제약 조건을 얻을 수 있습니다. 왜냐하면 우리의 behavior policy, 즉 데이터의 분포가 무엇인지에 대한 ground truth 추정이 특히 잘못되었기 때문입니다. 이것이 예를 들어 ant maze 시나리오에서 그다지 좋지 않은 이유 중 하나입니다.

policy constraint 방법이 그다지 좋지 않은 또 다른 이유는 이러한 방법들이 종종 너무 보수적인 경향이 있기 때문입니다. 예를 들어, 학습 중에 특정 상태에서 모든 action이 똑같이 나쁘거나 똑같이 좋다는 것을 알게 되거나 어떻게든 파악할 수 있다면, 예를 들어 모든 action이 장기적으로 0 reward를 가진다면, 우리는 그 상태에서 policy를 제한하는 것에 대해 신경 쓰지 않습니다. 그 상태에서 어떤 action을 취하든 같은 reward를 얻게 될 것이라는 것을 알기 때문입니다.

그러나 policy constraint 방법은 여전히 그 상태에서 πθ가 πβ와 가깝도록 요구하는 제약 조건을 부과할 것입니다. 그리고 우리가 function approximation을 사용할 때, 이로 인해 다른 상태에서의 policy 성능에 영향을 미칠 수 있으며, 이는 좋지 않을 수 있습니다. 따라서 이러한 방법들은 이러한 시나리오에서 너무 보수적인 경향이 있으며, behavior policy에 너무 가까운 경향이 있습니다.

그래서 우리는 이 경우에 더 잘할 수 있는지 묻습니다. 이에 대해선 다음에 논의하겠습니다.

 

 

(49)

offline RL에서 policy constraint 방법보다 어떻게 더 잘할 수 있는지 이해하기 위해, 우리가 시작했던 motivating 예제를 다시 살펴보겠습니다. 이는 expert policy에서 나온 데이터 세트로 offline RL task에서 naive off-policy RL 방법을 실행하는 예제였습니다. 이 경우 Q-value가 크게 과대 추정되었고, Q-value가 보지 못한 결과를 과대 추정하게 되었으며, 이는 또한 나쁜 결과였습니다. 그래서 매우 좋지 않은 성능을 보였습니다.

policy constraint 방법은 학습된 policy가 어떤 식으로든 behavior policy와 가깝도록 함으로써 이 문제를 해결하고자 합니다. 그들은 결과로 나온 policy가 취하는 action behavior 분포와 너무 다르지 않도록 하여 이 문제를 해결할 수 있었습니다.

그러나 이제 저는 policy constraint 방법이 실제로 과도하게 하고 있다고 주장하겠습니다. 특정 결과에 대해 알고리즘이 실제로 그 결과가 나쁘다는 것을 알고 있다면 policy action 분포를 제한할 필요가 없습니다. 보지 못한 특정 결과에 대해서도, 알고리즘이 어떤 식으로든 일반화하거나 Q-function이 어떤 식으로든 일반화하여 보지 못한 행동에 대한 Q-value가 매우 낮다면, 그 결과에 대해 policy를 별도로 제한할 필요가 없습니다.

그렇다면 이 경우에 과대 추정 문제를 직접 해결할 수 있을까요? 이는 여기서 더 중요한 문제이며, action 분포를 제한하는 것보다 더 중요합니다. action 분포를 제한하는 것은 확실히 이를 해결하는 한 가지 방법이지만, 가장 최적의 해결 방법은 아닙니다.

이 섹션에서는 이러한 방법들에 대해 논의할 것이며, 우리는 이를 conservative 방법이라고 부를 것입니다. 이들은 여러 가지 방식으로 policy 성능의 하한을 학습함으로써 이 과대 추정 문제를 해결하려고 시도할 것입니다. 우리는 이러한 방법 중 두 가지 종류에 대해 논의할 것입니다. 하나는 model-based 방법이고 다른 하나는 model-free 방법입니다.

 

 

(50)

conservative model-based offline RL 방법부터 시작해 보겠습니다. model-based 스타일 프레임워크에서 정확히 어떻게 conservatism을 얻을 수 있는지 살펴보기 전에, 먼저 offline 데이터 세트가 있을 때 어떤 종류의 model-based 스타일 프레임워크를 사용할 수 있는지 논의해 보겠습니다.

transition의 데이터 세트가 있다고 상상해 봅시다. 우리가 하는 일은 이 데이터 세트에서 dynamics model 또는 neural net dynamics model을 학습하는 것입니다. 이 모델은 state-action st, at를 다음 상태 st+1에 매핑하는 것을 목표로 합니다. 이는 action at state st에서 실행했을 때 얻게 될 다음 상태입니다. 또한 reward function도 학습할 것입니다. 이 함수는 action at state st에서 실행했을 때 실제 환경에서 얻었을 reward 값을 예측합니다.

이제 이렇게 학습된 모델과 학습된 reward function을 일종의 proxy world로 취급하여 model-based RL 또는 model-based planning을 수행할 수 있습니다. 이를 true dynamics true reward function인 것처럼 취급하고 여기에서 RL 또는 planning을 수행할 것입니다.

예상할 수 있듯이, 학습된 모델에서의 planning이나 policy optimization도 보지 못한 결과로 이어질 것입니다. 학습된 모델과 학습된 reward function은 정확하지 않을 것이기 때문입니다. 특히 데이터 분포가 high coverage가 아닌 경우에는 부정확할 것이며, 이들 하에서 planning을 하면 policy가 데이터 manifold 밖으로 나가 보지 못한 결과로 이어지는 action을 선택하게 될 것입니다.

우리는 이 문제를 여러 가지 방법으로 해결할 수 있습니다. 예를 들어, 한 가지 옵션은 우리가 앞서 본 policy constraint 방법입니다. 그러나 우리가 논의했듯이, 이러한 방법들이 너무 보수적이기 때문에 직접 적용하고 싶지 않았습니다. 그렇다면 우리는 무엇을 할 수 있을까요?

문헌에서 탐구된 한 가지 옵션은 학습된 reward function을 보수적으로 만드는 것입니다. 이러한 방법들은 학습된 reward function이 어떤 의미에서 out-of-distribution 또는 보지 못한 결과를 고려하도록 만들고, 단순히 이 수정된 reward function에 대해 model-based argument를 실행합니다.

이를 더 도식적으로 나타내기 위해, 이 평행사변형이 MDP에서 가능한 state-action 쌍의 공간이라고 상상해 봅시다. 녹색 영역은 내 데이터 세트에서 실제로 관찰된 영역입니다. 제가 할 일은 이 녹색 영역에서 내가 학습할 수 있는 변경되지 않은 reward function을 유지하지만, 그 외의 영역에 대해서는 reward function을 더 보수적으로 만들 것입니다. 그리고 이 새로운 수정된 MDP에서 model-based RL을 실행할 것입니다.

 

 

(51)

그렇다면 offline RL에서 이러한 conservative reward function을 어떻게 얻을 수 있을까요? 여기서 슬라이드 하단에 인용된 두 가지 최근 연구를 논의하겠습니다. 이 두 연구 모두 additive transformation을 사용하여 reward function을 수정하는 접근 방식을 취합니다. 그들은 원래의 reward function을 가져와서 이 원래의 reward function에서 일종의 불확실성 메트릭을 뺍니다. 이를 통해 수정된 reward function을 얻습니다. U(s) state-action 쌍이 in-distribution인지, out-of-distribution인지, 또는 그 state-action 쌍이 본 적이 있는지 없는지를 나타내는 불확실성 개념입니다. 우리는 이를 기반으로 한 quantity reward function에서 뺍니다.

그렇다면 model-based offline RL 시나리오에서 불확실성을 어떻게 추정할 수 있을까요? 우선 정확히 어떤 함수를 거기서 뺄 것인지는 제쳐두고, 이러한 시나리오에서 어떻게 불확실성의 개념을 얻을 수 있을지 생각해 봅시다.

불확실성을 파악하는 일반적인 방법 중 하나는 주어진 데이터 세트에 대해 model ensemble을 학습하는 것입니다. 우리가 할 일은 데이터 세트를 서로 다른 분리된 부분집합으로 나누거나, 전체 데이터 세트를 사용하거나, 노이즈를 추가하는 등 여러 가지 방법이 있습니다. 그리고 우리는 이 데이터 세트에 대해 여러 개의 dynamics model, model ensemble을 학습할 것입니다. 그리고 우리는 특정 state-action 쌍이 in-distribution인지 out-of-distribution인지 파악하기 위해 이들의 예측의 일치도를 확인할 것입니다.

왜 이렇게 하는 것일까요? 이것이 의미 있는 이유에 대한 직관을 얻기 위해, 간단한 1D 회귀 task에서 model ensemblefit해서 얻을 수 있는 곡선을 살펴봅시다. 여기서 보이는 곡선은 간단한 1D 회귀 task입니다. 실선은 ground truth 함수이고, 여러분이 보는 다양한 밴드는 일종의 불확실성 또는 이 곡선에 표시된 빨간색 점들로 구성된 데이터에서 학습된 model ensemble의 예측으로 간주될 수 있습니다.

이 빨간색 점들에서만 나오는 데이터만 보았고, 여기에 model ensemble을 맞추고 있습니다. 관찰된 지점에서의 예측은 모두 정확할 것입니다. ensemble의 각 모델이 그 값들을 정확히 예측할 것이기 때문입니다. 하지만 보지 못한 다른 모든 점들에 대해서는 다른 모델들이 다른 방식으로 실수를 할 것입니다. 그들은 같은 방식으로 실수하지 않고, 보지 못한 점들에 대해 다른 방식으로 실수할 것입니다.

따라서 이러한 보지 못한 데이터 포인트에 대한 예측의 variance가 매우 높다는 것을 알게 될 것입니다. 실제로 ensemble의 모델들의 일치도를 확인하면, in-distribution 지점 또는 본 적이 있는 지점에서는 일치도가 더 높지만, out-of-distribution 지점 또는 보지 못한 지점에서는 일치도가 더 낮다는 것을 알 수 있습니다. 따라서 이 일치도 개념을 사용하여 다음에 논의할 U(s,a)에 대한 구체적인 메트릭을 파악할 수 있습니다.

 

 

(52)

그렇다면 이러한 model-based offline 알고리즘들은 불확실성 메트릭으로 무엇을 선택할까요?

첫 번째 옵션은 앞서 논의한 모델 불일치입니다. , 여러 개의 dynamics model(pi pj로 표시됨)을 학습하고, 그들의 상호 불일치를 계산합니다. 예를 들어, 그들의 예측을 가져와서 이 모델들에서 예측된 결과 상태들 사이의 L1 또는 L2 거리와 같은 것을 계산할 수 있습니다.

다음으로 우리가 할 수 있는 것은, ensemble의 모델들 간의 최대 불일치가 어떤 임계값보다 크다면 V(s,a)를 가능한 최대 reward로 만드는 것입니다. , 우리는 어떤 수작업으로 정한 임계값을 지정하고, 상호 불일치를 계산합니다. 만약 그 불일치가 매우 크다면, 우리는 그 MDP에서 어떤 transition에서든 얻을 수 있는 최대 가능 reward를 빼서 reward function을 매우 작게 만들 것입니다. 이것이 Kidambi et al. 2020의 아이디어이며, 이를 수행하는 방법 중 하나입니다.

또 다른 방법으로는 예측 불확실성의 개념을 고려하는 것입니다. 예를 들어, dynamics model 또는 ensemble dynamics modelmultivariate Gaussian distributions로 인스턴스화한다고 가정해 봅시다. 여기서 우리가 할 수 있는 것은 불확실성을 discrete function이나 step function이 아닌 continuous function으로 만드는 것입니다. 이는 ensemble의 모델 예측 공분산 행렬의 최대 가능 Frobenius norm에 해당합니다. , 모든 가능한 ensemble 요소에 대해 주어진 s,a 입력 쌍에서의 예측의 공분산 행렬 σ Frobenius norm의 최대값입니다. 이것이 Yu et al. 2020 MOPO의 아이디어입니다.

이제 우리는 이러한 종류의 메트릭이나 잠재적으로 개발할 수 있는 새로운 메트릭을 사용할 수 있지만, 그렇다면 이를 어떻게 RL에 사용할 수 있을까요? 또는 이를 model-based RL에 어떻게 사용할 수 있을까요?

우리는 reward function을 얻었고, 이제 우리가 할 수 있는 것은 Dyna 스타일 알고리즘을 더 사용하는 것입니다. 여기서 우리는 결과로 얻은 학습된 모델과 학습된 reward function에서 더 많은 데이터를 생성합니다. 이때 reward function도 이제 더 보수적으로 수정되었습니다. 그리고 우리는 단순히 이 데이터 위에서 간단한 model-free offline off-policy RL 알고리즘을 실행합니다. 이것이 한 가지 접근 방식입니다.

다른 접근 방식은 이제 결과로 나온 모델과 새로운 reward function을 사용하여 trajectory optimization 또는 planning을 수행하는 것입니다. 이 또한 잠재적으로 실행 가능한 접근 방식입니다. 이 두 가지 모두 문헌에서 탐구되었으며, 그들의 trade-off는 슬라이드의 참고 문헌에서 살펴볼 수 있습니다.

지금까지의 공통된 주제가 reward function을 더 보수적으로 만드는 것이었다는 점에 주목하셨을 것입니다. 하지만 원칙적으로 우리는 dynamics도 다르게 만들 수 있습니다. 지금까지 우리가 한 일은 데이터에서 직접 dynamics를 학습하는 것이었습니다. 물론 dynamics model ensemble이지만, ensemble의 요소들을 실제로 수정하지는 않았습니다. 그들은 단지 우리의 데이터 세트나 데이터 세트의 dynamics를 일치시키려고 했을 뿐입니다.

원칙적으로 우리는 dynamics도 어떤 식으로든 변경한 다음 그 위에서 model-based RL을 실행할 수 있습니다. 하지만 지금까지의 방법들은 그렇게 하지 않습니다. 따라서 여기서 잠재적으로 열린 질문은 우리가 실제로 dynamics를 수정해야 하는지, 아니면 reward를 더 보수적으로 만드는 것만으로 충분한지, 또는 이러한 offline RL 시나리오에서 reward를 더 보수적으로 만드는 것이 충분한지 여부입니다.

 

 

(53)

그렇다면 model-based offline RL 방법은 실제로 어떻게 수행될까요? 여러분이 가장 먼저 주목했으면 하는 것은 naive model-based 알고리즘도 offline 알고리즘에서 발견되는 일부 보조적인 도전 과제를 해결하는 데 도움이 될 수 있다는 점입니다.

Sergey가 논의했듯이, sampling error function approximation error는 일반적으로 RL 방법에 존재하는 도전 과제이지만, offline RL을 수행할 때 더욱 악화됩니다. 우리가 더 많은 on-policy 또는 online 데이터 수집을 통해 오류를 수정할 수 없기 때문입니다.

naive model-based RL 방법은 이러한 문제 중 일부, 예를 들어 sampling error와 같은 문제를 많이 해결할 수 있습니다. distribution shift 문제를 실제로 수정하지 않더라도, distribution shift 문제가 너무 크지 않은 경우에도 model-based 방법인 MBPO off-policy 알고리즘 방법인 SAC 사이의 성능 차이가 이 plot에서 매우 크다는 것을 볼 수 있습니다. 이는 model-based 방법에 유리한 좋은 점입니다.

두 번째로, 저는 MOPO 논문에서 가져온 이 표의 결과에 대해 논의하겠습니다. 여기서 제가 가장 먼저 주목해 주셨으면 하는 것은 conservatism model-based 방법에 실제로 도움이 된다는 점입니다. 특히 narrow 데이터 세트에서 그렇습니다. 만약 내 데이터 세트에서 보는 state-action 쌍의 분포가 너무 넓지 않다면, conservatism 또는 보수적이 되는 것, 또는 reward function을 보수적으로 수정하는 것이 실제로 도움이 된다는 것을 발견합니다.

예를 들어, 이 표에서 'medium'이라는 단어로 인덱싱된 행을 보면, conservative 변형인 MOPO MBPO 자체보다 실제로 훨씬 더 나은 것을 알 수 있습니다. 더욱이, 이러한 model-based 방법들이 policy constraint 방법들보다 훨씬 더 나은 경향이 있으며, 특히 덜 보수적인 경우에 더 나은 것을 알 수 있습니다.

예를 들어, 'mixed'라는 단어로 표시된 행에서는 세 가지 도메인 모두에서 model-based 변형인 MOPO가 해당하는 policy constraint 방법인 BEAR BRAC보다 훨씬 더 낫다는 것을 알 수 있습니다. 이는 우리가 논의한 이유 때문입니다. policy constraint 방법은 처음부터 그만큼의 conservatism이 필요하지 않은 경우에도 너무 보수적일 수 있습니다.

 

 

(54)

이제 우리는 offline RL을 위한 value function regularization 방법에 대해 이야기하겠습니다. 지금까지 우리는 예를 들어 학습된 dynamics model ensemble을 사용하여 계산된 불확실성 메트릭을 사용하여 reward function에 페널티를 부과함으로써 과대 추정을 처리하는 방법을 살펴보았습니다.

그러나 model-free 설정에서는 이러한 학습된 dynamics model에 접근할 수 없기 때문에 학습된 Q-function 또는 학습된 value function을 직접 페널티를 부과하는 방법을 생각해내야 합니다.

이를 위한 한 가지 접근 방식은 value function 학습에 policy constraint를 기반으로 한 페널티를 추가하는 것입니다. 예를 들어, 학습된 policy πθ와 behavior policy πβ 사이의 divergence D를 계산하고 이를 Q-function 학습에서 빼는 것입니다. 이러한 접근 방식들은 표준 online RL 설정에서 KL control이라는 이름으로, 그리고 최근에는 offline RL 설정에서도 광범위하게 연구되었습니다.

이러한 업데이트를 구현하는 offline RL 작업들은 경험적으로 value penalty 버전이 순수한 policy constraint 방법보다 훨씬 더 잘 수행된다는 것을 보여줍니다. 이는 실제로 유망하지만, 이 방법들도 여전히 policy constraint를 사용합니다. policy constraint 방법과는 다른 형태이긴 하지만, 여전히 이 divergence 개념을 사용하고 있습니다. 우리는 이것이 너무 보수적이 된다고 생각했기 때문에 이를 제거하고 싶었습니다.

다른 종류의 접근 방식들은 실제로 이 divergence를 제거하고 Q-function 학습의 objective를 직접 변경하여 자동으로 conservative 행동이 발생하도록 할 수 있습니다. 이렇게 하면 이 divergence 개념이 필요 없게 됩니다. 이를 수행하는 한 가지 방법은 슬라이드에서 볼 수 있는 이 objective를 사용하여 Q-function을 학습하는 것입니다.

여기서는 표준 TD error 항에 추가로, 데이터 세트의 각 상태에서 큰 Q-value를 최소화하는 추가 regularizer가 있습니다. regularizer가 하는 일은 내 Q-function이 높은 값을 가지는 action을 선택하고 그 Q-value를 최소화하거나 낮추는 것입니다.

이게 왜 작동하는 것일까요? 이 경우, TD error objective는 데이터 세트에서 본 state-action 쌍에서 Q-value를 올릴 것입니다. 왜냐하면 그 상태에서 bellman backup을 수행하고 있기 때문입니다. 반면에 regularizer 항은 보지 못한 결과나 데이터 세트에서 보지 못한 action에 대해 Q-value가 높은 경우 그 Q-value를 낮출 것입니다.

이 경우, 보지 못한 결과가 절대 과대 추정되지 않도록 하고 있습니다. 왜냐하면 그들의 Q-value가 단순히 많이 최소화되기 때문입니다.

 

 

(55)

우리는 이 아이디어를 공식화하고 이를 Conservative Q-Learning이라고 부릅니다.

여기서 우리가 하는 일은 먼저 이 업데이트를 사용하여 conservative Q-function을 학습하는 것입니다. 그리고 형식적으로 데이터 세트의 모든 상태와 그 상태에서의 모든 action에 대해, 학습된 conservative Q-function policy true Q-function의 하한이 될 것임을 보일 수 있습니다.

이러한 이유로 더 이상 과대 추정되지 않을 것이며, 따라서 표준 actor-critic 설정 알고리즘을 직접 적용할 수 있습니다. 다만 policy 학습을 위해 이 conservative Q-function을 사용합니다. , conservative Q-function을 학습한 다음, 표준 actor update를 사용하여 policy를 최적화합니다. 이는 naive off-policy RL 알고리즘에서 하는 것과 같지만, naive Q-function 대신 이 conservative Q-function을 해당 update에 사용합니다.

이 방법이 좋은 이유는 과대 추정을 피할 수 있기 때문입니다. 그러나 여전히 너무 보수적일 수 있습니다. 왜냐하면 이 objective로 학습할 때 Q-value가 얼마나 낮아질 수 있는지에 대한 제약이 없기 때문입니다. 본질적으로 Q-value를 최소화하고 TD error 항과 trade-off하고 있기 때문입니다.

대신 우리는 이 알고리즘의 약간 다른 버전을 생각해낼 수 있습니다. 이를 CQL v2라고 부릅니다. v1과 다른 점은, v1의 항들을 여전히 가지고 있어 큰 Q-value를 최소화하고 표준 TD error를 최소화하는 것 외에도, 데이터 세트에서의 예상 Q-value 또는 behavior policy 하에서의 예상 Q-value를 최대화한다는 것입니다.

이렇게 하면 더 이상 Q-function 또는 conservative Q-function true Q-function pointwise 하한이 될 것이라고 보장하지 않습니다. 이런 의미에서 실제로 데이터 세트에서 보는 state-action 쌍에 대해 상한이 되거나 Q-value를 과대 추정할 수 있습니다. 그러나 여전히 이 conservative Q-function 하에서 학습된 policy value function policy true value의 하한이 될 것입니다.

따라서 이런 의미에서 훨씬 더 tight합니다. 왜냐하면 더 이상 Q-function을 완전히 과소 추정하지 않지만, 여전히 올바른 부분을 과소 추정하고 있기 때문입니다. , 우리가 RL에서 관심 있는 value function 또는 policy value를 여전히 과소 추정하고 있습니다.

여기서 관련된 연결점을 언급하고 싶습니다. 2014년과 2017년의 이 연구들은 demonstration과 함께 Q-learning을 수행하고자 하는 설정에서 유사한 목적을 가지고 있습니다. 그러나 그들이 사용하는 특정 loss 형태는 약간 다릅니다. 우리가 여기서 가진 linear loss 대신 큰 Q-value와 데이터 Q-value 사이의 일종의 margin loss를 사용하기 때문입니다.

또한 Conservative Q-Learning v2 update saddle point 문제를 가지고 있다는 점에 주목하세요. Q-function을 최소화하고 mu를 최대화하는데, 이는 실제로 해결하기 매우 불안정할 수 있습니다. 서로 경쟁해야 하는 두 개의 neural network가 있기 때문입니다.

 

 

(56)

실제로 이를 구현하는 다른 방법은 대신 soft optimization 문제를 해결하는 것입니다. 여기서는 특정 상태에서 Q-value softmax를 취하고 이를 최소화할 것입니다. 데이터 세트에서 Q-value를 최대화할 것이며, 또한 우리가 가졌던 TD error를 최소화할 것입니다. mu에 대한 max가 사라지고 이제 Q-function에 대한 softmax가 있습니다.

우리가 논의한 대로 알고리즘은 여전히 이 objective를 사용하여 Q-function을 학습할 것이며, policy는 여전히 예상 Q-value 또는 여기서 볼 수 있는 discounted return을 최대화하려고 할 것입니다.

이러한 방법들이 실제로 어떻게 수행되는지 논의하기 전에, Q-function 학습의 objective를 변경하는 이 value regularization policy constraint penalty와 어떻게 다른지에 대해 조금 이야기해 봅시다. policy constraint penalty는 여기서 볼 수 있듯이 backup에서 일종의 penalty를 뺍니다.

tabular 설정에서는 우리가 오늘 논의한 CQL과 같은 value regularization 접근 방식도 Q-function backup에서 penalty를 뺀다는 것을 보여줄 수 있습니다. penalty는 약간 다릅니다. 표준 KL divergence penalty 같은 것은 아니지만 여전히 πθ와 πβ사이의 penalty와 같습니다.

그러나 function approximation 설정에서 policy constraint penalty 방법은 수정된 전체 target Q-value projection down할 것입니다. 여기서 target Q-value reward function + gamma * Q(s’, a’)로 계산하고, 여기서 divergence를 빼고 이를 function class projection down합니다. , 이 값을 Q-function approximator에 맞추려고 합니다.

그러나 CQL은 이 regularizer를 사용하기 때문에, function approximator를 사용할 때 이것이 발생하는 update가 아닙니다. 대신 여전히 수정되지 않은 bellman backup에 해당하는 target value projection down하지만, 학습된 policy πθ, behavior policy πβ, 그리고 Q-function 또는 Q-function feature Q-function gradient를 복잡한 방식으로 얽히게 하는 별도의 offset이 있습니다. 따라서 여기 첫 번째 방정식에서 볼 수 있는 표준 policy constraint value projection down하는 것보다 약간 더 복잡합니다.

 

 

(57)

그렇다면 CQL은 실제로 어떻게 수행될까요? 실제로 우리는 먼저 CQL에 의해 학습된 conservative Q-function 하에서의 policyexpected value인 학습된 policy value가 실제로 policy true value의 하한인지 아닌지를 계산합니다. 우리는 이를 먼저 확인합니다.

우리는 CQL이 실제로 conservative Q-value를 제공하고, CQL에 의해 학습된 Q-value가 실제 Q-value의 엄격한 하한이라는 것을 발견합니다. 이는 BEAR와 같은 대부분의 다른 방법들에서는 사실이 아닙니다. 이들은 quality constraint 방법이지만, 여전히 일종의 과대 추정을 합니다.

이전에 policy constraint 섹션에서 논의했던 ant maze task에서 우리는 CQL이 매우 효율적일 수 있다는 것을 발견합니다. 예를 들어, 여기서 baseline이나 imitation, naive policy RL, policy constraint 방법, 그리고 KL control에서 영감을 받은 접근 방식 1과 비교하여 CQL은 이러한 ant maze task에서 상당한 margin으로 이러한 방법들을 능가할 수 있습니다.

CQL이 더 나은 stitching을 할 수 있다는 것이 차이점입니다. 이러한 task에서는 시작 위치에서 목표 위치로 가는 단일 경로가 없지만, 관련된 sub-trajectory들을 함께 연결하여 그러한 행동을 얻어야 합니다.

 

 

(58)

지금까지 우리는 세 가지 종류의 방법을 보았습니다: policy constraint 방법, model-based offline RL 방법, 그리고 value regularization RL 방법입니다. 이 세 가지 방법 모두에서 우리는 공통된 주제를 따랐습니다. 그것은 모든 보지 못한 행동에 대해 가능한 한 많이 그 value penalize하는 것입니다. , 보지 못한 action policy가 취하는 것을 방지하거나, 보지 못한 결과에 대해 Q-function이나 reward value가 작도록 보장합니다.

그러나 만약 Q-function이나 reward function이 어떻게든 보지 못한 행동에 대해 일반화할 수 있는 시나리오라면 어떨까요? , 그들이 보지 못한 state-action 쌍에 대해 Q-function이나 reward function의 올바른 예측을 할 수 있다면 어떨까요? 이 경우, 예상대로 보수적이 되고 싶지 않을 것입니다. 왜냐하면 단순히 naive off-policy RL을 실행하는 것만으로도 이러한 시나리오에서 훨씬 더 나은 해결책을 얻을 수 있기 때문입니다.

그러나 그것이 사실인지 아닌지를 파악하는 것이 큰 문제입니다. uncertainty-based offline RL 방법이 우리에게 보장하는 것 중 하나는 Q-function이나 model이 언제 일반화할 수 있고 언제 정확하게 일반화할 수 있는지를 파악할 수 있게 해준다는 것입니다. 다시 말해, 우리가 잠재적으로 어떤 종류의 conservative correction이 필요 없이 MDP를 해결할 수 있다는 사실을 정확하게 사용할 수 있게 해줍니다.

여기에는 일종의 스펙트럼이 있습니다. 스펙트럼의 한쪽 끝에는 conservatism을 전혀 적용하지 않는 naive off-policy RL 방법이 있고, 다른 쪽 끝에는 어떤 conservatism을 적용하는 방법이 있습니다. uncertainty-based 방법은 특정 문제에 대해 스펙트럼의 어느 지점이 올바른지 파악하는 데 도움을 줄 수 있습니다.

다른 RL 방법의 클래스와 마찬가지로, 이러한 방법을 구현하는 데는 두 가지 방법이 있습니다. model-based 접근 방식을 취하거나 model-free 접근 방식을 취할 수 있습니다. 저는 model-based 경로를 따른다면 이미 uncertainty-based offline model-based RL 방법을 구현하는 방법을 보았다고 주장할 것입니다. 왜냐하면 model-based 영역에서 본 방법들이 실제로 어떤 종류의 uncertainty 메트릭을 고려했기 때문입니다. uncertainty dynamics model ensemble disagreement 등으로 정의되었습니다.

이 함수 U에 대한 다른 선택이 있을 수 있으며, 이는 잠재적으로 탐색할 수 있지만, 이러한 방법들은 실제로 이 uncertainty-based 카테고리에 속합니다.

model-free 영역에서 uncertainty-based offline RL을 수행하는 쉬운 방법 중 하나는 model-based 영역에서 계산한 이 uncertainty 함수, 예를 들어 슬라이드의 함수 U(s,a)를 사용하여 reward 함수를 수정하고 그 위에서 명시적인 model-free RL을 실행하는 것입니다. 그러나 이와 같은 것은 policy constraint 방법과 크게 다르지 않게 됩니다. 일반적으로 각 state-action 쌍에 대해 독립적으로 reward 함수를 수정하는 것은 각 state-action에 독립적으로 policy constraint를 적용하는 것만큼 느슨하기 때문입니다. 따라서 이는 가장 바람직한 방법이 아닙니다.

그렇다면 우리는 무엇을 더 잘할 수 있을까요? 한 가지 접근 방식은 Q-function uncertainty의 개념을 직접 모델링하고 이 Q-function uncertainty를 사용하여 policy를 어떻게 update해야 하는지, 또는 policy improvement를 어떻게 해야 하는지 안내하는 것입니다.

policy improvement를 위해 Q-function uncertainty의 개념을 어떻게 사용할 수 있는지 이해하기 위해, 데이터 세트가 주어졌을 때 Q-function uncertainty set을 정의해 봅시다. P_D(Qπ)로 표시되는 이 기호는 원칙적으로 Qπ의 가능한 모든 후보가 될 수 있는 Q-function의 집합을 나타냅니다. 여기서 π는 주어진 데이터셋에 대한 특정 policy입니다.

데이터 세트는 특정 transition을 지정하고, 만약 내 Q-function이 이러한 transition에 대해 policy π와 관련하여 bellman consistency 방정식을 만족한다면, 그것은 잠재적으로 유효한 후보입니다. Qπ가 될 수 있기 때문입니다. MDP의 모든 가능한 state-action 쌍을 보지 않았기 때문에 이 중 어느 것이 정확히 Qπ인지 말할 수 없지만, 모두 유효한 가능한 후보들의 집합이 있습니다. P_D(Qπ)가 이 집합을 나타내게 합시다.

저는 uncertainty-based offline RL을 수행하는 쉬운 방법 중 하나가 약간 다른 형태의 policy improvement 단계를 사용하여 policy update하는 것이라고 주장하겠습니다. 여기서 우리는 표준 policy improvement update처럼 expected Q-value에 따라 policy update할 것입니다. 여기서 기대값은 uncertainty set의 모든 가능한 Q-function에 대해 취해집니다.

그러나 우리는 또한 uncertainty가 더 클 때 policy가 더 보수적이 되도록 penalize합니다. Q-function uncertainty set이 높은 변동성을 가질 때, 우리는 policy가 거기서 너무 많이 update되지 않도록 하고 싶습니다. 왜냐하면 이 Q-function 중 어느 것이 실제로 policy true Q-function인지 확실하지 않기 때문입니다.

만약 우리가 이런 update를 사용한다면, 여기서 P_D(Qπ)의 함수는 여러 가지 방식으로 instantiate될 수 있습니다. 예를 들어, Q-function에 대한 variance를 사용할 수 있습니다. 이렇게 하면 uncertainty-based offline RL을 수행하는 접근 방식을 얻을 수 있습니다.

이 프레임워크가 주어졌을 때, 실제 알고리즘을 얻기 위한 다음 질문 또는 남은 부분은 Q-function에 대한 uncertainty set을 어떻게 실제로 모델링할 수 있는가 입니다.

 

 

(59)

Q-function에 대한 uncertainty set을 모델링하는 일반적인 방법 중 하나는 bootstrap ensemble입니다. 이는 다른 방법에도 적용되었으며, Q-function 또는 Q-learning 영역에서 이는 더 인기 있는 기술 중 하나입니다.

이 경우, 우리는 Q-function ensemble을 유지할 것입니다. 예를 들어 다른 매개변수 QΦ1부터 QΦn으로 매개변수화된 n개의 Q-function이 있다고 합시다. 우리는 이제 두 가지를 할 것입니다. 먼저, 우리는 데이터 세트를 독립적인 partition으로 나눌 것입니다. 이것이 bootstrap의 부분입니다. 여기서 통계적 bootstrap ensemble의 다른 요소들을 데이터의 다른 부분에서 훈련하도록 요구합니다. 우리는 그렇게 할 것입니다.

Q-function도 자체 label이 필요하기 때문에, 또는 target network인 현재 Q-function의 이전 인스턴스에서 target value가 생성되기 때문에, 우리는 각 Q-function이 자체 해당 target network로 훈련되도록 할 것입니다. 따라서 ensemble의 다른 요소 간에 mixing이 없고 value의 명확한 분리가 되어있습니다.

우리가 이렇게 할 때, 즉 각 Q-function을 독립적인 데이터의 독립적인 부분집합에서 독립적인 target으로 훈련시킬 때, 우리는 원칙적으로 P_D(Qπ)의 근사를 각각의 독립적인 particle에 대한 dirac delta 분포의 평균으로 복구할 수 있습니다.

P_D(Qπ)를 거의 가능한 Q-function에 대한 평균 dirac delta 분포로 생각할 수 있으며, P_D(Qπ) 공식화를 사용하여 policy improvement 단계의 방정식을 본질적으로 단순화할 수 있습니다. 이러한 기대값과 uncertainty sample mean sample variance로 대체하면 됩니다. 모든 Q-function에 대한 sample mean을 취하고 각 Q-function의 예측에 대한 sample variance를 취하면 됩니다.

그러나 이와 같은 것을 실제로 구현하는 것은 다음과 같은 문제를 겪을 수 있습니다. ensemble의 모든 Q-function이 수렴하고 너무 다양하지 않다는 것을 발견할 수 있습니다. , Q-function들을 훈련시키고 있지만, Q-function들로 표현되는 uncertainty가 실제 uncertainty의 과소 추정일 수 있습니다.

이는 실제로 uncertainty를 과소 추정하고 있다는 것을 의미하며, 이는 out-of-distribution action을 취하기 쉽다는 것을 의미합니다. 보지 못한 행동을 과대 추정하기 쉽고, 이로 인해 이러한 방법이 잘 작동하지 않을 수 있습니다. 이는 실제로 관찰된 바 있습니다.

따라서 지금까지 이러한 방법이 작동하도록 하려면 여전히 policy constraint나 우리가 다른 종류의 방법들에서 논의한 conservatism constraint가 필요합니다.

그러나 개선된 ensemble 기법을 고안한 한 가지 연구가 있습니다. 이 기법은 Random Ensemble Mixture 또는 REM이라고 불리며, 슬라이드 하단에 인용된 이 논문에서 소개되었습니다.

그들이 여기서 하는 일은 슬라이드의 오른쪽 상단에 보이는 것처럼 별도의 Q-function ensemble을 가지는 대신, Q-function ensemble을 가지지만 그들의 Q-value를 이 ensemble 요소들의 Q-function 예측의 랜덤한 convex combination으로 정의합니다.

QΦ_j가 있다면, 어떤 분포에서 랜덤한 convex combination alpha 벡터를 샘플링하고, 기본적으로 이 다른 ensemble 요소들의 Q-value alpha_j로 가중치를 부여하여 합산하여 올바른 Q-value를 얻습니다.

그들은 여기서 uncertainty 함수가 0이라고 가정합니다. 그들은 그것을 고려하지도 않지만, 단지 이 랜덤한 또는 random mixed ensemble Q-value 또는 Q-function을 사용하여 high coverage를 가진 데이터 세트에서 꽤 잘 수행할 수 있다는 것을 발견합니다.

state-action 공간에 대해 high coverage가 있다면, 이 경우 DQN 알고리즘이었던 표준 naive policy RL 방법은 그다지 잘 수행되지 않았지만, DQN 훈련과 함께 적용된 REM 알고리즘은 실제로 그것보다 훨씬 더 잘 수행되었고 이 영역에서 다른 알고리즘들도 능가했습니다.

그러나 전반적으로 Q-function에 대한 ensemble uncertainty 추정에 기반한 일반적인 해결책을 얻는 것은 약간 어려웠습니다. 여기서 일반적인 해결책이란 모든 종류의 데이터 세트 구성에서 작동하는 해결책을 의미합니다. , 데이터 세트가 high coverage가 아니라 매우 narrow coverage를 가지고 있더라도 이 시나리오에서 여전히 잘 작동할 수 있어야 합니다. 이는 이 설정에서 약간 어려웠습니다.

그리고 이들은 종종 policy constraint나 일종의 과대 추정 회피 방법과 결합되었습니다. 따라서 어떤 의미에서는 실제 기여가 uncertainty에서 오는 것인지 불분명합니다.

 

 

(60)

요약하자면, 우리는 네 가지 다른 클래스의 현대 offline RL 방법을 다루었습니다. policy constraint 방법, model-based offline RL 방법, value regularized offline RL 방법, 그리고 uncertainty-based offline 방법을 다루었습니다.

policy constraint 방법은 behavior policy 분포를 모델링하기 쉬울 때 종종 잘 작동합니다. 왜냐하면 policy constraint를 표현하기 위해 behavioral policy 추정이 필요하기 때문입니다. 하지만 이들은 또한 더 보수적인 경향이 있습니다.

model-based offline 방법들은 데이터 분포가 상대적으로 high coverage이고 이 데이터에서 모델을 매우 높은 정확도로 쉽게 학습할 수 있을 때 종종 매우 잘 작동합니다.

value regularized offline RL 방법들은 종종 덜 보수적인 경향이 있으며, 원칙적으로 필요한 경우 dynamics model이나 policy constraint와 함께 보강될 수 있습니다.

이 표에서 저는 이러한 broad class의 방법들을 요약하려고 했습니다. 여기에는 각 방법이 offline RL 문제에서 어떤 objects를 수정하는지, 그리고 각 종류의 방법들이 일반적으로 어떤 추가 요구사항을 가지는지가 포함되어 있습니다. 이 시점에서 영상을 일시 정지하고 표를 더 자세히 살펴보시기 바랍니다.

 

 

(61)

또한 이 튜토리얼의 이 부분에 대한 추가 읽을거리를 나열했습니다. 이 목록은 결코 포괄적이지 않으며, 주로 최근 2년 동안 나온 논문들로 구성되어 있습니다. 더 포괄적인 목록을 원하시면 이 슬라이드 상단에 나열된 우리의 summary survey 논문의 참고문헌을 참조하세요.

 

 

(62)

튜토리얼의 이 부분에서는 off-policy evaluation model selection에 대해 이야기하겠습니다.

 

 

(62)

지금까지 우리의 목표는 정적 offline 데이터 세트에 접근할 수 있을 때 좋은 policy를 찾는 것이었습니다. 그러나 off-policy evaluation 또는 OPE의 목표는 이 policy를 환경에서 실행하지 않고도 주어진 policy π의 value를 찾는 것입니다.

상호작용의 정적 데이터 세트 D에 접근할 수 있을 때, π의 value function 또는 policy 성능, policy return 등을 계산하고자 합니다. OPE는 비교 작업을 수행하는 데 사용될 수 있습니다. 예를 들어, π1의 추정된 value function OPE를 사용하여 π2보다 더 나은 경우 π1을 π2보다 선호할 수 있습니다. 실제로 이는 이 논문에서 보여진 것처럼 healthcare 도메인에서 어떤 treatment plan을 따를지 결정하는 데 사용됩니다.

offline RL에서 왜 off-policy evaluation이 필요할까요? OPE model selection을 수행하는 방법입니다. , offline RL 문제 설정에서 하이퍼파라미터, policy, 또는 단순히 통계적 모델을 선택하는 것입니다. 그렇다면 offline RL에서 왜 model selection이 필요할까요?

supervised learning 방법과 유사하게, 같은 offline 데이터 세트에 대한 과도한 훈련은 offline RL에서 좋지 않은 해결책을 만들 수 있습니다. 이는 단순히 통계적 overfitting 때문만이 아니라 잠재적으로 알려지지 않은 다른 많은 이유들 때문입니다. 또한 어떤 알고리즘에 대해서도 하이퍼파라미터를 어떻게 선택해야 하는지 불분명합니다. 하이퍼파라미터 선택이 매우 중요한 이유는 offline RL 방법들이 하이퍼파라미터에 매우 민감할 수 있기 때문입니다. 이는 방법이 작동하는 것과 전혀 작동하지 않는 것의 차이를 만들 수 있습니다.

 

 

(63)

이제 우리는 off-policy evaluation을 위한 몇 가지 방법들을 매우 간단히 다룰 것입니다.

첫 번째 종류의 방법들은 direct method라고 불립니다. 이들은 우리가 있는 MDP를 직접 추정하려고 하기 때문에 direct method라고 불립니다. 예를 들어, dynamics model reward model fitting하거나, policy Q-function을 계산하고 이를 사용하여 value function 또는 policy return 추정치를 계산합니다.

여기서 model-based 접근 방식은 제가 방금 말씀드린 대로 transition dynamics model reward function model fitting하고 이 모델 하에서 policy return을 계산할 수 있습니다.

model-free 접근 방식은 fitted Q-evaluation입니다. 여기서는 기본적으로 선택된 policy π에 대한 bellman consistency equation을 만족시키도록 Q-function을 훈련시키려고 합니다. 이는 actor 없이 또는 actor를 훈련시키지 않고 일반적인 actor-critic 스타일 방법을 훈련시키는 것과 같습니다.

그런 다음 기본적으로 초기 상태와 policy에서 추출된 초기 action expected Q-function 값을 취하여 return의 추정치를 계산합니다. 이러한 접근 방식은 슬라이드의 참고문헌에서 볼 수 있듯이 실제로 많은 고차원 문제에서 꽤 잘 작동합니다.

 

 

(64)

또한 importance sampling 기반 OPE 방법도 있습니다.

이전에 논의했듯이 per-decision importance sampling을 수행할 수 있습니다. 데이터 세트에서 경험의 trajectories를 가져와 그것들을 재가중치화하여 우리가 평가하고자 하는 결과 πθ policytrajectories처럼 보이게 만듭니다. 기본적으로 entire return을 πθ(tau) / πβ(tau) importance weight로 재가중치화하고 있습니다.

이 밀도 비율은 그 다음 per-decision importance weight 또는 policy importance weight의 곱으로 분해될 수 있습니다. 여기서 per-decision importance weight는 πθ(a_t|s_t) / πβ(a_t|s_t)로 주어집니다. 그런 다음 데이터 세트에 대해 이 기대값을 경험적으로 계산함으로써 return 추정치를 얻을 수 있습니다.

이러한 importance sampling 방법은 종종 높은 variance을 겪습니다. 이는 가장 바람직한 방법이 아닙니다. 하지만 이를 개선할 수도 있습니다. 예를 들어, stepwise importance sampling estimator를 사용할 수 있습니다. 여기서는 전체 trajectory return을 전체 trajectory importance weight로 곱하는 대신, state-action 쌍의 reward를 해당 time step까지의 해당 importance weight로 곱합니다. 이와 같은 방법은 trajectory 수준의 weight를 개선하지만, 여전히 가장 바람직한 것은 아닙니다. 왜냐하면 여전히 높은 variance를 겪기 때문입니다.

더욱이 이러한 importance sampling 방법들은 환경의 Markovian 구조를 실제로 활용하지 않습니다. , 데이터가 MDP에서 온다는 것을 활용하지 않습니다.

따라서 원칙적으로 우리는 Q-function과 같은 quantity을 훈련시켜 데이터의 구조를 더 잘 활용하거나 Markovian 구조를 더 잘 활용할 수 있었을 것입니다. 이는 여기서 고려되지 않았습니다.

 

 

(65)

importance sampling을 개선하는 한 가지 방법은 doubly robust estimator입니다. 이는 Sergey가 이전에 다룬 내용이기도 합니다. 여기서의 목표는 return에 대한 다른 estimator를 만들 수 있다면, 예를 들어 잠재적으로 편향된 estimator를 만들 수 있지만 여전히 낮은 variance을 가진 estimator를 만들 수 있다면 (예를 들어 Q-function과 같은), importance sampling estimator와 이 다른 estimator를 결합하여 더 낮은 variance을 가진 unbiased estimator를 얻을 수 있다는 것입니다.

예를 들어, 당신이 bandit 문제에서 policy value function을 평가하고 싶다고 가정해 봅시다. 여기서는 단순히 policy에서 추출된 action 하에서의 reward의 기대값입니다. 그리고 잠재적으로 biased estimator가 있다고 가정해 봅시다. 이는 reward function fitting하거나 reward function에 모델을 fitting하고 그 하에서 기대값을 계산합니다.

당신이 할 수 있는 것은 importance sampling estimator를 가져와서 이를 별도의 biased estimator와 결합하는 것입니다. 이렇게 하면 이 새로운 doubly robust estimator는 여전히 기대값에서 unbiased하며, 별도의 reward model이 충분히 좋다면, 즉 원래의 reward function에 충분히 가깝다면 더 낮은 variance를 가집니다.

RL 시나리오에서도 같은 일을 할 수 있습니다. 이제 value function에 대한 importance-weighted 표현식의 이 nice clean 표현 대신, 재귀적인 관계를 가지게 됩니다. 이는 이 튜토리얼에서 이전에도 다루어졌습니다. 이제 당신이 할 수 있는 것은 이를 doubly robust variant으로 변환하는 것입니다.

여기서는 reward model 대신 fitted Q-evaluation과 같은 다른 방법을 사용하여 학습할 수 있는 learned Q-function을 사용합니다. 이러한 방법들은 importance sampling 방법들보다 더 나은 경향이 있으며, 이에 대한 많은 다른 변형들이 있습니다. 참고문헌에서 확인해 보시기 바랍니다.

 

 

(67)

또한 marginalized importance sampling이라고 불리는 세 번째 종류의 important sampling 방법도 있습니다. 이는 기본적으로 trajectory 분포에 대한 importance sampling에서 벗어나 일부 Markovian 구조를 활용하여 state distribution에 대한 importance sampling을 계산하는 것을 목표로 합니다.

전체 trajectory의 밀도 비율을 계산하는 대신 πθ와 πβ 하에서의 marginal state distribution의 밀도 비율을 계산하고자 합니다. 그런 다음 marginal state distribution의 밀도 비율에 reward를 곱한 경험적 합을 사용하여 policy return을 계산할 수 있습니다.

이를 수행하는 한 가지 방법은 Dual DICE라고 불리는 방법입니다. 이 방법의 핵심 통찰은 importance weight w(s,a) 또는 state-action marginal density ratio가 기본적으로 이 2차 최적화 문제의 해라는 것입니다. 이 표현식에는 여전히 d_π에서 샘플링된 s가 있습니다.

Dual DICE가 하는 일은 변수 변환을 적용하여 두 번째 항의 state distribution s(d_π에서 샘플링된 s)가 초기 상태 분포에서 샘플링된 state가 되도록 하는 것입니다.

하단 방정식의 두 번째 항을 보면 s_0 d_0에서 추출된 것을 볼 수 있습니다. 이렇게 하는 방법은 이 x(s,a) 항이 새로운 변수 ν(s,a) ν(s,a)에 적용된 Bellman 연산자 사이의 차이 또는 오차로 표현될 수 있다는 것을 주목하는 것입니다. , ν(s,a) - (Bellman 연산자를 ν(s,a)에 적용한 것)입니다. 이를 통해 telescoping cancellation을 수행할 수 있어 더 이상 d_π가 아닌 d_0를 갖게 됩니다.

이는 Q-function과 매우 유사하며, 여기서 ν 함수는 이 시나리오에서 0 reward에 해당하는 Q-function과 매우 유사합니다.

 

 

(68)

요약하자면, OPE model selection 방법에 대해 세 가지 종류의 방법을 논의했습니다. Fitted Q-evaluation과 같은 방법을 포함하는 direct methods는 꽤 잘 작동하는 것으로 나타났지만, 이전 섹션에서 논의한 policy optimization 방법과 유사하게 distribution shift와 관련된 다른 문제들도 잠재적으로 겪을 수 있습니다.

Marginalized importance sampling 방법은 일반적으로 좋은 이론적 보장을 즐기지만, 특히 samples를 가지고 function approximators를 적용할 때 실제로 적용하기가 다소 어려운 경향이 있습니다. 이는 일반적으로 saddle point 문제를 해결해야 하기 때문인데, 이러한 설정에서는 약간 어려울 수 있습니다.

우리는 또한 importance sampling 방법에 대해 논의했는데, 이는 일반적으로 높은 variance 문제를 겪지만 unbiased합니다. 하지만 특히 상당한 distribution shift가 있는 offline 분석 시나리오에 적용할 때, 특히 behavior policy도 추정되는 경우, 실제로 잘못된 추정치나 잘못된 importance ratios를 생성할 수 있습니다.

관심이 있으시다면, 2019년의 이 논문을 확인해 보세요. 이 논문은 우리가 오늘 이야기한 것보다 훨씬 더 넓은 범위의 방법들을 포함하여 많은 이러한 방법들의 경험적 비교를 형성하고 그들의 tradeoffs에 대해 논의합니다.

 

 

(69)

이제 Sergey가 우리가 어떻게 offline RL 방법들을 평가해야 하는지에 대해 이야기할 것입니다.

 

 

(69)

좋습니다. 튜토리얼의 다음 부분에서는 offline RL 방법들의 평가에 대해 조금 이야기하고, 또한 우리의 offline RL 방법들이 언제 잘 작동하거나 잘 작동하지 않을 것으로 예상되는지에 대해 조금 더 자세히 살펴보겠습니다.

 

 

(70)

그래서 offline RL이 무엇이고 왜 작동하는 걸까요? 저는 문제 설명을 할 때 이에 대해 간단히 언급했지만, 이제 조금 더 자세히 살펴보겠습니다.

전에 말씀드렸듯이, offline RL은 좋은 행동과 나쁜 행동이 모두 포함된 데이터셋에서 좋은 것을 찾고 싶을 때 도움이 될 수 있습니다. 아마도 다양한 sub-optimal 행동들이 있고, 그 중 일부가 우연히 무언가를 제대로 했을 수 있습니다. Offline RL은 이를 발견할 수 있습니다.

또한 일반화를 원할 때 도움이 될 수 있습니다. 한 곳에서의 좋은 행동이 다른 곳에서도 좋은 행동일 수 있음을 시사할 수 있습니다.

그리고 제가 언급한 이 'stitching' 아이디어에 대해 이야기했는데, 여기서 좋은 행동의 일부를 재결합할 수 있습니다. “stitching” 에 대해 이 예를 들었습니다. 미로 작업이 있고 미로의 다른 지점들 사이의 경로를 본 적이 있다고 합시다. 그리고 이제 미로의 왼쪽 하단 모서리에서 오른쪽 상단 모서리로 이동하고 싶습니다. 여러분은 본 적이 있는 궤적의 조각들을 재결합하여 이 문제를 해결할 수 있습니다.

이에 대해 조금 더 자세히 살펴보겠습니다. 첫 번째 요점은 처음에는 약간 명백해 보일 수 있고, 또한 그것을 매우 잘 할 수 있는 일부 straw man 방법들이 있는 것처럼 보일 수 있습니다. 데이터셋에서 좋은 것을 찾고 싶다면 왜 그냥 가장 잘 수행된 궤적들을 behavior cloning하지 않나요? 이는 생각만큼 전혀 사소한 일이 아닙니다. 특히 확률적 설정에서는 더욱 그렇습니다.

확률적 환경이 있다면, 어떤 행동이 좋았고 어떤 행동이 단순히 운이 좋았는지 파악하는 것은 결코 사소한 일이 아닙니다. 강화학습 알고리즘이 자신의 행동의 장기적 결과에 대해 추론하고 value function과 같은 것들을 통해 credit assignment에 대해 추론할 수 있는 능력은 이러한 종류의 설정에서 큰 도움이 될 수 있습니다. 따라서 지금까지 본 최고의 행동을 취하는 것이 항상 최선의 전략은 아니며, offline RL 방법들은 이러한 종류의 설정에서 상당히 더 나은 성능을 낼 수 있습니다.

원칙적으로, 일반화 또한 과소평가되어서는 안 됩니다. 일반화는 한 상태에서 좋았던 행동을 보고 그 행동이 매우 유사한 다른 상태에서도 여전히 좋다는 것을 알아내는 것을 의미할 수 있습니다. 하지만 offline RL은 매우 크고 다양한 데이터셋을 활용할 수 있게 해주기 때문에, 일반화는 훨씬 더 큰 의미를 가질 수 있습니다. 이는 컴퓨터 비전과 NLP에서 대규모 지도 학습 방법에서 본 것과 유사한 종류의 일반화에 더 가깝습니다.

' stitching' 아이디어 또한 얼핏 보기보다 더 정교한 것입니다. 이를 이 미로에서 시각화된 것처럼 다소 순진한 기하학적 방식으로 생각할 수 있습니다. 하지만 최근에 우리가 수행한 작업에 대해 말씀드리겠습니다. 이 작업은 이 아이디어를 논리적 극단으로 끌고 갑니다.

여기서 우리는 로봇이 열린 서랍에서 공을 집어 올리는 한 가지 작업을 수행하기 위한 데이터를 가지고 있습니다. 그리고 다양한 다른 작업을 수행하는 대량의 사전 데이터가 있습니다. 이 중 일부는 작은 작업의 전제 조건 역할을 할 수 있습니다. 일부 작업은 재미없는 일을 수행하는 것을 포함하지만, 일부는 실제로 서랍 열기, 물건 치우기 등과 같은 것들을 포함합니다.

원칙적으로 이 사전 데이터가 있다면, 이를 결합하고 일종의 상식을 알아낼 수 있습니다. 서랍이 닫혀 있고 공을 집어야 한다면, 먼저 서랍을 열고 나서 공을 집어야 한다는 것을 알 수 있습니다. 이러한 구성 요소들을 함께 본 적이 없더라도 말입니다. 서랍을 열고 공을 집는 단일 궤적을 본 적이 없지만, 이러한 행동들을 각각 격리된 상태로 본 적이 있고 offline RL은 이들을 결합하여 전체 작업을 수행할 수 있습니다.

이는 거의 일종의 상식의 느낌을 가지고 있습니다. 공을 집기 위해 서랍을 열 수 없는 로봇을 본다면, 우리는 그것이 일종의 상식이 부족하다고 말할 것입니다. 그것이 알아낼 수 있다는 사실은 그것이 일종의 상식을 가지고 있음을 시사합니다.

 

 

(71)

그래서, offline RL은 원칙적으로 이러한 모든 설정에서 작동할 수 있지만, 그것이 작동할 것인지 어떻게 알 수 있을까요? 이는 실제로 offline RL 알고리즘의 실용적 사용에 있어 주요한 도전 과제입니다. Policyrollout할 수 없다면 그것이 성공할 것인지 어떻게 알 수 있을까요? 이는 offline RL 방법의 실용적 사용에 큰 장벽이며, 이에 대한 정말 좋은 답변은 없습니다.

한 가지 답변은 그 질문을 할 필요가 없을 만큼 충분히 신뢰할 수 있는 offline RL 알고리즘을 개발하는 것일 수 있습니다. 다른 답변은 배포하기 전에 offline RL 솔루션을 검증하는 데 사용할 수 있는 더 나은 off-policy evaluation 방법을 개발하는 것일 수 있습니다. 하지만 물론 이는 자체적인 단점이 있습니다. 그렇게 되면 어떻게든 off-policy evaluation 방법을 검증해야 하기 때문입니다.

이는 일반적으로 주요한 도전 과제이며, 단일의 훌륭한 해결책은 없습니다. 따라서 이는 일반적으로 offline RL 방법을 평가할 때, 새로운 알고리즘을 개발하고 있다면 아마도 여전히 어떤 종류의 시뮬레이터를 사용하여 rollout을 생성하여 우리의 방법이 작동하는지 확인하고 싶을 것입니다. 그런 다음 그러한 검증 기능이 없는 실제 데이터셋에 적용하기 전에 말입니다.

하이퍼파라미터 튜닝에 대해서는 아직 좋은 해답이 없지만, 이는 활발한 연구 분야입니다. 이에 대해 더 자세히 알고 싶다면 Aviral이 언급한 OPE 논문들 중 일부를 확인해 보세요. 하지만 적어도 가까운 미래에는 offline RL 알고리즘을 시뮬레이션 설정에서 검증하여 잘 작동하는지 확인한 후에 실제 세계 데이터셋에 적용하고 그것들이 합리적인 것을 수행할 것이라는 확신을 가질 수 있을 것 같습니다.

 

 

(72)

물론 이는 offline RL 방법을 어떻게 평가하는지에 대한 질문에 답하는 것이 매우 중요하다는 것을 의미합니다. 잠시 actual real-world deployment를 무시한다면, 우리의 알고리즘이 좋다는 것을 어떻게 알 수 있을까요?

매우 간단한 답변은 "알고리즘이 잘 작동하는지 테스트하고 싶다면 그냥 일부 online RL 알고리즘을 실행하여 많은 데이터를 얻은 다음 그 데이터를 사용하여 offline RL 알고리즘을 테스트하면 되지 않나요?"일 수 있습니다. 이는 처음에는 매우 자연스럽고 쉬운 접근 방식으로 보입니다. 실제로 이는 이전 연구에서 전형적인 프로토콜을 나타냅니다. Online RL behavior policy π_β를 훈련시킨 다음, π_β가 훈련 과정에서 보는 데이터를 기록하거나 최종 policy π_β의 데이터를 기록하여 이를 offline RL 알고리즘을 평가하고 테스트하기 위한 데이터셋으로 사용합니다.

저는 이것이 offline RL 방법을 검증하는 좋은 방법이 아니며, 실제 세계에서 신뢰할 수 있는 offline RL 방법을 개발하고 싶다면 아마도 이 프로토콜을 사용해서는 안 된다고 제안하고 싶습니다. 데이터는 모든 종류의 pathological 통계 속성을 가진 광범위한 출처에서 올 수 있습니다. 예를 들어, non-Markovian policies에서 나올 수 있습니다. 아마도 인간이나 수작업으로 설계된 컨트롤러에 의해 생성된 데이터일 수 있습니다.

우리는 실제 세계 설정을 대표하는 데이터를 사용할 수 있어야 하며, 또한 개선의 여지를 충분히 남겨두어야 합니다. 물론 최적의 policy의 데이터를 사용하고 싶지 않습니다. 그렇게 하면 아마도 할 수 있는 최선은 그 최적 policy의 행동과 일치하는 것뿐일 것입니다. 현실적인 도전과 함께 현실적인 출처에서 나온 sub-optimal 데이터를 사용하고 싶습니다. 그리고 offline RL 알고리즘이 데이터가 제공된 behavior policy보다 훨씬 더 나은 policies를 학습할 수 있다는 것을 검증해야 합니다. 그렇지 않으면 실제로 그들을 사용할 이유가 없습니다.

이러한 속성들을 테스트하지 않고는 우리의 알고리즘이 좋다고 정말로 신뢰할 수 없습니다. 그래서 적절한 데이터셋과 벤치마크 작업을 선택하는 것이 매우 중요합니다.

 

 

(73)

우리는 최근에 offline RL을 위한 일련의 벤치마크를 개발했습니다. 이들은 결코 완벽하지 않으며, 저는 일부 단점에 대해 언급할 것입니다. 하지만 이러한 문제들을 해결하는 데 몇 가지 단계를 취했습니다. 이는 D4RL이라고 불리는 벤치마크 suite에 나타나며, 이미 offline RL 연구에 널리 사용되고 있습니다.

우리가 이 벤치마크에서 연구하고자 한 아이디어는 중요한 원칙들 중 일부를 확실히 포함시키는 것입니다. 예를 들어, 인간 사용자의 데이터를 포함한 non-RL policies의 데이터입니다. 우리는 Roger Swarn 등의 작업을 기반으로 로봇을 원격 조작하는 인간의 데이터를 일부 포함시켰습니다.

우리는 또한 제가 전에 언급한 이 'stitching' 속성의 여지를 남기는 데이터셋을 포함하고 싶었습니다. 제가 보여드린 미로 예제는 실제로 D4RL에서 온 것입니다. 여기에는 단순한 2D 미로뿐만 아니라 다리가 있는 로봇이 있는 더 복잡한 미로도 포함됩니다. 이는 미로에서 본 일부 데이터의 플롯으로, 밀도에 대한 감각을 제공합니다.

우리는 또한 몇 가지 현실적인 작업을 포함하고 싶었습니다. 우리는 Intel에서 제작한 Carla 데이터셋을 기반으로 한 사실적인 이미지 기반 운전 데이터셋을 포함했습니다. 우리는 Abhishek Gupta Carol Haussman의 이전 논문에서 주방 환경에서 로봇 팔을 사용한 로봇 조작 데이터를 추가했습니다. 여기서 데이터는 원격 조작으로 수집되었습니다. 그리고 Alex Bayen 교수의 연구실에서 나온 Flow라는 교통 제어 시뮬레이터의 데이터도 포함했습니다. 이는 자율 주행 차량이 교통 체증을 방지하기 위해 교통 흐름을 어떻게 조절할 수 있는지 시뮬레이션합니다.

우리는 이러한 작업들이 몇 가지 현실적인 속성을 가진 다소 더 현실적인 환경의 샘플링을 제공한다고 믿습니다.

 

 

(74)

완전한 작업 세트에는 표준 MuJoCo 로코모션 작업, 'stitching'을 연구하기 위한 미로, 데이터 글러브로 수집된 인간의 dexterous manipulation 데이터, 전체 팔 조작, 교통 제어, 1인칭 시점 운전이 포함됩니다.

 

 

(75)

그렇긴 하지만, D4RL은 우리가 갖고 싶은 모든 중요한 속성을 포착하지는 않습니다. 청중 여러분 중 응용 프로그램을 생각하고 있거나 자신만의 벤치마크를 개발하고 있는 분들이 있다면, offline RL에서 연구해야 할 매우 중요하지만 아마도 충분한 관심을 받지 못한 추가적인 속성들이 몇 가지 있습니다.

그 중 하나는 stochastic입니다. stochastic은 경제학, 의료, 교육과 같은 실제 세계 환경에서 매우 흔하며, 흔히 사용되는 벤치마크에서는 종종 부재합니다. 하지만 저는 이것이 또한 offline RL의 영향력이 매우 높은 잠재력을 가진 속성이라고 생각합니다.

Non-stationarity은 또 다른 주요한 것입니다. 실제 세계에서는 시간이 지남에 따라 things이 변합니다. 저는 또한 위험한 데이터셋 편향을 연구하는 것이 중요하다고 생각합니다. 예를 들어, 여러분의 운전 데이터가 결코 자동차 사고를 보여준 적이 없다면, 자동차 사고를 피하는 것을 이해할 수 있을까요? Aviral이 언급한 일부 방법들은 실제로 원칙적으로 이를 처리할 수 있습니다. Out-of-distribution actions를 피함으로써 말입니다. 하지만 이는 제가 생각하기에 테스트해야 할 매우 중요한 속성이며, 현재의 벤치마크들은 종종 이에 충분한 강조를 두지 않습니다.

물론 partial observability도 있습니다. 이는 이 튜토리얼에서 자세히 다루지 않았지만, 실제 세계에서는 매우 중요합니다.

 

 

(76)

이 튜토리얼의 마지막 부분에서는 몇 가지 open problems에 대해 간단히 논의하고 offline reinforcement learning에 대한 우리의 논의를 마무리하겠습니다.

 

 

(77)

탐구할 흥미로운 open problem 중 하나는 너무 보수적으로 행동하지 않는 방법을 고안하는 것입니다. 학습된 Q-functions dynamics 모델이 일반화할 수 있다면 보수적일 필요가 실제로 없습니다.

원칙적으로 uncertainty-aware methods을 사용하여 보수성과 일반화 사이의 균형을 맞출 수 있습니다. 우리가 이전에 논의했듯이 말입니다. 하지만 올바르고 보정된 불확실성 추정치를 얻는 것, 특히 시간에 걸쳐 보정된 추정치를 얻는 것은 매우 어려운 것으로 판명되었습니다.

따라서 여기서 답해야 할 흥미로운 질문 중 하나는 RL 문제의 순차적 특성과 일치하는 불확실성을 측정하고 최적화하는 방법을 고안하는 것입니다. 우리가 conservatism을 완전히 피할 수 있는지, 특히 expected case scenario에서 그럴 수 있는지에 대한 질문에도 답하고 싶을 수 있습니다. 이는 우리가 실제 세계에서 직면할 문제들의 종류를 더 잘 나타냅니다.

 

 

(78)

탐구할 또 다른 흥미로운 문제는 하이퍼파라미터 튜닝 문제입니다. 우리는 offline RL 방법들이 하이퍼파라미터에 극도로 민감할 수 있다는 것을 알고 있으며, 이러한 하이퍼파라미터를 튜닝하기 위한 완전히 offline 방식을 정말로 고안해야 합니다. 지금까지 일반적인 off-policy evaluation 방법들이 하이퍼파라미터 학습에 사용되었습니다.

하지만 우리가 대신 다른 방법을 적용할 수는 있을까요? 지도 학습과 유사하게 훈련 중에 직접 추적할 수 있는 일종의 검증 오류 메트릭을 고안할 수 있을까요? 그리고 이를 사용하여 early stopping과 같은 것을 할 수 있을까요? 아니면 일반적인 목적이 아닌, 사용되는 offline RL 방법의 종류에 특화된 off-policy evaluation 방법을 고안할 수 있을까요? 이 방법은 내 offline RL 방법이 안정적으로 생성하는 policy들의 subset만 평가할 수 있고 다른 policy들에 대해서는 잘 작동하지 않을 수 있습니다. 그리고 그것은 괜찮습니다. 왜냐하면 우리는 기본 off-policy offline RL 방법이 생성할 특정 정책들만 평가하면 되기 때문입니다.

때때로 우리는 정책들의 순위를 매기는 것에도 관심이 있습니다. 이는 OPE 방법을 평가하는 종류의 문헌에서 분명합니다. 그렇다면 우리는 정말로 정책의 value function이나 return을 모델링하기 위해 OPE 방법을 훈련시켜야 할까요? 아니면 우리가 관심 있는 이 순위 메트릭을 직접 최적화하도록 훈련시킬 수 있을까요? 이는 OPE를 공식화하는 또 다른 방법이며 탐구할 가치가 있습니다.

 

 

(79)

마지막으로, function approximation과 관련된 문제들의 또 다른 종류가 있습니다. 일반적으로 우리는 offline RL에서 neural network의 좋은 일반화 속성을 활용하고 싶습니다. 하지만 function approximation은 특히 offline RL 기술 방법의 성능에 극적인 부정적 영향을 미칠 수 있습니다. 이는 function approximator가 환경에서 새로운 데이터를 수집할 수 있는 접근 권한이 없고 우리가 제공한 종류의 데이터에서 학습해야 하기 때문에 발생합니다.

대부분의 RL 방법은 일반적으로 다른 function approximator를 훈련시키기 위해 어떤 function approximator를 사용합니다. 예를 들어, Q-learning은 자체적으로 bootstrapping을 수행할 것이고, model-based 방법은 policy를 훈련시키기 위해 모델을 사용할 것입니다. 이는 잠재적으로 나쁜 일이 일어나게 할 수 있습니다. 우리는 이 나쁜 일들을 최적화 문제와 일반화 문제로 특성화할 수 있으며, 아마도 더 많은 카테고리로 나눌 수 있을 것입니다. 지금까지 이를 실제로 분석한 연구가 많지 않았기 때문에 우리가 아직 모르는 카테고리도 있을 수 있습니다.

하지만 잠재적으로 여기에 어떤 종류의 문제가 존재하는지 이해하고, 아마도 representation learning의 기술 일부를 사용하거나, offline RL에서 신경망의 learning dynamics를 이해하거나, non-IID 데이터를 처리하거나 인과 추론을 수행할 수 있는 기술을 사용하거나, 또는 계층적 구조를 부과하거나 특정 클래스의 reward에 대해 문제를 해결하는 등의 방법으로 문제에 구조를 부과하여 이를 해결하려고 시도하는 것이 잠재적으로 매우 흥미로울 수 있습니다.

오늘 다루지 않은 더 많은 open questions이 있습니다. 이에 대해서는 오늘 우리가 다룬 다양한 참고 문헌에서 찾아볼 수 있습니다.

 

 

(80)

마지막으로, 우리가 오늘 시작했던 동기로 돌아가 결론을 내리고 싶습니다. 현대 machine learning 방법의 성공 뒤에 있는 주요 요인 중 하나는 large diverse dataset의 가용성과 이러한 데이터셋에서 고도로 표현력 있고 복잡한 deep neural network function을 훈련시킬 수 있는 능력이었습니다.

Offline RL 방법들은 본질적으로 sequential decision making 설정에 대해 동일한 작업을 수행하는 것을 목표로 합니다. 대규모의 다양한 행동 데이터셋을 효과적인 decision making engines으로 변환하는 것입니다.

오늘 우리는 많은 offline RL 방법들을 다루었으며, 이 분야에서 해결해야 할 많은 open problems이 있다는 것도 보았습니다. 관심이 있으시다면 다양한 리소스와 우리의 offline RL survey 논문을 위해 우리의 튜토리얼 웹사이트를 방문해 주세요.

오늘 우리 튜토리얼에 참석해 주셔서 대단히 감사합니다.

728x90
반응형
LIST
성장중 •͈ᴗ•͈