본문을 읽기 전, 아래 변수를 기억하고 넘어가자.
또한 마르코프 결정 프로세스가 어떤건 지 아직 모르겠다면, 전 포스트의 내용이 도움이 될 것이다.
- \(s_t\): t시점에서의 상태
- \(o_t\): t시점에서 \(s_t\)에만 의존하는 정보 (예를 들면 위치를 찾을 수 있는 센서 정보)
- \(a_t\): t시점에서의 행동
- \(P(s_{t+1})\): t+1시점에서의 상태 확률
- \(P(s_{t+1} | s_t, a_t)\): t 시점에서 상태 s와 행동 a가 진행되었을 때, \(s_{t+1}\)일 확률
- \(P(s_{t+1} | s_{1:t}, a_{1:t})\): 1부터 t시점까지의 상태 s와 행동 a가 주어졌을 때, \(s_{t+1}\)일 확률 (즉 1부터 t까지 모든 시점을 고려하였을 때 상태가 \(s_{t+1}\)이 될 확률 (n차 마르코프 결정 프로세스와 동일)
사실 다른 말 할 필요 없이, 위 수식으로 어느 정도 마르코프 결정 프로세스에 대해 알 수 있을 것이다.
t시점까지 주어진 상태와 행동을 이용하여 \(s_{t+1}\)를 구하는데 1차 마르코프 결정 프로세스을 활용한다면, 바로 직전 t시점의 상태와 행동만 고려하게 된다.
부분 관측 마르코프 결정 프로세스 (POMDP)
그렇다면 POMDP는 도대체 뭘까?
간단하게 상태 \(s_t\)를 모르는 경우라고 할 수 있다. 그렇다면 우리는 다음 시점의 상태 \(s_{t+1}\)을 구하기 위해서라면 \(s_t\)을 유추할 수 있는 다른 무언가를 알아야 할 필요가 있다.
가령 로봇 청소기는 자신의 위치를 알기 위해서 센서를 주기적으로 쏘면서 옆에 벽이 있는지, 뒤에 벽이 있는지, 앞에 문턱이 있는지 센서 정보를 모으게 된다. 이렇게 정보를 "관찰"하게 되는데 이게 바로 부분 관측의 관측 observation을 담당하는 요소이다. 이를 \(o_t\)라고 표기할 수 있다.
이 부분 관측 마르코프 결정 프로세스를 그래프로 표현하면 아래와 같다.
보통은 \(o_t\)만 알고 \(s_t\)를 유추하는 형태의 그래프가 되겠지만, 위 그림에선 \(s_t\)가 있을 때 확실한 \(o_t\)는 어떻게 되는지 표현한 그래프라고 보고 넘어가자.
이 개념은 베이즈 필터에 적용이 가능하다.
자신이 관측한 결과(\(o_{1:t}\)와 자신이 취해온 행동 \(a_{1:t}\)이 자신의 상태를 확률에 의거하여 추측할 수 있다.
$$P(s_t | o_{1:t}, a_{1:t}) = F_t(s_t)$$
이것을 존재 확률이라고 부른다.
이 존재 확률은 베이즈 필터, 입자 필터 등과 같은 영역에서 활발하게 쓰인다. 또한 응용식으로는 collaborative filtering 등과 같은 추천시스템에서도 활용된다. 추후 다른 포스팅에서 필터 관련한 내용을 다뤄보겠다.
'강화학습 > 강화학습 기본' 카테고리의 다른 글
[확률적 시스템] 마르코프 결정 프로세스 기본 (Markov Decision Process) (0) | 2023.01.03 |
---|---|
[강화학습] 조작적 조건화와 스키너 상자(Skinner Box) (0) | 2023.01.01 |