안녕하세요, 오늘은 강화학습에서 등장하는 개념인 Deterministic policy와 Stochastic policy에 대해 다뤄보도록 하겠습니다.
Policy란?
강화학습 분야에서 policy란, 어떤 에이전트가 주어진 환경과 상호작용하는 전략을 의미합니다. 환경이 주어지고 나서 , 어떻게 action을 취할 것인지에 대한 내용을 담고 있습니다.
만약에 현재의 상태에 대한 정보가 입력으로 주어지면, 다음 액션을 아웃풋으로 뱉어내는 함수입니다. 다시 말하자면, state를 action과 mapping 해주는 function 입니다. 이 policy는 상황에 따라 deterministic policy가 될 수도 있고, stochastic policy가 될 수도 있습니다. 이 둘이 무엇인지, 어떻게 다른지 알아보겠습니다.
Deterministic policy
"Deterministic" 이라는 단어는 결정론적이라는 뜻을 가진 단어입니다. 말 그대로 무엇인가가 결정되어 있다는 것인데요, deterministic policy는 하나의 state를 확실하게 하나의 action과 매핑시켜주는 policy입니다.
예를 들면, ((S_{1}))이라는 state와 ((a_{1}))이라는 action이 deterministic policy로 매핑되어 있다면, 어떤 상황에서라도 ((S_{1}))이라는 state에 들어오면 ((a_{1}))이라는 action을 하는 것입니다.
Deterministic policy가 가지는 장점은, 해석하기 쉽고 적용하기도 쉽다는 것입니다. 그리고 주어진 상황에서 '정답' 이 존재할 때 적용하기 유용합니다. 예를 들면, 체스 게임 속의 어떤 하나의 상황에서 '신의 한 수' 일 수 있는 가장 좋은 수가 있겠죠. 이는 특정한 상황이 주어진다면 어떠한 경우에서라도 그 수가 가장 좋은 수입니다. 이러한 경우에서 deterministic policy를 적용하기 좋을 것 같습니다.
((\pi)) ((:)) ((S)) ((\rightarrow)) ((A))
Policy ((\pi))는 state ((S))를 action ((A))와 mapping 시켜주는 함수
Stochastic policy
"Stochastic" 이라는 단어는 확률론적이라는 뜻을 가진 단어입니다. 무엇인가가 결정되어 있는 것이 아닌, 확률적으로 존재하는 것입니다. Stochastic policy는 하나의 state를 여러 개의 action들의 probability distribution(확률분포)와 매핑시켜주는 policy입니다.
결국 agent는 확률분포를 따르는 여러 개의 action 중에서 random하게 어떤 action을 취하는 형태입니다. 당연히 확률분포에 따라 확률이 높은 action을 취할 '확률이 높지만', 여기서의 핵심은 stochastic policy는 불확실성, 즉 'Uncertainty'를 고려한다는 것에 있습니다.
Uncertainty
말 그대로 불확실성입니다.
우리는 자신에게 주어진 상황은 동일하지만, 맥락에 따라 다른 선택을 하는 경우들이 종종 있습니다. 예를 들어, 어떤 주식 가격이 700원이라고 해봅시다. 만약에 내가 이 주식의 가격이 더 상승할 것이라고 생각하면 이 주식을 팔지 않고 더 가지고 있을 것이고, 이 주식의 가격이 앞으로 떨어질 것이라고 생각하면 이 주식을 매도할 것입니다.
포커게임에서도 내가 가지고 있는 동일하지만, 상대가 어떤 패를 가지고 있을 것이라고 생각하느냐에 따라 내가 취하는 action이 달라집니다. 죽을 것인지, 판을 올릴 것인지 등등 말이죠.
이렇게 state가 같더라도 취하는 행동에 어느 정도 여지를 주겠다는 것입니다. 아까 deterministic은 그런거 없이 하나의 state 하나의 action이었습니다.
((\pi)) ((:)) ((S)) ((\times)) ((A)) ((\rightarrow)) (([0, 1]))
((\pi(s,a)))는 state ((s))에서 action ((a))를 취할 확률(0과 1 사이)
Deterministic vs Stochastic
둘을 최종적으로 비교해본다면 아래와 같은 형태일 것입니다.
Deterministic에서는 Max인 action 1개,
Stochastic에서는 probability distribution에 따른 액션들이 존재할 것입니다.