728x90
반응형

강화학습 코드 33

강화학습 - (13) 가치 반복

강화학습 일반화된 정책 반복 (Generalized Policy Iteration) 정책 반복 알고리즘은 에피소드를 처음부터 끝까지 진행해 보고, 정책을 평가한 뒤 정책을 향상 시키는 방법이었다. 하지만 정책 반복은 이것보다 더 유연한 알고리즘이다. 정책 반복에서 끝까지 다 수했했던 것을 조금 줄여서, 아래의 그림과 같이 개선을 시킬 수도 있다. 각각의 반복은 가치를 끝까지 향상시키지는 않고 조금씩 향상시킨다. 또한 각각의 개선은 정책을 최대의 탐욕으로 만들지 않고 조금씩 탐욕적으로 만든다. 이는 최종적으로는 최적 가치와 최적 정책에 도달하게 된다. 이 이론을 일반화된 정책 반복 (Generalized Policy Iteration)이라고 한다. 가치 반복 (Value Iteration) 가치 반복은 일..

강화학습 - (12) 정책 반복

강화학습 정책 향상 강화학습의 궁극적인 목표중 하나인 제어(Control)를 하기 위해서는 정책 향상이 필요하다. 이미 최적 가치를 알고 있고, 탐욕적인 정책을 사용했다고 가정했을 때 벨만 방정식은 다음과 같다: $\pi_*(s) = argmax_a \sum_{s'} \sum_{r} p(s', r | s, a) [r + \gamma v_*(s')]$ 만약 $v_*$가 아닌 $v_\pi$를 따른다고 가정해 보자: $\pi(s) = argmax_a \sum_{s'} \sum_{r} p(s', r | s, a) [r + \gamma v_*(s')]$ 만약 위와 같은상황에서 모든 상태에 대해서 위 탐욕적 수식이 정책을 변동시키지 않는다면, 해당 정책은 벨만최적방정식에 위배되고, 이는 이미 이 정책이 최적임을 증..

강화학습 - (11) 정책 평가

강화학습 정책 평가 (Policy Evaluation) 정책 평가란 어떠한 정책에 대해 가치함수를 찾는 것이다. 이를 더 자세히 수식화 하면, 정책 $\pi$에 대한 상태-가치 $v_{\pi}$를 찾는 것이다. $\pi \rightarrow v_{\pi}$ 상태가치 벨만 방정식의 정의를 다시 살펴보자. $v_{\pi}(s) \dot{=} \mathbb{E}_{\pi}[G_t | S_t = s]$ $v_{\pi}(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]$ 이전에 봤던 다음과 같은 그리드 월드에서의 MDP는 선형대수(선형시스템)으로 푸는 것이 가능했다. ..

강화학습 - (10) 벨만 최적 방정식

강화학습 벨만 최적 방정식 (Bellman Optimality Equation) 정책은 에이전트가 어떻게 행동하는지를 결정한다. 어떻게 행동하는지에 대한 정책이 정해져야, 그 뒤에 가치함수가 정의될 수 있다. 강화학습의 목표는 장기적인 보상을 최대로 하는 정책을 찾아내는 것이다. 최적 정책 최적의 정책을 찾기 위해서는 하나의 정책이 다른 정책보다 어떻게 나은것인지를 판단할 수 있어야 한다. 다음 그래프는 두개의 정책이 각 상태에서 어떠한 가치를 주는지를 그려놓은 것이다. 앞선 상태들이세는 정책 $\pi_1$이 정책 $\pi_2$ 보다 높은 가치를 주고, 뒤 상태들이세는 반대로 정책 $\pi_2$ 이 정책 $\pi_1$ 보다 높은 가치를 준다. 위 그림 만으로는 $\pi_1$가 $\pi_2$보다 낫다는것을..

강화학습 - (9) 벨만방정식

강화학습 벨만방정식 (Bellman Equation) 현실에서 우리는 피드백을 받지 않고도 많은 것을 배울 수 있다. 처음 자전거를 타고 있다고 가정해 보자. 자전거를 타다가 넘어진 뒤 바위에 부딛쳐 무릎을 다쳤다면, 이 경험은 우리 머리속에 기억이 될 것이다. 다시 자전거를 타다가 비슷한 경험을 하게 된다면, 우리는 머리속으로 바위 근처에 갔을 때 밸런스를 유지하지 못하면, 바위에 부딛쳐 무릎을 다치게 된다는 것을 알 수 있을 것이다. 이처럼 강화학습에서도 미래의 보상을 전부 경험하지 않더라도, 현재의 상태에서 예측을 통해 미래의 상태를 가늠해 볼 수 있다. 벨만 방정식은 이처럼 현재 상태와 미래의 성공확률에 대한 연결을 수식화 해준다. 상태 가치 벨만방정식 (State-value Bellman Equ..

강화학습 - (8) 정책과 가치

강화학습 정책 (Policy) 정책은 에이전트가 어떻게 행동을 선택하는지를 정의한다. 강화학습에서의 정책은 보통 $\pi$로 정의한다. 확정적 정책 (Deterministic Policy) 확정적 정책은 위 그림에서와 같이 각 상태당 정해진 행동이 존재한다. 보이는 바와 같이 에이전트는 각기 다른 상태에서 같은 행동을 선택할 수도 있고, 어떠한 행동은 아예 선택하지 않을 수도 있다. $\pi(s) = a$ 위 그림을 테이블로 표현하면 다음과 같이 표현 가능하다: State Action $s_0$ $a_1$ $s_1$| $a_0$ $s_2$ $a_0$ 예제) 에이전트가 집으로 가는 문제를 풀고있다고 하자. 에이전트는 상하좌우로 움직일 수 있고, 그림의 각 방향 화살표는 하나의 정책이 된다. 각 화살표는 각..

