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

강화학습 - (2) 행동가치함수

Johnny Yoon 2020. 8. 24. 12:05
728x90
반응형

강화학습

행동가치함수 (Action-Value Function)

행동가치함수의 정의를 다시한번 살펴보자:

$$q^*(a) \dot{=} \mathbb{E}[R_t | A_t = a] \;\; \forall a \in {1, ..., k}$$

위 수식에서 행동가치함수 $q*(a)$는 모든 행동 a에 대해서, 

$A_t = a$가 주어졌을 때 예상되는(expected) $R_t$로 정의한다.

(이 행동가치함수는 강화학습에서 Q함수 또는 Q값이라고 불리는 값이다.)

 

샘플평균기법 (Sample-average method)

에이전트는 보통 $q^*(a)$를 시작부터 알 수는 없다.

따라서 보통의 강화학습에서는 이를 추정(estimate)한다.

이를 추정하는 방법 중 하나가 샘플평균기법이다.

 

$$\begin{equation}\begin{split}Q_t(a) &\dot{=} \frac{시점\;t\;전에\;행동\;a를\;선택한\;보상값의\;합}{시점\;t\;전에\;행동\;a를\;선택한\;횟수} &= \frac{\sum^{t-1}{i=1}R_i}{t-1}\end{split}\end{equation}$$

 

샘플평균기법은 행동 $a$를 선택했을때의 평균 보상을 통해 행동의 가치를 판단한다.

위 수식에서 현시점이 $t$이기 때문에 $t-1$ 시점까지 계산해준다.

만약 행동 $a$가 아직 한번도 선택되지 않았다면, 0과 같은 어떠한 디폴트 값을 정해준다

 

예제)

다시 의사와 약제 예제로 돌아가보자.

의사가 환자에 대해 각 약재를 사용한 성공과 실패가 다음과 같고,

각 약재가 성공한 보상을 1 실패한 보상을 0이라고 한다면,

각 약재의 행동가치는 각 약재의 성공률에 의해 계산될 수 있다.

 

탐욕적 행동 선택 (Greedy action selection)

탐욕적(greedy) 방벋은 컴퓨터과학에서 주로 쓰이는 알고리즘이다.

만약 에이전트가 현 시점까지 어떤 행동이 가장 많은 보상을 주는지를 알았다면,

탐욕적 방법은 이 행동만을 계속해서 선택하는 것이 된다.

 

위 예제에서 의사가 현시점부터 탐욕적 방법으로 약재를 선택한다면,

계속해서 노란색(q = 0.75) 약재를 선택하게 될 것이다.

하지만 이렇게 탐욕적으로 행동을 선택하게 될 경우,

더 좋은 약재가 있을 경우 이를 발견할 수 없게 되고,

강화학습에서 자주 발생하는 탐색(exploration)과 활용(exploitation) 문제에 직면하게 된다.

 

행동가치의 점진적 예측 (Incremental Action Value Estimation)

1000개의 주식에 대해 주가 예측을 한다고 가정해보자.

시사나 금리 환율 등에 대한 정보를 통해 1000개의 주가를 예측 한다고 할 때,

매일 혹은 매시간의 주가를 점진적으로 반영하는 것이 더 현실적인 방안일 것이다.

강화학습에서는 이러한 점진적인 행동가치의 예측을 통해 행동을 결정할 수 있고,

이러한 예측이 강화학습에서는 더 일반적으로 사용되는 방법이다.

 

점진적 갱신 법칙 (Incremental Update Rule)

샘플팽균기법은 재귀적으로 이전의 상태들을 반영한다.

따라서 이전의 모든 상태들을 저장할 필요가 없다.

다음은 이에 대한 증명이다:

$Q_{n+1} = \frac{1}{n} \sum^n_{i=1} R_i$

$\;\;\;\;\;\;\;\;=\frac{1}{n}(R_n + \sum^{n-1}{i=1} R_i)$

$\;\;\;\;\;\;\;\;=\frac{1}{n}(R_n + (n-1)\frac{1}{n-1}\sum^{n-1}_{i=1}R_i)$

$\;\;\;\;\;\;\;\;=\frac{1}{n}(R_n + (n-1)Q_n)$

$\;\;\;\;\;\;\;\;=\frac{1}{n}(R_n + nQ_n - Qn)$

$\;\;\;\;\;\;\;\;=Q_n + \frac{1}{n}(R_n - Qn)$

 

위의 증명은 현재까지의 보상이 어떻게 직전까지의 행동가치(Q)값으로 표현될 수 있는지를 증명한다.

이를 조금 더 간단히 표현하면 다음과 같이 표현할 수 있다:

NetEstimate = OldEstimate + StepSize[Target - OldEstimate]

 

위 수식의 단어들은 증명에서 마지막 수식의 값들과 다음과 같이 이어질 수 있다:

$Target = R_n$

$OldEstimate = Q_n$

$StepSize = \frac{1}{n} = a_n$

$NewEstimate = Q_{n+1}$

 

예제)

다시 의사 예제로 돌아가보자.

만약 파란 약재가 겨울에 더 효과적이라는 연구 결과가 있다고 하자.

그리고 의사는 이러한 변화에 대해서 점진적으로 적응하기를 원한다.

이러한 문제를 비정상적인 밴딧 문제 (Non-stationary Bandit Problem)이라고 한다.

이런 경우에 우리의 에이전트는 시간적인 변화에 민감해야 하고 점진적인 예측이 가능해야 한다.

 

보상의 감소 (Reward Decay)

이러한 상황을 해결하기 위해 강화학습에서 가장 많이 사용하는 것이 보상의 감소이다.

시점이 지난 후 얻는 보상은 현재 얻을 수 있는 보상보다 작을 수 있도록 반영하는 것이다.

위 그림은 현재 얻은 보상에 비해 $t$시점 전에 얻은 보상을 지수적으로 감소하게 만드는 방법이다.

 

아래 수식은 샘플평균기법에서 이를 반영하는 것의 증명이다:

$Q_{n+1} = Q_n + a_n(R_n - Q_n)$

$\;\;\;\;\;\;\;\;= aR_n + Q_n - aQ_n$

$\;\;\;\;\;\;\;\;= aR_n + (1 - a)Q_n$

$\;\;\;\;\;\;\;\;= aR_n + (1 - a)[aR_{n-1} + (1-a)Q_{n-1}]$

$\;\;\;\;\;\;\;\;= aR_n + (1 - a)aR_{n-1} + (1-a)^2Q_{n-1}$

$\;\;\;\;\;\;\;\;= aR_n + aR_n + (1-a)aR_{n-1} + (1-a)^2aR_{n-2} + ... + (1-a)^{n-1}aR_1 + (1-a)^nQ_1$

$\;\;\;\;\;\;\;\;= (1-a)^nQ_1 + \sum^n_{i=1}a(1-a)^{n-i}R_i$

 

현재의 행동가치($Q$)는 이전 상태의 행동가치에 StepSize $a$를 곱해준 것과 같다.

위 수식에서의 StepSize는 보통의 강화학습에서의 감소율($\gamma$)와 같은 의미이다.

이전의 상태의 $Q$값으로 돌아갈 수록 감소율은 증가하게 되고, 이는 재귀적으로 표현된다.

재귀적 수식은 마지막 수식에서와 같이 $\sum$로 표현될 수있다.

따라서 이는 현재의 행동가치($Q_{n+1}$)가 이전의 모든 상태에 대한 행동가치를 반영하고 있음을 증명한다.

 

728x90
반응형