728x90
반응형

데이터사이언스 72

강화학습 - (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)값에 대해 확신이 없는 것이다. 낙관적인 초..

강화학습 - (3) 탐색과 활용

강화학습 탐색과 활용 (Exploration & Exploitation Trade-off) 탐색 탐색(Exploration)은 에이전트가 장기적인 이익을 추구할 수 있도록 환경에 대한 지식을 얻을 수 있게 해준다. 예제) 한 사람이 가장 좋아하는 식당에 가서 갈 때마다 위 세가지 메뉴중 하나의 메뉴를 선택한다. $q^*(a)$는 각 메뉴의 가치를, $q(a)$는 예측된 메뉴의 가치를, $N(a)$는 해당 메뉴를 선택한 횟수를 의미한다. 선택할 때마다 이 사람은 각 메뉴에 대해 평가하고, 이를 통해 $q(a)$를 갱신한다. 갱신된 $q(a)$값이 곧 탐색을 통해 얻은 에이전트(식당에 간 사람)의 지식이 된다. 이 지식을 기반으로 이 사람은 추후에 어떤 음식을 주문할 것인지를 선택하게 된다. 활용 활용(Ex..

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

강화학습 행동가치함수 (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{equa..

강화학습 - (1) 불확실성과 결정과정

강화학습 불확실성과 결정과정 (Uncertainty & Decision Process) 강화학습에서는 Trial-and-error를 통해서 여러차례 반복을 통해 학습을 하는 경우가 많다. 보통의 기계학습과는 다르게 에이전트가 놓여진 환경에서 스스로 학습 데이터를 만들어내고 학습한다. 처음보는 불확실한 환경속에서 에이전트는 여러 차례 시도를 통해 학습하는데, 이러한 프로세스를 불확실성(uncertainty) 속의 결정과정(decision making process) 라고 한다. K-armed bandit 문제 이러한 문제는 강화학습에서 종종 Bandit문제로 표현된다. Bandit이란 슬롯머신의 손잡이를 일컷는 말로, 각 슬롯머신 손잡이를 선택했을 때 각 손잡이를 당겼을 때 얻는 보상이 다를때의 상황을 이..

728x90
반응형