데이터사이언스/강화학습

강화학습 - (22) 가치함수의 근사

Johnny Yoon 2020. 11. 15. 21:45
728x90
반응형

강화학습

가치함수의 근사

지금까지는 행렬에 모든 상태전환을 고려하는 tabular 상황의 상화학습만을 고려했다.

하지만 현실의 문제에서는 모든 가능성을 행렬에 저장하는 것은 불가능하다.

예를 들어 로봇이 카메라를 통해 세상을 보는것은 너무나 많은 고려되지 않은 불확실성을 수반한다.

따라서 이를 해결하기 위한 방법을 알아보도록 한다.

 

매개변수를 가진 함수 (Parameterized Function)

상태를 통해 가치를 반환하는 것을 하나의 함수로서 생각해보자.

이 함수는 어떠한 상태 $s_i$를 받아, 이 상태의 가치 $v_i$를 반환하는 함수이다.

$f(s) = v$

만약 이 함수가 하나의 행렬로서 표현된다면, 지금까지 고려하던 tabular 설정이라고 말할 수 있다.

하지만 tabular만이 유일한 방법은 아니다.

 

가장 간단하게는, 상태의 $X$, $Y$ 위치를 통해 가치함수를 $X+Y$로 산정하는 경우를 생각해볼 수 있다.

하지만 이 경우, $X$와 $Y$값이 정해져 있는 값이기 때문에 학습은 불가능하다.

 

따라서 우리는 변화하는 매개변수 $W$를 통해 함수를 근사하는 방법을 사용한다.

이 $W$는 인공신경망에서의 가중치(weight)와 동일하다.

 

가치함수의 매개변수화 (Parameterizing Value Function)

우리는 갱신이 가능한 매개변수 $w$를 통해 가치함수를 학습한다.

$\hat{v}(s, W) \approx v_{\pi}(s)$

 

위에서 다뤘던 간단한 방법을 다시 살펴보자.

$X$와 $Y$를 그대로 더하는 대신, 우리는 가중치 $w$를 곱해준 값을 더하는 방법을 취한다.

$\hat{v}(s, w) \dot{=} w_1 X + w_2$ Y

 

이를 통해 우리가 얻을 수 있는 이점은 모든 상태에 대한 가치를 저장하지 않아도 된다는 점이다.

$W$가 하나의 벡터라고 가정할 때, $w_1$과 $w_2$ 두개의 값만 알고 있다면,

모든 상태 $s$에 대한 가치함수를 산정할 수 있게 된다.

 

다음은 $X$, $Y$값이 변화할때, 가치함수가 어떻게 변화하는지 세가지에 대한 세가지 예제이다:

 

선형 가치함수 근사

위에서 다뤄진 방법을 선형 가치함수 근사 라고 부른다.

선형 가치함수 근사에서 각 상태의 가치는 상태의 특성(feature)들과, 가중치들을 모두 곱해 더한 값으로 근사된다:

$\hat{v}(s, w) \dot{=} \sum w_i x_i (s)$

 

선형가치함수는 매우 간단하지만, 상태의 특성에 너무 많은 영향을 받는다.

위에서 다뤄진 상태의 피쳐는 $X$와 $Y$의 위치이다.

이 케이스에서 다음과 같은 가치를 가정해보자:

이 경우 우리는 선형으로 모든 가치를 근사할 수가 없다.

$w$들이 모두 0이라면 바깥쪽 상태들을 근사할 수 있지만, 이 경우 안쪽의 상태들을 근사할 수 없다.

반대로 $w$들이 0이 아니라면 안쪽 상태들은 근사가 가능하지만, 바깥 상태들은 근사가 불가능하다.

따라서 더 정확한 상태의 근사는 주로 선형함수의 근사가 아닌, 인공신경망을 통한 비선형 근사로 이뤄진다.

 

일반화와 분류 (Generalization and Discrimination)

함수 근사를 통한 일반화

가치 함수를 근사한다는 것은, 모든 상태에 대해 일반화(generalization)를 한다는 것을 의미한다.

예를 들어 한 사람이 현대 소나타로 운전을 배웠다면, 이 사람은 토요타 캠리로도 운전을 할 수 있을 것이다.

에이전트 또한 여러 상태에 대해 근사하는 방법을 학습하였다면, 새로운 상태에 대해서도 어느정도 근사하는 능력을 가지게 되는 것이다.

 

예제)

만약 한 로봇이 캔까지 가는것을 학습하는 중이라면,

비슷한 시간이 걸리는 상태들의 가치는 비슷하다는 것을 학습해야 한다.

 

함수 근사를 통한 분류

비슷한 이치로, 에이전트는 다른 상태들에 대해서는 다르다는 분류(discrimination)을 할 수 있어야 한다.

다시 말해 두가지의 상태가 다른 가치를 주는것을 분류하는 능력이다.

 

예제)

다시 로봇의 예제로 돌아가서 보면,

만약 캔까지 도달하는 두가지 길 중 하나에 벽이 있다면,

로봇은 이 두가지 길을 분류하여 생각할 수 있는 것을 학습해야 한다.

 

모든 상태를 다 집계하여 산정하는 가치는 높은 일반화를 주지만 낮은 분류 능력을 낳게 된다.

반대로 tabular를 사용하는 것은 높은 분류 능력을 주지만 낮은 일반화를 낳게 된다.

따라서 우리는 위 그래프 상에서 별표가 있는 곳의 모델을 만들어야 한다.

하지만 실제로 학습을 시켜보면 동그라미에 있는 모델이 학습될 확률이 높다 (local optimum).

 

728x90
반응형