강화학습 - (7) 연속적인 결정과정

강화학습 연속적인 결정과정 (Continuing Task) 지금까지 학습한 강화학습의 예제들은 대부분 에피소드에 기반한 결정과정이었다. 하지만 많은 현실의 문제들은 연속적인 경우가 많다. 에피소드식과 연속적인 결정과정의 차이 에피소드식 결정과정 자연스럽게 에피소드 단위로 분리할 수 있다. 에피소드는 최종상태(terminal state) 에서 끝이 난다. 각 에피소드는 독립적(independent)이다. 최종 결과값은 모든 보상의 합이다. $G_t \dot{=} R_{t+1} + R_{t+2} + R_{t+3} + ... + R_T$ 연속적인 결정과정 에이전트와 환경의 상호작용이 끝없이 이어진다. 최종상태가 존재하지 않는다. 예제) 방 안의 온도를 조절하는 에이전트가 있다고 하자. 이 경우는 연속적인 결정..

강화학습 - (6) 보상

강화학습 보상(Reward) 강화학습의 목적은 미래의 보상을 최대화 하는 것이다. Bandit 문제에서는 당장 앞에있는 보상을 최대화 하는 것이 목적이었지만, MDP에서는 조금 더 미래의 상태들을 고려해 행동을 선택한다. 예제) 로봇이 걷는 것을 에이전트와 보상에 비유해보자. 로봇이 많이 걸을수록 보상을 얻는다고 할 때, 로봇이 점프해서 슬라이딩을 하면 당장의 보상이 클 것이다. 하지만 다시 일어나서 걷는 것을 생각하면, 미래의 보상은 작아지기 때문에, MDP를 따르면 로봇이 그냥 걷는것이 미래의 보상을 더 높이는 방법이다. 에이전트의 목표 에이전트가 얻을 수 있는 결과(return)은 다음과 같이 정의할 수 있다: $$G_t \dot{=} R_{t+1} + R_{t+2} + R_{t+3} + ...$$..

강화학습 - (5) 마르코프 결정과정

강화학습 K-armed bandit의 한계 k-armed bandit 혹은 MAB 문제에서는 각 밴딧이 주는 확률과 보상이 같았다. 하지만 현실의 문제에서는 항상 그렇지 않다. 서로 다른 상황에서 같은 행동을 취하더라도 같은 보상을 얻을수는 없다. 또한 현재 취하는 행동이 추후에 받을 보상에 영향을 줄 수도 있다. 마르코프 결정과정은 이러한 두가지의 관점을 반영하고자 고안된 모델이다. 예제 1) 토끼 한마리가 왼쪽의 브로콜리와 오른쪽의 당근을 두고 고민하고 있다. 당근은 10의 보상을, 브로콜리는 3의 보상을 준다고 하면, 토끼는 당근을 선택할것이다. 그리고 같은 토끼에게 반대의 상황, 즉 당근과 브로콜리의 위치를 바꿔준다면, 토끼는 다시한번 당근을 선택할것이다. k-armed bandit 문제는 이러한..

강화학습 - (4) UCB

강화학습 예측속의 불확실성 (Uncertainty in Estimates) UCB는 탐색(exploration)에 사용되는 기법 중 하나로 밴딧 문제를 해결하는 논문들에 많이 나온다. 이 기법은 강화학습의 예측에서의 불확실성을 해결하기 위한 기법이다. 행동가치 Q(a)값을 예측한다고 가정해 보자. 그리고 해당 Q값은 어떠한 불확실성을 가지고 있다. 이 불확실성을 표현하기 위해 신뢰구간(confidence interval)을 설정한다. 따라서 이 신뢰구간 사이에 놓인 값들은 불확실성에 대해 확신이 있다고 보는 것이다. 만약 이 신뢰 구간이 작다면, 에이전트는 이 Q(a)값에 대해 엄청난 확신을 가지는 것이다. 반대로 이 신뢰 구간이 크다면, 에이전트는 이 Q(a)값에 대해 확신이 없는 것이다. 낙관적인 초..

728x90
반응형