강화학습
벨만방정식 (Bellman Equation)
현실에서 우리는 피드백을 받지 않고도 많은 것을 배울 수 있다.
처음 자전거를 타고 있다고 가정해 보자.
자전거를 타다가 넘어진 뒤 바위에 부딛쳐 무릎을 다쳤다면,
이 경험은 우리 머리속에 기억이 될 것이다.
다시 자전거를 타다가 비슷한 경험을 하게 된다면,
우리는 머리속으로 바위 근처에 갔을 때 밸런스를 유지하지 못하면,
바위에 부딛쳐 무릎을 다치게 된다는 것을 알 수 있을 것이다.
이처럼 강화학습에서도 미래의 보상을 전부 경험하지 않더라도,
현재의 상태에서 예측을 통해 미래의 상태를 가늠해 볼 수 있다.
벨만 방정식은 이처럼 현재 상태와 미래의 성공확률에 대한 연결을 수식화 해준다.
상태 가치 벨만방정식 (State-value Bellman Equation)
상태 가치 벨만방정식은 현재의 상태와 뒤이어질 상태들의 모든 가치들 정의한다.
여기서 $G_t$는 감가율이 적용된 모든 미래의 예측되는 보상임을 기억하자.
$v_{\pi}(s) \dot{=} \mathbb{E}_{\pi}[G_t | S_t = s]$
위 수식을 조금 풀어서 써보면 다음과 같이 풀어낼 수 있다.
$= \mathbb{E}_{\pi}[R_{t+1} + \gamma G_{t+1} | S_t = s]$
$= \sum_{a}\pi(a|s) \sum_{s'} \sum_{r}p(s',r|s,a)\left[r+\gamma \mathbb{E}_{\pi}[G_{t+1}|S_{t+1}=s']\right]$
먼저 윗 수식에서 $R_{t+1}$과 $\gamma G_{t+1}$, 그리고 기댓값을 분리해서 생각해보자.
먼저 기댓값은 현재 상태에서 정책을 따라 행동했을 때 얻을 수 있는 각각의 행동에 ($\pi(a|s)$),
각 행동이 일어날 확률 ($p(s',r | s,a)$)을 곱해준 것과 같다.
이는 현재 기대되는 결과에, 그 결과가 일어날 확률로 가중치를 준 것과 같다.
$R_{t+1}$은 현재 행동을 선택했을 때 즉각적으로 일어나는 결과, 즉 보상 $r$이 된다.
그리고 $\gamma G_{t+1}$은 더 미래에 일어날 일들에 대한 결과이다.
이는 또다시 기댓값으로 풀어지게 되는데, 미래에 일어날 모든 일의 평균치와 같은 것이다.
위 수식의 기댓값은 재귀적으로 끝날때까지 계속 이어질 수 있다.
또한 이 기댓값은 다음 상태인 $s'$의 상태가치함수가 된다.
따라서 아래 수식의 기댓값을 가치함수로 변환하면, 다음과 같이 다시 써볼 수 있다.
$= \sum_{a}\pi(a|s) \sum_{s'} \sum_{r}p(s',r|s,a)\left[r+\gamma v_{\pi}(s') \right]$
행동 가치 벨만방정식 (Action-value Bellman Equation)
행동가치함수는 현재 상태 $s$에서 정책 $\pi$를 따라 행동 $a$를 선택했을 때의 가치를 정의한다.
$q_{\pi}(s,a) \dot{=} \mathbb{E}_{\pi}[G_t | S_t = s, A_t = a]$
위 수식은 다음과 같이 풀어낼 수 있다.
$= \sum_{s'} \sum_{r}p(s',r|s,a)\left[r+\gamma \sum_{a'} \pi(a' | s') \mathbb{E}_{\pi}[G_{t+1}|S_{t+1}=s', A_{t+1}=a']\right]$
행동가치함수는 상태가치함수와는 다르게 행동을 선택하는 $\sum_{a}\pi(a|s)$항이 존재하지 않는다.
그 이유는 행동가치함수는 이미 현재 상태와 함께 행동을 입력으로 주입받기 때문이다 ($q_{\pi}(s, a)$).
다음상태에서 역시 상태와 행동을 같이 입력을 받기 때문에,
상태가치함수와는 다르게, 결과 $G_t$를 풀어낸 항 안쪽을 보면 다음상태들($s'$)과 다음행동($a'$)이
함께 정책 $\pi$와 함께 summation 되고 있는 것을 볼 수 있다.
위 상태가치함수 수식안의 기댓값은 역시 다음과 같이 다시 써볼 수 있다.
$= \sum_{s'} \sum_{r}p(s',r|s,a)\left[r+\gamma \sum_{a'} \pi(a' | s') q_{\pi}(s', a')\right]$
왜 벨만방정식인가?
예제)
위와 같은 그리드월드가 있다고 가정해보자.
에이전트는 균등하게 랜덤한 행동을 선택하는 정책 $\pi$를 따른다.
그리고 에이전트가 상태 B에 도달하면 5의 보상을 받고 나머지 상태들은 0의 보상을 받는다.
에이전트가 벽에 부딛치면 에이전트는 해당 상태에 머무르게 되고, 이 또한 상태에 따라 보상을 받는다.
감가율 $\gamma$가 0.7이라고 가정했을 떄, 각 상태 A, B, C, D의 상태가치함수는 다음과 같이 정의될 수 있다.
$V_{\pi}(A) = \frac{1}{4}(5+0.7 V_{\pi}(B)) + \frac{1}{4}(0.7 V_{\pi}(C)) + \frac{1}{2}(+0.7 V_{\pi}(A))$
$V_{\pi}(B) = \frac{1}{2}(5+0.7 V_{\pi}(B)) + \frac{1}{4}(0.7 V_{\pi}(A)) + \frac{1}{4}(+0.7 V_{\pi}(D))$
$V_{\pi}(C) = \frac{1}{4}(5+0.7 V_{\pi}(A)) + \frac{1}{4}(0.7 V_{\pi}(D)) + \frac{1}{2}(+0.7 V_{\pi}(C))$
$V_{\pi}(D) = \frac{1}{4}(5+0.7 V_{\pi}(B)) + \frac{1}{4}(0.7 V_{\pi}(C)) + \frac{1}{2}(+0.7 V_{\pi}(D))$
위 문제는 기본적인 선형대수의 연립방정 문제로 풀어낼 수 있다.
$V_{\pi}(A) = 4.2$
$V_{\pi}(B) = 6.1$
$V_{\pi}(C) = 2.2$
$V_{\pi}(D) = 4.2$
'데이터사이언스 > 강화학습' 카테고리의 다른 글
강화학습 - (11) 정책 평가 (0) | 2020.09.28 |
---|---|
강화학습 - (10) 벨만 최적 방정식 (0) | 2020.09.17 |
강화학습 - (8) 정책과 가치 (0) | 2020.09.14 |
강화학습 - (7) 연속적인 결정과정 (0) | 2020.09.14 |
강화학습 - (6) 보상 (2) | 2020.09.07 |