web.stanford.edu

1 Overview

1.1 States and Representations

동적 시스템의 상태는 기본적으로 압축된 설명이며, 이 시스템의 주요 측면을 포착한다. 이러한 측면은 time-varying 또는 fixed 파라미터일 수 있다. 그림 1의 시스템을 가정하자. 수직 평면을 따라 걷는 로봇이다. 이 예에서 시간에 따라 변하는 양은 로봇의 현재 포즈(위치와 방향), 관절 구성 및 속도에 대한 정보로 구성될 수 있다. fixed 파라미터는 로봇의 limb(팔, 다리)의 길이, 각 limb의 무게 또는 관절의 마찰일 수 있다. 이 시스템의 상태에 대해 많은 representation이 가능하다. 예컨대 관절 각도, 속도, 위치 또는 로봇의 포즈 중 어떤 선택을 사용할 수 있다. 또한 이런 수량은 다양한 방법으로 표현될 수 있다. 예컨대 로봇 본체의 방향은 각 축 표현에 대해 Euler 각도나 quaternion으로 주어질 수 있다. 위치는 sptial 또는 극 좌표로 주어질 수 있다. 어떤 representation을 선택할지는 종종 수행할 작업에 따라 다르다. 마지막으로 상태 표현은 학습될 수도 있으며, 이에 대해서는 나중에 다시 다룬다.

Cap 2024-06-19 11-17-15-207.jpg

동적 시스템의 상태는 정적이지 않고 시간에 따라 진화한다. 보행 로봇의 예에서 로봇의 포즈와 관절 구성은 time-varying이다. 우리는 시간 $t$에서 상태를 $x_t$로 표기한다. 이런 동적 상태에 대한 일반적인 가정은 Markov property를 따른다는 것이다. 미래 상태는 과거 상태가 아니라 오직 현재 상태에만 의존한다. 다시 말해 상태 $x_{t+1}$은 현재 상태 $x_t$가 주어지면 과거 상태 $x_1, x_2, ..., x_{t-1}$에 조건적으로 독립이다.

$$ P(x_{t+1}|x_t, x_{t-1},...,x_2, x_1) = P(x_{t+1}|x_t) \tag{1} $$

Markov 속성은 미래 상태를 예측할 때 중요한 의미를 갖는다. 이 속성이 성립하면, 미래 상태는 과거가 아니라 현재에만 의존한다. 그러므로 우리는 현재 상태가 주어지면 시스템의 특정한 동적 시스템을 따라 next timestamp에서 상태를 예측할 수 있다. 즉, $f(x_t) = x_{t+1}$. 예컨대 상태에 관절의 현재 각속도가 포함되면, 다음 시간 단계에서 관절 각도를 예측할 수 있다. $f(\cdot)$은 비선형 함수일 수 있고 종종 단순성을 위해 동역학이 시간에 따라 상수라고 가정한다. 이런 시스템을 Markov chain으로 모델링한다. 그림 2는 Markov chain의 조건부 종속 구조를 probailistic graphical model(PGM)으로 시각화한다. 여기서 노드는 확률 변수이고 엣지는 조건부 종속을 나타낸다.

Cap 2024-06-19 11-18-01-535.png

Cap 2024-06-19 11-18-13-020.png

Markov chain은 동적 시스템을 완전히 관찰 가능한 것으로 모델링한다. 즉 상태가 알려져 있다고 가정한다. 실제로는 시간 $t$에서 시스템의 상태를 직접 관찰할 수 없기 때문에 종종 알 수 없다. 우리의 임무는 noisy 센서 관측에서 실제 상태를 추정하는 것이다. 이 절차를 state estimation이라 부른다. 이런 시스템은 부분적으로만 관측되고 상태가 hidden이므로 Hidden Markov Model(HMM)으로 모델링될 수 있다. 우리는 상태 $x_t$가 Markov 프로세스를 따른다고 가정한다. 또한 시간 $t$에서 관측 $z_t$가 그 시간의 상태 $x_t$에만 의존한다고 가정한다. 즉 관측 $z_t$는 관측 $x_t$가 주어질 때 모든 이전 상태와 관측에 대해 조건부 독립이다.

$$ P(z_t|x_t, x_{t-1}, ..., x_2, x_1) = P(z_t|x_t) \tag{2} $$

