본문 바로가기

강화학습 강의 복습노트

(12)
Part2 - 10. Off-policy TD control 지난 포스트에서 봤던 TD($\lambda$)와 Off-policy MC에 대해 정리해보자. (1) TD학습 알고리즘의 형태 $$ V(s) \leftarrow V(s) + \alpha(G_t - V(s))$$ TD(0)의 경우 $G_t$ $\overset{def}{=} R_{t+1} + \gamma V(S_{t+1})$ TD target : $G_t$ TD error : $\delta_t = G_t - V(S_t) = R_{t+1} + \gamma V(S_{t+1}) - V(S_t)$ (2) Off-policy MC알고리즘 - 임의의 행동 정책함수 $\mu$ 로 에피소드 생성 - $G_t^{\pi/\mu}$ = $\prod _{k = t}^{T-1} \frac{\pi(A_k|S_k)}{\mu(A_k|S_..
Part2 - 9. Off-policy MC control 지금까지 환경에 대해 알 때와 모를 때의 강화학습 문제 풀이 기법에 대해 배웠다. 하지만 지금까지 배운 내용은 모두 학습이 전혀 되지 않은 agent를 학습시켜 문제를 풀이하는 방식이었다. 간단한 문제의 경우에는 지금까지 진행해 왔던 강화학습의 방식을 사용할 수 있겠으나 매우 복잡하고 데이터가 셀 수 없이 많을 경우 처음부터 agent를 학습시킨다면 매우 긴 시간이 필요할 것이다. 그렇다면 이미 학습된 다른 좋은 정책을 우리가 풀어야하는 문제에 적용시킬 수 있을까? 가능하다. 이를 Off-policy 학습이라 한다. 1) Off-policy 학습 목적 : 주어진 정책 $\pi(a|s)$에 대한 $Q^{\pi}(s,a)$를 계산하는 것 ($Q^{\pi}(s,a)$를 알면 정책을 만들 수 있음) 그러면 임의..
Part2 - 8. SARSA : TD기법을 활용한 최적 정책 찾기 지난 TD기법에 대한 포스트에서 다뤘던 TD기법에 대해 다시 복습해보자. Part2 - 6. Temporal Difference(TD) 정책추정 1) DP와 MC 기법의 장단점 DP기법의 경우 각 상태와 행동의 관계를 최대한 활용해 계산량을 줄인다는 장점을 가진 반면에 환경에 대한 모델이 없으면 계산이 불가능하다는 단점을 가지고 있다. MC hh-bigdata-career.tistory.com 지금까지 $V(s)$를 추산하여 $V(s) \rightarrow Q(s,a)$를 도출하는 방법에 대해서 배웠다. 그렇다면 Q(s, a)에 대해서도 비슷한 방식으로 추산할 수 있지 않을까?? TD(0)를 활용한 행동 가치함수 $Q^{\pi}$를 추산하는 과정을 살펴보자. 1) SARSA SARSA업데이트는 상태 s에..
Part2 - 7. MC Control : MC기법을 활용한 최적 정책 찾기 지난 포스트까지 업로드했던 내용은 MC, TD 기법을 이용하여 가치를 추산(predict)하는 것에 대한 내용이었다. 한마디로 $V^{\pi}$를 계산하는 내용이었던 것이다. ($\pi$ 를 계산하는 내용 포함 X) 일반화 정책 반복에 대해 다시한번 보도록 하자. 정책 평가 : $\pi$에 대한 $V^{\pi}(s)$를 계산하는 것 (DP, MC-PE, TD-PE 활용) 정책 개선 : $\pi_{i+1} \geq \pi_i$를 만족시키는 $\pi_{i+1}$생성 지금까지 우리가 $\pi_{i+1}$을 계산하기 위해 사용하였던 방식은 탐욕적 정책 개선이다. 그러나 탐욕적 정책 개선에는 한계점이 명확하게 존재한다. 탐욕적 정책 개선은 s의 시점에서 Q값이 가장 큰 행동에 대해서만 확률 1을 주고, 나머지 행..
Part2 - 6. Temporal Difference(TD) 정책추정 1) DP와 MC 기법의 장단점 DP기법의 경우 각 상태와 행동의 관계를 최대한 활용해 계산량을 줄인다는 장점을 가진 반면에 환경에 대한 모델이 없으면 계산이 불가능하다는 단점을 가지고 있다. MC기법의 경우 환경에 대한 선험적 지식이 필요없으며 불편추정량을 가진다는 장점이 있지만 각 상태와 행동의 관계에 대해서 전혀 활용하지 않으며 분산이 크고 문제구조를 반영하지 않는 추정이라 다소 비효율적일 수 있다는 단점이 존재한다. Temporal-difference 기법은 DP와 MC의 장점을 합친 장점을 가지고 있다. 각 상태와 행동의 관계를 최대한 활용하고, 환경에 대한 선험적 지식이 필요없다는 장점을 가진다. 하지만 불편추정량이 아니어서 MC기법과 다르게 어느정도의 추산오차가 발생할 수 있다는 단점이 있다..
Part2 - 5. 몬테 카를로 정책추정 (Monte-carlo prediction: MC prediction) 지난 포스트까지는 환경에 대한 정보가 주어질 때를 가정하였을 때의 강화학습 풀이기법인 동적계획법 (Dynamic Processing : DP)를 살펴보았다. 정책 반복에서 가치반복으로, 가치반복에서 비동기 DP기법으로 점점 더 효율적인 알고리즘을 찾기 위해 배웠던 것들이 생각난다. 이 방법은 매우 효율적이긴 하지만, 실제 현업에서는 보상 $R^{\pi}$, 상태 천이 매트릭스 $P^{\pi}$ 등 환경에 대한 정보를 미리 안다는 것 자체가 거의 불가능하다. 따라서, 환경에 대한 지식이 없기 때문에 환경과 상호작용을 통해 가치함수 및 정책 혹은 환경의 모델을 추산한다. 강화학습 템플릿을 살펴보면 행동을 결정하기 위해서는 정책 함수 $\pi(s_t)$가 필요하고, $\pi(s_t)$를 구하기 위해서는 상태가..
Part2 - 4. 비동기적 동적계획법 지난 포스트에서 정책반복(정책평가, 정책개선)에 대해 다뤘다. 하지만 몇가지 의문이 생길 수 있다. 그런데 굳이 정책 평가가 수렴할 때 까지 반복해야 할까? 수렴할 때 까지 반복한다면 계산시간의 손해는 없을까? 그렇다면 우선 가치반복이라는 개념에 대해 알아보자. 1) 가치반복(Value Iteration : VI) 가치반복 알고리즘은 정책반복과 다르게 임의의 가치함수 $V_{0}(s)$를 입력으로 주고, 최적 가치함수 $V^{*}(s)$를 받는다. 그림1.의 정책반복 알고리즘과 비교해보면 확연한 차이가 보일 것이다. 정책반복 알고리즘은 최적 정책을 찾기 위해 [(1) $V^{\pi}(s)$도출 -> (2) $Q^{\pi}(s,a)$계산 -> (3) $\pi'$ 계산 -> (4) $\pi'$과 $\pi$의..
Part2 - 3. 동적계획법 (Dynamic Programming) 1) 동적계획법 (Dynamic Programming : DP) 정의 : 복잡한(큰) 문제를 작은 문제로 나눈 후 -> 작은 문제의 해법을 조합해 큰 문제의 해답을 구하는 기법 동적계획법이 강화학습과 무슨상관인가? 라는 의문이 들 지도 모르겠다. * 동적계획법으로 해결할 수 있는 문제의 특징 1. 최적 하위구조 - 큰 문제를 분할한 작은 문제의 최적값이 큰 문제에서도 최적값임 2. 중복 하위문제 - 큰 문제의 해를 구하기 위해서, 작은 문제의 최적해를 재사용. MDP에서 정의한 Bellman 기대/최적 방정식은 위의 두 특성을 모두 만족시킨다. 즉, DP를 활용해 Bellman 기대/최적 방정식의 해를 효율적으로 계산할 수 있다는 것이다. 지난 포스트에서 다룬 Bellman 기대/최적 방정식을 다시 살펴..