728x90
반응형

몬테카를로 12

강화학습 - (24) 시간차 가치 근사

강화학습 시간차 가치 근사 시간차학습(TD)은 에이전트 자신의 가치함수를 사용해 예측값을 갱신하는 방법이다. 이를 함수 근사를 통해 구현하는 방법을 배워본다. 몬테카를로 경사 몬테카를로 경사 갱신 수식을 다시 살펴보자: $w \leftarrow w + \alpha [G_t - \hat{v}(S_t, w)] \nabla \hat{v}(S_t, w)$ 몬테카를로 경사에서는 반환값의 샘플 $G_t$를 사용해 가치를 갱신하였다. 하지만 반환값 $G_t$만이 갱신 수식에 사용될 수 있는 것만은 아니다. 편견이 없이 (unbiased) 가치를 표현할 수 있는 것이라면 무엇이든 사용될 수 있다. 편견이 없는 값을 사용하면, 에이전트는 local optimum에 도달할 수 있다. 시간차학습의 근사 시간차 학습에서는 $..

강화학습 - (23) 몬테카를로 가치 근사

강화학습 몬테카를로 가치 근사 가치 예측 (Value Estimation) 가치함수의 예측은 지도학습과 비슷한 점이 있다. 몬테카를로 예측에서는 상태 $S_i$를 받아 반환값 $G_i$를 예측하는 것을 지도학습과 비슷하다고 볼 수 있고, 시간차학습에서는 상태 $S_i$를 받아 보상과 미래가치 $R_{i+1} + \gamma v_{i+1}$를 예측하는 것을 비슷하다고 볼 수 있다. 여기서 $v$를 함수 근사로 표현하면 $\hat{v}(S_{i+1}, w)$로 표현할 수 있다. 하지만 강화학습에서는 지도학습과는 다른점이 존재한다. 지도학습은 어떠한 정답(ground truth label)이 존재한다. 하지만 강화학습은 에이전트의 자체적은 다음 상태에 대한 예측값이 사용된다. (몬테카를로에서는 $G_i$, T..

강화학습 - (20-2) Expected SARSA 코드예제

강화학습 패키지 설치¶ 다음 코드는 세가지 패키지가 선행 되어야 합니다. sudo apt-get install ffmpeg pip install gym pip install gym_minigrid In [1]: import numpy as np import pandas as pd import random from collections import defaultdict import gym import gym_minigrid import matplotlib.pyplot as plt %matplotlib inline 환경¶ 예제 코드는 그리드월드 예제에서 Expected SARSA 에이전트가 학습하는 코드 입니다. 에이전트가 최종 지점에 도달하면 보상을 받고, 에이전트가 취할 수 있는 행동은 다음 세가지 입니..

강화학습 - (19-1) SARSA 코드예제

강화학습 SARSA 코드예제 패키지 설치¶ 다음 코드는 세가지 패키지의 설치가 선행 되어야 합니다. sudo apt-get install ffmpeg pip install gym pip install gym_minigrid In [1]: import numpy as np import pandas as pd import random from collections import defaultdict import gym import gym_minigrid import matplotlib.pyplot as plt %matplotlib inline 환경¶ 예제 코드는 그리드월드 예제에서 SARSA에이전트가 학습하는 코드 입니다. 에이전트가 최종 지점에 도달하면 보상을 받고, 에이전트가 취할 수 있는 행동은 다음 세..

카테고리 없음 2020.11.01

강화학습 - (19) SARSA

강화학습 SARSA SARSA란 일반화된 정책반복 (Generalized Policy Iteration)과 시간차 학습(TD)가 접목된 알고리즘이다. 일반화된 정책반복 일반화된 정책반복이란, 정책향상을 하기 위해서 굳이 정책 평가를 끝까지 해보지 않고 적정양의 정책 평가만으로도 정책 향상을 할 수 있다는 개념이었다. 이 과정은 시간차 학습과 만나 더 강력해질 수 있다. 단 한 스텝의 정책 평가 만으로도 정책 향상을 이룰 수 있다. 상태가치에서 행동가치로 각 스템의 정책 평가에서 정책 향상을 이루기 위해서는, 상태가치 $V(s)$가 아닌 행동가치 $Q(s,a)$를 사용해야 한다. 이는 위 그림에서 처럼 각 상태 $s$의 가치가 아닌, 각 상태와 행동의 페어 $(s,a)$를 평가해야 함을 의미한다. SARS..

강화학습 - (18) 시간차 학습

강화학습 시간차 (Temporal Difference) 강화학습의 가장 특수한점, 강화학습만의 유일한 강점을 꼽으라고 한다면, 그것은 시간차학습(Temporal Difference Learning)일 것이다. 강화학습은 어떠한 상태의 가치를 판단함으로서 예측한다. $v_{\pi}(s) \dot{=} \mathbb{E}_{\pi}[G_t|S_t=s]$ 지금까지의 학습 기법은 에피소드가 끝나야만 학습이 가능했다. 하지만 배운 기법을 조금 수정하면 에피소드 중간에도 학습이 가능하게 해준다. 몬테카를로 학습기법에 점진적인 갱신을 반영하면 다음과 같다: $V(S_t) \leftarrow V(S_t) + \alpha [G_t - V(S_t)]$ 결과값 $G_t$는 에피소드가 끝나야만 얻어지는 반환갑이다. 따라서 이..

강화학습 - (17) 중요도 샘플링

강화학습 중요도 샘플링 (Importance Sampling) 중요도 샘플링이랑 다른 분포에서 샘플링된 값을 가지고, 구하고자 하는 분포(타깃 분포)에서의 기댓값을 유추하는 방법이다. 랜덤 변수 $x$가 분포 $b$에서 샘플링 되었다고 가정해보자: Sample: $x ~ b$ Estimate: $\mathbb{E}_{\pi}[X]$ 여기서 우리는 $X$의 기댓값을 구하고 싶지만, 분포 $b$에서의 샘플 평균을 그대로 사용할 수는 없다. 왜냐하면 이 방식으로 구하게 되면 타깃 분포에서의 기댓값이 아닌 분포 $b$에서의 기댓값이 구해지기 때문이다. 먼저 기댓값의 정의를 다시한번 살펴보자: (0)$\mathbb{E}_{\pi}[X] \dot{=} \sum_{x \in X} x\pi(x)$ (1)$= x \pi..

강화학습 - (14) 몬테카를로

강화학습 몬테카를로 (Monte-Carlo) 몬테카를로는 강화학습 뿐만 아니라, 더 넓은 의미에서 랜덤 샘플링 기반의 반복적인 샘플링 기법으로 알려져 있다. 강화학습에서는 경험, 즉 상태, 행동, 보상의 시퀀스에 기반해서 가치를 추정하는데 사용된다. 경험에서 학습하는 것은 생각보다 많이 효율적이다. 이는 환경에 대한 사전 지식이 없이도 가치함수를 추정할 수 있게 해주기 때문이다. 다이나믹 프로그래밍의 한계 다이나믹 프로그래밍을 강화학습에 사용하려면, 에이전트는 환경의 상태들간의 상태전환확률(transition probability)를 알고있어야 한다. 하지만 특정 문제들에서 우리는 이 상태정환확률을 할수 없다. 예제) 우리가 미래의 날씨에 대해서 예측한다고 해보자. 날씨를 변화시키는 데에는 너무나도 많은..

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

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

강화학습 - (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는 선형대수(선형시스템)으로 푸는 것이 가능했다. ..

728x90
반응형