이것은 현재 관측 $z_t$를 예측하는 관찰 모델 $h(\cdot)$이 $x_t$에만 의존한다는 것을 의미한다. $h(x_t) = z_t$. 이것을 구체적인 vision 예제로 만들자. 우리가 그림 4에서 보여지는 point-of-view를 갖는 자율 주행차라고 하자. 우리는 충돌을 피하기 위해 모든 교통 참가자들의 상태를 알려고 한다. 3d 위치, bounding box(크기), 각각의 속도. 그러나 이 정보는 직접적으로 주어지지 않고 예를 들어 stereo 이미지의 쌍, RGB frame 또는 LIDAR 데이터 같은 센서 관측을 통해 캡쳐된 데이터로부터 추정되어야 한다.

Cap 2024-06-19 11-18-26-427.jpg

미래의 최적 추정에 대한 강의에서 상태가 어떻게 진화하는지에 영향을 미치는 robot action이나 control input을 이러한 Markov 프로세스에 포함시킬 것이다. 구체적으로 $f(x_t) = x_{t+1}$ 대신 $f(x_t, u_t) = x_{t+1}$을 갖는다. 여기서 $u_t$는 시간 $t$에서 로봇이 취한 control input 또는 action이다. 이것은 그림 1에서 보행 로봇의 다리를 움직이는 관절 모터에 보내는 torque command일 수 있고 자동차의 경우에 steering과 throttle일 수 있다. 흥미로운 문제는 다음 best action $u_t$를 어떻게 결정할 것인가이다. 이것을 decision making이라 부른다. Markov chain은 Markov Decicison Process(MDPs)로 일반화 되고 Hidden Markov Model은 Partially Observable Markov Decision Process(POMDPs)로 일반화될 수 있다. 이것은 decision making을 형식화하는데 사용된다. 이 주제에 더 관심 있다면 Decision-Making under Uncertainty(https://web.stanford.edu/class/aa228/cgi-bin/wp/) 참조.

1.2 Generative and Discriminative Approaches

관찰에서 상태를 어떻게 추정할 수 있을까? 입력 RGB 이미지(관찰 $z$)에서 객체의 포즈 (상태 $x$)를 추정하는 작업을 고려하자. 6d 포즈는 객체의 3d translation과 3d rotation 모두(6개 파라미터 전체)를 의미한다.

우선 2가지 접근을 high-level에서 설명하고 이 코스의 후반부에 구체적으로 설명한다. 우선 generative model은 관측 $z$와 상태 $x$가 주어지면 결합 확률 분포 $p(z, x)$를 설명한다. 우리는 베이즈 룰을 사용하여 likelihood $p(z|x)$와 prior $p(z|x)$로 이 결합 분포를 계산한다(방정식 2 참조). 객체 포즈 추정의 예에서 우리는 $p(x)$에서 객체 포즈 $x^{(i)}$를 샘플링할 수 있다. 이 prior는 공간에서 균등 분포일 수도 있고 또는 이 객체의 가능성 있는 위치(예: 빌딩의 옆이 아닌 도로 위의 자동차)를 포착하는 더 복잡한 분포일 수 있다. 이 포즈 샘플이 주어지면, 우리는 관측 모델을 사용하여 가장 가능한 관찰을 생성할 수 있다. $h(x^{(i)}) = z^{(i)}$. 즉, 샘플링된 포즈에서 이미지 평면에 대한 객체의 2d projection. 그 다음 $p(z|x^{(i)})$는 가설된 포즈 $x^{(i)}$가 주어질 때, 실제 관측 $z$의 likelihood를 $z^{(i)}$와 $z$ 사이의 거리를 비교하여 제공한다.

두 번째 discriminative model은 관측 $z$가 주어질 때 상태 $x$의 조건부 확률 $p(x|z)$를 설명한다. 예를들어 그림 5의 PosCNN과 같은 신경망을 학습하여 입력 이미지 $z$를 가장 가능한 출력 포즈 $x$에 직접 매핑할 수 있다. discriminative와 generative model 사이의 차이에 대한 더 많은 것은 CS229 note(https://cs229.stanford.edu/notes-spring2019/cs229-notes2.pdf) 참조.