Author: Joonhee Lim
Research Field: Decision & Planning
Date: 2023/03/10
0. POMDP (Partially Observable MDP) vs MDP (Fully Observable MDP)
일반적으로 State st와 Observation ot가 같고 제공할 수 있는 모든 정보를 Agent에게 제공하는 것을 가정하는 MDP 문제 규정은 현실과 맞지 않는 부분이 있다. 현실에서는 어떤 정보를 관측할 때 불확실성 또는 노이즈가 분명히 존재하기 때문이다.
즉, 자율주행의 제어를 위해 MDP의 State Space를 Ego 차량의 위치, 속도, 가속도라고 규정한다고 해도 현실에서의 Observation은 제공하지 못하는 정보가 있을 수도 있고 제공된 위치, 속도, 가속도에 노이즈와 불확실성이 분명히 존재한다. 이런 경우 우리는 State Space로써 정의한 State와 Observation이 다르기에 부분적으로 관측된 MDP, POMDP로써 문제를 정의해야만 한다.
만약 이러한 경우에 MDP로써 순차적 의사결정 문제를 정의한다면 적절하지 않은 Problem Formulation이 될 수 있다는 것이다.
하지만, 시뮬레이션에서의 상황은 다르다. 일반적으로 시뮬레이션은 필요로 하는 정보의 Ground Truth를 제공할 수 있고 모든 Full State를 관측할 수 있다. 그렇기 때문에 Ground Truth를 사용하고 Agent가 Action을 제공하기에 충분한 모든 State를 제공하고 그 정보들이 Observation으로 노이즈 없이 전해진다면 이러한 문제는 MDP 문제로써 규정해야한다.
이 때, 한 가지 의문점이 발생할 수 있다.
만약, Full State를 제공할 수 있음에도 제공하지 않는 경우는 POMDP일까? MDP일까?
정답은 POMDP이다. 차량의 위치, 속도, 가속도 등 제공할 수 있는 모든 노이즈가 없는 정보를 제공할 수 있음에도 차량의 위치 정보만을 제공하는 문제의 경우 우리는 POMDP로써 문제를 정의할 수 있다. 하지만 이러한 방법은 굉장히 비효율적이고 Reasonable하지 않다. POMDP로써 문제를 정의하는 것은 상태와 관측 사이의 불확실성을 다룰 수 있기 때문에 특정 문제에 따라서 매우 유용하지만 상태와 관측 사이의 불확실성이 존재하지 않음에도 POMDP로써 문제를 정의하는 것은 띠용스러운 행동이다.
그에 대한 이유는 다음과 같다.
완전한 상태 정보를 제공할 수 있는 경우, 문제를 MDP로써 규정하면 상태 공간과 행동 공간을 더 작고 효율적이게 구성할 수 있다. 이는 보다 적절한 문제 정의와 효율적인 알고리즘을 제공할 수 있으며, POMDP와 비교하여 더 높은 계산 효율성을 가질 수 있다.
왜 완전한 상태 정보가 주어질 경우에 MDP로 문제를 규정하면 상태 공간과 행동 공간이 작아질 수 있을까?
그에 대한 이유는 다음과 같다.
완전한 상태 정보가 주어진 경우 MDP에서 각 상태를 완전하게 구성하고 문제에 적합한 Action Space를 효율적으로 구성하여 문제를 풀 수 있다.
반면, POMDP로써 문제를 정의할 경우, Action의 추론 과정에서 필요한 Observation을 추론하는 과정이 추가적으로 필요하기 때문에 POMDP에서는 보다 복잡한 문제가 정의된다.
그렇다면 여기서 다시 의문이 들 수 있다. 그냥 POMDP로 관측을 통해 상태를 추정하는 어려운 문제를 풀면 안되나?
정답은 된다. 만약 상태에 대한 정보를 숨기고 문제를 정의하고 숨겨진 상태에 대해서 추론하는 문제를 정의하고자 한다면 그냥 줄 수 있는 정보를 숨기고 POMDP로써 문제를 정의하면 된다.
결론적으로
Fully Observable MDP: st=ot
Partially Observable MDP: st≠ot
'Reinforcement Learning' 카테고리의 다른 글
[RL] Q-Learning and Double Q-Learning (0) | 2023.04.12 |
---|---|
[RL] Model : 모델이란(생각보다 간단하게) (2) | 2022.11.30 |
[RL] Linear Inverse Reinforcement Learning에 대한 글 (0) | 2022.08.24 |
[RL] Imitation Learning(모방 학습)에 대한 설명 및 정리 (0) | 2022.08.23 |
[RL] DQN을 공부한 당신, 학습코드도 파헤쳐보자! (Car Racing, Gym, PyTorch) (2) | 2022.08.01 |