ai theory

강화학습 기초 (16) - 환경을 상상하며 학습하는 Model-based RL

Junyoung Park · 2024-06-28 · 5 min

들어가며...

지금까지 다룬 Monte Carlo, TD, DQN, PPO는 환경의 Transition rule을 명시적으로 배우지 않았다. 경험을 받으면 Value나 Policy를 바로 고쳤다. 이런 방법을 Model-free RL이라고 한다.

Model-based RL은 한 가지를 더 배운다.

이 State에서 이 Action을 하면 다음에 무엇이 일어날까?

환경 Model이 있다면 실제 환경에서 매번 부딪혀보지 않고도 가능한 미래를 상상해 계획할 수 있다. 다만 틀린 Model로 오래 상상하면 잘못된 미래를 확신할 수 있다.

이번 글에서는 Model의 의미, Learning과 Planning의 차이, 두 과정을 연결하는 Dyna를 살펴본다.

환경 Model이 예측하는 것

MDP의 Dynamics는 다음 확률로 표현했다.

p(s,rs,a)p(s',r\mid s,a)

현재 State ss와 Action aa가 주어졌을 때 Next state ss'와 Reward rr의 분포다.

Model p^η\hat p_\eta는 이 분포를 Data로 근사한다.

p^η(s,rs,a)p(s,rs,a)\hat p_\eta(s',r\mid s,a) \approx p(s',r\mid s,a)

결정적인 환경이라면 Neural Network가 다음 State와 Reward를 바로 예측할 수 있다.

(s^,r^)=fη(s,a)(\hat s',\hat r) = f_\eta(s,a)

확률적인 환경이라면 평균 하나만 맞히는 것보다 가능한 결과의 Distribution을 표현해야 한다.

Learning과 Planning

두 단어를 구분하면 Model-based RL이 쉬워진다.

  • Learning: 실제 환경의 경험으로 Value, Policy, Model을 고친다.
  • Planning: Model이 만든 가상 경험으로 Value나 Policy를 고친다.

실제 Transition과 Model Transition은 Update 식에서 같은 모양일 수 있다.

(s,a,r,s)(s,a,r,s')

차이는 이 Tuple이 현실에서 왔는지 Model의 Simulation에서 왔는지다.

Dyna: 경험하고, 배우고, 상상한다

Dyna architecture는 Model-free learning과 Planning을 한 Loop에 넣는다.

  1. 실제 환경에서 Action을 수행해 Transition을 얻는다.
  2. 실제 Transition으로 Value 또는 Policy를 Update한다.
  3. 같은 Transition으로 Model을 학습한다.
  4. 이전에 본 State-Action을 골라 Model로 가상 Next state와 Reward를 만든다.
  5. 가상 Transition으로 Value 또는 Policy를 여러 번 Update한다.
Dyna는 한 번의 실제 경험으로 직접 학습하고 Model도 학습한 뒤, 여러 가상 Transition을 만들어 Planning update를 추가한다.

Q-Learning을 사용한다면 실제 경험과 가상 경험 모두 같은 식으로 Update할 수 있다.

Q(s,a)Q(s,a)+α[r+γmaxaQ(s,a)Q(s,a)]Q(s,a) \leftarrow Q(s,a) + \alpha \left[ r+\gamma\max_{a'}Q(s',a')-Q(s,a) \right]

한 번의 실제 환경 Step 뒤에 Planning update를 nn번 수행하면, 비싼 상호작용 하나를 더 많이 활용할 수 있다.

Planning의 간단한 예

미로에서 실제로 (sA,RIGHT)(s_A,\text{RIGHT})를 수행해 sBs_B로 이동했다고 하자. Model은 이를 기억한다.

p^(sB,0sA,RIGHT)=1\hat p(s_B,0\mid s_A,\text{RIGHT})=1

나중에 Agent가 다른 곳에 있어도 Model에서 sAs_A를 다시 꺼내 RIGHT를 가상으로 수행할 수 있다. 실제로 sAs_A까지 돌아가지 않고도 Q값을 반복해서 고친다.

이것은 이미 모은 경험을 Replay하는 것과 닮았지만 차이가 있다.

  • Replay buffer는 실제로 관찰한 Transition을 다시 사용한다.
  • Model은 학습한 Dynamics를 이용해 관찰하지 않은 조합이나 미래도 생성할 수 있다.

Model-based RL이 Sample-efficient한 이유

Robot을 한 번 움직이거나 사람에게 한 번 답을 평가받는 일은 비싸다. 반면 학습된 Model에서 Simulation을 돌리는 것은 상대적으로 저렴할 수 있다.

실제 경험 하나로,

1 real update+n planning updates1\text{ real update} + n\text{ planning updates}

를 만들면 같은 환경 상호작용 예산에서 더 많은 학습 Signal을 얻는다. 이것이 Model-based method의 중요한 장점이다.

또 Model이 명시적이면 Counterfactual question도 다룰 수 있다. “여기서 왼쪽이 아니라 오른쪽으로 갔다면?”을 실제로 실행하지 않고 비교할 수 있다.

Model이 틀리면 Planning도 틀린다

Model은 Data가 많은 구간에서는 정확하고, 거의 방문하지 않은 구간에서는 부정확할 수 있다. Policy가 Model의 작은 Error를 이용하는 Action을 찾으면 실제 환경에서는 실패할 수 있다.

특히 여러 Step을 연속으로 Model에서 Rollout하면 Error가 누적된다.

S^t+1=fη(St,At)\hat S_{t+1} = f_\eta(S_t,A_t) S^t+2=fη(S^t+1,At+1)\hat S_{t+2} = f_\eta(\hat S_{t+1},A_{t+1})

첫 예측의 작은 오차가 두 번째 입력이 되고, 그 오차가 다음 Step에서 더 커진다.

정확한 Model은 Planning을 돕지만, 작은 한 Step Error도 긴 Rollout에서는 누적되어 전혀 다른 미래를 만들 수 있다.

Model bias를 줄이는 방법

실제 Algorithm은 여러 장치를 사용한다.

짧은 Model rollout

Real state에서 시작해 몇 Step만 Model을 사용하고 다시 실제 Data로 돌아온다. 긴 상상보다 Error 누적이 작다.

Ensemble과 Uncertainty

여러 Model을 학습해 예측이 크게 다른 구간을 불확실하다고 본다. 불확실한 Transition의 Planning 비중을 줄이거나 실제 환경에서 Data를 더 모은다.

Real data와 섞기

Model data만으로 학습하지 않고 실제 Transition을 계속 섞어 Policy가 현실에서 멀어지지 않게 한다.

보수적인 목적

Model이 확신하지 못하는 State-Action을 지나치게 낙관적으로 평가하지 않도록 Penalty를 줄 수 있다.

Model-free와 Model-based는 양자택일이 아니다

실제 방법들은 연속선 위에 있다.

방법Model 사용예시 역할
Model-free없음경험으로 Q나 Policy를 직접 Update
Dyna-style학습한 Model실제 Update와 Planning update를 함께 사용
Planning 중심알려진 또는 학습한 ModelSearch로 Action을 선택
Hybrid일부만 Model짧은 Rollout, Value bootstrap, Search 결합

Model로 미래를 전부 예측하지 않아도 된다. Reward만 예측하거나, 몇 Step 뒤의 Latent state만 예측하거나, Search의 일부 구간에서만 사용할 수 있다.

이번 글에서 기억할 것

Model-based RL은 환경의 Next state와 Reward를 예측하는 Model을 배우고, 그 Model이 만든 가상 경험으로 Planning한다.

  1. 환경 Model은 p(s,rs,a)p(s',r\mid s,a)를 근사한다.
  2. Learning은 실제 경험에서, Planning은 Model의 경험에서 Update한다.
  3. Dyna는 실제 한 Step 뒤에 여러 Planning update를 수행한다.
  4. Model은 Sample efficiency를 높이지만 잘못된 예측은 Policy를 잘못된 방향으로 이끈다.
  5. 짧은 Rollout, Uncertainty, Real data 혼합으로 Model bias를 완화할 수 있다.

다음 글에서는 실제 환경에 새로 접속할 수 없고 이미 모인 Dataset만 있을 때의 Imitation Learning과 Offline RL을 살펴본다.

참고 자료