데이터사이언스/강화학습

강화학습 - (21) 모델

Johnny Yoon 2020. 11. 15. 21:35
728x90
반응형

강화학습

모델

 

우리는 평소에 계획을 많이 세운 뒤 일을 실행하는 상황이 있고, 별 생각 없이 일을 진행하는 상황이 있다.

강화학습에서도 다이나믹 프로그래밍 처럼 수행하는 일에 대한 모든 지식을 수반하는 모델을 만들 수도 있고,

반대로 모델이 없이 샘플링 기반의 학습을 진행할 수도 있다.

강화학습에서는 이러한 계획을 모델이라고 한다.

 

모델은 환경의 유동성(dynamics)에 대한 정보를 저장한다.

이는 현재 상태에서 한 행동을 취했을 떄, 다음에 받는 상태와 보상에 대한 정보,

즉 전환(transition)과 보상(reward)의 유동성에 대한 정보이다.

 

계획

강화학습에서 모델은 에이전트에게 계획을 가능하게 한다.

다른말로 하면 모델은 에이전트가 환경에 대해 어떻게 사전 지식을 갖고 생각하는지에 대한 모델링이 된다.

이 계획은 정책을 학습하는데 매우 중요한 요소가 된다.

현실에서 일어나는 일을 모두 실패를 통해 경험할 수 없기 때문에,

우리는 현실의 일이 일어났다고 가정할 수 있을 만한 시뮬레이션을 진행하고,

그 시뮬레이션을 통해 가치함수를 갱신해야 한다.

그리고 이 가치함수는 에이전트의 정책을 학습시키는데 쓰인다.

따라서 환경에 대한 모델을 만들 수 있다면, 

우리는 환경과의 더 적은 상호작용을 통해 에이전트를 학습시킬 수 있다.

(환경에 대한 정보 하나도 없이 학습하는 경우 샘플을 모으는데 많은 시간이 걸리기 때문이다.)

 

모델의 종류

샘플 모델

샘플모델은 어떠한 확률에 의해 결과가 정해진다고 가정하고,

이를 랜덤 샘플링을 통해 모델링 하는 방법이다.

샘플 모델은 계산적으로 비용이 많이 든다.

이는 확률을 모델링 하기 위한 충분한 샘플이 모여야 하기 때문이다.

 

분포 모델

분포모델은 모든 결과에 대해 정량적인 확률을 부여하는 모델이다.

분포모델은 더 많은 정보를 담고 있을 수 있다.

하지만 상태와 행동의 수가 많아지면 이를 정의하기가 어렵게 된다.

 

Model-based vs. Model-free

보통 데이터과학에서의 모델은 어떠한 함수를 근사하는 추상적인 개념을 가리킨다.

예를 들면 머신러닝의 수학적 모델 혹은 딥러닝의 뉴럴네트워크이다.

하지만 강화학습에서 이 모델은 환경에 대한 가정을 가리킨다.

모델기반(Model-based) 강화학습은 환경에 대한것을 어떠한 개념으로 모델링 하는것이라 말할 수 있다.

환경에 대해서 어떠한 사전 지식(domain knowledge)을 에이전트에게 주입해,

조금 더 빠른 학습을 야기하고, 더 안정적인 학습을 하게 하기 위함이다.

 

하지만 사전 시직을 수반할 수 없는 환경들도 있다.

따라서 이런 경우에는 모델이 없는(Model-free), 철저히 샘플링 기반의 학습을 진행해야 한다.

추후에 다룰 Q러닝을 딥러닝에 접목한 Deep Q-network (DQN)이 대표적인 예이다.

이것이 가능한 것은 Q러닝의 개념상 TD, 즉 $(s, a, r, s', a')$가 있으면 어느 시점이든 학습이 가능하기 때문이다.

 

모델의 정확도

그렇다면 정의한 모델의 정확도는 어떻게 판단할 수 있을까?

모델이 부정확하다는 것은 환경에서 일어나는 상태변환에 대한 정보가,

모델이 저장하고 있는 상태변환과 다르다는 것을 뜻한다.

예를 들면 특정 상태에 대한 정보가 없거나, 상태에 대한 정보가 변하는 상황이다.

 

이러한 상황에서 에이전트는 어떻게 할 수 있을까?

만약 모델이 적은 부분 부정확하다면, 에이전트는 어느정도의 부정확도에도 잘 학습할 수 있을 것이다.

하지만 모델이 많은 부분 부정확하거나, 변화하는 환경이라면 에이전트는 정확하게 학습할 수 없게 된다.

 

728x90
반응형