8.83 베이즈 필터의 원리와 유도

1. 베이즈 필터의 개요

베이즈 필터(Bayes Filter)는 시간에 따라 변화하는 시스템의 상태를 관측으로부터 재귀적으로 추정하는 일반적 프레임워크이다. 칼만 필터, 확장 칼만 필터, 무향 칼만 필터, 입자 필터, 히스토그램 필터 등이 모두 베이즈 필터의 특수한 구현이다.

2. 문제 설정

  • 상태 \mathbf{x}_t: 시각 t에서의 로봇(또는 시스템) 상태
  • 제어 입력 \mathbf{u}_t: 시각 t에 로봇에 가해진 제어
  • 관측 \mathbf{z}_t: 시각 t에 얻은 센서 측정
  • 믿음 \text{bel}(\mathbf{x}_t) = p(\mathbf{x}_t \vert \mathbf{z}_{1:t}, \mathbf{u}_{1:t}): 현재 상태의 사후 분포

3. 주요 가정

베이즈 필터의 재귀 구조는 다음의 가정에 기반한다.

3.1 마르코프 가정 1: 상태 전이

p(\mathbf{x}_t \vert \mathbf{x}_{0:t-1}, \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t}) = p(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{u}_t)

현재 상태가 주어지면 과거 상태와 관측은 다음 상태에 영향을 미치지 않는다.

3.2 마르코프 가정 2: 관측

p(\mathbf{z}_t \vert \mathbf{x}_{0:t}, \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t}) = p(\mathbf{z}_t \vert \mathbf{x}_t)

현재 관측은 현재 상태에만 의존한다.

4. 베이즈 필터의 유도

목표: \text{bel}(\mathbf{x}_t) = p(\mathbf{x}_t \vert \mathbf{z}_{1:t}, \mathbf{u}_{1:t})를 이전 시각의 믿음 \text{bel}(\mathbf{x}_{t-1})로부터 재귀적으로 계산하는 공식의 유도이다.

4.1 단계 1: 베이즈 정리의 적용

p(\mathbf{x}_t \vert \mathbf{z}_{1:t}, \mathbf{u}_{1:t}) = \frac{p(\mathbf{z}_t \vert \mathbf{x}_t, \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t})p(\mathbf{x}_t \vert \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t})}{p(\mathbf{z}_t \vert \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t})}

4.2 단계 2: 마르코프 가정 2의 적용

관측의 마르코프 가정에 의해:

p(\mathbf{z}_t \vert \mathbf{x}_t, \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t}) = p(\mathbf{z}_t \vert \mathbf{x}_t)

분모는 \mathbf{x}_t에 무관한 정규화 상수이므로 \eta = 1/p(\mathbf{z}_t \vert \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t})로 대체한다.

\text{bel}(\mathbf{x}_t) = \eta p(\mathbf{z}_t \vert \mathbf{x}_t)p(\mathbf{x}_t \vert \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t})

4.3 단계 3: 예측 분포의 도출

p(\mathbf{x}_t \vert \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t})\overline{\text{bel}}(\mathbf{x}_t)로 표기한다. 전체 확률 법칙을 적용한다.

\overline{\text{bel}}(\mathbf{x}_t) = \int p(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t})p(\mathbf{x}_{t-1} \vert \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t}) \, d\mathbf{x}_{t-1}

4.4 단계 4: 마르코프 가정 1의 적용

상태 전이의 마르코프 가정에 의해:

p(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t}) = p(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{u}_t)

또한 \mathbf{u}_t\mathbf{x}_{t-1}에 영향을 미치지 않으므로:

p(\mathbf{x}_{t-1} \vert \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t}) = p(\mathbf{x}_{t-1} \vert \mathbf{z}_{1:t-1}, \mathbf{u}_{1:t-1}) = \text{bel}(\mathbf{x}_{t-1})

따라서:

\overline{\text{bel}}(\mathbf{x}_t) = \int p(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{u}_t)\text{bel}(\mathbf{x}_{t-1}) \, d\mathbf{x}_{t-1}

5. 베이즈 필터 알고리즘

입력: 이전 믿음 \text{bel}(\mathbf{x}_{t-1}), 제어 \mathbf{u}_t, 관측 \mathbf{z}_t

절차:

  1. 예측 단계:
    \overline{\text{bel}}(\mathbf{x}_t) = \int p(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{u}_t)\text{bel}(\mathbf{x}_{t-1}) \, d\mathbf{x}_{t-1}

  2. 갱신 단계:
    \text{bel}(\mathbf{x}_t) = \eta p(\mathbf{z}_t \vert \mathbf{x}_t)\overline{\text{bel}}(\mathbf{x}_t)

출력: 새 믿음 \text{bel}(\mathbf{x}_t)

6. 재귀성과 계산 효율

베이즈 필터의 재귀 구조에 의해, 전체 관측과 제어 이력을 저장할 필요 없이 이전 시각의 믿음만으로 현재 믿음을 계산할 수 있다. 이 재귀성은 마르코프 가정의 직접적인 결과이며, 실시간 상태 추정의 효율성을 확보한다.

7. 필요한 확률 모델

베이즈 필터를 적용하려면 다음 두 가지 조건부 확률 모델이 필요하다.

  1. 전이 모델 p(\mathbf{x}_t \vert \mathbf{x}_{t-1}, \mathbf{u}_t): 동역학과 프로세스 잡음
  2. 관측 모델 p(\mathbf{z}_t \vert \mathbf{x}_t): 센서 모델과 측정 잡음

이 두 모델은 로봇과 센서의 물리적 특성으로부터 또는 실험 데이터로부터 설계된다.

8. 실용적 구현의 과제

8.1 적분의 계산

베이즈 필터의 예측 단계는 적분을 포함한다. 이 적분이 해석적으로 풀리는 경우(선형 가우시안)는 드물며, 대부분 수치적 근사가 필요하다.

  • 선형 가우시안: 칼만 필터 (해석적)
  • 비선형 가우시안: 확장/무향 칼만 필터 (선형화 또는 시그마 점)
  • 비가우시안: 입자 필터 (샘플 기반)
  • 이산 상태: 히스토그램 필터 (격자 기반)

8.2 정규화

\eta의 계산은 \int p(\mathbf{z}_t \vert \mathbf{x}_t)\overline{\text{bel}}(\mathbf{x}_t) \, d\mathbf{x}_t이며, 이것도 수치적 계산이 필요하다.

9. 초기 믿음

베이즈 필터의 시작점은 초기 믿음 \text{bel}(\mathbf{x}_0)이다. 사전 지식이 없으면 광범위한 균일 분포로 설정하고, 있으면 해당 분포로 설정한다.

10. 참고 문헌

  • Thrun, S., Burgard, W., & Fox, D. (2005). Probabilistic Robotics. MIT Press.
  • Barfoot, T. D. (2017). State Estimation for Robotics. Cambridge University Press.
  • Bar-Shalom, Y., Li, X. R., & Kirubarajan, T. (2001). Estimation with Applications to Tracking and Navigation. Wiley.

version: 1.0