728x90
반응형

행동가치함수 17

강화학습 - (26) 정책 경사

강화학습 정책 경사 보상 모델링 강화학습에서 보상을 모델링 하는 방법은 크게 세가지가 있다. 먼저 에피소드 태스크의 경우, 우리는 해당 에피소드의 모든 보상을 더하고, 에피소드마다 최종적으로 얻어지는 모든 보상의 합을 최대화 한다: $G_t = \sum^{T}_{t=0} R_t$ 연속적인 태스크의 경우, 우리는 바로 다음 보상에 초점을 맞추고, 미래의 보상에는 감가율을 더해준다: $G_t = \sum^{\infty}_{t=0} \gamma^t R_t$ 마지막으로, 전체 보상의 합에서 평균 보상을 빼주는 방식이다. 각 시점에 에이전트가 받는 보상에서 평균 보상을 빼줌으로서, 연속적인 태스크임에도 무한이 아닌 보상으로 학습할 수 있다: $G_t = \sum^{\infty}_{t=0} R_t - r(\pi)$..

강화학습 - (25) 정책 근사

강화학습 정책 근사 정책 학습 정책은 에이전트가 어떻게 행동하는지를 정의한다. TD기반 기법들이 행동가치를 예측하는 것은 간단한 확률 기반의 입실론 그리디를 사용했기 때문이다. 하지만 행동가치를 예측하기 전에, 정책 또한 함수로서 근사가 가능하다. 정책을 함수로서 표현한다면, 상태의 표현을 받아 행동을 할 확률을 내는것이라 말할 수 있다. 예제) 강화학습에서 유명한 게임중 하나인 Mountin Car라는 게임을 예로 들어본다. 자동차가 언덕 위의 깃발에 도달해야한다고 할 떄, 위와 같은 두가지의 행동을 하는 정책을 정의할 수 있다. 정책 함수 근사 정책 함수를 근사하는 파라미터는 위와 같이 $\theta$로 표현한다. 위 함수는 모든 상태에 대해 모든 행동들에 대한 확률을 반환해야 한다. 따라서 모든 행..

강화학습 - (22) 가치함수의 근사

강화학습 가치함수의 근사 지금까지는 행렬에 모든 상태전환을 고려하는 tabular 상황의 상화학습만을 고려했다. 하지만 현실의 문제에서는 모든 가능성을 행렬에 저장하는 것은 불가능하다. 예를 들어 로봇이 카메라를 통해 세상을 보는것은 너무나 많은 고려되지 않은 불확실성을 수반한다. 따라서 이를 해결하기 위한 방법을 알아보도록 한다. 매개변수를 가진 함수 (Parameterized Function) 상태를 통해 가치를 반환하는 것을 하나의 함수로서 생각해보자. 이 함수는 어떠한 상태 $s_i$를 받아, 이 상태의 가치 $v_i$를 반환하는 함수이다. $f(s) = v$ 만약 이 함수가 하나의 행렬로서 표현된다면, 지금까지 고려하던 tabular 설정이라고 말할 수 있다. 하지만 tabular만이 유일한 방..

강화학습 - (21) 모델

강화학습 모델 우리는 평소에 계획을 많이 세운 뒤 일을 실행하는 상황이 있고, 별 생각 없이 일을 진행하는 상황이 있다. 강화학습에서도 다이나믹 프로그래밍 처럼 수행하는 일에 대한 모든 지식을 수반하는 모델을 만들 수도 있고, 반대로 모델이 없이 샘플링 기반의 학습을 진행할 수도 있다. 강화학습에서는 이러한 계획을 모델이라고 한다. 모델은 환경의 유동성(dynamics)에 대한 정보를 저장한다. 이는 현재 상태에서 한 행동을 취했을 떄, 다음에 받는 상태와 보상에 대한 정보, 즉 전환(transition)과 보상(reward)의 유동성에 대한 정보이다. 계획 강화학습에서 모델은 에이전트에게 계획을 가능하게 한다. 다른말로 하면 모델은 에이전트가 환경에 대해 어떻게 사전 지식을 갖고 생각하는지에 대한 모델..

강화학습 - (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 에이전트가 학습하는 코드 입니다. 에이전트가 최종 지점에 도달하면 보상을 받고, 에이전트가 취할 수 있는 행동은 다음 세가지 입니..

강화학습 - (20-1) Q러닝 코드예제

강화학습 패키지 설치¶ 다음 코드는 세가지 패키지가 선행 되어야 합니다. 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 환경¶ 예제 코드는 그리드월드 예제에서 Q러닝 에이전트가 학습하는 코드 입니다. 에이전트가 최종 지점에 도달하면 보상을 받고, 에이전트가 취할 수 있는 행동은 다음 세가지 입니다. 왼쪽으로 회전 ..

강화학습 - (20) Q러닝

강화학습 Q러닝 Q러닝 알고리즘은 SARSA와 많이 유사하다. 위 알고리즘을 보면 SARSA와는 다르게, 행동가치함수를 갱신할 때 최댓값(maximum)을 취한다. 그렇다면 왜 Q러닝은 다음 상태-행동 페어 대신 최댓값을 취할까? 다시한번 행동가치함수 벨만방정식을 살펴보자. $q_{\pi}(s,a) = \sum_{s',r} p(s',r|s,a) \left (r + \gamma \sum_{a'} \pi(a'|s') q_{\pi} (s',a')\right)$ 아래는 이에 기반한 SARSA의 갱신 수식이다. $Q(S_t,A_t) \leftarrow Q(S_t,A_t) + \alpha (R_{t+1} + \gamma Q(S_{t+1},A_{t+1})-Q(S_t,A_t))$ 하지만 Q러닝은 기본적인 벨만방정식이 ..

강화학습 - (19) SARSA

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

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

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

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

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

728x90
반응형